inugami-ng 0.0.24 → 0.0.26

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.
@@ -1,23 +1,40 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, Component } from '@angular/core';
2
+ import { inject, input, computed, Component } from '@angular/core';
3
3
  import { InuIcon } from 'inugami-icons';
4
4
  import { NgClass } from '@angular/common';
5
- import { RouterLinkActive, RouterLink } from '@angular/router';
5
+ import { ActivatedRoute, Router, NavigationEnd, RouterLinkActive, RouterLink } from '@angular/router';
6
+ import { toSignal } from '@angular/core/rxjs-interop';
7
+ import { filter, map } from 'rxjs';
6
8
 
7
9
  class InuAsideMenuChildren {
8
10
  //==================================================================================================================
9
11
  // ATTRIBUTES
10
12
  //==================================================================================================================
13
+ activatedRoute = inject(ActivatedRoute);
14
+ router = inject(Router);
15
+ activeFragment = toSignal(this.activatedRoute.fragment);
16
+ currentUrlString = toSignal(this.router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => this.router.url.split('?')[0])), { initialValue: this.router.url.split('?')[0] });
11
17
  children = input([], ...(ngDevMode ? [{ debugName: "children" }] : []));
12
18
  level = input(0, ...(ngDevMode ? [{ debugName: "level" }] : []));
13
19
  currentStyleClass = computed(() => ['inu-aside-menu-children', `level level-${this.level()}`]
14
20
  .join(' '), ...(ngDevMode ? [{ debugName: "currentStyleClass" }] : []));
