aril 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/http/lib/enums.mjs +3 -1
  2. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +20 -4
  3. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +13 -1
  4. package/esm2022/theme/layout/app/sidebar/app.sidebar.component.mjs +8 -4
  5. package/esm2022/theme/layout/service/app.layout.service.mjs +1 -1
  6. package/esm2022/theme/layout/service/app.menu.service.mjs +2 -1
  7. package/esm2022/ui/button/src/button.component.mjs +3 -3
  8. package/esm2022/ui/mask/src/mask.component.mjs +2 -2
  9. package/esm2022/ui/number/src/number.component.mjs +2 -2
  10. package/esm2022/ui/password/src/password.component.mjs +2 -2
  11. package/esm2022/ui/selectBox/src/select-box.component.mjs +3 -3
  12. package/esm2022/ui/table/src/table-column.component.mjs +1 -1
  13. package/esm2022/ui/text/src/text.component.mjs +2 -2
  14. package/esm2022/ui/tree/src/tree.component.mjs +3 -16
  15. package/esm2022/util/lib/src/interfaces.mjs +1 -1
  16. package/esm2022/util/lib/src/module-router.mjs +3 -2
  17. package/esm2022/util/lib/src/types.mjs +1 -1
  18. package/fesm2022/aril-http.mjs +2 -0
  19. package/fesm2022/aril-http.mjs.map +1 -1
  20. package/fesm2022/aril-theme-layout.mjs +38 -5
  21. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  22. package/fesm2022/aril-ui-button.mjs +2 -2
  23. package/fesm2022/aril-ui-button.mjs.map +1 -1
  24. package/fesm2022/aril-ui-mask.mjs +1 -1
  25. package/fesm2022/aril-ui-mask.mjs.map +1 -1
  26. package/fesm2022/aril-ui-number.mjs +1 -1
  27. package/fesm2022/aril-ui-number.mjs.map +1 -1
  28. package/fesm2022/aril-ui-password.mjs +1 -1
  29. package/fesm2022/aril-ui-password.mjs.map +1 -1
  30. package/fesm2022/aril-ui-selectBox.mjs +2 -2
  31. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  32. package/fesm2022/aril-ui-table.mjs.map +1 -1
  33. package/fesm2022/aril-ui-text.mjs +1 -1
  34. package/fesm2022/aril-ui-text.mjs.map +1 -1
  35. package/fesm2022/aril-ui-tree.mjs +2 -15
  36. package/fesm2022/aril-ui-tree.mjs.map +1 -1
  37. package/fesm2022/aril-util-lib.mjs +2 -1
  38. package/fesm2022/aril-util-lib.mjs.map +1 -1
  39. package/http/lib/enums.d.ts +3 -1
  40. package/package.json +1 -1
  41. package/styles/ui/ui.common.scss +24 -8
  42. package/theme/layout/app/layout/app.layout.component.d.ts +5 -2
  43. package/theme/layout/app/layout/app.layout.component.ts +30 -3
  44. package/theme/layout/app/menu/app.menu.component.d.ts +6 -0
  45. package/theme/layout/app/menu/app.menu.component.ts +10 -0
  46. package/theme/layout/app/menu/app.sub.menu.component.html +9 -0
  47. package/theme/layout/app/sidebar/app.sidebar.component.d.ts +3 -1
  48. package/theme/layout/app/sidebar/app.sidebar.component.html +8 -0
  49. package/theme/layout/app/sidebar/app.sidebar.component.ts +8 -5
  50. package/theme/layout/service/app.layout.service.ts +178 -178
  51. package/theme/layout/service/app.menu.service.d.ts +2 -0
  52. package/theme/layout/service/app.menu.service.ts +2 -0
  53. package/ui/button/src/button.component.d.ts +1 -1
  54. package/ui/mask/src/mask.component.d.ts +1 -1
  55. package/ui/number/src/number.component.d.ts +1 -1
  56. package/ui/password/src/password.component.d.ts +1 -1
  57. package/ui/text/src/text.component.d.ts +2 -2
  58. package/ui/tree/src/tree.component.d.ts +0 -3
  59. package/util/lib/src/interfaces.d.ts +3 -0
  60. package/util/lib/src/module-router.d.ts +1 -1
  61. package/util/lib/src/types.d.ts +2 -2
