@masterteam/components 0.0.100 → 0.0.102
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/assets/common.css +1 -1
- package/fesm2022/masterteam-components-client-page-menu.mjs +5 -3
- package/fesm2022/masterteam-components-client-page-menu.mjs.map +1 -1
- package/fesm2022/masterteam-components-client-page.mjs +116 -12
- package/fesm2022/masterteam-components-client-page.mjs.map +1 -1
- package/fesm2022/masterteam-components-dialog.mjs +4 -1
- package/fesm2022/masterteam-components-dialog.mjs.map +1 -1
- package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +1 -1
- package/fesm2022/masterteam-components-entities.mjs +2 -2
- package/fesm2022/masterteam-components-entities.mjs.map +1 -1
- package/fesm2022/masterteam-components-formula.mjs +1 -1
- package/fesm2022/masterteam-components-formula.mjs.map +1 -1
- package/fesm2022/masterteam-components-modal.mjs +42 -4
- package/fesm2022/masterteam-components-modal.mjs.map +1 -1
- package/fesm2022/masterteam-components-page-header.mjs +2 -2
- package/fesm2022/masterteam-components-page-header.mjs.map +1 -1
- package/fesm2022/masterteam-components-sidebar.mjs +63 -4
- package/fesm2022/masterteam-components-sidebar.mjs.map +1 -1
- package/fesm2022/masterteam-components-table.mjs +2 -2
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-tabs.mjs +3 -3
- package/fesm2022/masterteam-components-tabs.mjs.map +1 -1
- package/fesm2022/masterteam-components-topbar.mjs +50 -4
- package/fesm2022/masterteam-components-topbar.mjs.map +1 -1
- package/fesm2022/masterteam-components-upload-field.mjs +2 -2
- package/fesm2022/masterteam-components-upload-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +6 -0
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +1 -1
- package/types/masterteam-components-client-page-menu.d.ts +3 -1
- package/types/masterteam-components-client-page.d.ts +39 -5
- package/types/masterteam-components-dynamic-drawer.d.ts +4 -1
- package/types/masterteam-components-modal.d.ts +10 -2
- package/types/masterteam-components-sidebar.d.ts +18 -1
- package/types/masterteam-components-topbar.d.ts +17 -1
- package/types/masterteam-components.d.ts +6 -0
|
@@ -3,6 +3,8 @@ import { TemplateRef } from '@angular/core';
|
|
|
3
3
|
import { ClientPageMenuItem } from '@masterteam/components/client-page-menu';
|
|
4
4
|
|
|
5
5
|
declare class ClientPage {
|
|
6
|
+
private readonly document;
|
|
7
|
+
private readonly destroyRef;
|
|
6
8
|
/** Icon for the left sidebar header */
|
|
7
9
|
readonly menuIcon: _angular_core.InputSignal<string | undefined>;
|
|
8
10
|
/** Title for the left sidebar header */
|
|
@@ -11,11 +13,19 @@ declare class ClientPage {
|
|
|
11
13
|
readonly menuItems: _angular_core.InputSignal<ClientPageMenuItem[]>;
|
|
12
14
|
/** Whether menu items are loading */
|
|
13
15
|
readonly menuItemsLoading: _angular_core.InputSignal<boolean>;
|
|
16
|
+
/** Enables responsive mobile stacking behavior */
|
|
17
|
+
readonly responsive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
18
|
+
/** On mobile, choose between a drawer or inline stacked layout */
|
|
19
|
+
readonly mobileBehavior: _angular_core.InputSignal<"drawer" | "stack">;
|
|
20
|
+
/** On mobile, choose whether main content or sidebar is shown first */
|
|
21
|
+
readonly mobileStackOrder: _angular_core.InputSignal<"main-first" | "side-first">;
|
|
22
|
+
/** Breakpoint where mobile stacked mode starts */
|
|
23
|
+
readonly mobileBreakpoint: _angular_core.InputSignal<number>;
|
|
14
24
|
/** Key of the active menu item (defaults to first item) */
|
|
15
25
|
readonly activeItem: _angular_core.InputSignal<string | undefined>;
|
|
16
26
|
/** Whether the sidebar menu is collapsed (two-way bindable) */
|
|
17
27
|
readonly collapsed: _angular_core.ModelSignal<boolean>;
|
|
18
|
-
/** Template projected into the
|
|
28
|
+
/** Template projected into the content header actions area */
|
|
19
29
|
readonly headerEnd: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
20
30
|
/** Emitted when a menu item is clicked */
|
|
21
31
|
readonly menuItemClick: _angular_core.OutputEmitterRef<ClientPageMenuItem>;
|
|
@@ -25,18 +35,42 @@ declare class ClientPage {
|
|
|
25
35
|
readonly selectedItem: _angular_core.Signal<ClientPageMenuItem>;
|
|
26
36
|
/** Whether the initial default selection has been emitted */
|
|
27
37
|
private initialEmitted;
|
|
28
|
-
|
|
38
|
+
/** Whether the mobile drawer menu is open */
|
|
39
|
+
readonly mobileMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
40
|
+
/** Whether the page is currently in RTL mode */
|
|
41
|
+
readonly rtl: _angular_core.WritableSignal<boolean>;
|
|
29
42
|
/** Whether the divider/toggle area is being hovered */
|
|
30
43
|
readonly dividerHovered: _angular_core.WritableSignal<boolean>;
|
|
44
|
+
private readonly viewportWidth;
|
|
45
|
+
/** Whether page is in a responsive mobile state */
|
|
46
|
+
readonly isMobile: _angular_core.Signal<boolean>;
|
|
47
|
+
/** Whether the mobile menu should behave as a drawer */
|
|
48
|
+
readonly isMobileDrawer: _angular_core.Signal<boolean>;
|
|
49
|
+
/** Whether the mobile menu should stack with the content */
|
|
50
|
+
readonly isMobileStack: _angular_core.Signal<boolean>;
|
|
51
|
+
/** Whether the sidebar should remain inline in the layout flow */
|
|
52
|
+
readonly showInlineSidebar: _angular_core.Signal<boolean>;
|
|
53
|
+
/** Whether the desktop sidebar should use a compact rail */
|
|
54
|
+
readonly showCompactSidebar: _angular_core.Signal<boolean>;
|
|
55
|
+
readonly mobileDrawerTransform: _angular_core.Signal<"translateX(0)" | "translateX(100%)" | "translateX(-100%)">;
|
|
56
|
+
constructor();
|
|
31
57
|
/** Sidebar width reacts to collapsed + hover */
|
|
32
|
-
readonly sidebarWidth: _angular_core.Signal<"
|
|
58
|
+
readonly sidebarWidth: _angular_core.Signal<"100%" | "4.75rem" | "4.25rem" | "16.5%" | "16%">;
|
|
59
|
+
readonly sidebarOrder: _angular_core.Signal<1 | 2>;
|
|
60
|
+
readonly contentOrder: _angular_core.Signal<1 | 2>;
|
|
33
61
|
/** Icon for the collapse toggle button */
|
|
34
|
-
readonly toggleIcon: _angular_core.Signal<"arrow.chevron-
|
|
62
|
+
readonly toggleIcon: _angular_core.Signal<"arrow.chevron-left" | "arrow.chevron-right">;
|
|
35
63
|
toggleCollapsed(): void;
|
|
64
|
+
toggleMobileMenu(): void;
|
|
65
|
+
closeMobileMenu(): void;
|
|
36
66
|
selectItem(item: ClientPageMenuItem): void;
|
|
37
67
|
getAvatarStyle(color: string): Record<string, string>;
|
|
68
|
+
onWindowResize(): void;
|
|
69
|
+
onEscapeKey(): void;
|
|
70
|
+
private getViewportWidth;
|
|
71
|
+
private getDirection;
|
|
38
72
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClientPage, never>;
|
|
39
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClientPage, "mt-client-page", never, { "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "menuTitle": { "alias": "menuTitle"; "required": false; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "menuItemsLoading": { "alias": "menuItemsLoading"; "required": false; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "menuItemClick": "menuItemClick"; }, ["headerEnd"], ["*"], true, never>;
|
|
73
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClientPage, "mt-client-page", never, { "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "menuTitle": { "alias": "menuTitle"; "required": false; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "menuItemsLoading": { "alias": "menuItemsLoading"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "mobileBehavior": { "alias": "mobileBehavior"; "required": false; "isSignal": true; }; "mobileStackOrder": { "alias": "mobileStackOrder"; "required": false; "isSignal": true; }; "mobileBreakpoint": { "alias": "mobileBreakpoint"; "required": false; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "menuItemClick": "menuItemClick"; }, ["headerEnd"], ["*"], true, never>;
|
|
40
74
|
}
|
|
41
75
|
|
|
42
76
|
export { ClientPage };
|
|
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { Type, InjectionToken, Injector } from '@angular/core';
|
|
3
3
|
import { DynamicDialogRef } from 'primeng/dynamicdialog';
|
|
4
4
|
|
|
5
|
+
type ResponsiveOverlayPreset = 'drawer-narrow' | 'drawer-default' | 'drawer-wide' | 'dialog-narrow' | 'dialog-default' | 'dialog-wide';
|
|
5
6
|
interface DynamicDrawerConfigInterface {
|
|
6
7
|
header?: string;
|
|
7
8
|
position?: string;
|
|
@@ -14,6 +15,8 @@ interface DynamicDrawerConfigInterface {
|
|
|
14
15
|
appendTo?: any;
|
|
15
16
|
transitionOptions?: string;
|
|
16
17
|
styleClass?: string;
|
|
18
|
+
responsive?: boolean;
|
|
19
|
+
responsivePreset?: ResponsiveOverlayPreset;
|
|
17
20
|
inputValues?: any;
|
|
18
21
|
}
|
|
19
22
|
declare class DrawerService {
|
|
@@ -86,4 +89,4 @@ declare class DynamicDrawerHost {
|
|
|
86
89
|
}
|
|
87
90
|
|
|
88
91
|
export { DrawerController, DrawerService, DynamicDrawerConfig, DynamicDrawerHost };
|
|
89
|
-
export type { DynamicDrawerConfigInterface };
|
|
92
|
+
export type { DynamicDrawerConfigInterface, ResponsiveOverlayPreset };
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { DrawerService, DynamicDrawerConfigInterface } from '@masterteam/components/dynamic-drawer';
|
|
1
|
+
import { DrawerService, DynamicDrawerConfigInterface, ResponsiveOverlayPreset } from '@masterteam/components/dynamic-drawer';
|
|
2
2
|
import { DialogService, DynamicDialogConfig } from '@masterteam/components/dialog';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
|
|
5
|
+
type ResponsiveModalConfig = {
|
|
6
|
+
responsive?: boolean;
|
|
7
|
+
responsivePreset?: ResponsiveOverlayPreset;
|
|
8
|
+
styleClass?: string;
|
|
9
|
+
};
|
|
5
10
|
declare class ModalService {
|
|
6
11
|
readonly drawerService: DrawerService;
|
|
7
12
|
readonly dialogService: DialogService;
|
|
@@ -9,7 +14,10 @@ declare class ModalService {
|
|
|
9
14
|
footerClass: string;
|
|
10
15
|
contentClass: string;
|
|
11
16
|
modalConfig: any;
|
|
12
|
-
openModal(component: any, modalType: 'drawer' | 'dialog', config: DynamicDialogConfig | DynamicDrawerConfigInterface): any;
|
|
17
|
+
openModal(component: any, modalType: 'drawer' | 'dialog', config: (DynamicDialogConfig | DynamicDrawerConfigInterface) & ResponsiveModalConfig): any;
|
|
18
|
+
private normalizeResponsiveConfig;
|
|
19
|
+
private getResponsiveClassName;
|
|
20
|
+
private mergeClassNames;
|
|
13
21
|
handelStartEndPosition(position: string | undefined): string;
|
|
14
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
15
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
|
|
@@ -8,6 +8,8 @@ interface SidebarItem {
|
|
|
8
8
|
routerLink?: any[] | string;
|
|
9
9
|
}
|
|
10
10
|
declare class Sidebar {
|
|
11
|
+
private readonly document;
|
|
12
|
+
private readonly destroyRef;
|
|
11
13
|
items: _angular_core.InputSignal<SidebarItem[]>;
|
|
12
14
|
logo: _angular_core.InputSignal<string | undefined>;
|
|
13
15
|
logoLink: _angular_core.InputSignal<string | any[] | undefined>;
|
|
@@ -17,11 +19,26 @@ declare class Sidebar {
|
|
|
17
19
|
bgImage: _angular_core.InputSignal<string | undefined>;
|
|
18
20
|
bgRepeat: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
21
|
iconsColor: _angular_core.InputSignal<string>;
|
|
22
|
+
mobileBehavior: _angular_core.InputSignal<"overlay" | "inline">;
|
|
23
|
+
mobileBreakpoint: _angular_core.InputSignal<number>;
|
|
24
|
+
mobileOpen: _angular_core.ModelSignal<boolean>;
|
|
20
25
|
expanded: _angular_core.WritableSignal<boolean>;
|
|
21
26
|
expandedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
27
|
+
private readonly viewportWidth;
|
|
28
|
+
readonly isMobile: _angular_core.Signal<boolean>;
|
|
29
|
+
readonly isOverlayMode: _angular_core.Signal<boolean>;
|
|
30
|
+
readonly labelsExpanded: _angular_core.Signal<boolean>;
|
|
31
|
+
readonly rtl: _angular_core.WritableSignal<boolean>;
|
|
32
|
+
readonly overlayTransform: _angular_core.Signal<"translateX(100%)" | "translateX(-100%)" | null>;
|
|
33
|
+
constructor();
|
|
22
34
|
toggleSidebar(): void;
|
|
35
|
+
onItemClick(): void;
|
|
36
|
+
setMobileOpen(open: boolean): void;
|
|
37
|
+
onWindowResize(): void;
|
|
38
|
+
private getViewportWidth;
|
|
39
|
+
private getDirection;
|
|
23
40
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Sidebar, never>;
|
|
24
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sidebar, "mt-sidebar", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "bgImage": { "alias": "bgImage"; "required": false; "isSignal": true; }; "bgRepeat": { "alias": "bgRepeat"; "required": false; "isSignal": true; }; "iconsColor": { "alias": "iconsColor"; "required": false; "isSignal": true; }; }, { "expandedChange": "expandedChange"; }, never, never, true, never>;
|
|
41
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Sidebar, "mt-sidebar", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "bgImage": { "alias": "bgImage"; "required": false; "isSignal": true; }; "bgRepeat": { "alias": "bgRepeat"; "required": false; "isSignal": true; }; "iconsColor": { "alias": "iconsColor"; "required": false; "isSignal": true; }; "mobileBehavior": { "alias": "mobileBehavior"; "required": false; "isSignal": true; }; "mobileBreakpoint": { "alias": "mobileBreakpoint"; "required": false; "isSignal": true; }; "mobileOpen": { "alias": "mobileOpen"; "required": false; "isSignal": true; }; }, { "mobileOpen": "mobileOpenChange"; "expandedChange": "expandedChange"; }, never, never, true, never>;
|
|
25
42
|
}
|
|
26
43
|
|
|
27
44
|
export { Sidebar };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
|
|
3
3
|
declare class Topbar {
|
|
4
|
+
private readonly document;
|
|
5
|
+
private readonly destroyRef;
|
|
4
6
|
logo: _angular_core.InputSignal<string | undefined>;
|
|
5
7
|
logoLink: _angular_core.InputSignal<string | any[] | undefined>;
|
|
6
8
|
bgColor: _angular_core.InputSignal<string>;
|
|
@@ -10,8 +12,22 @@ declare class Topbar {
|
|
|
10
12
|
title: _angular_core.InputSignal<string | undefined>;
|
|
11
13
|
subTitle: _angular_core.InputSignal<string | undefined>;
|
|
12
14
|
showBranding: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
15
|
+
responsive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
16
|
+
showMenuButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
17
|
+
collapseActionsOnMobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
18
|
+
menuClick: _angular_core.OutputEmitterRef<void>;
|
|
19
|
+
private readonly viewportWidth;
|
|
20
|
+
private readonly mobileBreakpoint;
|
|
21
|
+
readonly rtl: _angular_core.WritableSignal<boolean>;
|
|
22
|
+
readonly isMobile: _angular_core.Signal<boolean>;
|
|
23
|
+
readonly showActions: _angular_core.Signal<boolean>;
|
|
24
|
+
constructor();
|
|
25
|
+
onMenuClick(): void;
|
|
26
|
+
onWindowResize(): void;
|
|
27
|
+
private getViewportWidth;
|
|
28
|
+
private getDirection;
|
|
13
29
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Topbar, never>;
|
|
14
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Topbar, "mt-topbar", never, { "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "bgImage": { "alias": "bgImage"; "required": false; "isSignal": true; }; "bgRepeat": { "alias": "bgRepeat"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "showBranding": { "alias": "showBranding"; "required": false; "isSignal": true; }; }, {}, never, ["[start]", "[actions]"], true, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Topbar, "mt-topbar", never, { "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "logoLink": { "alias": "logoLink"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "bgImage": { "alias": "bgImage"; "required": false; "isSignal": true; }; "bgRepeat": { "alias": "bgRepeat"; "required": false; "isSignal": true; }; "textColor": { "alias": "textColor"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "showBranding": { "alias": "showBranding"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "showMenuButton": { "alias": "showMenuButton"; "required": false; "isSignal": true; }; "collapseActionsOnMobile": { "alias": "collapseActionsOnMobile"; "required": false; "isSignal": true; }; }, { "menuClick": "menuClick"; }, never, ["[start]", "[actions]"], true, never>;
|
|
15
31
|
}
|
|
16
32
|
|
|
17
33
|
export { Topbar };
|
|
@@ -134,6 +134,9 @@ declare class SelectFieldConfig extends BaseFieldConfig {
|
|
|
134
134
|
options: any[];
|
|
135
135
|
optionLabel: string;
|
|
136
136
|
optionValue: string;
|
|
137
|
+
group: boolean;
|
|
138
|
+
optionGroupLabel: string;
|
|
139
|
+
optionGroupChildren: string;
|
|
137
140
|
multiple: boolean;
|
|
138
141
|
filter: boolean;
|
|
139
142
|
filterBy: string;
|
|
@@ -146,6 +149,9 @@ declare class SelectFieldConfig extends BaseFieldConfig {
|
|
|
146
149
|
options: any[];
|
|
147
150
|
optionLabel?: string;
|
|
148
151
|
optionValue?: string;
|
|
152
|
+
group?: boolean;
|
|
153
|
+
optionGroupLabel?: string;
|
|
154
|
+
optionGroupChildren?: string;
|
|
149
155
|
multiple?: boolean;
|
|
150
156
|
filter?: boolean;
|
|
151
157
|
filterBy?: string;
|