@lucca-front/ng 20.3.3-rc.6 → 21.0.0-rc.1
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/api/index.d.ts +18 -0
- package/breadcrumbs/index.d.ts +1 -3
- package/callout/index.d.ts +8 -2
- package/chip/index.d.ts +3 -2
- package/clear/index.d.ts +30 -0
- package/code/index.d.ts +9 -0
- package/container/index.d.ts +2 -2
- package/core/index.d.ts +6 -6
- package/core-select/department/index.d.ts +1 -1
- package/core-select/index.d.ts +2 -1
- package/core-select/occupation-category/index.d.ts +26 -0
- package/data-table/index.d.ts +68 -30
- package/date/index.d.ts +18 -0
- package/date2/index.d.ts +15 -15
- package/department/index.d.ts +10 -1
- package/divider/index.d.ts +7 -4
- package/dropdown/index.d.ts +6 -3
- package/establishment/index.d.ts +15 -0
- package/fancy-box/index.d.ts +2 -1
- package/fesm2022/lucca-front-ng-a11y.mjs +32 -32
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +76 -59
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +8 -8
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +8 -8
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +18 -30
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +12 -7
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +117 -64
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +29 -25
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +94 -0
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-code.mjs +21 -0
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-comment.mjs +31 -31
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +18 -18
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +14 -16
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +16 -18
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +18 -19
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +12 -13
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +79 -0
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select-user.mjs +60 -62
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +103 -113
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +48 -49
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +266 -87
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +113 -97
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +134 -136
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +56 -47
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +53 -56
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +13 -15
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +225 -224
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +13 -9
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +85 -71
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -6
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +112 -112
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +78 -81
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +12 -19
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +88 -88
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +23 -0
- package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-form.mjs +24 -0
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-formly.mjs +77 -77
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +19 -20
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +3 -2
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +206 -150
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +185 -171
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +26 -26
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +26 -26
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +20 -20
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +17 -32
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +6 -6
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +355 -0
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-inline-message.mjs +4 -4
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +67 -57
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +24 -23
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +31 -31
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +28 -24
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +11 -11
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +14 -14
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +39 -31
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +57 -62
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +247 -230
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +11 -13
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +11 -10
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +22 -10
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +287 -240
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +11 -11
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +38 -38
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +54 -5
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +38 -28
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +36 -33
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +13 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-bar.mjs +28 -0
- package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-read-more.mjs +46 -78
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -11
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +46 -0
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-scroll.mjs +10 -8
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scrollBox.mjs +1 -66
- package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +98 -0
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-segmented-control.mjs +71 -0
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-segmentedControl.mjs +1 -66
- package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +1 -93
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +21 -20
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +75 -67
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +46 -44
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +49 -0
- package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-status-badge.mjs +34 -0
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-statusBadge.mjs +1 -29
- package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-table-of-content.mjs +39 -0
- package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-tag.mjs +35 -13
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +132 -142
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +26 -23
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +40 -32
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tree-select.mjs +20 -21
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +23 -27
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +134 -111
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +91 -0
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -0
- package/file-upload/index.d.ts +25 -25
- package/footer/index.d.ts +7 -7
- package/form/index.d.ts +9 -0
- package/form-field/index.d.ts +33 -32
- package/form-header/index.d.ts +9 -0
- package/forms/index.d.ts +39 -37
- package/forms/rich-text-input/index.d.ts +4 -1
- package/gauge/index.d.ts +17 -17
- package/grid/index.d.ts +14 -14
- package/horizontal-navigation/index.d.ts +5 -8
- package/index-table/index.d.ts +103 -0
- package/input/index.d.ts +27 -15
- package/link/index.d.ts +3 -4
- package/listbox/index.d.ts +20 -20
- package/listing/index.d.ts +13 -9
- package/loading/index.d.ts +4 -4
- package/main-layout/index.d.ts +3 -3
- package/modal/index.d.ts +3 -2
- package/multi-select/index.d.ts +13 -3
- package/number/index.d.ts +3 -0
- package/option/index.d.ts +58 -4
- package/package.json +125 -69
- package/page-header/index.d.ts +5 -5
- package/plg-push/index.d.ts +13 -1
- package/popover/index.d.ts +12 -0
- package/popup/index.d.ts +3 -0
- package/progress-bar/index.d.ts +14 -0
- package/read-more/index.d.ts +6 -12
- package/scroll/index.d.ts +3 -0
- package/scroll-box/index.d.ts +15 -0
- package/scrollBox/index.d.ts +1 -19
- package/segmented-control/index.d.ts +28 -0
- package/segmented-control-tabs/index.d.ts +34 -0
- package/segmentedControl/index.d.ts +1 -28
- package/segmentedControlTabs/index.d.ts +1 -34
- package/select/index.d.ts +5 -4
- package/simple-select/index.d.ts +1 -0
- package/skeleton/index.d.ts +2 -1
- package/sortable-list/index.d.ts +22 -0
- package/src/components/cdk/_dragDrop.scss +31 -3
- package/src/definitions/option/_option-item.scss +6 -0
- package/status-badge/index.d.ts +16 -0
- package/statusBadge/index.d.ts +1 -16
- package/table-of-content/index.d.ts +16 -0
- package/time/index.d.ts +30 -30
- package/toast/index.d.ts +3 -0
- package/tooltip/index.d.ts +9 -0
- package/user/index.d.ts +20 -3
- package/vertical-navigation/index.d.ts +42 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, input, booleanAttribute, ViewEncapsulation, Component,
|
|
2
|
+
import { inject, input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, forwardRef, HostListener, Output, Directive, NgModule, TemplateRef, ContentChildren, ViewChild, Input, DestroyRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@lucca-front/ng/popover2';
|
|
4
4
|
import { PopoverContentComponent, PopoverDirective } from '@lucca-front/ng/popover2';
|
|
5
5
|
import { DividerComponent } from '@lucca-front/ng/divider';
|
|
6
6
|
import { ALuPopoverPanel, luTransformPopover } from '@lucca-front/ng/popover';
|
|
7
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
7
|
import { Subscription, merge } from 'rxjs';
|
|
9
8
|
import { startWith, map, delay, share, switchMap, debounceTime } from 'rxjs/operators';
|
|
9
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
10
10
|
|
|
11
11
|
class DropdownActionComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.#popoverContentRef = inject(PopoverContentComponent, { optional: true });
|
|
14
|
-
this.disabled = input(false,
|
|
15
|
-
this.critical = input(false,
|
|
14
|
+
this.disabled = input(false, { transform: booleanAttribute });
|
|
15
|
+
this.critical = input(false, { transform: booleanAttribute });
|
|
16
16
|
}
|
|
17
17
|
#popoverContentRef;
|
|
18
18
|
closePanel() {
|
|
@@ -20,14 +20,13 @@ class DropdownActionComponent {
|
|
|
20
20
|
this.#popoverContentRef.close();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: DropdownActionComponent, isStandalone: true, selector: "[lu-dropdown-action]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, critical: { classPropertyName: "critical", publicName: "critical", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "closePanel()" }, properties: { "class.is-disabled": "disabled()", "class.mod-critical": "critical()" }, classAttribute: "dropdown-list-option-action" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownActionComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[lu-dropdown-action]',
|
|
30
|
-
standalone: true,
|
|
31
30
|
template: '<ng-content />',
|
|
32
31
|
encapsulation: ViewEncapsulation.None,
|
|
33
32
|
host: {
|
|
@@ -36,18 +35,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
36
35
|
'[class.mod-critical]': 'critical()',
|
|
37
36
|
'(click)': 'closePanel()',
|
|
38
37
|
},
|
|
38
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
39
39
|
}]
|
|
40
|
-
}]
|
|
40
|
+
}] });
|
|
41
41
|
|
|
42
42
|
class DropdownDividerComponent {
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: DropdownDividerComponent, isStandalone: true, selector: "lu-dropdown-divider", host: { attributes: { "role": "listitem" }, properties: { "attr.aria-hidden": "true" }, classAttribute: "dropdown-list-option" }, ngImport: i0, template: '<lu-divider class="dropdown-list-option-divider" />', isInline: true, dependencies: [{ kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["separatorRole", "vertical", "size", "withRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownDividerComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{
|
|
49
49
|
selector: 'lu-dropdown-divider',
|
|
50
|
-
standalone: true,
|
|
51
50
|
template: '<lu-divider class="dropdown-list-option-divider" />',
|
|
52
51
|
encapsulation: ViewEncapsulation.None,
|
|
53
52
|
imports: [DividerComponent],
|
|
@@ -56,225 +55,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
56
55
|
role: 'listitem',
|
|
57
56
|
'[attr.aria-hidden]': 'true',
|
|
58
57
|
},
|
|
58
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
59
59
|
}]
|
|
60
60
|
}] });
|
|
61
61
|
|
|
62
62
|
class DropdownGroupComponent {
|
|
63
63
|
constructor() {
|
|
64
|
-
this.label = input(null
|
|
64
|
+
this.label = input(null);
|
|
65
65
|
}
|
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
67
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: DropdownGroupComponent, isStandalone: true, selector: "lu-dropdown-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, classAttribute: "dropdown-list-option" }, ngImport: i0, template: "{{ label() }}\n<ul class=\"dropdown-list\">\n\t<ng-content />\n</ul>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
68
68
|
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownGroupComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
|
-
args: [{ selector: 'lu-dropdown-group',
|
|
71
|
+
args: [{ selector: 'lu-dropdown-group', encapsulation: ViewEncapsulation.None, host: {
|
|
72
72
|
class: 'dropdown-list-option',
|
|
73
73
|
role: 'listitem',
|
|
74
|
-
}, template: "{{ label() }}\n<ul class=\"dropdown-list\">\n\t<ng-content />\n</ul>\n" }]
|
|
75
|
-
}]
|
|
74
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "{{ label() }}\n<ul class=\"dropdown-list\">\n\t<ng-content />\n</ul>\n" }]
|
|
75
|
+
}] });
|
|
76
76
|
|
|
77
77
|
class DropdownItemComponent {
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
79
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: DropdownItemComponent, isStandalone: true, selector: "lu-dropdown-item", host: { attributes: { "role": "listitem" }, classAttribute: "dropdown-list-option" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
82
82
|
type: Component,
|
|
83
83
|
args: [{
|
|
84
84
|
selector: 'lu-dropdown-item',
|
|
85
|
-
standalone: true,
|
|
86
85
|
template: '<ng-content />',
|
|
87
86
|
encapsulation: ViewEncapsulation.None,
|
|
88
87
|
host: {
|
|
89
88
|
class: 'dropdown-list-option',
|
|
90
89
|
role: 'listitem',
|
|
91
90
|
},
|
|
91
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
92
92
|
}]
|
|
93
93
|
}] });
|
|
94
94
|
|
|
95
95
|
class DropdownMenuComponent {
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: DropdownMenuComponent, isStandalone: true, selector: "lu-dropdown-menu", ngImport: i0, template: "<div class=\"dropdown\">\n\t<ul class=\"dropdown-list\">\n\t\t<ng-content />\n\t</ul>\n</div>\n", styles: ["@layer components{.dropdown,.lu-dropdown-content.lu-popover-content{--components-dropdown-minInlineSize: 10rem;--components-dropdown-maxInlineSize: 30rem;--components-dropdown-maxBlockSize: min(60vh, 30rem);--components-dropdown-list-option-action-color: currentColor;--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: auto;padding:0!important;border-radius:var(--pr-t-border-radius-structure);min-inline-size:var(--components-dropdown-minInlineSize);max-inline-size:var(--components-dropdown-maxInlineSize);max-block-size:var(--components-dropdown-maxBlockSize);overflow-x:hidden;overflow-y:auto}.dropdown-list,.lu-dropdown-options{list-style-type:none;padding-block:var(--pr-t-spacings-50);padding-inline:0;margin:0;display:flex;flex-direction:column;gap:var(--pr-t-spacings-25)}.dropdown-list .dropdown-list,.lu-dropdown-options .dropdown-list,.dropdown-list-option,.lu-dropdown-options-item{padding-block:0}.dropdown-list-option:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider),.lu-dropdown-options-item:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider){padding-inline:var(--pr-t-spacings-50)}.dropdown-list-option:has(>.dropdown-list),.lu-dropdown-options-item:has(>.dropdown-list){padding-block-start:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150);color:var(--pr-t-color-text-subtle);font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.dropdown-list-option>.dropdown-list,.lu-dropdown-options-item>.dropdown-list{color:var(--pr-t-color-text);font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-regular);margin-block-start:var(--pr-t-spacings-50);margin-inline:calc(var(--pr-t-spacings-150) * -1)}.dropdown-list-option-action,.lu-dropdown-options-item-action{border:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--components-dropdown-list-option-action-backgroundColor);display:flex;align-items:flex-start;gap:var(--pr-t-spacings-100);line-height:var(--pr-t-font-body-M-lineHeight);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);text-align:left;transition:background-color var(--commons-animations-durations-fast);text-decoration:none;inline-size:100%;pointer-events:var(--components-dropdown-list-option-action-pointerEvents);cursor:pointer}.dropdown-list-option-action .lucca-icon,.lu-dropdown-options-item-action .lucca-icon{--icon-size: 1.25rem;margin-block:var(--pr-t-spacings-25)}.dropdown-list-option-action,.dropdown-list-option-action:hover,.lu-dropdown-options-item-action,.lu-dropdown-options-item-action:hover{color:var(--components-dropdown-list-option-action-color)}.dropdown-list-option-action:hover,.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:hover,.lu-dropdown-options-item-action:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-50)}.dropdown-list-option-action:active,.lu-dropdown-options-item-action:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-100)}.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0;z-index:1;position:relative}.divider.dropdown-list-option-divider{--components-divider-marginBlock: var(--pr-t-spacings-25)}}@layer mods{.dropdown-list-option-action[disabled],.dropdown-list-option-action.is-disabled,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action.is-disabled{--components-dropdown-list-option-action-color: var(--pr-t-color-text-disabled);--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: none}.dropdown-list-option-action[disabled],.dropdown-list-option-action[disabled]:hover,.dropdown-list-option-action.is-disabled,.dropdown-list-option-action.is-disabled:hover,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action[disabled]:hover,.lu-dropdown-options-item-action.is-disabled,.lu-dropdown-options-item-action.is-disabled:hover{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-0)}.dropdown-list-option-action.mod-critical,.dropdown-list-option-action.mod-delete,.lu-dropdown-options-item-action.mod-critical,.lu-dropdown-options-item-action.mod-delete{--components-dropdown-list-option-action-color: var(--pr-t-color-text-critical)}.dropdown-list-option-action.mod-critical:hover,.dropdown-list-option-action.mod-critical:focus-visible,.dropdown-list-option-action.mod-delete:hover,.dropdown-list-option-action.mod-delete:focus-visible,.lu-dropdown-options-item-action.mod-critical:hover,.lu-dropdown-options-item-action.mod-critical:focus-visible,.lu-dropdown-options-item-action.mod-delete:hover,.lu-dropdown-options-item-action.mod-delete:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-50)}.dropdown-list-option-action.mod-critical:active,.dropdown-list-option-action.mod-delete:active,.lu-dropdown-options-item-action.mod-critical:active,.lu-dropdown-options-item-action.mod-delete:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-100)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
98
98
|
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DropdownMenuComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
|
-
args: [{ selector: 'lu-dropdown-menu',
|
|
102
|
-
}] });
|
|
103
|
-
|
|
104
|
-
class LuDropdownTriggerDirective {
|
|
105
|
-
#destroyRef;
|
|
106
|
-
// Keeping generic type here just for the sake of backwards compatibility
|
|
107
|
-
/** References the popover instance that the trigger is associated with. */
|
|
108
|
-
set inputPanel(p) {
|
|
109
|
-
if (p instanceof ALuPopoverPanel) {
|
|
110
|
-
this.popover2.content = p.templateRef;
|
|
111
|
-
p.close.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.popover2.close());
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
this.popover2.content = p;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
constructor() {
|
|
118
|
-
this.popover2 = inject(PopoverDirective);
|
|
119
|
-
this.#destroyRef = inject(DestroyRef);
|
|
120
|
-
/** how the panel will be aligned with the target, allowed values: top, bottom, left, right
|
|
121
|
-
* @deprecated prefer using customPositions instead
|
|
122
|
-
* */
|
|
123
|
-
this.luDropdownAlignment = 'right';
|
|
124
|
-
// We're using constructor here to setup default values before inputs are processed
|
|
125
|
-
// This way, the value will be changed if any input changes it but we can still have separate default values
|
|
126
|
-
this.popover2.luPopoverPosition = 'below';
|
|
127
|
-
this.popover2.luPopoverNoCloseButton = true;
|
|
128
|
-
}
|
|
129
|
-
ngOnInit() {
|
|
130
|
-
if (!this.popover2.customPositions || this.popover2.customPositions.length === 0) {
|
|
131
|
-
this.popover2.customPositions = this.legacyPositionBuilder();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
/**********************
|
|
135
|
-
*
|
|
136
|
-
* LEGACY STUFF TO HANDLE EXISTING POSITIONS
|
|
137
|
-
*
|
|
138
|
-
***********************/
|
|
139
|
-
legacyPositionBuilder() {
|
|
140
|
-
const connectionPosition = {
|
|
141
|
-
originX: 'start',
|
|
142
|
-
originY: 'top',
|
|
143
|
-
};
|
|
144
|
-
// Position
|
|
145
|
-
const position = this.popover2.luPopoverPosition;
|
|
146
|
-
if (position === 'above') {
|
|
147
|
-
connectionPosition.originY = 'top';
|
|
148
|
-
}
|
|
149
|
-
else if (position === 'below') {
|
|
150
|
-
connectionPosition.originY = 'bottom';
|
|
151
|
-
}
|
|
152
|
-
else if (position === 'before') {
|
|
153
|
-
connectionPosition.originX = 'start';
|
|
154
|
-
}
|
|
155
|
-
else if (position === 'after') {
|
|
156
|
-
connectionPosition.originX = 'end';
|
|
157
|
-
}
|
|
158
|
-
// Alignment
|
|
159
|
-
const alignment = this.luDropdownAlignment;
|
|
160
|
-
if (position === 'below' || position === 'above') {
|
|
161
|
-
if (alignment === 'left') {
|
|
162
|
-
connectionPosition.originX = 'start';
|
|
163
|
-
}
|
|
164
|
-
else if (alignment === 'right') {
|
|
165
|
-
connectionPosition.originX = 'end';
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
connectionPosition.originX = 'center';
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
if (alignment === 'top') {
|
|
173
|
-
connectionPosition.originY = 'top';
|
|
174
|
-
}
|
|
175
|
-
else if (alignment === 'bottom') {
|
|
176
|
-
connectionPosition.originY = 'bottom';
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
connectionPosition.originY = 'center';
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
const overlayPosition = {
|
|
183
|
-
overlayX: 'start',
|
|
184
|
-
overlayY: 'top',
|
|
185
|
-
};
|
|
186
|
-
if (position === 'above' || position === 'below') {
|
|
187
|
-
overlayPosition.overlayX = connectionPosition.originX;
|
|
188
|
-
overlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
overlayPosition.overlayX = position === 'before' ? 'end' : 'start';
|
|
192
|
-
overlayPosition.overlayY = connectionPosition.originY;
|
|
193
|
-
}
|
|
194
|
-
return [
|
|
195
|
-
{
|
|
196
|
-
originX: connectionPosition.originX,
|
|
197
|
-
originY: connectionPosition.originY,
|
|
198
|
-
overlayX: overlayPosition.overlayX,
|
|
199
|
-
overlayY: overlayPosition.overlayY,
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
originX: connectionPosition.originX,
|
|
203
|
-
originY: this.invertVerticalPos(connectionPosition.originY),
|
|
204
|
-
overlayX: overlayPosition.overlayX,
|
|
205
|
-
overlayY: this.invertVerticalPos(overlayPosition.overlayY),
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
originX: this.invertHorizontalPos(connectionPosition.originX),
|
|
209
|
-
originY: connectionPosition.originY,
|
|
210
|
-
overlayX: this.invertHorizontalPos(overlayPosition.overlayX),
|
|
211
|
-
overlayY: overlayPosition.overlayY,
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
originX: this.invertHorizontalPos(connectionPosition.originX),
|
|
215
|
-
originY: this.invertVerticalPos(connectionPosition.originY),
|
|
216
|
-
overlayX: this.invertHorizontalPos(overlayPosition.overlayX),
|
|
217
|
-
overlayY: this.invertVerticalPos(overlayPosition.overlayY),
|
|
218
|
-
},
|
|
219
|
-
];
|
|
220
|
-
}
|
|
221
|
-
invertVerticalPos(y) {
|
|
222
|
-
if (y === 'top') {
|
|
223
|
-
return 'bottom';
|
|
224
|
-
}
|
|
225
|
-
else if (y === 'bottom') {
|
|
226
|
-
return 'top';
|
|
227
|
-
}
|
|
228
|
-
return y;
|
|
229
|
-
}
|
|
230
|
-
invertHorizontalPos(x) {
|
|
231
|
-
if (x === 'end') {
|
|
232
|
-
return 'start';
|
|
233
|
-
}
|
|
234
|
-
else if (x === 'start') {
|
|
235
|
-
return 'end';
|
|
236
|
-
}
|
|
237
|
-
return x;
|
|
238
|
-
}
|
|
239
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
240
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.12", type: LuDropdownTriggerDirective, isStandalone: true, selector: "[luDropdown]", inputs: { inputPanel: ["luDropdown", "inputPanel"] }, host: { properties: { "attr.aria-expanded": "popover2.opened()" } }, exportAs: ["LuDropdownTrigger"], hostDirectives: [{ directive: i1.PopoverDirective, inputs: ["luPopoverPosition", "luDropdownPosition", "luPopoverDisabled", "luDropdownDisabled", "customPositions", "customPositions"], outputs: ["luPopoverOpened", "luDropdownOnOpen", "luPopoverClosed", "luDropdownOnClose"] }], ngImport: i0 }); }
|
|
241
|
-
}
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerDirective, decorators: [{
|
|
243
|
-
type: Directive,
|
|
244
|
-
args: [{
|
|
245
|
-
selector: '[luDropdown]',
|
|
246
|
-
exportAs: 'LuDropdownTrigger',
|
|
247
|
-
host: {
|
|
248
|
-
'[attr.aria-expanded]': 'popover2.opened()',
|
|
249
|
-
},
|
|
250
|
-
hostDirectives: [
|
|
251
|
-
{
|
|
252
|
-
directive: PopoverDirective,
|
|
253
|
-
inputs: ['luPopoverPosition: luDropdownPosition', 'luPopoverDisabled: luDropdownDisabled', 'customPositions'],
|
|
254
|
-
outputs: ['luPopoverOpened: luDropdownOnOpen', 'luPopoverClosed: luDropdownOnClose'],
|
|
255
|
-
},
|
|
256
|
-
],
|
|
257
|
-
standalone: true,
|
|
258
|
-
}]
|
|
259
|
-
}], ctorParameters: () => [], propDecorators: { inputPanel: [{
|
|
260
|
-
type: Input,
|
|
261
|
-
args: ['luDropdown']
|
|
262
|
-
}] } });
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* @deprecated use `LuDropdownTriggerDirective` instead
|
|
266
|
-
*/
|
|
267
|
-
class LuDropdownTriggerModule {
|
|
268
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
269
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerModule, imports: [LuDropdownTriggerDirective], exports: [LuDropdownTriggerDirective] }); }
|
|
270
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerModule }); }
|
|
271
|
-
}
|
|
272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: LuDropdownTriggerModule, decorators: [{
|
|
273
|
-
type: NgModule,
|
|
274
|
-
args: [{
|
|
275
|
-
imports: [LuDropdownTriggerDirective],
|
|
276
|
-
exports: [LuDropdownTriggerDirective],
|
|
277
|
-
}]
|
|
101
|
+
args: [{ selector: 'lu-dropdown-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"dropdown\">\n\t<ul class=\"dropdown-list\">\n\t\t<ng-content />\n\t</ul>\n</div>\n", styles: ["@layer components{.dropdown,.lu-dropdown-content.lu-popover-content{--components-dropdown-minInlineSize: 10rem;--components-dropdown-maxInlineSize: 30rem;--components-dropdown-maxBlockSize: min(60vh, 30rem);--components-dropdown-list-option-action-color: currentColor;--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: auto;padding:0!important;border-radius:var(--pr-t-border-radius-structure);min-inline-size:var(--components-dropdown-minInlineSize);max-inline-size:var(--components-dropdown-maxInlineSize);max-block-size:var(--components-dropdown-maxBlockSize);overflow-x:hidden;overflow-y:auto}.dropdown-list,.lu-dropdown-options{list-style-type:none;padding-block:var(--pr-t-spacings-50);padding-inline:0;margin:0;display:flex;flex-direction:column;gap:var(--pr-t-spacings-25)}.dropdown-list .dropdown-list,.lu-dropdown-options .dropdown-list,.dropdown-list-option,.lu-dropdown-options-item{padding-block:0}.dropdown-list-option:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider),.lu-dropdown-options-item:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider){padding-inline:var(--pr-t-spacings-50)}.dropdown-list-option:has(>.dropdown-list),.lu-dropdown-options-item:has(>.dropdown-list){padding-block-start:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150);color:var(--pr-t-color-text-subtle);font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.dropdown-list-option>.dropdown-list,.lu-dropdown-options-item>.dropdown-list{color:var(--pr-t-color-text);font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-regular);margin-block-start:var(--pr-t-spacings-50);margin-inline:calc(var(--pr-t-spacings-150) * -1)}.dropdown-list-option-action,.lu-dropdown-options-item-action{border:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--components-dropdown-list-option-action-backgroundColor);display:flex;align-items:flex-start;gap:var(--pr-t-spacings-100);line-height:var(--pr-t-font-body-M-lineHeight);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);text-align:left;transition:background-color var(--commons-animations-durations-fast);text-decoration:none;inline-size:100%;pointer-events:var(--components-dropdown-list-option-action-pointerEvents);cursor:pointer}.dropdown-list-option-action .lucca-icon,.lu-dropdown-options-item-action .lucca-icon{--icon-size: 1.25rem;margin-block:var(--pr-t-spacings-25)}.dropdown-list-option-action,.dropdown-list-option-action:hover,.lu-dropdown-options-item-action,.lu-dropdown-options-item-action:hover{color:var(--components-dropdown-list-option-action-color)}.dropdown-list-option-action:hover,.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:hover,.lu-dropdown-options-item-action:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-50)}.dropdown-list-option-action:active,.lu-dropdown-options-item-action:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-100)}.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0;z-index:1;position:relative}.divider.dropdown-list-option-divider{--components-divider-marginBlock: var(--pr-t-spacings-25)}}@layer mods{.dropdown-list-option-action[disabled],.dropdown-list-option-action.is-disabled,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action.is-disabled{--components-dropdown-list-option-action-color: var(--pr-t-color-text-disabled);--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: none}.dropdown-list-option-action[disabled],.dropdown-list-option-action[disabled]:hover,.dropdown-list-option-action.is-disabled,.dropdown-list-option-action.is-disabled:hover,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action[disabled]:hover,.lu-dropdown-options-item-action.is-disabled,.lu-dropdown-options-item-action.is-disabled:hover{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-0)}.dropdown-list-option-action.mod-critical,.dropdown-list-option-action.mod-delete,.lu-dropdown-options-item-action.mod-critical,.lu-dropdown-options-item-action.mod-delete{--components-dropdown-list-option-action-color: var(--pr-t-color-text-critical)}.dropdown-list-option-action.mod-critical:hover,.dropdown-list-option-action.mod-critical:focus-visible,.dropdown-list-option-action.mod-delete:hover,.dropdown-list-option-action.mod-delete:focus-visible,.lu-dropdown-options-item-action.mod-critical:hover,.lu-dropdown-options-item-action.mod-critical:focus-visible,.lu-dropdown-options-item-action.mod-delete:hover,.lu-dropdown-options-item-action.mod-delete:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-50)}.dropdown-list-option-action.mod-critical:active,.dropdown-list-option-action.mod-delete:active,.lu-dropdown-options-item-action.mod-critical:active,.lu-dropdown-options-item-action.mod-delete:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-100)}}\n"] }]
|
|
278
102
|
}] });
|
|
279
103
|
|
|
280
104
|
class ALuDropdownItem {
|
|
@@ -300,8 +124,8 @@ class LuDropdownItemDirective extends ALuDropdownItem {
|
|
|
300
124
|
ngOnDestroy() {
|
|
301
125
|
this.onSelect.complete();
|
|
302
126
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
304
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
128
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: LuDropdownItemDirective, isStandalone: true, selector: "[luDropdownItem]", outputs: { onSelect: "onSelect" }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onEnter($event)" } }, providers: [
|
|
305
129
|
{
|
|
306
130
|
provide: ALuDropdownItem,
|
|
307
131
|
useExisting: forwardRef(() => LuDropdownItemDirective),
|
|
@@ -309,7 +133,7 @@ class LuDropdownItemDirective extends ALuDropdownItem {
|
|
|
309
133
|
},
|
|
310
134
|
], exportAs: ["LuDropdownItem"], usesInheritance: true, ngImport: i0 }); }
|
|
311
135
|
}
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemDirective, decorators: [{
|
|
313
137
|
type: Directive,
|
|
314
138
|
args: [{
|
|
315
139
|
selector: '[luDropdownItem]',
|
|
@@ -321,7 +145,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
321
145
|
multi: true,
|
|
322
146
|
},
|
|
323
147
|
],
|
|
324
|
-
standalone: true,
|
|
325
148
|
}]
|
|
326
149
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onSelect: [{
|
|
327
150
|
type: Output
|
|
@@ -337,11 +160,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
337
160
|
* @deprecated use `LuDropdownItemDirective` instead
|
|
338
161
|
*/
|
|
339
162
|
class LuDropdownItemModule {
|
|
340
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
341
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
342
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
164
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemModule, imports: [LuDropdownItemDirective], exports: [LuDropdownItemDirective] }); }
|
|
165
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemModule }); }
|
|
343
166
|
}
|
|
344
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownItemModule, decorators: [{
|
|
345
168
|
type: NgModule,
|
|
346
169
|
args: [{
|
|
347
170
|
imports: [LuDropdownItemDirective],
|
|
@@ -426,12 +249,12 @@ class LuDropdownPanelComponent extends ALuPopoverPanel {
|
|
|
426
249
|
firstItem.focus();
|
|
427
250
|
}
|
|
428
251
|
}
|
|
429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
430
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.
|
|
252
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LuDropdownPanelComponent, isStandalone: true, selector: "lu-dropdown", inputs: { inputPanelClasses: ["panel-classes", "inputPanelClasses"], inputContentClasses: ["content-classes", "inputContentClasses"] }, outputs: { close: "close", open: "open", hovered: "hovered" }, queries: [{ propertyName: "optionsQL", predicate: ALuDropdownItem, descendants: true }], viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["LuDropdownPanel"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n\t<div\n\t\tclass=\"lu-dropdown-panel 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 dropdown\" [class]=\"contentClassesMap\">\n\t\t\t<ul class=\"dropdown-list\">\n\t\t\t\t<ng-content />\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.dropdown,.lu-dropdown-content.lu-popover-content{--components-dropdown-minInlineSize: 10rem;--components-dropdown-maxInlineSize: 30rem;--components-dropdown-maxBlockSize: min(60vh, 30rem);--components-dropdown-list-option-action-color: currentColor;--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: auto;padding:0!important;border-radius:var(--pr-t-border-radius-structure);min-inline-size:var(--components-dropdown-minInlineSize);max-inline-size:var(--components-dropdown-maxInlineSize);max-block-size:var(--components-dropdown-maxBlockSize);overflow-x:hidden;overflow-y:auto}.dropdown-list,.lu-dropdown-options{list-style-type:none;padding-block:var(--pr-t-spacings-50);padding-inline:0;margin:0;display:flex;flex-direction:column;gap:var(--pr-t-spacings-25)}.dropdown-list .dropdown-list,.lu-dropdown-options .dropdown-list,.dropdown-list-option,.lu-dropdown-options-item{padding-block:0}.dropdown-list-option:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider),.lu-dropdown-options-item:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider){padding-inline:var(--pr-t-spacings-50)}.dropdown-list-option:has(>.dropdown-list),.lu-dropdown-options-item:has(>.dropdown-list){padding-block-start:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150);color:var(--pr-t-color-text-subtle);font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.dropdown-list-option>.dropdown-list,.lu-dropdown-options-item>.dropdown-list{color:var(--pr-t-color-text);font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-regular);margin-block-start:var(--pr-t-spacings-50);margin-inline:calc(var(--pr-t-spacings-150) * -1)}.dropdown-list-option-action,.lu-dropdown-options-item-action{border:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--components-dropdown-list-option-action-backgroundColor);display:flex;align-items:flex-start;gap:var(--pr-t-spacings-100);line-height:var(--pr-t-font-body-M-lineHeight);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);text-align:left;transition:background-color var(--commons-animations-durations-fast);text-decoration:none;inline-size:100%;pointer-events:var(--components-dropdown-list-option-action-pointerEvents);cursor:pointer}.dropdown-list-option-action .lucca-icon,.lu-dropdown-options-item-action .lucca-icon{--icon-size: 1.25rem;margin-block:var(--pr-t-spacings-25)}.dropdown-list-option-action,.dropdown-list-option-action:hover,.lu-dropdown-options-item-action,.lu-dropdown-options-item-action:hover{color:var(--components-dropdown-list-option-action-color)}.dropdown-list-option-action:hover,.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:hover,.lu-dropdown-options-item-action:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-50)}.dropdown-list-option-action:active,.lu-dropdown-options-item-action:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-100)}.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0;z-index:1;position:relative}.divider.dropdown-list-option-divider{--components-divider-marginBlock: var(--pr-t-spacings-25)}}@layer mods{.dropdown-list-option-action[disabled],.dropdown-list-option-action.is-disabled,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action.is-disabled{--components-dropdown-list-option-action-color: var(--pr-t-color-text-disabled);--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: none}.dropdown-list-option-action[disabled],.dropdown-list-option-action[disabled]:hover,.dropdown-list-option-action.is-disabled,.dropdown-list-option-action.is-disabled:hover,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action[disabled]:hover,.lu-dropdown-options-item-action.is-disabled,.lu-dropdown-options-item-action.is-disabled:hover{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-0)}.dropdown-list-option-action.mod-critical,.dropdown-list-option-action.mod-delete,.lu-dropdown-options-item-action.mod-critical,.lu-dropdown-options-item-action.mod-delete{--components-dropdown-list-option-action-color: var(--pr-t-color-text-critical)}.dropdown-list-option-action.mod-critical:hover,.dropdown-list-option-action.mod-critical:focus-visible,.dropdown-list-option-action.mod-delete:hover,.dropdown-list-option-action.mod-delete:focus-visible,.lu-dropdown-options-item-action.mod-critical:hover,.lu-dropdown-options-item-action.mod-critical:focus-visible,.lu-dropdown-options-item-action.mod-delete:hover,.lu-dropdown-options-item-action.mod-delete:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-50)}.dropdown-list-option-action.mod-critical:active,.dropdown-list-option-action.mod-delete:active,.lu-dropdown-options-item-action.mod-critical:active,.lu-dropdown-options-item-action.mod-delete:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-100)}}\n"], animations: [luTransformPopover], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
431
254
|
}
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelComponent, decorators: [{
|
|
433
256
|
type: Component,
|
|
434
|
-
args: [{ selector: 'lu-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], exportAs: 'LuDropdownPanel',
|
|
257
|
+
args: [{ selector: 'lu-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, animations: [luTransformPopover], exportAs: 'LuDropdownPanel', encapsulation: ViewEncapsulation.None, template: "<ng-template>\n\t<div\n\t\tclass=\"lu-dropdown-panel 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 dropdown\" [class]=\"contentClassesMap\">\n\t\t\t<ul class=\"dropdown-list\">\n\t\t\t\t<ng-content />\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.dropdown,.lu-dropdown-content.lu-popover-content{--components-dropdown-minInlineSize: 10rem;--components-dropdown-maxInlineSize: 30rem;--components-dropdown-maxBlockSize: min(60vh, 30rem);--components-dropdown-list-option-action-color: currentColor;--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: auto;padding:0!important;border-radius:var(--pr-t-border-radius-structure);min-inline-size:var(--components-dropdown-minInlineSize);max-inline-size:var(--components-dropdown-maxInlineSize);max-block-size:var(--components-dropdown-maxBlockSize);overflow-x:hidden;overflow-y:auto}.dropdown-list,.lu-dropdown-options{list-style-type:none;padding-block:var(--pr-t-spacings-50);padding-inline:0;margin:0;display:flex;flex-direction:column;gap:var(--pr-t-spacings-25)}.dropdown-list .dropdown-list,.lu-dropdown-options .dropdown-list,.dropdown-list-option,.lu-dropdown-options-item{padding-block:0}.dropdown-list-option:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider),.lu-dropdown-options-item:not(:has(.divider.dropdown-list-option-divider,.dropdown-list-option),.dropdown-list-option.mod-divider,.lu-dropdown-options-item.mod-divider){padding-inline:var(--pr-t-spacings-50)}.dropdown-list-option:has(>.dropdown-list),.lu-dropdown-options-item:has(>.dropdown-list){padding-block-start:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150);color:var(--pr-t-color-text-subtle);font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.dropdown-list-option>.dropdown-list,.lu-dropdown-options-item>.dropdown-list{color:var(--pr-t-color-text);font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-regular);margin-block-start:var(--pr-t-spacings-50);margin-inline:calc(var(--pr-t-spacings-150) * -1)}.dropdown-list-option-action,.lu-dropdown-options-item-action{border:0;border-radius:var(--pr-t-border-radius-default);background-color:var(--components-dropdown-list-option-action-backgroundColor);display:flex;align-items:flex-start;gap:var(--pr-t-spacings-100);line-height:var(--pr-t-font-body-M-lineHeight);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);text-align:left;transition:background-color var(--commons-animations-durations-fast);text-decoration:none;inline-size:100%;pointer-events:var(--components-dropdown-list-option-action-pointerEvents);cursor:pointer}.dropdown-list-option-action .lucca-icon,.lu-dropdown-options-item-action .lucca-icon{--icon-size: 1.25rem;margin-block:var(--pr-t-spacings-25)}.dropdown-list-option-action,.dropdown-list-option-action:hover,.lu-dropdown-options-item-action,.lu-dropdown-options-item-action:hover{color:var(--components-dropdown-list-option-action-color)}.dropdown-list-option-action:hover,.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:hover,.lu-dropdown-options-item-action:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-50)}.dropdown-list-option-action:active,.lu-dropdown-options-item-action:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-100)}.dropdown-list-option-action:focus-visible,.lu-dropdown-options-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0;z-index:1;position:relative}.divider.dropdown-list-option-divider{--components-divider-marginBlock: var(--pr-t-spacings-25)}}@layer mods{.dropdown-list-option-action[disabled],.dropdown-list-option-action.is-disabled,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action.is-disabled{--components-dropdown-list-option-action-color: var(--pr-t-color-text-disabled);--components-dropdown-list-option-action-backgroundColor: transparent;--components-dropdown-list-option-action-pointerEvents: none}.dropdown-list-option-action[disabled],.dropdown-list-option-action[disabled]:hover,.dropdown-list-option-action.is-disabled,.dropdown-list-option-action.is-disabled:hover,.lu-dropdown-options-item-action[disabled],.lu-dropdown-options-item-action[disabled]:hover,.lu-dropdown-options-item-action.is-disabled,.lu-dropdown-options-item-action.is-disabled:hover{--components-dropdown-list-option-action-backgroundColor: var(--palettes-neutral-0)}.dropdown-list-option-action.mod-critical,.dropdown-list-option-action.mod-delete,.lu-dropdown-options-item-action.mod-critical,.lu-dropdown-options-item-action.mod-delete{--components-dropdown-list-option-action-color: var(--pr-t-color-text-critical)}.dropdown-list-option-action.mod-critical:hover,.dropdown-list-option-action.mod-critical:focus-visible,.dropdown-list-option-action.mod-delete:hover,.dropdown-list-option-action.mod-delete:focus-visible,.lu-dropdown-options-item-action.mod-critical:hover,.lu-dropdown-options-item-action.mod-critical:focus-visible,.lu-dropdown-options-item-action.mod-delete:hover,.lu-dropdown-options-item-action.mod-delete:focus-visible{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-50)}.dropdown-list-option-action.mod-critical:active,.dropdown-list-option-action.mod-delete:active,.lu-dropdown-options-item-action.mod-critical:active,.lu-dropdown-options-item-action.mod-delete:active{--components-dropdown-list-option-action-backgroundColor: var(--palettes-critical-100)}}\n"] }]
|
|
435
258
|
}], ctorParameters: () => [], propDecorators: { inputPanelClasses: [{
|
|
436
259
|
type: Input,
|
|
437
260
|
args: ['panel-classes']
|
|
@@ -456,11 +279,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
456
279
|
* @deprecated use `LuDropdownPanelComponent` instead
|
|
457
280
|
*/
|
|
458
281
|
class LuDropdownPanelModule {
|
|
459
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
460
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
461
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
282
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
283
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelModule, imports: [LuDropdownPanelComponent], exports: [LuDropdownPanelComponent] }); }
|
|
284
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelModule }); }
|
|
462
285
|
}
|
|
463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownPanelModule, decorators: [{
|
|
464
287
|
type: NgModule,
|
|
465
288
|
args: [{
|
|
466
289
|
imports: [LuDropdownPanelComponent],
|
|
@@ -468,12 +291,190 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
468
291
|
}]
|
|
469
292
|
}] });
|
|
470
293
|
|
|
294
|
+
class LuDropdownTriggerDirective {
|
|
295
|
+
#destroyRef;
|
|
296
|
+
// Keeping generic type here just for the sake of backwards compatibility
|
|
297
|
+
/** References the popover instance that the trigger is associated with. */
|
|
298
|
+
set inputPanel(p) {
|
|
299
|
+
if (p instanceof ALuPopoverPanel) {
|
|
300
|
+
this.popover2.content = p.templateRef;
|
|
301
|
+
p.close.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.popover2.close());
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
this.popover2.content = p;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
constructor() {
|
|
308
|
+
this.popover2 = inject(PopoverDirective);
|
|
309
|
+
this.#destroyRef = inject(DestroyRef);
|
|
310
|
+
/** how the panel will be aligned with the target, allowed values: top, bottom, left, right
|
|
311
|
+
* @deprecated prefer using customPositions instead
|
|
312
|
+
* */
|
|
313
|
+
this.luDropdownAlignment = 'right';
|
|
314
|
+
// We're using constructor here to setup default values before inputs are processed
|
|
315
|
+
// This way, the value will be changed if any input changes it but we can still have separate default values
|
|
316
|
+
this.popover2.luPopoverPosition = 'below';
|
|
317
|
+
this.popover2.luPopoverNoCloseButton = true;
|
|
318
|
+
}
|
|
319
|
+
ngOnInit() {
|
|
320
|
+
if (!this.popover2.customPositions || this.popover2.customPositions.length === 0) {
|
|
321
|
+
this.popover2.customPositions = this.legacyPositionBuilder();
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**********************
|
|
325
|
+
*
|
|
326
|
+
* LEGACY STUFF TO HANDLE EXISTING POSITIONS
|
|
327
|
+
*
|
|
328
|
+
***********************/
|
|
329
|
+
legacyPositionBuilder() {
|
|
330
|
+
const connectionPosition = {
|
|
331
|
+
originX: 'start',
|
|
332
|
+
originY: 'top',
|
|
333
|
+
};
|
|
334
|
+
// Position
|
|
335
|
+
const position = this.popover2.luPopoverPosition;
|
|
336
|
+
if (position === 'above') {
|
|
337
|
+
connectionPosition.originY = 'top';
|
|
338
|
+
}
|
|
339
|
+
else if (position === 'below') {
|
|
340
|
+
connectionPosition.originY = 'bottom';
|
|
341
|
+
}
|
|
342
|
+
else if (position === 'before') {
|
|
343
|
+
connectionPosition.originX = 'start';
|
|
344
|
+
}
|
|
345
|
+
else if (position === 'after') {
|
|
346
|
+
connectionPosition.originX = 'end';
|
|
347
|
+
}
|
|
348
|
+
// Alignment
|
|
349
|
+
const alignment = this.luDropdownAlignment;
|
|
350
|
+
if (position === 'below' || position === 'above') {
|
|
351
|
+
if (alignment === 'left') {
|
|
352
|
+
connectionPosition.originX = 'start';
|
|
353
|
+
}
|
|
354
|
+
else if (alignment === 'right') {
|
|
355
|
+
connectionPosition.originX = 'end';
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
connectionPosition.originX = 'center';
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
if (alignment === 'top') {
|
|
363
|
+
connectionPosition.originY = 'top';
|
|
364
|
+
}
|
|
365
|
+
else if (alignment === 'bottom') {
|
|
366
|
+
connectionPosition.originY = 'bottom';
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
connectionPosition.originY = 'center';
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
const overlayPosition = {
|
|
373
|
+
overlayX: 'start',
|
|
374
|
+
overlayY: 'top',
|
|
375
|
+
};
|
|
376
|
+
if (position === 'above' || position === 'below') {
|
|
377
|
+
overlayPosition.overlayX = connectionPosition.originX;
|
|
378
|
+
overlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
overlayPosition.overlayX = position === 'before' ? 'end' : 'start';
|
|
382
|
+
overlayPosition.overlayY = connectionPosition.originY;
|
|
383
|
+
}
|
|
384
|
+
return [
|
|
385
|
+
{
|
|
386
|
+
originX: connectionPosition.originX,
|
|
387
|
+
originY: connectionPosition.originY,
|
|
388
|
+
overlayX: overlayPosition.overlayX,
|
|
389
|
+
overlayY: overlayPosition.overlayY,
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
originX: connectionPosition.originX,
|
|
393
|
+
originY: this.invertVerticalPos(connectionPosition.originY),
|
|
394
|
+
overlayX: overlayPosition.overlayX,
|
|
395
|
+
overlayY: this.invertVerticalPos(overlayPosition.overlayY),
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
originX: this.invertHorizontalPos(connectionPosition.originX),
|
|
399
|
+
originY: connectionPosition.originY,
|
|
400
|
+
overlayX: this.invertHorizontalPos(overlayPosition.overlayX),
|
|
401
|
+
overlayY: overlayPosition.overlayY,
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
originX: this.invertHorizontalPos(connectionPosition.originX),
|
|
405
|
+
originY: this.invertVerticalPos(connectionPosition.originY),
|
|
406
|
+
overlayX: this.invertHorizontalPos(overlayPosition.overlayX),
|
|
407
|
+
overlayY: this.invertVerticalPos(overlayPosition.overlayY),
|
|
408
|
+
},
|
|
409
|
+
];
|
|
410
|
+
}
|
|
411
|
+
invertVerticalPos(y) {
|
|
412
|
+
if (y === 'top') {
|
|
413
|
+
return 'bottom';
|
|
414
|
+
}
|
|
415
|
+
else if (y === 'bottom') {
|
|
416
|
+
return 'top';
|
|
417
|
+
}
|
|
418
|
+
return y;
|
|
419
|
+
}
|
|
420
|
+
invertHorizontalPos(x) {
|
|
421
|
+
if (x === 'end') {
|
|
422
|
+
return 'start';
|
|
423
|
+
}
|
|
424
|
+
else if (x === 'start') {
|
|
425
|
+
return 'end';
|
|
426
|
+
}
|
|
427
|
+
return x;
|
|
428
|
+
}
|
|
429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
430
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: LuDropdownTriggerDirective, isStandalone: true, selector: "[luDropdown]", inputs: { inputPanel: ["luDropdown", "inputPanel"] }, host: { properties: { "attr.aria-expanded": "popover2.opened()" } }, exportAs: ["LuDropdownTrigger"], hostDirectives: [{ directive: i1.PopoverDirective, inputs: ["luPopoverPosition", "luDropdownPosition", "luPopoverDisabled", "luDropdownDisabled", "customPositions", "customPositions"], outputs: ["luPopoverOpened", "luDropdownOnOpen", "luPopoverClosed", "luDropdownOnClose"] }], ngImport: i0 }); }
|
|
431
|
+
}
|
|
432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerDirective, decorators: [{
|
|
433
|
+
type: Directive,
|
|
434
|
+
args: [{
|
|
435
|
+
selector: '[luDropdown]',
|
|
436
|
+
exportAs: 'LuDropdownTrigger',
|
|
437
|
+
host: {
|
|
438
|
+
'[attr.aria-expanded]': 'popover2.opened()',
|
|
439
|
+
},
|
|
440
|
+
hostDirectives: [
|
|
441
|
+
{
|
|
442
|
+
directive: PopoverDirective,
|
|
443
|
+
inputs: ['luPopoverPosition: luDropdownPosition', 'luPopoverDisabled: luDropdownDisabled', 'customPositions'],
|
|
444
|
+
outputs: ['luPopoverOpened: luDropdownOnOpen', 'luPopoverClosed: luDropdownOnClose'],
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
}]
|
|
448
|
+
}], ctorParameters: () => [], propDecorators: { inputPanel: [{
|
|
449
|
+
type: Input,
|
|
450
|
+
args: ['luDropdown']
|
|
451
|
+
}] } });
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* @deprecated use `LuDropdownTriggerDirective` instead
|
|
455
|
+
*/
|
|
456
|
+
class LuDropdownTriggerModule {
|
|
457
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
458
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerModule, imports: [LuDropdownTriggerDirective], exports: [LuDropdownTriggerDirective] }); }
|
|
459
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerModule }); }
|
|
460
|
+
}
|
|
461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownTriggerModule, decorators: [{
|
|
462
|
+
type: NgModule,
|
|
463
|
+
args: [{
|
|
464
|
+
imports: [LuDropdownTriggerDirective],
|
|
465
|
+
exports: [LuDropdownTriggerDirective],
|
|
466
|
+
}]
|
|
467
|
+
}] });
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* @deprecated use `LuDropdownTriggerDirective, LuDropdownPanelComponent, LuDropdownItemDirective` instead
|
|
471
|
+
*/
|
|
471
472
|
class LuDropdownModule {
|
|
472
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
473
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
474
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
474
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownModule, imports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule], exports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule] }); }
|
|
475
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownModule, imports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule, LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule] }); }
|
|
475
476
|
}
|
|
476
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
477
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuDropdownModule, decorators: [{
|
|
477
478
|
type: NgModule,
|
|
478
479
|
args: [{
|
|
479
480
|
imports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule],
|