@@ -29,6 +29,7 @@ class MenuService {
29
29
  this.menuSource = new Subject();
30
30
  this.resetSource = new Subject();
31
31
  this.menuItems = signal([]);
32
+ this.subMenuItems = signal({});
32
33
  this.menuSource$ = this.menuSource.asObservable();
33
34
  this.resetSource$ = this.resetSource.asObservable();
34
35
  }
@@ -537,12 +538,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
537
538
  type: Component,
538
539
  args: [{ standalone: true, selector: 'app-menu', imports: [AppMenuItemComponent], template: "<ul class=\"layout-menu\">\n\t@for (item of menuService.menuItems(); track $index) {\n\t\t@if (item.separator) {\n\t\t\t<li class=\"menu-separator\"></li>\n\t\t} @else {\n\t\t\t<li app-menuitem [item]=\"item\" [index]=\"$index\" [root]=\"true\"></li>\n\t\t}\n\t}\n</ul>\n" }]
539
540
  }] });
541
+ class AppSubMenuComponent {
542
+ constructor() {
543
+ this.menuService = inject(MenuService);
544
+ this.globalThis = globalThis;
545
+ }
546
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
547
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSubMenuComponent, isStandalone: true, selector: "app-sub-menu", ngImport: i0, template: "<ul class=\"layout-menu\">\r\n\t@for (subItem of menuService.subMenuItems()[globalThis.activeMF]; track $index) {\r\n\t\t@if (subItem.separator) {\r\n\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t} @else {\r\n\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t}\r\n\t}\r\n</ul>\r\n", dependencies: [{ kind: "component", type: AppMenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey"] }] }); }
548
+ }
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSubMenuComponent, decorators: [{
550
+ type: Component,
551
+ args: [{ standalone: true, selector: 'app-sub-menu', imports: [AppMenuItemComponent], template: "<ul class=\"layout-menu\">\r\n\t@for (subItem of menuService.subMenuItems()[globalThis.activeMF]; track $index) {\r\n\t\t@if (subItem.separator) {\r\n\t\t\t<li class=\"menu-separator\"></li>\r\n\t\t} @else {\r\n\t\t\t<li app-menuitem [item]=\"subItem\" [index]=\"$index\" [root]=\"true\"></li>\r\n\t\t}\r\n\t}\r\n</ul>\r\n" }]
552
+ }] });
540
553
 
