@sebgroup/green-angular 6.1.3 → 6.2.0-rc.20250901144953055
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/esm2022/lib/context-menu/context-menu.module.mjs +15 -3
- package/esm2022/lib/datepicker/datepicker.module.mjs +15 -3
- package/esm2022/lib/dropdown/dropdown.module.mjs +15 -3
- package/esm2022/lib/shared/core-element/core-element.directive.mjs +11 -13
- package/esm2022/lib/shared/core-renderer/core-renderer.mjs +31 -14
- package/esm2022/lib/shared/scope-resolver.mjs +9 -0
- package/esm2022/lib/shared/shared.module.mjs +2 -1
- package/esm2022/src/lib/context-menu/context-menu.module.mjs +15 -3
- package/esm2022/src/lib/datepicker/datepicker.module.mjs +15 -3
- package/esm2022/src/lib/dropdown/dropdown.module.mjs +15 -3
- package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +11 -13
- package/esm2022/src/lib/shared/core-renderer/core-renderer.mjs +31 -14
- package/esm2022/src/lib/shared/scope-resolver.mjs +9 -0
- package/esm2022/src/lib/shared/shared.module.mjs +2 -1
- package/esm2022/src/v-angular/alert/alert.component.mjs +2 -2
- package/esm2022/v-angular/alert/alert.component.mjs +2 -2
- package/esm2022/v-angular/v-angular.module.mjs +15 -3
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +14 -2
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +14 -2
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +14 -2
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +81 -59
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +2 -2
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-v-angular.mjs +16 -4
- package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular.mjs +119 -64
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
- package/lib/shared/core-element/core-element.directive.d.ts +1 -0
- package/lib/shared/core-renderer/core-renderer.d.ts +24 -5
- package/lib/shared/scope-resolver.d.ts +5 -0
- package/lib/shared/shared.module.d.ts +1 -0
- package/package.json +8 -8
- package/src/lib/shared/core-element/core-element.directive.d.ts +1 -0
- package/src/lib/shared/core-renderer/core-renderer.d.ts +24 -5
- package/src/lib/shared/scope-resolver.d.ts +5 -0
- package/src/lib/shared/shared.module.d.ts +1 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
3
|
+
import { NggCoreWrapperModule, SCOPE_RESOLVER, } from '@sebgroup/green-angular/src/lib/shared';
|
|
4
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
4
5
|
import { NggvAlertModule } from './alert';
|
|
5
6
|
import { NggvBaseControlValueAccessorModule } from './base-control-value-accessor';
|
|
6
7
|
import { NggvBreadcrumbsModule } from './breadcrumbs';
|
|
@@ -55,7 +56,12 @@ export class NggvModule {
|
|
|
55
56
|
NggvToastModule,
|
|
56
57
|
NggvTooltipModule,
|
|
57
58
|
NggvTypeaheadModule] }); }
|
|
58
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvModule,
|
|
59
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggvModule, providers: [
|
|
60
|
+
{
|
|
61
|
+
provide: SCOPE_RESOLVER,
|
|
62
|
+
useValue: { getScopedTagName },
|
|
63
|
+
},
|
|
64
|
+
], imports: [CommonModule, NggvCharacterCountdownDirectiveModule,
|
|
59
65
|
NggCoreWrapperModule,
|
|
60
66
|
NggvSlugPipeModule,
|
|
61
67
|
NggvAlertModule,
|
|
@@ -115,6 +121,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
115
121
|
NggvTooltipModule,
|
|
116
122
|
NggvTypeaheadModule,
|
|
117
123
|
],
|
|
124
|
+
providers: [
|
|
125
|
+
{
|
|
126
|
+
provide: SCOPE_RESOLVER,
|
|
127
|
+
useValue: { getScopedTagName },
|
|
128
|
+
},
|
|
129
|
+
],
|
|
118
130
|
}]
|
|
119
131
|
}] });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidi1hbmd1bGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL3YtYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFeEMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixjQUFjLEdBQ2YsTUFBTSx3Q0FBd0MsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2QyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQTtBQUN4RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDM0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FB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QUU7eUJBQy9CO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQge1xuICBOZ2dDb3JlV3JhcHBlck1vZHVsZSxcbiAgU0NPUEVfUkVTT0xWRVIsXG59IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy9saWIvc2hhcmVkJ1xuaW1wb3J0IHsgZ2V0U2NvcGVkVGFnTmFtZSB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL3Njb3BpbmcnXG5pbXBvcnQgeyBOZ2d2QWxlcnRNb2R1bGUgfSBmcm9tICcuL2FsZXJ0J1xuaW1wb3J0IHsgTmdndkJhc2VDb250cm9sVmFsdWVBY2Nlc3Nvck1vZHVsZSB9IGZyb20gJy4vYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yJ1xuaW1wb3J0IHsgTmdndkJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnLi9icmVhZGNydW1icydcbmltcG9ydCB7IE5nZ3ZCdXR0b25Nb2R1bGUgfSBmcm9tICcuL2J1dHRvbidcbmltcG9ydCB7IE5nZ3ZDYXJkTW9kdWxlIH0gZnJvbSAnLi9jYXJkJ1xuaW1wb3J0IHsgTmdndkNoYXJhY3RlckNvdW50ZG93bkRpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4vY2hhcmFjdGVyLWNvdW50ZG93bi9jaGFyYWN0ZXItY291bnRkb3duLm1vZHVsZSdcbmltcG9ydCB7IE5nZ3ZDaGVja2JveE1vZHVsZSB9IGZyb20gJy4vY2hlY2tib3gnXG5pbXBvcnQgeyBOZ2d2RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJy4vZGF0ZXBpY2tlcidcbmltcG9ydCB7IE5nZ3ZEcmFnRHJvcE1vZHVsZSB9IGZyb20gJy4vZHJhZy1kcm9wJ1xuaW1wb3J0IHsgTmdndkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9kcm9wZG93bidcbmltcG9ydCB7IE5nZ3ZUeXBlYWhlYWRNb2R1bGUgfSBmcm9tICcuL2Ryb3Bkb3duL3R5cGVhaGVhZC90eXBlYWhlYWQubW9kdWxlJ1xuaW1wb3J0IHsgTmdndkV4dGVybmFsTGlua0RpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4vZXh0ZXJuYWwtbGluaydcbmltcG9ydCB7IE5nZ3ZJMThuTW9kdWxlIH0gZnJvbSAnLi9pMThuJ1xuaW1wb3J0IHsgTmdndkluZm9DaXJjbGVNb2R1bGUgfSBmcm9tICcuL2luZm8tY2lyY2xlJ1xuaW1wb3J0IHsgTmdndklucHV0TW9kdWxlIH0gZnJvbSAnLi9pbnB1dCdcbmltcG9ydCB7IE5nZ3ZJbnB1dE1hc2tNb2R1bGUgfSBmcm9tICcuL2lucHV0LW1hc2snXG5pbXBvcnQgeyBOZ2d2TW9kYWxNb2R1bGUgfSBmcm9tICcuL21vZGFsJ1xuaW1wb3J0IHsgTmdndlBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuL3BhZ2luYXRpb24nXG5pbXBvcnQgeyBOZ2d2UmFkaW9Nb2R1bGUgfSBmcm9tICcuL3JhZGlvJ1xuaW1wb3J0IHsgTmdndlNsdWdQaXBlTW9kdWxlIH0gZnJvbSAnLi9zbHVnJ1xuaW1wb3J0IHsgTmdndlRhYmxlTW9kdWxlIH0gZnJvbSAnLi90YWJsZSdcbmltcG9ydCB7IE5nZ3ZUYWJzTW9kdWxlIH0gZnJvbSAnLi90YWJzJ1xuaW1wb3J0IHsgTmdndlRleHRhcmVhTW9kdWxlIH0gZnJvbSAnLi90ZXh0YXJlYSdcbmltcG9ydCB7IE5nZ3ZUb2FzdE1vZHVsZSB9IGZyb20gJy4vdG9hc3QnXG5pbXBvcnQgeyBOZ2d2VG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vdG9vbHRpcCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ2d2Q2hhcmFjdGVyQ291bnRkb3duRGlyZWN0aXZlTW9kdWxlLFxuICAgIE5nZ0NvcmVXcmFwcGVyTW9kdWxlLFxuICAgIE5nZ3ZTbHVnUGlwZU1vZHVsZSxcbiAgICBOZ2d2QWxlcnRNb2R1bGUsXG4gICAgTmdndkJhc2VDb250cm9sVmFsdWVBY2Nlc3Nvck1vZHVsZSxcbiAgICBOZ2d2QnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgTmdndkJ1dHRvbk1vZHVsZSxcbiAgICBOZ2d2Q2FyZE1vZHVsZSxcbiAgICBOZ2d2Q2hlY2tib3hNb2R1bGUsXG4gICAgTmdndkRhdGVwaWNrZXJNb2R1bGUsXG4gICAgTmdndkRyYWdEcm9wTW9kdWxlLFxuICAgIE5nZ3ZEcm9wZG93bk1vZHVsZSxcbiAgICBOZ2d2RXh0ZXJuYWxMaW5rRGlyZWN0aXZlTW9kdWxlLFxuICAgIE5nZ3ZJMThuTW9kdWxlLFxuICAgIE5nZ3ZJbmZvQ2lyY2xlTW9kdWxlLFxuICAgIE5nZ3ZJbnB1dE1hc2tNb2R1bGUsXG4gICAgTmdndklucHV0TW9kdWxlLFxuICAgIE5nZ3ZNb2RhbE1vZHVsZSxcbiAgICBOZ2d2UGFnaW5hdGlvbk1vZHVsZSxcbiAgICBOZ2d2UmFkaW9Nb2R1bGUsXG4gICAgTmdndlRhYmxlTW9kdWxlLFxuICAgIE5nZ3ZUYWJzTW9kdWxlLFxuICAgIE5nZ3ZUZXh0YXJlYU1vZHVsZSxcbiAgICBOZ2d2VG9hc3RNb2R1bGUsXG4gICAgTmdndlRvb2x0aXBNb2R1bGUsXG4gICAgTmdndlR5cGVhaGVhZE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0NPUEVfUkVTT0xWRVIsXG4gICAgICB1c2VWYWx1ZTogeyBnZXRTY29wZWRUYWdOYW1lIH0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdndk1vZHVsZSB7fVxuIl19
|
|
@@ -5,7 +5,8 @@ import * as ContextMenuTransStyles from '@sebgroup/green-core/components/context
|
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import * as i2 from '@sebgroup/green-angular/src/lib/shared';
|
|
8
|
-
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
8
|
+
import { NggCoreWrapperModule, SCOPE_RESOLVER } from '@sebgroup/green-angular/src/lib/shared';
|
|
9
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
9
10
|
|
|
10
11
|
class NggContextMenuComponent {
|
|
11
12
|
constructor(elementRef) {
|
|
@@ -78,7 +79,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
78
79
|
class NggContextMenuModule {
|
|
79
80
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
80
81
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] }); }
|
|
81
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggContextMenuModule,
|
|
82
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggContextMenuModule, providers: [
|
|
83
|
+
{
|
|
84
|
+
provide: SCOPE_RESOLVER,
|
|
85
|
+
useValue: { getScopedTagName },
|
|
86
|
+
},
|
|
87
|
+
], imports: [CommonModule, NggCoreWrapperModule] }); }
|
|
82
88
|
}
|
|
83
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggContextMenuModule, decorators: [{
|
|
84
90
|
type: NgModule,
|
|
@@ -86,6 +92,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
86
92
|
declarations: [NggContextMenuComponent],
|
|
87
93
|
imports: [CommonModule, NggCoreWrapperModule],
|
|
88
94
|
exports: [NggContextMenuComponent],
|
|
95
|
+
providers: [
|
|
96
|
+
{
|
|
97
|
+
provide: SCOPE_RESOLVER,
|
|
98
|
+
useValue: { getScopedTagName },
|
|
99
|
+
},
|
|
100
|
+
],
|
|
89
101
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
90
102
|
}]
|
|
91
103
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sebgroup-green-angular-src-lib-context-menu.mjs","sources":["../../../../libs/angular/src/lib/context-menu/context-menu.component.ts","../../../../libs/angular/src/lib/context-menu/context-menu.component.html","../../../../libs/angular/src/lib/context-menu/context-menu.module.ts","../../../../libs/angular/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core'\n\nimport { DropdownOption } from '@sebgroup/green-angular/src/lib/dropdown'\nimport { GdsContextMenu } from '@sebgroup/green-core/components/context-menu/context-menu.component.js'\nimport * as ContextMenuTransStyles from '@sebgroup/green-core/components/context-menu/context-menu.trans.styles.js'\n\n/**\n * MenuItems extends DropDown option and adds the posibility to pass a custom template for just one item.\n */\ninterface MenuItems extends DropdownOption {\n template?: TemplateRef<unknown>\n}\n\n@Component({\n selector: 'ngg-context-menu',\n templateUrl: './context-menu.component.html',\n})\nexport class NggContextMenuComponent {\n /**\n * Placement of the popover relative to the anchor element.\n */\n @Input() direction: 'ltr' | 'rtl' = 'ltr'\n\n /**\n * List of items to be displayed in the context menu.\n */\n @Input() menuItems: MenuItems[] = []\n\n /**\n * Custom menu item template.\n */\n @Input() menuItemTemplate: TemplateRef<unknown> | null = null\n\n /**\n * Custom menu trigger template.\n */\n @Input() menuAnchorTemplate: TemplateRef<unknown> | null = null\n\n /**\n * Emits when a menu item is clicked.\n */\n @Output() contextMenuItemClicked: EventEmitter<DropdownOption> =\n new EventEmitter<DropdownOption>()\n\n @ViewChild('contextMenuPopover') popover!: ElementRef<HTMLElement>\n @ViewChild('contextMenuAnchor') anchor!: ElementRef<HTMLElement>\n\n isActive = false\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n GdsContextMenu.define()\n ContextMenuTransStyles.register()\n }\n\n get placement(): string {\n return this.direction === 'ltr' ? 'bottom-start' : 'bottom-end'\n }\n\n open(): void {\n if (this.isActive) {\n this.close()\n return\n }\n\n this.isActive = true\n }\n\n close(): void {\n this.isActive = false\n }\n\n onItemClick(item: DropdownOption): void {\n this.contextMenuItemClicked.emit(item)\n this.close()\n }\n}\n","<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport {
|
|
1
|
+
{"version":3,"file":"sebgroup-green-angular-src-lib-context-menu.mjs","sources":["../../../../libs/angular/src/lib/context-menu/context-menu.component.ts","../../../../libs/angular/src/lib/context-menu/context-menu.component.html","../../../../libs/angular/src/lib/context-menu/context-menu.module.ts","../../../../libs/angular/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core'\n\nimport { DropdownOption } from '@sebgroup/green-angular/src/lib/dropdown'\nimport { GdsContextMenu } from '@sebgroup/green-core/components/context-menu/context-menu.component.js'\nimport * as ContextMenuTransStyles from '@sebgroup/green-core/components/context-menu/context-menu.trans.styles.js'\n\n/**\n * MenuItems extends DropDown option and adds the posibility to pass a custom template for just one item.\n */\ninterface MenuItems extends DropdownOption {\n template?: TemplateRef<unknown>\n}\n\n@Component({\n selector: 'ngg-context-menu',\n templateUrl: './context-menu.component.html',\n})\nexport class NggContextMenuComponent {\n /**\n * Placement of the popover relative to the anchor element.\n */\n @Input() direction: 'ltr' | 'rtl' = 'ltr'\n\n /**\n * List of items to be displayed in the context menu.\n */\n @Input() menuItems: MenuItems[] = []\n\n /**\n * Custom menu item template.\n */\n @Input() menuItemTemplate: TemplateRef<unknown> | null = null\n\n /**\n * Custom menu trigger template.\n */\n @Input() menuAnchorTemplate: TemplateRef<unknown> | null = null\n\n /**\n * Emits when a menu item is clicked.\n */\n @Output() contextMenuItemClicked: EventEmitter<DropdownOption> =\n new EventEmitter<DropdownOption>()\n\n @ViewChild('contextMenuPopover') popover!: ElementRef<HTMLElement>\n @ViewChild('contextMenuAnchor') anchor!: ElementRef<HTMLElement>\n\n isActive = false\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n GdsContextMenu.define()\n ContextMenuTransStyles.register()\n }\n\n get placement(): string {\n return this.direction === 'ltr' ? 'bottom-start' : 'bottom-end'\n }\n\n open(): void {\n if (this.isActive) {\n this.close()\n return\n }\n\n this.isActive = true\n }\n\n close(): void {\n this.isActive = false\n }\n\n onItemClick(item: DropdownOption): void {\n this.contextMenuItemClicked.emit(item)\n this.close()\n }\n}\n","<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport {\n NggCoreWrapperModule,\n SCOPE_RESOLVER,\n} from '@sebgroup/green-angular/src/lib/shared'\nimport { getScopedTagName } from '@sebgroup/green-core/scoping'\nimport { NggContextMenuComponent } from './context-menu.component'\n\n@NgModule({\n declarations: [NggContextMenuComponent],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [NggContextMenuComponent],\n providers: [\n {\n provide: SCOPE_RESOLVER,\n useValue: { getScopedTagName },\n },\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ import { randomId } from '@sebgroup/extract';
|
|
|
6
6
|
import { GdsDatepicker } from '@sebgroup/green-core/components/datepicker/datepicker.component.js';
|
|
7
7
|
import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js';
|
|
8
8
|
import * as i1 from '@sebgroup/green-angular/src/lib/shared';
|
|
9
|
-
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
9
|
+
import { NggCoreWrapperModule, SCOPE_RESOLVER } from '@sebgroup/green-angular/src/lib/shared';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
11
12
|
|
|
12
13
|
class NggDatepickerComponent {
|
|
13
14
|
get options() {
|
|
@@ -143,7 +144,12 @@ function dateValidator(dates) {
|
|
|
143
144
|
class NggDatepickerModule {
|
|
144
145
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
145
146
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] }); }
|
|
146
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDatepickerModule,
|
|
147
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDatepickerModule, providers: [
|
|
148
|
+
{
|
|
149
|
+
provide: SCOPE_RESOLVER,
|
|
150
|
+
useValue: { getScopedTagName },
|
|
151
|
+
},
|
|
152
|
+
], imports: [CommonModule, NggCoreWrapperModule] }); }
|
|
147
153
|
}
|
|
148
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDatepickerModule, decorators: [{
|
|
149
155
|
type: NgModule,
|
|
@@ -151,6 +157,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
151
157
|
declarations: [NggDatepickerComponent],
|
|
152
158
|
imports: [CommonModule, NggCoreWrapperModule],
|
|
153
159
|
exports: [NggDatepickerComponent],
|
|
160
|
+
providers: [
|
|
161
|
+
{
|
|
162
|
+
provide: SCOPE_RESOLVER,
|
|
163
|
+
useValue: { getScopedTagName },
|
|
164
|
+
},
|
|
165
|
+
],
|
|
154
166
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
155
167
|
}]
|
|
156
168
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sebgroup-green-angular-src-lib-datepicker.mjs","sources":["../../../../libs/angular/src/lib/datepicker/datepicker.component.ts","../../../../libs/angular/src/lib/datepicker/datepicker.component.html","../../../../libs/angular/src/lib/datepicker/datepicker.module.ts","../../../../libs/angular/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms'\nimport { endOfDay, startOfDay } from 'date-fns'\n\nimport { randomId } from '@sebgroup/extract'\nimport { GdsDatepicker } from '@sebgroup/green-core/components/datepicker/datepicker.component.js'\nimport * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js'\n\nexport interface Attributes {\n id?: string\n role?: string\n style?: CSSStyleDeclaration\n tabIndex?: number\n}\n\nexport interface ElementProps {\n attributes: Attributes\n classes: string[]\n}\n\nexport interface DatepickerOptions {\n label?: string\n currentDate?: Date | string\n selectedDate?: Date | string\n showWeeks?: boolean\n minDate?: Date\n maxDate?: Date\n dateFormat?: string\n onChange?: (selectedDate: Date) => void\n}\n\n@Component({\n selector: 'ngg-datepicker',\n templateUrl: 'datepicker.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggDatepickerComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggDatepickerComponent\n implements ControlValueAccessor, AfterViewInit\n{\n @Input() size?: 'small' | 'medium'\n @Input() hideLabel?: boolean\n @Input() disabledWeekends?: boolean\n @Input() disabledDates?: Date[]\n\n @Input()\n get options(): DatepickerOptions {\n return <DatepickerOptions>this._options\n }\n set options(value: DatepickerOptions) {\n this._options = value\n }\n\n get showWeekNumbers(): boolean {\n return this.options?.showWeeks ?? false\n }\n\n get dateFormat(): string {\n return this.options?.dateFormat ?? 'y-m-d'\n }\n\n @Input()\n get value(): string | Date | undefined {\n return this._value\n }\n set value(newValue: string | Date | undefined) {\n if (typeof newValue === 'string') {\n newValue = new Date(newValue)\n }\n if (newValue !== this._value) {\n this._value = newValue || undefined\n }\n }\n\n @Input() id?: string = randomId()\n @Input() label?: string\n @Input() isValid: boolean | null = null\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n\n onChangeFn?: (value: any) => void\n onTouchedFn?: any\n\n _value: Date | undefined\n private _options?: DatepickerOptions\n\n get min(): Date | undefined {\n const minDate = this.options?.minDate\n return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1)\n }\n\n get max(): Date | undefined {\n const maxDate = this.options?.maxDate\n return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1)\n }\n\n constructor(private _cdr: ChangeDetectorRef) {\n GdsDatepicker.define()\n DatepickerTransStyles.register()\n }\n\n writeValue(value: any): void {\n this.value = value\n this._cdr.detectChanges()\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedFn = fn\n }\n\n onDateChange(evt: Event) {\n const target = evt.target as GdsDatepicker\n\n this.value = target.value\n\n this.valueChange.emit(target.value)\n this.onChangeFn && this.onChangeFn(target.value)\n }\n\n ngAfterViewInit(): void {\n this._cdr.detectChanges()\n }\n}\n\nexport function dateValidator(dates?: { min?: Date; max?: Date }): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value\n if (!value) {\n return null\n }\n const newDate = new Date(value)\n const isValidDate = !isNaN(newDate.getTime())\n if (!isValidDate) {\n return { validDate: true }\n }\n\n const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true\n const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true\n\n if (!validMinDate && dates?.min) {\n return {\n validDate: {\n minDate: startOfDay(dates.min),\n actualDate: newDate,\n },\n }\n }\n if (!validMaxDate && dates?.max) {\n return {\n validDate: {\n maxDate: endOfDay(dates.max),\n actualDate: newDate,\n },\n }\n }\n\n return null\n }\n}\n","<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size === 'small' ? 'small' : 'large'\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggDatepickerComponent } from './datepicker.component'\n\n@NgModule({\n declarations: [NggDatepickerComponent],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [NggDatepickerComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sebgroup-green-angular-src-lib-datepicker.mjs","sources":["../../../../libs/angular/src/lib/datepicker/datepicker.component.ts","../../../../libs/angular/src/lib/datepicker/datepicker.component.html","../../../../libs/angular/src/lib/datepicker/datepicker.module.ts","../../../../libs/angular/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms'\nimport { endOfDay, startOfDay } from 'date-fns'\n\nimport { randomId } from '@sebgroup/extract'\nimport { GdsDatepicker } from '@sebgroup/green-core/components/datepicker/datepicker.component.js'\nimport * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js'\n\nexport interface Attributes {\n id?: string\n role?: string\n style?: CSSStyleDeclaration\n tabIndex?: number\n}\n\nexport interface ElementProps {\n attributes: Attributes\n classes: string[]\n}\n\nexport interface DatepickerOptions {\n label?: string\n currentDate?: Date | string\n selectedDate?: Date | string\n showWeeks?: boolean\n minDate?: Date\n maxDate?: Date\n dateFormat?: string\n onChange?: (selectedDate: Date) => void\n}\n\n@Component({\n selector: 'ngg-datepicker',\n templateUrl: 'datepicker.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggDatepickerComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggDatepickerComponent\n implements ControlValueAccessor, AfterViewInit\n{\n @Input() size?: 'small' | 'medium'\n @Input() hideLabel?: boolean\n @Input() disabledWeekends?: boolean\n @Input() disabledDates?: Date[]\n\n @Input()\n get options(): DatepickerOptions {\n return <DatepickerOptions>this._options\n }\n set options(value: DatepickerOptions) {\n this._options = value\n }\n\n get showWeekNumbers(): boolean {\n return this.options?.showWeeks ?? false\n }\n\n get dateFormat(): string {\n return this.options?.dateFormat ?? 'y-m-d'\n }\n\n @Input()\n get value(): string | Date | undefined {\n return this._value\n }\n set value(newValue: string | Date | undefined) {\n if (typeof newValue === 'string') {\n newValue = new Date(newValue)\n }\n if (newValue !== this._value) {\n this._value = newValue || undefined\n }\n }\n\n @Input() id?: string = randomId()\n @Input() label?: string\n @Input() isValid: boolean | null = null\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n\n onChangeFn?: (value: any) => void\n onTouchedFn?: any\n\n _value: Date | undefined\n private _options?: DatepickerOptions\n\n get min(): Date | undefined {\n const minDate = this.options?.minDate\n return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1)\n }\n\n get max(): Date | undefined {\n const maxDate = this.options?.maxDate\n return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1)\n }\n\n constructor(private _cdr: ChangeDetectorRef) {\n GdsDatepicker.define()\n DatepickerTransStyles.register()\n }\n\n writeValue(value: any): void {\n this.value = value\n this._cdr.detectChanges()\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedFn = fn\n }\n\n onDateChange(evt: Event) {\n const target = evt.target as GdsDatepicker\n\n this.value = target.value\n\n this.valueChange.emit(target.value)\n this.onChangeFn && this.onChangeFn(target.value)\n }\n\n ngAfterViewInit(): void {\n this._cdr.detectChanges()\n }\n}\n\nexport function dateValidator(dates?: { min?: Date; max?: Date }): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value\n if (!value) {\n return null\n }\n const newDate = new Date(value)\n const isValidDate = !isNaN(newDate.getTime())\n if (!isValidDate) {\n return { validDate: true }\n }\n\n const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true\n const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true\n\n if (!validMinDate && dates?.min) {\n return {\n validDate: {\n minDate: startOfDay(dates.min),\n actualDate: newDate,\n },\n }\n }\n if (!validMaxDate && dates?.max) {\n return {\n validDate: {\n maxDate: endOfDay(dates.max),\n actualDate: newDate,\n },\n }\n }\n\n return null\n }\n}\n","<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size === 'small' ? 'small' : 'large'\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport {\n NggCoreWrapperModule,\n SCOPE_RESOLVER,\n} from '@sebgroup/green-angular/src/lib/shared'\nimport { getScopedTagName } from '@sebgroup/green-core/scoping'\nimport { NggDatepickerComponent } from './datepicker.component'\n\n@NgModule({\n declarations: [NggDatepickerComponent],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [NggDatepickerComponent],\n providers: [\n {\n provide: SCOPE_RESOLVER,\n useValue: { getScopedTagName },\n },\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@ import * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/d
|
|
|
6
6
|
import * as i1 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
import * as i2 from '@sebgroup/green-angular/src/lib/shared';
|
|
9
|
-
import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
|
|
9
|
+
import { NggCoreWrapperModule, SCOPE_RESOLVER } from '@sebgroup/green-angular/src/lib/shared';
|
|
10
|
+
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
10
11
|
|
|
11
12
|
class NggDropdownButtonDirective {
|
|
12
13
|
constructor(templateRef) {
|
|
@@ -277,7 +278,12 @@ class NggDropdownModule {
|
|
|
277
278
|
NggDropdownButtonDirective], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDropdownComponent,
|
|
278
279
|
NggDropdownOptionDirective,
|
|
279
280
|
NggDropdownButtonDirective] }); }
|
|
280
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDropdownModule,
|
|
281
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDropdownModule, providers: [
|
|
282
|
+
{
|
|
283
|
+
provide: SCOPE_RESOLVER,
|
|
284
|
+
useValue: { getScopedTagName },
|
|
285
|
+
},
|
|
286
|
+
], imports: [CommonModule, NggCoreWrapperModule] }); }
|
|
281
287
|
}
|
|
282
288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
283
289
|
type: NgModule,
|
|
@@ -293,6 +299,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
293
299
|
NggDropdownOptionDirective,
|
|
294
300
|
NggDropdownButtonDirective,
|
|
295
301
|
],
|
|
302
|
+
providers: [
|
|
303
|
+
{
|
|
304
|
+
provide: SCOPE_RESOLVER,
|
|
305
|
+
useValue: { getScopedTagName },
|
|
306
|
+
},
|
|
307
|
+
],
|
|
296
308
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
297
309
|
}]
|
|
298
310
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sebgroup-green-angular-src-lib-dropdown.mjs","sources":["../../../../libs/angular/src/lib/dropdown/dropdown-button.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown-option.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.html","../../../../libs/angular/src/lib/dropdown/dropdown.module.ts","../../../../libs/angular/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[nggDropdownButton]',\n})\nexport class NggDropdownButtonDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[nggDropdownOption]',\n})\nexport class NggDropdownOptionDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms'\n\nimport type { GdsOption } from '@sebgroup/green-core/components/dropdown/index.js'\n\nimport { GdsDropdown } from '@sebgroup/green-core/components/dropdown/dropdown.component.js'\nimport * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\n\nexport type CompareWith<T = any> = (o1: T, o2: T) => boolean\nexport type SearchFilter<T = any> = (search: string, value: T) => boolean\nexport type DropdownPlacements = 'bottom-start' | 'top-start'\nexport interface DropdownTexts {\n select?: string\n selected?: string\n placeholder?: string\n}\nexport interface DropdownOption<T = any> {\n label?: string\n value?: T\n selected?: boolean\n heading?: boolean\n [key: string]: any\n}\n\n@Component({\n selector: 'ngg-dropdown',\n templateUrl: 'dropdown.component.html',\n styleUrls: ['dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggDropdownComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggDropdownComponent\n implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit\n{\n errorMessage?: string\n errorMessageObserver?: MutationObserver\n @Input() id?: string\n @Input() loop?: boolean = false\n @Input() display = 'label'\n @Input() useValue = 'value'\n @Input() label?: string\n @Input() valid?: boolean\n @Input() invalid?: boolean\n @Input() compareWith?: CompareWith\n @Input() searchFilter?: SearchFilter\n @Input() syncPopoverWidth?: boolean\n @Input() size?: 'small' | 'medium'\n @Input() hideLabel?: boolean\n @Input() maxHeight?: number = 500\n @Input() disableMobileStyles?: boolean\n\n @Input() set options(value: DropdownOption[] | undefined) {\n this._options = value\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n get options(): DropdownOption[] | undefined {\n return this._options\n }\n private _options: DropdownOption[] | undefined\n\n @Input() set texts(texts: DropdownTexts | undefined) {\n this._texts = {\n ...(texts ? texts : {}),\n select: this.textToDisplay(texts, this._value),\n }\n }\n\n get texts(): DropdownTexts | undefined {\n return this._texts\n }\n private _texts: DropdownTexts | undefined\n\n //\n @Input() set multiSelect(value: string | boolean) {\n this._multiSelect = this.convertToBoolean(value)\n }\n get multiSelect(): boolean {\n return this._multiSelect\n }\n private _multiSelect = false\n\n //\n @Input() set searchable(value: string | boolean) {\n this._searchable = this.convertToBoolean(value)\n }\n get searchable(): boolean {\n return this._searchable\n }\n private _searchable = false\n\n //\n @Input() set value(newValue: any) {\n if (!this.options) return\n\n this._value = newValue\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n get value(): any {\n return this._value\n }\n private _value: DropdownOption | DropdownOption[] | undefined\n\n //\n get selectedOption() {\n return Array.isArray(this.value)\n ? this.value.map((v: any) => this.optionByValue(v))\n : this.optionByValue(this.value)\n }\n\n onChangeFn?: (value: unknown) => void\n onTouchedFn?: () => void\n\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n @Output() readonly touched: EventEmitter<boolean> =\n new EventEmitter<boolean>()\n\n @ContentChild(NggDropdownOptionDirective)\n customOption?: NggDropdownOptionDirective\n\n @ContentChild(NggDropdownButtonDirective)\n customButton?: NggDropdownButtonDirective\n\n @ViewChild('formInfo', { static: false }) formInfoContent?: ElementRef\n\n @ViewChild('gdsDropdown', { static: false }) gdsDropdown?: ElementRef\n\n public onValueChange: (event: Event) => void = (event) => {\n const target = event.target as GdsDropdown<DropdownOption>\n this._value = target.value\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n\n this.onChangeFn?.(this.value)\n this.valueChange.emit(this.value)\n\n this._cdr.detectChanges()\n }\n\n get control(): NgControl | undefined {\n return this.injector.get(NgControl)\n }\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private _cdr: ChangeDetectorRef,\n ) {\n GdsDropdown.define()\n DropdownTransStyles.register()\n }\n\n ngOnInit(): void {\n if (!this._value) {\n if (this.multiSelect)\n this._value = this.options\n ?.filter((o) => o.selected === true)\n ?.map((o) => o[this.useValue])\n else\n this._value = this.options?.find((o) => o.selected === true)?.[\n this.useValue\n ]\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n\n this.texts = {\n placeholder: this.texts?.placeholder ?? 'Select',\n selected: this.texts?.selected ?? 'selected',\n select: this.displayTextByValue(this._value),\n }\n }\n\n ngAfterViewInit(): void {\n if (this.formInfoContent) {\n // Example: observe changes to the formInfoContent element\n this.errorMessageObserver = new MutationObserver(() => {\n this.errorMessage = this.formInfoContent?.nativeElement.textContent\n this._cdr.detectChanges()\n })\n this.errorMessageObserver.observe(this.formInfoContent.nativeElement, {\n childList: true,\n subtree: true,\n })\n }\n }\n\n ngOnDestroy(): void {\n if (this.errorMessageObserver) {\n this.errorMessageObserver.disconnect()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n this._cdr.detectChanges()\n }\n\n registerOnChange(fn: () => unknown): void {\n this.onChangeFn = fn\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn\n }\n\n // These adapter functions are used to maintain backwards compatibility with the old interface\n compareWithAdapter = (o1: any, o2: any) => {\n const compareFn = this.compareWith || ((a, b) => a === b)\n return compareFn(o1, o2)\n }\n searchFilterAdapter = (q: string, o: GdsOption) => {\n if (this.searchFilter) return this.searchFilter(q, o.value)\n else\n return ((q: string, o: GdsOption) =>\n o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o)\n }\n\n private convertToBoolean(value: string | boolean): boolean {\n return (\n value === '' || value === 'true' || value.toString() === 'true' || false\n )\n }\n\n private optionByValue = (value: any) => {\n return this.options?.find((o) => o[this.useValue] === value)\n }\n\n private displayTextByValue = (value: any) => {\n return this.textToDisplay(this.texts, value)\n }\n\n private textToDisplay = (\n dropdownTexts: DropdownTexts | undefined,\n value: any,\n ): string => {\n if (!Array.isArray(value))\n return (\n this.optionByValue(value)?.[this.display] ||\n (dropdownTexts?.placeholder ?? 'Select')\n )\n\n const displayValues = value.map(\n (v) => this.optionByValue(v)?.[this.display],\n )\n return displayValues?.length > 2\n ? `${displayValues.length} ${dropdownTexts?.selected} `\n : displayValues?.join(', ') || (dropdownTexts?.placeholder ?? 'Select')\n }\n}\n","<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [errorMessage]=\"errorMessage\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n [disableMobileStyles]=\"disableMobileStyles\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\" style=\"display: contents\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"ngg-dropdown-default-trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\nimport { NggDropdownComponent } from './dropdown.component'\n\n@NgModule({\n declarations: [\n NggDropdownComponent,\n NggDropdownOptionDirective,\n NggDropdownButtonDirective,\n ],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [\n NggDropdownComponent,\n NggDropdownOptionDirective,\n NggDropdownButtonDirective,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sebgroup-green-angular-src-lib-dropdown.mjs","sources":["../../../../libs/angular/src/lib/dropdown/dropdown-button.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown-option.directive.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.ts","../../../../libs/angular/src/lib/dropdown/dropdown.component.html","../../../../libs/angular/src/lib/dropdown/dropdown.module.ts","../../../../libs/angular/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[nggDropdownButton]',\n})\nexport class NggDropdownButtonDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[nggDropdownOption]',\n})\nexport class NggDropdownOptionDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms'\n\nimport type { GdsOption } from '@sebgroup/green-core/components/dropdown/index.js'\n\nimport { GdsDropdown } from '@sebgroup/green-core/components/dropdown/dropdown.component.js'\nimport * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\n\nexport type CompareWith<T = any> = (o1: T, o2: T) => boolean\nexport type SearchFilter<T = any> = (search: string, value: T) => boolean\nexport type DropdownPlacements = 'bottom-start' | 'top-start'\nexport interface DropdownTexts {\n select?: string\n selected?: string\n placeholder?: string\n}\nexport interface DropdownOption<T = any> {\n label?: string\n value?: T\n selected?: boolean\n heading?: boolean\n [key: string]: any\n}\n\n@Component({\n selector: 'ngg-dropdown',\n templateUrl: 'dropdown.component.html',\n styleUrls: ['dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggDropdownComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggDropdownComponent\n implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit\n{\n errorMessage?: string\n errorMessageObserver?: MutationObserver\n @Input() id?: string\n @Input() loop?: boolean = false\n @Input() display = 'label'\n @Input() useValue = 'value'\n @Input() label?: string\n @Input() valid?: boolean\n @Input() invalid?: boolean\n @Input() compareWith?: CompareWith\n @Input() searchFilter?: SearchFilter\n @Input() syncPopoverWidth?: boolean\n @Input() size?: 'small' | 'medium'\n @Input() hideLabel?: boolean\n @Input() maxHeight?: number = 500\n @Input() disableMobileStyles?: boolean\n\n @Input() set options(value: DropdownOption[] | undefined) {\n this._options = value\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n get options(): DropdownOption[] | undefined {\n return this._options\n }\n private _options: DropdownOption[] | undefined\n\n @Input() set texts(texts: DropdownTexts | undefined) {\n this._texts = {\n ...(texts ? texts : {}),\n select: this.textToDisplay(texts, this._value),\n }\n }\n\n get texts(): DropdownTexts | undefined {\n return this._texts\n }\n private _texts: DropdownTexts | undefined\n\n //\n @Input() set multiSelect(value: string | boolean) {\n this._multiSelect = this.convertToBoolean(value)\n }\n get multiSelect(): boolean {\n return this._multiSelect\n }\n private _multiSelect = false\n\n //\n @Input() set searchable(value: string | boolean) {\n this._searchable = this.convertToBoolean(value)\n }\n get searchable(): boolean {\n return this._searchable\n }\n private _searchable = false\n\n //\n @Input() set value(newValue: any) {\n if (!this.options) return\n\n this._value = newValue\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n get value(): any {\n return this._value\n }\n private _value: DropdownOption | DropdownOption[] | undefined\n\n //\n get selectedOption() {\n return Array.isArray(this.value)\n ? this.value.map((v: any) => this.optionByValue(v))\n : this.optionByValue(this.value)\n }\n\n onChangeFn?: (value: unknown) => void\n onTouchedFn?: () => void\n\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n @Output() readonly touched: EventEmitter<boolean> =\n new EventEmitter<boolean>()\n\n @ContentChild(NggDropdownOptionDirective)\n customOption?: NggDropdownOptionDirective\n\n @ContentChild(NggDropdownButtonDirective)\n customButton?: NggDropdownButtonDirective\n\n @ViewChild('formInfo', { static: false }) formInfoContent?: ElementRef\n\n @ViewChild('gdsDropdown', { static: false }) gdsDropdown?: ElementRef\n\n public onValueChange: (event: Event) => void = (event) => {\n const target = event.target as GdsDropdown<DropdownOption>\n this._value = target.value\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n\n this.onChangeFn?.(this.value)\n this.valueChange.emit(this.value)\n\n this._cdr.detectChanges()\n }\n\n get control(): NgControl | undefined {\n return this.injector.get(NgControl)\n }\n\n constructor(\n @Inject(Injector) private injector: Injector,\n private _cdr: ChangeDetectorRef,\n ) {\n GdsDropdown.define()\n DropdownTransStyles.register()\n }\n\n ngOnInit(): void {\n if (!this._value) {\n if (this.multiSelect)\n this._value = this.options\n ?.filter((o) => o.selected === true)\n ?.map((o) => o[this.useValue])\n else\n this._value = this.options?.find((o) => o.selected === true)?.[\n this.useValue\n ]\n\n this.texts = {\n ...this.texts,\n select: this.displayTextByValue(this._value),\n }\n }\n\n this.texts = {\n placeholder: this.texts?.placeholder ?? 'Select',\n selected: this.texts?.selected ?? 'selected',\n select: this.displayTextByValue(this._value),\n }\n }\n\n ngAfterViewInit(): void {\n if (this.formInfoContent) {\n // Example: observe changes to the formInfoContent element\n this.errorMessageObserver = new MutationObserver(() => {\n this.errorMessage = this.formInfoContent?.nativeElement.textContent\n this._cdr.detectChanges()\n })\n this.errorMessageObserver.observe(this.formInfoContent.nativeElement, {\n childList: true,\n subtree: true,\n })\n }\n }\n\n ngOnDestroy(): void {\n if (this.errorMessageObserver) {\n this.errorMessageObserver.disconnect()\n }\n }\n\n writeValue(value: any): void {\n this.value = value\n this._cdr.detectChanges()\n }\n\n registerOnChange(fn: () => unknown): void {\n this.onChangeFn = fn\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn\n }\n\n // These adapter functions are used to maintain backwards compatibility with the old interface\n compareWithAdapter = (o1: any, o2: any) => {\n const compareFn = this.compareWith || ((a, b) => a === b)\n return compareFn(o1, o2)\n }\n searchFilterAdapter = (q: string, o: GdsOption) => {\n if (this.searchFilter) return this.searchFilter(q, o.value)\n else\n return ((q: string, o: GdsOption) =>\n o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o)\n }\n\n private convertToBoolean(value: string | boolean): boolean {\n return (\n value === '' || value === 'true' || value.toString() === 'true' || false\n )\n }\n\n private optionByValue = (value: any) => {\n return this.options?.find((o) => o[this.useValue] === value)\n }\n\n private displayTextByValue = (value: any) => {\n return this.textToDisplay(this.texts, value)\n }\n\n private textToDisplay = (\n dropdownTexts: DropdownTexts | undefined,\n value: any,\n ): string => {\n if (!Array.isArray(value))\n return (\n this.optionByValue(value)?.[this.display] ||\n (dropdownTexts?.placeholder ?? 'Select')\n )\n\n const displayValues = value.map(\n (v) => this.optionByValue(v)?.[this.display],\n )\n return displayValues?.length > 2\n ? `${displayValues.length} ${dropdownTexts?.selected} `\n : displayValues?.join(', ') || (dropdownTexts?.placeholder ?? 'Select')\n }\n}\n","<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [errorMessage]=\"errorMessage\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n [disableMobileStyles]=\"disableMobileStyles\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\" style=\"display: contents\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"ngg-dropdown-default-trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport {\n NggCoreWrapperModule,\n SCOPE_RESOLVER,\n} from '@sebgroup/green-angular/src/lib/shared'\nimport { getScopedTagName } from '@sebgroup/green-core/scoping'\nimport { NggDropdownButtonDirective } from './dropdown-button.directive'\nimport { NggDropdownOptionDirective } from './dropdown-option.directive'\nimport { NggDropdownComponent } from './dropdown.component'\n\n@NgModule({\n declarations: [\n NggDropdownComponent,\n NggDropdownOptionDirective,\n NggDropdownButtonDirective,\n ],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [\n NggDropdownComponent,\n NggDropdownOptionDirective,\n NggDropdownButtonDirective,\n ],\n providers: [\n {\n provide: SCOPE_RESOLVER,\n useValue: { getScopedTagName },\n },\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, Directive, NgModule,
|
|
3
|
+
import { InjectionToken, Directive, NgModule, inject, Renderer2, ViewContainerRef, ChangeDetectorRef, TemplateRef, Injectable, RendererFactory2, NgZone, forwardRef, Self, Optional } from '@angular/core';
|
|
4
4
|
import { Subject, fromEvent, interval } from 'rxjs';
|
|
5
5
|
import { takeUntil, throttle } from 'rxjs/operators';
|
|
6
6
|
import { getScopedTagName } from '@sebgroup/green-core/scoping';
|
|
@@ -53,6 +53,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
53
53
|
}]
|
|
54
54
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
55
55
|
|
|
56
|
+
const SCOPE_RESOLVER = new InjectionToken('SCOPE_RESOLVER (for Green Core)', {
|
|
57
|
+
providedIn: 'root',
|
|
58
|
+
factory: () => ({
|
|
59
|
+
getScopedTagName,
|
|
60
|
+
}),
|
|
61
|
+
});
|
|
62
|
+
|
|
56
63
|
class NggSharedModule {
|
|
57
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
58
65
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggSharedModule, declarations: [NggOnScrollDirective], imports: [CommonModule], exports: [NggOnScrollDirective] }); }
|
|
@@ -67,13 +74,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
67
74
|
}]
|
|
68
75
|
}] });
|
|
69
76
|
|
|
77
|
+
class NggCoreElementDirective {
|
|
78
|
+
constructor() {
|
|
79
|
+
this.viewRef = null;
|
|
80
|
+
this.document = inject(DOCUMENT);
|
|
81
|
+
this.renderer = inject(Renderer2);
|
|
82
|
+
this.vcr = inject(ViewContainerRef);
|
|
83
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
84
|
+
this.template = inject((TemplateRef));
|
|
85
|
+
this.scopeResolver = inject(SCOPE_RESOLVER);
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
this.vcr.clear();
|
|
89
|
+
const originalCreateElement = this.renderer.createElement;
|
|
90
|
+
this.renderer.createElement = (name, _namespace) => {
|
|
91
|
+
return this.document.createElement(this.scopeResolver.getScopedTagName(name));
|
|
92
|
+
};
|
|
93
|
+
this.cdr.markForCheck();
|
|
94
|
+
this.viewRef = this.vcr.createEmbeddedView(this.template);
|
|
95
|
+
this.renderer.createElement = originalCreateElement;
|
|
96
|
+
}
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
98
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NggCoreElementDirective, selector: "[nggCoreElement]", ngImport: i0 }); }
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreElementDirective, decorators: [{
|
|
101
|
+
type: Directive,
|
|
102
|
+
args: [{
|
|
103
|
+
selector: '[nggCoreElement]',
|
|
104
|
+
}]
|
|
105
|
+
}] });
|
|
106
|
+
|
|
107
|
+
class NggCoreWrapperModule {
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
109
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, declarations: [NggCoreElementDirective], imports: [CommonModule], exports: [NggCoreElementDirective] }); }
|
|
110
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, imports: [CommonModule] }); }
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, decorators: [{
|
|
113
|
+
type: NgModule,
|
|
114
|
+
args: [{
|
|
115
|
+
declarations: [NggCoreElementDirective],
|
|
116
|
+
imports: [CommonModule],
|
|
117
|
+
exports: [NggCoreElementDirective],
|
|
118
|
+
}]
|
|
119
|
+
}] });
|
|
120
|
+
|
|
70
121
|
class NggCoreRenderer {
|
|
71
|
-
constructor(delegate) {
|
|
122
|
+
constructor(delegate, scopeResolver) {
|
|
72
123
|
this.delegate = delegate;
|
|
124
|
+
this.scopeResolver = scopeResolver;
|
|
73
125
|
this.destroyNode = (node) => this.delegate.destroyNode && this.delegate.destroyNode(node);
|
|
74
126
|
}
|
|
75
127
|
createElement(name, namespace) {
|
|
76
|
-
const scopedName = name.startsWith('gds-')
|
|
128
|
+
const scopedName = name.startsWith('gds-')
|
|
129
|
+
? this.scopeResolver.getScopedTagName(name)
|
|
130
|
+
: name;
|
|
77
131
|
return this.delegate.createElement(scopedName, namespace);
|
|
78
132
|
}
|
|
79
133
|
// Delegate all other methods to the original renderer
|
|
@@ -138,10 +192,11 @@ class NggCoreRenderer {
|
|
|
138
192
|
class NggCoreRendererFactory {
|
|
139
193
|
constructor(delegate) {
|
|
140
194
|
this.delegate = delegate;
|
|
195
|
+
this.scopeResolver = inject(SCOPE_RESOLVER);
|
|
141
196
|
}
|
|
142
197
|
createRenderer(element, type) {
|
|
143
198
|
const renderer = this.delegate.createRenderer(element, type);
|
|
144
|
-
return new NggCoreRenderer(renderer);
|
|
199
|
+
return new NggCoreRenderer(renderer, this.scopeResolver);
|
|
145
200
|
}
|
|
146
201
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreRendererFactory, deps: [{ token: i1.ɵDomRendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
147
202
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreRendererFactory }); }
|
|
@@ -169,10 +224,16 @@ function animationsCoreRendererFactory(delegate, engine, zone) {
|
|
|
169
224
|
* export class AppModule {}
|
|
170
225
|
* ```
|
|
171
226
|
*/
|
|
172
|
-
const provideCoreRenderer = () =>
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
227
|
+
const provideCoreRenderer = (resolver = getScopedTagName) => [
|
|
228
|
+
{
|
|
229
|
+
provide: RendererFactory2,
|
|
230
|
+
useClass: NggCoreRendererFactory,
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
provide: SCOPE_RESOLVER,
|
|
234
|
+
useValue: { getScopedTagName: resolver },
|
|
235
|
+
},
|
|
236
|
+
];
|
|
176
237
|
/**
|
|
177
238
|
* Provide the NggCoreRendererFactory to use <gds-*> elements without any extra directives.
|
|
178
239
|
* The NggCoreRenderer will handle element name scoping automatically.
|
|
@@ -190,56 +251,17 @@ const provideCoreRenderer = () => ({
|
|
|
190
251
|
* export class AppModule {}
|
|
191
252
|
* ```
|
|
192
253
|
*/
|
|
193
|
-
const provideCoreRendererWithAnimations = () =>
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
this.vcr = inject(ViewContainerRef);
|
|
205
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
206
|
-
this.template = inject((TemplateRef));
|
|
207
|
-
}
|
|
208
|
-
ngOnInit() {
|
|
209
|
-
if (!(this.renderer instanceof NggCoreRenderer)) {
|
|
210
|
-
this.vcr.clear();
|
|
211
|
-
const originalCreateElement = this.renderer.createElement;
|
|
212
|
-
this.renderer.createElement = (name, _namespace) => {
|
|
213
|
-
return this.document.createElement(getScopedTagName(name));
|
|
214
|
-
};
|
|
215
|
-
this.cdr.markForCheck();
|
|
216
|
-
this.viewRef = this.vcr.createEmbeddedView(this.template);
|
|
217
|
-
this.renderer.createElement = originalCreateElement;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
221
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NggCoreElementDirective, selector: "[nggCoreElement]", ngImport: i0 }); }
|
|
222
|
-
}
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreElementDirective, decorators: [{
|
|
224
|
-
type: Directive,
|
|
225
|
-
args: [{
|
|
226
|
-
selector: '[nggCoreElement]',
|
|
227
|
-
}]
|
|
228
|
-
}] });
|
|
229
|
-
|
|
230
|
-
class NggCoreWrapperModule {
|
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
232
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, declarations: [NggCoreElementDirective], imports: [CommonModule], exports: [NggCoreElementDirective] }); }
|
|
233
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, imports: [CommonModule] }); }
|
|
234
|
-
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NggCoreWrapperModule, decorators: [{
|
|
236
|
-
type: NgModule,
|
|
237
|
-
args: [{
|
|
238
|
-
declarations: [NggCoreElementDirective],
|
|
239
|
-
imports: [CommonModule],
|
|
240
|
-
exports: [NggCoreElementDirective],
|
|
241
|
-
}]
|
|
242
|
-
}] });
|
|
254
|
+
const provideCoreRendererWithAnimations = (resolver = getScopedTagName) => [
|
|
255
|
+
{
|
|
256
|
+
provide: RendererFactory2,
|
|
257
|
+
useFactory: animationsCoreRendererFactory,
|
|
258
|
+
deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
provide: SCOPE_RESOLVER,
|
|
262
|
+
useValue: { getScopedTagName: resolver },
|
|
263
|
+
},
|
|
264
|
+
];
|
|
243
265
|
|
|
244
266
|
class NggCoreControlDirective {
|
|
245
267
|
constructor(el, renderer, injector, cdr) {
|
|
@@ -433,5 +455,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
433
455
|
* Generated bundle index. Do not edit.
|
|
434
456
|
*/
|
|
435
457
|
|
|
436
|
-
export { NggCoreCheckboxDirective, NggCoreControlDirective, NggCoreElementDirective, NggCoreFormsModule, NggCoreRenderer, NggCoreRendererFactory, NggCoreRouterLinkDirective, NggCoreRouterLinkModule, NggCoreWrapperModule, NggOnScrollDirective, NggSharedModule, ON_SCROLL_TOKEN, animationsCoreRendererFactory, provideCoreRenderer, provideCoreRendererWithAnimations };
|
|
458
|
+
export { NggCoreCheckboxDirective, NggCoreControlDirective, NggCoreElementDirective, NggCoreFormsModule, NggCoreRenderer, NggCoreRendererFactory, NggCoreRouterLinkDirective, NggCoreRouterLinkModule, NggCoreWrapperModule, NggOnScrollDirective, NggSharedModule, ON_SCROLL_TOKEN, SCOPE_RESOLVER, animationsCoreRendererFactory, provideCoreRenderer, provideCoreRendererWithAnimations };
|
|
437
459
|
//# sourceMappingURL=sebgroup-green-angular-src-lib-shared.mjs.map
|