21
+ showChildren(childLink) {
22
+ console.log('showChildren', childLink);
23
+ if (!childLink.children || childLink.children.length == 0) {
24
+ return false;
25
+ }
26
+ if (childLink.forceShowChildren != undefined && childLink.forceShowChildren) {
27
+ return true;
28
+ }
29
+ const url = this.currentUrlString();
30
+ return url === childLink.path;
31
+ }
15
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuAsideMenuChildren, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuAsideMenuChildren, isStandalone: true, selector: "inu-aside-menu-children", inputs: { children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span>{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n", styles: [".inu-aside-menu-children-grp{margin:0;padding:0;padding-left:2rem}.inu-aside-menu-children-grp>li{list-style:none}\n"], dependencies: [{ kind: "component", type: InuAsideMenuChildren, selector: "inu-aside-menu-children", inputs: ["children", "level"] }, { kind: "component", type: InuIcon, selector: "inu-icon", inputs: ["icon", "defaultIcon", "styleclass", "size"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuAsideMenuChildren, isStandalone: true, selector: "inu-aside-menu-children", inputs: { children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"childLink.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === childLink.fragment\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\"\n routerLinkActive=\"active\"\n [class]=\"childLink.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span [class]=\"childLink.styleClass!\">{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children && showChildren(childLink)) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n", styles: [".inu-aside-menu-children-grp{margin:0;padding:0;padding-left:2rem}.inu-aside-menu-children-grp>li{list-style:none}\n"], dependencies: [{ kind: "component", type: InuAsideMenuChildren, selector: "inu-aside-menu-children", inputs: ["children", "level"] }, { kind: "component", type: InuIcon, selector: "inu-icon", inputs: ["icon", "defaultIcon", "styleclass", "size"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
17
34
  }
18
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuAsideMenuChildren, decorators: [{
19
36
  type: Component,
20
- args: [{ selector: 'inu-aside-menu-children', standalone: true, imports: [InuIcon, RouterLinkActive, RouterLink], template: "@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span>{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n", styles: [".inu-aside-menu-children-grp{margin:0;padding:0;padding-left:2rem}.inu-aside-menu-children-grp>li{list-style:none}\n"] }]
37
+ args: [{ selector: 'inu-aside-menu-children', standalone: true, imports: [InuIcon, RouterLinkActive, RouterLink], template: "@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"childLink.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === childLink.fragment\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\"\n routerLinkActive=\"active\"\n [class]=\"childLink.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span [class]=\"childLink.styleClass!\">{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children && showChildren(childLink)) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n", styles: [".inu-aside-menu-children-grp{margin:0;padding:0;padding-left:2rem}.inu-aside-menu-children-grp>li{list-style:none}\n"] }]
21
38
  }], propDecorators: { children: [{ type: i0.Input, args: [{ isSignal: true, alias: "children", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }] } });
22
39
 
23
40
  class InuAsideMenu {
@@ -25,8 +42,9 @@ class InuAsideMenu {
25
42
  // ATTRIBUTES
26
43
  //==================================================================================================================
27
44
  links = input([], ...(ngDevMode ? [{ debugName: "links" }] : []));
45
+ activeFragment = toSignal(inject(ActivatedRoute).fragment);
28
46
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuAsideMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuAsideMenu, isStandalone: true, selector: "inu-aside-menu", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span>{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n", styles: [".inu-aside-menu-links{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.inu-aside-menu-links .inu-aside-menu-links-item{display:flex;flex-direction:column;list-style:none}.inu-aside-menu-links .inu-aside-menu-links-item.with-children{margin-top:1rem}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link{background-color:var(--neutral-light);border-bottom:1px solid transparent}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link:hover{border-bottom:1px solid var(--neutral)}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link{padding:.25rem;display:flex;align-items:center;flex-direction:row}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link .inu-aside-menu-link-icon{width:2rem;height:1.5rem;margin-left:.5rem}\n"], dependencies: [{ kind: "component", type: InuIcon, selector: "inu-icon", inputs: ["icon", "defaultIcon", "styleclass", "size"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: InuAsideMenuChildren, selector: "inu-aside-menu-children", inputs: ["children", "level"] }] });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuAsideMenu, isStandalone: true, selector: "inu-aside-menu", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"link.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === link.fragment\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\"\n routerLinkActive=\"active\"\n [class]=\"link.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span [class]=\"link.styleClass!\">{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n", styles: [".inu-aside-menu-links{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.inu-aside-menu-links .inu-aside-menu-links-item{display:flex;flex-direction:column;list-style:none}.inu-aside-menu-links .inu-aside-menu-links-item.with-children{margin-top:1rem}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link{background-color:var(--neutral-light);border-bottom:1px solid transparent}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link:hover{border-bottom:1px solid var(--neutral)}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link{padding:.25rem;display:flex;align-items:center;flex-direction:row}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link .inu-aside-menu-link-icon{width:2rem;height:1.5rem;margin-left:.5rem}\n"], dependencies: [{ kind: "component", type: InuIcon, selector: "inu-icon", inputs: ["icon", "defaultIcon", "styleclass", "size"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: InuAsideMenuChildren, selector: "inu-aside-menu-children", inputs: ["children", "level"] }] });
30
48
  }
31
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuAsideMenu, decorators: [{
32
50
  type: Component,
@@ -34,7 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
34
52
  NgClass,
35
53
  RouterLinkActive,
36
54
  RouterLink,
37
- InuAsideMenuChildren], template: "<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span>{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n", styles: [".inu-aside-menu-links{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.inu-aside-menu-links .inu-aside-menu-links-item{display:flex;flex-direction:column;list-style:none}.inu-aside-menu-links .inu-aside-menu-links-item.with-children{margin-top:1rem}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link{background-color:var(--neutral-light);border-bottom:1px solid transparent}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link:hover{border-bottom:1px solid var(--neutral)}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link{padding:.25rem;display:flex;align-items:center;flex-direction:row}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link .inu-aside-menu-link-icon{width:2rem;height:1.5rem;margin-left:.5rem}\n"] }]
55
+ InuAsideMenuChildren], template: "<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"link.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === link.fragment\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\"\n routerLinkActive=\"active\"\n [class]=\"link.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span [class]=\"link.styleClass!\">{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n", styles: [".inu-aside-menu-links{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.inu-aside-menu-links .inu-aside-menu-links-item{display:flex;flex-direction:column;list-style:none}.inu-aside-menu-links .inu-aside-menu-links-item.with-children{margin-top:1rem}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link{background-color:var(--neutral-light);border-bottom:1px solid transparent}.inu-aside-menu-links .inu-aside-menu-links-item.with-children>.inu-aside-menu-links-item-current-link:hover{border-bottom:1px solid var(--neutral)}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link{padding:.25rem;display:flex;align-items:center;flex-direction:row}.inu-aside-menu-links .inu-aside-menu-links-item .inu-aside-menu-links-item-current-link .inu-aside-menu-link-icon{width:2rem;height:1.5rem;margin-left:.5rem}\n"] }]
38
56
  }], propDecorators: { links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: false }] }] } });
