@eduboxpro/studio 0.1.14 → 0.1.15
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 +235 -13
- package/fesm2022/eduboxpro-studio.mjs.map +1 -1
- package/index.d.ts +103 -7
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders, AfterViewInit, ElementRef, TemplateRef, WritableSignal,
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, OnInit, OnDestroy, AfterViewInit, ElementRef, TemplateRef, WritableSignal, Signal } from '@angular/core';
|
|
3
|
+
import { Params, IsActiveMatchOptions } from '@angular/router';
|
|
3
4
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
5
|
import { icons } from 'lucide-angular';
|
|
5
|
-
import { Params, IsActiveMatchOptions } from '@angular/router';
|
|
6
6
|
import { Placement } from '@floating-ui/dom';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -348,6 +348,17 @@ interface ModalDefaultsConfig {
|
|
|
348
348
|
showFooter?: boolean;
|
|
349
349
|
showCloseButton?: boolean;
|
|
350
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* BottomNavigation component defaults configuration
|
|
353
|
+
*/
|
|
354
|
+
interface BottomNavigationDefaultsConfig {
|
|
355
|
+
variant?: 'default' | 'filled' | 'minimal';
|
|
356
|
+
showLabels?: 'always' | 'selected' | 'never';
|
|
357
|
+
size?: 'sm' | 'md' | 'lg';
|
|
358
|
+
elevation?: 'none' | 'sm' | 'md' | 'lg';
|
|
359
|
+
blur?: boolean;
|
|
360
|
+
hideOnDesktop?: boolean;
|
|
361
|
+
}
|
|
351
362
|
/**
|
|
352
363
|
* Components defaults configuration
|
|
353
364
|
*/
|
|
@@ -370,6 +381,7 @@ interface ComponentsConfig {
|
|
|
370
381
|
dropdown?: DropdownDefaultsConfig;
|
|
371
382
|
tabs?: TabsDefaultsConfig;
|
|
372
383
|
modal?: ModalDefaultsConfig;
|
|
384
|
+
bottomNavigation?: BottomNavigationDefaultsConfig;
|
|
373
385
|
}
|
|
374
386
|
/**
|
|
375
387
|
* Main Studio configuration interface
|
|
@@ -510,6 +522,90 @@ declare class BadgeWrapperComponent {
|
|
|
510
522
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeWrapperComponent, "studio-badge-wrapper", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showZero": { "alias": "showZero"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dot": { "alias": "dot"; "required": false; "isSignal": true; }; "overlap": { "alias": "overlap"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
511
523
|
}
|
|
512
524
|
|
|
525
|
+
interface BottomNavigationItem {
|
|
526
|
+
id: string;
|
|
527
|
+
label: string;
|
|
528
|
+
icon: string;
|
|
529
|
+
routerLink?: string | string[];
|
|
530
|
+
href?: string;
|
|
531
|
+
queryParams?: Params;
|
|
532
|
+
badge?: string | number;
|
|
533
|
+
badgeColor?: 'primary' | 'secondary' | 'success' | 'error' | 'warning';
|
|
534
|
+
disabled?: boolean;
|
|
535
|
+
visible?: boolean;
|
|
536
|
+
command?: (item: BottomNavigationItem) => void;
|
|
537
|
+
data?: any;
|
|
538
|
+
}
|
|
539
|
+
type BottomNavigationVariant = 'default' | 'filled' | 'minimal';
|
|
540
|
+
type BottomNavigationLabelMode = 'always' | 'selected' | 'never';
|
|
541
|
+
type BottomNavigationFabPosition = 'center' | 'end';
|
|
542
|
+
type BottomNavigationSize = 'sm' | 'md' | 'lg';
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Bottom Navigation component - Mobile-first navigation component
|
|
546
|
+
*
|
|
547
|
+
* @example
|
|
548
|
+
* <studio-bottom-navigation
|
|
549
|
+
* [items]="navItems"
|
|
550
|
+
* variant="default"
|
|
551
|
+
* showLabels="always"
|
|
552
|
+
* (itemClicked)="handleClick($event)"
|
|
553
|
+
* />
|
|
554
|
+
*/
|
|
555
|
+
declare class BottomNavigationComponent implements OnInit, OnDestroy {
|
|
556
|
+
private readonly router;
|
|
557
|
+
private readonly platformId;
|
|
558
|
+
items: _angular_core.InputSignal<BottomNavigationItem[]>;
|
|
559
|
+
activeItem: _angular_core.InputSignal<string | undefined>;
|
|
560
|
+
variant: _angular_core.InputSignal<BottomNavigationVariant>;
|
|
561
|
+
showLabels: _angular_core.InputSignal<BottomNavigationLabelMode>;
|
|
562
|
+
size: _angular_core.InputSignal<BottomNavigationSize>;
|
|
563
|
+
elevation: _angular_core.InputSignal<"sm" | "md" | "lg" | "none">;
|
|
564
|
+
blur: _angular_core.InputSignal<boolean>;
|
|
565
|
+
showFab: _angular_core.InputSignal<boolean>;
|
|
566
|
+
fabIcon: _angular_core.InputSignal<string>;
|
|
567
|
+
fabPosition: _angular_core.InputSignal<BottomNavigationFabPosition>;
|
|
568
|
+
fabAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
569
|
+
fixed: _angular_core.InputSignal<boolean>;
|
|
570
|
+
hideOnScroll: _angular_core.InputSignal<boolean>;
|
|
571
|
+
scrollThreshold: _angular_core.InputSignal<number>;
|
|
572
|
+
hideOnDesktop: _angular_core.InputSignal<boolean>;
|
|
573
|
+
enableSwipeGestures: _angular_core.InputSignal<boolean>;
|
|
574
|
+
swipeThreshold: _angular_core.InputSignal<number>;
|
|
575
|
+
enableHapticFeedback: _angular_core.InputSignal<boolean>;
|
|
576
|
+
routerLinkActiveOptions: _angular_core.InputSignal<IsActiveMatchOptions>;
|
|
577
|
+
ariaLabel: _angular_core.InputSignal<string>;
|
|
578
|
+
class: _angular_core.InputSignal<string>;
|
|
579
|
+
activeItemChange: _angular_core.OutputEmitterRef<string>;
|
|
580
|
+
itemClicked: _angular_core.OutputEmitterRef<BottomNavigationItem>;
|
|
581
|
+
fabClicked: _angular_core.OutputEmitterRef<void>;
|
|
582
|
+
swipedLeft: _angular_core.OutputEmitterRef<void>;
|
|
583
|
+
swipedRight: _angular_core.OutputEmitterRef<void>;
|
|
584
|
+
protected isHidden: _angular_core.WritableSignal<boolean>;
|
|
585
|
+
private lastScrollY;
|
|
586
|
+
private routerSubscription?;
|
|
587
|
+
private touchStartX;
|
|
588
|
+
private touchStartY;
|
|
589
|
+
private isSwiping;
|
|
590
|
+
protected hostClasses: _angular_core.Signal<string>;
|
|
591
|
+
protected visibleItems: _angular_core.Signal<BottomNavigationItem[]>;
|
|
592
|
+
protected centerIndex: _angular_core.Signal<number>;
|
|
593
|
+
protected iconSize: _angular_core.Signal<number>;
|
|
594
|
+
ngOnInit(): void;
|
|
595
|
+
ngOnDestroy(): void;
|
|
596
|
+
private handleScroll;
|
|
597
|
+
protected isItemActive(item: BottomNavigationItem): boolean;
|
|
598
|
+
protected shouldShowLabel(item: BottomNavigationItem): boolean;
|
|
599
|
+
protected onItemClick(item: BottomNavigationItem, event: Event): void;
|
|
600
|
+
protected onFabClick(event: Event): void;
|
|
601
|
+
protected onTouchStart(event: TouchEvent): void;
|
|
602
|
+
protected onTouchMove(event: TouchEvent): void;
|
|
603
|
+
protected onTouchEnd(event: TouchEvent): void;
|
|
604
|
+
private triggerHapticFeedback;
|
|
605
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BottomNavigationComponent, never>;
|
|
606
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BottomNavigationComponent, "studio-bottom-navigation", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "elevation": { "alias": "elevation"; "required": false; "isSignal": true; }; "blur": { "alias": "blur"; "required": false; "isSignal": true; }; "showFab": { "alias": "showFab"; "required": false; "isSignal": true; }; "fabIcon": { "alias": "fabIcon"; "required": false; "isSignal": true; }; "fabPosition": { "alias": "fabPosition"; "required": false; "isSignal": true; }; "fabAriaLabel": { "alias": "fabAriaLabel"; "required": false; "isSignal": true; }; "fixed": { "alias": "fixed"; "required": false; "isSignal": true; }; "hideOnScroll": { "alias": "hideOnScroll"; "required": false; "isSignal": true; }; "scrollThreshold": { "alias": "scrollThreshold"; "required": false; "isSignal": true; }; "hideOnDesktop": { "alias": "hideOnDesktop"; "required": false; "isSignal": true; }; "enableSwipeGestures": { "alias": "enableSwipeGestures"; "required": false; "isSignal": true; }; "swipeThreshold": { "alias": "swipeThreshold"; "required": false; "isSignal": true; }; "enableHapticFeedback": { "alias": "enableHapticFeedback"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "activeItemChange": "activeItemChange"; "itemClicked": "itemClicked"; "fabClicked": "fabClicked"; "swipedLeft": "swipedLeft"; "swipedRight": "swipedRight"; }, never, ["[bottomNavLeft]", "[bottomNavRight]"], true, never>;
|
|
607
|
+
}
|
|
608
|
+
|
|
513
609
|
/**
|
|
514
610
|
* Button component with multiple variants, sizes, colors and states
|
|
515
611
|
*
|
|
@@ -537,7 +633,7 @@ declare class ButtonComponent {
|
|
|
537
633
|
loading: _angular_core.InputSignal<boolean>;
|
|
538
634
|
loadingText: _angular_core.InputSignal<string>;
|
|
539
635
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
540
|
-
type: _angular_core.InputSignal<"button" | "
|
|
636
|
+
type: _angular_core.InputSignal<"button" | "reset" | "submit">;
|
|
541
637
|
icon: _angular_core.InputSignal<string | undefined>;
|
|
542
638
|
iconPosition: _angular_core.InputSignal<"left" | "right" | "only">;
|
|
543
639
|
href: _angular_core.InputSignal<string | undefined>;
|
|
@@ -571,7 +667,7 @@ declare class ButtonGroupComponent {
|
|
|
571
667
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
572
668
|
disabled: _angular_core.InputSignal<boolean>;
|
|
573
669
|
spacing: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xs">;
|
|
574
|
-
align: _angular_core.InputSignal<"center" | "
|
|
670
|
+
align: _angular_core.InputSignal<"center" | "end" | "start" | "stretch">;
|
|
575
671
|
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
576
672
|
role: _angular_core.InputSignal<string>;
|
|
577
673
|
protected hostClasses: _angular_core.Signal<string>;
|
|
@@ -2094,7 +2190,7 @@ declare class ButtonToggleGroupComponent implements ControlValueAccessor {
|
|
|
2094
2190
|
fullWidth: _angular_core.InputSignal<boolean>;
|
|
2095
2191
|
disabled: _angular_core.InputSignal<boolean>;
|
|
2096
2192
|
spacing: _angular_core.InputSignal<"sm" | "md" | "lg" | "none" | "xs">;
|
|
2097
|
-
align: _angular_core.InputSignal<"center" | "
|
|
2193
|
+
align: _angular_core.InputSignal<"center" | "end" | "start" | "stretch">;
|
|
2098
2194
|
showIcons: _angular_core.InputSignal<boolean>;
|
|
2099
2195
|
iconPosition: _angular_core.InputSignal<"left" | "right" | "only">;
|
|
2100
2196
|
ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
@@ -2407,5 +2503,5 @@ declare function loadGoogleFonts(fonts: Array<{
|
|
|
2407
2503
|
display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';
|
|
2408
2504
|
}>): void;
|
|
2409
2505
|
|
|
2410
|
-
export { BadgeComponent, BadgeWrapperComponent, ButtonComponent, ButtonGroupComponent, ButtonToggleGroupComponent, CheckboxComponent, ColorPickerCompactComponent, ColorPickerComponent, DEFAULT_COLOR_PRESETS, DrawerComponent, DrawerService, DropdownComponent, IconComponent, InputComponent, InspectorComponent, MASK_PRESETS, MaskDirective, MaskEngine, MenuComponent, ModalComponent, NavbarComponent, PopoverComponent, RadioButtonComponent, STUDIO_CONFIG, SelectComponent, SidebarComponent, StudioConfigService, SwitchComponent, TabsComponent, TextareaComponent, ThemeSwitchComponent, TooltipComponent, classNames, isSafeUrl, loadGoogleFont, loadGoogleFonts, provideStudioConfig, provideStudioIcons, sanitizeUrl, withConfigDefault };
|
|
2411
|
-
export type { BadgeColor, BadgeDefaultsConfig, BadgeIconPosition, BadgeRadius, BadgeSize, BadgeVariant, BadgeWrapperPosition, BadgeWrapperSize, ButtonDefaultsConfig, ButtonGroupDefaultsConfig, ButtonToggleGroupDefaultsConfig, ButtonToggleGroupOption, ButtonToggleGroupValue, CheckboxColor, CheckboxDefaultsConfig, CheckboxRadius, CheckboxSize, CheckboxVariant, ColorConfig, ColorFormat, ColorPickerDefaultsConfig, ColorPickerSize, ColorPickerVariant, ColorPreset, ColorSwatchGroup, ColorValue, ComponentsConfig, DrawerAnimationEasing, DrawerCloseButtonPosition, DrawerConfig, DrawerDefaultsConfig, DrawerPosition, DrawerRadius, DrawerRole, DrawerShadowSize, DrawerSize, DropdownDefaultsConfig, DropdownItem, DropdownPosition, HSL, InputDefaultsConfig, InputMode, InputType, InspectorComponentSize, InspectorComponentVariant, InspectorData, InspectorGroup, InspectorGroupDivider, InspectorOption, InspectorParameter, InspectorParameterType, InspectorSection, InspectorSpacing, MaskConfig, MaskPreset, MaskResult, MaskToken, MenuColor, MenuExpandEvent, MenuExpandIconPosition, MenuItem, MenuItemBadgeColor, MenuItemClickEvent, MenuItemCommandEvent, MenuItemIconPosition, MenuItemTarget, MenuItemTooltipPosition, MenuMode, MenuOrientation, MenuRadius, MenuSize, MenuSpacing, MenuVariant, ModalAnimation, ModalDefaultsConfig, ModalPosition, ModalSize, ModalVariant, NavbarColor, NavbarShadow, NavbarSize, NavbarVariant, PopoverAnimation, PopoverBoundary, PopoverConfig, PopoverDefaultsConfig, PopoverPosition, PopoverSize, PopoverTrigger, PopoverVariant, PopoverWidth, RGB, RadioButtonColor, RadioButtonDefaultsConfig, RadioButtonRadius, RadioButtonSize, RadioButtonVariant, SelectDefaultsConfig, SelectDisplayContext, SelectOption, SelectOptionGroup, SelectPosition, SelectSize, SelectVariant, SidebarConfig, SidebarDefaultsConfig, SidebarPosition, SidebarSize, SidebarVariant, StudioConfig, StudioThemeConfig, SwitchDefaultsConfig, TabItem, TabsDefaultsConfig, TabsOrientation, TabsSize, TabsVariant, TextareaColor, TextareaDefaultsConfig, TextareaRadius, TextareaSize, TextareaVariant, ThemeMode, TooltipDefaultsConfig };
|
|
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 };
|