@mediusinc/mng-commons 3.5.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 (253) 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/assets/i18n/en.json +6 -2
  10. package/assets/i18n/sl.json +6 -2
  11. package/esm2022/lib/api/models/filter-match-type.model.mjs +3 -1
  12. package/esm2022/lib/api/utils/medius-rest.util.mjs +70 -40
  13. package/esm2022/lib/components/action/action.component.mjs +5 -5
  14. package/esm2022/lib/components/action/editor/action-editor.component.mjs +8 -7
  15. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +96 -23
  16. package/esm2022/lib/components/form/date-range/date-range.component.mjs +14 -5
  17. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +3 -3
  18. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +2 -2
  19. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +3 -3
  20. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +17 -3
  21. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +16 -4
  22. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +2 -2
  23. package/esm2022/lib/components/layout/menu-item.component.mjs +3 -3
  24. package/esm2022/lib/components/layout/topbar.component.mjs +2 -2
  25. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +30 -0
  26. package/esm2022/lib/components/layoutV2/footer.component.mjs +19 -0
  27. package/esm2022/lib/components/layoutV2/index.mjs +8 -0
  28. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +89 -0
  29. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +229 -0
  30. package/esm2022/lib/components/layoutV2/menu.component.mjs +31 -0
  31. package/esm2022/lib/components/layoutV2/model/index.mjs +3 -0
  32. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +2 -0
  33. package/esm2022/lib/components/layoutV2/model/menu.model.mjs +2 -0
  34. package/esm2022/lib/components/layoutV2/services/index.mjs +3 -0
  35. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +53 -0
  36. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +122 -0
  37. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +54 -0
  38. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +40 -0
  39. package/esm2022/lib/components/layoutV2/topbar.component.mjs +75 -0
  40. package/esm2022/lib/components/layoutV2/version.component.mjs +63 -0
  41. package/esm2022/lib/components/pages/error/error.page.component.mjs +3 -3
  42. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +3 -3
  43. package/esm2022/lib/components/tableview/index.mjs +2 -1
  44. package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +3 -6
  45. package/esm2022/lib/components/tableview/table/column-filter-full/column-filter-full.component.mjs +471 -0
  46. package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +2 -2
  47. package/esm2022/lib/components/tableview/table/table.component.mjs +24 -16
  48. package/esm2022/lib/components/tableview/tableview.component.mjs +6 -5
  49. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +131 -34
  50. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +25 -13
  51. package/esm2022/lib/descriptors/table/table.descriptor.mjs +10 -1
  52. package/esm2022/lib/descriptors/types/filter.type.mjs +3 -1
  53. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +49 -0
  54. package/esm2022/lib/directives/index.mjs +2 -1
  55. package/esm2022/lib/mng-commons.module.mjs +10 -3
  56. package/esm2022/lib/models/common-init-event-enum.model.mjs +11 -0
  57. package/esm2022/lib/models/config.model.mjs +1 -1
  58. package/esm2022/lib/models/index.mjs +3 -1
  59. package/esm2022/lib/models/menu-config.model.mjs +2 -0
  60. package/esm2022/lib/models/menu.model.mjs +1 -1
  61. package/esm2022/lib/router/route-builder.mjs +55 -16
  62. package/esm2022/lib/router/routes-builder.mjs +9 -1
  63. package/esm2022/lib/services/action-executor.service.mjs +3 -4
  64. package/esm2022/lib/services/commons.service.mjs +26 -4
  65. package/esm2022/lib/services/internal/commons-init.service.mjs +28 -3
  66. package/esm2022/lib/utils/coercion.util.mjs +6 -0
  67. package/esm2022/lib/utils/index.mjs +2 -1
  68. package/esm2022/lib/utils/route.util.mjs +25 -1
  69. package/fesm2022/mediusinc-mng-commons.mjs +1897 -308
  70. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  71. package/lib/api/models/filter-match-type.model.d.ts +3 -1
  72. package/lib/components/action/action.component.d.ts +1 -0
  73. package/lib/components/action/editor/action-editor.component.d.ts +2 -1
  74. package/lib/components/form/autocomplete/autocomplete.component.d.ts +26 -4
  75. package/lib/components/form/date-range/date-range.component.d.ts +4 -1
  76. package/lib/components/layoutV2/breadcrumb.component.d.ts +10 -0
  77. package/lib/components/layoutV2/footer.component.d.ts +8 -0
  78. package/lib/components/layoutV2/index.d.ts +7 -0
  79. package/lib/components/layoutV2/main-layout.component.d.ts +23 -0
  80. package/lib/components/layoutV2/menu-item.component.d.ts +38 -0
  81. package/lib/components/layoutV2/menu.component.d.ts +12 -0
  82. package/lib/components/layoutV2/model/index.d.ts +2 -0
  83. package/lib/components/layoutV2/model/layout-state.model.d.ts +11 -0
  84. package/lib/components/layoutV2/model/menu.model.d.ts +4 -0
  85. package/lib/components/layoutV2/services/index.d.ts +2 -0
  86. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +14 -0
  87. package/lib/components/layoutV2/services/menu.service.d.ts +22 -0
  88. package/lib/components/layoutV2/sidebar.component.d.ts +19 -0
  89. package/lib/components/layoutV2/topbar-user.component.d.ts +16 -0
  90. package/lib/components/layoutV2/topbar.component.d.ts +23 -0
  91. package/lib/components/layoutV2/version.component.d.ts +19 -0
  92. package/lib/components/tableview/index.d.ts +1 -0
  93. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +2 -3
  94. package/lib/components/tableview/table/column-filter-full/column-filter-full.component.d.ts +85 -0
  95. package/lib/components/tableview/table/table.component.d.ts +8 -6
  96. package/lib/descriptors/editor/editor.descriptor.d.ts +139 -42
  97. package/lib/descriptors/editor/field.descriptor.d.ts +35 -30
  98. package/lib/descriptors/table/table.descriptor.d.ts +3 -0
  99. package/lib/descriptors/types/filter.type.d.ts +3 -1
  100. package/lib/directives/dialog-keydown-handler.directive.d.ts +12 -0
  101. package/lib/directives/index.d.ts +1 -0
  102. package/lib/mng-commons.module.d.ts +50 -48
  103. package/lib/models/common-init-event-enum.model.d.ts +9 -0
  104. package/lib/models/config.model.d.ts +9 -8
  105. package/lib/models/index.d.ts +2 -0
  106. package/lib/models/menu-config.model.d.ts +15 -0
  107. package/lib/models/menu.model.d.ts +3 -1
  108. package/lib/router/route-builder.d.ts +21 -3
  109. package/lib/router/routes-builder.d.ts +5 -0
  110. package/lib/services/internal/commons-init.service.d.ts +5 -0
  111. package/lib/utils/coercion.util.d.ts +2 -0
  112. package/lib/utils/index.d.ts +1 -0
  113. package/lib/utils/route.util.d.ts +19 -30
  114. package/package.json +2 -2
  115. package/scss/common/layout/_breadcrumb.scss +0 -1
  116. package/scss/mng-commons-dark-v2.scss +9 -0
  117. package/scss/mng-commons-light-v2.scss +9 -0
  118. package/scss/mng-overrides/_theme_autocomplete.scss +10 -12
  119. package/scss/mng-overrides/_theme_fileupload.scss +24 -0
  120. package/scss/mng-overrides/_theme_styles.scss +1 -0
  121. package/scss/v2/layout/_animation.scss +53 -0
  122. package/scss/v2/layout/_breadcrumb.scss +97 -0
  123. package/scss/v2/layout/_config.scss +42 -0
  124. package/scss/v2/layout/_content.scss +3 -0
  125. package/scss/v2/layout/_fonts.scss +32 -0
  126. package/scss/v2/layout/_layout_dark.scss +12 -0
  127. package/scss/v2/layout/_layout_light.scss +12 -0
  128. package/scss/v2/layout/_main.scss +54 -0
  129. package/scss/v2/layout/_profile.scss +10 -0
  130. package/scss/v2/layout/_responsive.scss +131 -0
  131. package/scss/v2/layout/_sidebar_drawer.scss +283 -0
  132. package/scss/v2/layout/_sidebar_horizontal.scss +168 -0
  133. package/scss/v2/layout/_sidebar_reveal.scss +201 -0
  134. package/scss/v2/layout/_sidebar_slim.scss +157 -0
  135. package/scss/v2/layout/_sidebar_slim_plus.scss +167 -0
  136. package/scss/v2/layout/_sidebar_vertical.scss +176 -0
  137. package/scss/v2/layout/_topbar.scss +174 -0
  138. package/scss/v2/layout/_typography.scss +62 -0
  139. package/scss/v2/layout/_utils.scss +33 -0
  140. package/scss/v2/layout/layout.scss +24 -0
  141. package/scss/v2/layout/mng/_mng_layout_footer.scss +33 -0
  142. package/scss/v2/layout/mng/_mng_layout_menu.scss +10 -0
  143. package/scss/v2/layout/mng/_mng_layout_styles.scss +3 -0
  144. package/scss/v2/layout/mng/_mng_layout_topbar.scss +16 -0
  145. package/scss/v2/layout/preloading.scss +84 -0
  146. package/scss/v2/theme/theme-base/_colors.scss +18 -0
  147. package/scss/v2/theme/theme-base/_common.scss +73 -0
  148. package/scss/v2/theme/theme-base/_components.scss +106 -0
  149. package/scss/v2/theme/theme-base/_mixins.scss +203 -0
  150. package/scss/v2/theme/theme-base/components/button/_button.scss +564 -0
  151. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +86 -0
  152. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +381 -0
  153. package/scss/v2/theme/theme-base/components/data/_carousel.scss +37 -0
  154. package/scss/v2/theme/theme-base/components/data/_datatable.scss +338 -0
  155. package/scss/v2/theme/theme-base/components/data/_dataview.scss +55 -0
  156. package/scss/v2/theme/theme-base/components/data/_filter.scss +138 -0
  157. package/scss/v2/theme/theme-base/components/data/_fullcalendar.scss +329 -0
  158. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +103 -0
  159. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +50 -0
  160. package/scss/v2/theme/theme-base/components/data/_paginator.scss +92 -0
  161. package/scss/v2/theme/theme-base/components/data/_picklist.scss +103 -0
  162. package/scss/v2/theme/theme-base/components/data/_timeline.scss +38 -0
  163. package/scss/v2/theme/theme-base/components/data/_tree.scss +149 -0
  164. package/scss/v2/theme/theme-base/components/data/_treetable.scss +256 -0
  165. package/scss/v2/theme/theme-base/components/data/_virtualscroller.scss +28 -0
  166. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +58 -0
  167. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +117 -0
  168. package/scss/v2/theme/theme-base/components/input/_calendar.scss +263 -0
  169. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +130 -0
  170. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +90 -0
  171. package/scss/v2/theme/theme-base/components/input/_chips.scss +54 -0
  172. package/scss/v2/theme/theme-base/components/input/_colorpicker.scss +19 -0
  173. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +135 -0
  174. package/scss/v2/theme/theme-base/components/input/_editor.scss +122 -0
  175. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +75 -0
  176. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +16 -0
  177. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +28 -0
  178. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +60 -0
  179. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +99 -0
  180. package/scss/v2/theme/theme-base/components/input/_listbox.scss +82 -0
  181. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +173 -0
  182. package/scss/v2/theme/theme-base/components/input/_password.scss +52 -0
  183. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +78 -0
  184. package/scss/v2/theme/theme-base/components/input/_rating.scss +55 -0
  185. package/scss/v2/theme/theme-base/components/input/_selectbutton.scss +50 -0
  186. package/scss/v2/theme/theme-base/components/input/_slider.scss +71 -0
  187. package/scss/v2/theme/theme-base/components/input/_togglebutton.scss +48 -0
  188. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +139 -0
  189. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +42 -0
  190. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +61 -0
  191. package/scss/v2/theme/theme-base/components/menu/_dock.scss +86 -0
  192. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +106 -0
  193. package/scss/v2/theme/theme-base/components/menu/_menu.scss +45 -0
  194. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +188 -0
  195. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +140 -0
  196. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +64 -0
  197. package/scss/v2/theme/theme-base/components/menu/_steps.scss +56 -0
  198. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +74 -0
  199. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +65 -0
  200. package/scss/v2/theme/theme-base/components/messages/_inlinemessage.scss +69 -0
  201. package/scss/v2/theme/theme-base/components/messages/_message.scss +107 -0
  202. package/scss/v2/theme/theme-base/components/messages/_toast.scss +100 -0
  203. package/scss/v2/theme/theme-base/components/misc/_avatar.scss +30 -0
  204. package/scss/v2/theme/theme-base/components/misc/_badge.scss +48 -0
  205. package/scss/v2/theme/theme-base/components/misc/_blockui.scss +0 -0
  206. package/scss/v2/theme/theme-base/components/misc/_chip.scss +38 -0
  207. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +17 -0
  208. package/scss/v2/theme/theme-base/components/misc/_progressbar.scss +17 -0
  209. package/scss/v2/theme/theme-base/components/misc/_scrolltop.scss +25 -0
  210. package/scss/v2/theme/theme-base/components/misc/_skeleton.scss +8 -0
  211. package/scss/v2/theme/theme-base/components/misc/_tag.scss +40 -0
  212. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +11 -0
  213. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +149 -0
  214. package/scss/v2/theme/theme-base/components/multimedia/_image.scss +49 -0
  215. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +72 -0
  216. package/scss/v2/theme/theme-base/components/overlay/_dialog.scss +69 -0
  217. package/scss/v2/theme/theme-base/components/overlay/_overlaypanel.scss +64 -0
  218. package/scss/v2/theme/theme-base/components/overlay/_sidebar.scss +27 -0
  219. package/scss/v2/theme/theme-base/components/overlay/_tooltip.scss +33 -0
  220. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +119 -0
  221. package/scss/v2/theme/theme-base/components/panel/_card.scss +30 -0
  222. package/scss/v2/theme/theme-base/components/panel/_divider.scss +31 -0
  223. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +47 -0
  224. package/scss/v2/theme/theme-base/components/panel/_panel.scss +58 -0
  225. package/scss/v2/theme/theme-base/components/panel/_scrollpanel.scss +6 -0
  226. package/scss/v2/theme/theme-base/components/panel/_splitter.scss +19 -0
  227. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +78 -0
  228. package/scss/v2/theme/theme-base/components/panel/_toolbar.scss +11 -0
  229. package/scss/v2/theme/theme-base/mng/_mng_mixins.scss +69 -0
  230. package/scss/v2/theme/theme-base/mng/_mng_theme_autocomplete.scss +34 -0
  231. package/scss/v2/theme/theme-base/mng/_mng_theme_button.scss +68 -0
  232. package/scss/v2/theme/theme-base/mng/_mng_theme_datatable.scss +146 -0
  233. package/scss/v2/theme/theme-base/mng/_mng_theme_datepicker.scss +21 -0
  234. package/scss/v2/theme/theme-base/mng/_mng_theme_dialog.scss +206 -0
  235. package/scss/v2/theme/theme-base/mng/_mng_theme_dropdown.scss +22 -0
  236. package/scss/v2/theme/theme-base/mng/_mng_theme_fileupload.scss +24 -0
  237. package/scss/v2/theme/theme-base/mng/_mng_theme_forms.scss +66 -0
  238. package/scss/v2/theme/theme-base/mng/_mng_theme_image.scss +27 -0
  239. package/scss/v2/theme/theme-base/mng/_mng_theme_input.scss +31 -0
  240. package/scss/v2/theme/theme-base/mng/_mng_theme_menu.scss +5 -0
  241. package/scss/v2/theme/theme-base/mng/_mng_theme_multiselect.scss +20 -0
  242. package/scss/v2/theme/theme-base/mng/_mng_theme_styles.scss +17 -0
  243. package/scss/v2/theme/theme-base/mng/_mng_theme_tableview.scss +97 -0
  244. package/scss/v2/theme/theme-base/mng/_mng_theme_tabview.scss +11 -0
  245. package/scss/v2/theme/theme-base/mng/_mng_theme_toast.scss +3 -0
  246. package/scss/v2/theme/theme-base/mng/_mng_theme_toolbar.scss +5 -0
  247. package/scss/v2/theme/theme-base/mng/_mng_variables.scss +15 -0
  248. package/scss/v2/theme/theme-dark/_extensions.scss +100 -0
  249. package/scss/v2/theme/theme-dark/_variables.scss +937 -0
  250. package/scss/v2/theme/theme-dark/blue/theme.scss +13 -0
  251. package/scss/v2/theme/theme-light/_extensions.scss +100 -0
  252. package/scss/v2/theme/theme-light/_variables.scss +937 -0
  253. package/scss/v2/theme/theme-light/blue/theme.scss +13 -0