541
554
  class AppSidebarComponent {
542
555
  constructor(layoutService, el) {
543
556
  this.layoutService = layoutService;
544
557
  this.el = el;
545
558
  this.timeout = null;
559
+ this.globalThis = globalThis;
546
560
  }
547
561
  onMouseEnter() {
548
562
  if (!this.layoutService.state.anchored) {
@@ -564,14 +578,17 @@ class AppSidebarComponent {
564
578
  this.layoutService.state.anchored = !this.layoutService.state.anchored;
565
579
  }
566
580
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSidebarComponent, deps: [{ token: LayoutService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
567
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppSidebarComponent, isStandalone: true, selector: "app-sidebar", viewQueries: [{ propertyName: "menuContainer", first: true, predicate: ["menuContainer"], descendants: true }], ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t<div class=\"sidebar-header\">\n\t\t<a [routerLink]=\"['/']\" class=\"app-logo\">\n\t\t\t<svg viewBox=\"0 0 124 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"app-logo-normal\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.84 15.7927L16.2077 21.0016H11.7682L13.84 15.7927Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M40.9033 14.5217H34.771L33.1753 18.0007H30.8467L37.9346 2.77661L44.772 18.0007H42.4062L40.9033 14.5217ZM40.022 12.49L37.8975 7.61938L35.6709 12.49H40.022Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M52.4927 12.1838V18.0007H50.3311V3.67651H52.7803C53.9802 3.67651 54.8862 3.76001 55.4985 3.927C56.117 4.09399 56.6613 4.40942 57.1314 4.87329C57.954 5.67733 58.3652 6.69165 58.3652 7.91626C58.3652 9.22746 57.9261 10.2665 57.0479 11.0334C56.1696 11.8004 54.9852 12.1838 53.4946 12.1838H52.4927ZM52.4927 10.1799H53.2998C55.2852 10.1799 56.2778 9.4161 56.2778 7.88843C56.2778 6.41024 55.2542 5.67114 53.207 5.67114H52.4927V10.1799Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M63.6367 10.7737C63.6367 8.75741 64.3758 7.02563 65.854 5.57837C67.326 4.1311 69.0949 3.40747 71.1607 3.40747C73.2017 3.40747 74.952 4.13729 76.4116 5.59692C77.8775 7.05656 78.6104 8.80998 78.6104 10.8572C78.6104 12.9167 77.8744 14.664 76.4024 16.0989C74.9242 17.54 73.1398 18.2605 71.0493 18.2605C69.2001 18.2605 67.5394 17.6204 66.0674 16.3401C64.447 14.9237 63.6367 13.0683 63.6367 10.7737ZM65.8169 10.8015C65.8169 12.3848 66.3488 13.6868 67.4126 14.7073C68.4702 15.7278 69.6918 16.238 71.0772 16.238C72.5801 16.238 73.848 15.7185 74.8809 14.6794C75.9138 13.628 76.4302 12.3477 76.4302 10.8386C76.4302 9.31095 75.9199 8.03068 74.8994 6.9978C73.8851 5.95874 72.6296 5.43921 71.1328 5.43921C69.6423 5.43921 68.3836 5.95874 67.357 6.9978C66.3303 8.0245 65.8169 9.2924 65.8169 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M87.2495 3.67651V15.969H91.4615V18.0007H85.0879V3.67651H87.2495Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M108.146 10.7737C108.146 8.75741 108.885 7.02563 110.363 5.57837C111.835 4.1311 113.604 3.40747 115.67 3.40747C117.711 3.40747 119.461 4.13729 120.921 5.59692C122.387 7.05656 123.12 8.80998 123.12 10.8572C123.12 12.9167 122.384 14.664 120.912 16.0989C119.433 17.54 117.649 18.2605 115.559 18.2605C113.709 18.2605 112.049 17.6204 110.577 16.3401C108.956 14.9237 108.146 13.0683 108.146 10.7737ZM110.326 10.8015C110.326 12.3848 110.858 13.6868 111.922 14.7073C112.98 15.7278 114.201 16.238 115.586 16.238C117.089 16.238 118.357 15.7185 119.39 14.6794C120.423 13.628 120.94 12.3477 120.94 10.8386C120.94 9.31095 120.429 8.03068 119.409 6.9978C118.394 5.95874 117.139 5.43921 115.642 5.43921C114.152 5.43921 112.893 5.95874 111.866 6.9978C110.84 8.0245 110.326 9.2924 110.326 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\twidth=\"21\"\n\t\t\t\theight=\"22\"\n\t\t\t\tviewBox=\"0 0 21 22\"\n\t\t\t\tfill=\"none\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"app-logo-small\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t</a>\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\n\t</div>\n\n\t<div #menuContainer class=\"layout-menu-container\">\n\t\t<app-menu></app-menu>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AppMenuComponent, selector: "app-menu" }] }); }
581
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppSidebarComponent, isStandalone: true, selector: "app-sidebar", viewQueries: [{ propertyName: "menuContainer", first: true, predicate: ["menuContainer"], descendants: true }, { propertyName: "subMenuContainer", first: true, predicate: ["subMenuContainer"], descendants: true }], ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t<div class=\"sidebar-header\">\n\t\t<a [routerLink]=\"['/']\" class=\"app-logo\">\n\t\t\t<svg viewBox=\"0 0 124 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"app-logo-normal\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.84 15.7927L16.2077 21.0016H11.7682L13.84 15.7927Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M40.9033 14.5217H34.771L33.1753 18.0007H30.8467L37.9346 2.77661L44.772 18.0007H42.4062L40.9033 14.5217ZM40.022 12.49L37.8975 7.61938L35.6709 12.49H40.022Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M52.4927 12.1838V18.0007H50.3311V3.67651H52.7803C53.9802 3.67651 54.8862 3.76001 55.4985 3.927C56.117 4.09399 56.6613 4.40942 57.1314 4.87329C57.954 5.67733 58.3652 6.69165 58.3652 7.91626C58.3652 9.22746 57.9261 10.2665 57.0479 11.0334C56.1696 11.8004 54.9852 12.1838 53.4946 12.1838H52.4927ZM52.4927 10.1799H53.2998C55.2852 10.1799 56.2778 9.4161 56.2778 7.88843C56.2778 6.41024 55.2542 5.67114 53.207 5.67114H52.4927V10.1799Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M63.6367 10.7737C63.6367 8.75741 64.3758 7.02563 65.854 5.57837C67.326 4.1311 69.0949 3.40747 71.1607 3.40747C73.2017 3.40747 74.952 4.13729 76.4116 5.59692C77.8775 7.05656 78.6104 8.80998 78.6104 10.8572C78.6104 12.9167 77.8744 14.664 76.4024 16.0989C74.9242 17.54 73.1398 18.2605 71.0493 18.2605C69.2001 18.2605 67.5394 17.6204 66.0674 16.3401C64.447 14.9237 63.6367 13.0683 63.6367 10.7737ZM65.8169 10.8015C65.8169 12.3848 66.3488 13.6868 67.4126 14.7073C68.4702 15.7278 69.6918 16.238 71.0772 16.238C72.5801 16.238 73.848 15.7185 74.8809 14.6794C75.9138 13.628 76.4302 12.3477 76.4302 10.8386C76.4302 9.31095 75.9199 8.03068 74.8994 6.9978C73.8851 5.95874 72.6296 5.43921 71.1328 5.43921C69.6423 5.43921 68.3836 5.95874 67.357 6.9978C66.3303 8.0245 65.8169 9.2924 65.8169 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M87.2495 3.67651V15.969H91.4615V18.0007H85.0879V3.67651H87.2495Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M108.146 10.7737C108.146 8.75741 108.885 7.02563 110.363 5.57837C111.835 4.1311 113.604 3.40747 115.67 3.40747C117.711 3.40747 119.461 4.13729 120.921 5.59692C122.387 7.05656 123.12 8.80998 123.12 10.8572C123.12 12.9167 122.384 14.664 120.912 16.0989C119.433 17.54 117.649 18.2605 115.559 18.2605C113.709 18.2605 112.049 17.6204 110.577 16.3401C108.956 14.9237 108.146 13.0683 108.146 10.7737ZM110.326 10.8015C110.326 12.3848 110.858 13.6868 111.922 14.7073C112.98 15.7278 114.201 16.238 115.586 16.238C117.089 16.238 118.357 15.7185 119.39 14.6794C120.423 13.628 120.94 12.3477 120.94 10.8386C120.94 9.31095 120.429 8.03068 119.409 6.9978C118.394 5.95874 117.139 5.43921 115.642 5.43921C114.152 5.43921 112.893 5.95874 111.866 6.9978C110.84 8.0245 110.326 9.2924 110.326 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\twidth=\"21\"\n\t\t\t\theight=\"22\"\n\t\t\t\tviewBox=\"0 0 21 22\"\n\t\t\t\tfill=\"none\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"app-logo-small\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t</a>\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\n\t</div>\n\n\t<div #menuContainer class=\"layout-menu-container\">\n\t\t<app-menu></app-menu>\n\t</div>\n</div>\n\n@if (globalThis.isMFEMode && globalThis.activeMF) {\n\t<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t\t<app-sub-menu></app-sub-menu>\n\t\t</div>\n\t</div>\n}\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: AppMenuComponent, selector: "app-menu" }, { kind: "component", type: AppSubMenuComponent, selector: "app-sub-menu" }] }); }
568
582
  }
569
583
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppSidebarComponent, decorators: [{
570
584
  type: Component,
571
- args: [{ standalone: true, selector: 'app-sidebar', imports: [RouterLink, AppMenuComponent], template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t<div class=\"sidebar-header\">\n\t\t<a [routerLink]=\"['/']\" class=\"app-logo\">\n\t\t\t<svg viewBox=\"0 0 124 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"app-logo-normal\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.84 15.7927L16.2077 21.0016H11.7682L13.84 15.7927Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M40.9033 14.5217H34.771L33.1753 18.0007H30.8467L37.9346 2.77661L44.772 18.0007H42.4062L40.9033 14.5217ZM40.022 12.49L37.8975 7.61938L35.6709 12.49H40.022Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M52.4927 12.1838V18.0007H50.3311V3.67651H52.7803C53.9802 3.67651 54.8862 3.76001 55.4985 3.927C56.117 4.09399 56.6613 4.40942 57.1314 4.87329C57.954 5.67733 58.3652 6.69165 58.3652 7.91626C58.3652 9.22746 57.9261 10.2665 57.0479 11.0334C56.1696 11.8004 54.9852 12.1838 53.4946 12.1838H52.4927ZM52.4927 10.1799H53.2998C55.2852 10.1799 56.2778 9.4161 56.2778 7.88843C56.2778 6.41024 55.2542 5.67114 53.207 5.67114H52.4927V10.1799Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M63.6367 10.7737C63.6367 8.75741 64.3758 7.02563 65.854 5.57837C67.326 4.1311 69.0949 3.40747 71.1607 3.40747C73.2017 3.40747 74.952 4.13729 76.4116 5.59692C77.8775 7.05656 78.6104 8.80998 78.6104 10.8572C78.6104 12.9167 77.8744 14.664 76.4024 16.0989C74.9242 17.54 73.1398 18.2605 71.0493 18.2605C69.2001 18.2605 67.5394 17.6204 66.0674 16.3401C64.447 14.9237 63.6367 13.0683 63.6367 10.7737ZM65.8169 10.8015C65.8169 12.3848 66.3488 13.6868 67.4126 14.7073C68.4702 15.7278 69.6918 16.238 71.0772 16.238C72.5801 16.238 73.848 15.7185 74.8809 14.6794C75.9138 13.628 76.4302 12.3477 76.4302 10.8386C76.4302 9.31095 75.9199 8.03068 74.8994 6.9978C73.8851 5.95874 72.6296 5.43921 71.1328 5.43921C69.6423 5.43921 68.3836 5.95874 67.357 6.9978C66.3303 8.0245 65.8169 9.2924 65.8169 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M87.2495 3.67651V15.969H91.4615V18.0007H85.0879V3.67651H87.2495Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M108.146 10.7737C108.146 8.75741 108.885 7.02563 110.363 5.57837C111.835 4.1311 113.604 3.40747 115.67 3.40747C117.711 3.40747 119.461 4.13729 120.921 5.59692C122.387 7.05656 123.12 8.80998 123.12 10.8572C123.12 12.9167 122.384 14.664 120.912 16.0989C119.433 17.54 117.649 18.2605 115.559 18.2605C113.709 18.2605 112.049 17.6204 110.577 16.3401C108.956 14.9237 108.146 13.0683 108.146 10.7737ZM110.326 10.8015C110.326 12.3848 110.858 13.6868 111.922 14.7073C112.98 15.7278 114.201 16.238 115.586 16.238C117.089 16.238 118.357 15.7185 119.39 14.6794C120.423 13.628 120.94 12.3477 120.94 10.8386C120.94 9.31095 120.429 8.03068 119.409 6.9978C118.394 5.95874 117.139 5.43921 115.642 5.43921C114.152 5.43921 112.893 5.95874 111.866 6.9978C110.84 8.0245 110.326 9.2924 110.326 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\twidth=\"21\"\n\t\t\t\theight=\"22\"\n\t\t\t\tviewBox=\"0 0 21 22\"\n\t\t\t\tfill=\"none\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"app-logo-small\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t</a>\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\n\t</div>\n\n\t<div #menuContainer class=\"layout-menu-container\">\n\t\t<app-menu></app-menu>\n\t</div>\n</div>\n" }]
585
+ args: [{ standalone: true, selector: 'app-sidebar', imports: [RouterLink, AppMenuComponent, AppSubMenuComponent], template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t<div class=\"sidebar-header\">\n\t\t<a [routerLink]=\"['/']\" class=\"app-logo\">\n\t\t\t<svg viewBox=\"0 0 124 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"app-logo-normal\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.84 15.7927L16.2077 21.0016H11.7682L13.84 15.7927Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04645 21.0016L6.67875 15.7927L4.60701 21.0016H9.04645Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M40.9033 14.5217H34.771L33.1753 18.0007H30.8467L37.9346 2.77661L44.772 18.0007H42.4062L40.9033 14.5217ZM40.022 12.49L37.8975 7.61938L35.6709 12.49H40.022Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M52.4927 12.1838V18.0007H50.3311V3.67651H52.7803C53.9802 3.67651 54.8862 3.76001 55.4985 3.927C56.117 4.09399 56.6613 4.40942 57.1314 4.87329C57.954 5.67733 58.3652 6.69165 58.3652 7.91626C58.3652 9.22746 57.9261 10.2665 57.0479 11.0334C56.1696 11.8004 54.9852 12.1838 53.4946 12.1838H52.4927ZM52.4927 10.1799H53.2998C55.2852 10.1799 56.2778 9.4161 56.2778 7.88843C56.2778 6.41024 55.2542 5.67114 53.207 5.67114H52.4927V10.1799Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M63.6367 10.7737C63.6367 8.75741 64.3758 7.02563 65.854 5.57837C67.326 4.1311 69.0949 3.40747 71.1607 3.40747C73.2017 3.40747 74.952 4.13729 76.4116 5.59692C77.8775 7.05656 78.6104 8.80998 78.6104 10.8572C78.6104 12.9167 77.8744 14.664 76.4024 16.0989C74.9242 17.54 73.1398 18.2605 71.0493 18.2605C69.2001 18.2605 67.5394 17.6204 66.0674 16.3401C64.447 14.9237 63.6367 13.0683 63.6367 10.7737ZM65.8169 10.8015C65.8169 12.3848 66.3488 13.6868 67.4126 14.7073C68.4702 15.7278 69.6918 16.238 71.0772 16.238C72.5801 16.238 73.848 15.7185 74.8809 14.6794C75.9138 13.628 76.4302 12.3477 76.4302 10.8386C76.4302 9.31095 75.9199 8.03068 74.8994 6.9978C73.8851 5.95874 72.6296 5.43921 71.1328 5.43921C69.6423 5.43921 68.3836 5.95874 67.357 6.9978C66.3303 8.0245 65.8169 9.2924 65.8169 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M87.2495 3.67651V15.969H91.4615V18.0007H85.0879V3.67651H87.2495Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M99.4327 3.67651V15.969H103.645V18.0007H97.271V3.67651H99.4327Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path\n\t\t\t\t\td=\"M108.146 10.7737C108.146 8.75741 108.885 7.02563 110.363 5.57837C111.835 4.1311 113.604 3.40747 115.67 3.40747C117.711 3.40747 119.461 4.13729 120.921 5.59692C122.387 7.05656 123.12 8.80998 123.12 10.8572C123.12 12.9167 122.384 14.664 120.912 16.0989C119.433 17.54 117.649 18.2605 115.559 18.2605C113.709 18.2605 112.049 17.6204 110.577 16.3401C108.956 14.9237 108.146 13.0683 108.146 10.7737ZM110.326 10.8015C110.326 12.3848 110.858 13.6868 111.922 14.7073C112.98 15.7278 114.201 16.238 115.586 16.238C117.089 16.238 118.357 15.7185 119.39 14.6794C120.423 13.628 120.94 12.3477 120.94 10.8386C120.94 9.31095 120.429 8.03068 119.409 6.9978C118.394 5.95874 117.139 5.43921 115.642 5.43921C114.152 5.43921 112.893 5.95874 111.866 6.9978C110.84 8.0245 110.326 9.2924 110.326 10.8015Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t\t<svg\n\t\t\t\twidth=\"21\"\n\t\t\t\theight=\"22\"\n\t\t\t\tviewBox=\"0 0 21 22\"\n\t\t\t\tfill=\"none\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tclass=\"app-logo-small\">\n\t\t\t\t<path\n\t\t\t\t\td=\"M10.4851 0L0 20.9465H3.53702L10.4856 6.07843L17.2944 20.9465H20.9715L10.4851 0Z\"\n\t\t\t\t\tfill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M13.8399 15.793L16.2076 21.0019H11.7681L13.8399 15.793Z\" fill=\"var(--logo-color)\" />\n\t\t\t\t<path d=\"M9.04637 21.0019L6.67867 15.793L4.60693 21.0019H9.04637Z\" fill=\"var(--logo-color)\" />\n\t\t\t</svg>\n\t\t</a>\n\t\t<button class=\"layout-sidebar-anchor p-link z-2 mb-2\" type=\"button\" (click)=\"anchor()\"></button>\n\t</div>\n\n\t<div #menuContainer class=\"layout-menu-container\">\n\t\t<app-menu></app-menu>\n\t</div>\n</div>\n\n@if (globalThis.isMFEMode && globalThis.activeMF) {\n\t<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n\t\t<div #subMenuContainer class=\"layout-menu-container\">\n\t\t\t<app-sub-menu></app-sub-menu>\n\t\t</div>\n\t</div>\n}\n" }]
572
586
  }], ctorParameters: () => [{ type: LayoutService }, { type: i0.ElementRef }], propDecorators: { menuContainer: [{
573
587
  type: ViewChild,
574
588
  args: ['menuContainer']
589
+ }], subMenuContainer: [{
590
+ type: ViewChild,
591
+ args: ['subMenuContainer']
575
592
  }] } });
576
593
 
577
594
  class AppBreadcrumbComponent {
@@ -774,7 +791,9 @@ class AppLayoutComponent {
774
791
  this.renderer = renderer;
775
792
  this.router = router;
776
793
  this.route = route;
777
- this.sidebarItems = input([]);
794
+ /* Router Inputs */
795
+ this.menuItems = input([]);
796
+ this.subMenuItems = input({});
778
797
  this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {
779
798
  if (!this.menuOutsideClickListener) {
780
799
  this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {
@@ -794,6 +813,13 @@ class AppLayoutComponent {
794
813
  this.hideMenu();
795
814
  }
796
815
  });
816
+ if (this.subMenuItems()) {
817
+ this.subMenuScrollListener = this.renderer.listen(this.appSidebar.subMenuContainer.nativeElement, 'scroll', (event) => {
818
+ if (this.layoutService.isDesktop()) {
819
+ this.hideMenu();
820
+ }
821
+ });
822
+ }
797
823
  }
798
824
  if (this.layoutService.state.staticMenuMobileActive) {
799
825
  this.blockBodyScroll();
@@ -803,7 +829,10 @@ class AppLayoutComponent {
803
829
  this.hideMenu();
804
830
  });
805
831
  effect(() => {
806
- this.menuService.menuItems.set(this.sidebarItems());
832
+ this.menuService.menuItems.set(this.menuItems());
833
+ }, { allowSignalWrites: true });
834
+ effect(() => {
835
+ this.menuService.subMenuItems.set(this.subMenuItems());
807
836
  }, { allowSignalWrites: true });
808
837
  }
809
838
  blockBodyScroll() {
@@ -835,6 +864,10 @@ class AppLayoutComponent {
835
864
  this.menuScrollListener();
836
865
  this.menuScrollListener = null;
837
866
  }
867
+ if (this.subMenuScrollListener) {
868
+ this.subMenuScrollListener();
869
+ this.subMenuScrollListener = null;
870
+ }
838
871
  this.unblockBodyScroll();
839
872
  }
840
873
  get containerClass() {
@@ -870,7 +903,7 @@ class AppLayoutComponent {
870
903
  }
871
904
  }
872
905
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: MenuService }, { token: LayoutService }, { token: i0.Renderer2 }, { token: i3.Router }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
873
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", inputs: { sidebarItems: { classPropertyName: "sidebarItems", publicName: "sidebarItems", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }, { kind: "component", type: AppConfigComponent, selector: "app-config", inputs: ["minimal"] }] }); }
906
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", inputs: { menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, subMenuItems: { classPropertyName: "subMenuItems", publicName: "subMenuItems", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\n\t<app-sidebar></app-sidebar>\n\t<div class=\"layout-content-wrapper\">\n\t\t<app-topbar></app-topbar>\n\t\t<!-- <app-breadcrumb class=\"content-breadcrumb\"></app-breadcrumb> -->\n\t\t<div class=\"layout-content\">\n\t\t\t<router-outlet></router-outlet>\n\t\t</div>\n\t</div>\n\t<app-profilemenu></app-profilemenu>\n\t<app-config></app-config>\n\t<div class=\"layout-mask\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }, { kind: "component", type: AppConfigComponent, selector: "app-config", inputs: ["minimal"] }] }); }
874
907
  }
875
908
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
876
909
  type: Component,