@mediusinc/mng-commons 3.6.0-rc.0 → 3.6.0-rc.1

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.
Files changed (210) hide show
  1. package/assets/fonts/poppins-v20-latin-500.woff +0 -0
  2. package/assets/fonts/poppins-v20-latin-500.woff2 +0 -0
  3. package/assets/fonts/poppins-v20-latin-600.woff +0 -0
  4. package/assets/fonts/poppins-v20-latin-600.woff2 +0 -0
  5. package/assets/fonts/poppins-v20-latin-700.woff +0 -0
  6. package/assets/fonts/poppins-v20-latin-700.woff2 +0 -0
  7. package/assets/fonts/poppins-v20-latin-regular.woff +0 -0
  8. package/assets/fonts/poppins-v20-latin-regular.woff2 +0 -0
  9. package/esm2022/lib/components/action/action.component.mjs +3 -3
  10. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +5 -5
  11. package/esm2022/lib/components/form/date-range/date-range.component.mjs +11 -6
  12. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +2 -2
  13. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +2 -2
  14. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +2 -2
  15. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +2 -2
  16. package/esm2022/lib/components/layout/topbar.component.mjs +2 -2
  17. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +30 -0
  18. package/esm2022/lib/components/layoutV2/footer.component.mjs +19 -0
  19. package/esm2022/lib/components/layoutV2/index.mjs +8 -0
  20. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +89 -0
  21. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +229 -0
  22. package/esm2022/lib/components/layoutV2/menu.component.mjs +31 -0
  23. package/esm2022/lib/components/layoutV2/model/index.mjs +3 -0
  24. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +2 -0
  25. package/esm2022/lib/components/layoutV2/model/menu.model.mjs +2 -0
  26. package/esm2022/lib/components/layoutV2/services/index.mjs +3 -0
  27. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +53 -0
  28. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +122 -0
  29. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +54 -0
  30. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +40 -0
  31. package/esm2022/lib/components/layoutV2/topbar.component.mjs +75 -0
  32. package/esm2022/lib/components/layoutV2/version.component.mjs +63 -0
  33. package/esm2022/lib/components/pages/error/error.page.component.mjs +3 -3
  34. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +3 -3
  35. package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +2 -2
  36. package/esm2022/lib/components/tableview/table/column-filter-full/column-filter-full.component.mjs +2 -2
  37. package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +2 -2
  38. package/esm2022/lib/components/tableview/table/table.component.mjs +3 -3
  39. package/esm2022/lib/models/config.model.mjs +1 -1
  40. package/esm2022/lib/models/index.mjs +2 -1
  41. package/esm2022/lib/models/menu-config.model.mjs +2 -0
  42. package/esm2022/lib/models/menu.model.mjs +1 -1
  43. package/esm2022/lib/router/route-builder.mjs +14 -2
  44. package/esm2022/lib/router/routes-builder.mjs +9 -1
  45. package/esm2022/lib/services/action-executor.service.mjs +3 -4
  46. package/esm2022/lib/utils/route.util.mjs +25 -1
  47. package/fesm2022/mediusinc-mng-commons.mjs +831 -88
  48. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  49. package/lib/components/form/autocomplete/autocomplete.component.d.ts +4 -3
  50. package/lib/components/form/date-range/date-range.component.d.ts +2 -1
  51. package/lib/components/layoutV2/breadcrumb.component.d.ts +10 -0
  52. package/lib/components/layoutV2/footer.component.d.ts +8 -0
  53. package/lib/components/layoutV2/index.d.ts +7 -0
  54. package/lib/components/layoutV2/main-layout.component.d.ts +23 -0
  55. package/lib/components/layoutV2/menu-item.component.d.ts +38 -0
  56. package/lib/components/layoutV2/menu.component.d.ts +12 -0
  57. package/lib/components/layoutV2/model/index.d.ts +2 -0
  58. package/lib/components/layoutV2/model/layout-state.model.d.ts +11 -0
  59. package/lib/components/layoutV2/model/menu.model.d.ts +4 -0
  60. package/lib/components/layoutV2/services/index.d.ts +2 -0
  61. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +14 -0
  62. package/lib/components/layoutV2/services/menu.service.d.ts +22 -0
  63. package/lib/components/layoutV2/sidebar.component.d.ts +19 -0
  64. package/lib/components/layoutV2/topbar-user.component.d.ts +16 -0
  65. package/lib/components/layoutV2/topbar.component.d.ts +23 -0
  66. package/lib/components/layoutV2/version.component.d.ts +19 -0
  67. package/lib/models/config.model.d.ts +9 -8
  68. package/lib/models/index.d.ts +1 -0
  69. package/lib/models/menu-config.model.d.ts +15 -0
  70. package/lib/models/menu.model.d.ts +2 -0
  71. package/lib/router/route-builder.d.ts +6 -1
  72. package/lib/router/routes-builder.d.ts +5 -0
  73. package/lib/utils/route.util.d.ts +19 -30
  74. package/package.json +2 -2
  75. package/scss/common/layout/_breadcrumb.scss +0 -1
  76. package/scss/mng-commons-dark-v2.scss +9 -0
  77. package/scss/mng-commons-light-v2.scss +9 -0
  78. package/scss/v2/layout/_animation.scss +53 -0
  79. package/scss/v2/layout/_breadcrumb.scss +97 -0
  80. package/scss/v2/layout/_config.scss +42 -0
  81. package/scss/v2/layout/_content.scss +3 -0
  82. package/scss/v2/layout/_fonts.scss +32 -0
  83. package/scss/v2/layout/_layout_dark.scss +12 -0
  84. package/scss/v2/layout/_layout_light.scss +12 -0
  85. package/scss/v2/layout/_main.scss +54 -0
  86. package/scss/v2/layout/_profile.scss +10 -0
  87. package/scss/v2/layout/_responsive.scss +131 -0
  88. package/scss/v2/layout/_sidebar_drawer.scss +283 -0
  89. package/scss/v2/layout/_sidebar_horizontal.scss +168 -0
  90. package/scss/v2/layout/_sidebar_reveal.scss +201 -0
  91. package/scss/v2/layout/_sidebar_slim.scss +157 -0
  92. package/scss/v2/layout/_sidebar_slim_plus.scss +167 -0
  93. package/scss/v2/layout/_sidebar_vertical.scss +176 -0
  94. package/scss/v2/layout/_topbar.scss +174 -0
  95. package/scss/v2/layout/_typography.scss +62 -0
  96. package/scss/v2/layout/_utils.scss +33 -0
  97. package/scss/v2/layout/layout.scss +24 -0
  98. package/scss/v2/layout/mng/_mng_layout_footer.scss +33 -0
  99. package/scss/v2/layout/mng/_mng_layout_menu.scss +10 -0
  100. package/scss/v2/layout/mng/_mng_layout_styles.scss +3 -0
  101. package/scss/v2/layout/mng/_mng_layout_topbar.scss +16 -0
  102. package/scss/v2/layout/preloading.scss +84 -0
  103. package/scss/v2/theme/theme-base/_colors.scss +18 -0
  104. package/scss/v2/theme/theme-base/_common.scss +73 -0
  105. package/scss/v2/theme/theme-base/_components.scss +106 -0
  106. package/scss/v2/theme/theme-base/_mixins.scss +203 -0
  107. package/scss/v2/theme/theme-base/components/button/_button.scss +564 -0
  108. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +86 -0
  109. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +381 -0
  110. package/scss/v2/theme/theme-base/components/data/_carousel.scss +37 -0
  111. package/scss/v2/theme/theme-base/components/data/_datatable.scss +338 -0
  112. package/scss/v2/theme/theme-base/components/data/_dataview.scss +55 -0
  113. package/scss/v2/theme/theme-base/components/data/_filter.scss +138 -0
  114. package/scss/v2/theme/theme-base/components/data/_fullcalendar.scss +329 -0
  115. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +103 -0
  116. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +50 -0
  117. package/scss/v2/theme/theme-base/components/data/_paginator.scss +92 -0
  118. package/scss/v2/theme/theme-base/components/data/_picklist.scss +103 -0
  119. package/scss/v2/theme/theme-base/components/data/_timeline.scss +38 -0
  120. package/scss/v2/theme/theme-base/components/data/_tree.scss +149 -0
  121. package/scss/v2/theme/theme-base/components/data/_treetable.scss +256 -0
  122. package/scss/v2/theme/theme-base/components/data/_virtualscroller.scss +28 -0
  123. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +58 -0
  124. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +117 -0
  125. package/scss/v2/theme/theme-base/components/input/_calendar.scss +263 -0
  126. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +130 -0
  127. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +90 -0
  128. package/scss/v2/theme/theme-base/components/input/_chips.scss +54 -0
  129. package/scss/v2/theme/theme-base/components/input/_colorpicker.scss +19 -0
  130. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +135 -0
  131. package/scss/v2/theme/theme-base/components/input/_editor.scss +122 -0
  132. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +75 -0
  133. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +16 -0
  134. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +28 -0
  135. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +60 -0
  136. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +99 -0
  137. package/scss/v2/theme/theme-base/components/input/_listbox.scss +82 -0
  138. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +173 -0
  139. package/scss/v2/theme/theme-base/components/input/_password.scss +52 -0
  140. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +78 -0
  141. package/scss/v2/theme/theme-base/components/input/_rating.scss +55 -0
  142. package/scss/v2/theme/theme-base/components/input/_selectbutton.scss +50 -0
  143. package/scss/v2/theme/theme-base/components/input/_slider.scss +71 -0
  144. package/scss/v2/theme/theme-base/components/input/_togglebutton.scss +48 -0
  145. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +139 -0
  146. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +42 -0
  147. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +61 -0
  148. package/scss/v2/theme/theme-base/components/menu/_dock.scss +86 -0
  149. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +106 -0
  150. package/scss/v2/theme/theme-base/components/menu/_menu.scss +45 -0
  151. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +188 -0
  152. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +140 -0
  153. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +64 -0
  154. package/scss/v2/theme/theme-base/components/menu/_steps.scss +56 -0
  155. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +74 -0
  156. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +65 -0
  157. package/scss/v2/theme/theme-base/components/messages/_inlinemessage.scss +69 -0
  158. package/scss/v2/theme/theme-base/components/messages/_message.scss +107 -0
  159. package/scss/v2/theme/theme-base/components/messages/_toast.scss +100 -0
  160. package/scss/v2/theme/theme-base/components/misc/_avatar.scss +30 -0
  161. package/scss/v2/theme/theme-base/components/misc/_badge.scss +48 -0
  162. package/scss/v2/theme/theme-base/components/misc/_blockui.scss +0 -0
  163. package/scss/v2/theme/theme-base/components/misc/_chip.scss +38 -0
  164. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +17 -0
  165. package/scss/v2/theme/theme-base/components/misc/_progressbar.scss +17 -0
  166. package/scss/v2/theme/theme-base/components/misc/_scrolltop.scss +25 -0
  167. package/scss/v2/theme/theme-base/components/misc/_skeleton.scss +8 -0
  168. package/scss/v2/theme/theme-base/components/misc/_tag.scss +40 -0
  169. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +11 -0
  170. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +149 -0
  171. package/scss/v2/theme/theme-base/components/multimedia/_image.scss +49 -0
  172. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +72 -0
  173. package/scss/v2/theme/theme-base/components/overlay/_dialog.scss +69 -0
  174. package/scss/v2/theme/theme-base/components/overlay/_overlaypanel.scss +64 -0
  175. package/scss/v2/theme/theme-base/components/overlay/_sidebar.scss +27 -0
  176. package/scss/v2/theme/theme-base/components/overlay/_tooltip.scss +33 -0
  177. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +119 -0
  178. package/scss/v2/theme/theme-base/components/panel/_card.scss +30 -0
  179. package/scss/v2/theme/theme-base/components/panel/_divider.scss +31 -0
  180. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +47 -0
  181. package/scss/v2/theme/theme-base/components/panel/_panel.scss +58 -0
  182. package/scss/v2/theme/theme-base/components/panel/_scrollpanel.scss +6 -0
  183. package/scss/v2/theme/theme-base/components/panel/_splitter.scss +19 -0
  184. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +78 -0
  185. package/scss/v2/theme/theme-base/components/panel/_toolbar.scss +11 -0
  186. package/scss/v2/theme/theme-base/mng/_mng_mixins.scss +69 -0
  187. package/scss/v2/theme/theme-base/mng/_mng_theme_autocomplete.scss +34 -0
  188. package/scss/v2/theme/theme-base/mng/_mng_theme_button.scss +68 -0
  189. package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +146 -0
  190. package/scss/v2/theme/theme-base/mng/_mng_theme_datepicker.scss +21 -0
  191. package/scss/v2/theme/theme-base/mng/_mng_theme_dialog.scss +206 -0
  192. package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +22 -0
  193. package/scss/v2/theme/theme-base/mng/_mng_theme_fileupload.scss +24 -0
  194. package/scss/v2/theme/theme-base/mng/_mng_theme_forms.scss +66 -0
  195. package/scss/v2/theme/theme-base/mng/_mng_theme_image.scss +27 -0
  196. package/scss/v2/theme/theme-base/mng/_mng_theme_input.scss +31 -0
  197. package/scss/v2/theme/theme-base/mng/_mng_theme_menu.scss +5 -0
  198. package/scss/v2/theme/theme-base/mng/_mng_theme_multiselect.scss +20 -0
  199. package/scss/v2/theme/theme-base/mng/_mng_theme_styles.scss +17 -0
  200. package/scss/v2/theme/theme-base/mng/_mng_theme_tableview.scss +97 -0
  201. package/scss/v2/theme/theme-base/mng/_mng_theme_tabview.scss +11 -0
  202. package/scss/v2/theme/theme-base/mng/_mng_theme_toast.scss +3 -0
  203. package/scss/v2/theme/theme-base/mng/_mng_theme_toolbar.scss +5 -0
  204. package/scss/v2/theme/theme-base/mng/_mng_variables.scss +15 -0
  205. package/scss/v2/theme/theme-dark/_extensions.scss +100 -0
  206. package/scss/v2/theme/theme-dark/_variables.scss +937 -0
  207. package/scss/v2/theme/theme-dark/blue/theme.scss +13 -0
  208. package/scss/v2/theme/theme-light/_extensions.scss +100 -0
  209. package/scss/v2/theme/theme-light/_variables.scss +937 -0
  210. package/scss/v2/theme/theme-light/blue/theme.scss +13 -0