@@ -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';
@@ -16,6 +17,7 @@ export declare class RouteBuilder {
16
17
  private children;
17
18
  private menuItem?;
18
19
  private menuItemChildren;
20
+ private menuItemChildrenAfter;
19
21
  private breadcrumb?;
20
22
  private pageTitle?;
21
23
  private permissions?;
@@ -25,7 +27,11 @@ export declare class RouteBuilder {
25
27
  static createLazyRouteModule(path: string, loadChildren: LoadChildren, canMatch?: Array<any>): RouteBuilder;
26
28
  static createLazyRouteComponent(path: string, loadComponent: () => Type<unknown> | Observable<Type<unknown> | DefaultExport<Type<unknown>>> | Promise<Type<unknown> | DefaultExport<Type<unknown>>>, canMatch?: Array<any>): RouteBuilder;
27
29
  static createFromRoute(route: Route): RouteBuilder;
30
+ /**
31
+ * @deprecated use createLayoutRouteV2() instead
32
+ */
28
33
  static createLayoutRoute(path: string, layoutComponent?: typeof MngMainLayoutComponent): RouteBuilder;
34
+ static createLayoutRouteV2(path: string, layoutComponent?: typeof MngMainLayoutV2Component): RouteBuilder;
29
35
  withRoot(routesBuilder: RoutesBuilder): this;
30
36
  withParent(parent: RouteBuilder): this;
31
37
  withBreadcrumb(breadcrumb: BreadcrumbType): this;
@@ -39,9 +45,21 @@ export declare class RouteBuilder {
39
45
  withProvider(provider: Provider | EnvironmentProviders): this;
40
46
  withData(data: MngRouterData): this;
41
47
  withMngMenuItem(menuItem: MngMenuItem): this;
42
- withMenuItem(icon?: string, label?: string, routerLink?: Array<string>): this;
43
- withMenuItemChild(label: string, icon?: string, routerLink?: Array<string>): this;
44
- withMngMenuItemChild(menuItem: MngMenuItem): this;
48
+ withMenuItem(icon?: string, label?: string, routerLink?: Array<string>, breadcrumb?: boolean): this;
49
+ /**
50
+ * Adds menu item child to this instance of menu item.
51
+ * @param label Label.
52
+ * @param icon Icon.
53
+ * @param routerLink Router link.
54
+ * @param afterRouteChildren If false, menu item child will be appended before route children menu items, at the end otherwise.
55
+ */
56
+ withMenuItemChild(label: string, icon?: string, routerLink?: Array<string>, afterRouteChildren?: boolean): this;
57
+ /**
58
+ * Adds menu item child to this instance of menu item.
59
+ * @param menuItem Configuration object for menu item.
60
+ * @param afterRouteChildren If false, menu item child will be appended before route children menu items, at the end otherwise.
61
+ */
62
+ withMngMenuItemChild(menuItem: MngMenuItem, afterRouteChildren?: boolean): this;
45
63
  withMenuItemLazyChildren(): this;
46
64
  withPermissions(permissions: APermissions): this;
47
65
  addChild(path: string, component: Type<any>): RouteBuilder;
@@ -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,4 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { MngCommonsInitEventEnum } from '../../models';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class MngCommonsInitService {
4
5
  private readonly httpClient;
@@ -10,6 +11,10 @@ export declare class MngCommonsInitService {
10
11
  private readonly moduleConfig;
11
12
  private readonly commonsInitializers;
12
13
  private isInitialized;
14
+ private isInitializedSubject;
15
+ private commonsInitServiceEvents;
16
+ get events$(): Observable<MngCommonsInitEventEnum>;
17
+ get isInitialized$(): Observable<boolean>;
13
18
  initialize(): Observable<void>;
14
19
  static ɵfac: i0.ɵɵFactoryDeclaration<MngCommonsInitService, never>;
15
20
  static ɵprov: i0.ɵɵInjectableDeclaration<MngCommonsInitService>;
@@ -0,0 +1,2 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare function booleanObsAttribute(value: unknown): Observable<boolean>;
@@ -11,3 +11,4 @@ export * from './type.util';
11
11
  export * from './export.util';
12
12
  export * from './file.util';
13
13
  export * from './error.util';
14
+ export * from './coercion.util';
@@ -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.5.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';
@@ -13,19 +13,17 @@ p-autocomplete {
13
13
  }
14
14
 
15
15
  //clear icon
16
- & .p-autocomplete-clearable {
17
- & .p-inputtext {
18
- padding-right: 2rem;
19
- }
16
+ & .p-inputtext {
17
+ padding-right: 2rem;
18
+ }
20
19
 
21
- & .p-autocomplete-clear-icon {
22
- color: $secondaryButtonTextColor;
23
- right: 0.5rem;
24
- }
20
+ & .p-autocomplete-clear-icon {
21
+ color: $secondaryButtonTextColor;
22
+ right: 0.5rem;
23
+ }
25
24
 
26
- & .p-autocomplete-dd .p-autocomplete-clear-icon {
27
- color: $secondaryButtonTextColor;
28
- right: 2.857rem;
29
- }
25
+ & .p-autocomplete-dd .p-autocomplete-clear-icon {
26
+ color: $secondaryButtonTextColor;
27
+ right: 2.857rem;
30
28
  }
31
29
  }
@@ -0,0 +1,24 @@
1
+ .p-fileupload {
2
+ .p-fileupload-buttonbar {
3
+ span.p-fileupload-choose {
4
+ width: auto;
5
+ }
6
+
7
+ p-button button {
8
+ width: auto;
9
+ }
10
+ }
11
+
12
+ .p-fileupload-content {
13
+ padding: $panelHeaderPadding;
14
+
15
+ .dropdown-area {
16
+ height: 5rem;
17
+ display: flex;
18
+ border: dashed;
19
+ border-radius: 8px;
20
+ align-items: center;
21
+ justify-content: center;
22
+ }
23
+ }
24
+ }
@@ -14,3 +14,4 @@
14
14
  @import './_theme_input';
15
15
  @import './theme_multiselect';
16
16
  @import './theme_tabview';
17
+ @import './theme_fileupload';
@@ -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
+ }
@@ -0,0 +1,97 @@
1
+ .layout-breadcrumb {
2
+ ol {
3
+ display: flex;
4
+ align-items: center;
5
+ margin: 0;
6
+ padding: 0;
7
+ list-style: none;
8
+ gap: 1rem;
9
+ flex-wrap: wrap;
10
+ color: var(--text-color-secondary);
11
+
12
+ li {
13
+ font-weight: 600;
14
+ }
15
+ }
16
+ .breadcrumb-menu {
17
+ margin: 0;
18
+ padding: 0 1.15rem 0 0.85rem;
19
+ padding-right: 0;
20
+ list-style: none;
21
+ flex-grow: 1;
22
+ color: var(--topbar-item-text-color);
23
+ margin-right: -2rem;
24
+
25
+ li {
26
+ margin-left: 1.5rem;
27
+ .breadcrumb-search {
28
+ display: flex;
29
+ align-items: center;
30
+ flex-shrink: 0;
31
+ width: 100%;
32
+ margin-left: 0rem;
33
+
34
+ .breadcrumb-searchbutton {
35
+ display: flex;
36
+ opacity: 1;
37
+ }
38
+
39
+ .search-input-wrapper {
40
+ position: relative;
41
+ width: 0;
42
+ opacity: 0;
43
+ visibility: hidden;
44
+ transition: 400ms cubic-bezier(0.86, 0, 0.07, 1);
45
+
46
+ span {
47
+ width: 100%;
48
+
49
+ .p-inputtext {
50
+ width: 100%;
51
+ position: relative;
52
+ border-radius: 40px;
53
+ padding: 9px;
54
+ }
55
+
56
+ i {
57
+ font-size: 18px;
58
+ margin-top: -9px;
59
+ margin-right: 9px;
60
+ }
61
+ }
62
+ }
63
+
64
+ &.breadcrumb-search-active {
65
+ .breadcrumb-searchbutton {
66
+ opacity: 0;
67
+ display: none;
68
+ pointer-events: none;
69
+ cursor: default;
70
+ }
71
+
72
+ .search-input-wrapper {
73
+ width: 100%;
74
+ opacity: 1;
75
+ visibility: visible;
76
+ border-radius: var(--border-radius);
77
+ i {
78
+ display: block;
79
+ }
80
+ .p-input-icon-right {
81
+ input {
82
+ border-radius: var(--border-radius);
83
+ width: 100%;
84
+ background: var(--surface-ground);
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ .content-breadcrumb {
95
+ margin-bottom: 2rem;
96
+ padding: 0 0.5rem;
97
+ }
@@ -0,0 +1,42 @@
1
+ .layout-config-button {
2
+ display: block;
3
+ position: fixed;
4
+ width: 3rem;
5
+ height: 3rem;
6
+ line-height: 3rem;
7
+ background: var(--primary-color);
8
+ color: var(--primary-color-text);
9
+ text-align: center;
10
+ top: 50%;
11
+ right: 0;
12
+ margin-top: -1.5rem;
13
+ border-top-left-radius: var(--border-radius);
14
+ border-bottom-left-radius: var(--border-radius);
15
+ border-top-right-radius: 0;
16
+ border-bottom-right-radius: 0;
17
+ transition: background-color var(--transition-duration);
18
+ overflow: hidden;
19
+ cursor: pointer;
20
+ z-index: 999;
21
+ box-shadow: -.25rem 0 1rem rgba(0,0,0,.15);
22
+
23
+ i {
24
+ font-size: 2rem;
25
+ line-height: inherit;
26
+ transform: rotate(0deg);
27
+ transition: transform 1s;
28
+ }
29
+
30
+ &:hover {
31
+ background: var(--primary-400);
32
+ }
33
+ }
34
+
35
+ .layout-config-sidebar {
36
+ &.p-sidebar {
37
+ .p-sidebar-content {
38
+ padding-left: 2rem;
39
+ padding-right: 2rem;
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,3 @@
1
+ .layout-content-wrapper {
2
+ padding: 2rem;
3
+ }
@@ -0,0 +1,32 @@
1
+ /* poppins-regular - latin */
2
+ @font-face {
3
+ font-family: 'Poppins';
4
+ font-style: normal;
5
+ font-weight: 400;
6
+ src: local(''), url('../../../assets/fonts/poppins-v20-latin-regular.woff2') format('woff2'),
7
+ /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../../assets/fonts/poppins-v20-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
8
+ }
9
+ /* poppins-500 - latin */
10
+ @font-face {
11
+ font-family: 'Poppins';
12
+ font-style: normal;
13
+ font-weight: 500;
14
+ src: local(''), url('../../../assets/fonts/poppins-v20-latin-500.woff2') format('woff2'),
15
+ /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../../assets/fonts/poppins-v20-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
16
+ }
17
+ /* poppins-600 - latin */
18
+ @font-face {
19
+ font-family: 'Poppins';
20
+ font-style: normal;
21
+ font-weight: 600;
22
+ src: local(''), url('../../../assets/fonts/poppins-v20-latin-600.woff2') format('woff2'),
23
+ /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../../assets/fonts/poppins-v20-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
24
+ }
25
+ /* poppins-700 - latin */
26
+ @font-face {
27
+ font-family: 'Poppins';
28
+ font-style: normal;
29
+ font-weight: 700;
30
+ src: local(''), url('../../../assets/fonts/poppins-v20-latin-700.woff2') format('woff2'),
31
+ /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../../../assets/fonts/poppins-v20-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
32
+ }
@@ -0,0 +1,12 @@
1
+ $breakpoint: 992px !default;
2
+ $scale: 14px !default;
3
+
4
+ .layout-dark {
5
+ --sidebar-shadow: none;
6
+ --sidebar-border: 1px solid var(--surface-border);
7
+ --card-shadow: none;
8
+ --body-bg: linear-gradient(180deg, #2e323f 0%, #0a061a 100%);
9
+ --body-image: url('#{$baseHref}assets/images/mng/effect-ondark.png');
10
+ --root-menu-item-hover-bg: rgba(255, 255, 255, 0.05);
11
+ --exception-pages-image: url('#{$baseHref}assets/images/mng/pages/exception-ondark.png');
12
+ }
@@ -0,0 +1,12 @@
1
+ $breakpoint: 992px !default;
2
+ $scale: 14px !default;
3
+
4
+ .layout-light {
5
+ --sidebar-shadow: 0px 4px 50px #d9ddfc;
6
+ --sidebar-border: 1px solid transparent;
7
+ --card-shadow: 0px 4px 30px rgba(221, 224, 255, 0.54);
8
+ --body-bg: linear-gradient(180deg, #f6f9fc 0%, #ececf9 100%);
9
+ --body-image: url('#{$baseHref}assets/images/mng/effect-onlight.png');
10
+ --root-menu-item-hover-bg: rgba(68, 72, 109, 0.07);
11
+ --exception-pages-image: url('#{$baseHref}assets/images/mng/pages/exception-onlight.png');
12
+ }
@@ -0,0 +1,54 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ html {
6
+ height: 100%;
7
+ font-size: $scale;
8
+ }
9
+
10
+ body {
11
+ font-weight: 400;
12
+ padding: 0;
13
+ margin: 0;
14
+ min-height: 100%;
15
+ color: var(--text-color);
16
+ font-family: var(--font-family);
17
+ -webkit-font-smoothing: antialiased;
18
+ -moz-osx-font-smoothing: grayscale;
19
+ }
20
+
21
+ a {
22
+ text-decoration: none;
23
+ }
24
+
25
+ .layout-container {
26
+ background: var(--body-bg);
27
+ min-height: 100vh;
28
+ &:before {
29
+ min-height: 100vh;
30
+ height: 100%;
31
+ width: 100%;
32
+ content: '';
33
+ z-index: 0;
34
+ display: block;
35
+ position: absolute;
36
+ top: 0;
37
+ left: 0;
38
+ background-image: var(--body-image);
39
+ background-repeat: no-repeat;
40
+ }
41
+
42
+ .layout-content-wrapper {
43
+ display: flex;
44
+ flex-direction: column;
45
+ position: relative;
46
+ min-height: 100vh;
47
+ z-index: 1;
48
+ overflow-x: hidden;
49
+
50
+ .layout-content {
51
+ flex-grow: 1;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,10 @@
1
+ .layout-profile-sidebar {
2
+ &.p-sidebar {
3
+ width: 25rem;
4
+
5
+ .p-sidebar-content {
6
+ padding-left: 2rem;
7
+ padding-right: 2rem;
8
+ }
9
+ }
10
+ }