inugami-ng 0.0.28 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/inugami-ng-components-inu-aside-menu.mjs +9 -2
- package/fesm2022/inugami-ng-components-inu-aside-menu.mjs.map +1 -1
- package/fesm2022/inugami-ng-components-inu-tool-tips.mjs +41 -20
- package/fesm2022/inugami-ng-components-inu-tool-tips.mjs.map +1 -1
- package/package.json +1 -1
- package/types/inugami-ng-components-inu-tool-tips.d.ts +12 -12
|
@@ -25,8 +25,15 @@ class InuAsideMenuChildren {
|
|
|
25
25
|
if (childLink.forceShowChildren != undefined && childLink.forceShowChildren) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
28
|
+
const targetPath = childLink.path;
|
|
29
|
+
if (!targetPath)
|
|
30
|
+
return false;
|
|
31
|
+
return this.router.isActive(targetPath, {
|
|
32
|
+
paths: 'exact',
|
|
33
|
+
queryParams: 'ignored',
|
|
34
|
+
fragment: 'ignored',
|
|
35
|
+
matrixParams: 'ignored'
|
|
36
|
+
});
|
|
30
37
|
}
|
|
31
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuAsideMenuChildren, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
39
|
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"] }] });
|
|
@@ -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 {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 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
|
+
{"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 if (!childLink.children || childLink.children.length == 0) {\n return false;\n }\n if (childLink.forceShowChildren != undefined && childLink.forceShowChildren) {\n return true;\n }\n\n const targetPath = childLink.path;\n\n if (!targetPath) return false;\n\n return this.router.isActive(targetPath, {\n paths: 'exact',\n queryParams: 'ignored',\n fragment: 'ignored',\n matrixParams: 'ignored'\n });\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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"}
|
|
@@ -11,16 +11,14 @@ class InuToolTips {
|
|
|
11
11
|
icon = input('info', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
12
12
|
message = input(...(ngDevMode ? [undefined, { debugName: "message" }] : []));
|
|
13
13
|
timeout = input(1000, ...(ngDevMode ? [{ debugName: "timeout" }] : []));
|
|
14
|
-
|
|
14
|
+
marginY = input(-70, ...(ngDevMode ? [{ debugName: "marginY" }] : []));
|
|
15
|
+
marginX = input(15, ...(ngDevMode ? [{ debugName: "marginX" }] : []));
|
|
15
16
|
autoClosable = input(true, ...(ngDevMode ? [{ debugName: "autoClosable" }] : []));
|
|
16
17
|
closeDuration = input(3000, ...(ngDevMode ? [{ debugName: "closeDuration" }] : []));
|
|
17
18
|
messageNode = viewChild('messageNode', ...(ngDevMode ? [{ debugName: "messageNode" }] : []));
|
|
18
19
|
contentNode = viewChild('contentNode', ...(ngDevMode ? [{ debugName: "contentNode" }] : []));
|
|
19
20
|
display = signal(false, ...(ngDevMode ? [{ debugName: "display" }] : []));
|
|
20
|
-
onComponent = signal(false, ...(ngDevMode ? [{ debugName: "onComponent" }] : []));
|
|
21
21
|
position = signal('', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
22
|
-
componentPosition = computed(() => this.contentNode()?.nativeElement?.getBoundingClientRect(), ...(ngDevMode ? [{ debugName: "componentPosition" }] : []));
|
|
23
|
-
messagePosition = computed(() => this.messageNode()?.nativeElement?.getBoundingClientRect(), ...(ngDevMode ? [{ debugName: "messagePosition" }] : []));
|
|
24
22
|
messageTemplate = computed(() => this.registry.getTemplate('message'), ...(ngDevMode ? [{ debugName: "messageTemplate" }] : []));
|
|
25
23
|
ctrlPressed = signal(false, ...(ngDevMode ? [{ debugName: "ctrlPressed" }] : []));
|
|
26
24
|
mouseOver = signal(false, ...(ngDevMode ? [{ debugName: "mouseOver" }] : []));
|
|
@@ -28,21 +26,35 @@ class InuToolTips {
|
|
|
28
26
|
el = inject(ElementRef);
|
|
29
27
|
closeTimer;
|
|
30
28
|
//====================================================================================================================
|
|
31
|
-
//
|
|
29
|
+
// ACTIONS
|
|
32
30
|
//====================================================================================================================
|
|
33
|
-
toggleMessage() {
|
|
34
|
-
|
|
35
|
-
if (nextState === this.display())
|
|
31
|
+
toggleMessage(state) {
|
|
32
|
+
if (state === this.display())
|
|
36
33
|
return;
|
|
37
34
|
const value = this.display();
|
|
38
35
|
this.display.set(!value);
|
|
39
36
|
this.position.set(`top:${-500}px; left:${-500}px`);
|
|
40
37
|
setTimeout(() => this.refreshPosition(), 0);
|
|
41
38
|
}
|
|
39
|
+
//====================================================================================================================
|
|
40
|
+
// EVENT
|
|
41
|
+
//====================================================================================================================
|
|
42
|
+
onScroll() {
|
|
43
|
+
if (this.display()) {
|
|
44
|
+
this.refreshPosition();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
onResize() {
|
|
48
|
+
if (this.display()) {
|
|
49
|
+
this.refreshPosition();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
42
52
|
onKeyDown(event) {
|
|
43
53
|
if (event.ctrlKey)
|
|
44
54
|
this.ctrlPressed.set(true);
|
|
45
|
-
this.
|
|
55
|
+
if (this.mouseOver()) {
|
|
56
|
+
this.openMessageIfRequired(true);
|
|
57
|
+
}
|
|
46
58
|
}
|
|
47
59
|
onKeyUp(event) {
|
|
48
60
|
if (!event.ctrlKey)
|
|
@@ -50,20 +62,20 @@ class InuToolTips {
|
|
|
50
62
|
}
|
|
51
63
|
onMouseEnter() {
|
|
52
64
|
this.mouseOver.set(true);
|
|
53
|
-
this.openMessageIfRequired();
|
|
65
|
+
this.openMessageIfRequired(true);
|
|
54
66
|
}
|
|
55
67
|
onMouseLeave() {
|
|
56
68
|
this.mouseOver.set(false);
|
|
57
69
|
}
|
|
58
|
-
openMessageIfRequired() {
|
|
70
|
+
openMessageIfRequired(state) {
|
|
59
71
|
if (this.ctrlPressed() && this.mouseOver()) {
|
|
60
|
-
this.toggleMessage();
|
|
72
|
+
this.toggleMessage(state);
|
|
61
73
|
if (this.display()) {
|
|
62
74
|
if (this.autoClosable()) {
|
|
63
75
|
if (this.autoClosable()) {
|
|
64
76
|
this.clearAutoClose();
|
|
65
77
|
this.closeTimer = setTimeout(() => {
|
|
66
|
-
this.toggleMessage();
|
|
78
|
+
this.toggleMessage(false);
|
|
67
79
|
}, this.closeDuration());
|
|
68
80
|
}
|
|
69
81
|
}
|
|
@@ -72,13 +84,16 @@ class InuToolTips {
|
|
|
72
84
|
}
|
|
73
85
|
refreshPosition() {
|
|
74
86
|
const display = this.display();
|
|
75
|
-
const compoPosition = this.
|
|
76
|
-
const msgPosition = this.
|
|
87
|
+
const compoPosition = this.contentNode()?.nativeElement?.getBoundingClientRect();
|
|
88
|
+
const msgPosition = this.messageNode()?.nativeElement?.getBoundingClientRect();
|
|
77
89
|
if (!display || !compoPosition || !msgPosition) {
|
|
78
90
|
return;
|
|
79
91
|
}
|
|
80
|
-
|
|
81
|
-
|
|
92
|
+
console.log('scroo', window.scrollY, window.scrollX);
|
|
93
|
+
const scrollTop = window.scrollY || document.documentElement.scrollTop;
|
|
94
|
+
const scrollLeft = window.scrollX || document.documentElement.scrollLeft;
|
|
95
|
+
let y = compoPosition.top + scrollTop + (this.marginY() + msgPosition.height);
|
|
96
|
+
let x = compoPosition.left + scrollLeft + (this.marginX() + compoPosition.width);
|
|
82
97
|
this.position.set(`top:${y}px; left:${x}px`);
|
|
83
98
|
}
|
|
84
99
|
clearAutoClose() {
|
|
@@ -88,12 +103,18 @@ class InuToolTips {
|
|
|
88
103
|
}
|
|
89
104
|
}
|
|
90
105
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuToolTips, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuToolTips, isStandalone: true, selector: "inu-tool-tips", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, timeout: { classPropertyName: "timeout", publicName: "timeout", isSignal: true, isRequired: false, transformFunction: null },
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: InuToolTips, isStandalone: true, selector: "inu-tool-tips", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, timeout: { classPropertyName: "timeout", publicName: "timeout", isSignal: true, isRequired: false, transformFunction: null }, marginY: { classPropertyName: "marginY", publicName: "marginY", isSignal: true, isRequired: false, transformFunction: null }, marginX: { classPropertyName: "marginX", publicName: "marginX", isSignal: true, isRequired: false, transformFunction: null }, autoClosable: { classPropertyName: "autoClosable", publicName: "autoClosable", isSignal: true, isRequired: false, transformFunction: null }, closeDuration: { classPropertyName: "closeDuration", publicName: "closeDuration", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:scroll": "onScroll()", "window:resize": "onResize()", "window:keydown": "onKeyDown($event)", "window:keyup": "onKeyUp($event)", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, providers: [InuTemplateRegistryService], viewQueries: [{ propertyName: "messageNode", first: true, predicate: ["messageNode"], descendants: true, isSignal: true }, { propertyName: "contentNode", first: true, predicate: ["contentNode"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"inu-tool-tips-message\" [ngClass]=\"{'display':display()}\" [style]=\"position()\" #messageNode>\n @if(messageTemplate()){\n <ng-container *ngTemplateOutlet=\"messageTemplate()\"></ng-container>\n } @else if (message()){\n {{message()}}\n }\n</div>\n\n<span class=\"inu-tool-tips\">\n <span class=\"inu-tool-tips-content\" #contentNode>\n <ng-content />\n </span>\n <span class=\"inu-tool-tips-button\" (click)=\"toggleMessage()\">\n <inu-icon [icon]=\"icon()\" [size]=\"0.5\"></inu-icon>\n </span>\n</span>\n\n", styles: [".inu-tool-tips{display:flex}.inu-tool-tips .inu-tool-tips-button{border-radius:1rem;width:.7rem;height:.7rem;border:1px solid var(--secondary-dark);fill:var(--secondary-dark);display:flex;justify-content:center;align-items:center}.inu-tool-tips-message{position:absolute;z-index:1000;background-color:var(--neutral-dark-extra);color:var(--secondary-light-extra);padding:.5rem;opacity:0;visibility:hidden;border-radius:4px;box-shadow:0 4px 6px #0000004d;pointer-events:none}.inu-tool-tips-message.display{opacity:1;visibility:visible;max-width:20rem;white-space:normal;overflow-wrap:anywhere}\n"], dependencies: [{ kind: "component", type: InuIcon, selector: "inu-icon", inputs: ["icon", "defaultIcon", "styleclass", "size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
92
107
|
}
|
|
93
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: InuToolTips, decorators: [{
|
|
94
109
|
type: Component,
|
|
95
|
-
args: [{ selector: 'inu-tool-tips', standalone: true, providers: [InuTemplateRegistryService], imports: [InuIcon, NgTemplateOutlet, NgClass], template: "<
|
|
96
|
-
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], timeout: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeout", required: false }] }],
|
|
110
|
+
args: [{ selector: 'inu-tool-tips', standalone: true, providers: [InuTemplateRegistryService], imports: [InuIcon, NgTemplateOutlet, NgClass], template: "<div class=\"inu-tool-tips-message\" [ngClass]=\"{'display':display()}\" [style]=\"position()\" #messageNode>\n @if(messageTemplate()){\n <ng-container *ngTemplateOutlet=\"messageTemplate()\"></ng-container>\n } @else if (message()){\n {{message()}}\n }\n</div>\n\n<span class=\"inu-tool-tips\">\n <span class=\"inu-tool-tips-content\" #contentNode>\n <ng-content />\n </span>\n <span class=\"inu-tool-tips-button\" (click)=\"toggleMessage()\">\n <inu-icon [icon]=\"icon()\" [size]=\"0.5\"></inu-icon>\n </span>\n</span>\n\n", styles: [".inu-tool-tips{display:flex}.inu-tool-tips .inu-tool-tips-button{border-radius:1rem;width:.7rem;height:.7rem;border:1px solid var(--secondary-dark);fill:var(--secondary-dark);display:flex;justify-content:center;align-items:center}.inu-tool-tips-message{position:absolute;z-index:1000;background-color:var(--neutral-dark-extra);color:var(--secondary-light-extra);padding:.5rem;opacity:0;visibility:hidden;border-radius:4px;box-shadow:0 4px 6px #0000004d;pointer-events:none}.inu-tool-tips-message.display{opacity:1;visibility:visible;max-width:20rem;white-space:normal;overflow-wrap:anywhere}\n"] }]
|
|
111
|
+
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], timeout: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeout", required: false }] }], marginY: [{ type: i0.Input, args: [{ isSignal: true, alias: "marginY", required: false }] }], marginX: [{ type: i0.Input, args: [{ isSignal: true, alias: "marginX", required: false }] }], autoClosable: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClosable", required: false }] }], closeDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDuration", required: false }] }], messageNode: [{ type: i0.ViewChild, args: ['messageNode', { isSignal: true }] }], contentNode: [{ type: i0.ViewChild, args: ['contentNode', { isSignal: true }] }], onScroll: [{
|
|
112
|
+
type: HostListener,
|
|
113
|
+
args: ['window:scroll']
|
|
114
|
+
}], onResize: [{
|
|
115
|
+
type: HostListener,
|
|
116
|
+
args: ['window:resize']
|
|
117
|
+
}], onKeyDown: [{
|
|
97
118
|
type: HostListener,
|
|
98
119
|
args: ['window:keydown', ['$event']]
|
|
99
120
|
}], onKeyUp: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inugami-ng-components-inu-tool-tips.mjs","sources":["../../../projects/inugami-ng/components/inu-tool-tips/inu-tool-tips.ts","../../../projects/inugami-ng/components/inu-tool-tips/inu-tool-tips.html","../../../projects/inugami-ng/components/inu-tool-tips/inugami-ng-components-inu-tool-tips.ts"],"sourcesContent":["import {\n Component,\n computed, effect,\n ElementRef,\n HostListener,\n inject,\n input,\n OnInit,\n signal, viewChild,\n WritableSignal\n} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {InuTemplateRegistryService} from 'inugami-ng/directives';\nimport {NgClass, NgTemplateOutlet} from '@angular/common';\n\n@Component({\n selector : 'inu-tool-tips',\n standalone : true,\n providers : [InuTemplateRegistryService],\n imports : [InuIcon, NgTemplateOutlet, NgClass],\n templateUrl: './inu-tool-tips.html',\n styleUrl : './inu-tool-tips.scss',\n })\nexport class InuToolTips {\n\n //====================================================================================================================\n // ATTRIBUTES\n //====================================================================================================================\n icon = input<string>('info');\n message = input<string>();\n timeout = input<number>(1000);\n margin = input<number>(5);\n autoClosable = input<boolean>(true);\n closeDuration = input<number>(3000);\n\n messageNode = viewChild<ElementRef<HTMLElement>>('messageNode');\n contentNode = viewChild<ElementRef<HTMLElement>>('contentNode');\n\n display = signal<boolean>(false);\n onComponent = signal<boolean>(false);\n position = signal<string>('');\n componentPosition = computed<DOMRect | undefined>(() => this.contentNode()?.nativeElement?.getBoundingClientRect());\n messagePosition = computed<DOMRect | undefined>(() => this.messageNode()?.nativeElement?.getBoundingClientRect());\n messageTemplate = computed(() => this.registry.getTemplate('message'));\n ctrlPressed = signal<boolean>(false);\n mouseOver = signal<boolean>(false);\n registry: InuTemplateRegistryService = inject(InuTemplateRegistryService);\n el = inject(ElementRef);\n\n private closeTimer?: any;\n //====================================================================================================================\n // EVENT\n //====================================================================================================================\n protected toggleMessage() {\n const nextState = !this.display();\n if (nextState === this.display()) return;\n const value = this.display();\n this.display.set(!value);\n this.position.set(`top:${-500}px; left:${-500}px`);\n setTimeout(() => this.refreshPosition(), 0);\n }\n\n @HostListener('window:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.ctrlKey) this.ctrlPressed.set(true);\n this.openMessageIfRequired();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyUp(event: KeyboardEvent) {\n if (!event.ctrlKey) this.ctrlPressed.set(false);\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.mouseOver.set(true);\n this.openMessageIfRequired();\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.mouseOver.set(false);\n }\n\n openMessageIfRequired(){\n if (this.ctrlPressed() && this.mouseOver()) {\n this.toggleMessage();\n if (this.display()) {\n if (this.autoClosable()) {\n if (this.autoClosable()) {\n this.clearAutoClose();\n this.closeTimer = setTimeout(() => {\n this.toggleMessage();\n }, this.closeDuration());\n }\n }\n }\n }\n }\n\n refreshPosition() {\n const display = this.display();\n const compoPosition = this.componentPosition();\n const msgPosition = this.messagePosition();\n if (!display || !compoPosition || !msgPosition) {\n return;\n }\n\n\n let y = compoPosition.y - (this.margin() + msgPosition.height);\n let x = compoPosition.x + (compoPosition.width);\n this.position.set(`top:${y}px; left:${x}px`);\n }\n\n private clearAutoClose() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n}\n","<span class=\"inu-tool-tips\">\n <div class=\"inu-tool-tips-message\" [ngClass]=\"{'display':display()}\" [style]=\"position()\" #messageNode>\n @if(messageTemplate()){\n <ng-container *ngTemplateOutlet=\"messageTemplate()\"></ng-container>\n } @else if (message()){\n {{message()}}\n }\n </div>\n <span class=\"inu-tool-tips-content\" #contentNode>\n <ng-content />\n </span>\n <span class=\"inu-tool-tips-button\" (click)=\"toggleMessage()\">\n <inu-icon [icon]=\"icon()\" [size]=\"0.5\"></inu-icon>\n </span>\n</span>\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAuBa,WAAW,CAAA;;;;AAKtB,IAAA,IAAI,GAAY,KAAK,CAAS,MAAM,gDAAC;IACrC,OAAO,GAAS,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAC/B,IAAA,OAAO,GAAS,KAAK,CAAS,IAAI,mDAAC;AACnC,IAAA,MAAM,GAAU,KAAK,CAAS,CAAC,kDAAC;AAChC,IAAA,YAAY,GAAI,KAAK,CAAU,IAAI,wDAAC;AACpC,IAAA,aAAa,GAAG,KAAK,CAAS,IAAI,yDAAC;AAEnC,IAAA,WAAW,GAAG,SAAS,CAA0B,aAAa,uDAAC;AAC/D,IAAA,WAAW,GAAG,SAAS,CAA0B,aAAa,uDAAC;AAE/D,IAAA,OAAO,GAAgC,MAAM,CAAU,KAAK,mDAAC;AAC7D,IAAA,WAAW,GAA4B,MAAM,CAAU,KAAK,uDAAC;AAC7D,IAAA,QAAQ,GAA+B,MAAM,CAAS,EAAE,oDAAC;AACzD,IAAA,iBAAiB,GAAsB,QAAQ,CAAsB,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,6DAAC;AACtI,IAAA,eAAe,GAAwB,QAAQ,CAAsB,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,2DAAC;AACtI,IAAA,eAAe,GAAwB,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,2DAAC;AAC3F,IAAA,WAAW,GAA4B,MAAM,CAAU,KAAK,uDAAC;AAC7D,IAAA,SAAS,GAA8B,MAAM,CAAU,KAAK,qDAAC;AAC7D,IAAA,QAAQ,GAA+B,MAAM,CAAC,0BAA0B,CAAC;AACzE,IAAA,EAAE,GAAqC,MAAM,CAAC,UAAU,CAAC;AAEjD,IAAA,UAAU;;;;IAIR,aAAa,GAAA;AACrB,QAAA,MAAM,SAAS,GAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAClC,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE;YAAE;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,IAAA,EAAO,CAAC,GAAG,CAAA,SAAA,EAAY,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC;QAClD,UAAU,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC7C;AAGA,IAAA,SAAS,CAAC,KAAoB,EAAA;QAC5B,IAAI,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,qBAAqB,EAAE;IAC9B;AAGA,IAAA,OAAO,CAAC,KAAoB,EAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IACjD;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE;IAC9B;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;IAEA,qBAAqB,GAAA;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YAC1C,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,oBAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;wBACvB,IAAI,CAAC,cAAc,EAAE;AACrB,wBAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAK;4BAChC,IAAI,CAAC,aAAa,EAAE;AACtB,wBAAA,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC1B;gBACF;YACF;QACF;IACF;IAEA,eAAe,GAAA;AACb,QAAA,MAAM,OAAO,GAAS,IAAI,CAAC,OAAO,EAAE;AACpC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAC9C,QAAA,MAAM,WAAW,GAAK,IAAI,CAAC,eAAe,EAAE;QAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE;YAC9C;QACF;AAGA,QAAA,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;QAC9D,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,IAAA,EAAO,CAAC,CAAA,SAAA,EAAY,CAAC,CAAA,EAAA,CAAI,CAAC;IAC9C;IAEQ,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAC7B;IACF;uGAhGW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EALE,CAAC,0BAA0B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBtD,6iBAgBA,EAAA,MAAA,EAAA,CAAA,wcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDG2B,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIhD,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AACgB,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,UAAA,EACf,IAAI,EAAA,SAAA,EACJ,CAAC,0BAA0B,CAAC,EAAA,OAAA,EAC5B,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAA,QAAA,EAAA,6iBAAA,EAAA,MAAA,EAAA,CAAA,wcAAA,CAAA,EAAA;AAgBX,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,aAAa,qEACb,aAAa,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA;sBA0B7D,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;sBAMzC,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;sBAKvC,YAAY;uBAAC,YAAY;;sBAMzB,YAAY;uBAAC,YAAY;;;AE/E5B;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"inugami-ng-components-inu-tool-tips.mjs","sources":["../../../projects/inugami-ng/components/inu-tool-tips/inu-tool-tips.ts","../../../projects/inugami-ng/components/inu-tool-tips/inu-tool-tips.html","../../../projects/inugami-ng/components/inu-tool-tips/inugami-ng-components-inu-tool-tips.ts"],"sourcesContent":["import {\n Component,\n computed,\n ElementRef,\n HostListener,\n inject,\n input,\n signal,\n viewChild\n} from '@angular/core';\nimport {InuIcon} from 'inugami-icons';\nimport {InuTemplateRegistryService} from 'inugami-ng/directives';\nimport {NgClass, NgTemplateOutlet} from '@angular/common';\n\n@Component({\n selector : 'inu-tool-tips',\n standalone : true,\n providers : [InuTemplateRegistryService],\n imports : [InuIcon, NgTemplateOutlet, NgClass],\n templateUrl: './inu-tool-tips.html',\n styleUrl : './inu-tool-tips.scss',\n })\nexport class InuToolTips {\n\n //====================================================================================================================\n // ATTRIBUTES\n //====================================================================================================================\n icon = input<string>('info');\n message = input<string>();\n timeout = input<number>(1000);\n marginY = input<number>(-70);\n marginX = input<number>(15);\n autoClosable = input<boolean>(true);\n closeDuration = input<number>(3000);\n\n messageNode = viewChild<ElementRef<HTMLElement>>('messageNode');\n contentNode = viewChild<ElementRef<HTMLElement>>('contentNode');\n\n display = signal<boolean>(false);\n position = signal<string>('');\n messageTemplate = computed(() => this.registry.getTemplate('message'));\n ctrlPressed = signal<boolean>(false);\n mouseOver = signal<boolean>(false);\n registry: InuTemplateRegistryService = inject(InuTemplateRegistryService);\n el = inject(ElementRef);\n\n private closeTimer?: any;\n //====================================================================================================================\n // ACTIONS\n //====================================================================================================================\n protected toggleMessage(state?: boolean) {\n if (state === this.display()) return;\n\n const value = this.display();\n this.display.set(!value);\n this.position.set(`top:${-500}px; left:${-500}px`);\n setTimeout(() => this.refreshPosition(), 0);\n }\n\n\n //====================================================================================================================\n // EVENT\n //====================================================================================================================\n @HostListener('window:scroll')\n onScroll() {\n if (this.display()) {\n this.refreshPosition();\n }\n }\n @HostListener('window:resize')\n onResize() {\n if (this.display()) {\n this.refreshPosition();\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.ctrlKey) this.ctrlPressed.set(true);\n if (this.mouseOver()) {\n this.openMessageIfRequired(true);\n }\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyUp(event: KeyboardEvent) {\n if (!event.ctrlKey) this.ctrlPressed.set(false);\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.mouseOver.set(true);\n this.openMessageIfRequired(true);\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.mouseOver.set(false);\n }\n\n openMessageIfRequired(state: boolean) {\n if (this.ctrlPressed() && this.mouseOver()) {\n this.toggleMessage(state);\n\n if (this.display()) {\n if (this.autoClosable()) {\n if (this.autoClosable()) {\n this.clearAutoClose();\n this.closeTimer = setTimeout(() => {\n this.toggleMessage(false);\n }, this.closeDuration());\n }\n }\n }\n }\n }\n\n refreshPosition() {\n const display = this.display();\n\n const compoPosition = this.contentNode()?.nativeElement?.getBoundingClientRect();\n const msgPosition = this.messageNode()?.nativeElement?.getBoundingClientRect();\n if (!display || !compoPosition || !msgPosition) {\n return;\n }\n\n\n console.log('scroo', window.scrollY,window.scrollX)\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n\n let y = compoPosition.top + scrollTop + (this.marginY() + msgPosition.height);\n let x = compoPosition.left + scrollLeft + (this.marginX() + compoPosition.width);\n\n this.position.set(`top:${y}px; left:${x}px`);\n }\n\n private clearAutoClose() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n }\n}\n","<div class=\"inu-tool-tips-message\" [ngClass]=\"{'display':display()}\" [style]=\"position()\" #messageNode>\n @if(messageTemplate()){\n <ng-container *ngTemplateOutlet=\"messageTemplate()\"></ng-container>\n } @else if (message()){\n {{message()}}\n }\n</div>\n\n<span class=\"inu-tool-tips\">\n <span class=\"inu-tool-tips-content\" #contentNode>\n <ng-content />\n </span>\n <span class=\"inu-tool-tips-button\" (click)=\"toggleMessage()\">\n <inu-icon [icon]=\"icon()\" [size]=\"0.5\"></inu-icon>\n </span>\n</span>\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
3
|
import { InuTemplateRegistryService } from 'inugami-ng/directives';
|
|
4
4
|
|
|
5
5
|
declare class InuToolTips {
|
|
6
6
|
icon: _angular_core.InputSignal<string>;
|
|
7
7
|
message: _angular_core.InputSignal<string | undefined>;
|
|
8
8
|
timeout: _angular_core.InputSignal<number>;
|
|
9
|
-
|
|
9
|
+
marginY: _angular_core.InputSignal<number>;
|
|
10
|
+
marginX: _angular_core.InputSignal<number>;
|
|
10
11
|
autoClosable: _angular_core.InputSignal<boolean>;
|
|
11
12
|
closeDuration: _angular_core.InputSignal<number>;
|
|
12
13
|
messageNode: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
13
14
|
contentNode: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
14
|
-
display: WritableSignal<boolean>;
|
|
15
|
-
|
|
16
|
-
position: WritableSignal<string>;
|
|
17
|
-
componentPosition: _angular_core.Signal<DOMRect | undefined>;
|
|
18
|
-
messagePosition: _angular_core.Signal<DOMRect | undefined>;
|
|
15
|
+
display: _angular_core.WritableSignal<boolean>;
|
|
16
|
+
position: _angular_core.WritableSignal<string>;
|
|
19
17
|
messageTemplate: _angular_core.Signal<_angular_core.TemplateRef<any> | undefined>;
|
|
20
|
-
ctrlPressed: WritableSignal<boolean>;
|
|
21
|
-
mouseOver: WritableSignal<boolean>;
|
|
18
|
+
ctrlPressed: _angular_core.WritableSignal<boolean>;
|
|
19
|
+
mouseOver: _angular_core.WritableSignal<boolean>;
|
|
22
20
|
registry: InuTemplateRegistryService;
|
|
23
21
|
el: ElementRef<any>;
|
|
24
22
|
private closeTimer?;
|
|
25
|
-
protected toggleMessage(): void;
|
|
23
|
+
protected toggleMessage(state?: boolean): void;
|
|
24
|
+
onScroll(): void;
|
|
25
|
+
onResize(): void;
|
|
26
26
|
onKeyDown(event: KeyboardEvent): void;
|
|
27
27
|
onKeyUp(event: KeyboardEvent): void;
|
|
28
28
|
onMouseEnter(): void;
|
|
29
29
|
onMouseLeave(): void;
|
|
30
|
-
openMessageIfRequired(): void;
|
|
30
|
+
openMessageIfRequired(state: boolean): void;
|
|
31
31
|
refreshPosition(): void;
|
|
32
32
|
private clearAutoClose;
|
|
33
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InuToolTips, never>;
|
|
34
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InuToolTips, "inu-tool-tips", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "timeout": { "alias": "timeout"; "required": false; "isSignal": true; }; "
|
|
34
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InuToolTips, "inu-tool-tips", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "timeout": { "alias": "timeout"; "required": false; "isSignal": true; }; "marginY": { "alias": "marginY"; "required": false; "isSignal": true; }; "marginX": { "alias": "marginX"; "required": false; "isSignal": true; }; "autoClosable": { "alias": "autoClosable"; "required": false; "isSignal": true; }; "closeDuration": { "alias": "closeDuration"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export { InuToolTips };
|