@eduboxpro/studio 0.1.16 → 0.1.18
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 +448 -2
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +279 -2
- package/package.json +1 -1
- package/src/styles/studio-no-reset.scss +41 -0
package/index.d.ts
CHANGED
|
@@ -370,6 +370,15 @@ interface CardDefaultsConfig {
|
|
|
370
370
|
shadow?: 'none' | 'sm' | 'md' | 'lg' | 'xl';
|
|
371
371
|
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
372
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
|
+
}
|
|
373
382
|
/**
|
|
374
383
|
* Components defaults configuration
|
|
375
384
|
*/
|
|
@@ -394,6 +403,7 @@ interface ComponentsConfig {
|
|
|
394
403
|
modal?: ModalDefaultsConfig;
|
|
395
404
|
bottomNavigation?: BottomNavigationDefaultsConfig;
|
|
396
405
|
card?: CardDefaultsConfig;
|
|
406
|
+
table?: TableDefaultsConfig;
|
|
397
407
|
}
|
|
398
408
|
/**
|
|
399
409
|
* Main Studio configuration interface
|
|
@@ -2086,6 +2096,273 @@ declare class SwitchComponent implements ControlValueAccessor {
|
|
|
2086
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>;
|
|
2087
2097
|
}
|
|
2088
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
|
+
|
|
2089
2366
|
type TabsVariant = 'line' | 'pills' | 'enclosed';
|
|
2090
2367
|
type TabsSize = 'sm' | 'md' | 'lg';
|
|
2091
2368
|
type TabsOrientation = 'horizontal' | 'vertical';
|
|
@@ -2692,5 +2969,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
2692
2969
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
2693
2970
|
}>): void;
|
|
2694
2971
|
|
|
2695
|
-
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, TabsComponent, TextareaComponent, ThemeSwitchComponent, TooltipComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
2696
|
-
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, 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 };
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @eduboxpro/studio - Stylesheet WITHOUT Reset
|
|
3
|
+
*
|
|
4
|
+
* Use this when you already have a CSS reset (like Tailwind's preflight)
|
|
5
|
+
* and only need Studio's design tokens and component styles.
|
|
6
|
+
*
|
|
7
|
+
* Import in your styles.scss:
|
|
8
|
+
* @use "@eduboxpro/studio/src/styles/studio-no-reset";
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* Design Tokens */
|
|
12
|
+
@forward 'tokens';
|
|
13
|
+
|
|
14
|
+
/* Mixins - use in component styles as needed */
|
|
15
|
+
/* @use '@eduboxpro/studio/styles/mixins'; */
|
|
16
|
+
|
|
17
|
+
/* Force font-family to all studio components (fixes ViewEncapsulation issue) */
|
|
18
|
+
studio-button,
|
|
19
|
+
studio-input,
|
|
20
|
+
studio-badge,
|
|
21
|
+
studio-switch,
|
|
22
|
+
studio-theme-switch,
|
|
23
|
+
studio-checkbox,
|
|
24
|
+
studio-textarea,
|
|
25
|
+
studio-navbar,
|
|
26
|
+
studio-drawer,
|
|
27
|
+
studio-card,
|
|
28
|
+
studio-icon,
|
|
29
|
+
studio-button *,
|
|
30
|
+
studio-input *,
|
|
31
|
+
studio-badge *,
|
|
32
|
+
studio-switch *,
|
|
33
|
+
studio-theme-switch *,
|
|
34
|
+
studio-checkbox *,
|
|
35
|
+
studio-textarea *,
|
|
36
|
+
studio-navbar *,
|
|
37
|
+
studio-drawer *,
|
|
38
|
+
studio-card *,
|
|
39
|
+
studio-icon * {
|
|
40
|
+
font-family: var(--studio-font-family) !important;
|
|
41
|
+
}
|