@egose/shadcn-theme-ng-tw 0.0.28 → 0.2.0
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/README.md +130 -13
- package/accordion/README.md +376 -34
- package/accordion/fesm2022/accordion.mjs +20 -20
- package/alert/README.md +343 -34
- package/alert/fesm2022/alert.mjs +18 -18
- package/alert-dialog/README.md +471 -5
- package/alert-dialog/fesm2022/alert-dialog.mjs +48 -48
- package/alert-dialog/types/alert-dialog.d.ts +1 -1
- package/aspect-ratio/README.md +272 -5
- package/aspect-ratio/fesm2022/aspect-ratio.mjs +9 -9
- package/autocomplete/README.md +473 -34
- package/autocomplete/fesm2022/autocomplete.mjs +54 -54
- package/autocomplete/types/autocomplete.d.ts +1 -1
- package/avatar/README.md +357 -5
- package/avatar/fesm2022/avatar.mjs +32 -32
- package/badge/README.md +289 -34
- package/badge/fesm2022/badge.mjs +4 -4
- package/basic-alert/README.md +324 -34
- package/basic-alert/fesm2022/basic-alert.mjs +4 -4
- package/basic-alert/types/basic-alert.d.ts +1 -1
- package/breadcrumb/README.md +406 -5
- package/breadcrumb/fesm2022/breadcrumb.mjs +34 -34
- package/button/README.md +453 -34
- package/button/fesm2022/button.mjs +96 -118
- package/button/types/button.d.ts +7 -10
- package/button-group/README.md +318 -5
- package/button-group/fesm2022/button-group.mjs +20 -20
- package/calendar/README.md +328 -34
- package/calendar/fesm2022/calendar.mjs +154 -154
- package/card/README.md +331 -5
- package/card/fesm2022/card.mjs +33 -33
- package/carousel/README.md +333 -5
- package/carousel/fesm2022/carousel.mjs +47 -44
- package/carousel/types/carousel.d.ts +1 -1
- package/checkbox/README.md +291 -34
- package/checkbox/fesm2022/checkbox.mjs +22 -20
- package/checkbox/types/checkbox.d.ts +5 -4
- package/collapsible/README.md +332 -5
- package/collapsible/fesm2022/collapsible.mjs +15 -15
- package/combobox/README.md +507 -5
- package/combobox/fesm2022/combobox.mjs +95 -92
- package/combobox/types/combobox.d.ts +1 -1
- package/command/README.md +435 -5
- package/command/fesm2022/command.mjs +56 -56
- package/confirmation-dialog/README.md +272 -34
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +13 -12
- package/confirmation-dialog/types/confirmation-dialog.d.ts +9 -5
- package/context-menu/README.md +366 -5
- package/context-menu/fesm2022/context-menu.mjs +9 -9
- package/date-picker/README.md +436 -34
- package/date-picker/fesm2022/date-picker.mjs +79 -68
- package/date-picker/types/date-picker.d.ts +8 -4
- package/dialog/README.md +419 -34
- package/dialog/fesm2022/dialog.mjs +48 -48
- package/drawer/README.md +395 -5
- package/drawer/fesm2022/drawer.mjs +45 -45
- package/dropdown-menu/README.md +417 -5
- package/dropdown-menu/fesm2022/dropdown-menu.mjs +85 -73
- package/dropdown-menu/types/dropdown-menu.d.ts +4 -0
- package/empty/README.md +329 -5
- package/empty/fesm2022/empty.mjs +31 -31
- package/field/README.md +385 -5
- package/field/fesm2022/field.mjs +59 -59
- package/field/types/field.d.ts +1 -1
- package/form-checkbox/README.md +283 -34
- package/form-checkbox/fesm2022/form-checkbox.mjs +37 -19
- package/form-checkbox/types/form-checkbox.d.ts +7 -1
- package/form-date-picker/README.md +293 -34
- package/form-date-picker/fesm2022/form-date-picker.mjs +59 -24
- package/form-date-picker/types/form-date-picker.d.ts +7 -1
- package/form-field/README.md +327 -34
- package/form-field/fesm2022/form-field.mjs +30 -16
- package/form-field/types/form-field.d.ts +28 -20
- package/form-field-simple/README.md +311 -34
- package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
- package/form-searchable-multiselect/README.md +332 -34
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +41 -21
- package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +8 -2
- package/form-select/README.md +321 -34
- package/form-select/fesm2022/form-select.mjs +62 -29
- package/form-select/types/form-select.d.ts +7 -1
- package/form-text-input/README.md +342 -34
- package/form-text-input/fesm2022/form-text-input.mjs +43 -55
- package/form-text-input/types/form-text-input.d.ts +9 -12
- package/form-textarea/README.md +318 -34
- package/form-textarea/fesm2022/form-textarea.mjs +42 -23
- package/form-textarea/types/form-textarea.d.ts +8 -1
- package/hover-card/README.md +256 -5
- package/hover-card/fesm2022/hover-card.mjs +19 -19
- package/icon/README.md +210 -34
- package/icon/fesm2022/icon.mjs +8 -8
- package/input/README.md +240 -34
- package/input/fesm2022/input.mjs +17 -12
- package/input/types/input.d.ts +2 -1
- package/input-group/README.md +335 -5
- package/input-group/fesm2022/input-group.mjs +37 -37
- package/input-group/types/input-group.d.ts +3 -3
- package/input-otp/README.md +375 -5
- package/input-otp/fesm2022/input-otp.mjs +27 -27
- package/item/README.md +385 -5
- package/item/fesm2022/item.mjs +54 -54
- package/kbd/README.md +291 -5
- package/kbd/fesm2022/kbd.mjs +13 -13
- package/label/README.md +243 -34
- package/label/fesm2022/label.mjs +9 -9
- package/label/types/label.d.ts +1 -1
- package/layout-simple/README.md +174 -44
- package/layout-simple/fesm2022/layout-simple.mjs +917 -398
- package/layout-simple/types/layout-simple.d.ts +180 -129
- package/menu/README.md +418 -0
- package/menu/fesm2022/menu.mjs +461 -0
- package/menu/package.json +24 -0
- package/menu/types/menu.d.ts +137 -0
- package/menubar/README.md +343 -5
- package/menubar/fesm2022/menubar.mjs +13 -13
- package/native-select/README.md +323 -5
- package/native-select/fesm2022/native-select.mjs +19 -19
- package/navigation-menu/README.md +369 -5
- package/navigation-menu/fesm2022/navigation-menu.mjs +37 -37
- package/package.json +183 -154
- package/pagination/README.md +388 -5
- package/pagination/fesm2022/pagination.mjs +63 -63
- package/popover/README.md +302 -34
- package/popover/fesm2022/popover.mjs +30 -30
- package/progress/README.md +311 -5
- package/progress/fesm2022/progress.mjs +13 -13
- package/radio-group/README.md +335 -34
- package/radio-group/fesm2022/radio-group.mjs +26 -19
- package/resizable/README.md +269 -5
- package/resizable/fesm2022/resizable.mjs +19 -19
- package/scroll-area/README.md +233 -5
- package/scroll-area/fesm2022/scroll-area.mjs +9 -9
- package/searchable-multiselect/README.md +294 -34
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +63 -16
- package/searchable-multiselect/types/searchable-multiselect.d.ts +8 -2
- package/select/README.md +408 -34
- package/select/fesm2022/select.mjs +80 -72
- package/select/types/select.d.ts +3 -1
- package/separator/README.md +193 -34
- package/separator/fesm2022/separator.mjs +9 -9
- package/separator/types/separator.d.ts +1 -1
- package/sheet/README.md +282 -34
- package/sheet/fesm2022/sheet.mjs +30 -30
- package/sidebar/README.md +457 -5
- package/sidebar/fesm2022/sidebar.mjs +136 -134
- package/sidebar/types/sidebar.d.ts +3 -3
- package/skeleton/README.md +217 -5
- package/skeleton/fesm2022/skeleton.mjs +9 -9
- package/slider/README.md +273 -5
- package/slider/fesm2022/slider.mjs +29 -25
- package/sonner/README.md +317 -34
- package/sonner/fesm2022/sonner.mjs +9 -9
- package/spinner/README.md +255 -34
- package/spinner/fesm2022/spinner.mjs +8 -8
- package/switch/README.md +281 -34
- package/switch/fesm2022/switch.mjs +12 -14
- package/table/README.md +423 -5
- package/table/fesm2022/table.mjs +41 -41
- package/tabs/README.md +382 -34
- package/tabs/fesm2022/tabs.mjs +48 -38
- package/textarea/README.md +282 -5
- package/textarea/fesm2022/textarea.mjs +9 -9
- package/toggle/README.md +270 -5
- package/toggle/fesm2022/toggle.mjs +14 -14
- package/toggle-group/README.md +340 -5
- package/toggle-group/fesm2022/toggle-group.mjs +13 -13
- package/toggle-group/types/toggle-group.d.ts +13 -7
- package/tooltip/README.md +240 -34
- package/tooltip/fesm2022/tooltip.mjs +14 -14
- package/typography/README.md +271 -5
- package/typography/fesm2022/typography.mjs +53 -53
- package/typography/types/typography.d.ts +12 -12
- package/utils/README.md +274 -34
- package/utils/fesm2022/utils.mjs +68 -44
- package/accordion/fesm2022/accordion.mjs.map +0 -1
- package/alert/fesm2022/alert.mjs.map +0 -1
- package/alert-dialog/fesm2022/alert-dialog.mjs.map +0 -1
- package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +0 -1
- package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
- package/avatar/fesm2022/avatar.mjs.map +0 -1
- package/badge/fesm2022/badge.mjs.map +0 -1
- package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
- package/breadcrumb/fesm2022/breadcrumb.mjs.map +0 -1
- package/button/fesm2022/button.mjs.map +0 -1
- package/button-group/fesm2022/button-group.mjs.map +0 -1
- package/calendar/fesm2022/calendar.mjs.map +0 -1
- package/card/fesm2022/card.mjs.map +0 -1
- package/carousel/fesm2022/carousel.mjs.map +0 -1
- package/checkbox/fesm2022/checkbox.mjs.map +0 -1
- package/collapsible/fesm2022/collapsible.mjs.map +0 -1
- package/combobox/fesm2022/combobox.mjs.map +0 -1
- package/command/fesm2022/command.mjs.map +0 -1
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
- package/context-menu/fesm2022/context-menu.mjs.map +0 -1
- package/date-picker/fesm2022/date-picker.mjs.map +0 -1
- package/dialog/fesm2022/dialog.mjs.map +0 -1
- package/drawer/fesm2022/drawer.mjs.map +0 -1
- package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +0 -1
- package/empty/fesm2022/empty.mjs.map +0 -1
- package/field/fesm2022/field.mjs.map +0 -1
- package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
- package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
- package/form-field/fesm2022/form-field.mjs.map +0 -1
- package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
- package/form-select/fesm2022/form-select.mjs.map +0 -1
- package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
- package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
- package/hover-card/fesm2022/hover-card.mjs.map +0 -1
- package/icon/fesm2022/icon.mjs.map +0 -1
- package/input/fesm2022/input.mjs.map +0 -1
- package/input-group/fesm2022/input-group.mjs.map +0 -1
- package/input-otp/fesm2022/input-otp.mjs.map +0 -1
- package/item/fesm2022/item.mjs.map +0 -1
- package/kbd/fesm2022/kbd.mjs.map +0 -1
- package/label/fesm2022/label.mjs.map +0 -1
- package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
- package/menubar/fesm2022/menubar.mjs.map +0 -1
- package/native-select/fesm2022/native-select.mjs.map +0 -1
- package/navigation-menu/fesm2022/navigation-menu.mjs.map +0 -1
- package/pagination/fesm2022/pagination.mjs.map +0 -1
- package/popover/fesm2022/popover.mjs.map +0 -1
- package/progress/fesm2022/progress.mjs.map +0 -1
- package/radio-group/fesm2022/radio-group.mjs.map +0 -1
- package/resizable/fesm2022/resizable.mjs.map +0 -1
- package/scroll-area/fesm2022/scroll-area.mjs.map +0 -1
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
- package/select/fesm2022/select.mjs.map +0 -1
- package/separator/fesm2022/separator.mjs.map +0 -1
- package/sheet/fesm2022/sheet.mjs.map +0 -1
- package/sidebar/fesm2022/sidebar.mjs.map +0 -1
- package/skeleton/fesm2022/skeleton.mjs.map +0 -1
- package/slider/fesm2022/slider.mjs.map +0 -1
- package/sonner/fesm2022/sonner.mjs.map +0 -1
- package/spinner/fesm2022/spinner.mjs.map +0 -1
- package/switch/fesm2022/switch.mjs.map +0 -1
- package/table/fesm2022/table.mjs.map +0 -1
- package/tabs/fesm2022/tabs.mjs.map +0 -1
- package/textarea/fesm2022/textarea.mjs.map +0 -1
- package/toggle/fesm2022/toggle.mjs.map +0 -1
- package/toggle-group/fesm2022/toggle-group.mjs.map +0 -1
- package/tooltip/fesm2022/tooltip.mjs.map +0 -1
- package/typography/fesm2022/typography.mjs.map +0 -1
- package/utils/fesm2022/utils.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Component, Injectable } from '@angular/core';
|
|
3
3
|
import { HlmButton } from '@egose/shadcn-theme-ng-tw/button';
|
|
4
|
-
import { HlmAlertIcon
|
|
4
|
+
import { HlmAlertIcon } from '@egose/shadcn-theme-ng-tw/alert';
|
|
5
5
|
import * as i1 from '@egose/shadcn-theme-ng-tw/dialog';
|
|
6
6
|
import { HlmDialogDescription, HlmDialogHeader, HlmDialogFooter, HlmDialogTitle } from '@egose/shadcn-theme-ng-tw/dialog';
|
|
7
7
|
import { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';
|
|
@@ -9,7 +9,7 @@ import { HlmIcon } from '@egose/shadcn-theme-ng-tw/icon';
|
|
|
9
9
|
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
10
10
|
import { lucideTriangleAlert } from '@ng-icons/lucide';
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class EgConfirmationDialog {
|
|
13
13
|
_dialogRef = inject(BrnDialogRef);
|
|
14
14
|
_dialogContext = injectBrnDialogContext();
|
|
15
15
|
_title = this._dialogContext.title || 'Are you absolutely sure?';
|
|
@@ -17,8 +17,8 @@ class EgConfirmationDiaglog {
|
|
|
17
17
|
close(confirm) {
|
|
18
18
|
this._dialogRef.close(confirm);
|
|
19
19
|
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgConfirmationDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.3", type: EgConfirmationDialog, isStandalone: true, selector: "ng-component", host: { classAttribute: "tw:w-full tw:p-1" }, providers: [provideIcons({ lucideTriangleAlert })], ngImport: i0, template: `
|
|
22
22
|
<hlm-dialog-header>
|
|
23
23
|
<div class="tw:flex tw:items-center tw:gap-1">
|
|
24
24
|
<ng-icon hlm hlmAlertIcon name="lucideTriangleAlert" size="base" />
|
|
@@ -33,12 +33,11 @@ class EgConfirmationDiaglog {
|
|
|
33
33
|
</hlm-dialog-footer>
|
|
34
34
|
`, isInline: true, dependencies: [{ kind: "component", type: HlmButton, selector: "button[hlmButton], a[hlmButton]", inputs: ["variant", "size", "appearance", "loading", "icon", "iconPosition", "class", "spinnerUserClass", "disabled", "type"] }, { kind: "directive", type: HlmAlertIcon, selector: "[hlmAlertIcon]" }, { kind: "directive", type: HlmDialogDescription, selector: "[hlmDialogDescription]" }, { kind: "directive", type: HlmDialogHeader, selector: "[hlmDialogHeader],hlm-dialog-header" }, { kind: "directive", type: HlmDialogFooter, selector: "[hlmDialogFooter],hlm-dialog-footer" }, { kind: "directive", type: HlmDialogTitle, selector: "[hlmDialogTitle]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }] });
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgConfirmationDialog, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
39
39
|
imports: [
|
|
40
40
|
HlmButton,
|
|
41
|
-
HlmAlert,
|
|
42
41
|
HlmAlertIcon,
|
|
43
42
|
HlmDialogDescription,
|
|
44
43
|
HlmDialogHeader,
|
|
@@ -68,6 +67,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
68
67
|
},
|
|
69
68
|
}]
|
|
70
69
|
}] });
|
|
70
|
+
/** @deprecated Use `EgConfirmationDialog`. The misspelled name will be removed in the next major release. */
|
|
71
|
+
const EgConfirmationDiaglog = EgConfirmationDialog;
|
|
71
72
|
class EgConfirmationDialogService {
|
|
72
73
|
hlmDialogService;
|
|
73
74
|
constructor(hlmDialogService) {
|
|
@@ -75,7 +76,7 @@ class EgConfirmationDialogService {
|
|
|
75
76
|
}
|
|
76
77
|
showConfirmationDialog({ title, description }) {
|
|
77
78
|
return new Promise((resolve) => {
|
|
78
|
-
const dialogRef = this.hlmDialogService.open(
|
|
79
|
+
const dialogRef = this.hlmDialogService.open(EgConfirmationDialog, {
|
|
79
80
|
context: { title, description },
|
|
80
81
|
contentClass: '',
|
|
81
82
|
});
|
|
@@ -84,10 +85,10 @@ class EgConfirmationDialogService {
|
|
|
84
85
|
});
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
88
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgConfirmationDialogService, deps: [{ token: i1.HlmDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgConfirmationDialogService, providedIn: 'root' });
|
|
89
90
|
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EgConfirmationDialogService, decorators: [{
|
|
91
92
|
type: Injectable,
|
|
92
93
|
args: [{ providedIn: 'root' }]
|
|
93
94
|
}], ctorParameters: () => [{ type: i1.HlmDialogService }] });
|
|
@@ -100,5 +101,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
100
101
|
* Generated bundle index. Do not edit.
|
|
101
102
|
*/
|
|
102
103
|
|
|
103
|
-
export { EgConfirmationDiaglog, EgConfirmationDialogService };
|
|
104
|
-
|
|
104
|
+
export { EgConfirmationDiaglog, EgConfirmationDialog, EgConfirmationDialogService };
|
|
105
|
+
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import { HlmDialogService } from '@egose/shadcn-theme-ng/dialog';
|
|
1
|
+
import { HlmDialogService } from '@egose/shadcn-theme-ng-tw/dialog';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
|
|
4
|
-
declare class
|
|
4
|
+
declare class EgConfirmationDialog {
|
|
5
5
|
private readonly _dialogRef;
|
|
6
6
|
private readonly _dialogContext;
|
|
7
7
|
protected readonly _title: string;
|
|
8
8
|
protected readonly _description: string;
|
|
9
9
|
close(confirm: boolean): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EgConfirmationDialog, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EgConfirmationDialog, "ng-component", never, {}, {}, never, never, true, never>;
|
|
12
12
|
}
|
|
13
|
+
/** @deprecated Use `EgConfirmationDialog`. The misspelled name will be removed in the next major release. */
|
|
14
|
+
type EgConfirmationDiaglog = EgConfirmationDialog;
|
|
15
|
+
/** @deprecated Use `EgConfirmationDialog`. The misspelled name will be removed in the next major release. */
|
|
16
|
+
declare const EgConfirmationDiaglog: typeof EgConfirmationDialog;
|
|
13
17
|
declare class EgConfirmationDialogService {
|
|
14
18
|
private hlmDialogService;
|
|
15
19
|
constructor(hlmDialogService: HlmDialogService);
|
|
@@ -21,4 +25,4 @@ declare class EgConfirmationDialogService {
|
|
|
21
25
|
static ɵprov: i0.ɵɵInjectableDeclaration<EgConfirmationDialogService>;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
|
-
export { EgConfirmationDiaglog, EgConfirmationDialogService };
|
|
28
|
+
export { EgConfirmationDiaglog, EgConfirmationDialog, EgConfirmationDialogService };
|
package/context-menu/README.md
CHANGED
|
@@ -1,11 +1,372 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Context Menu (`@egose/shadcn-theme-ng/context-menu`)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A right-click menu trigger — the Angular port of shadcn/ui `Context Menu`. The entire subpath is one thin directive, `HlmContextMenuTrigger` (`[hlmContextMenuTrigger]`), which wraps the CDK `CdkContextMenuTrigger` and positions a shared menu panel via `@spartan-ng/brain/core` (`createMenuPosition`, `MENU_SIDE`). The visible menu content itself is **not** in this package — you render it with `@egose/shadcn-theme-ng/dropdown-menu` (or `menu`) primitives; this directive only owns the right-click anchoring, `align`/`side` placement, `disabled` locking, and open/close outputs.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Ships as `@egose/shadcn-theme-ng/context-menu` and `@egose/shadcn-theme-ng-tw/context-menu` (the `tw:`-prefixed variant). See the [package README](../../README.md) for install, peer dependencies, and Tailwind setup. Do not publish this project directory independently — it is consumed via the published subpath only.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Installation
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
# Plain Tailwind (no prefix):
|
|
11
|
+
npm install @egose/shadcn-theme-ng
|
|
12
|
+
|
|
13
|
+
# Or the tw:-prefixed variant:
|
|
14
|
+
npm install @egose/shadcn-theme-ng-tw
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Peers are listed in the [package README](../../README.md). This subpath declares `@angular/common`, `@angular/core`, and `@spartan-ng/brain` as peers (see `projects/context-menu/package.json`); at runtime it also needs `@angular/cdk/menu` and a menu-content package (`dropdown-menu`).
|
|
18
|
+
|
|
19
|
+
## Imports
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import {
|
|
23
|
+
HlmContextMenuTrigger,
|
|
24
|
+
HlmContextMenuImports,
|
|
25
|
+
HlmContextMenuModule,
|
|
26
|
+
HlmContextMenuConfig,
|
|
27
|
+
provideHlmContextMenuConfig,
|
|
28
|
+
injectHlmContextMenuConfig,
|
|
29
|
+
} from '@egose/shadcn-theme-ng/context-menu';
|
|
30
|
+
// tw variant:
|
|
31
|
+
// import { ... } from '@egose/shadcn-theme-ng-tw/context-menu';
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Standalone:
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import { Component } from '@angular/core';
|
|
38
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
39
|
+
|
|
40
|
+
@Component({
|
|
41
|
+
selector: 'app-demo',
|
|
42
|
+
standalone: true,
|
|
43
|
+
imports: [...HlmContextMenuImports],
|
|
44
|
+
template: `...`,
|
|
45
|
+
})
|
|
46
|
+
export class DemoComponent {}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
NgModule:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { NgModule } from '@angular/core';
|
|
53
|
+
import { HlmContextMenuModule } from '@egose/shadcn-theme-ng/context-menu';
|
|
54
|
+
|
|
55
|
+
@NgModule({ imports: [HlmContextMenuModule] })
|
|
56
|
+
export class DemoModule {}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Anatomy / Structure
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<!-- Trigger area: right-click anywhere inside the div -->
|
|
63
|
+
<div
|
|
64
|
+
[hlmContextMenuTrigger]="menu"
|
|
65
|
+
[hlmContextMenuTriggerData]="{ id: file.id }"
|
|
66
|
+
(hlmContextMenuOpened)="onOpen()"
|
|
67
|
+
(hlmContextMenuClosed)="onClose()"
|
|
68
|
+
>
|
|
69
|
+
Right-click me
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<!-- Shared menu content (dropdown-menu subpath) -->
|
|
73
|
+
<ng-template #menu let-id="id">
|
|
74
|
+
<hlm-dropdown-menu>
|
|
75
|
+
<hlm-dropdown-menu-group>
|
|
76
|
+
<button hlmDropdownMenuItem (click)="open(id)">Open</button>
|
|
77
|
+
<button hlmDropdownMenuItem (click)="rename(id)">Rename</button>
|
|
78
|
+
<hlm-dropdown-menu-separator></hlm-dropdown-menu-separator>
|
|
79
|
+
<button hlmDropdownMenuItem variant="destructive" (click)="remove(id)">Delete</button>
|
|
80
|
+
</hlm-dropdown-menu-group>
|
|
81
|
+
</hlm-dropdown-menu>
|
|
82
|
+
</ng-template>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
> Exact `hlm-dropdown-menu` selectors/composition live in that subpath's README — the sketch above shows intent. What this package guarantees: `[hlmContextMenuTrigger]` anchors whatever `Menu` template you pass, sets `transformOriginSelector` so the panel animates from the click corner, and derives `data-side` from the resolved position.
|
|
86
|
+
|
|
87
|
+
Real selector: `[hlmContextMenuTrigger]` (attribute only, on any element). Host carries `data-slot="context-menu-trigger"`, `data-disabled` when locked, and `tw:select-none`.
|
|
88
|
+
|
|
89
|
+
## API reference
|
|
90
|
+
|
|
91
|
+
### `HlmContextMenuTrigger` (`[hlmContextMenuTrigger]`)
|
|
92
|
+
|
|
93
|
+
Host-directive mapping to `CdkContextMenuTrigger`:
|
|
94
|
+
|
|
95
|
+
| CDK input (aliased) | Directive-facing name | Description |
|
|
96
|
+
| --------------------------- | --------------------------- | ----------------------------------------------------- |
|
|
97
|
+
| `cdkContextMenuTriggerFor` | `hlmContextMenuTrigger` | The `<ng-template>` menu panel to open. **Required.** |
|
|
98
|
+
| `cdkContextMenuTriggerData` | `hlmContextMenuTriggerData` | Data passed to the menu template (`let-*` bindings). |
|
|
99
|
+
| `cdkContextMenuDisabled` | `disabled` | Locks right-click opening. |
|
|
100
|
+
|
|
101
|
+
| CDK output (aliased) | Payload | Description |
|
|
102
|
+
| ---------------------- | ------- | ------------------------------------------------------- |
|
|
103
|
+
| `cdkContextMenuOpened` | — | Emitted as `hlmContextMenuOpened` when the menu opens. |
|
|
104
|
+
| `cdkContextMenuClosed` | — | Emitted as `hlmContextMenuClosed` when the menu closes. |
|
|
105
|
+
|
|
106
|
+
Own inputs (placement, defaulting from injected config):
|
|
107
|
+
|
|
108
|
+
| Input | Type | Default | Description |
|
|
109
|
+
| ---------- | ----------- | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
110
|
+
| `disabled` | `boolean` | CDK trigger's current value | Locks the menu (boolean-coerced). Reflected as `data-disabled`. |
|
|
111
|
+
| `align` | `MenuAlign` | `'start'` (or configured) | Cross-axis alignment of the panel. |
|
|
112
|
+
| `side` | `MenuSide` | `'bottom'` (or configured) | Preferred side relative to the click point. Combined via `createMenuPosition(align, side)` and assigned to `cdkTrigger.menuPosition` in an `effect`. |
|
|
113
|
+
|
|
114
|
+
### Config token (`hlm-context-menu-token.ts`)
|
|
115
|
+
|
|
116
|
+
| Member | Type | Description |
|
|
117
|
+
| ----------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
118
|
+
| `HlmContextMenuConfig` | `{ align: MenuAlign; side: MenuSide }` | Shape of the global default. |
|
|
119
|
+
| `provideHlmContextMenuConfig` | `(config: Partial<HlmContextMenuConfig>) => ValueProvider` | Provide app- or route-level defaults (`{ side: 'right' }`, …). Defaults: `{ align: 'start', side: 'bottom' }`. |
|
|
120
|
+
| `injectHlmContextMenuConfig` | `() => HlmContextMenuConfig` | Reads the configured (or default) config — used internally by the trigger. |
|
|
121
|
+
|
|
122
|
+
## Examples
|
|
123
|
+
|
|
124
|
+
### 1. Basic right-click area + dropdown menu
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
import { Component } from '@angular/core';
|
|
128
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
129
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
130
|
+
|
|
131
|
+
@Component({
|
|
132
|
+
selector: 'app-basic-context-menu',
|
|
133
|
+
standalone: true,
|
|
134
|
+
imports: [...HlmContextMenuImports, ...HlmDropdownMenuImports],
|
|
135
|
+
template: `
|
|
136
|
+
<div
|
|
137
|
+
[hlmContextMenuTrigger]="menu"
|
|
138
|
+
class="border-border flex h-40 items-center justify-center rounded-lg border border-dashed text-sm"
|
|
139
|
+
>
|
|
140
|
+
Right-click here
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
<ng-template #menu>
|
|
144
|
+
<hlm-dropdown-menu>
|
|
145
|
+
<hlm-dropdown-menu-group>
|
|
146
|
+
<button hlmDropdownMenuItem (click)="action('cut')">Cut</button>
|
|
147
|
+
<button hlmDropdownMenuItem (click)="action('copy')">Copy</button>
|
|
148
|
+
<button hlmDropdownMenuItem (click)="action('paste')">Paste</button>
|
|
149
|
+
</hlm-dropdown-menu-group>
|
|
150
|
+
</hlm-dropdown-menu>
|
|
151
|
+
</ng-template>
|
|
152
|
+
`,
|
|
153
|
+
})
|
|
154
|
+
export class BasicContextMenuComponent {
|
|
155
|
+
action(a: string) {
|
|
156
|
+
console.log(a);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
11
159
|
```
|
|
160
|
+
|
|
161
|
+
### 2. Per-row data (`hlmContextMenuTriggerData`)
|
|
162
|
+
|
|
163
|
+
Pass the row into the template with `let-*` bindings.
|
|
164
|
+
|
|
165
|
+
```ts
|
|
166
|
+
import { Component, signal } from '@angular/core';
|
|
167
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
168
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
169
|
+
|
|
170
|
+
interface File {
|
|
171
|
+
id: string;
|
|
172
|
+
name: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@Component({
|
|
176
|
+
selector: 'app-row-context-menu',
|
|
177
|
+
standalone: true,
|
|
178
|
+
imports: [...HlmContextMenuImports, ...HlmDropdownMenuImports],
|
|
179
|
+
template: `
|
|
180
|
+
@for (f of files(); track f.id) {
|
|
181
|
+
<div
|
|
182
|
+
[hlmContextMenuTrigger]="menu"
|
|
183
|
+
[hlmContextMenuTriggerData]="{ file: f }"
|
|
184
|
+
class="rounded px-3 py-2 text-sm hover:bg-muted"
|
|
185
|
+
>
|
|
186
|
+
{{ f.name }}
|
|
187
|
+
</div>
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
<ng-template #menu let-file="file">
|
|
191
|
+
<hlm-dropdown-menu>
|
|
192
|
+
<button hlmDropdownMenuItem (click)="open(file)">Open "{{ file.name }}"</button>
|
|
193
|
+
<button hlmDropdownMenuItem (click)="rename(file)">Rename</button>
|
|
194
|
+
<hlm-dropdown-menu-separator></hlm-dropdown-menu-separator>
|
|
195
|
+
<button hlmDropdownMenuItem variant="destructive" (click)="remove(file)">Delete</button>
|
|
196
|
+
</hlm-dropdown-menu>
|
|
197
|
+
</ng-template>
|
|
198
|
+
`,
|
|
199
|
+
})
|
|
200
|
+
export class RowContextMenuComponent {
|
|
201
|
+
readonly files = signal<File[]>([
|
|
202
|
+
{ id: '1', name: 'report.pdf' },
|
|
203
|
+
{ id: '2', name: 'photo.png' },
|
|
204
|
+
]);
|
|
205
|
+
open(f: File) {
|
|
206
|
+
console.log('open', f);
|
|
207
|
+
}
|
|
208
|
+
rename(f: File) {
|
|
209
|
+
console.log('rename', f);
|
|
210
|
+
}
|
|
211
|
+
remove(f: File) {
|
|
212
|
+
this.files.update((fs) => fs.filter((x) => x.id !== f.id));
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### 3. Placement (`align` / `side`) + global config
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
import { Component } from '@angular/core';
|
|
221
|
+
import { HlmContextMenuImports, provideHlmContextMenuConfig } from '@egose/shadcn-theme-ng/context-menu';
|
|
222
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
223
|
+
|
|
224
|
+
@Component({
|
|
225
|
+
selector: 'app-placement-context-menu',
|
|
226
|
+
standalone: true,
|
|
227
|
+
imports: [...HlmContextMenuImports, ...HlmDropdownMenuImports],
|
|
228
|
+
// Open to the right of the click everywhere in this subtree by default:
|
|
229
|
+
providers: [provideHlmContextMenuConfig({ side: 'right', align: 'start' })],
|
|
230
|
+
template: `
|
|
231
|
+
<!-- Override per trigger when needed: -->
|
|
232
|
+
<div [hlmContextMenuTrigger]="menu" side="bottom" align="center" class="rounded border p-8 text-sm">
|
|
233
|
+
Right-click (bottom-center panel)
|
|
234
|
+
</div>
|
|
235
|
+
|
|
236
|
+
<ng-template #menu>
|
|
237
|
+
<hlm-dropdown-menu>
|
|
238
|
+
<button hlmDropdownMenuItem>Item one</button>
|
|
239
|
+
<button hlmDropdownMenuItem>Item two</button>
|
|
240
|
+
</hlm-dropdown-menu>
|
|
241
|
+
</ng-template>
|
|
242
|
+
`,
|
|
243
|
+
})
|
|
244
|
+
export class PlacementContextMenuComponent {}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### 4. Disabled state + open/close tracking
|
|
248
|
+
|
|
249
|
+
```ts
|
|
250
|
+
import { Component, signal } from '@angular/core';
|
|
251
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
252
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
253
|
+
|
|
254
|
+
@Component({
|
|
255
|
+
selector: 'app-disabled-context-menu',
|
|
256
|
+
standalone: true,
|
|
257
|
+
imports: [...HlmContextMenuImports, ...HlmDropdownMenuImports],
|
|
258
|
+
template: `
|
|
259
|
+
<label class="mb-2 flex items-center gap-2 text-sm">
|
|
260
|
+
<input type="checkbox" [checked]="locked()" (change)="locked.set(!locked())" /> Disable menu
|
|
261
|
+
</label>
|
|
262
|
+
<div
|
|
263
|
+
[hlmContextMenuTrigger]="menu"
|
|
264
|
+
[disabled]="locked()"
|
|
265
|
+
(hlmContextMenuOpened)="status.set('open')"
|
|
266
|
+
(hlmContextMenuClosed)="status.set('closed')"
|
|
267
|
+
class="rounded border p-8 text-sm"
|
|
268
|
+
>
|
|
269
|
+
Right-click (status: {{ status() }})
|
|
270
|
+
</div>
|
|
271
|
+
|
|
272
|
+
<ng-template #menu>
|
|
273
|
+
<hlm-dropdown-menu>
|
|
274
|
+
<button hlmDropdownMenuItem>Action</button>
|
|
275
|
+
</hlm-dropdown-menu>
|
|
276
|
+
</ng-template>
|
|
277
|
+
`,
|
|
278
|
+
})
|
|
279
|
+
export class DisabledContextMenuComponent {
|
|
280
|
+
readonly locked = signal(false);
|
|
281
|
+
readonly status = signal('closed');
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### 5. Card / list with per-item menus (composition)
|
|
286
|
+
|
|
287
|
+
```ts
|
|
288
|
+
import { Component } from '@angular/core';
|
|
289
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
290
|
+
import { HlmCardImports } from '@egose/shadcn-theme-ng/card';
|
|
291
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
292
|
+
|
|
293
|
+
@Component({
|
|
294
|
+
selector: 'app-card-context-menu',
|
|
295
|
+
standalone: true,
|
|
296
|
+
imports: [...HlmContextMenuImports, ...HlmCardImports, ...HlmDropdownMenuImports],
|
|
297
|
+
template: `
|
|
298
|
+
<div hlmCard class="w-80" [hlmContextMenuTrigger]="menu">
|
|
299
|
+
<div hlmCardHeader>
|
|
300
|
+
<h3 hlmCardTitle>Q3 report.pdf</h3>
|
|
301
|
+
<p hlmCardDescription>Right-click for file actions.</p>
|
|
302
|
+
</div>
|
|
303
|
+
<div hlmCardContent class="text-sm">2.4 MB · Modified yesterday</div>
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
<ng-template #menu>
|
|
307
|
+
<hlm-dropdown-menu>
|
|
308
|
+
<button hlmDropdownMenuItem>Preview</button>
|
|
309
|
+
<button hlmDropdownMenuItem>Download</button>
|
|
310
|
+
<button hlmDropdownMenuItem>Share…</button>
|
|
311
|
+
</hlm-dropdown-menu>
|
|
312
|
+
</ng-template>
|
|
313
|
+
`,
|
|
314
|
+
})
|
|
315
|
+
export class CardContextMenuComponent {}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 6. Full custom menu content (icons + shortcuts + submenu hints)
|
|
319
|
+
|
|
320
|
+
```ts
|
|
321
|
+
import { Component } from '@angular/core';
|
|
322
|
+
import { HlmContextMenuImports } from '@egose/shadcn-theme-ng/context-menu';
|
|
323
|
+
import { HlmDropdownMenuImports } from '@egose/shadcn-theme-ng/dropdown-menu';
|
|
324
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
325
|
+
import { lucideCopy, lucideScissors, lucideClipboardPaste } from '@ng-icons/lucide';
|
|
326
|
+
|
|
327
|
+
@Component({
|
|
328
|
+
selector: 'app-rich-context-menu',
|
|
329
|
+
standalone: true,
|
|
330
|
+
imports: [...HlmContextMenuImports, ...HlmDropdownMenuImports, NgIcon],
|
|
331
|
+
providers: [provideIcons({ lucideCopy, lucideScissors, lucideClipboardPaste })],
|
|
332
|
+
template: `
|
|
333
|
+
<div [hlmContextMenuTrigger]="menu" class="bg-muted rounded-lg p-10 text-sm">Right-click for a rich menu</div>
|
|
334
|
+
|
|
335
|
+
<ng-template #menu>
|
|
336
|
+
<hlm-dropdown-menu class="w-56">
|
|
337
|
+
<hlm-dropdown-menu-label>Clipboard</hlm-dropdown-menu-label>
|
|
338
|
+
<hlm-dropdown-menu-group>
|
|
339
|
+
<button hlmDropdownMenuItem>
|
|
340
|
+
<ng-icon name="lucideScissors" /> Cut <span hlmDropdownMenuShortcut>⌘X</span>
|
|
341
|
+
</button>
|
|
342
|
+
<button hlmDropdownMenuItem>
|
|
343
|
+
<ng-icon name="lucideCopy" /> Copy <span hlmDropdownMenuShortcut>⌘C</span>
|
|
344
|
+
</button>
|
|
345
|
+
<button hlmDropdownMenuItem>
|
|
346
|
+
<ng-icon name="lucideClipboardPaste" /> Paste <span hlmDropdownMenuShortcut>⌘V</span>
|
|
347
|
+
</button>
|
|
348
|
+
</hlm-dropdown-menu-group>
|
|
349
|
+
</hlm-dropdown-menu>
|
|
350
|
+
</ng-template>
|
|
351
|
+
`,
|
|
352
|
+
})
|
|
353
|
+
export class RichContextMenuComponent {}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
## Accessibility notes
|
|
357
|
+
|
|
358
|
+
- Right-click is pointer-only: always provide a keyboard-accessible equivalent (a `…` button opening the same menu template via `hlm-dropdown-menu-trigger`, or visible action buttons) — otherwise keyboard/SR users lose the actions entirely.
|
|
359
|
+
- The trigger area keeps `select-none` but remains focusable content; do not set `disabled` without explaining why (adjacent hint or tooltip).
|
|
360
|
+
- Menu content comes from `dropdown-menu`/`menu` primitives with roving-focus, Escape-to-close, and arrow-key navigation — keep those behaviors; do not trap focus in the trigger.
|
|
361
|
+
- `hlmContextMenuOpened/Closed` let you mirror state (e.g. highlight the trigger area while open) so sighted keyboard users get the same context.
|
|
362
|
+
|
|
363
|
+
## Theming / CSS variables
|
|
364
|
+
|
|
365
|
+
No component-specific CSS variables in this subpath. The trigger only adds `select-none`; all panel styling (surface, animations from the click corner via `transformOriginSelector`, `data-side` variants) lives in the `dropdown-menu`/`menu` content components.
|
|
366
|
+
|
|
367
|
+
## Related subpaths
|
|
368
|
+
|
|
369
|
+
- `@egose/shadcn-theme-ng/dropdown-menu` — the menu panel content (`hlm-dropdown-menu`, items, separators, shortcuts).
|
|
370
|
+
- `@egose/shadcn-theme-ng/menu` — lower-level menu primitives if you build custom panels.
|
|
371
|
+
- `@egose/shadcn-theme-ng/popover` — click-triggered floating panels (vs right-click here).
|
|
372
|
+
- `@egose/shadcn-theme-ng/tooltip` — hints for the keyboard-accessible equivalents of context actions.
|
|
@@ -36,12 +36,12 @@ class HlmContextMenuTrigger {
|
|
|
36
36
|
effect(() => {
|
|
37
37
|
this._cdkTrigger.menuPosition = this._menuPosition();
|
|
38
38
|
});
|
|
39
|
-
classes(() => 'select-none');
|
|
39
|
+
classes(() => 'tw:select-none');
|
|
40
40
|
}
|
|
41
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
42
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: HlmContextMenuTrigger, isStandalone: true, selector: "[hlmContextMenuTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "context-menu-trigger" }, properties: { "attr.data-disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmContextMenuTrigger) }], hostDirectives: [{ directive: i1.CdkContextMenuTrigger, inputs: ["cdkContextMenuTriggerFor", "hlmContextMenuTrigger", "cdkContextMenuTriggerData", "hlmContextMenuTriggerData", "cdkContextMenuDisabled", "disabled"], outputs: ["cdkContextMenuOpened", "hlmContextMenuOpened", "cdkContextMenuClosed", "hlmContextMenuClosed"] }], ngImport: i0 });
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuTrigger, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
selector: '[hlmContextMenuTrigger]',
|
|
@@ -69,11 +69,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
69
69
|
*/
|
|
70
70
|
const HlmContextMenuImports = [HlmContextMenuTrigger];
|
|
71
71
|
class HlmContextMenuModule {
|
|
72
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
73
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.
|
|
74
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
73
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuModule, imports: [HlmContextMenuTrigger], exports: [HlmContextMenuTrigger] });
|
|
74
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuModule });
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: HlmContextMenuModule, decorators: [{
|
|
77
77
|
type: NgModule,
|
|
78
78
|
args: [{
|
|
79
79
|
imports: [...HlmContextMenuImports],
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
86
86
|
*/
|
|
87
87
|
|
|
88
88
|
export { HlmContextMenuImports, HlmContextMenuModule, HlmContextMenuTrigger, injectHlmContextMenuConfig, provideHlmContextMenuConfig };
|
|
89
|
-
|
|
89
|
+
|