39
57
 
40
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"inugami-ng-components-inu-aside-menu.mjs","sources":["../../../projects/inugami-ng/components/inu-aside-menu/children/inu-aside-menu-children.component.ts","../../../projects/inugami-ng/components/inu-aside-menu/children/inu-aside-menu-children.component.html","../../../projects/inugami-ng/components/inu-aside-menu/inu-aside-menu.component.ts","../../../projects/inugami-ng/components/inu-aside-menu/inu-aside-menu.component.html","../../../projects/inugami-ng/components/inu-aside-menu/inugami-ng-components-inu-aside-menu.ts"],"sourcesContent":["import {AfterViewInit, Component, computed, effect, input, signal} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {NgClass} from '@angular/common';\nimport {InuSiteLink, InuSiteLinkChildren} from 'inugami-ng/models'\nimport {RouterLink, RouterLinkActive} from '@angular/router'\n\n@Component({\n selector : 'inu-aside-menu-children',\n standalone : true,\n imports : [InuIcon, RouterLinkActive, RouterLink],\n templateUrl: './inu-aside-menu-children.component.html',\n styleUrl : './inu-aside-menu-children.component.scss',\n })\nexport class InuAsideMenuChildren {\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n children = input<InuSiteLinkChildren[]>([]);\n level = input<number>(0);\n currentStyleClass = computed(()=> ['inu-aside-menu-children', `level level-${this.level()}`]\n .join(' '));\n}\n","@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span>{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n","import {AfterViewInit, Component, computed, effect, input, signal} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {NgClass} from '@angular/common';\nimport {InuSiteLink} from 'inugami-ng/models'\nimport {RouterLink, RouterLinkActive} from '@angular/router'\nimport {InuAsideMenuChildren} from './children/inu-aside-menu-children.component'\n\n@Component({\n selector: 'inu-aside-menu',\n standalone: true,\n imports: [InuIcon,\n NgClass,\n RouterLinkActive,\n RouterLink,\n InuAsideMenuChildren],\n templateUrl: './inu-aside-menu.component.html',\n styleUrl: './inu-aside-menu.component.scss',\n})\nexport class InuAsideMenu{\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n links = input<InuSiteLink[]>([]);\n\n}\n","<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\" routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span>{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inugami-ng-components-inu-aside-menu.mjs","sources":["../../../projects/inugami-ng/components/inu-aside-menu/children/inu-aside-menu-children.component.ts","../../../projects/inugami-ng/components/inu-aside-menu/children/inu-aside-menu-children.component.html","../../../projects/inugami-ng/components/inu-aside-menu/inu-aside-menu.component.ts","../../../projects/inugami-ng/components/inu-aside-menu/inu-aside-menu.component.html","../../../projects/inugami-ng/components/inu-aside-menu/inugami-ng-components-inu-aside-menu.ts"],"sourcesContent":["import {Component, computed, inject, input} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {InuSiteLink, InuSiteLinkChildren} from 'inugami-ng/models'\nimport {ActivatedRoute, NavigationEnd, Router, RouterLink, RouterLinkActive} from '@angular/router'\nimport {toSignal} from '@angular/core/rxjs-interop'\nimport {filter, map} from 'rxjs'\n\n@Component({\n selector : 'inu-aside-menu-children',\n standalone : true,\n imports : [InuIcon, RouterLinkActive, RouterLink],\n templateUrl: './inu-aside-menu-children.component.html',\n styleUrl : './inu-aside-menu-children.component.scss',\n })\nexport class InuAsideMenuChildren {\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n private activatedRoute = inject(ActivatedRoute);\n private router = inject(Router);\n activeFragment = toSignal(this.activatedRoute.fragment);\n currentUrlString = toSignal(\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this.router.url.split('?')[0])\n ),\n { initialValue: this.router.url.split('?')[0] }\n );\n children = input<InuSiteLinkChildren[]>([]);\n level = input<number>(0);\n currentStyleClass = computed(() => ['inu-aside-menu-children', `level level-${this.level()}`]\n .join(' '));\n\n\n showChildren(childLink: InuSiteLink): boolean {\n console.log('showChildren',childLink)\n if (!childLink.children || childLink.children.length == 0) {\n return false;\n }\n if (childLink.forceShowChildren != undefined && childLink.forceShowChildren) {\n return true;\n }\n const url = this.currentUrlString();\n return url === childLink.path;\n }\n}\n","@if (children()) {\n <div [class]=\"currentStyleClass()\">\n <ul class=\"inu-aside-menu-children-grp\">\n @for (child of children(); track child) {\n <li class=\"inu-aside-menu-children-item\">\n @if (child.title) {\n <div class=\"inu-aside-menu-children-title\">{{ child.title! }}</div>\n }\n @if (child.links) {\n <ul class=\"inu-aside-menu-children-links\">\n @for (childLink of child.links; track childLink) {\n <li class=\"inu-aside-menu-children-link\">\n <div class=\"inu-aside-menu-link-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (childLink.icon) {\n <inu-icon [icon]=\"childLink.icon\" [size]=\"1.5\"></inu-icon>\n }\n </div>\n\n @if (childLink.path) {\n @if (childLink.external) {\n @if (childLink.target) {\n <a [target]=\"childLink.target\" [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n } @else {\n <a [href]=\"childLink.path\" [class]=\"childLink.styleClass!\">{{ childLink.title! }}</a>\n }\n }\n @else {\n @if(childLink.fragment){\n <a [routerLink]=\"childLink.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"childLink.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === childLink.fragment\"\n [fragment]=\"childLink.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n @else{\n <a [routerLink]=\"childLink.path\"\n routerLinkActive=\"active\"\n [class]=\"childLink.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ childLink.title! }}</a>\n }\n }\n }\n @else {\n <span [class]=\"childLink.styleClass!\">{{childLink.title!}}</span>\n }\n </div>\n\n <div class=\"inu-aside-menu-link-children\">\n @if (childLink.children && showChildren(childLink)) {\n <inu-aside-menu-children [children]=\"childLink.children\" [level]=\"level()+1\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n }\n </li>\n\n }\n </ul>\n </div>\n}\n","import {AfterViewInit, Component, computed, effect, inject, input, signal} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {NgClass} from '@angular/common';\nimport {InuSiteLink} from 'inugami-ng/models'\nimport {ActivatedRoute, RouterLink, RouterLinkActive} from '@angular/router'\nimport {InuAsideMenuChildren} from './children/inu-aside-menu-children.component'\nimport {toSignal} from '@angular/core/rxjs-interop'\n\n@Component({\n selector: 'inu-aside-menu',\n standalone: true,\n imports: [InuIcon,\n NgClass,\n RouterLinkActive,\n RouterLink,\n InuAsideMenuChildren],\n templateUrl: './inu-aside-menu.component.html',\n styleUrl: './inu-aside-menu.component.scss',\n})\nexport class InuAsideMenu{\n //==================================================================================================================\n // ATTRIBUTES\n //==================================================================================================================\n links = input<InuSiteLink[]>([]);\n activeFragment = toSignal(inject(ActivatedRoute).fragment);\n}\n","<aside class=\"inu-aside-menu\">\n @if (links()) {\n <menu>\n\n <ul class=\"inu-aside-menu-links\">\n @for (link of links(); track link) {\n <li class=\"inu-aside-menu-links-item\"\n [ngClass]=\"{'with-children': link.children!=undefined && link.children.length>0}\">\n <div class=\"inu-aside-menu-links-item-current-link\">\n <div class=\"inu-aside-menu-link-icon\">\n @if (link.icon) {\n <inu-icon [icon]=\"link.icon\" [size]=\"1.3\"></inu-icon>\n }\n </div>\n @if (link.path) {\n @if (link.external) {\n @if (link.target) {\n <a [target]=\"link.target\" [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title! }}</a>\n } @else {\n <a [href]=\"link.path\" [class]=\"link.styleClass!\">{{ link.title }}</a>\n }\n } @else {\n @if(link.fragment){\n <a [routerLink]=\"link.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n [class]=\"link.styleClass!\"\n [class.active]=\"rla.isActive && activeFragment() === link.fragment\"\n [fragment]=\"link.fragment!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n @else{\n <a [routerLink]=\"link.path\"\n routerLinkActive=\"active\"\n [class]=\"link.styleClass!\"\n [routerLinkActiveOptions]=\"{ exact: false }\">{{ link.title! }}</a>\n }\n\n }\n } @else {\n <span [class]=\"link.styleClass!\">{{ link.title! }}</span>\n }\n </div>\n\n\n <div class=\"inu-aside-menu-link-children\">\n @if (link.children) {\n <inu-aside-menu-children [children]=\"link.children\"></inu-aside-menu-children>\n }\n </div>\n </li>\n }\n </ul>\n\n </menu>\n }\n</aside>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inugami-ng-models.mjs","sources":["../../../projects/inugami-ng/models/site-link.model.ts","../../../projects/inugami-ng/models/inugami-ng-models.ts"],"sourcesContent":["export const TARGET_BLANK = '_blank';\nexport const TARGET_SELF = '_self';\nexport const TARGET_PARENT = '_parent';\nexport interface InuSiteLink{\n title:string;\n path?:string;\n fragment?:string;\n icon?:string;\n styleClass?:string;\n external?:boolean;\n target?:'_blank'|'_self'|'_parent',\n children?: InuSiteLinkChildren[];\n gaEvent?:string;\n gaCategory?:string;\n}\n\nexport interface InuSiteLinkChildren{\n links?: InuSiteLink[];\n title?:string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAO,MAAM,YAAY,GAAG;AACrB,MAAM,WAAW,GAAG;AACpB,MAAM,aAAa,GAAG;;ACF7B;;AAEG;;;;"}
1
+ {"version":3,"file":"inugami-ng-models.mjs","sources":["../../../projects/inugami-ng/models/site-link.model.ts","../../../projects/inugami-ng/models/inugami-ng-models.ts"],"sourcesContent":["export const TARGET_BLANK = '_blank';\nexport const TARGET_SELF = '_self';\nexport const TARGET_PARENT = '_parent';\nexport interface InuSiteLink{\n title:string;\n path?:string;\n fragment?:string;\n icon?:string;\n styleClass?:string;\n external?:boolean;\n target?:'_blank'|'_self'|'_parent',\n children?: InuSiteLinkChildren[];\n forceShowChildren?:boolean;\n gaEvent?:string;\n gaCategory?:string;\n}\n\nexport interface InuSiteLinkChildren{\n links?: InuSiteLink[];\n title?:string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAO,MAAM,YAAY,GAAG;AACrB,MAAM,WAAW,GAAG;AACpB,MAAM,aAAa,GAAG;;ACF7B;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inugami-ng",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "license": "GPL-3.0-only",
5
5
  "description": "Inugami project angular library",
6
6
  "keywords": [
@@ -1,10 +1,11 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { InuSiteLink } from 'inugami-ng/models';
3
3
 
4
4
  declare class InuAsideMenu {
5
- links: i0.InputSignal<InuSiteLink[]>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<InuAsideMenu, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<InuAsideMenu, "inu-aside-menu", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5
+ links: _angular_core.InputSignal<InuSiteLink[]>;
6
+ activeFragment: _angular_core.Signal<string | null | undefined>;
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InuAsideMenu, never>;
8
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InuAsideMenu, "inu-aside-menu", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8
9
  }
9
10
 
10
11
  export { InuAsideMenu };
@@ -88,6 +88,7 @@ interface InuSiteLink {
88
88
  external?: boolean;
89
89
  target?: '_blank' | '_self' | '_parent';
90
90
  children?: InuSiteLinkChildren[];
91
+ forceShowChildren?: boolean;
91
92
  gaEvent?: string;
92
93
  gaCategory?: string;
93
94
  }