@@ -2,6 +2,7 @@ import { EventEmitter, ExistingProvider, Injector, OnDestroy, OnInit } from '@an
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { AutoComplete } from 'primeng/autocomplete';
5
+ import { AutoCompleteCompleteEvent, AutoCompleteOnSelectEvent } from 'primeng/autocomplete/autocomplete.interface';
5
6
  import { Observable, ReplaySubject, Subscription } from 'rxjs';
6
7
  import { ILookupDataProvider } from '../../../data-providers';
7
8
  import { MngFormlyFieldWrapperComponent } from '../formly/wrappers';
@@ -46,12 +47,12 @@ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, Cont
46
47
  constructor(injector: Injector, translate: TranslateService, formlyWrapper: MngFormlyFieldWrapperComponent);
47
48
  ngOnInit(): void;
48
49
  ngOnDestroy(): void;
49
- onSearch(event: any, isInit?: boolean): void;
50
+ onSearch(event: AutoCompleteCompleteEvent, isInit?: boolean): void;
50
51
  private selectFirstItem;
51
52
  /**
52
53
  * Triggered by user when selecting an item from an autocomplete suggestion list.
53
54
  */
54
- onSelect(value: any): void;
55
+ onSelect(event: AutoCompleteOnSelectEvent): void;
55
56
  /**
56
57
  * Selects and sets new value
57
58
  */
