@eduboxpro/studio 0.1.9 → 0.1.11
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 +960 -107
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +387 -49
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, ElementRef, Signal } from '@angular/core';
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, TemplateRef, ElementRef, WritableSignal, OnInit, Signal } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
4
|
import { icons } from 'lucide-angular';
|
|
5
|
+
import { Params, IsActiveMatchOptions } from '@angular/router';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Theme mode: light or dark
|
|
@@ -231,6 +232,31 @@ interface SelectDefaultsConfig {
|
|
|
231
232
|
maxHeight?: string;
|
|
232
233
|
position?: 'auto' | 'top' | 'bottom';
|
|
233
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Drawer component defaults configuration
|
|
237
|
+
*/
|
|
238
|
+
interface DrawerDefaultsConfig {
|
|
239
|
+
position?: 'left' | 'right' | 'top' | 'bottom';
|
|
240
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
241
|
+
modal?: boolean;
|
|
242
|
+
closeOnEscape?: boolean;
|
|
243
|
+
closeOnBackdropClick?: boolean;
|
|
244
|
+
showHeader?: boolean;
|
|
245
|
+
showCloseButton?: boolean;
|
|
246
|
+
closeButtonPosition?: 'left' | 'right';
|
|
247
|
+
swipeToClose?: boolean;
|
|
248
|
+
swipeThreshold?: number;
|
|
249
|
+
animationDuration?: number;
|
|
250
|
+
animationEasing?: 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';
|
|
251
|
+
disableAnimation?: boolean;
|
|
252
|
+
shadow?: boolean;
|
|
253
|
+
shadowSize?: 'sm' | 'md' | 'lg' | 'xl';
|
|
254
|
+
radius?: 'none' | 'sm' | 'md' | 'lg';
|
|
255
|
+
autoFocus?: boolean;
|
|
256
|
+
restoreFocus?: boolean;
|
|
257
|
+
blockScroll?: boolean;
|
|
258
|
+
role?: 'dialog' | 'alertdialog';
|
|
259
|
+
}
|
|
234
260
|
/**
|
|
235
261
|
* Components defaults configuration
|
|
236
262
|
*/
|
|
@@ -244,6 +270,7 @@ interface ComponentsConfig {
|
|
|
244
270
|
buttonGroup?: ButtonGroupDefaultsConfig;
|
|
245
271
|
buttonToggleGroup?: ButtonToggleGroupDefaultsConfig;
|
|
246
272
|
select?: SelectDefaultsConfig;
|
|
273
|
+
drawer?: DrawerDefaultsConfig;
|
|
247
274
|
}
|
|
248
275
|
/**
|
|
249
276
|
* Main Studio configuration interface
|
|
@@ -311,11 +338,11 @@ declare class BadgeComponent {
|
|
|
311
338
|
variantInput: _angular_core.InputSignal<"solid" | "outline" | "soft" | "dot" | undefined>;
|
|
312
339
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
313
340
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | "info" | "neutral" | undefined>;
|
|
314
|
-
radiusInput: _angular_core.InputSignal<"
|
|
341
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | undefined>;
|
|
315
342
|
variant: _angular_core.Signal<"solid" | "outline" | "soft" | "dot">;
|
|
316
343
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
317
344
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning" | "info" | "neutral">;
|
|
318
|
-
radius: _angular_core.Signal<"
|
|
345
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg">;
|
|
319
346
|
icon: _angular_core.InputSignal<string | undefined>;
|
|
320
347
|
iconPosition: _angular_core.InputSignal<"left" | "right">;
|
|
321
348
|
dot: _angular_core.InputSignal<boolean>;
|
|
@@ -354,16 +381,16 @@ declare class BadgeComponent {
|
|
|
354
381
|
declare class ButtonComponent {
|
|
355
382
|
private readonly configService;
|
|
356
383
|
private readonly buttonDefaults;
|
|
357
|
-
variantInput: _angular_core.InputSignal<"
|
|
384
|
+
variantInput: _angular_core.InputSignal<"ghost" | "solid" | "outline" | undefined>;
|
|
358
385
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
359
386
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
360
|
-
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" |
|
|
387
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | "none" | "xl" | undefined>;
|
|
361
388
|
shadowInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | undefined>;
|
|
362
389
|
compactInput: _angular_core.InputSignal<boolean | undefined>;
|
|
363
|
-
variant: _angular_core.Signal<"
|
|
390
|
+
variant: _angular_core.Signal<"ghost" | "solid" | "outline">;
|
|
364
391
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
365
392
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning">;
|
|
366
|
-
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl"
|
|
393
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "none" | "xl">;
|
|
367
394
|
shadow: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
368
395
|
compact: _angular_core.Signal<boolean>;
|
|
369
396
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -392,14 +419,14 @@ declare class ButtonGroupComponent {
|
|
|
392
419
|
private readonly groupDefaults;
|
|
393
420
|
orientationInput: _angular_core.InputSignal<"vertical" | "horizontal" | undefined>;
|
|
394
421
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
395
|
-
variantInput: _angular_core.InputSignal<"
|
|
422
|
+
variantInput: _angular_core.InputSignal<"ghost" | "solid" | "outline" | undefined>;
|
|
396
423
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
397
|
-
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" |
|
|
424
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | "none" | "xl" | undefined>;
|
|
398
425
|
orientation: _angular_core.Signal<"vertical" | "horizontal">;
|
|
399
426
|
size: _angular_core.Signal<"sm" | "md" | "lg" | undefined>;
|
|
400
|
-
variant: _angular_core.Signal<"
|
|
427
|
+
variant: _angular_core.Signal<"ghost" | "solid" | "outline" | undefined>;
|
|
401
428
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
402
|
-
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl" |
|
|
429
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "none" | "xl" | undefined>;
|
|
403
430
|
attached: _angular_core.InputSignal<boolean>;
|
|
404
431
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
405
432
|
disabled: _angular_core.InputSignal<boolean>;
|
|
@@ -574,6 +601,176 @@ type CheckboxColor = 'primary' | 'secondary' | 'success' | 'error';
|
|
|
574
601
|
type CheckboxVariant = 'default' | 'outlined' | 'filled';
|
|
575
602
|
type CheckboxRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';
|
|
576
603
|
|
|
604
|
+
type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
605
|
+
type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
606
|
+
type DrawerRadius = 'none' | 'sm' | 'md' | 'lg';
|
|
607
|
+
type DrawerShadowSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
608
|
+
type DrawerRole = 'dialog' | 'alertdialog';
|
|
609
|
+
type DrawerAnimationEasing = 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out';
|
|
610
|
+
type DrawerCloseButtonPosition = 'left' | 'right';
|
|
611
|
+
interface DrawerConfig {
|
|
612
|
+
position?: DrawerPosition;
|
|
613
|
+
size?: DrawerSize;
|
|
614
|
+
modal?: boolean;
|
|
615
|
+
closeOnEscape?: boolean;
|
|
616
|
+
closeOnBackdropClick?: boolean;
|
|
617
|
+
showCloseButton?: boolean;
|
|
618
|
+
closeButtonPosition?: DrawerCloseButtonPosition;
|
|
619
|
+
swipeToClose?: boolean;
|
|
620
|
+
swipeThreshold?: number;
|
|
621
|
+
animationDuration?: number;
|
|
622
|
+
animationEasing?: DrawerAnimationEasing;
|
|
623
|
+
disableAnimation?: boolean;
|
|
624
|
+
shadow?: boolean;
|
|
625
|
+
shadowSize?: DrawerShadowSize;
|
|
626
|
+
radius?: DrawerRadius;
|
|
627
|
+
autoFocus?: boolean;
|
|
628
|
+
restoreFocus?: boolean;
|
|
629
|
+
blockScroll?: boolean;
|
|
630
|
+
role?: DrawerRole;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
declare class DrawerComponent {
|
|
634
|
+
private readonly document;
|
|
635
|
+
private readonly destroyRef;
|
|
636
|
+
private readonly configService;
|
|
637
|
+
private readonly drawerService;
|
|
638
|
+
private readonly drawerDefaults;
|
|
639
|
+
protected readonly headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
640
|
+
protected readonly footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
641
|
+
protected readonly panelEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
642
|
+
id: _angular_core.InputSignal<string>;
|
|
643
|
+
visible: _angular_core.ModelSignal<boolean>;
|
|
644
|
+
positionInput: _angular_core.InputSignal<DrawerPosition | undefined>;
|
|
645
|
+
sizeInput: _angular_core.InputSignal<DrawerSize | undefined>;
|
|
646
|
+
customWidth: _angular_core.InputSignal<string | undefined>;
|
|
647
|
+
customHeight: _angular_core.InputSignal<string | undefined>;
|
|
648
|
+
position: _angular_core.Signal<"left" | "right" | "top" | "bottom">;
|
|
649
|
+
size: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "xl">;
|
|
650
|
+
modalInput: _angular_core.InputSignal<boolean | undefined>;
|
|
651
|
+
closeOnEscapeInput: _angular_core.InputSignal<boolean | undefined>;
|
|
652
|
+
closeOnBackdropClickInput: _angular_core.InputSignal<boolean | undefined>;
|
|
653
|
+
blockScrollInput: _angular_core.InputSignal<boolean | undefined>;
|
|
654
|
+
modal: _angular_core.Signal<boolean>;
|
|
655
|
+
closeOnEscape: _angular_core.Signal<boolean>;
|
|
656
|
+
closeOnBackdropClick: _angular_core.Signal<boolean>;
|
|
657
|
+
blockScroll: _angular_core.Signal<boolean>;
|
|
658
|
+
header: _angular_core.InputSignal<string | undefined>;
|
|
659
|
+
showHeaderInput: _angular_core.InputSignal<boolean | undefined>;
|
|
660
|
+
showCloseButtonInput: _angular_core.InputSignal<boolean | undefined>;
|
|
661
|
+
closeButtonPositionInput: _angular_core.InputSignal<DrawerCloseButtonPosition | undefined>;
|
|
662
|
+
showFooter: _angular_core.InputSignal<boolean>;
|
|
663
|
+
showHeader: _angular_core.Signal<boolean>;
|
|
664
|
+
showCloseButton: _angular_core.Signal<boolean>;
|
|
665
|
+
closeButtonPosition: _angular_core.Signal<"left" | "right">;
|
|
666
|
+
swipeToCloseInput: _angular_core.InputSignal<boolean | undefined>;
|
|
667
|
+
swipeThresholdInput: _angular_core.InputSignal<number | undefined>;
|
|
668
|
+
swipeToClose: _angular_core.Signal<boolean>;
|
|
669
|
+
swipeThreshold: _angular_core.Signal<number>;
|
|
670
|
+
animationDurationInput: _angular_core.InputSignal<number | undefined>;
|
|
671
|
+
animationEasingInput: _angular_core.InputSignal<DrawerAnimationEasing | undefined>;
|
|
672
|
+
disableAnimationInput: _angular_core.InputSignal<boolean | undefined>;
|
|
673
|
+
animationDuration: _angular_core.Signal<number>;
|
|
674
|
+
animationEasing: _angular_core.Signal<"ease" | "ease-in" | "ease-out" | "ease-in-out">;
|
|
675
|
+
disableAnimation: _angular_core.Signal<boolean>;
|
|
676
|
+
radiusInput: _angular_core.InputSignal<DrawerRadius | undefined>;
|
|
677
|
+
shadowInput: _angular_core.InputSignal<boolean | undefined>;
|
|
678
|
+
shadowSizeInput: _angular_core.InputSignal<DrawerShadowSize | undefined>;
|
|
679
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
680
|
+
shadow: _angular_core.Signal<boolean>;
|
|
681
|
+
shadowSize: _angular_core.Signal<"sm" | "md" | "lg" | "xl">;
|
|
682
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
683
|
+
ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
|
|
684
|
+
ariaDescribedBy: _angular_core.InputSignal<string | undefined>;
|
|
685
|
+
autoFocusInput: _angular_core.InputSignal<boolean | undefined>;
|
|
686
|
+
restoreFocusInput: _angular_core.InputSignal<boolean | undefined>;
|
|
687
|
+
roleInput: _angular_core.InputSignal<DrawerRole | undefined>;
|
|
688
|
+
autoFocus: _angular_core.Signal<boolean>;
|
|
689
|
+
restoreFocus: _angular_core.Signal<boolean>;
|
|
690
|
+
role: _angular_core.Signal<"dialog" | "alertdialog">;
|
|
691
|
+
visibleChange: _angular_core.OutputEmitterRef<boolean>;
|
|
692
|
+
opened: _angular_core.OutputEmitterRef<void>;
|
|
693
|
+
closed: _angular_core.OutputEmitterRef<void>;
|
|
694
|
+
backdropClick: _angular_core.OutputEmitterRef<void>;
|
|
695
|
+
private previousActiveElement?;
|
|
696
|
+
private touchStartX;
|
|
697
|
+
private touchStartY;
|
|
698
|
+
private isDragging;
|
|
699
|
+
private scrollbarWidth;
|
|
700
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
701
|
+
constructor();
|
|
702
|
+
protected handleOpen(): void;
|
|
703
|
+
protected handleClose(): void;
|
|
704
|
+
open(): void;
|
|
705
|
+
close(): void;
|
|
706
|
+
toggle(): void;
|
|
707
|
+
protected handleBackdropClick(): void;
|
|
708
|
+
protected handleEscapeKey(event: KeyboardEvent): void;
|
|
709
|
+
protected onTouchStart(event: TouchEvent): void;
|
|
710
|
+
protected onTouchMove(event: TouchEvent): void;
|
|
711
|
+
protected onTouchEnd(event: TouchEvent): void;
|
|
712
|
+
private applyDragTransform;
|
|
713
|
+
private resetTransform;
|
|
714
|
+
private lockBodyScroll;
|
|
715
|
+
private unlockBodyScroll;
|
|
716
|
+
private setupFocusTrap;
|
|
717
|
+
private restorePreviousFocus;
|
|
718
|
+
private getFirstFocusableElement;
|
|
719
|
+
protected handleKeydown(event: KeyboardEvent): void;
|
|
720
|
+
private trapFocus;
|
|
721
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
|
|
722
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "studio-drawer", 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; }; "customWidth": { "alias": "customWidth"; "required": false; "isSignal": true; }; "customHeight": { "alias": "customHeight"; "required": false; "isSignal": true; }; "modalInput": { "alias": "modal"; "required": false; "isSignal": true; }; "closeOnEscapeInput": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnBackdropClickInput": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "blockScrollInput": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "showHeaderInput": { "alias": "showHeader"; "required": false; "isSignal": true; }; "showCloseButtonInput": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; "closeButtonPositionInput": { "alias": "closeButtonPosition"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "swipeToCloseInput": { "alias": "swipeToClose"; "required": false; "isSignal": true; }; "swipeThresholdInput": { "alias": "swipeThreshold"; "required": false; "isSignal": true; }; "animationDurationInput": { "alias": "animationDuration"; "required": false; "isSignal": true; }; "animationEasingInput": { "alias": "animationEasing"; "required": false; "isSignal": true; }; "disableAnimationInput": { "alias": "disableAnimation"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "shadowInput": { "alias": "shadow"; "required": false; "isSignal": true; }; "shadowSizeInput": { "alias": "shadowSize"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; "isSignal": true; }; "autoFocusInput": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "restoreFocusInput": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "roleInput": { "alias": "role"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "opened": "opened"; "closed": "closed"; "backdropClick": "backdropClick"; }, ["headerTemplate", "footerTemplate"], ["[drawerHeader]", "*", "[drawerFooter]"], true, never>;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Service for programmatic control of Drawer components
|
|
727
|
+
*
|
|
728
|
+
* @example
|
|
729
|
+
* ```typescript
|
|
730
|
+
* // In component
|
|
731
|
+
* private drawerService = inject(DrawerService);
|
|
732
|
+
*
|
|
733
|
+
* openSettings() {
|
|
734
|
+
* this.drawerService.open('settings-drawer');
|
|
735
|
+
* }
|
|
736
|
+
* ```
|
|
737
|
+
*/
|
|
738
|
+
declare class DrawerService {
|
|
739
|
+
private drawers;
|
|
740
|
+
/**
|
|
741
|
+
* Register a drawer with the service
|
|
742
|
+
* Called automatically by DrawerComponent
|
|
743
|
+
*/
|
|
744
|
+
register(id: string, signal: WritableSignal<boolean>): void;
|
|
745
|
+
/**
|
|
746
|
+
* Unregister a drawer from the service
|
|
747
|
+
* Called automatically on component destroy
|
|
748
|
+
*/
|
|
749
|
+
unregister(id: string): void;
|
|
750
|
+
/**
|
|
751
|
+
* Open a drawer by ID
|
|
752
|
+
*/
|
|
753
|
+
open(id: string): void;
|
|
754
|
+
/**
|
|
755
|
+
* Close a drawer by ID
|
|
756
|
+
*/
|
|
757
|
+
close(id: string): void;
|
|
758
|
+
/**
|
|
759
|
+
* Toggle a drawer by ID
|
|
760
|
+
*/
|
|
761
|
+
toggle(id: string): void;
|
|
762
|
+
/**
|
|
763
|
+
* Close all registered drawers
|
|
764
|
+
*/
|
|
765
|
+
closeAll(): void;
|
|
766
|
+
/**
|
|
767
|
+
* Check if a drawer is open
|
|
768
|
+
*/
|
|
769
|
+
isOpen(id: string): boolean;
|
|
770
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerService, never>;
|
|
771
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerService>;
|
|
772
|
+
}
|
|
773
|
+
|
|
577
774
|
/**
|
|
578
775
|
* Icon component with Lucide icons support
|
|
579
776
|
*
|
|
@@ -597,39 +794,34 @@ declare class IconComponent {
|
|
|
597
794
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "studio-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "absoluteStrokeWidth": { "alias": "absoluteStrokeWidth"; "required": false; "isSignal": true; }; "showFallback": { "alias": "showFallback"; "required": false; "isSignal": true; }; "fallbackIcon": { "alias": "fallbackIcon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
598
795
|
}
|
|
599
796
|
|
|
797
|
+
type IconPreset = 'minimal' | 'common' | 'full';
|
|
798
|
+
interface StudioIconConfig {
|
|
799
|
+
preset?: IconPreset;
|
|
800
|
+
customIcons?: Record<string, any>;
|
|
801
|
+
}
|
|
600
802
|
/**
|
|
601
|
-
* Studio icon provider
|
|
602
|
-
* Registers commonly used Lucide icons
|
|
803
|
+
* Studio icon provider с поддержкой preset'ов
|
|
603
804
|
*
|
|
604
805
|
* @example
|
|
605
806
|
* ```typescript
|
|
606
|
-
* //
|
|
607
|
-
*
|
|
807
|
+
* // Минимальный набор (только для компонентов библиотеки)
|
|
808
|
+
* provideStudioIcons({ preset: 'minimal' });
|
|
608
809
|
*
|
|
609
|
-
*
|
|
610
|
-
*
|
|
611
|
-
* provideStudioIcons()
|
|
612
|
-
* ]
|
|
613
|
-
* };
|
|
614
|
-
* ```
|
|
810
|
+
* // Расширенный набор (рекомендуется)
|
|
811
|
+
* provideStudioIcons({ preset: 'common' });
|
|
615
812
|
*
|
|
616
|
-
*
|
|
617
|
-
*
|
|
618
|
-
* ```typescript
|
|
619
|
-
* import { LUCIDE_ICONS, LucideIconProvider } from 'lucide-angular';
|
|
620
|
-
* import { Zap, Wifi } from 'lucide-angular';
|
|
813
|
+
* // Все иконки Lucide (~1400 штук)
|
|
814
|
+
* provideStudioIcons({ preset: 'full' });
|
|
621
815
|
*
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
* }
|
|
629
|
-
* ]
|
|
816
|
+
* // С кастомными иконками
|
|
817
|
+
* import { Zap, Wifi } from 'lucide-angular';
|
|
818
|
+
* provideStudioIcons({
|
|
819
|
+
* preset: 'common',
|
|
820
|
+
* customIcons: { Zap, Wifi }
|
|
821
|
+
* });
|
|
630
822
|
* ```
|
|
631
823
|
*/
|
|
632
|
-
declare function provideStudioIcons(): EnvironmentProviders;
|
|
824
|
+
declare function provideStudioIcons(config?: StudioIconConfig): EnvironmentProviders;
|
|
633
825
|
|
|
634
826
|
type InputType = 'text' | 'email' | 'tel' | 'url' | 'password' | 'number' | 'search' | 'date' | 'time';
|
|
635
827
|
type InputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
@@ -644,12 +836,12 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
644
836
|
private readonly configService;
|
|
645
837
|
private readonly inputDefaults;
|
|
646
838
|
protected readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
647
|
-
variantInput: _angular_core.InputSignal<"
|
|
839
|
+
variantInput: _angular_core.InputSignal<"filled" | "outline" | "underline" | undefined>;
|
|
648
840
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
649
|
-
radiusInput: _angular_core.InputSignal<"
|
|
650
|
-
variant: _angular_core.Signal<"
|
|
841
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | "none" | undefined>;
|
|
842
|
+
variant: _angular_core.Signal<"filled" | "outline" | "underline">;
|
|
651
843
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
652
|
-
radius: _angular_core.Signal<"
|
|
844
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "none">;
|
|
653
845
|
disabled: _angular_core.InputSignal<boolean>;
|
|
654
846
|
readonly: _angular_core.InputSignal<boolean>;
|
|
655
847
|
loading: _angular_core.InputSignal<boolean>;
|
|
@@ -712,6 +904,152 @@ declare class InputComponent implements ControlValueAccessor {
|
|
|
712
904
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "studio-input", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "inputmode": { "alias": "inputmode"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "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; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; "isSignal": true; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "showPasswordToggle": { "alias": "showPasswordToggle"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "focused": "focused"; "blurred": "blurred"; "cleared": "cleared"; "entered": "entered"; }, never, never, true, never>;
|
|
713
905
|
}
|
|
714
906
|
|
|
907
|
+
type MenuItemTarget = '_blank' | '_self' | '_parent' | '_top';
|
|
908
|
+
type MenuItemIconPosition = 'left' | 'right';
|
|
909
|
+
type MenuItemBadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning';
|
|
910
|
+
type MenuItemTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
911
|
+
/**
|
|
912
|
+
* Menu item interface for JSON-driven menu structure
|
|
913
|
+
*/
|
|
914
|
+
interface MenuItem {
|
|
915
|
+
id?: string;
|
|
916
|
+
label?: string;
|
|
917
|
+
href?: string;
|
|
918
|
+
routerLink?: string | string[];
|
|
919
|
+
queryParams?: Params;
|
|
920
|
+
fragment?: string;
|
|
921
|
+
target?: MenuItemTarget;
|
|
922
|
+
icon?: string;
|
|
923
|
+
iconPosition?: MenuItemIconPosition;
|
|
924
|
+
badge?: string | number;
|
|
925
|
+
badgeColor?: MenuItemBadgeColor;
|
|
926
|
+
items?: MenuItem[];
|
|
927
|
+
disabled?: boolean;
|
|
928
|
+
visible?: boolean;
|
|
929
|
+
separator?: boolean;
|
|
930
|
+
class?: string;
|
|
931
|
+
style?: Record<string, string>;
|
|
932
|
+
command?: (event?: MenuItemCommandEvent) => void;
|
|
933
|
+
tooltip?: string;
|
|
934
|
+
tooltipPosition?: MenuItemTooltipPosition;
|
|
935
|
+
data?: any;
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* Event emitted when menu item command is executed
|
|
939
|
+
*/
|
|
940
|
+
interface MenuItemCommandEvent {
|
|
941
|
+
originalEvent?: Event;
|
|
942
|
+
item: MenuItem;
|
|
943
|
+
}
|
|
944
|
+
/**
|
|
945
|
+
* Event emitted when menu item is clicked
|
|
946
|
+
*/
|
|
947
|
+
interface MenuItemClickEvent {
|
|
948
|
+
originalEvent: Event;
|
|
949
|
+
item: MenuItem;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Event emitted when expand state changes
|
|
953
|
+
*/
|
|
954
|
+
interface MenuExpandEvent {
|
|
955
|
+
itemId: string;
|
|
956
|
+
expanded: boolean;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
type MenuOrientation = 'vertical' | 'horizontal';
|
|
960
|
+
type MenuMode = 'static' | 'accordion' | 'overlay';
|
|
961
|
+
type MenuSize = 'sm' | 'md' | 'lg';
|
|
962
|
+
type MenuVariant = 'default' | 'filled' | 'outlined' | 'ghost';
|
|
963
|
+
type MenuColor = 'primary' | 'secondary' | 'inherit';
|
|
964
|
+
type MenuRadius = 'none' | 'sm' | 'md' | 'lg';
|
|
965
|
+
type MenuSpacing = 'none' | 'sm' | 'md' | 'lg';
|
|
966
|
+
type MenuExpandIconPosition = 'left' | 'right';
|
|
967
|
+
/**
|
|
968
|
+
* Menu component - Primitive component for navigation menus
|
|
969
|
+
*
|
|
970
|
+
* @example
|
|
971
|
+
* <studio-menu
|
|
972
|
+
* [items]="menuItems"
|
|
973
|
+
* size="md"
|
|
974
|
+
* variant="default"
|
|
975
|
+
* (itemClick)="handleClick($event)"
|
|
976
|
+
* />
|
|
977
|
+
*/
|
|
978
|
+
declare class MenuComponent implements OnInit {
|
|
979
|
+
private router;
|
|
980
|
+
private platformId;
|
|
981
|
+
items: _angular_core.InputSignal<MenuItem[]>;
|
|
982
|
+
orientation: _angular_core.InputSignal<MenuOrientation>;
|
|
983
|
+
mode: _angular_core.InputSignal<MenuMode>;
|
|
984
|
+
collapsible: _angular_core.InputSignal<boolean>;
|
|
985
|
+
defaultExpanded: _angular_core.InputSignal<string[]>;
|
|
986
|
+
expandOnHover: _angular_core.InputSignal<boolean>;
|
|
987
|
+
activeItem: _angular_core.InputSignal<string | undefined>;
|
|
988
|
+
routerLinkActive: _angular_core.InputSignal<boolean>;
|
|
989
|
+
selectOnNavigate: _angular_core.InputSignal<boolean>;
|
|
990
|
+
routerLinkActiveOptions: _angular_core.InputSignal<IsActiveMatchOptions>;
|
|
991
|
+
keyboardNavigation: _angular_core.InputSignal<boolean>;
|
|
992
|
+
arrowNavigation: _angular_core.InputSignal<boolean>;
|
|
993
|
+
homeEndNavigation: _angular_core.InputSignal<boolean>;
|
|
994
|
+
animated: _angular_core.InputSignal<boolean>;
|
|
995
|
+
animationDuration: _angular_core.InputSignal<number>;
|
|
996
|
+
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
997
|
+
role: _angular_core.InputSignal<"navigation" | "menu">;
|
|
998
|
+
size: _angular_core.InputSignal<MenuSize>;
|
|
999
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
1000
|
+
fullWidth: _angular_core.InputSignal<boolean>;
|
|
1001
|
+
variant: _angular_core.InputSignal<MenuVariant>;
|
|
1002
|
+
color: _angular_core.InputSignal<MenuColor>;
|
|
1003
|
+
radius: _angular_core.InputSignal<MenuRadius>;
|
|
1004
|
+
spacing: _angular_core.InputSignal<MenuSpacing>;
|
|
1005
|
+
showDividers: _angular_core.InputSignal<boolean>;
|
|
1006
|
+
iconSize: _angular_core.InputSignal<number>;
|
|
1007
|
+
iconOnly: _angular_core.InputSignal<boolean>;
|
|
1008
|
+
indentLevel: _angular_core.InputSignal<number>;
|
|
1009
|
+
showExpandIcon: _angular_core.InputSignal<boolean>;
|
|
1010
|
+
expandIconPosition: _angular_core.InputSignal<MenuExpandIconPosition>;
|
|
1011
|
+
expandIcon: _angular_core.InputSignal<string>;
|
|
1012
|
+
class: _angular_core.InputSignal<string>;
|
|
1013
|
+
itemClass: _angular_core.InputSignal<string>;
|
|
1014
|
+
level: _angular_core.InputSignal<number>;
|
|
1015
|
+
parentExpanded: _angular_core.InputSignal<boolean>;
|
|
1016
|
+
itemClick: _angular_core.OutputEmitterRef<MenuItemClickEvent>;
|
|
1017
|
+
itemSelect: _angular_core.OutputEmitterRef<MenuItem>;
|
|
1018
|
+
expandChange: _angular_core.OutputEmitterRef<MenuExpandEvent>;
|
|
1019
|
+
activeChange: _angular_core.OutputEmitterRef<string>;
|
|
1020
|
+
private expandedItems;
|
|
1021
|
+
private activeItemId;
|
|
1022
|
+
private focusedIndex;
|
|
1023
|
+
private flattenedItems;
|
|
1024
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
1025
|
+
constructor();
|
|
1026
|
+
ngOnInit(): void;
|
|
1027
|
+
isExpanded(item: MenuItem): boolean;
|
|
1028
|
+
isActive(item: MenuItem): boolean;
|
|
1029
|
+
isDisabled(item: MenuItem): boolean;
|
|
1030
|
+
isVisible(item: MenuItem): boolean;
|
|
1031
|
+
hasChildren(item: MenuItem): boolean;
|
|
1032
|
+
getItemId(item: MenuItem, index: number): string;
|
|
1033
|
+
handleItemClick(event: Event, item: MenuItem): void;
|
|
1034
|
+
handleItemMouseEnter(item: MenuItem): void;
|
|
1035
|
+
handleItemMouseLeave(item: MenuItem): void;
|
|
1036
|
+
toggleExpand(item: MenuItem): void;
|
|
1037
|
+
expand(item: MenuItem): void;
|
|
1038
|
+
collapse(item: MenuItem): void;
|
|
1039
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
1040
|
+
private focusNextItem;
|
|
1041
|
+
private focusPreviousItem;
|
|
1042
|
+
private expandFocusedItem;
|
|
1043
|
+
private collapseFocusedItem;
|
|
1044
|
+
private activateFocusedItem;
|
|
1045
|
+
private collapseAll;
|
|
1046
|
+
private flattenMenuItems;
|
|
1047
|
+
private updateActiveFromRouter;
|
|
1048
|
+
getIndentStyle(itemLevel?: number): Record<string, string>;
|
|
1049
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
|
|
1050
|
+
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
|
+
}
|
|
1052
|
+
|
|
715
1053
|
interface SelectOption<T = any> {
|
|
716
1054
|
label: string;
|
|
717
1055
|
value: T;
|
|
@@ -742,10 +1080,10 @@ declare class SelectComponent<T = any> implements ControlValueAccessor {
|
|
|
742
1080
|
protected readonly dropdownEl: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
743
1081
|
variantInput: _angular_core.InputSignal<SelectVariant | undefined>;
|
|
744
1082
|
sizeInput: _angular_core.InputSignal<SelectSize | undefined>;
|
|
745
|
-
radiusInput: _angular_core.InputSignal<"
|
|
746
|
-
variant: _angular_core.Signal<"
|
|
1083
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | "none" | undefined>;
|
|
1084
|
+
variant: _angular_core.Signal<"filled" | "outline" | "underline">;
|
|
747
1085
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
748
|
-
radius: _angular_core.Signal<"
|
|
1086
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "none">;
|
|
749
1087
|
options: _angular_core.InputSignal<SelectOption<T>[] | SelectOptionGroup<T>[]>;
|
|
750
1088
|
placeholder: _angular_core.InputSignal<string>;
|
|
751
1089
|
multiple: _angular_core.InputSignal<boolean>;
|
|
@@ -892,7 +1230,7 @@ declare class TextareaComponent implements ControlValueAccessor {
|
|
|
892
1230
|
/**
|
|
893
1231
|
* Resize behavior
|
|
894
1232
|
*/
|
|
895
|
-
resize: _angular_core.InputSignal<"
|
|
1233
|
+
resize: _angular_core.InputSignal<"vertical" | "horizontal" | "none" | "both">;
|
|
896
1234
|
/**
|
|
897
1235
|
* Maximum character length
|
|
898
1236
|
*/
|
|
@@ -1077,15 +1415,15 @@ declare class ButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
1077
1415
|
allowEmpty: _angular_core.InputSignal<boolean>;
|
|
1078
1416
|
orientationInput: _angular_core.InputSignal<"vertical" | "horizontal" | undefined>;
|
|
1079
1417
|
sizeInput: _angular_core.InputSignal<"sm" | "md" | "lg" | undefined>;
|
|
1080
|
-
variantInput: _angular_core.InputSignal<"
|
|
1418
|
+
variantInput: _angular_core.InputSignal<"ghost" | "solid" | "outline" | undefined>;
|
|
1081
1419
|
colorInput: _angular_core.InputSignal<"primary" | "secondary" | "success" | "error" | "warning" | undefined>;
|
|
1082
|
-
radiusInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xl" |
|
|
1420
|
+
radiusInput: _angular_core.InputSignal<"full" | "sm" | "md" | "lg" | "none" | "xl" | undefined>;
|
|
1083
1421
|
shadowInput: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | undefined>;
|
|
1084
1422
|
orientation: _angular_core.Signal<"vertical" | "horizontal">;
|
|
1085
1423
|
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
1086
|
-
variant: _angular_core.Signal<"
|
|
1424
|
+
variant: _angular_core.Signal<"ghost" | "solid" | "outline">;
|
|
1087
1425
|
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning">;
|
|
1088
|
-
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl"
|
|
1426
|
+
radius: _angular_core.Signal<"full" | "sm" | "md" | "lg" | "none" | "xl">;
|
|
1089
1427
|
shadow: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
1090
1428
|
attached: _angular_core.InputSignal<boolean>;
|
|
1091
1429
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
@@ -1296,5 +1634,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
1296
1634
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
1297
1635
|
}>): void;
|
|
1298
1636
|
|
|
1299
|
-
export { BadgeComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, IconComponent, InputComponent, MASK_PRESETS, MaskDirective, MaskEngine, STUDIO_CONFIG, SelectComponent, StudioConfigService, SwitchComponent, TextareaComponent, ThemeSwitchComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
1300
|
-
export type { BadgeDefaultsConfig, ButtonDefaultsConfig, ButtonGroupDefaultsConfig, ButtonToggleGroupDefaultsConfig, ButtonToggleGroupOption, ButtonToggleGroupValue, CheckboxColor, CheckboxDefaultsConfig, CheckboxRadius, CheckboxSize, CheckboxVariant, ColorConfig, ComponentsConfig, InputDefaultsConfig, InputMode, InputType, MaskConfig, MaskPreset, MaskResult, MaskToken, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode };
|
|
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 };
|