@nanahoshi/mona-ui 0.1.0 → 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/auto-complete/package.json +4 -0
- package/avatar/package.json +4 -0
- package/breadcrumb/package.json +4 -0
- package/button/package.json +4 -0
- package/button-group/package.json +4 -0
- package/calendar/package.json +4 -0
- package/check-box/package.json +4 -0
- package/chip/package.json +4 -0
- package/circular-progress-bar/package.json +4 -0
- package/color-gradient/package.json +4 -0
- package/color-palette/package.json +4 -0
- package/color-picker/package.json +4 -0
- package/combo-box/package.json +4 -0
- package/common/package.json +4 -0
- package/contextmenu/package.json +4 -0
- package/date-input/package.json +4 -0
- package/date-picker/package.json +4 -0
- package/datetime-picker/package.json +4 -0
- package/dialog/package.json +4 -0
- package/dropdown-button/package.json +4 -0
- package/dropdown-list/package.json +4 -0
- package/dropdowns/package.json +4 -0
- package/editor/package.json +4 -0
- package/expansion-panel/package.json +4 -0
- package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +40 -55
- package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +24 -58
- package/fesm2022/nanahoshi-mona-ui-button-group.mjs +37 -48
- package/fesm2022/nanahoshi-mona-ui-button.mjs +130 -129
- package/fesm2022/nanahoshi-mona-ui-calendar.mjs +69 -165
- package/fesm2022/nanahoshi-mona-ui-check-box.mjs +81 -128
- package/fesm2022/nanahoshi-mona-ui-chip.mjs +102 -112
- package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +11 -25
- package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +41 -92
- package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +27 -49
- package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +64 -65
- package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +39 -61
- package/fesm2022/nanahoshi-mona-ui-date-input.mjs +12 -15
- package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +44 -33
- package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +58 -60
- package/fesm2022/nanahoshi-mona-ui-dialog.mjs +52 -165
- package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +36 -59
- package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +56 -61
- package/fesm2022/nanahoshi-mona-ui-editor.mjs +302 -81
- package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +33 -84
- package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +12 -45
- package/fesm2022/nanahoshi-mona-ui-filter.mjs +18 -48
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs → nanahoshi-mona-ui-grid-grid-footer-cell.component-B6FBLtrr.mjs} +14 -14
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs → nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-OJe4UYuw.mjs} +4 -8
- package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-DCd8K6ng.mjs +121 -0
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs → nanahoshi-mona-ui-grid-grid-toggle.component-Dl8Hlkhj.mjs} +26 -55
- package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-C5FRZlvv.mjs +231 -0
- package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-BRZUd8cE.mjs} +167 -451
- package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs +10 -28
- package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +57 -87
- package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +48 -139
- package/fesm2022/nanahoshi-mona-ui-internal.mjs +29 -1
- package/fesm2022/nanahoshi-mona-ui-list-box.mjs +10 -32
- package/fesm2022/nanahoshi-mona-ui-list-view.mjs +8 -21
- package/fesm2022/nanahoshi-mona-ui-menubar.mjs +50 -156
- package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +40 -69
- package/fesm2022/nanahoshi-mona-ui-notification.mjs +32 -116
- package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +81 -107
- package/fesm2022/nanahoshi-mona-ui-pager.mjs +33 -85
- package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +12 -34
- package/fesm2022/nanahoshi-mona-ui-popover.mjs +31 -52
- package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +38 -110
- package/fesm2022/nanahoshi-mona-ui-popup.mjs +4 -4
- package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +21 -62
- package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +66 -111
- package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +60 -151
- package/fesm2022/nanahoshi-mona-ui-slider.mjs +117 -173
- package/fesm2022/nanahoshi-mona-ui-split-button.mjs +32 -45
- package/fesm2022/nanahoshi-mona-ui-splitter.mjs +29 -64
- package/fesm2022/nanahoshi-mona-ui-stepper.mjs +38 -101
- package/fesm2022/nanahoshi-mona-ui-switch.mjs +58 -79
- package/fesm2022/nanahoshi-mona-ui-tabs.mjs +42 -118
- package/fesm2022/nanahoshi-mona-ui-text-area.mjs +29 -37
- package/fesm2022/nanahoshi-mona-ui-text-box.mjs +60 -81
- package/fesm2022/nanahoshi-mona-ui-theme.mjs +1111 -269
- package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +45 -39
- package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +45 -109
- package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +54 -82
- package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +2 -2
- package/fesm2022/nanahoshi-mona-ui-window.mjs +35 -115
- package/fieldset/package.json +4 -0
- package/filter/package.json +4 -0
- package/grid/package.json +4 -0
- package/internal/filter-input/package.json +4 -0
- package/internal/indicator-icon/package.json +4 -0
- package/internal/list/package.json +4 -0
- package/internal/package.json +4 -0
- package/internal/tree/package.json +4 -0
- package/list/package.json +4 -0
- package/list-box/package.json +4 -0
- package/list-view/package.json +4 -0
- package/menubar/package.json +4 -0
- package/multi-select/package.json +4 -0
- package/notification/package.json +4 -0
- package/numeric-text-box/package.json +4 -0
- package/package.json +31 -5
- package/pager/package.json +4 -0
- package/placeholder/package.json +4 -0
- package/popover/package.json +4 -0
- package/popup/package.json +4 -0
- package/popup-menu/package.json +4 -0
- package/progress-bar/package.json +4 -0
- package/query/package.json +4 -0
- package/radio-button/package.json +4 -0
- package/scroll-view/package.json +4 -0
- package/slider/package.json +4 -0
- package/split-button/package.json +4 -0
- package/splitter/package.json +4 -0
- package/stepper/package.json +4 -0
- package/switch/package.json +4 -0
- package/tabs/package.json +4 -0
- package/text-area/package.json +4 -0
- package/text-box/package.json +4 -0
- package/theme/package.json +4 -0
- package/time-picker/package.json +4 -0
- package/time-selector/package.json +4 -0
- package/tooltip/package.json +4 -0
- package/tree-view/package.json +4 -0
- package/types/nanahoshi-mona-ui-auto-complete.d.ts +6 -7
- package/types/nanahoshi-mona-ui-breadcrumb.d.ts +4 -6
- package/types/nanahoshi-mona-ui-button-group.d.ts +2 -3
- package/types/nanahoshi-mona-ui-button.d.ts +6 -6
- package/types/nanahoshi-mona-ui-calendar.d.ts +21 -22
- package/types/nanahoshi-mona-ui-check-box.d.ts +6 -9
- package/types/nanahoshi-mona-ui-chip.d.ts +2 -3
- package/types/nanahoshi-mona-ui-circular-progress-bar.d.ts +2 -4
- package/types/nanahoshi-mona-ui-color-gradient.d.ts +10 -11
- package/types/nanahoshi-mona-ui-color-palette.d.ts +4 -5
- package/types/nanahoshi-mona-ui-color-picker.d.ts +6 -8
- package/types/nanahoshi-mona-ui-combo-box.d.ts +6 -7
- package/types/nanahoshi-mona-ui-date-input.d.ts +2 -3
- package/types/nanahoshi-mona-ui-date-picker.d.ts +2 -3
- package/types/nanahoshi-mona-ui-dialog.d.ts +7 -8
- package/types/nanahoshi-mona-ui-dropdown-list.d.ts +6 -7
- package/types/nanahoshi-mona-ui-dropdowns.d.ts +2 -3
- package/types/nanahoshi-mona-ui-editor.d.ts +17 -17
- package/types/nanahoshi-mona-ui-expansion-panel.d.ts +8 -10
- package/types/nanahoshi-mona-ui-fieldset.d.ts +6 -8
- package/types/nanahoshi-mona-ui-filter.d.ts +3 -4
- package/types/nanahoshi-mona-ui-grid.d.ts +16 -17
- package/types/nanahoshi-mona-ui-internal-indicator-icon.d.ts +0 -1
- package/types/nanahoshi-mona-ui-internal-tree.d.ts +16 -16
- package/types/nanahoshi-mona-ui-internal.d.ts +8 -1
- package/types/nanahoshi-mona-ui-list-box.d.ts +4 -5
- package/types/nanahoshi-mona-ui-list-view.d.ts +2 -3
- package/types/nanahoshi-mona-ui-menubar.d.ts +7 -8
- package/types/nanahoshi-mona-ui-multi-select.d.ts +8 -9
- package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +2 -3
- package/types/nanahoshi-mona-ui-pager.d.ts +6 -7
- package/types/nanahoshi-mona-ui-placeholder.d.ts +4 -6
- package/types/nanahoshi-mona-ui-popover.d.ts +8 -9
- package/types/nanahoshi-mona-ui-popup-menu.d.ts +12 -13
- package/types/nanahoshi-mona-ui-progress-bar.d.ts +8 -9
- package/types/nanahoshi-mona-ui-radio-button.d.ts +8 -11
- package/types/nanahoshi-mona-ui-scroll-view.d.ts +18 -20
- package/types/nanahoshi-mona-ui-slider.d.ts +18 -18
- package/types/nanahoshi-mona-ui-split-button.d.ts +2 -3
- package/types/nanahoshi-mona-ui-splitter.d.ts +6 -8
- package/types/nanahoshi-mona-ui-stepper.d.ts +13 -14
- package/types/nanahoshi-mona-ui-switch.d.ts +6 -7
- package/types/nanahoshi-mona-ui-tabs.d.ts +15 -17
- package/types/nanahoshi-mona-ui-text-area.d.ts +2 -4
- package/types/nanahoshi-mona-ui-text-box.d.ts +4 -6
- package/types/nanahoshi-mona-ui-theme.d.ts +111 -12
- package/types/nanahoshi-mona-ui-time-picker.d.ts +2 -3
- package/types/nanahoshi-mona-ui-time-selector.d.ts +10 -11
- package/types/nanahoshi-mona-ui-tooltip.d.ts +4 -5
- package/types/nanahoshi-mona-ui-window.d.ts +16 -17
- package/window/package.json +4 -0
- package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +0 -130
- package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +0 -240
|
@@ -3,13 +3,13 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { Directive, inject, DestroyRef, Renderer2, computed, contentChild, TemplateRef, viewChild, input, output, effect, ElementRef, Component } from '@angular/core';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { PopupService, fadePopupAnimation } from '@nanahoshi/mona-ui/popup';
|
|
6
|
-
import {
|
|
7
|
-
import { tooltipArrowThemeVariants, getPositionConnectionPoints, getOffsetForPosition } from '@nanahoshi/mona-ui/tooltip';
|
|
6
|
+
import { getPositionConnectionPoints, getOffsetForPosition } from '@nanahoshi/mona-ui/tooltip';
|
|
8
7
|
import { takeUntil, take, fromEvent, filter, tap } from 'rxjs';
|
|
9
8
|
import { twMerge } from 'tailwind-merge';
|
|
10
9
|
import { v4 } from 'uuid';
|
|
11
10
|
import { PreventableEvent } from '@nanahoshi/mona-ui/common';
|
|
12
11
|
import { cva } from 'class-variance-authority';
|
|
12
|
+
import { themeOverlaySurfaceClasses } from '@nanahoshi/mona-ui/internal';
|
|
13
13
|
|
|
14
14
|
class PopoverFooterTemplateDirective {
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopoverFooterTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -55,10 +55,10 @@ class PopoverShownEvent {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
const
|
|
59
|
-
flex flex-col items-center justify-center
|
|
60
|
-
|
|
61
|
-
shadow-
|
|
58
|
+
const popoverBaseThemeVariants = cva(`
|
|
59
|
+
relative z-1 flex flex-col items-center justify-center
|
|
60
|
+
${themeOverlaySurfaceClasses} text-foreground
|
|
61
|
+
border border-border shadow-(--shadow-overlay)
|
|
62
62
|
`, {
|
|
63
63
|
variants: {
|
|
64
64
|
rounded: {
|
|
@@ -69,9 +69,9 @@ const popoverBaseVariants = cva(`
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
-
const
|
|
73
|
-
flex items-center justify-between
|
|
74
|
-
font-semibold
|
|
72
|
+
const popoverHeaderThemeVariants = cva(`
|
|
73
|
+
flex w-full items-center justify-between overflow-hidden
|
|
74
|
+
font-semibold
|
|
75
75
|
`, {
|
|
76
76
|
variants: {
|
|
77
77
|
rounded: {
|
|
@@ -82,76 +82,55 @@ const popoverHeaderVariants = cva(`
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
const popoverContentThemeVariants = cva(`
|
|
86
|
+
h-full w-full flex-1 overflow-hidden
|
|
87
|
+
`);
|
|
88
|
+
const popoverArrowThemeVariants = cva(`
|
|
89
|
+
absolute z-0 h-3 w-3 rotate-45 transform-center box-border
|
|
90
|
+
pointer-events-none
|
|
91
|
+
${themeOverlaySurfaceClasses} text-foreground
|
|
92
|
+
border border-border
|
|
93
|
+
data-[position="top"]:-bottom-1.5 data-[position="top"]:border-t-0 data-[position="top"]:border-l-0
|
|
94
|
+
data-[position="top"]:[clip-path:inset(1px_0_0_1px)]
|
|
95
|
+
data-[position="bottom"]:-top-1.5 data-[position="bottom"]:border-r-0 data-[position="bottom"]:border-b-0
|
|
96
|
+
data-[position="bottom"]:[clip-path:inset(0_1px_1px_0)]
|
|
97
|
+
data-[position="left"]:-right-1.5 data-[position="left"]:border-b-0 data-[position="left"]:border-l-0
|
|
98
|
+
data-[position="left"]:[clip-path:inset(0_0_1px_1px)]
|
|
99
|
+
data-[position="right"]:-left-1.5 data-[position="right"]:border-t-0 data-[position="right"]:border-r-0
|
|
100
|
+
data-[position="right"]:[clip-path:inset(1px_1px_0_0)]
|
|
88
101
|
`);
|
|
89
|
-
|
|
90
|
-
const popoverBaseThemeVariants = (theme) => {
|
|
91
|
-
switch (theme) {
|
|
92
|
-
case "mona":
|
|
93
|
-
return popoverBaseVariants;
|
|
94
|
-
default:
|
|
95
|
-
return popoverBaseVariants;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
const popoverHeaderThemeVariants = (theme) => {
|
|
99
|
-
switch (theme) {
|
|
100
|
-
case "mona":
|
|
101
|
-
return popoverHeaderVariants;
|
|
102
|
-
default:
|
|
103
|
-
return popoverHeaderVariants;
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
const popoverContentThemeVariants = (theme) => {
|
|
107
|
-
switch (theme) {
|
|
108
|
-
case "mona":
|
|
109
|
-
return popoverContentVariants;
|
|
110
|
-
default:
|
|
111
|
-
return popoverContentVariants;
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
const popoverArrowThemeVariants = (theme) => {
|
|
115
|
-
return tooltipArrowThemeVariants(theme);
|
|
116
|
-
};
|
|
117
102
|
|
|
118
103
|
class PopoverComponent {
|
|
119
104
|
#destroyRef;
|
|
120
105
|
#popupService;
|
|
121
106
|
#renderer;
|
|
122
|
-
#themeService;
|
|
123
107
|
#subscription;
|
|
124
108
|
constructor() {
|
|
125
109
|
this.#destroyRef = inject(DestroyRef);
|
|
126
110
|
this.#popupService = inject(PopupService);
|
|
127
111
|
this.#renderer = inject(Renderer2);
|
|
128
|
-
this.#themeService = inject(ThemeService);
|
|
129
112
|
this.#subscription = null;
|
|
130
113
|
this.arrowClasses = computed(() => {
|
|
131
|
-
|
|
132
|
-
return popoverArrowThemeVariants(theme)();
|
|
114
|
+
return popoverArrowThemeVariants();
|
|
133
115
|
}, /* @ts-ignore */
|
|
134
116
|
...(ngDevMode ? [{ debugName: "arrowClasses" }] : /* istanbul ignore next */ []));
|
|
135
117
|
this.baseClasses = computed(() => {
|
|
136
|
-
const theme = this.#themeService.theme();
|
|
137
118
|
const rounded = this.rounded();
|
|
138
|
-
return popoverBaseThemeVariants(
|
|
119
|
+
return popoverBaseThemeVariants({ rounded });
|
|
139
120
|
}, /* @ts-ignore */
|
|
140
121
|
...(ngDevMode ? [{ debugName: "baseClasses" }] : /* istanbul ignore next */ []));
|
|
141
122
|
this.contentClasses = computed(() => {
|
|
142
|
-
|
|
143
|
-
return popoverContentThemeVariants(theme)();
|
|
123
|
+
return popoverContentThemeVariants();
|
|
144
124
|
}, /* @ts-ignore */
|
|
145
125
|
...(ngDevMode ? [{ debugName: "contentClasses" }] : /* istanbul ignore next */ []));
|
|
146
126
|
this.currentArrowPosition = computed(() => this.position(), /* @ts-ignore */
|
|
147
127
|
...(ngDevMode ? [{ debugName: "currentArrowPosition" }] : /* istanbul ignore next */ []));
|
|
148
128
|
this.footerTemplateRef = contentChild(PopoverFooterTemplateDirective, { ...(ngDevMode ? { debugName: "footerTemplateRef" } : /* istanbul ignore next */ {}), read: TemplateRef });
|
|
149
129
|
this.headerClasses = computed(() => {
|
|
150
|
-
const theme = this.#themeService.theme();
|
|
151
130
|
const rounded = this.rounded();
|
|
152
131
|
const hasTemplate = !!this.titleTemplateRef();
|
|
153
132
|
const padding = hasTemplate ? "p-0" : "p-2";
|
|
154
|
-
const variants = popoverHeaderThemeVariants(
|
|
133
|
+
const variants = popoverHeaderThemeVariants({ rounded });
|
|
155
134
|
return twMerge(variants, padding);
|
|
156
135
|
}, /* @ts-ignore */
|
|
157
136
|
...(ngDevMode ? [{ debugName: "headerClasses" }] : /* istanbul ignore next */ []));
|
|
@@ -306,11 +285,11 @@ class PopoverComponent {
|
|
|
306
285
|
return target instanceof ElementRef ? target.nativeElement : target;
|
|
307
286
|
}
|
|
308
287
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopoverComponent, isStandalone: true, selector: "mona-popover", inputs: { displayArrow: { classPropertyName: "displayArrow", publicName: "displayArrow", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hide: "hide", hidden: "hidden", show: "show", shown: "shown" }, queries: [{ propertyName: "footerTemplateRef", first: true, predicate: PopoverFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "titleTemplateRef", first: true, predicate: PopoverTitleTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], exportAs: ["monaPopover"], ngImport: i0, template: "<ng-template>\
|
|
288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopoverComponent, isStandalone: true, selector: "mona-popover", inputs: { displayArrow: { classPropertyName: "displayArrow", publicName: "displayArrow", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hide: "hide", hidden: "hidden", show: "show", shown: "shown" }, queries: [{ propertyName: "footerTemplateRef", first: true, predicate: PopoverFooterTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "titleTemplateRef", first: true, predicate: PopoverTitleTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], exportAs: ["monaPopover"], ngImport: i0, template: "<ng-template>\n <div [class]=\"baseClasses()\" [id]=\"uid\" role=\"dialog\" [attr.aria-labelledby]=\"headerId()\" [attr.data-uid]=\"uid\">\n <div>\n @if (title() || titleTemplateRef()) {\n <div [class]=\"headerClasses()\" [id]=\"headerId()\">\n @if (titleTemplateRef()) {\n <ng-container [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-container>\n } @else {\n <span>{{ title() }}</span>\n }\n </div>\n }\n <div [class]=\"contentClasses()\">\n <ng-content></ng-content>\n </div>\n @if (footerTemplateRef()) {\n <div class=\"mona-popover-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef()\"></ng-container>\n </div>\n }\n </div>\n @if (displayArrow()) {\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
310
289
|
}
|
|
311
290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
312
291
|
type: Component,
|
|
313
|
-
args: [{ selector: "mona-popover", exportAs: "monaPopover", imports: [NgTemplateOutlet], template: "<ng-template>\
|
|
292
|
+
args: [{ selector: "mona-popover", exportAs: "monaPopover", imports: [NgTemplateOutlet], template: "<ng-template>\n <div [class]=\"baseClasses()\" [id]=\"uid\" role=\"dialog\" [attr.aria-labelledby]=\"headerId()\" [attr.data-uid]=\"uid\">\n <div>\n @if (title() || titleTemplateRef()) {\n <div [class]=\"headerClasses()\" [id]=\"headerId()\">\n @if (titleTemplateRef()) {\n <ng-container [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-container>\n } @else {\n <span>{{ title() }}</span>\n }\n </div>\n }\n <div [class]=\"contentClasses()\">\n <ng-content></ng-content>\n </div>\n @if (footerTemplateRef()) {\n <div class=\"mona-popover-footer\">\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef()\"></ng-container>\n </div>\n }\n </div>\n @if (displayArrow()) {\n <div [class]=\"arrowClasses()\" [attr.data-position]=\"currentArrowPosition()\"></div>\n }\n </div>\n</ng-template>\n" }]
|
|
314
293
|
}], ctorParameters: () => [], propDecorators: { footerTemplateRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PopoverFooterTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], titleTemplateRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PopoverTitleTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], displayArrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayArrow", required: false }] }], hide: [{ type: i0.Output, args: ["hide"] }], hidden: [{ type: i0.Output, args: ["hidden"] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], show: [{ type: i0.Output, args: ["show"] }], shown: [{ type: i0.Output, args: ["shown"] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: true }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], trigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "trigger", required: false }] }] } });
|
|
315
294
|
|
|
316
295
|
/*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, signal, computed, inject, DestroyRef, ElementRef, afterNextRender, Component, contentChild, contentChildren, input, output, afterRenderEffect, ChangeDetectionStrategy, linkedSignal, forwardRef, model, TemplateRef, Directive } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { createElementControlId, isNavigationKey, isTypeaheadKey, setupTypeahead, toCssValue, rxTimeout } from '@nanahoshi/mona-ui/internal';
|
|
4
|
+
import { themeOverlaySurfaceClasses, createElementControlId, isNavigationKey, isTypeaheadKey, setupTypeahead, toCssValue, rxTimeout } from '@nanahoshi/mona-ui/internal';
|
|
5
5
|
import { PopupDataInjectionToken, PopupService } from '@nanahoshi/mona-ui/popup';
|
|
6
6
|
import { forEach, select, groupBy, selectMany, any } from '@mirei/ts-collections';
|
|
7
7
|
import { Subject, take, tap, fromEvent, takeUntil, filter, switchMap } from 'rxjs';
|
|
@@ -9,7 +9,6 @@ import { PreventableEvent } from '@nanahoshi/mona-ui/common';
|
|
|
9
9
|
import { v4 } from 'uuid';
|
|
10
10
|
import { NgTemplateOutlet } from '@angular/common';
|
|
11
11
|
import { LucideChevronRight, LucideCheck } from '@lucide/angular';
|
|
12
|
-
import { ThemeService } from '@nanahoshi/mona-ui/theme';
|
|
13
12
|
import { twMerge } from 'tailwind-merge';
|
|
14
13
|
import { cva } from 'class-variance-authority';
|
|
15
14
|
|
|
@@ -134,7 +133,7 @@ class PopupMenuItemClickEvent extends PreventableEvent {
|
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
|
|
137
|
-
const
|
|
136
|
+
const popupMenuBaseThemeVariants = cva(`h-full w-full overflow-hidden`, {
|
|
138
137
|
variants: {
|
|
139
138
|
rounded: {
|
|
140
139
|
small: "rounded-sm",
|
|
@@ -144,12 +143,10 @@ const popupMenuBaseVariants = cva(`w-full h-full overflow-hidden`, {
|
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
});
|
|
147
|
-
const
|
|
148
|
-
flex flex-col
|
|
149
|
-
|
|
150
|
-
border border-border
|
|
151
|
-
outline-none
|
|
152
|
-
p-1 shadow-md
|
|
146
|
+
const popupMenuContainerThemeVariants = cva(`
|
|
147
|
+
flex flex-col p-1
|
|
148
|
+
${themeOverlaySurfaceClasses} text-foreground
|
|
149
|
+
border border-border shadow-(--shadow-overlay) outline-none
|
|
153
150
|
`, {
|
|
154
151
|
variants: {
|
|
155
152
|
rounded: {
|
|
@@ -160,7 +157,7 @@ const popupMenuContainerVariants = cva(`
|
|
|
160
157
|
}
|
|
161
158
|
}
|
|
162
159
|
});
|
|
163
|
-
const
|
|
160
|
+
const popupMenuGroupHeaderThemeVariants = cva(`inline-flex w-full select-none px-2 py-1 font-bold text-muted-foreground`, {
|
|
164
161
|
variants: {
|
|
165
162
|
size: {
|
|
166
163
|
small: "text-xs",
|
|
@@ -169,25 +166,17 @@ const popupMenuGroupHeaderVariants = cva(`font-bold inline-flex select-none px-2
|
|
|
169
166
|
}
|
|
170
167
|
}
|
|
171
168
|
});
|
|
172
|
-
const
|
|
173
|
-
const
|
|
174
|
-
relative flex gap-2
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
focus-within:outline-none
|
|
184
|
-
|
|
185
|
-
data-[disabled='true']:pointer-events-none
|
|
186
|
-
data-[disabled='true']:cursor-not-allowed
|
|
187
|
-
data-[disabled='true']:opacity-50
|
|
188
|
-
|
|
189
|
-
data-[active='true']:bg-hover
|
|
190
|
-
data-[active='true']:text-hover-foreground
|
|
169
|
+
const popupMenuIconContainerThemeVariants = cva(`absolute left-2 flex items-center justify-center`);
|
|
170
|
+
const popupMenuItemThemeVariants = cva(`
|
|
171
|
+
relative flex cursor-pointer select-none items-center gap-2 py-1 pr-2 pl-8
|
|
172
|
+
text-foreground outline-none
|
|
173
|
+
hover:bg-[var(--mona-menu-item-hover-background,var(--color-hover))] hover:text-foreground
|
|
174
|
+
focus-within:bg-[var(--mona-menu-item-hover-background,var(--color-hover))]
|
|
175
|
+
focus-within:text-foreground focus-within:outline-none
|
|
176
|
+
data-[disabled='true']:pointer-events-none data-[disabled='true']:cursor-not-allowed
|
|
177
|
+
data-[disabled='true']:text-disabled-foreground
|
|
178
|
+
data-[active='true']:bg-[var(--mona-menu-item-hover-background,var(--color-hover))]
|
|
179
|
+
data-[active='true']:text-foreground
|
|
191
180
|
`, {
|
|
192
181
|
variants: {
|
|
193
182
|
rounded: {
|
|
@@ -203,56 +192,7 @@ const popupMenuItemVariants = cva(`
|
|
|
203
192
|
}
|
|
204
193
|
}
|
|
205
194
|
});
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
const popupMenuBaseThemeVariants = (theme) => {
|
|
209
|
-
switch (theme) {
|
|
210
|
-
case "mona":
|
|
211
|
-
return popupMenuBaseVariants;
|
|
212
|
-
default:
|
|
213
|
-
return popupMenuBaseVariants;
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
const popupMenuContainerThemeVariants = (theme) => {
|
|
217
|
-
switch (theme) {
|
|
218
|
-
case "mona":
|
|
219
|
-
return popupMenuContainerVariants;
|
|
220
|
-
default:
|
|
221
|
-
return popupMenuContainerVariants;
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
const popupMenuGroupHeaderThemeVariants = (theme) => {
|
|
225
|
-
switch (theme) {
|
|
226
|
-
case "mona":
|
|
227
|
-
return popupMenuGroupHeaderVariants;
|
|
228
|
-
default:
|
|
229
|
-
return popupMenuGroupHeaderVariants;
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
const popupMenuIconContainerThemeVariants = (theme) => {
|
|
233
|
-
switch (theme) {
|
|
234
|
-
case "mona":
|
|
235
|
-
return popupMenuIconContainerVariants;
|
|
236
|
-
default:
|
|
237
|
-
return popupMenuIconContainerVariants;
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
const popupMenuItemThemeVariants = (theme) => {
|
|
241
|
-
switch (theme) {
|
|
242
|
-
case "mona":
|
|
243
|
-
return popupMenuItemVariants;
|
|
244
|
-
default:
|
|
245
|
-
return popupMenuItemVariants;
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
const popupMenuLinkThemeVariants = (theme) => {
|
|
249
|
-
switch (theme) {
|
|
250
|
-
case "mona":
|
|
251
|
-
return popupMenuLinkVariants;
|
|
252
|
-
default:
|
|
253
|
-
return popupMenuLinkVariants;
|
|
254
|
-
}
|
|
255
|
-
};
|
|
195
|
+
const popupMenuLinkThemeVariants = cva(`flex items-center justify-center`);
|
|
256
196
|
|
|
257
197
|
class PopupMenuListComponent {
|
|
258
198
|
#childCloseRequest$;
|
|
@@ -264,7 +204,6 @@ class PopupMenuListComponent {
|
|
|
264
204
|
#navigationItems;
|
|
265
205
|
#parentConfig;
|
|
266
206
|
#popupService;
|
|
267
|
-
#themeService;
|
|
268
207
|
#typeaheadKey$;
|
|
269
208
|
#viaKeyboardNavigation;
|
|
270
209
|
constructor() {
|
|
@@ -312,29 +251,25 @@ class PopupMenuListComponent {
|
|
|
312
251
|
...(ngDevMode ? [{ debugName: "#navigationItems" }] : /* istanbul ignore next */ []));
|
|
313
252
|
this.#parentConfig = inject(PopupDataInjectionToken);
|
|
314
253
|
this.#popupService = inject(PopupService);
|
|
315
|
-
this.#themeService = inject(ThemeService);
|
|
316
254
|
this.#typeaheadKey$ = new Subject();
|
|
317
255
|
this.#viaKeyboardNavigation = signal(false, /* @ts-ignore */
|
|
318
256
|
...(ngDevMode ? [{ debugName: "#viaKeyboardNavigation" }] : /* istanbul ignore next */ []));
|
|
319
257
|
this.activeMenuItem = signal(null, /* @ts-ignore */
|
|
320
258
|
...(ngDevMode ? [{ debugName: "activeMenuItem" }] : /* istanbul ignore next */ []));
|
|
321
259
|
this.baseClasses = computed(() => {
|
|
322
|
-
const theme = this.#themeService.theme();
|
|
323
260
|
const rounded = this.#parentConfig.rounded();
|
|
324
|
-
return popupMenuBaseThemeVariants(
|
|
261
|
+
return popupMenuBaseThemeVariants({ rounded });
|
|
325
262
|
}, /* @ts-ignore */
|
|
326
263
|
...(ngDevMode ? [{ debugName: "baseClasses" }] : /* istanbul ignore next */ []));
|
|
327
264
|
this.containerClasses = computed(() => {
|
|
328
|
-
const theme = this.#themeService.theme();
|
|
329
265
|
const rounded = this.#parentConfig.rounded();
|
|
330
|
-
return popupMenuContainerThemeVariants(
|
|
266
|
+
return popupMenuContainerThemeVariants({ rounded });
|
|
331
267
|
}, /* @ts-ignore */
|
|
332
268
|
...(ngDevMode ? [{ debugName: "containerClasses" }] : /* istanbul ignore next */ []));
|
|
333
269
|
this.groupHeaderClasses = computed(() => {
|
|
334
|
-
const theme = this.#themeService.theme();
|
|
335
270
|
const size = this.#parentConfig.size();
|
|
336
271
|
const hasIcon = this.iconAreaVisible();
|
|
337
|
-
const variantClasses = popupMenuGroupHeaderThemeVariants(
|
|
272
|
+
const variantClasses = popupMenuGroupHeaderThemeVariants({ size });
|
|
338
273
|
const iconClasses = hasIcon ? "pl-8" : "pl-2";
|
|
339
274
|
return twMerge(variantClasses, iconClasses);
|
|
340
275
|
}, /* @ts-ignore */
|
|
@@ -346,23 +281,20 @@ class PopupMenuListComponent {
|
|
|
346
281
|
}, /* @ts-ignore */
|
|
347
282
|
...(ngDevMode ? [{ debugName: "iconAreaVisible" }] : /* istanbul ignore next */ []));
|
|
348
283
|
this.iconContainerClasses = computed(() => {
|
|
349
|
-
|
|
350
|
-
return popupMenuIconContainerThemeVariants(theme)();
|
|
284
|
+
return popupMenuIconContainerThemeVariants();
|
|
351
285
|
}, /* @ts-ignore */
|
|
352
286
|
...(ngDevMode ? [{ debugName: "iconContainerClasses" }] : /* istanbul ignore next */ []));
|
|
353
287
|
this.linkContainerClasses = computed(() => {
|
|
354
|
-
|
|
355
|
-
return popupMenuLinkThemeVariants(theme)();
|
|
288
|
+
return popupMenuLinkThemeVariants();
|
|
356
289
|
}, /* @ts-ignore */
|
|
357
290
|
...(ngDevMode ? [{ debugName: "linkContainerClasses" }] : /* istanbul ignore next */ []));
|
|
358
291
|
this.menuId = computed(() => this.#parentConfig.menuId, /* @ts-ignore */
|
|
359
292
|
...(ngDevMode ? [{ debugName: "menuId" }] : /* istanbul ignore next */ []));
|
|
360
293
|
this.menuItemClasses = computed(() => {
|
|
361
|
-
const theme = this.#themeService.theme();
|
|
362
294
|
const rounded = this.#parentConfig.rounded();
|
|
363
295
|
const size = this.#parentConfig.size();
|
|
364
296
|
const hasIcon = this.iconAreaVisible();
|
|
365
|
-
const variantClasses = popupMenuItemThemeVariants(
|
|
297
|
+
const variantClasses = popupMenuItemThemeVariants({ rounded, size });
|
|
366
298
|
const iconClasses = hasIcon ? "pl-8" : "pl-2";
|
|
367
299
|
return twMerge(variantClasses, iconClasses);
|
|
368
300
|
}, /* @ts-ignore */
|
|
@@ -401,6 +333,13 @@ class PopupMenuListComponent {
|
|
|
401
333
|
}
|
|
402
334
|
this.#parentConfig.menuItemClick$.next(popupMenuItemClickEvent);
|
|
403
335
|
}
|
|
336
|
+
closePopup() {
|
|
337
|
+
if (this.popupRef) {
|
|
338
|
+
this.popupRef.close();
|
|
339
|
+
this.popupRef = null;
|
|
340
|
+
}
|
|
341
|
+
this.#close$.next();
|
|
342
|
+
}
|
|
404
343
|
createSubmenu(target, viaKeyboard) {
|
|
405
344
|
this.#viaKeyboardNavigation.set(viaKeyboard);
|
|
406
345
|
const minWidth = this.#parentConfig.minWidth?.() ?? undefined;
|
|
@@ -533,10 +472,7 @@ class PopupMenuListComponent {
|
|
|
533
472
|
}
|
|
534
473
|
}
|
|
535
474
|
handleEscapeKey() {
|
|
536
|
-
|
|
537
|
-
this.popupRef.close();
|
|
538
|
-
this.popupRef = null;
|
|
539
|
-
}
|
|
475
|
+
this.closePopup();
|
|
540
476
|
}
|
|
541
477
|
handleHomeKey() {
|
|
542
478
|
const firstItem = this.#navigationItems().firstOrDefault();
|
|
@@ -608,28 +544,20 @@ class PopupMenuListComponent {
|
|
|
608
544
|
}
|
|
609
545
|
setPopupCloseSubscription() {
|
|
610
546
|
this.#parentConfig.parentClose$
|
|
611
|
-
.pipe(takeUntilDestroyed(this.#destroyRef), tap(() =>
|
|
612
|
-
if (this.popupRef) {
|
|
613
|
-
this.popupRef.close();
|
|
614
|
-
this.popupRef = null;
|
|
615
|
-
}
|
|
616
|
-
}))
|
|
547
|
+
.pipe(takeUntilDestroyed(this.#destroyRef), tap(() => this.closePopup()))
|
|
617
548
|
.subscribe();
|
|
618
549
|
this.#childCloseRequest$
|
|
619
550
|
.pipe(takeUntilDestroyed(this.#destroyRef), tap(() => {
|
|
620
551
|
const activeItem = this.activeMenuItem();
|
|
621
552
|
this.notifyNavigation(activeItem, "left");
|
|
622
|
-
|
|
623
|
-
this.popupRef.close();
|
|
624
|
-
this.popupRef = null;
|
|
625
|
-
}
|
|
553
|
+
this.closePopup();
|
|
626
554
|
}))
|
|
627
555
|
.subscribe();
|
|
628
556
|
}
|
|
629
557
|
setPointerSubscriptions() {
|
|
630
558
|
this.pointerEnter$
|
|
631
559
|
.pipe(takeUntilDestroyed(this.#destroyRef), takeUntil(this.#parentConfig.parentClose$), filter(e => e.item !== this.activeMenuItem()), tap(e => {
|
|
632
|
-
this.
|
|
560
|
+
this.closePopup();
|
|
633
561
|
if (e.item.items.length === 0) {
|
|
634
562
|
this.activeMenuItem.set(null);
|
|
635
563
|
}
|
|
@@ -654,13 +582,13 @@ class PopupMenuListComponent {
|
|
|
654
582
|
.subscribe(buffer => this.cycleThroughMatchedItems(buffer));
|
|
655
583
|
}
|
|
656
584
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
657
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopupMenuListComponent, isStandalone: true, selector: "mona-popup-menu-list", host: { properties: { "class": "baseClasses()" } }, ngImport: i0, template: "<div\
|
|
585
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopupMenuListComponent, isStandalone: true, selector: "mona-popup-menu-list", host: { properties: { "class": "baseClasses()" } }, ngImport: i0, template: "<div\n role=\"menu\"\n [attr.tabindex]=\"0\"\n [attr.aria-orientation]=\"'vertical'\"\n [attr.aria-activedescendant]=\"activeMenuItem()?.uid\"\n [attr.id]=\"menuId()\"\n [class]=\"containerClasses()\">\n @for (group of menuItems(); track $index) {\n @if (typeof group.key === \"string\") {\n @let groupTemplate = group.first().groupTemplate?.() ?? popupGroupTemplate() ?? null;\n <div role=\"group\" [attr.aria-labelledby]=\"`${group.key}-${$index}`\" [class]=\"groupHeaderClasses()\">\n <div [id]=\"`${group.key}-${$index}`\" role=\"presentation\">\n @if (groupTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.key }\"></ng-container>\n } @else {\n <span>{{ group.key }}</span>\n }\n </div>\n </div>\n }\n @for (item of group.source; track $index) {\n @if (item.separator) {\n <div role=\"separator\" class=\"bg-border my-1 h-px\"></div>\n } @else {\n @let iconTemplate = item.iconTemplate?.() ?? popupIconTemplate() ?? null;\n @let shortcutTemplate = item.shortcutTemplate?.() ?? popupShortcutTemplate() ?? null;\n @let textTemplate = item.textTemplate?.() ?? popupTextTemplate() ?? null;\n <div\n role=\"menuitem\"\n [id]=\"item.uid\"\n (pointerenter)=\"pointerEnter$.next({ event: $event, item: item })\"\n (pointerleave)=\"pointerLeave$.next({ event: $event, item: item })\"\n (click)=\"onItemClick($event, item)\"\n [attr.data-active]=\"item === activeMenuItem()\"\n [attr.aria-disabled]=\"item.disabled\"\n [attr.aria-expanded]=\"item.items.length > 0 && item === activeMenuItem() && !!popupRef\"\n [attr.aria-haspopup]=\"item.items.length > 0 ? 'menu' : null\"\n [attr.aria-label]=\"item.label || null\"\n [attr.data-disabled]=\"item.disabled\"\n [class]=\"menuItemClasses()\">\n @if (iconAreaVisible()) {\n <div [class]=\"iconContainerClasses()\">\n @if (!item.checkable && !item.radio) {\n <ng-container\n [ngTemplateOutlet]=\"iconTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n } @else if (item.checkable) {\n @if (item.checked?.()) {\n <svg lucideCheck [size]=\"14\"></svg>\n }\n } @else if (item.radio) {\n @if (item.selected?.()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-circle size-2 fill-current\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n </svg>\n }\n }\n </div>\n }\n <div class=\"flex-1\">\n @if (textTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"textTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n } @else {\n {{ item.label }}\n }\n </div>\n @if (item.items.length > 0) {\n @if (!item.checkable) {\n <div [class]=\"linkContainerClasses()\">\n <svg lucideChevronRight [size]=\"16\"></svg>\n </div>\n }\n } @else if (shortcutTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"shortcutTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n }\n </div>\n }\n }\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LucideChevronRight, selector: "svg[lucideChevronRight]" }, { kind: "component", type: LucideCheck, selector: "svg[lucideCheck]" }] }); }
|
|
658
586
|
}
|
|
659
587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupMenuListComponent, decorators: [{
|
|
660
588
|
type: Component,
|
|
661
589
|
args: [{ selector: "mona-popup-menu-list", imports: [NgTemplateOutlet, LucideChevronRight, LucideCheck], host: {
|
|
662
590
|
"[class]": "baseClasses()"
|
|
663
|
-
}, template: "<div\
|
|
591
|
+
}, template: "<div\n role=\"menu\"\n [attr.tabindex]=\"0\"\n [attr.aria-orientation]=\"'vertical'\"\n [attr.aria-activedescendant]=\"activeMenuItem()?.uid\"\n [attr.id]=\"menuId()\"\n [class]=\"containerClasses()\">\n @for (group of menuItems(); track $index) {\n @if (typeof group.key === \"string\") {\n @let groupTemplate = group.first().groupTemplate?.() ?? popupGroupTemplate() ?? null;\n <div role=\"group\" [attr.aria-labelledby]=\"`${group.key}-${$index}`\" [class]=\"groupHeaderClasses()\">\n <div [id]=\"`${group.key}-${$index}`\" role=\"presentation\">\n @if (groupTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: group.key }\"></ng-container>\n } @else {\n <span>{{ group.key }}</span>\n }\n </div>\n </div>\n }\n @for (item of group.source; track $index) {\n @if (item.separator) {\n <div role=\"separator\" class=\"bg-border my-1 h-px\"></div>\n } @else {\n @let iconTemplate = item.iconTemplate?.() ?? popupIconTemplate() ?? null;\n @let shortcutTemplate = item.shortcutTemplate?.() ?? popupShortcutTemplate() ?? null;\n @let textTemplate = item.textTemplate?.() ?? popupTextTemplate() ?? null;\n <div\n role=\"menuitem\"\n [id]=\"item.uid\"\n (pointerenter)=\"pointerEnter$.next({ event: $event, item: item })\"\n (pointerleave)=\"pointerLeave$.next({ event: $event, item: item })\"\n (click)=\"onItemClick($event, item)\"\n [attr.data-active]=\"item === activeMenuItem()\"\n [attr.aria-disabled]=\"item.disabled\"\n [attr.aria-expanded]=\"item.items.length > 0 && item === activeMenuItem() && !!popupRef\"\n [attr.aria-haspopup]=\"item.items.length > 0 ? 'menu' : null\"\n [attr.aria-label]=\"item.label || null\"\n [attr.data-disabled]=\"item.disabled\"\n [class]=\"menuItemClasses()\">\n @if (iconAreaVisible()) {\n <div [class]=\"iconContainerClasses()\">\n @if (!item.checkable && !item.radio) {\n <ng-container\n [ngTemplateOutlet]=\"iconTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n } @else if (item.checkable) {\n @if (item.checked?.()) {\n <svg lucideCheck [size]=\"14\"></svg>\n }\n } @else if (item.radio) {\n @if (item.selected?.()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"lucide lucide-circle size-2 fill-current\">\n <circle cx=\"12\" cy=\"12\" r=\"10\"></circle>\n </svg>\n }\n }\n </div>\n }\n <div class=\"flex-1\">\n @if (textTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"textTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n } @else {\n {{ item.label }}\n }\n </div>\n @if (item.items.length > 0) {\n @if (!item.checkable) {\n <div [class]=\"linkContainerClasses()\">\n <svg lucideChevronRight [size]=\"16\"></svg>\n </div>\n }\n } @else if (shortcutTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"shortcutTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n }\n </div>\n }\n }\n }\n</div>\n" }]
|
|
664
592
|
}], ctorParameters: () => [] });
|
|
665
593
|
|
|
666
594
|
class PopupMenuComponent {
|
|
@@ -203,13 +203,13 @@ class PopupWrapperComponent {
|
|
|
203
203
|
this.#fallbackTimer = win.setTimeout(() => this.#completeClose(), duration + 50);
|
|
204
204
|
}
|
|
205
205
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopupWrapperComponent, isStandalone: true, selector: "mona-popup-wrapper", host: { properties: { "class": "hostClasses()" } }, viewQueries: [{ propertyName: "animationElement", first: true, predicate: ["animationElement"], descendants: true, isSignal: true }, { propertyName: "componentOutlet", first: true, predicate: ["componentOutlet"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\
|
|
206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: PopupWrapperComponent, isStandalone: true, selector: "mona-popup-wrapper", host: { properties: { "class": "hostClasses()" } }, viewQueries: [{ propertyName: "animationElement", first: true, predicate: ["animationElement"], descendants: true, isSignal: true }, { propertyName: "componentOutlet", first: true, predicate: ["componentOutlet"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\n <div\n #animationElement\n class=\"w-full h-full origin-center\"\n [animate.enter]=\"enterAnimationClasses()\"\n [animate.leave]=\"leaveAnimationClasses()\"\n (animationcancel)=\"onNativeLeaveComplete($event)\"\n (animationend)=\"onNativeLeaveComplete($event)\"\n (transitioncancel)=\"onNativeLeaveComplete($event)\"\n (transitionend)=\"onNativeLeaveComplete($event)\">\n @if (templateRef()) {\n <ng-container [ngTemplateOutlet]=\"templateRef()\"></ng-container>\n }\n <ng-container #componentOutlet></ng-container>\n </div>\n}\n", styles: [":host{display:block}.mona-popup-enter{animation:mona-popup-scale-in .15s cubic-bezier(.4,0,.2,1)}.mona-popup-leave{animation:mona-popup-scale-out .15s cubic-bezier(.4,0,.2,1)}.mona-dropdown-popup-enter{animation:mona-dropdown-popup-scale-in .15s cubic-bezier(.4,0,.2,1);transform-origin:top center}.mona-dropdown-popup-leave{animation:mona-dropdown-popup-scale-out .15s cubic-bezier(.4,0,.2,1);transform-origin:top center}.mona-popup-fade-enter{animation:mona-popup-fade-in 50ms ease-in}.mona-popup-fade-leave{animation:mona-popup-fade-out .15s ease-out}@keyframes mona-popup-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes mona-popup-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes mona-dropdown-popup-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes mona-dropdown-popup-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes mona-popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mona-popup-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.mona-popup-enter,.mona-popup-leave,.mona-dropdown-popup-enter,.mona-dropdown-popup-leave,.mona-popup-fade-enter,.mona-popup-fade-leave{animation-duration:1ms}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
207
207
|
}
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupWrapperComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
210
|
args: [{ selector: "mona-popup-wrapper", imports: [NgTemplateOutlet], host: {
|
|
211
211
|
"[class]": "hostClasses()"
|
|
212
|
-
}, template: "@if (visible()) {\
|
|
212
|
+
}, template: "@if (visible()) {\n <div\n #animationElement\n class=\"w-full h-full origin-center\"\n [animate.enter]=\"enterAnimationClasses()\"\n [animate.leave]=\"leaveAnimationClasses()\"\n (animationcancel)=\"onNativeLeaveComplete($event)\"\n (animationend)=\"onNativeLeaveComplete($event)\"\n (transitioncancel)=\"onNativeLeaveComplete($event)\"\n (transitionend)=\"onNativeLeaveComplete($event)\">\n @if (templateRef()) {\n <ng-container [ngTemplateOutlet]=\"templateRef()\"></ng-container>\n }\n <ng-container #componentOutlet></ng-container>\n </div>\n}\n", styles: [":host{display:block}.mona-popup-enter{animation:mona-popup-scale-in .15s cubic-bezier(.4,0,.2,1)}.mona-popup-leave{animation:mona-popup-scale-out .15s cubic-bezier(.4,0,.2,1)}.mona-dropdown-popup-enter{animation:mona-dropdown-popup-scale-in .15s cubic-bezier(.4,0,.2,1);transform-origin:top center}.mona-dropdown-popup-leave{animation:mona-dropdown-popup-scale-out .15s cubic-bezier(.4,0,.2,1);transform-origin:top center}.mona-popup-fade-enter{animation:mona-popup-fade-in 50ms ease-in}.mona-popup-fade-leave{animation:mona-popup-fade-out .15s ease-out}@keyframes mona-popup-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes mona-popup-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes mona-dropdown-popup-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes mona-dropdown-popup-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes mona-popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mona-popup-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.mona-popup-enter,.mona-popup-leave,.mona-dropdown-popup-enter,.mona-dropdown-popup-leave,.mona-popup-fade-enter,.mona-popup-fade-leave{animation-duration:1ms}}\n"] }]
|
|
213
213
|
}], ctorParameters: () => [], propDecorators: { animationElement: [{ type: i0.ViewChild, args: ["animationElement", { isSignal: true }] }], componentOutlet: [{ type: i0.ViewChild, args: ["componentOutlet", { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
|
|
214
214
|
|
|
215
215
|
class PopupRef {
|
|
@@ -1302,11 +1302,11 @@ class PopupComponent {
|
|
|
1302
1302
|
});
|
|
1303
1303
|
}
|
|
1304
1304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: PopupComponent, isStandalone: true, selector: "mona-popup", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: true, transformFunction: null }, anchorConnectionPoint: { classPropertyName: "anchorConnectionPoint", publicName: "anchorConnectionPoint", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnMouseLeave: { classPropertyName: "closeOnMouseLeave", publicName: "closeOnMouseLeave", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, popupClass: { classPropertyName: "popupClass", publicName: "popupClass", isSignal: true, isRequired: false, transformFunction: null }, popupConnectionPoint: { classPropertyName: "popupConnectionPoint", publicName: "popupConnectionPoint", isSignal: true, isRequired: false, transformFunction: null }, popupWrapperClass: { classPropertyName: "popupWrapperClass", publicName: "popupWrapperClass", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, preventClose: { classPropertyName: "preventClose", publicName: "preventClose", isSignal: true, isRequired: false, transformFunction: null }, providers: { classPropertyName: "providers", publicName: "providers", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, withPush: { classPropertyName: "withPush", publicName: "withPush", isSignal: true, isRequired: false, transformFunction: null }, closeOnScroll: { classPropertyName: "closeOnScroll", publicName: "closeOnScroll", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, withScrollTracking: { classPropertyName: "withScrollTracking", publicName: "withScrollTracking", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", open: "open" }, viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\
|
|
1305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.6", type: PopupComponent, isStandalone: true, selector: "mona-popup", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: true, transformFunction: null }, anchorConnectionPoint: { classPropertyName: "anchorConnectionPoint", publicName: "anchorConnectionPoint", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, closeOnMouseLeave: { classPropertyName: "closeOnMouseLeave", publicName: "closeOnMouseLeave", isSignal: true, isRequired: false, transformFunction: null }, closeOnOutsideClick: { classPropertyName: "closeOnOutsideClick", publicName: "closeOnOutsideClick", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, popupClass: { classPropertyName: "popupClass", publicName: "popupClass", isSignal: true, isRequired: false, transformFunction: null }, popupConnectionPoint: { classPropertyName: "popupConnectionPoint", publicName: "popupConnectionPoint", isSignal: true, isRequired: false, transformFunction: null }, popupWrapperClass: { classPropertyName: "popupWrapperClass", publicName: "popupWrapperClass", isSignal: true, isRequired: false, transformFunction: null }, positionStrategy: { classPropertyName: "positionStrategy", publicName: "positionStrategy", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, preventClose: { classPropertyName: "preventClose", publicName: "preventClose", isSignal: true, isRequired: false, transformFunction: null }, providers: { classPropertyName: "providers", publicName: "providers", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, withPush: { classPropertyName: "withPush", publicName: "withPush", isSignal: true, isRequired: false, transformFunction: null }, closeOnScroll: { classPropertyName: "closeOnScroll", publicName: "closeOnScroll", isSignal: true, isRequired: false, transformFunction: null }, restoreFocus: { classPropertyName: "restoreFocus", publicName: "restoreFocus", isSignal: true, isRequired: false, transformFunction: null }, withScrollTracking: { classPropertyName: "withScrollTracking", publicName: "withScrollTracking", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close", open: "open" }, viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }); }
|
|
1306
1306
|
}
|
|
1307
1307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: PopupComponent, decorators: [{
|
|
1308
1308
|
type: Component,
|
|
1309
|
-
args: [{ selector: "mona-popup", template: "<ng-template>\
|
|
1309
|
+
args: [{ selector: "mona-popup", template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
1310
1310
|
}], ctorParameters: () => [], propDecorators: { contentTemplate: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }], anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchor", required: true }] }], anchorConnectionPoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorConnectionPoint", required: false }] }], animation: [{ type: i0.Input, args: [{ isSignal: true, alias: "animation", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], closeOnMouseLeave: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnMouseLeave", required: false }] }], closeOnOutsideClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnOutsideClick", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], open: [{ type: i0.Output, args: ["open"] }], popupClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupClass", required: false }] }], popupConnectionPoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupConnectionPoint", required: false }] }], popupWrapperClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "popupWrapperClass", required: false }] }], positionStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "positionStrategy", required: false }] }], positions: [{ type: i0.Input, args: [{ isSignal: true, alias: "positions", required: false }] }], preventClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventClose", required: false }] }], providers: [{ type: i0.Input, args: [{ isSignal: true, alias: "providers", required: false }] }], trigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "trigger", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], withPush: [{ type: i0.Input, args: [{ isSignal: true, alias: "withPush", required: false }] }], closeOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnScroll", required: false }] }], restoreFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "restoreFocus", required: false }] }], withScrollTracking: [{ type: i0.Input, args: [{ isSignal: true, alias: "withScrollTracking", required: false }] }] } });
|
|
1311
1311
|
|
|
1312
1312
|
/*
|