@@ -60,7 +61,7 @@ export declare class MngAutocompleteComponent implements OnInit, OnDestroy, Cont
60
61
  /**
61
62
  * calls the selectFirst item anytime the input field goes out of focus and if the suggestions panel is not displayed.
62
63
  */
63
- onBlur(event: any): void;
64
+ onBlur(event: Event): void;
64
65
  onShow(): void;
65
66
  /**
66
67
  * calls the selectFirst item anytime the suggestions panel is closed and input field isn't focused.
@@ -8,7 +8,7 @@ export declare class MngDateRangeComponent implements OnInit, OnDestroy, Control
8
8
  showTime: boolean;
9
9
  showSeconds: boolean;
10
10
  dateFormat?: string;
11
- disabled: boolean;
11
+ private _disabled;
12
12
  private fromToFormControl;
13
13
  private onChangeFn;
14
14
  onTouchedFn: any;
@@ -17,6 +17,7 @@ export declare class MngDateRangeComponent implements OnInit, OnDestroy, Control
17
17
  get fromCtrl(): FormControl<any>;
18
18
  get toCtrl(): FormControl<any>;
19
19
  get dateRangeCtrl(): FormControl<any>;
20
+ set disabled(isDisabled: boolean);
20
21
  ngOnInit(): void;
21
22
  ngOnDestroy(): void;
22
23
  registerOnChange(fn: any): void;
@@ -0,0 +1,10 @@
1
+ import { MenuItem } from 'primeng/api';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MngBreadcrumbComponent {
5
+ private mngCommons;
6
+ mappedBreadcrumbs$: Observable<MenuItem[]>;
7
+ private mapMngMenuItem;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngBreadcrumbComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngBreadcrumbComponent, "mng-breadcrumb-v2", never, {}, {}, never, never, true, never>;
10
+ }
@@ -0,0 +1,8 @@
1
+ import { MngCommonsService } from '../../services';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MngFooterComponent {
4
+ mngCommons: MngCommonsService;
5
+ currentYear: number;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngFooterComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngFooterComponent, "mng-footer-v2", never, {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,7 @@
1
+ export * from './main-layout.component';
2
+ export * from './breadcrumb.component';
3
+ export * from './menu.component';
4
+ export * from './menu-item.component';
5
+ export * from './sidebar.component';
6
+ export * from './topbar.component';
7
+ export * from './topbar-user.component';
@@ -0,0 +1,23 @@
1
+ import { ElementRef, OnDestroy, OnInit, Type } from '@angular/core';
2
+ import { MngModuleConfig } from '../../models';
3
+ import { MngMainLayoutComponentV2Service } from './services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MngMainLayoutV2Component implements OnInit, OnDestroy {
6
+ readonly config: MngModuleConfig;
7
+ readonly layoutService: MngMainLayoutComponentV2Service;
8
+ private readonly menuService;
9
+ private readonly renderer;
10
+ appTopbar?: ElementRef;
11
+ private menuOutsideClickListener;
12
+ topbarComponent: Type<any>;
13
+ breadcrumbsComponent: Type<any>;
14
+ footerComponent: Type<any>;
15
+ constructor();
16
+ ngOnInit(): void;
17
+ blockBodyScroll(): void;
18
+ unblockBodyScroll(): void;
19
+ hideMenu(): void;
20
+ ngOnDestroy(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngMainLayoutV2Component, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngMainLayoutV2Component, "mng-main-layout-v2", never, {}, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,38 @@
1
+ import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { MngMenuItem } from '../../models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MngMenuItemComponent implements OnInit, OnDestroy {
5
+ private readonly router;
6
+ private readonly injector;
7
+ private readonly destroyRef;
8
+ private readonly route;
9
+ private readonly menuService;
10
+ private readonly authorization;
11
+ private readonly layoutService;
12
+ private isPermittedSubject;
13
+ private isPermitted$;
14
+ private guardsIsAllowedSubject;
15
+ private guardsIsAllowed$;
16
+ private childrenVisibilitySubject;
17
+ private itemUrl?;
18
+ private routerEventsSubscription?;
19
+ private guardsIsAllowedSubscription?;
20
+ item: MngMenuItem;
21
+ root: boolean;
22
+ visibleChangeEventEmitter: EventEmitter<boolean>;
23
+ submenu: ElementRef;
24
+ active: import("@angular/core").WritableSignal<boolean>;
25
+ visible: import("@angular/core").WritableSignal<boolean>;
26
+ constructor();
27
+ ngOnInit(): void;
28
+ ngOnDestroy(): void;
29
+ get submenuAnimation(): "collapsed" | "expanded";
30
+ get activeClass(): boolean;
31
+ itemClick(event: Event): void;
32
+ onChildVisibleChange(visible: boolean, item: MngMenuItem, idx: number): void;
33
+ private checkIfMenuItemIsAllowedFromGuard;
34
+ private updateActiveStateFromRoute;
35
+ private processItemChildrenVisibility;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngMenuItemComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngMenuItemComponent, "[mng-menuitem-v2]", never, { "item": { "alias": "item"; "required": true; }; "root": { "alias": "root"; "required": false; }; }, { "visibleChangeEventEmitter": "visibleChange"; }, never, never, true, never>;
38
+ }
@@ -0,0 +1,12 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { MngMenuItem } from '../../models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MngMenuComponent implements OnInit {
5
+ private readonly route;
6
+ private readonly menuService;
7
+ private readonly mngCommons;
8
+ menuItems: Array<MngMenuItem>;
9
+ ngOnInit(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngMenuComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngMenuComponent, "mng-menu-v2", never, {}, {}, never, never, true, never>;
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './menu.model';
2
+ export * from './layout-state.model';
@@ -0,0 +1,11 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ export interface LayoutState {
3
+ staticMenuDesktopInactive$: BehaviorSubject<boolean>;
4
+ overlayMenuActive$: BehaviorSubject<boolean>;
5
+ rightMenuActive$: BehaviorSubject<boolean>;
6
+ configSidebarVisible$: BehaviorSubject<boolean>;
7
+ staticMenuMobileActive$: BehaviorSubject<boolean>;
8
+ menuHoverActive$: BehaviorSubject<boolean>;
9
+ sidebarActive$: BehaviorSubject<boolean>;
10
+ anchored$: BehaviorSubject<boolean>;
11
+ }
@@ -0,0 +1,4 @@
1
+ export interface MenuChangeEvent {
2
+ key: string;
3
+ routeEvent?: boolean;
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from './main-layout.component.service';
2
+ export * from './menu.service';
@@ -0,0 +1,14 @@
1
+ import { LayoutState } from '../model';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MngMainLayoutComponentV2Service {
4
+ private config;
5
+ state: LayoutState;
6
+ private overlayOpen;
7
+ overlayOpen$: import("rxjs").Observable<any>;
8
+ onMenuToggle(): void;
9
+ isOverlay(): boolean;
10
+ isDesktop(): boolean;
11
+ isMobile(): boolean;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngMainLayoutComponentV2Service, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<MngMainLayoutComponentV2Service>;
14
+ }
@@ -0,0 +1,22 @@
1
+ import { MngMenuItem } from '../../../models';
2
+ import { MenuChangeEvent } from '../model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MenuService {
5
+ private readonly logger;
6
+ private readonly router;
7
+ private readonly mngRouter;
8
+ private readonly menuSource;
9
+ private readonly resetSource;
10
+ menuSource$: import("rxjs").Observable<MenuChangeEvent>;
11
+ resetSource$: import("rxjs").Observable<unknown>;
12
+ private menuItems;
13
+ private routeLoadedChildrenSubscriptions;
14
+ initialize(menuItems: Array<MngMenuItem>): void;
15
+ private generateMenuItemKeys;
16
+ private findAndSetActiveMenuItem;
17
+ private listenToMenuItemLazyChildrenLoad;
18
+ private findActiveRouteMatches;
19
+ reset(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuService>;
22
+ }
@@ -0,0 +1,19 @@
1
+ import { ElementRef, OnInit, Type } from '@angular/core';
2
+ import { MngCommonsService } from '../../services';
3
+ import { MngMainLayoutComponentV2Service } from './services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MngSidebarComponent implements OnInit {
6
+ private config;
7
+ mngCommons: MngCommonsService;
8
+ layoutService: MngMainLayoutComponentV2Service;
9
+ el: ElementRef<any>;
10
+ timeout: any;
11
+ menuContainer: ElementRef;
12
+ menuComponent: Type<any>;
13
+ ngOnInit(): void;
14
+ onMouseEnter(): void;
15
+ onMouseLeave(): void;
16
+ anchor(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngSidebarComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngSidebarComponent, "mng-sidebar-v2", never, {}, {}, never, never, true, never>;
19
+ }
@@ -0,0 +1,16 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { IUser } from '../../models';
4
+ import { MngCommonsService } from '../../services';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MngTopbarUserComponent implements OnInit {
7
+ private readonly destroyRef;
8
+ mngCommons: MngCommonsService;
9
+ user?: IUser;
10
+ userRoles$: Observable<string[]>;
11
+ hrefJsVoid: import("@angular/platform-browser").SafeUrl;
12
+ ngOnInit(): void;
13
+ logout(user: IUser | undefined, event: Event): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngTopbarUserComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngTopbarUserComponent, "mng-topbar-user-component-v2", never, {}, {}, never, never, true, never>;
16
+ }
@@ -0,0 +1,23 @@
1
+ import { ElementRef, OnInit, Type } from '@angular/core';
2
+ import { MngCommonsService } from '../../services';
3
+ import { MngMainLayoutComponentV2Service } from './services';
4
+ import { MngSidebarComponent } from './sidebar.component';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MngTopbarComponent implements OnInit {
7
+ el: ElementRef<any>;
8
+ mngCommons: MngCommonsService;
9
+ mainLayoutService: MngMainLayoutComponentV2Service;
10
+ private config;
11
+ menuButton: ElementRef;
12
+ topbarInjectionRef: ElementRef;
13
+ appSidebar: MngSidebarComponent;
14
+ breadcrumbComponent: Type<any>;
15
+ topbarUserComponent: Type<any>;
16
+ languages: Array<string>;
17
+ selectedLanguage: string;
18
+ ngOnInit(): void;
19
+ onMenuButtonClick(): void;
20
+ switchLanguage(language: string): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngTopbarComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngTopbarComponent, "mng-topbar-v2", never, {}, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,19 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { VersionConfig, VersionConfigType } from '../../models';
3
+ import { JsonPathPipe } from '../../pipes';
4
+ import { MngVersionService } from '../../services';
5
+ import * as i0 from "@angular/core";
6
+ export declare class MngVersionComponent implements OnInit {
7
+ private versionService;
8
+ private jsonPathPipe;
9
+ initVersion?: VersionConfigType;
10
+ displayName?: string;
11
+ displayVersion?: string;
12
+ versions?: Array<VersionConfig>;
13
+ private loadingSubject;
14
+ loading$: import("rxjs").Observable<boolean>;
15
+ constructor(versionService: MngVersionService, jsonPathPipe: JsonPathPipe);
16
+ ngOnInit(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<MngVersionComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<MngVersionComponent, "mng-version-v2", never, { "initVersion": { "alias": "version"; "required": false; }; }, {}, never, never, true, never>;
19
+ }
@@ -1,10 +1,11 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { ValidatorOption, WrapperOption } from '@ngx-formly/core/lib/models/config';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
- import { MenuItem } from 'primeng/api';
5
4
  import { MngFormlyTypeConfig } from '../components/form/formly/models';
6
5
  import { MngLogConfig } from './log.model';
6
+ import { MngMenuConfig, MngMenuConfigV2 } from './menu-config.model';
7
7
  import { VersionConfigType } from './version.model';
8
+ export type ColorScheme = 'light' | 'dark';
8
9
  export interface MngModuleConfig {
9
10
  app?: {
10
11
  name?: string;
@@ -17,15 +18,15 @@ export interface MngModuleConfig {
17
18
  logoNamePathDark?: string;
18
19
  languages?: string[];
19
20
  dataLanguages?: string[];
20
- colorScheme?: 'light' | 'dark';
21
+ colorScheme: ColorScheme;
21
22
  version?: VersionConfigType;
23
+ theme?: string;
22
24
  };
23
- menu?: {
24
- mode?: 'static' | 'sidebar' | 'slim' | 'overlay';
25
- menuItems?: MenuItem[];
26
- pinEnabled?: boolean;
27
- sidebarSlim?: boolean;
28
- };
25
+ /**
26
+ * @deprecated use menuV2 instead
27
+ */
28
+ menu?: MngMenuConfig;
29
+ menuV2?: MngMenuConfigV2;
29
30
  configuration?: {
30
31
  projectEnvironment?: any;
31
32
  jsonSource?: string | Array<string>;
@@ -11,3 +11,4 @@ export * from './tableview-attr.model';
11
11
  export * from './can-component-deactivate.model';
12
12
  export * from './action-editor.model';
13
13
  export * from './common-init-event-enum.model';
14
+ export * from './menu-config.model';
@@ -0,0 +1,15 @@
1
+ import { MenuItem } from 'primeng/api';
2
+ export type MngMenuMode = 'static' | 'overlay' | 'reveal' | 'drawer';
3
+ /**
4
+ * @deprecated use MngMenuConfigV2 instead
5
+ */
6
+ export interface MngMenuConfig {
7
+ mode: 'static' | 'sidebar' | 'slim' | 'overlay';
8
+ menuItems?: MenuItem[];
9
+ pinEnabled?: boolean;
10
+ sidebarSlim?: boolean;
11
+ }
12
+ export interface MngMenuConfigV2 {
13
+ mode: MngMenuMode;
14
+ ripple?: boolean;
15
+ }
@@ -1,6 +1,8 @@
1
1
  import { QueryParamsHandling } from '@angular/router';
2
2
  import { APermissions } from '../security/model';
3
3
  export interface MngMenuItem {
4
+ index?: number;
5
+ key?: string;
4
6
  id?: string;
5
7
  positionIndex?: number;
6
8
  label?: string;
@@ -2,6 +2,7 @@ import { EnvironmentProviders, Provider, Type } from '@angular/core';
2
2
  import { CanActivateFn, CanDeactivateFn, DefaultExport, LoadChildren, ResolveFn, Route } from '@angular/router';
3
3
  import { Observable } from 'rxjs';
4
4
  import { MngMainLayoutComponent } from '../components/layout';
5
+ import { MngMainLayoutV2Component } from '../components/layoutV2';
5
6
  import { MngMenuItem } from '../models';
6
7
  import { APermissions } from '../security/model';
7
8
  import { BreadcrumbType, MngRouterData } from './models';
@@ -26,7 +27,11 @@ export declare class RouteBuilder {
26
27
  static createLazyRouteModule(path: string, loadChildren: LoadChildren, canMatch?: Array<any>): RouteBuilder;
27
28
  static createLazyRouteComponent(path: string, loadComponent: () => Type<unknown> | Observable<Type<unknown> | DefaultExport<Type<unknown>>> | Promise<Type<unknown> | DefaultExport<Type<unknown>>>, canMatch?: Array<any>): RouteBuilder;
28
29
  static createFromRoute(route: Route): RouteBuilder;
30
+ /**
31
+ * @deprecated use createLayoutRouteV2() instead
32
+ */
29
33
  static createLayoutRoute(path: string, layoutComponent?: typeof MngMainLayoutComponent): RouteBuilder;
34
+ static createLayoutRouteV2(path: string, layoutComponent?: typeof MngMainLayoutV2Component): RouteBuilder;
30
35
  withRoot(routesBuilder: RoutesBuilder): this;
31
36
  withParent(parent: RouteBuilder): this;
32
37
  withBreadcrumb(breadcrumb: BreadcrumbType): this;
@@ -40,7 +45,7 @@ export declare class RouteBuilder {
40
45
  withProvider(provider: Provider | EnvironmentProviders): this;
41
46
  withData(data: MngRouterData): this;
42
47
  withMngMenuItem(menuItem: MngMenuItem): this;
43
- withMenuItem(icon?: string, label?: string, routerLink?: Array<string>): this;
48
+ withMenuItem(icon?: string, label?: string, routerLink?: Array<string>, breadcrumb?: boolean): this;
44
49
  /**
45
50
  * Adds menu item child to this instance of menu item.
46
51
  * @param label Label.
@@ -2,6 +2,7 @@ import { Type } from '@angular/core';
2
2
  import { DefaultExport, LoadChildren, Route, Routes } from '@angular/router';
3
3
  import { Observable } from 'rxjs';
4
4
  import { MngMainLayoutComponent } from '../components/layout';
5
+ import { MngMainLayoutV2Component } from '../components/layoutV2';
5
6
  import { RouteBuilder } from './route-builder';
6
7
  import { TableviewRouteBuilderInternal } from './tableview-route-builder';
7
8
  export declare class RoutesBuilder {
@@ -10,7 +11,11 @@ export declare class RoutesBuilder {
10
11
  private currentRoute?;
11
12
  private constructor();
12
13
  static create(): RoutesBuilder;
14
+ /**
15
+ * @deprecated use createWithLayoutV2() instead
16
+ */
13
17
  static createWithLayout(layoutComponent?: typeof MngMainLayoutComponent): RoutesBuilder;
18
+ static createWithLayoutV2(layoutComponent?: typeof MngMainLayoutV2Component): RoutesBuilder;
14
19
  addAngularRoute(route: Route): this;
15
20
  addRouteRedirect(path: string, redirectTo: string, pathMatch?: 'full' | 'prefix'): this;
16
21
  addLazyRouteComponent(path: string, loadComponent: () => Type<unknown> | Observable<Type<unknown> | DefaultExport<Type<unknown>>> | Promise<Type<unknown> | DefaultExport<Type<unknown>>>, canMatch?: Array<any>): this;
@@ -1,33 +1,28 @@
1
1
  import { MenuItem } from 'primeng/api';
2
+ import { MngMenuItem } from '../models';
2
3
  export declare class RouteUtil {
3
4
  static removeEmptyPathSegments(path: Array<string>): string[];
4
5
  static appendPathToBasePath(basePath: Array<string>, path: Array<string>): string[];
5
- static adjustMenuLazyChildrenRouterLinks(rootMenuItem: MenuItem, lazyChildren: Array<MenuItem>): {
6
+ static doesUrlMatchRouterLink(link: Array<string> | string, url: Array<string> | string): boolean;
7
+ static adjustMenuLazyChildrenRouterLinks(rootMenuItem: MenuItem, lazyChildren: Array<MngMenuItem>): {
8
+ index?: number | undefined;
9
+ key?: string | undefined;
10
+ id?: string | undefined;
11
+ positionIndex?: number | undefined;
6
12
  label?: string | undefined;
7
13
  icon?: string | undefined;
8
- command?(event: import("primeng/api").MenuItemCommandEvent): void;
9
- url?: string | undefined;
10
- items?: MenuItem[] | undefined;
11
- expanded?: boolean | undefined;
12
- disabled?: boolean | undefined;
13
- visible?: boolean | undefined;
14
- target?: string | undefined;
15
- escape?: boolean | undefined;
16
- routerLinkActiveOptions?: any;
14
+ items?: MngMenuItem[] | undefined;
15
+ guards?: any[] | undefined;
16
+ permissions?: import("@mediusinc/mng-commons").APermissions | undefined;
17
17
  separator?: boolean | undefined;
18
+ className?: string | undefined;
18
19
  badge?: string | undefined;
19
- tooltip?: string | undefined;
20
- tooltipPosition?: string | undefined;
21
- badgeStyleClass?: string | undefined;
22
- style?: {
23
- [klass: string]: any;
24
- } | null | undefined;
25
- styleClass?: string | undefined;
26
- title?: string | undefined;
27
- id?: string | undefined;
28
- automationId?: any;
29
- tabindex?: string | undefined;
30
- routerLink?: any;
20
+ badgeClassName?: string | undefined;
21
+ visible?: boolean | undefined;
22
+ disabled?: boolean | undefined;
23
+ routerLink?: string | string[] | null | undefined;
24
+ href?: string | undefined;
25
+ target?: string | undefined;
31
26
  queryParams?: {
32
27
  [k: string]: any;
33
28
  } | undefined;
@@ -36,13 +31,7 @@ export declare class RouteUtil {
36
31
  preserveFragment?: boolean | undefined;
37
32
  skipLocationChange?: boolean | undefined;
38
33
  replaceUrl?: boolean | undefined;
39
- iconStyle?: {
40
- [klass: string]: any;
41
- } | null | undefined;
42
- iconClass?: string | undefined;
43
- state?: {
44
- [k: string]: any;
45
- } | undefined;
46
- tooltipOptions?: import("primeng/api").TooltipOptions | undefined;
34
+ updated?: boolean | undefined;
35
+ lazyChildren?: boolean | undefined;
47
36
  }[];
48
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "3.6.0-rc.0",
3
+ "version": "3.6.0-rc.1",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^16.0.0",
6
6
  "@angular/common": "^16.0.0",
@@ -10,7 +10,7 @@
10
10
  "@angular/router": "^16.0.0",
11
11
  "@ngx-formly/core": "^6.1.3",
12
12
  "@ngx-translate/core": "^14.0.0",
13
- "primeng": "^16.5.0"
13
+ "primeng": "~16.9.0"
14
14
  },
15
15
  "dependencies": {
16
16
  "reflect-metadata": "^0.1.13",
@@ -1,6 +1,5 @@
1
1
  .layout-breadcrumb-container {
2
2
  background-color: transparent;
3
- padding-top: 30px;
4
3
  display: flex;
5
4
  align-items: center;
6
5
  justify-content: space-between;
@@ -0,0 +1,9 @@
1
+ $multiselectHighlightBg: rgba(68, 72, 109, 0.12) !default;
2
+ $multiselectHighlightTextColor: #44486d;
3
+
4
+ $baseHref: './~/' !default;
5
+
6
+ // theme and layout
7
+ @import 'theme/default/mng-variables-theme-dark';
8
+ @import 'v2/layout/layout.scss';
9
+ @import 'v2/theme/theme-dark/blue/theme';
@@ -0,0 +1,9 @@
1
+ $multiselectHighlightBg: rgba(68, 72, 109, 0.12) !default;
2
+ $multiselectHighlightTextColor: #44486d;
3
+
4
+ $baseHref: './~/' !default;
5
+
6
+ // theme and layout
7
+ @import 'v2/theme/theme-base/mng/mng_variables';
8
+ @import 'v2/layout/layout.scss';
9
+ @import 'v2/theme/theme-light/blue/theme';
@@ -0,0 +1,53 @@
1
+ @keyframes px-mask-in {
2
+ from {
3
+ background-color: transparent;
4
+ }
5
+
6
+ to {
7
+ background-color: var(--maskbg);
8
+ }
9
+ }
10
+
11
+ @keyframes px-scalein {
12
+ 0% {
13
+ opacity: 0;
14
+ transform: scaleY(0.8);
15
+ }
16
+
17
+ 100% {
18
+ opacity: 1;
19
+ transform: scaleY(1);
20
+ }
21
+ }
22
+
23
+ @keyframes px-fadein {
24
+ 0% {
25
+ opacity: 0;
26
+ }
27
+
28
+ 100% {
29
+ opacity: 1;
30
+ }
31
+ }
32
+
33
+ @keyframes px-fadeout {
34
+ 0% {
35
+ opacity: 1;
36
+ }
37
+
38
+ 100% {
39
+ opacity: 0;
40
+ }
41
+ }
42
+
43
+ .px-scalein {
44
+ animation: px-scalein .12s cubic-bezier(0, 0, 0.2, 1);
45
+ }
46
+
47
+ .px-fadein {
48
+ animation: px-fadein .15s linear;
49
+ }
50
+
51
+ .px-fadeout {
52
+ animation: px-fadeout .15s linear;
53
+ }