@lucca-front/ng 22.0.0-rc.2 → 22.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/lucca-front-ng-api.mjs +160 -85
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +7 -6
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +37 -21
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +229 -135
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +1 -12
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +124 -100
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +37 -25
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +0 -2
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +6 -4
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +34 -31
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +83 -49
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +18 -8
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +10 -7
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +2 -3
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +46 -5
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +0 -1
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +15 -11
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +115 -91
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +11 -7
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +37 -30
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +238 -123
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +65 -37
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +123 -76
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +13 -13
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +8 -6
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +13 -9
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +93 -59
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/package.json +4 -4
- package/types/lucca-front-ng-api.d.ts +62 -62
- package/types/lucca-front-ng-clear.d.ts +2 -3
- package/types/lucca-front-ng-core-select-api.d.ts +22 -22
- package/types/lucca-front-ng-core-select.d.ts +139 -140
- package/types/lucca-front-ng-core.d.ts +2 -7
- package/types/lucca-front-ng-date.d.ts +26 -28
- package/types/lucca-front-ng-divider.d.ts +1 -1
- package/types/lucca-front-ng-dropdown.d.ts +4 -5
- package/types/lucca-front-ng-establishment.d.ts +19 -18
- package/types/lucca-front-ng-form-field.d.ts +3 -2
- package/types/lucca-front-ng-forms.d.ts +32 -12
- package/types/lucca-front-ng-modal.d.ts +2 -2
- package/types/lucca-front-ng-multi-select.d.ts +37 -36
- package/types/lucca-front-ng-option.d.ts +10 -10
- package/types/lucca-front-ng-popover.d.ts +46 -52
- package/types/lucca-front-ng-popover2.d.ts +11 -13
- package/types/lucca-front-ng-segmented-control.d.ts +4 -2
- package/types/lucca-front-ng-select.d.ts +28 -30
- package/types/lucca-front-ng-simple-select.d.ts +3 -3
- package/types/lucca-front-ng-time.d.ts +1 -1
- package/types/lucca-front-ng-user-popover.d.ts +3 -4
- package/types/lucca-front-ng-user.d.ts +20 -20
|
@@ -5,10 +5,9 @@ import * as i1$1 from '@angular/cdk/overlay';
|
|
|
5
5
|
import { OverlayModule, OverlayConfig } from '@angular/cdk/overlay';
|
|
6
6
|
import { NgTemplateOutlet } from '@angular/common';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import {
|
|
9
|
-
import { outputFromObservable } from '@angular/core/rxjs-interop';
|
|
10
|
-
import { syncInputSignal, ɵeffectWithDeps as _effectWithDeps, isNotNil, generateId } from '@lucca-front/ng/core';
|
|
8
|
+
import { EventEmitter, TemplateRef, ViewChild, Output, Input, ChangeDetectionStrategy, Component, NgModule, Directive, HostListener, HostBinding } from '@angular/core';
|
|
11
9
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
10
|
+
import { generateId } from '@lucca-front/ng/core';
|
|
12
11
|
import { timer, Subject, Subscription } from 'rxjs';
|
|
13
12
|
import { distinctUntilChanged, debounce, map } from 'rxjs/operators';
|
|
14
13
|
|
|
@@ -148,63 +147,69 @@ class ALuPopoverPanel {
|
|
|
148
147
|
|
|
149
148
|
// import { standardPopoverTemplate } from './popover.template';
|
|
150
149
|
class LuPopoverPanelComponent extends ALuPopoverPanel {
|
|
150
|
+
/** Template to Use for the popover */
|
|
151
|
+
get template() {
|
|
152
|
+
return this._template;
|
|
153
|
+
}
|
|
154
|
+
set template(value) {
|
|
155
|
+
this._template = value;
|
|
156
|
+
}
|
|
157
|
+
/** Template context to use for the popover when created using a template */
|
|
158
|
+
get templateContext() {
|
|
159
|
+
return this._templateContext;
|
|
160
|
+
}
|
|
161
|
+
set templateContext(value) {
|
|
162
|
+
this._templateContext = value;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Popover container close on click
|
|
166
|
+
* default: false
|
|
167
|
+
*/
|
|
168
|
+
set inputCloseOnClick(v) {
|
|
169
|
+
this.closeOnClick = v;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Popover focus trap using cdkTrapFocus
|
|
173
|
+
* default: false
|
|
174
|
+
*/
|
|
175
|
+
set inputTrapFocus(v) {
|
|
176
|
+
this.trapFocus = v;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Popover scrollStrategy
|
|
180
|
+
* default: reposition
|
|
181
|
+
*/
|
|
182
|
+
set inputScrollStrategy(v) {
|
|
183
|
+
this.scrollStrategy = v;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* This method takes classes set on the host lu-popover element and applies them on the
|
|
187
|
+
* popover template that displays in the overlay container. Otherwise, it's difficult
|
|
188
|
+
* to style the containing popover from outside the component.
|
|
189
|
+
* @param classes list of class names
|
|
190
|
+
*/
|
|
191
|
+
set inputPanelClasses(classes) {
|
|
192
|
+
this.panelClasses = classes;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* This method takes classes set on the host lu-popover element and applies them on the
|
|
196
|
+
* popover template that displays in the overlay container. Otherwise, it's difficult
|
|
197
|
+
* to style the containing popover from outside the component.
|
|
198
|
+
* @param classes list of class names
|
|
199
|
+
*/
|
|
200
|
+
set inputContentClasses(classes) {
|
|
201
|
+
this.contentClasses = classes;
|
|
202
|
+
}
|
|
203
|
+
set vcTemplateRef(tr) {
|
|
204
|
+
this.templateRef = tr;
|
|
205
|
+
}
|
|
151
206
|
constructor() {
|
|
152
207
|
super();
|
|
153
|
-
/**
|
|
154
|
-
|
|
155
|
-
/** Template context to use for the popover when created using a template */
|
|
156
|
-
this.templateContext = input(undefined, { ...(ngDevMode ? { debugName: "templateContext" } : /* istanbul ignore next */ {}), alias: 'template-context' });
|
|
157
|
-
/**
|
|
158
|
-
* Popover container close on click
|
|
159
|
-
* default: false
|
|
160
|
-
*/
|
|
161
|
-
this.inputCloseOnClick = input(false, { ...(ngDevMode ? { debugName: "inputCloseOnClick" } : /* istanbul ignore next */ {}), alias: 'close-on-click' });
|
|
162
|
-
/**
|
|
163
|
-
* Popover focus trap using cdkTrapFocus
|
|
164
|
-
* default: false
|
|
165
|
-
*/
|
|
166
|
-
this.inputTrapFocus = input(false, { ...(ngDevMode ? { debugName: "inputTrapFocus" } : /* istanbul ignore next */ {}), alias: 'trap-focus' });
|
|
167
|
-
/**
|
|
168
|
-
* Popover scrollStrategy
|
|
169
|
-
* default: reposition
|
|
170
|
-
*/
|
|
171
|
-
this.inputScrollStrategy = input('reposition', { ...(ngDevMode ? { debugName: "inputScrollStrategy" } : /* istanbul ignore next */ {}), alias: 'scroll-strategy' });
|
|
172
|
-
/**
|
|
173
|
-
* This method takes classes set on the host lu-popover element and applies them on the
|
|
174
|
-
* popover template that displays in the overlay container. Otherwise, it's difficult
|
|
175
|
-
* to style the containing popover from outside the component.
|
|
176
|
-
* @param classes list of class names
|
|
177
|
-
*/
|
|
178
|
-
this.inputPanelClasses = input('', { ...(ngDevMode ? { debugName: "inputPanelClasses" } : /* istanbul ignore next */ {}), alias: 'panel-classes' });
|
|
179
|
-
/**
|
|
180
|
-
* This method takes classes set on the host lu-popover element and applies them on the
|
|
181
|
-
* popover template that displays in the overlay container. Otherwise, it's difficult
|
|
182
|
-
* to style the containing popover from outside the component.
|
|
183
|
-
* @param classes list of class names
|
|
184
|
-
*/
|
|
185
|
-
this.inputContentClasses = input('', { ...(ngDevMode ? { debugName: "inputContentClasses" } : /* istanbul ignore next */ {}), alias: 'content-classes' });
|
|
208
|
+
/** Event emitted when the popover is closed. */
|
|
209
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
186
210
|
this.close = new EventEmitter();
|
|
187
211
|
this.open = new EventEmitter();
|
|
188
212
|
this.hovered = new EventEmitter();
|
|
189
|
-
/** Event emitted when the popover is closed. */
|
|
190
|
-
this.closeOutput = outputFromObservable(this.close, { alias: 'close' });
|
|
191
|
-
/** Event emitted when the popover is open. */
|
|
192
|
-
this.openOutput = outputFromObservable(this.open, { alias: 'open' });
|
|
193
|
-
/** Event emitted when the popover is hovered. */
|
|
194
|
-
this.hoveredOutput = outputFromObservable(this.hovered, { alias: 'hovered' });
|
|
195
|
-
this.vcTemplateRef = viewChild(TemplateRef, ...(ngDevMode ? [{ debugName: "vcTemplateRef" }] : /* istanbul ignore next */ []));
|
|
196
|
-
syncInputSignal(this.template, (template) => (this._template = template));
|
|
197
|
-
syncInputSignal(this.templateContext, (templateContext) => (this._templateContext = templateContext));
|
|
198
|
-
syncInputSignal(this.inputCloseOnClick, (closeOnClick) => (this.closeOnClick = closeOnClick));
|
|
199
|
-
syncInputSignal(this.inputTrapFocus, (trapFocus) => (this.trapFocus = trapFocus));
|
|
200
|
-
syncInputSignal(this.inputScrollStrategy, (scrollStrategy) => (this.scrollStrategy = scrollStrategy));
|
|
201
|
-
syncInputSignal(this.inputPanelClasses, (panelClasses) => (this.panelClasses = panelClasses));
|
|
202
|
-
syncInputSignal(this.inputContentClasses, (contentClasses) => (this.contentClasses = contentClasses));
|
|
203
|
-
_effectWithDeps([this.vcTemplateRef], (vcTemplateRef) => {
|
|
204
|
-
if (isNotNil(vcTemplateRef)) {
|
|
205
|
-
this.templateRef = vcTemplateRef;
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
213
|
}
|
|
209
214
|
ngOnDestroy() {
|
|
210
215
|
this.onClose();
|
|
@@ -220,12 +225,41 @@ class LuPopoverPanelComponent extends ALuPopoverPanel {
|
|
|
220
225
|
this.hovered.emit(hovered);
|
|
221
226
|
}
|
|
222
227
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
228
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: LuPopoverPanelComponent, isStandalone: true, selector: "lu-popover", inputs: { template: "template", templateContext: ["template-context", "templateContext"], inputCloseOnClick: ["close-on-click", "inputCloseOnClick"], inputTrapFocus: ["trap-focus", "inputTrapFocus"], inputScrollStrategy: ["scroll-strategy", "inputScrollStrategy"], inputPanelClasses: ["panel-classes", "inputPanelClasses"], inputContentClasses: ["content-classes", "inputContentClasses"] }, outputs: { close: "close", open: "open", hovered: "hovered" }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["LuPopoverPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template; context: templateContext\" />\n\t\t</div>\n\t</div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
224
229
|
}
|
|
225
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverPanelComponent, decorators: [{
|
|
226
231
|
type: Component,
|
|
227
|
-
args: [{ selector: 'lu-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], imports: [NgTemplateOutlet, OverlayModule, A11yModule], exportAs: 'LuPopoverPanel', template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template
|
|
228
|
-
}], ctorParameters: () => [], propDecorators: { template: [{
|
|
232
|
+
args: [{ selector: 'lu-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], imports: [NgTemplateOutlet, OverlayModule, A11yModule], exportAs: 'LuPopoverPanel', template: "<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template; context: templateContext\" />\n\t\t</div>\n\t</div>\n</ng-template>\n" }]
|
|
233
|
+
}], ctorParameters: () => [], propDecorators: { template: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], templateContext: [{
|
|
236
|
+
type: Input,
|
|
237
|
+
args: ['template-context']
|
|
238
|
+
}], inputCloseOnClick: [{
|
|
239
|
+
type: Input,
|
|
240
|
+
args: ['close-on-click']
|
|
241
|
+
}], inputTrapFocus: [{
|
|
242
|
+
type: Input,
|
|
243
|
+
args: ['trap-focus']
|
|
244
|
+
}], inputScrollStrategy: [{
|
|
245
|
+
type: Input,
|
|
246
|
+
args: ['scroll-strategy']
|
|
247
|
+
}], inputPanelClasses: [{
|
|
248
|
+
type: Input,
|
|
249
|
+
args: ['panel-classes']
|
|
250
|
+
}], inputContentClasses: [{
|
|
251
|
+
type: Input,
|
|
252
|
+
args: ['content-classes']
|
|
253
|
+
}], close: [{
|
|
254
|
+
type: Output
|
|
255
|
+
}], open: [{
|
|
256
|
+
type: Output
|
|
257
|
+
}], hovered: [{
|
|
258
|
+
type: Output
|
|
259
|
+
}], vcTemplateRef: [{
|
|
260
|
+
type: ViewChild,
|
|
261
|
+
args: [TemplateRef, { static: true }]
|
|
262
|
+
}] } });
|
|
229
263
|
|
|
230
264
|
/**
|
|
231
265
|
* @deprecated use `LuPopoverPanelComponent` instead
|
|
@@ -311,23 +345,28 @@ class LuPopoverTarget extends ALuPopoverTarget {
|
|
|
311
345
|
class LuPopoverTargetDirective extends ALuPopoverTarget {
|
|
312
346
|
constructor(ref) {
|
|
313
347
|
super();
|
|
314
|
-
/** how you want to position the panel relative to the target, allowed values: above, below, before, after */
|
|
315
|
-
this.inputPosition = input(undefined, { ...(ngDevMode ? { debugName: "inputPosition" } : /* istanbul ignore next */ {}), alias: 'luPopoverPosition' });
|
|
316
|
-
/** how the panel will be align with the target, allowed values: top, bottom, left, right */
|
|
317
|
-
this.inputAlignment = input(undefined, { ...(ngDevMode ? { debugName: "inputAlignment" } : /* istanbul ignore next */ {}), alias: 'luPopoverAlignment' });
|
|
318
|
-
/** set to true if you want the panel to appear on top of the target */
|
|
319
|
-
this.inputOverlap = input(undefined, { ...(ngDevMode ? { debugName: "inputOverlap" } : /* istanbul ignore next */ {}), alias: 'luPopoverOverlap' });
|
|
320
|
-
this.inputOffsetX = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetX" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetX' });
|
|
321
|
-
this.inputOffsetY = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetY" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetY' });
|
|
322
348
|
this.elementRef = ref;
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
349
|
+
}
|
|
350
|
+
/** how you want to position the panel relative to the target, allowed values: above, below, before, after */
|
|
351
|
+
set inputPosition(pos) {
|
|
352
|
+
this.position = pos;
|
|
353
|
+
}
|
|
354
|
+
/** how the panel will be align with the target, allowed values: top, bottom, left, right */
|
|
355
|
+
set inputAlignment(al) {
|
|
356
|
+
this.alignment = al;
|
|
357
|
+
}
|
|
358
|
+
/** set to true if you want the panel to appear on top of the target */
|
|
359
|
+
set inputOverlap(ov) {
|
|
360
|
+
this.overlap = ov;
|
|
361
|
+
}
|
|
362
|
+
set inputOffsetX(ox) {
|
|
363
|
+
this.offsetX = ox;
|
|
364
|
+
}
|
|
365
|
+
set inputOffsetY(oy) {
|
|
366
|
+
this.offsetY = oy;
|
|
328
367
|
}
|
|
329
368
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTargetDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
330
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
369
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: LuPopoverTargetDirective, isStandalone: true, selector: "[luPopoverTarget]", inputs: { inputPosition: ["luPopoverPosition", "inputPosition"], inputAlignment: ["luPopoverAlignment", "inputAlignment"], inputOverlap: ["luPopoverOverlap", "inputOverlap"], inputOffsetX: ["luPopoverOffsetX", "inputOffsetX"], inputOffsetY: ["luPopoverOffsetY", "inputOffsetY"] }, exportAs: ["LuPopoverTarget"], usesInheritance: true, ngImport: i0 }); }
|
|
331
370
|
}
|
|
332
371
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTargetDirective, decorators: [{
|
|
333
372
|
type: Directive,
|
|
@@ -335,7 +374,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
335
374
|
selector: '[luPopoverTarget]',
|
|
336
375
|
exportAs: 'LuPopoverTarget',
|
|
337
376
|
}]
|
|
338
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputPosition: [{
|
|
377
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputPosition: [{
|
|
378
|
+
type: Input,
|
|
379
|
+
args: ['luPopoverPosition']
|
|
380
|
+
}], inputAlignment: [{
|
|
381
|
+
type: Input,
|
|
382
|
+
args: ['luPopoverAlignment']
|
|
383
|
+
}], inputOverlap: [{
|
|
384
|
+
type: Input,
|
|
385
|
+
args: ['luPopoverOverlap']
|
|
386
|
+
}], inputOffsetX: [{
|
|
387
|
+
type: Input,
|
|
388
|
+
args: ['luPopoverOffsetX']
|
|
389
|
+
}], inputOffsetY: [{
|
|
390
|
+
type: Input,
|
|
391
|
+
args: ['luPopoverOffsetY']
|
|
392
|
+
}] } });
|
|
339
393
|
|
|
340
394
|
// tslint:disable-next-line: max-line-length
|
|
341
395
|
class ALuPopoverTrigger {
|
|
@@ -811,6 +865,48 @@ class ALuPopoverTrigger {
|
|
|
811
865
|
}
|
|
812
866
|
|
|
813
867
|
class LuPopoverTriggerDirective extends ALuPopoverTrigger {
|
|
868
|
+
/** References the popover instance that the trigger is associated with. */
|
|
869
|
+
set inputPanel(p) {
|
|
870
|
+
this.panel = p;
|
|
871
|
+
}
|
|
872
|
+
/** References the popover target instance that the trigger is associated with. */
|
|
873
|
+
set inputTarget(t) {
|
|
874
|
+
this.target = t;
|
|
875
|
+
}
|
|
876
|
+
/** References the popover target instance that the trigger is associated with. */
|
|
877
|
+
set inputTriggerEvent(te) {
|
|
878
|
+
this.triggerEvent = te;
|
|
879
|
+
}
|
|
880
|
+
/** how you want to position the panel relative to the target, allowed values: above, below, before, after */
|
|
881
|
+
set inputPosition(pos) {
|
|
882
|
+
this.target.position = pos;
|
|
883
|
+
}
|
|
884
|
+
/** how the panel will be align with the target, allowed values: top, bottom, left, right */
|
|
885
|
+
set inputAlignment(al) {
|
|
886
|
+
this.target.alignment = al;
|
|
887
|
+
}
|
|
888
|
+
/** when trigger = hover, delay before the popover panel appears */
|
|
889
|
+
set inputEnterDelay(d) {
|
|
890
|
+
this.enterDelay = d;
|
|
891
|
+
}
|
|
892
|
+
/** when trigger = hover, delay before the popover panel disappears */
|
|
893
|
+
set inputLeaveDelay(d) {
|
|
894
|
+
this.leaveDelay = d;
|
|
895
|
+
}
|
|
896
|
+
/** disable popover apparition */
|
|
897
|
+
set inputDisabled(d) {
|
|
898
|
+
this.disabled = d;
|
|
899
|
+
}
|
|
900
|
+
/** set to true if you want the panel to appear on top of the target */
|
|
901
|
+
set inputOverlap(ov) {
|
|
902
|
+
this.target.overlap = ov;
|
|
903
|
+
}
|
|
904
|
+
set inputOffsetX(ox) {
|
|
905
|
+
this.target.offsetX = ox;
|
|
906
|
+
}
|
|
907
|
+
set inputOffsetY(oy) {
|
|
908
|
+
this.target.offsetY = oy;
|
|
909
|
+
}
|
|
814
910
|
/** accessibility attribute - dont override */
|
|
815
911
|
get _attrAriaExpanded() {
|
|
816
912
|
return this._popoverOpen;
|
|
@@ -828,49 +924,15 @@ class LuPopoverTriggerDirective extends ALuPopoverTrigger {
|
|
|
828
924
|
this._overlay = _overlay;
|
|
829
925
|
this._elementRef = _elementRef;
|
|
830
926
|
this._viewContainerRef = _viewContainerRef;
|
|
831
|
-
/**
|
|
832
|
-
|
|
833
|
-
/** References the popover target instance that the trigger is associated with. */
|
|
834
|
-
this.inputTarget = input(undefined, { ...(ngDevMode ? { debugName: "inputTarget" } : /* istanbul ignore next */ {}), alias: 'luPopoverTarget' });
|
|
835
|
-
/** References the popover target instance that the trigger is associated with. */
|
|
836
|
-
this.inputTriggerEvent = input(undefined, { ...(ngDevMode ? { debugName: "inputTriggerEvent" } : /* istanbul ignore next */ {}), alias: 'luPopoverTrigger' });
|
|
927
|
+
/** Event emitted when the associated popover is opened. */
|
|
928
|
+
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
837
929
|
this.onOpen = new EventEmitter();
|
|
838
|
-
this.onClose = new EventEmitter();
|
|
839
930
|
/** Event emitted when the associated popover is closed. */
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
this.onOpenOutput = outputFromObservable(this.onOpen, { alias: 'luPopoverOnOpen' });
|
|
843
|
-
/** how you want to position the panel relative to the target, allowed values: above, below, before, after */
|
|
844
|
-
this.inputPosition = input(undefined, { ...(ngDevMode ? { debugName: "inputPosition" } : /* istanbul ignore next */ {}), alias: 'luPopoverPosition' });
|
|
845
|
-
/** how the panel will be align with the target, allowed values: top, bottom, left, right */
|
|
846
|
-
this.inputAlignment = input(undefined, { ...(ngDevMode ? { debugName: "inputAlignment" } : /* istanbul ignore next */ {}), alias: 'luPopoverAlignment' });
|
|
847
|
-
/** when trigger = hover, delay before the popover panel appears */
|
|
848
|
-
this.inputEnterDelay = input(undefined, { ...(ngDevMode ? { debugName: "inputEnterDelay" } : /* istanbul ignore next */ {}), alias: 'luPopoverEnterDelay' });
|
|
849
|
-
/** when trigger = hover, delay before the popover panel disappears */
|
|
850
|
-
this.inputLeaveDelay = input(undefined, { ...(ngDevMode ? { debugName: "inputLeaveDelay" } : /* istanbul ignore next */ {}), alias: 'luPopoverLeaveDelay' });
|
|
851
|
-
/** disable popover apparition */
|
|
852
|
-
this.inputDisabled = input(undefined, { ...(ngDevMode ? { debugName: "inputDisabled" } : /* istanbul ignore next */ {}), alias: 'luPopoverDisabled' });
|
|
853
|
-
/** set to true if you want the panel to appear on top of the target */
|
|
854
|
-
this.inputOverlap = input(undefined, { ...(ngDevMode ? { debugName: "inputOverlap" } : /* istanbul ignore next */ {}), alias: 'luPopoverOverlap' });
|
|
855
|
-
this.inputOffsetX = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetX" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetX' });
|
|
856
|
-
this.inputOffsetY = input(undefined, { ...(ngDevMode ? { debugName: "inputOffsetY" } : /* istanbul ignore next */ {}), alias: 'luPopoverOffsetY' });
|
|
931
|
+
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
932
|
+
this.onClose = new EventEmitter();
|
|
857
933
|
this.target = new LuPopoverTarget();
|
|
858
934
|
this.target.elementRef = this._elementRef;
|
|
859
935
|
this._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;
|
|
860
|
-
this.#initTarget();
|
|
861
|
-
syncInputSignal(this.inputPanel, (inputPanel) => (this.panel = inputPanel));
|
|
862
|
-
syncInputSignal(this.inputTriggerEvent, (inputTriggerEvent) => (this.triggerEvent = inputTriggerEvent));
|
|
863
|
-
syncInputSignal(this.inputEnterDelay, (inputEnterDelay) => (this.enterDelay = inputEnterDelay));
|
|
864
|
-
syncInputSignal(this.inputLeaveDelay, (inputLeaveDelay) => (this.leaveDelay = inputLeaveDelay));
|
|
865
|
-
syncInputSignal(this.inputDisabled, (inputDisabled) => (this.disabled = inputDisabled));
|
|
866
|
-
}
|
|
867
|
-
#initTarget() {
|
|
868
|
-
syncInputSignal(this.inputTarget, (inputTarget) => (this.target = inputTarget));
|
|
869
|
-
syncInputSignal(this.inputPosition, (inputPosition) => (this.target.position = inputPosition));
|
|
870
|
-
syncInputSignal(this.inputAlignment, (inputAlignment) => (this.target.alignment = inputAlignment));
|
|
871
|
-
syncInputSignal(this.inputOverlap, (inputOverlap) => (this.target.overlap = inputOverlap));
|
|
872
|
-
syncInputSignal(this.inputOffsetX, (inputOffsetX) => (this.target.offsetX = inputOffsetX));
|
|
873
|
-
syncInputSignal(this.inputOffsetY, (inputOffsetY) => (this.target.offsetY = inputOffsetY));
|
|
874
936
|
}
|
|
875
937
|
onClick() {
|
|
876
938
|
super.onClick();
|
|
@@ -905,25 +967,78 @@ class LuPopoverTriggerDirective extends ALuPopoverTrigger {
|
|
|
905
967
|
this.onClose.emit();
|
|
906
968
|
}
|
|
907
969
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTriggerDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
908
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
970
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: LuPopoverTriggerDirective, isStandalone: true, selector: "[luPopover]", inputs: { inputPanel: ["luPopover", "inputPanel"], inputTarget: ["luPopoverTarget", "inputTarget"], inputTriggerEvent: ["luPopoverTrigger", "inputTriggerEvent"], inputPosition: ["luPopoverPosition", "inputPosition"], inputAlignment: ["luPopoverAlignment", "inputAlignment"], inputEnterDelay: ["luPopoverEnterDelay", "inputEnterDelay"], inputLeaveDelay: ["luPopoverLeaveDelay", "inputLeaveDelay"], inputDisabled: ["luPopoverDisabled", "inputDisabled"], inputOverlap: ["luPopoverOverlap", "inputOverlap"], inputOffsetX: ["luPopoverOffsetX", "inputOffsetX"], inputOffsetY: ["luPopoverOffsetY", "inputOffsetY"] }, outputs: { onOpen: "luPopoverOnOpen", onClose: "luPopoverOnClose" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.aria-expanded": "this._attrAriaExpanded", "attr.id": "this._attrId", "attr.aria-controls": "this._attrAriaControls" } }, exportAs: ["LuPopoverTrigger"], usesInheritance: true, ngImport: i0 }); }
|
|
909
971
|
}
|
|
910
972
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: LuPopoverTriggerDirective, decorators: [{
|
|
911
973
|
type: Directive,
|
|
912
974
|
args: [{
|
|
913
975
|
selector: '[luPopover]',
|
|
914
976
|
exportAs: 'LuPopoverTrigger',
|
|
915
|
-
host: {
|
|
916
|
-
'[attr.aria-expanded]': '_attrAriaExpanded',
|
|
917
|
-
'[attr.id]': '_attrId',
|
|
918
|
-
'[attr.aria-controls]': '_attrAriaControls',
|
|
919
|
-
'(click)': 'onClick()',
|
|
920
|
-
'(mouseenter)': 'onMouseEnter()',
|
|
921
|
-
'(mouseleave)': 'onMouseLeave()',
|
|
922
|
-
'(focus)': 'onFocus()',
|
|
923
|
-
'(blur)': 'onBlur()',
|
|
924
|
-
},
|
|
925
977
|
}]
|
|
926
|
-
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { inputPanel: [{
|
|
978
|
+
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }], propDecorators: { inputPanel: [{
|
|
979
|
+
type: Input,
|
|
980
|
+
args: ['luPopover']
|
|
981
|
+
}], inputTarget: [{
|
|
982
|
+
type: Input,
|
|
983
|
+
args: ['luPopoverTarget']
|
|
984
|
+
}], inputTriggerEvent: [{
|
|
985
|
+
type: Input,
|
|
986
|
+
args: ['luPopoverTrigger']
|
|
987
|
+
}], onOpen: [{
|
|
988
|
+
type: Output,
|
|
989
|
+
args: ['luPopoverOnOpen']
|
|
990
|
+
}], onClose: [{
|
|
991
|
+
type: Output,
|
|
992
|
+
args: ['luPopoverOnClose']
|
|
993
|
+
}], inputPosition: [{
|
|
994
|
+
type: Input,
|
|
995
|
+
args: ['luPopoverPosition']
|
|
996
|
+
}], inputAlignment: [{
|
|
997
|
+
type: Input,
|
|
998
|
+
args: ['luPopoverAlignment']
|
|
999
|
+
}], inputEnterDelay: [{
|
|
1000
|
+
type: Input,
|
|
1001
|
+
args: ['luPopoverEnterDelay']
|
|
1002
|
+
}], inputLeaveDelay: [{
|
|
1003
|
+
type: Input,
|
|
1004
|
+
args: ['luPopoverLeaveDelay']
|
|
1005
|
+
}], inputDisabled: [{
|
|
1006
|
+
type: Input,
|
|
1007
|
+
args: ['luPopoverDisabled']
|
|
1008
|
+
}], inputOverlap: [{
|
|
1009
|
+
type: Input,
|
|
1010
|
+
args: ['luPopoverOverlap']
|
|
1011
|
+
}], inputOffsetX: [{
|
|
1012
|
+
type: Input,
|
|
1013
|
+
args: ['luPopoverOffsetX']
|
|
1014
|
+
}], inputOffsetY: [{
|
|
1015
|
+
type: Input,
|
|
1016
|
+
args: ['luPopoverOffsetY']
|
|
1017
|
+
}], _attrAriaExpanded: [{
|
|
1018
|
+
type: HostBinding,
|
|
1019
|
+
args: ['attr.aria-expanded']
|
|
1020
|
+
}], _attrId: [{
|
|
1021
|
+
type: HostBinding,
|
|
1022
|
+
args: ['attr.id']
|
|
1023
|
+
}], _attrAriaControls: [{
|
|
1024
|
+
type: HostBinding,
|
|
1025
|
+
args: ['attr.aria-controls']
|
|
1026
|
+
}], onClick: [{
|
|
1027
|
+
type: HostListener,
|
|
1028
|
+
args: ['click']
|
|
1029
|
+
}], onMouseEnter: [{
|
|
1030
|
+
type: HostListener,
|
|
1031
|
+
args: ['mouseenter']
|
|
1032
|
+
}], onMouseLeave: [{
|
|
1033
|
+
type: HostListener,
|
|
1034
|
+
args: ['mouseleave']
|
|
1035
|
+
}], onFocus: [{
|
|
1036
|
+
type: HostListener,
|
|
1037
|
+
args: ['focus']
|
|
1038
|
+
}], onBlur: [{
|
|
1039
|
+
type: HostListener,
|
|
1040
|
+
args: ['blur']
|
|
1041
|
+
}] } });
|
|
927
1042
|
|
|
928
1043
|
/**
|
|
929
1044
|
* @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead
|