@eduboxpro/studio 0.1.15 → 0.1.17
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 +1099 -3
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +469 -3
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, OnInit, OnDestroy, AfterViewInit, ElementRef,
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, OnInit, OnDestroy, TemplateRef, AfterViewInit, ElementRef, WritableSignal, Signal } from '@angular/core';
|
|
3
3
|
import { Params, IsActiveMatchOptions } from '@angular/router';
|
|
4
4
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
5
5
|
import { icons } from 'lucide-angular';
|
|
@@ -359,6 +359,26 @@ interface BottomNavigationDefaultsConfig {
|
|
|
359
359
|
blur?: boolean;
|
|
360
360
|
hideOnDesktop?: boolean;
|
|
361
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Card component defaults configuration
|
|
364
|
+
*/
|
|
365
|
+
interface CardDefaultsConfig {
|
|
366
|
+
variant?: 'elevated' | 'filled' | 'outlined' | 'ghost';
|
|
367
|
+
size?: 'sm' | 'md' | 'lg';
|
|
368
|
+
color?: 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'neutral';
|
|
369
|
+
radius?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
370
|
+
shadow?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
371
|
+
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Table component defaults configuration
|
|
375
|
+
*/
|
|
376
|
+
interface TableDefaultsConfig {
|
|
377
|
+
variant?: 'default' | 'striped' | 'bordered' | 'minimal';
|
|
378
|
+
density?: 'compact' | 'comfortable' | 'spacious';
|
|
379
|
+
hoverable?: boolean;
|
|
380
|
+
stickyHeader?: boolean;
|
|
381
|
+
}
|
|
362
382
|
/**
|
|
363
383
|
* Components defaults configuration
|
|
364
384
|
*/
|
|
@@ -382,6 +402,8 @@ interface ComponentsConfig {
|
|
|
382
402
|
tabs?: TabsDefaultsConfig;
|
|
383
403
|
modal?: ModalDefaultsConfig;
|
|
384
404
|
bottomNavigation?: BottomNavigationDefaultsConfig;
|
|
405
|
+
card?: CardDefaultsConfig;
|
|
406
|
+
table?: TableDefaultsConfig;
|
|
385
407
|
}
|
|
386
408
|
/**
|
|
387
409
|
* Main Studio configuration interface
|
|
@@ -676,6 +698,183 @@ declare class ButtonGroupComponent {
|
|
|
676
698
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonGroupComponent, "studio-button-group", never, { "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; }; "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; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; }, {}, never, ["studio-button"], true, never>;
|
|
677
699
|
}
|
|
678
700
|
|
|
701
|
+
/**
|
|
702
|
+
* Card component types
|
|
703
|
+
*/
|
|
704
|
+
type CardVariant = 'elevated' | 'filled' | 'outlined' | 'ghost';
|
|
705
|
+
type CardSize = 'sm' | 'md' | 'lg';
|
|
706
|
+
type CardColor = 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'neutral';
|
|
707
|
+
type CardRadius = 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
708
|
+
type CardShadow = 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
709
|
+
type CardPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
710
|
+
type CardOrientation = 'vertical' | 'horizontal';
|
|
711
|
+
type CardImagePosition = 'top' | 'left' | 'right' | 'bottom';
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Card component for displaying content in a container
|
|
715
|
+
*
|
|
716
|
+
* @example
|
|
717
|
+
* <studio-card variant="elevated" color="primary">
|
|
718
|
+
* <div card-header>Header</div>
|
|
719
|
+
* <div card-body>Content</div>
|
|
720
|
+
* <div card-footer>Footer</div>
|
|
721
|
+
* </studio-card>
|
|
722
|
+
*/
|
|
723
|
+
declare class CardComponent {
|
|
724
|
+
private readonly configService;
|
|
725
|
+
private readonly cardDefaults;
|
|
726
|
+
variantInput: _angular_core.InputSignal<CardVariant | undefined>;
|
|
727
|
+
sizeInput: _angular_core.InputSignal<CardSize | undefined>;
|
|
728
|
+
colorInput: _angular_core.InputSignal<CardColor | undefined>;
|
|
729
|
+
radiusInput: _angular_core.InputSignal<CardRadius | undefined>;
|
|
730
|
+
shadowInput: _angular_core.InputSignal<CardShadow | undefined>;
|
|
731
|
+
paddingInput: _angular_core.InputSignal<CardPadding | undefined>;
|
|
732
|
+
variant: _angular_core.Signal<"ghost" | "filled" | "outlined" | "elevated">;
|
|
733
|
+
size: _angular_core.Signal<"sm" | "md" | "lg">;
|
|
734
|
+
color: _angular_core.Signal<"primary" | "secondary" | "success" | "error" | "warning" | "neutral" | "default">;
|
|
735
|
+
radius: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl">;
|
|
736
|
+
shadow: _angular_core.Signal<"sm" | "md" | "lg" | "none" | "xl">;
|
|
737
|
+
padding: _angular_core.Signal<"sm" | "md" | "lg" | "none">;
|
|
738
|
+
orientation: _angular_core.InputSignal<CardOrientation>;
|
|
739
|
+
imagePosition: _angular_core.InputSignal<CardImagePosition>;
|
|
740
|
+
fullWidth: _angular_core.InputSignal<boolean>;
|
|
741
|
+
fullHeight: _angular_core.InputSignal<boolean>;
|
|
742
|
+
title: _angular_core.InputSignal<string | undefined>;
|
|
743
|
+
subtitle: _angular_core.InputSignal<string | undefined>;
|
|
744
|
+
avatar: _angular_core.InputSignal<string | undefined>;
|
|
745
|
+
icon: _angular_core.InputSignal<string | undefined>;
|
|
746
|
+
image: _angular_core.InputSignal<string | undefined>;
|
|
747
|
+
imageAlt: _angular_core.InputSignal<string>;
|
|
748
|
+
imageFit: _angular_core.InputSignal<"cover" | "contain">;
|
|
749
|
+
showHeader: _angular_core.InputSignal<boolean>;
|
|
750
|
+
showMedia: _angular_core.InputSignal<boolean>;
|
|
751
|
+
showFooter: _angular_core.InputSignal<boolean>;
|
|
752
|
+
divider: _angular_core.InputSignal<boolean>;
|
|
753
|
+
hoverable: _angular_core.InputSignal<boolean>;
|
|
754
|
+
pressable: _angular_core.InputSignal<boolean>;
|
|
755
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
756
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
757
|
+
href: _angular_core.InputSignal<string | undefined>;
|
|
758
|
+
target: _angular_core.InputSignal<"_blank" | "_self" | "_parent" | "_top">;
|
|
759
|
+
blurred: _angular_core.InputSignal<boolean>;
|
|
760
|
+
blurredFooter: _angular_core.InputSignal<boolean>;
|
|
761
|
+
animated: _angular_core.InputSignal<boolean>;
|
|
762
|
+
clicked: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
763
|
+
headerAction: _angular_core.OutputEmitterRef<void>;
|
|
764
|
+
protected headerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
765
|
+
protected headerActionsTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
766
|
+
protected mediaTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
767
|
+
protected bodyTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
768
|
+
protected footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
769
|
+
protected iconSize: _angular_core.Signal<number>;
|
|
770
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
771
|
+
protected handleClick(event: MouseEvent): void;
|
|
772
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
|
|
773
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "studio-card", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "sizeInput": { "alias": "size"; "required": false; "isSignal": true; }; "colorInput": { "alias": "color"; "required": false; "isSignal": true; }; "radiusInput": { "alias": "radius"; "required": false; "isSignal": true; }; "shadowInput": { "alias": "shadow"; "required": false; "isSignal": true; }; "paddingInput": { "alias": "padding"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "imagePosition": { "alias": "imagePosition"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "fullHeight": { "alias": "fullHeight"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "imageAlt": { "alias": "imageAlt"; "required": false; "isSignal": true; }; "imageFit": { "alias": "imageFit"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "showMedia": { "alias": "showMedia"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "pressable": { "alias": "pressable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "blurred": { "alias": "blurred"; "required": false; "isSignal": true; }; "blurredFooter": { "alias": "blurredFooter"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "headerAction": "headerAction"; }, ["headerTemplate", "headerActionsTemplate", "mediaTemplate", "bodyTemplate", "footerTemplate"], ["*"], true, never>;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
interface ChatMessage {
|
|
777
|
+
id: string;
|
|
778
|
+
content: string;
|
|
779
|
+
userId: string;
|
|
780
|
+
userName: string;
|
|
781
|
+
userAvatar?: string;
|
|
782
|
+
timestamp: Date;
|
|
783
|
+
status?: 'sending' | 'sent' | 'delivered' | 'read' | 'error';
|
|
784
|
+
type?: 'text' | 'system';
|
|
785
|
+
edited?: boolean;
|
|
786
|
+
}
|
|
787
|
+
interface ChatUser {
|
|
788
|
+
id: string;
|
|
789
|
+
name: string;
|
|
790
|
+
avatar?: string;
|
|
791
|
+
online?: boolean;
|
|
792
|
+
}
|
|
793
|
+
type ChatVariant = 'default' | 'compact' | 'minimal' | 'bubbles';
|
|
794
|
+
type ChatSize = 'sm' | 'md' | 'lg';
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* Chat component - Flexible chat/messaging component
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* <studio-chat
|
|
801
|
+
* [messages]="messages"
|
|
802
|
+
* [currentUserId]="currentUser.id"
|
|
803
|
+
* variant="default"
|
|
804
|
+
* (messageSubmit)="handleMessage($event)"
|
|
805
|
+
* />
|
|
806
|
+
*/
|
|
807
|
+
declare class ChatComponent implements AfterViewInit {
|
|
808
|
+
messages: _angular_core.InputSignal<ChatMessage[]>;
|
|
809
|
+
currentUserId: _angular_core.InputSignal<string>;
|
|
810
|
+
variant: _angular_core.InputSignal<ChatVariant>;
|
|
811
|
+
size: _angular_core.InputSignal<ChatSize>;
|
|
812
|
+
height: _angular_core.InputSignal<string>;
|
|
813
|
+
placeholder: _angular_core.InputSignal<string>;
|
|
814
|
+
showAvatars: _angular_core.InputSignal<boolean>;
|
|
815
|
+
showTimestamps: _angular_core.InputSignal<boolean>;
|
|
816
|
+
showUserNames: _angular_core.InputSignal<boolean>;
|
|
817
|
+
enableAutoScroll: _angular_core.InputSignal<boolean>;
|
|
818
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
819
|
+
class: _angular_core.InputSignal<string>;
|
|
820
|
+
messageSubmit: _angular_core.OutputEmitterRef<{
|
|
821
|
+
content: string;
|
|
822
|
+
}>;
|
|
823
|
+
typing: _angular_core.OutputEmitterRef<boolean>;
|
|
824
|
+
protected messagesContainerRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
825
|
+
protected isScrolledUp: _angular_core.WritableSignal<boolean>;
|
|
826
|
+
protected shouldAutoScroll: _angular_core.WritableSignal<boolean>;
|
|
827
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
828
|
+
protected isCompact: _angular_core.Signal<boolean>;
|
|
829
|
+
constructor();
|
|
830
|
+
ngAfterViewInit(): void;
|
|
831
|
+
protected onScroll(): void;
|
|
832
|
+
protected onMessageSubmit(event: {
|
|
833
|
+
content: string;
|
|
834
|
+
}): void;
|
|
835
|
+
protected scrollToBottom(): void;
|
|
836
|
+
protected onTyping(typing: boolean): void;
|
|
837
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatComponent, never>;
|
|
838
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatComponent, "studio-chat", never, { "messages": { "alias": "messages"; "required": true; "isSignal": true; }; "currentUserId": { "alias": "currentUserId"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showAvatars": { "alias": "showAvatars"; "required": false; "isSignal": true; }; "showTimestamps": { "alias": "showTimestamps"; "required": false; "isSignal": true; }; "showUserNames": { "alias": "showUserNames"; "required": false; "isSignal": true; }; "enableAutoScroll": { "alias": "enableAutoScroll"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "messageSubmit": "messageSubmit"; "typing": "typing"; }, never, never, true, never>;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
declare class ChatMessageComponent {
|
|
842
|
+
message: _angular_core.InputSignal<ChatMessage>;
|
|
843
|
+
currentUserId: _angular_core.InputSignal<string>;
|
|
844
|
+
showAvatar: _angular_core.InputSignal<boolean>;
|
|
845
|
+
showTimestamp: _angular_core.InputSignal<boolean>;
|
|
846
|
+
showUserName: _angular_core.InputSignal<boolean>;
|
|
847
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
848
|
+
protected isOwn: _angular_core.Signal<boolean>;
|
|
849
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
850
|
+
protected getInitials(name: string): string;
|
|
851
|
+
protected formatTime(date: Date): string;
|
|
852
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatMessageComponent, never>;
|
|
853
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatMessageComponent, "studio-chat-message", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "currentUserId": { "alias": "currentUserId"; "required": true; "isSignal": true; }; "showAvatar": { "alias": "showAvatar"; "required": false; "isSignal": true; }; "showTimestamp": { "alias": "showTimestamp"; "required": false; "isSignal": true; }; "showUserName": { "alias": "showUserName"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
declare class ChatInputComponent {
|
|
857
|
+
placeholder: _angular_core.InputSignal<string>;
|
|
858
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
859
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
860
|
+
messageSubmit: _angular_core.OutputEmitterRef<{
|
|
861
|
+
content: string;
|
|
862
|
+
}>;
|
|
863
|
+
typing: _angular_core.OutputEmitterRef<boolean>;
|
|
864
|
+
protected inputValue: _angular_core.WritableSignal<string>;
|
|
865
|
+
protected textareaRef: _angular_core.Signal<ElementRef<HTMLTextAreaElement> | undefined>;
|
|
866
|
+
private typingTimeout?;
|
|
867
|
+
protected canSend: _angular_core.Signal<boolean>;
|
|
868
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
869
|
+
constructor();
|
|
870
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
871
|
+
protected onInput(): void;
|
|
872
|
+
protected handleSubmit(): void;
|
|
873
|
+
focus(): void;
|
|
874
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatInputComponent, never>;
|
|
875
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatInputComponent, "studio-chat-input", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, { "messageSubmit": "messageSubmit"; "typing": "typing"; }, never, never, true, never>;
|
|
876
|
+
}
|
|
877
|
+
|
|
679
878
|
/**
|
|
680
879
|
* Checkbox component for selecting boolean values
|
|
681
880
|
*
|
|
@@ -1897,6 +2096,273 @@ declare class SwitchComponent implements ControlValueAccessor {
|
|
|
1897
2096
|
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>;
|
|
1898
2097
|
}
|
|
1899
2098
|
|
|
2099
|
+
/**
|
|
2100
|
+
* Table component types and interfaces
|
|
2101
|
+
* Enterprise-grade type-safe table with full feature set
|
|
2102
|
+
*/
|
|
2103
|
+
|
|
2104
|
+
/**
|
|
2105
|
+
* Column definition with type safety
|
|
2106
|
+
*/
|
|
2107
|
+
interface TableColumn<T = any> {
|
|
2108
|
+
/** Unique column identifier */
|
|
2109
|
+
key: keyof T | string;
|
|
2110
|
+
/** Column header label */
|
|
2111
|
+
label: string;
|
|
2112
|
+
/** Data accessor function or property path */
|
|
2113
|
+
field?: keyof T | ((row: T) => any);
|
|
2114
|
+
/** Column width (CSS value) */
|
|
2115
|
+
width?: string;
|
|
2116
|
+
/** Minimum column width */
|
|
2117
|
+
minWidth?: string;
|
|
2118
|
+
/** Maximum column width */
|
|
2119
|
+
maxWidth?: string;
|
|
2120
|
+
/** Enable sorting for this column */
|
|
2121
|
+
sortable?: boolean;
|
|
2122
|
+
/** Custom sort comparator */
|
|
2123
|
+
sortFn?: (a: T, b: T, direction: SortDirection) => number;
|
|
2124
|
+
/** Enable filtering */
|
|
2125
|
+
filterable?: boolean;
|
|
2126
|
+
/** Column alignment */
|
|
2127
|
+
align?: 'left' | 'center' | 'right';
|
|
2128
|
+
/** Fixed column (sticky) */
|
|
2129
|
+
fixed?: 'left' | 'right' | false;
|
|
2130
|
+
/** Hide column on mobile */
|
|
2131
|
+
hideOnMobile?: boolean;
|
|
2132
|
+
/** Column priority for responsive (higher = keep visible longer) */
|
|
2133
|
+
priority?: number;
|
|
2134
|
+
/** Custom cell template */
|
|
2135
|
+
cellTemplate?: TemplateRef<TableCellContext<T>>;
|
|
2136
|
+
/** Custom header template */
|
|
2137
|
+
headerTemplate?: TemplateRef<TableHeaderContext<T>>;
|
|
2138
|
+
/** Cell CSS class */
|
|
2139
|
+
cellClass?: string | ((row: T) => string);
|
|
2140
|
+
/** Header CSS class */
|
|
2141
|
+
headerClass?: string;
|
|
2142
|
+
/** Format cell value */
|
|
2143
|
+
formatter?: (value: any, row: T) => string;
|
|
2144
|
+
/** Column is resizable */
|
|
2145
|
+
resizable?: boolean;
|
|
2146
|
+
}
|
|
2147
|
+
/**
|
|
2148
|
+
* Table cell template context
|
|
2149
|
+
*/
|
|
2150
|
+
interface TableCellContext<T> {
|
|
2151
|
+
$implicit: any;
|
|
2152
|
+
row: T;
|
|
2153
|
+
column: TableColumn<T>;
|
|
2154
|
+
index: number;
|
|
2155
|
+
}
|
|
2156
|
+
/**
|
|
2157
|
+
* Table header template context
|
|
2158
|
+
*/
|
|
2159
|
+
interface TableHeaderContext<T> {
|
|
2160
|
+
column: TableColumn<T>;
|
|
2161
|
+
sorted: boolean;
|
|
2162
|
+
direction: SortDirection | null;
|
|
2163
|
+
}
|
|
2164
|
+
/**
|
|
2165
|
+
* Sort configuration
|
|
2166
|
+
*/
|
|
2167
|
+
interface TableSort<T = any> {
|
|
2168
|
+
column: keyof T | string;
|
|
2169
|
+
direction: SortDirection;
|
|
2170
|
+
}
|
|
2171
|
+
type SortDirection = 'asc' | 'desc';
|
|
2172
|
+
/**
|
|
2173
|
+
* Selection mode
|
|
2174
|
+
*/
|
|
2175
|
+
type SelectionMode = 'none' | 'single' | 'multiple';
|
|
2176
|
+
/**
|
|
2177
|
+
* Table density/size
|
|
2178
|
+
*/
|
|
2179
|
+
type TableDensity = 'compact' | 'comfortable' | 'spacious';
|
|
2180
|
+
/**
|
|
2181
|
+
* Table variant styles
|
|
2182
|
+
*/
|
|
2183
|
+
type TableVariant = 'default' | 'striped' | 'bordered' | 'minimal';
|
|
2184
|
+
/**
|
|
2185
|
+
* Row expansion state
|
|
2186
|
+
*/
|
|
2187
|
+
interface RowExpansion<T> {
|
|
2188
|
+
row: T;
|
|
2189
|
+
expanded: boolean;
|
|
2190
|
+
}
|
|
2191
|
+
/**
|
|
2192
|
+
* Table state (for external control)
|
|
2193
|
+
*/
|
|
2194
|
+
interface TableState<T = any> {
|
|
2195
|
+
/** Currently sorted column */
|
|
2196
|
+
sort?: TableSort<T>;
|
|
2197
|
+
/** Selected row indices or IDs */
|
|
2198
|
+
selection?: Set<number | string>;
|
|
2199
|
+
/** Expanded row indices or IDs */
|
|
2200
|
+
expanded?: Set<number | string>;
|
|
2201
|
+
/** Current page (if using pagination) */
|
|
2202
|
+
page?: number;
|
|
2203
|
+
/** Page size */
|
|
2204
|
+
pageSize?: number;
|
|
2205
|
+
/** Global filter/search value */
|
|
2206
|
+
filter?: string;
|
|
2207
|
+
}
|
|
2208
|
+
/**
|
|
2209
|
+
* Sort event payload
|
|
2210
|
+
*/
|
|
2211
|
+
interface SortEvent<T = any> {
|
|
2212
|
+
column: TableColumn<T>;
|
|
2213
|
+
direction: SortDirection;
|
|
2214
|
+
previousDirection: SortDirection | null;
|
|
2215
|
+
}
|
|
2216
|
+
/**
|
|
2217
|
+
* Selection event payload
|
|
2218
|
+
*/
|
|
2219
|
+
interface SelectionEvent<T = any> {
|
|
2220
|
+
selected: T[];
|
|
2221
|
+
row?: T;
|
|
2222
|
+
isSelected: boolean;
|
|
2223
|
+
}
|
|
2224
|
+
/**
|
|
2225
|
+
* Row action definition
|
|
2226
|
+
*/
|
|
2227
|
+
interface RowAction<T = any> {
|
|
2228
|
+
label: string;
|
|
2229
|
+
icon?: string;
|
|
2230
|
+
handler: (row: T) => void;
|
|
2231
|
+
visible?: (row: T) => boolean;
|
|
2232
|
+
disabled?: (row: T) => boolean;
|
|
2233
|
+
variant?: 'default' | 'danger';
|
|
2234
|
+
divider?: boolean;
|
|
2235
|
+
}
|
|
2236
|
+
/**
|
|
2237
|
+
* Empty state configuration
|
|
2238
|
+
*/
|
|
2239
|
+
interface EmptyStateConfig {
|
|
2240
|
+
icon?: string;
|
|
2241
|
+
title?: string;
|
|
2242
|
+
message?: string;
|
|
2243
|
+
action?: {
|
|
2244
|
+
label: string;
|
|
2245
|
+
handler: () => void;
|
|
2246
|
+
};
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2249
|
+
/**
|
|
2250
|
+
* Directive for declarative column definition
|
|
2251
|
+
*
|
|
2252
|
+
* @example
|
|
2253
|
+
* <studio-table-column
|
|
2254
|
+
* key="name"
|
|
2255
|
+
* label="Name"
|
|
2256
|
+
* [sortable]="true">
|
|
2257
|
+
* <ng-template let-row>{{ row.name }}</ng-template>
|
|
2258
|
+
* </studio-table-column>
|
|
2259
|
+
*/
|
|
2260
|
+
declare class TableColumnDirective<T = any> {
|
|
2261
|
+
key: keyof T | string;
|
|
2262
|
+
label: string;
|
|
2263
|
+
field?: keyof T | ((row: T) => any);
|
|
2264
|
+
width?: string;
|
|
2265
|
+
minWidth?: string;
|
|
2266
|
+
maxWidth?: string;
|
|
2267
|
+
sortable?: boolean;
|
|
2268
|
+
sortFn?: (a: T, b: T, direction: 'asc' | 'desc') => number;
|
|
2269
|
+
filterable?: boolean;
|
|
2270
|
+
align?: 'left' | 'center' | 'right';
|
|
2271
|
+
fixed?: 'left' | 'right' | false;
|
|
2272
|
+
hideOnMobile?: boolean;
|
|
2273
|
+
priority?: number;
|
|
2274
|
+
cellClass?: string | ((row: T) => string);
|
|
2275
|
+
headerClass?: string;
|
|
2276
|
+
formatter?: (value: any, row: T) => string;
|
|
2277
|
+
resizable?: boolean;
|
|
2278
|
+
template?: TemplateRef<any>;
|
|
2279
|
+
/**
|
|
2280
|
+
* Convert directive inputs to TableColumn config
|
|
2281
|
+
*/
|
|
2282
|
+
toColumnConfig(): TableColumn<T>;
|
|
2283
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableColumnDirective<any>, never>;
|
|
2284
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableColumnDirective<any>, "studio-table-column", never, { "key": { "alias": "key"; "required": true; }; "label": { "alias": "label"; "required": true; }; "field": { "alias": "field"; "required": false; }; "width": { "alias": "width"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "sortFn": { "alias": "sortFn"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "align": { "alias": "align"; "required": false; }; "fixed": { "alias": "fixed"; "required": false; }; "hideOnMobile": { "alias": "hideOnMobile"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "formatter": { "alias": "formatter"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; }, {}, ["template"], never, true, never>;
|
|
2285
|
+
}
|
|
2286
|
+
|
|
2287
|
+
/**
|
|
2288
|
+
* Enterprise-grade Table component with full feature set
|
|
2289
|
+
*
|
|
2290
|
+
* @example
|
|
2291
|
+
* <studio-table
|
|
2292
|
+
* [data]="users"
|
|
2293
|
+
* [columns]="columns"
|
|
2294
|
+
* selectionMode="multiple"
|
|
2295
|
+
* [(selected)]="selectedUsers">
|
|
2296
|
+
* </studio-table>
|
|
2297
|
+
*/
|
|
2298
|
+
declare class TableComponent<T = any> {
|
|
2299
|
+
private readonly configService;
|
|
2300
|
+
private readonly tableDefaults;
|
|
2301
|
+
variantInput: _angular_core.InputSignal<TableVariant | undefined>;
|
|
2302
|
+
densityInput: _angular_core.InputSignal<TableDensity | undefined>;
|
|
2303
|
+
variant: _angular_core.Signal<"default" | "minimal" | "bordered" | "striped">;
|
|
2304
|
+
density: _angular_core.Signal<"compact" | "comfortable" | "spacious">;
|
|
2305
|
+
data: _angular_core.InputSignal<T[]>;
|
|
2306
|
+
columns: _angular_core.InputSignal<TableColumn<T>[]>;
|
|
2307
|
+
rowKey: _angular_core.InputSignal<keyof T | ((row: T) => string | number)>;
|
|
2308
|
+
columnDirectives: _angular_core.Signal<readonly TableColumnDirective<any>[]>;
|
|
2309
|
+
selectionMode: _angular_core.InputSignal<SelectionMode>;
|
|
2310
|
+
sortable: _angular_core.InputSignal<boolean>;
|
|
2311
|
+
sortMode: _angular_core.InputSignal<"client" | "server">;
|
|
2312
|
+
hoverable: _angular_core.InputSignal<boolean>;
|
|
2313
|
+
stickyHeader: _angular_core.InputSignal<boolean>;
|
|
2314
|
+
showHeader: _angular_core.InputSignal<boolean>;
|
|
2315
|
+
expandable: _angular_core.InputSignal<boolean>;
|
|
2316
|
+
expandedRowTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
2317
|
+
expandMultiple: _angular_core.InputSignal<boolean>;
|
|
2318
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
2319
|
+
loadingRows: _angular_core.InputSignal<number>;
|
|
2320
|
+
emptyState: _angular_core.InputSignal<EmptyStateConfig>;
|
|
2321
|
+
rowActions: _angular_core.InputSignal<RowAction<T>[]>;
|
|
2322
|
+
responsive: _angular_core.InputSignal<boolean>;
|
|
2323
|
+
mobileBreakpoint: _angular_core.InputSignal<number>;
|
|
2324
|
+
selected: _angular_core.ModelSignal<T[]>;
|
|
2325
|
+
sort: _angular_core.ModelSignal<TableSort<T> | null>;
|
|
2326
|
+
expanded: _angular_core.ModelSignal<Set<string | number>>;
|
|
2327
|
+
sortChange: _angular_core.OutputEmitterRef<SortEvent<T>>;
|
|
2328
|
+
selectionChange: _angular_core.OutputEmitterRef<SelectionEvent<T>>;
|
|
2329
|
+
rowClick: _angular_core.OutputEmitterRef<T>;
|
|
2330
|
+
rowDblClick: _angular_core.OutputEmitterRef<T>;
|
|
2331
|
+
protected currentSort: _angular_core.WritableSignal<TableSort<T> | null>;
|
|
2332
|
+
protected selectedRows: _angular_core.WritableSignal<Set<string | number>>;
|
|
2333
|
+
protected expandedRows: _angular_core.WritableSignal<Set<string | number>>;
|
|
2334
|
+
protected finalColumns: _angular_core.Signal<TableColumn<T>[] | TableColumn<any>[]>;
|
|
2335
|
+
protected processedData: _angular_core.Signal<T[]>;
|
|
2336
|
+
protected allSelected: _angular_core.Signal<boolean>;
|
|
2337
|
+
protected someSelected: _angular_core.Signal<boolean>;
|
|
2338
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
2339
|
+
constructor();
|
|
2340
|
+
sortBy(column: TableColumn<T>, direction?: SortDirection): void;
|
|
2341
|
+
selectRow(row: T): void;
|
|
2342
|
+
selectAll(select: boolean): void;
|
|
2343
|
+
toggleRowExpansion(row: T): void;
|
|
2344
|
+
isRowExpanded(row: T): boolean;
|
|
2345
|
+
isRowSelected(row: T): boolean;
|
|
2346
|
+
getCellValue(row: T, column: TableColumn<T>): any;
|
|
2347
|
+
getHeaderClass(column: TableColumn<T>): string;
|
|
2348
|
+
getCellClass(row: T, column: TableColumn<T>): string;
|
|
2349
|
+
getFullCellClass(row: T, column: TableColumn<T>): string;
|
|
2350
|
+
getCellContext(row: T, column: TableColumn<T>, index: number): TableCellContext<T>;
|
|
2351
|
+
getHeaderContext(column: TableColumn<T>): TableHeaderContext<T>;
|
|
2352
|
+
getSortIcon(column: TableColumn<T>): string;
|
|
2353
|
+
handleRowClick(row: T, event: Event): void;
|
|
2354
|
+
handleRowDblClick(row: T): void;
|
|
2355
|
+
executeRowAction(action: RowAction<T>, row: T, event: Event): void;
|
|
2356
|
+
isActionVisible(action: RowAction<T>, row: T): boolean;
|
|
2357
|
+
isActionDisabled(action: RowAction<T>, row: T): boolean;
|
|
2358
|
+
getRowKey(row: T): string | number;
|
|
2359
|
+
private getSelectedRows;
|
|
2360
|
+
private updateSelectedModel;
|
|
2361
|
+
private applySorting;
|
|
2362
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
2363
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "studio-table", never, { "variantInput": { "alias": "variant"; "required": false; "isSignal": true; }; "densityInput": { "alias": "density"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "sortable": { "alias": "sortable"; "required": false; "isSignal": true; }; "sortMode": { "alias": "sortMode"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "expandMultiple": { "alias": "expandMultiple"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "emptyState": { "alias": "emptyState"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "mobileBreakpoint": { "alias": "mobileBreakpoint"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "selected": "selectedChange"; "sort": "sortChange"; "expanded": "expandedChange"; "sortChange": "sortChange"; "selectionChange": "selectionChange"; "rowClick": "rowClick"; "rowDblClick": "rowDblClick"; }, ["columnDirectives", "expandedRowTemplate"], never, true, never>;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
1900
2366
|
type TabsVariant = 'line' | 'pills' | 'enclosed';
|
|
1901
2367
|
type TabsSize = 'sm' | 'md' | 'lg';
|
|
1902
2368
|
type TabsOrientation = 'horizontal' | 'vertical';
|
|
@@ -2503,5 +2969,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
2503
2969
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
2504
2970
|
}>): void;
|
|
2505
2971
|
|
|
2506
|
-
export { BadgeComponent, BadgeWrapperComponent, BottomNavigationComponent, 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 };
|
|
2507
|
-
export type { BadgeColor, BadgeDefaultsConfig, BadgeIconPosition, BadgeRadius, BadgeSize, BadgeVariant, BadgeWrapperPosition, BadgeWrapperSize, BottomNavigationDefaultsConfig, BottomNavigationFabPosition, BottomNavigationItem, BottomNavigationLabelMode, BottomNavigationSize, BottomNavigationVariant, 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 };
|
|
2972
|
+
export { BadgeComponent, BadgeWrapperComponent, BottomNavigationComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CardComponent, ChatComponent, ChatInputComponent, ChatMessageComponent, 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, TableColumnDirective, TableComponent, TabsComponent, TextareaComponent, ThemeSwitchComponent, TooltipComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
2973
|
+
export type { BadgeColor, BadgeDefaultsConfig, BadgeIconPosition, BadgeRadius, BadgeSize, BadgeVariant, BadgeWrapperPosition, BadgeWrapperSize, BottomNavigationDefaultsConfig, BottomNavigationFabPosition, BottomNavigationItem, BottomNavigationLabelMode, BottomNavigationSize, BottomNavigationVariant, ButtonDefaultsConfig, ButtonGroupDefaultsConfig, ButtonToggleGroupDefaultsConfig, ButtonToggleGroupOption, ButtonToggleGroupValue, CardColor, CardDefaultsConfig, CardImagePosition, CardOrientation, CardPadding, CardRadius, CardShadow, CardSize, CardVariant, ChatMessage, ChatSize, ChatUser, ChatVariant, 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, EmptyStateConfig, 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, RowAction, RowExpansion, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, SelectionEvent, SelectionMode, SidebarConfig, SidebarDefaultsConfig, SidebarPosition, SidebarSize, SidebarVariant, SortDirection, SortEvent, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TabItem, TableCellContext, TableColumn, TableDefaultsConfig, TableDensity, TableHeaderContext, TableSort, TableState, TableVariant, TabsDefaultsConfig, TabsOrientation, TabsSize, TabsVariant, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode, TooltipDefaultsConfig };
|