@lucca-front/ng 21.1.0-rc.1 → 21.1.0-rc.2
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 +45 -13
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +1 -1
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +1 -119
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +13 -39
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +3 -33
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +2 -17
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +18 -20
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +7 -5
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +2 -0
- package/fesm2022/lucca-front-ng-core-select-job-qualification.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 +6 -6
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +3 -75
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +3 -3
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +37 -5
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +20 -32
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +18 -2
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +3 -3
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +1 -10
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +1 -17
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +66 -2
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +0 -12
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +3 -3
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +0 -3
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +7 -76
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +0 -3
- package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form.mjs +5 -19
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +8 -9
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +34 -51
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +40 -88
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +5 -28
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +3 -3
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +26 -31
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +0 -3
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +1 -42
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +3 -3
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +0 -12
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +0 -15
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +6 -18
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +8 -37
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +2 -8
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +10 -18
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +9 -12
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +0 -3
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +1 -10
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +315 -203
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +0 -9
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +1 -25
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +1 -7
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +33 -1
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +9 -19
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-bar.mjs +5 -12
- package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +1 -16
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +7 -7
- package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +2 -5
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +3 -9
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +1 -16
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +6 -21
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +12 -63
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -25
- package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +0 -12
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +1 -7
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +16 -55
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +22 -6
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +25 -9
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +2 -32
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
- package/package.json +5 -7
- package/schematics/action-icon/index.js +5 -4
- package/schematics/action-icon/migration.js +4 -3
- package/schematics/action-icon/migration.spec.js +8 -8
- package/schematics/alignment-utilities/index.js +4 -3
- package/schematics/alignment-utilities/migration.spec.js +8 -8
- package/schematics/cdn-urls/index.js +4 -3
- package/schematics/cdn-urls/migration.js +9 -7
- package/schematics/cdn-urls/migration.spec.js +8 -8
- package/schematics/class-prefix/index.js +4 -3
- package/schematics/class-prefix/migration.spec.js +8 -8
- package/schematics/collection.json +0 -10
- package/schematics/color-text/index.js +4 -3
- package/schematics/color-text/migration.spec.js +8 -8
- package/schematics/component-path/index.js +4 -3
- package/schematics/component-path/migration.spec.js +8 -8
- package/schematics/empty-state-title/index.js +7 -5
- package/schematics/empty-state-title/migration.spec.js +5 -5
- package/schematics/lib/schematic.utils.js +0 -5
- package/schematics/lu-button/index.js +4 -3
- package/schematics/lu-button/migration.js +11 -5
- package/schematics/lu-button/migration.spec.js +5 -5
- package/schematics/lu-icon/index.js +4 -3
- package/schematics/lu-icon/migration.js +14 -8
- package/schematics/lu-icon/migration.spec.js +5 -5
- package/schematics/lu-select/index.js +4 -3
- package/schematics/lu-select/migration.js +21 -18
- package/schematics/lu-select/migration.spec.js +5 -5
- package/schematics/lu-select/util.js +19 -17
- package/schematics/lu-text-input/index.js +4 -3
- package/schematics/lu-text-input/migration.js +28 -22
- package/schematics/lu-text-input/migration.spec.js +5 -5
- package/schematics/new-icons/index.js +6 -5
- package/schematics/new-icons/migration.js +16 -11
- package/schematics/new-icons/migration.spec.js +8 -8
- package/schematics/palettes/index.js +4 -3
- package/schematics/palettes/migration.spec.js +8 -8
- package/schematics/tokens-radius/index.js +4 -3
- package/schematics/tokens-radius/migration.spec.js +8 -8
- package/schematics/tokens-spacing/index.js +4 -3
- package/schematics/tokens-spacing/migration.spec.js +8 -8
- package/schematics/tokens-typo/index.js +4 -3
- package/schematics/tokens-typo/migration.spec.js +8 -8
- package/src/components/cdk/_overlay.scss +0 -5
- package/src/definitions/option/_option-item.scss +0 -1
- package/types/lucca-front-ng-api.d.ts +19 -1
- package/types/lucca-front-ng-breadcrumbs.d.ts +1 -1
- package/types/lucca-front-ng-button.d.ts +1 -61
- package/types/lucca-front-ng-callout.d.ts +2 -32
- package/types/lucca-front-ng-chip.d.ts +2 -32
- package/types/lucca-front-ng-clear.d.ts +5 -20
- package/types/lucca-front-ng-comment.d.ts +11 -19
- package/types/lucca-front-ng-container.d.ts +4 -4
- package/types/lucca-front-ng-core-select.d.ts +1 -2
- package/types/lucca-front-ng-core.d.ts +3 -18
- package/types/lucca-front-ng-date.d.ts +19 -1
- package/types/lucca-front-ng-date2.d.ts +1 -2
- package/types/lucca-front-ng-department.d.ts +10 -1
- package/types/lucca-front-ng-divider.d.ts +0 -10
- package/types/lucca-front-ng-empty-state.d.ts +0 -16
- package/types/lucca-front-ng-establishment.d.ts +37 -1
- package/types/lucca-front-ng-fancy-box.d.ts +0 -12
- package/types/lucca-front-ng-footer.d.ts +0 -3
- package/types/lucca-front-ng-form-field.d.ts +4 -34
- package/types/lucca-front-ng-form-header.d.ts +0 -3
- package/types/lucca-front-ng-form.d.ts +5 -9
- package/types/lucca-front-ng-forms-phone-number-input.d.ts +0 -1
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +0 -2
- package/types/lucca-front-ng-forms.d.ts +4 -16
- package/types/lucca-front-ng-gauge.d.ts +0 -25
- package/types/lucca-front-ng-grid.d.ts +1 -1
- package/types/lucca-front-ng-highlight-data.d.ts +15 -36
- package/types/lucca-front-ng-horizontal-navigation.d.ts +0 -3
- package/types/lucca-front-ng-icon.d.ts +1 -32
- package/types/lucca-front-ng-inline-message.d.ts +0 -12
- package/types/lucca-front-ng-link.d.ts +0 -15
- package/types/lucca-front-ng-listbox.d.ts +4 -16
- package/types/lucca-front-ng-listing.d.ts +2 -33
- package/types/lucca-front-ng-main-layout.d.ts +0 -6
- package/types/lucca-front-ng-mobile-push.d.ts +0 -7
- package/types/lucca-front-ng-new-badge.d.ts +0 -3
- package/types/lucca-front-ng-numeric-badge.d.ts +0 -9
- package/types/lucca-front-ng-option.d.ts +141 -78
- package/types/lucca-front-ng-page-header.d.ts +0 -9
- package/types/lucca-front-ng-pagination.d.ts +0 -24
- package/types/lucca-front-ng-plg-push.d.ts +0 -6
- package/types/lucca-front-ng-popover.d.ts +20 -1
- package/types/lucca-front-ng-popover2.d.ts +3 -5
- package/types/lucca-front-ng-progress-bar.d.ts +0 -9
- package/types/lucca-front-ng-read-more.d.ts +1 -16
- package/types/lucca-front-ng-resource-card.d.ts +0 -6
- package/types/lucca-front-ng-scroll-box.d.ts +1 -4
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -7
- package/types/lucca-front-ng-segmented-control.d.ts +1 -16
- package/types/lucca-front-ng-skeleton.d.ts +6 -61
- package/types/lucca-front-ng-sortable-list.d.ts +0 -24
- package/types/lucca-front-ng-status-badge.d.ts +0 -12
- package/types/lucca-front-ng-tag.d.ts +0 -6
- package/types/lucca-front-ng-time.d.ts +10 -16
- package/types/lucca-front-ng-tooltip.d.ts +11 -2
- package/types/lucca-front-ng-user.d.ts +11 -2
- package/types/lucca-front-ng-vertical-navigation.d.ts +0 -30
- package/fesm2022/lucca-front-ng-text-flow.mjs +0 -20
- package/fesm2022/lucca-front-ng-text-flow.mjs.map +0 -1
- package/schematics/lib/index.js +0 -29
- package/schematics/lu-container/index.js +0 -23
- package/schematics/lu-container/migration.js +0 -116
- package/schematics/lu-container/migration.spec.js +0 -23
- package/schematics/lu-container/schema.json +0 -23
- package/schematics/lu-loading/index.js +0 -23
- package/schematics/lu-loading/migration.js +0 -136
- package/schematics/lu-loading/migration.spec.js +0 -23
- package/schematics/lu-loading/schema.json +0 -28
- package/types/lucca-front-ng-text-flow.d.ts +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-popover.mjs","sources":["../../../packages/ng/popover/animation/popover.animation.ts","../../../packages/ng/popover/panel/popover-panel.model.ts","../../../packages/ng/popover/panel/popover-panel.component.ts","../../../packages/ng/popover/panel/popover-panel.component.html","../../../packages/ng/popover/panel/popover-panel.module.ts","../../../packages/ng/popover/target/popover-target.model.ts","../../../packages/ng/popover/target/popover-target.directive.ts","../../../packages/ng/popover/trigger/popover-trigger.model.ts","../../../packages/ng/popover/trigger/popover-trigger.directive.ts","../../../packages/ng/popover/popover.module.ts","../../../packages/ng/popover/lucca-front-ng-popover.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nexport type LuPopoverScrollStrategy = 'reposition' | 'block' | 'close';\n\nexport declare interface ILuPopoverPanel<T = unknown> {\n\tscrollStrategy: LuPopoverScrollStrategy;\n\tcloseOnClick: boolean;\n\tpanelId?: string;\n\ttriggerId?: string;\n\ttemplateRef?: TemplateRef<T>;\n\toverlayRef: OverlayRef;\n\n\t/** will emit when the panel wants to close */\n\tclose: Observable<void>;\n\t/** will emit when the panel wants to open */\n\topen: Observable<void>;\n\t/** will emit when the panel is hovered */\n\thovered: Observable<boolean>;\n\t/** classes to apply to the panel, uses ' ' for separating values */\n\tpanelClasses: string;\n\t/** class to apply to the panel content, uses ' ' for separating values */\n\tcontentClasses: string;\n\n\tkeydownEvents$: Observable<KeyboardEvent>;\n\n\tsetPositionClasses: (posX: HorizontalConnectionPos, posY: VerticalConnectionPos) => void;\n\n\t/** method called by the trigger when it opens the popover */\n\tonOpen(): void;\n\n\t/** method called by the trigger when it closes the popover */\n\tonClose(): void;\n}\n\n/**\n * abstract class for basic implementation of a popover panel\n */\nexport abstract class ALuPopoverPanel<T = unknown> implements ILuPopoverPanel<T> {\n\tpanelId: string;\n\ttriggerId: string;\n\n\tprotected _isOpen: boolean;\n\tget isOpen() {\n\t\treturn this._isOpen;\n\t}\n\n\tprotected _closeOnClick = false;\n\tget closeOnClick() {\n\t\treturn this._closeOnClick;\n\t}\n\n\tset closeOnClick(coc: boolean) {\n\t\tthis._closeOnClick = coc;\n\t}\n\n\tprotected _trapFocus = false;\n\tget trapFocus() {\n\t\treturn this._trapFocus;\n\t}\n\n\tset trapFocus(tf: boolean) {\n\t\tthis._trapFocus = tf;\n\t}\n\n\tprotected _scrollStrategy: LuPopoverScrollStrategy = 'reposition';\n\tget scrollStrategy() {\n\t\treturn this._scrollStrategy;\n\t}\n\n\tset scrollStrategy(ss: LuPopoverScrollStrategy) {\n\t\tthis._scrollStrategy = ss;\n\t}\n\n\tprotected _templateRef: TemplateRef<T>;\n\tget templateRef() {\n\t\treturn this._templateRef;\n\t}\n\n\tset templateRef(tr: TemplateRef<T>) {\n\t\tthis._templateRef = tr;\n\t}\n\n\tprotected _positionClassesMap: Record<string, boolean> = {};\n\tprotected _panelClasses = '';\n\tget panelClasses() {\n\t\treturn this._panelClasses;\n\t}\n\n\tset panelClasses(cl: string) {\n\t\tthis._panelClasses = cl;\n\t}\n\n\tget panelClassesMap(): Record<string, boolean> {\n\t\tconst map: Record<string, boolean> = this._panelClasses\n\t\t\t.split(' ')\n\t\t\t.filter((c) => !!c)\n\t\t\t.reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\t\tobj[className] = true;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\t\t// also add position classes\n\t\treturn { ...map, ...this._positionClassesMap };\n\t}\n\n\tprotected _contentClasses = '';\n\tget contentClasses() {\n\t\treturn this._contentClasses;\n\t}\n\n\tset contentClasses(cl: string) {\n\t\tthis._contentClasses = cl;\n\t}\n\n\tget contentClassesMap() {\n\t\treturn this._contentClasses.split(' ').reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\tobj[className] = true;\n\t\t\treturn obj;\n\t\t}, {});\n\t}\n\n\tpublic overlayRef: OverlayRef;\n\n\t/** Classes to be passed into the popover's overlay */\n\tprotected _overlayPaneClass: string | string[];\n\tpublic get overlayPaneClass() {\n\t\treturn this._overlayPaneClass;\n\t}\n\n\tpublic set overlayPaneClass(opc) {\n\t\tthis._overlayPaneClass = opc;\n\t}\n\n\t// /** Config object to be passed into the popover's content ngStyle */\n\n\tprotected _keydownEventsSub: Subscription;\n\n\tset keydownEvents$(evt$: Observable<KeyboardEvent>) {\n\t\tif (!this._keydownEventsSub) {\n\t\t\tthis._keydownEventsSub = evt$.subscribe((e) => this._handleKeydown(e));\n\t\t}\n\t}\n\n\tclose: Observable<void>;\n\topen: Observable<void>;\n\thovered: Observable<boolean>;\n\n\tabstract _emitCloseEvent(): void;\n\n\tabstract _emitOpenEvent(): void;\n\n\tabstract _emitHoveredEvent(hovered: boolean): void;\n\n\tsetPositionClasses(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis._positionClassesMap['is-before'] = posX === 'end';\n\t\tthis._positionClassesMap['is-after'] = posX === 'start';\n\t\tthis._positionClassesMap['is-above'] = posY === 'bottom';\n\t\tthis._positionClassesMap['is-below'] = posY === 'top';\n\t}\n\n\tonClick() {\n\t\tif (this.closeOnClick) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\n\tonOpen() {\n\t\tthis._isOpen = true;\n\t}\n\n\tonClose() {\n\t\tthis._isOpen = false;\n\t}\n\n\t/**\n\t * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n\t * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n\t */\n\t/** Disables close of popover when leaving trigger element and mouse over the popover */\n\tonMouseOver() {\n\t\tthis._emitHoveredEvent(true);\n\t}\n\n\t/** Enables close of popover when mouse leaving popover element */\n\tonMouseLeave() {\n\t\tthis._emitHoveredEvent(false);\n\t}\n\n\t/** does nothing but must be overridable */\n\tonMouseDown() {}\n\n\t_handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\treturn;\n\t\t}\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { luTransformPopover } from '../animation/index';\nimport { ALuPopoverPanel, ILuPopoverPanel, LuPopoverScrollStrategy } from './popover-panel.model';\n\n// import { standardPopoverTemplate } from './popover.template';\n\n@Component({\n\tselector: 'lu-popover',\n\ttemplateUrl: './popover-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\timports: [NgTemplateOutlet, OverlayModule, A11yModule],\n\texportAs: 'LuPopoverPanel',\n})\nexport class LuPopoverPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy {\n\tprotected _template: TemplateRef<unknown>;\n\tprotected _templateContext: unknown;\n\n\t/** Template to Use for the popover */\n\tget template(): TemplateRef<unknown> {\n\t\treturn this._template;\n\t}\n\t@Input()\n\tset template(value: TemplateRef<unknown>) {\n\t\tthis._template = value;\n\t}\n\n\t/** Template context to use for the popover when created using a template */\n\tget templateContext(): unknown {\n\t\treturn this._templateContext;\n\t}\n\t@Input('template-context')\n\tset templateContext(value: unknown) {\n\t\tthis._templateContext = value;\n\t}\n\n\t/**\n\t * Popover container close on click\n\t * default: false\n\t */\n\t@Input('close-on-click')\n\tset inputCloseOnClick(v: boolean) {\n\t\tthis.closeOnClick = v;\n\t}\n\n\t/**\n\t * Popover focus trap using cdkTrapFocus\n\t * default: false\n\t */\n\t@Input('trap-focus')\n\tset inputTrapFocus(v: boolean) {\n\t\tthis.trapFocus = v;\n\t}\n\n\t/**\n\t * Popover scrollStrategy\n\t * default: reposition\n\t */\n\t@Input('scroll-strategy')\n\tset inputScrollStrategy(v: LuPopoverScrollStrategy) {\n\t\tthis.scrollStrategy = v;\n\t}\n\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<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","import { NgModule } from '@angular/core';\nimport { LuPopoverPanelComponent } from './popover-panel.component';\n\n/**\n * @deprecated use `LuPopoverPanelComponent` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent],\n\texports: [LuPopoverPanelComponent],\n})\nexport class LuPopoverPanelModule {}\n","import { ElementRef } from '@angular/core';\n\nexport type LuPopoverPosition = 'above' | 'below' | 'before' | 'after';\nexport type LuPopoverAlignment = 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n/**\n * anchor for a popover panel\n */\nexport interface ILuPopoverTarget {\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\talignment: LuPopoverAlignment;\n\t/** the element used to position the panel */\n\telementRef: ElementRef;\n\t// /** set to true if you want the panel to appear on top of the target */\n\toverlap: boolean;\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tposition: LuPopoverPosition;\n\n\toffsetX: number;\n\toffsetY: number;\n}\n\nexport abstract class ALuPopoverTarget implements ILuPopoverTarget {\n\tprotected _elementRef: ElementRef;\n\t/** the element used to position the panel */\n\tget elementRef() {\n\t\treturn this._elementRef;\n\t}\n\tset elementRef(ref: ElementRef) {\n\t\tthis._elementRef = ref;\n\t}\n\n\tprotected _position: LuPopoverPosition = 'below';\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tget position(): LuPopoverPosition {\n\t\treturn this._position;\n\t}\n\tset position(position: LuPopoverPosition | string) {\n\t\tif (position !== 'above' && position !== 'below' && position !== 'after' && position !== 'before') {\n\t\t\tthrow Error(`LuPopoverPosition value must be 'above', 'below', 'before' or 'after'. Got \"${position}\".\n Example: <lu-popover [position]=\"'before'\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._position = position;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _alignment: LuPopoverAlignment = 'center';\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\tget alignment(): LuPopoverAlignment {\n\t\treturn this._alignment;\n\t}\n\tset alignment(alignment: LuPopoverAlignment | string) {\n\t\tif (alignment !== 'center' && alignment !== 'top' && alignment !== 'bottom' && alignment !== 'right' && alignment !== 'left') {\n\t\t\tthrow Error(`LuPopoverAlignment value must be 'top', 'bottom', 'right' or 'left'. Got \"${alignment}\".\n Example: <lu-popover [position]=\"above\" [alignment]=\"left\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._alignment = alignment;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _overlap = false;\n\t/** set to true if you want the panel to appear on top of the target */\n\tget overlap() {\n\t\treturn this._overlap;\n\t}\n\tset overlap(ot: boolean) {\n\t\tthis._overlap = ot;\n\t}\n\n\tprotected _offsetX = 0;\n\tget offsetX() {\n\t\treturn this._offsetX;\n\t}\n\tset offsetX(ox: number) {\n\t\tthis._offsetX = ox;\n\t}\n\n\tprotected _offsetY = 0;\n\tget offsetY() {\n\t\treturn this._offsetY;\n\t}\n\tset offsetY(oy: number) {\n\t\tthis._offsetY = oy;\n\t}\n}\n\nexport class LuPopoverTarget extends ALuPopoverTarget {\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { ALuPopoverTarget, LuPopoverAlignment, LuPopoverPosition } from './popover-target.model';\n\n@Directive({\n\tselector: '[luPopoverTarget]',\n\texportAs: 'LuPopoverTarget',\n})\nexport class LuPopoverTargetDirective extends ALuPopoverTarget {\n\tconstructor(ref: ElementRef) {\n\t\tsuper();\n\t\tthis.elementRef = ref;\n\t}\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.alignment = al;\n\t}\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.offsetY = oy;\n\t}\n}\n","import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n\tFlexibleConnectedPositionStrategy,\n\tHorizontalConnectionPos,\n\tOriginConnectionPosition,\n\tOverlay,\n\tOverlayConfig,\n\tOverlayConnectionPosition,\n\tOverlayRef,\n\tVerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { ElementRef, ViewContainerRef } from '@angular/core';\nimport { generateId } from '@lucca-front/ng/core';\nimport { Observable, Subject, Subscription, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { ILuPopoverPanel, LuPopoverScrollStrategy } from '../panel/index';\nimport { ILuPopoverTarget } from '../target/index';\n\nexport type LuPopoverTriggerEvent = 'click' | 'hover' | 'none' | 'focus';\n\n/**\n * component that will decide when to show the popover and attach it to the target\n */\nexport declare interface ILuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> {\n\t/** the popover panel to display */\n\tpanel: TPanel;\n\t/** the popover target to attach the panel */\n\ttarget: TTarget;\n\n\t/** when to display the popover */\n\ttriggerEvent: LuPopoverTriggerEvent;\n\t/** delay before popover apparition when trigger is 'hover' */\n\tenterDelay: number;\n\t/** delay before popover disparition when trigger is 'hover' */\n\tleaveDelay: number;\n\n\t/** disable popover apparition */\n\tdisabled: boolean;\n\t/** Event emitted when the associated popover is opened. */\n\tonOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tonClose: Observable<void>;\n\n\topenPopover();\n\n\tclosePopover();\n\n\ttogglePopover();\n\n\tdestroyPopover();\n}\n\n// tslint:disable-next-line: max-line-length\nexport abstract class ALuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> implements ILuPopoverTrigger<TPanel, TTarget> {\n\tprotected _portal: TemplatePortal<unknown> | ComponentPortal<TPanel>;\n\tprotected _overlayRef: OverlayRef | null = null;\n\tprotected _popoverOpen = false;\n\t// protected _halt = false;\n\tprotected _backdropSubscription: Subscription;\n\tprotected _positionSubscription: Subscription;\n\n\tprotected _mouseoverTimer: unknown;\n\n\tprotected _hovered$ = new Subject();\n\tprotected _hoveredSubscription: Subscription;\n\tprotected _panelEventsSubscriptions: Subscription;\n\tprotected _overlayDetachmentsSubscription: Subscription;\n\n\t// tracking input type is necessary so it's possible to only auto-focus\n\t// the first item of the list when the popover is opened via the keyboard\n\tprotected _openedByMouse = false;\n\n\tprotected _panel: TPanel;\n\t/** References the popover instance that the trigger is associated with. */\n\tget panel() {\n\t\treturn this._panel;\n\t}\n\n\tset panel(p: TPanel) {\n\t\tthis._panel = p;\n\t}\n\n\tprotected _target: TTarget;\n\t/** References the popover target instance that the trigger is associated with. */\n\tget target() {\n\t\treturn this._target;\n\t}\n\n\tset target(t: TTarget) {\n\t\tthis._target = t;\n\t}\n\n\tprotected _triggerEvent: LuPopoverTriggerEvent = 'click';\n\tget triggerEvent() {\n\t\treturn this._triggerEvent;\n\t}\n\n\tset triggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis._triggerEvent = te;\n\t\tif (te === 'hover' || te === 'focus') {\n\t\t\tif (this._hoveredSubscription) {\n\t\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._hoveredSubscription = this._hovered$\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tdebounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))),\n\t\t\t\t)\n\t\t\t\t.subscribe((h) => (h ? this.openPopover() : this.closePopover()));\n\t\t}\n\t}\n\n\tprotected _enterDelay = 50;\n\tget enterDelay() {\n\t\treturn this._enterDelay;\n\t}\n\n\tset enterDelay(d: number) {\n\t\tthis._enterDelay = d;\n\t}\n\n\tprotected _leaveDelay = 50;\n\tget leaveDelay() {\n\t\treturn this._leaveDelay;\n\t}\n\n\tset leaveDelay(d: number) {\n\t\tthis._leaveDelay = d;\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\n\tset disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\tprotected _whenEllipsis = false;\n\tget whenEllipsis() {\n\t\treturn this._whenEllipsis;\n\t}\n\n\tset whenEllipsis(we: boolean) {\n\t\tthis._whenEllipsis = we;\n\t}\n\n\tprotected _triggerId: string;\n\tprotected _panelId: string;\n\n\t/** Event emitted when the associated popover is opened. */\n\tabstract onOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tabstract onClose: Observable<void>;\n\n\tprotected abstract _emitOpen(): void;\n\n\tprotected abstract _emitClose(): void;\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _elementRef: ElementRef<HTMLElement>,\n\t\tprotected _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tthis._triggerId = `popoverTrigger_${generateId()}`;\n\t\tthis._panelId = `popoverPanel_${generateId()}`;\n\t}\n\n\tonClick() {\n\t\tif (this.triggerEvent === 'click' && !this.disabled) {\n\t\t\tthis.togglePopover();\n\t\t}\n\t}\n\n\tonMouseEnter() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(true);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(false);\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\t/** Toggles the popover between the open and closed states. */\n\ttogglePopover(): void {\n\t\treturn this._popoverOpen ? this.closePopover() : this.openPopover();\n\t}\n\n\t/** Opens the popover. */\n\topenPopover(): void {\n\t\tif (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {\n\t\t\tthis._createOverlay();\n\t\t\tthis._attachPortalToOverlay();\n\n\t\t\t/** Only subscribe to overlay detachments if trigger event is hover or focus */\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._subscribeToOverlayDetachments();\n\t\t\t}\n\n\t\t\t/** Only subscribe to backdrop if trigger event is click */\n\t\t\tif (this.triggerEvent === 'click') {\n\t\t\t\tthis._subscribeToBackdrop();\n\t\t\t}\n\n\t\t\t/** Only subscribe to mouse enter/leave of the panel if trigger = hover */\n\n\t\t\tthis._initPopover();\n\t\t\tthis._emitOpen();\n\t\t}\n\t}\n\n\t/** Closes the popover. */\n\tclosePopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\t/** Overlay can still be attached if close has been triggered by mouse leave. */\n\t\t\tif (this._overlayRef.hasAttached()) {\n\t\t\t\tthis._overlayRef.detach();\n\t\t\t}\n\n\t\t\t/** unsubscribe to backdrop click if it was defined */\n\t\t\tif (this._backdropSubscription) {\n\t\t\t\t// if (this.popover.triggerEvent === 'click') {\n\t\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t\t}\n\n\t\t\tthis._resetPopover();\n\t\t\tthis._emitClose();\n\t\t}\n\t}\n\n\t/** Removes the popover from the DOM. */\n\tdestroyPopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayRef.dispose();\n\t\t\tthis._overlayRef = null;\n\t\t\tthis._cleanUpSubscriptions();\n\t\t}\n\t}\n\n\t/** Focuses the popover trigger. */\n\tfocus() {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\t_handleMousedown(event: MouseEvent): void {\n\t\tif (!isFakeMousedownFromScreenReader(event)) {\n\t\t\tthis._openedByMouse = true;\n\t\t}\n\t}\n\n\t/** The text direction of the containing app. */\n\tget dir(): Direction {\n\t\t// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n\t\treturn 'ltr';\n\t}\n\n\t/** Return if the popover main positionning is vertical */\n\tget isVerticallyPositionned(): boolean {\n\t\tconst position = this.target.position;\n\t\treturn position === 'below' || position === 'above';\n\t}\n\n\tprotected _attachPortalToOverlay(): void {\n\t\tthis._overlayRef.attach(this._portal);\n\t}\n\n\tprotected _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn this.panel.scrollStrategy;\n\t}\n\n\t/**\n\t * This method ensures that the popover\n\t */\n\tprotected _subscribeToPanelEvents(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._panelEventsSubscriptions = new Subscription();\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\t\tthis.panel.hovered.subscribe((hovered) => {\n\t\t\t\t\t\tthis._hovered$.next(hovered);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.close.subscribe(() => {\n\t\t\t\t\tthis.closePopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.open.subscribe(() => {\n\t\t\t\t\tthis.openPopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay has been detached\n\t * Detach can occur if we scroll while popover is opened\n\t */\n\tprotected _subscribeToOverlayDetachments(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {\n\t\t\t\tthis._hovered$.next(false);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay backdrop is clicked.\n\t * We do not use first() here because doing so would not catch clicks from within\n\t * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n\t * explicitly when the popover is closed or destroyed.\n\t */\n\tprotected _subscribeToBackdrop(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n\t\t\t\tthis.closePopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method sets the popover state to open and focuses the first item if\n\t * the popover was opened via the keyboard.\n\t */\n\tprotected _initPopover(): void {\n\t\tthis._setIsPopoverOpen(true);\n\t\tthis.panel.panelId = this._panelId;\n\t\tthis.panel.triggerId = this._triggerId;\n\t\tthis.panel.keydownEvents$ = this._overlayRef.keydownEvents();\n\t\tthis._subscribeToPanelEvents();\n\t}\n\n\t/**\n\t * This method resets the popover when it's closed, most importantly restoring\n\t * focus to the popover trigger if the popover was opened via the keyboard.\n\t */\n\tprotected _resetPopover(): void {\n\t\tthis._setIsPopoverOpen(false);\n\n\t\t// Focus only needs to be reset to the host element if the popover was opened\n\t\t// by the keyboard and manually shifted to the first popover item.\n\t\tif (!this._openedByMouse && this.triggerEvent === 'click') {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._openedByMouse = false;\n\t}\n\n\t/** set state rather than toggle to support triggers sharing a popover */\n\tprotected _setIsPopoverOpen(isOpen: boolean): void {\n\t\tthis._popoverOpen = isOpen;\n\t\t// tell the panel it's opening/closing\n\t\tif (isOpen) {\n\t\t\tthis.panel.onOpen();\n\t\t} else {\n\t\t\tthis.panel.onClose();\n\t\t}\n\t}\n\n\t/**\n\t * This method checks that a valid instance of MdPopover has been passed into\n\t * mdPopoverTriggerFor. If not, an exception is thrown.\n\t */\n\tprotected _checkPanel() {\n\t\tif (!this.panel) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a lu-popover instance.\n Example:\n <lu-popover #popover=\"LuPopover\" />\n <button type=\"button\" [luPopover]=\"popover\"></button>`);\n\t\t}\n\t}\n\n\tprotected _checkTarget() {\n\t\tif (!this.target) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a popover target instance.`);\n\t\t}\n\t}\n\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t\tthis._panel.overlayRef = this._overlayRef;\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayState = new OverlayConfig();\n\t\toverlayState.positionStrategy = this._getPosition();\n\t\t/** Display overlay backdrop if trigger event is click */\n\t\tif (this.triggerEvent === 'click') {\n\t\t\toverlayState.hasBackdrop = true;\n\t\t\toverlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n\t\t}\n\n\t\toverlayState.direction = this.dir;\n\t\tconst scrollStrategy = this._getPanelScrollStrategy();\n\t\tswitch (scrollStrategy) {\n\t\t\tcase 'block':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\t\t\tbreak;\n\n\t\t\tcase 'close':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.close();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\n\t\t\t\tbreak;\n\t\t}\n\t\treturn overlayState;\n\t}\n\n\t/**\n\t * Listens to changes in the position of the overlay and sets the correct classes\n\t * on the popover based on the new position. This ensures the animation origin is always\n\t * correct, even if a fallback position is used for the overlay.\n\t */\n\tprotected _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n\t\tthis._positionSubscription = position.positionChanges\n\t\t\t.pipe(\n\t\t\t\tmap((c) => c.connectionPair),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe((connectionPair) => {\n\t\t\t\tthis.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);\n\t\t\t});\n\t}\n\n\t/**\n\t * This method builds the position strategy for the overlay, so the popover is properly connected\n\t * to the trigger.\n\t * @returns FlexibleConnectedPositionStrategy\n\t */\n\tprotected _getPosition(): FlexibleConnectedPositionStrategy {\n\t\t/**\n\t\t * For overriding position element, when LuPopoverTargetAt has a valid element reference.\n\t\t * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n\t\t * If undefined defaults to the trigger element reference.\n\t\t */\n\t\tconst element = this.target.elementRef;\n\t\t// if (typeof this.targetElement !== 'undefined' && this.popover) {\n\t\t// \tthis.popover.containerPositioning = true;\n\t\t// \telement = this.targetElement._elementRef;\n\t\t// }\n\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.target.position;\n\t\tconst overlap = this.target.overlap;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = overlap ? 'bottom' : 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = overlap ? 'top' : 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = overlap ? 'end' : 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = overlap ? 'start' : 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.target.alignment;\n\t\tif (this.isVerticallyPositionned) {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (overlap) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t} else if (this.isVerticallyPositionned) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this._overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(element)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.withDefaultOffsetX(this.target.offsetX)\n\t\t\t.withDefaultOffsetY(this.target.offsetY);\n\t}\n\n\tprotected _invertVerticalPos(y: VerticalConnectionPos) {\n\t\tif (y === 'top') {\n\t\t\ty = 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\ty = 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprotected _invertHorizontalPos(x: HorizontalConnectionPos) {\n\t\tif (x === 'end') {\n\t\t\tx = 'start';\n\t\t} else if (x === 'start') {\n\t\t\tx = 'end';\n\t\t}\n\n\t\treturn x;\n\t}\n\n\tprotected _cleanUpSubscriptions(): void {\n\t\tif (this._backdropSubscription) {\n\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t}\n\t\tif (this._positionSubscription) {\n\t\t\tthis._positionSubscription.unsubscribe();\n\t\t}\n\t\tif (this._hoveredSubscription) {\n\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t}\n\t\tif (this._panelEventsSubscriptions) {\n\t\t\tthis._panelEventsSubscriptions.unsubscribe();\n\t\t}\n\t\tif (this._overlayDetachmentsSubscription) {\n\t\t\tthis._overlayDetachmentsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tprotected _hasEllipsis(): boolean {\n\t\tif (!(this._elementRef.nativeElement instanceof HTMLElement)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;\n\n\t\tconst textClampedByWidth = scrollWidth > clientWidth;\n\t\tconst textClampedByHeight = scrollHeight > clientHeight;\n\n\t\treturn textClampedByWidth || textClampedByHeight;\n\t}\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { ILuPopoverPanel } from '../panel/index';\nimport { ILuPopoverTarget, LuPopoverAlignment, LuPopoverPosition, LuPopoverTarget } from '../target/index';\nimport { ALuPopoverTrigger, ILuPopoverTrigger, LuPopoverTriggerEvent } from './popover-trigger.model';\n\n@Directive({\n\tselector: '[luPopover]',\n\texportAs: 'LuPopoverTrigger',\n})\nexport class LuPopoverTriggerDirective<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget>\n\textends ALuPopoverTrigger<TPanel, TTarget>\n\timplements ILuPopoverTrigger<TPanel, TTarget>, AfterViewInit, OnDestroy\n{\n\t/** References the popover instance that the trigger is associated with. */\n\t@Input('luPopover') set inputPanel(p: TPanel) {\n\t\tthis.panel = p;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTarget') set inputTarget(t: TTarget) {\n\t\tthis.target = t;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTrigger') set inputTriggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis.triggerEvent = te;\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnOpen') onOpen = new EventEmitter<void>();\n\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnClose') onClose = new EventEmitter<void>();\n\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.target.alignment = al;\n\t}\n\n\t/** when trigger = hover, delay before the popover panel appears */\n\t@Input('luPopoverEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears */\n\t@Input('luPopoverLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\n\t/** disable popover apparition */\n\t@Input('luPopoverDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t}\n\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.target.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.target.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.target.offsetY = oy;\n\t}\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-expanded') get _attrAriaExpanded() {\n\t\treturn this._popoverOpen;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-controls') get _attrAriaControls() {\n\t\treturn this._panelId;\n\t}\n\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget() as ILuPopoverTarget as TTarget;\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t}\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkPanel();\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { LuPopoverPanelComponent } from './panel/index';\nimport { LuPopoverTargetDirective } from './target/index';\nimport { LuPopoverTriggerDirective } from './trigger/index';\n\n/**\n * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n\texports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n})\nexport class LuPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-popover.mjs","sources":["../../../packages/ng/popover/animation/popover.animation.ts","../../../packages/ng/popover/panel/popover-panel.model.ts","../../../packages/ng/popover/panel/popover-panel.component.ts","../../../packages/ng/popover/panel/popover-panel.component.html","../../../packages/ng/popover/panel/popover-panel.module.ts","../../../packages/ng/popover/target/popover-target.model.ts","../../../packages/ng/popover/target/popover-target.directive.ts","../../../packages/ng/popover/target/popover-target.module.ts","../../../packages/ng/popover/trigger/popover-trigger.model.ts","../../../packages/ng/popover/trigger/popover-trigger.directive.ts","../../../packages/ng/popover/trigger/popover-trigger.module.ts","../../../packages/ng/popover/popover.module.ts","../../../packages/ng/popover/lucca-front-ng-popover.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nexport type LuPopoverScrollStrategy = 'reposition' | 'block' | 'close';\n\nexport declare interface ILuPopoverPanel<T = unknown> {\n\tscrollStrategy: LuPopoverScrollStrategy;\n\tcloseOnClick: boolean;\n\tpanelId?: string;\n\ttriggerId?: string;\n\ttemplateRef?: TemplateRef<T>;\n\toverlayRef: OverlayRef;\n\n\t/** will emit when the panel wants to close */\n\tclose: Observable<void>;\n\t/** will emit when the panel wants to open */\n\topen: Observable<void>;\n\t/** will emit when the panel is hovered */\n\thovered: Observable<boolean>;\n\t/** classes to apply to the panel, uses ' ' for separating values */\n\tpanelClasses: string;\n\t/** class to apply to the panel content, uses ' ' for separating values */\n\tcontentClasses: string;\n\n\tkeydownEvents$: Observable<KeyboardEvent>;\n\n\tsetPositionClasses: (posX: HorizontalConnectionPos, posY: VerticalConnectionPos) => void;\n\n\t/** method called by the trigger when it opens the popover */\n\tonOpen(): void;\n\n\t/** method called by the trigger when it closes the popover */\n\tonClose(): void;\n}\n\n/**\n * abstract class for basic implementation of a popover panel\n */\nexport abstract class ALuPopoverPanel<T = unknown> implements ILuPopoverPanel<T> {\n\tpanelId: string;\n\ttriggerId: string;\n\n\tprotected _isOpen: boolean;\n\tget isOpen() {\n\t\treturn this._isOpen;\n\t}\n\n\tprotected _closeOnClick = false;\n\tget closeOnClick() {\n\t\treturn this._closeOnClick;\n\t}\n\n\tset closeOnClick(coc: boolean) {\n\t\tthis._closeOnClick = coc;\n\t}\n\n\tprotected _trapFocus = false;\n\tget trapFocus() {\n\t\treturn this._trapFocus;\n\t}\n\n\tset trapFocus(tf: boolean) {\n\t\tthis._trapFocus = tf;\n\t}\n\n\tprotected _scrollStrategy: LuPopoverScrollStrategy = 'reposition';\n\tget scrollStrategy() {\n\t\treturn this._scrollStrategy;\n\t}\n\n\tset scrollStrategy(ss: LuPopoverScrollStrategy) {\n\t\tthis._scrollStrategy = ss;\n\t}\n\n\tprotected _templateRef: TemplateRef<T>;\n\tget templateRef() {\n\t\treturn this._templateRef;\n\t}\n\n\tset templateRef(tr: TemplateRef<T>) {\n\t\tthis._templateRef = tr;\n\t}\n\n\tprotected _positionClassesMap: Record<string, boolean> = {};\n\tprotected _panelClasses = '';\n\tget panelClasses() {\n\t\treturn this._panelClasses;\n\t}\n\n\tset panelClasses(cl: string) {\n\t\tthis._panelClasses = cl;\n\t}\n\n\tget panelClassesMap(): Record<string, boolean> {\n\t\tconst map: Record<string, boolean> = this._panelClasses\n\t\t\t.split(' ')\n\t\t\t.filter((c) => !!c)\n\t\t\t.reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\t\tobj[className] = true;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\t\t// also add position classes\n\t\treturn { ...map, ...this._positionClassesMap };\n\t}\n\n\tprotected _contentClasses = '';\n\tget contentClasses() {\n\t\treturn this._contentClasses;\n\t}\n\n\tset contentClasses(cl: string) {\n\t\tthis._contentClasses = cl;\n\t}\n\n\tget contentClassesMap() {\n\t\treturn this._contentClasses.split(' ').reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\tobj[className] = true;\n\t\t\treturn obj;\n\t\t}, {});\n\t}\n\n\tpublic overlayRef: OverlayRef;\n\n\t/** Classes to be passed into the popover's overlay */\n\tprotected _overlayPaneClass: string | string[];\n\tpublic get overlayPaneClass() {\n\t\treturn this._overlayPaneClass;\n\t}\n\n\tpublic set overlayPaneClass(opc) {\n\t\tthis._overlayPaneClass = opc;\n\t}\n\n\t// /** Config object to be passed into the popover's content ngStyle */\n\n\tprotected _keydownEventsSub: Subscription;\n\n\tset keydownEvents$(evt$: Observable<KeyboardEvent>) {\n\t\tif (!this._keydownEventsSub) {\n\t\t\tthis._keydownEventsSub = evt$.subscribe((e) => this._handleKeydown(e));\n\t\t}\n\t}\n\n\tclose: Observable<void>;\n\topen: Observable<void>;\n\thovered: Observable<boolean>;\n\n\tabstract _emitCloseEvent(): void;\n\n\tabstract _emitOpenEvent(): void;\n\n\tabstract _emitHoveredEvent(hovered: boolean): void;\n\n\tsetPositionClasses(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis._positionClassesMap['is-before'] = posX === 'end';\n\t\tthis._positionClassesMap['is-after'] = posX === 'start';\n\t\tthis._positionClassesMap['is-above'] = posY === 'bottom';\n\t\tthis._positionClassesMap['is-below'] = posY === 'top';\n\t}\n\n\tonClick() {\n\t\tif (this.closeOnClick) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\n\tonOpen() {\n\t\tthis._isOpen = true;\n\t}\n\n\tonClose() {\n\t\tthis._isOpen = false;\n\t}\n\n\t/**\n\t * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n\t * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n\t */\n\t/** Disables close of popover when leaving trigger element and mouse over the popover */\n\tonMouseOver() {\n\t\tthis._emitHoveredEvent(true);\n\t}\n\n\t/** Enables close of popover when mouse leaving popover element */\n\tonMouseLeave() {\n\t\tthis._emitHoveredEvent(false);\n\t}\n\n\t/** does nothing but must be overridable */\n\tonMouseDown() {}\n\n\t_handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\treturn;\n\t\t}\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { luTransformPopover } from '../animation/index';\nimport { ALuPopoverPanel, ILuPopoverPanel, LuPopoverScrollStrategy } from './popover-panel.model';\n\n// import { standardPopoverTemplate } from './popover.template';\n\n@Component({\n\tselector: 'lu-popover',\n\ttemplateUrl: './popover-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\timports: [NgTemplateOutlet, OverlayModule, A11yModule],\n\texportAs: 'LuPopoverPanel',\n})\nexport class LuPopoverPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy {\n\tprotected _template: TemplateRef<unknown>;\n\tprotected _templateContext: unknown;\n\n\t/** Template to Use for the popover */\n\tget template(): TemplateRef<unknown> {\n\t\treturn this._template;\n\t}\n\t@Input()\n\tset template(value: TemplateRef<unknown>) {\n\t\tthis._template = value;\n\t}\n\n\t/** Template context to use for the popover when created using a template */\n\tget templateContext(): unknown {\n\t\treturn this._templateContext;\n\t}\n\t@Input('template-context')\n\tset templateContext(value: unknown) {\n\t\tthis._templateContext = value;\n\t}\n\n\t/**\n\t * Popover container close on click\n\t * default: false\n\t */\n\t@Input('close-on-click')\n\tset inputCloseOnClick(v: boolean) {\n\t\tthis.closeOnClick = v;\n\t}\n\n\t/**\n\t * Popover focus trap using cdkTrapFocus\n\t * default: false\n\t */\n\t@Input('trap-focus')\n\tset inputTrapFocus(v: boolean) {\n\t\tthis.trapFocus = v;\n\t}\n\n\t/**\n\t * Popover scrollStrategy\n\t * default: reposition\n\t */\n\t@Input('scroll-strategy')\n\tset inputScrollStrategy(v: LuPopoverScrollStrategy) {\n\t\tthis.scrollStrategy = v;\n\t}\n\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<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","import { NgModule } from '@angular/core';\nimport { LuPopoverPanelComponent } from './popover-panel.component';\n\n/**\n * @deprecated use `LuPopoverPanelComponent` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent],\n\texports: [LuPopoverPanelComponent],\n})\nexport class LuPopoverPanelModule {}\n","import { ElementRef } from '@angular/core';\n\nexport type LuPopoverPosition = 'above' | 'below' | 'before' | 'after';\nexport type LuPopoverAlignment = 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n/**\n * anchor for a popover panel\n */\nexport interface ILuPopoverTarget {\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\talignment: LuPopoverAlignment;\n\t/** the element used to position the panel */\n\telementRef: ElementRef;\n\t// /** set to true if you want the panel to appear on top of the target */\n\toverlap: boolean;\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tposition: LuPopoverPosition;\n\n\toffsetX: number;\n\toffsetY: number;\n}\n\nexport abstract class ALuPopoverTarget implements ILuPopoverTarget {\n\tprotected _elementRef: ElementRef;\n\t/** the element used to position the panel */\n\tget elementRef() {\n\t\treturn this._elementRef;\n\t}\n\tset elementRef(ref: ElementRef) {\n\t\tthis._elementRef = ref;\n\t}\n\n\tprotected _position: LuPopoverPosition = 'below';\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tget position(): LuPopoverPosition {\n\t\treturn this._position;\n\t}\n\tset position(position: LuPopoverPosition | string) {\n\t\tif (position !== 'above' && position !== 'below' && position !== 'after' && position !== 'before') {\n\t\t\tthrow Error(`LuPopoverPosition value must be 'above', 'below', 'before' or 'after'. Got \"${position}\".\n Example: <lu-popover [position]=\"'before'\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._position = position;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _alignment: LuPopoverAlignment = 'center';\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\tget alignment(): LuPopoverAlignment {\n\t\treturn this._alignment;\n\t}\n\tset alignment(alignment: LuPopoverAlignment | string) {\n\t\tif (alignment !== 'center' && alignment !== 'top' && alignment !== 'bottom' && alignment !== 'right' && alignment !== 'left') {\n\t\t\tthrow Error(`LuPopoverAlignment value must be 'top', 'bottom', 'right' or 'left'. Got \"${alignment}\".\n Example: <lu-popover [position]=\"above\" [alignment]=\"left\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._alignment = alignment;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _overlap = false;\n\t/** set to true if you want the panel to appear on top of the target */\n\tget overlap() {\n\t\treturn this._overlap;\n\t}\n\tset overlap(ot: boolean) {\n\t\tthis._overlap = ot;\n\t}\n\n\tprotected _offsetX = 0;\n\tget offsetX() {\n\t\treturn this._offsetX;\n\t}\n\tset offsetX(ox: number) {\n\t\tthis._offsetX = ox;\n\t}\n\n\tprotected _offsetY = 0;\n\tget offsetY() {\n\t\treturn this._offsetY;\n\t}\n\tset offsetY(oy: number) {\n\t\tthis._offsetY = oy;\n\t}\n}\n\nexport class LuPopoverTarget extends ALuPopoverTarget {\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { ALuPopoverTarget, LuPopoverAlignment, LuPopoverPosition } from './popover-target.model';\n\n@Directive({\n\tselector: '[luPopoverTarget]',\n\texportAs: 'LuPopoverTarget',\n})\nexport class LuPopoverTargetDirective extends ALuPopoverTarget {\n\tconstructor(ref: ElementRef) {\n\t\tsuper();\n\t\tthis.elementRef = ref;\n\t}\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.alignment = al;\n\t}\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.offsetY = oy;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuPopoverTargetDirective } from './popover-target.directive';\n\n/**\n * @deprecated use `LuPopoverTargetDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverTargetDirective],\n\texports: [LuPopoverTargetDirective],\n})\nexport class LuPopoverTargetModule {}\n","import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n\tFlexibleConnectedPositionStrategy,\n\tHorizontalConnectionPos,\n\tOriginConnectionPosition,\n\tOverlay,\n\tOverlayConfig,\n\tOverlayConnectionPosition,\n\tOverlayRef,\n\tVerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { ElementRef, ViewContainerRef } from '@angular/core';\nimport { generateId } from '@lucca-front/ng/core';\nimport { Observable, Subject, Subscription, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { ILuPopoverPanel, LuPopoverScrollStrategy } from '../panel/index';\nimport { ILuPopoverTarget } from '../target/index';\n\nexport type LuPopoverTriggerEvent = 'click' | 'hover' | 'none' | 'focus';\n\n/**\n * component that will decide when to show the popover and attach it to the target\n */\nexport declare interface ILuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> {\n\t/** the popover panel to display */\n\tpanel: TPanel;\n\t/** the popover target to attach the panel */\n\ttarget: TTarget;\n\n\t/** when to display the popover */\n\ttriggerEvent: LuPopoverTriggerEvent;\n\t/** delay before popover apparition when trigger is 'hover' */\n\tenterDelay: number;\n\t/** delay before popover disparition when trigger is 'hover' */\n\tleaveDelay: number;\n\n\t/** disable popover apparition */\n\tdisabled: boolean;\n\t/** Event emitted when the associated popover is opened. */\n\tonOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tonClose: Observable<void>;\n\n\topenPopover();\n\n\tclosePopover();\n\n\ttogglePopover();\n\n\tdestroyPopover();\n}\n\n// tslint:disable-next-line: max-line-length\nexport abstract class ALuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> implements ILuPopoverTrigger<TPanel, TTarget> {\n\tprotected _portal: TemplatePortal<unknown> | ComponentPortal<TPanel>;\n\tprotected _overlayRef: OverlayRef | null = null;\n\tprotected _popoverOpen = false;\n\t// protected _halt = false;\n\tprotected _backdropSubscription: Subscription;\n\tprotected _positionSubscription: Subscription;\n\n\tprotected _mouseoverTimer: unknown;\n\n\tprotected _hovered$ = new Subject();\n\tprotected _hoveredSubscription: Subscription;\n\tprotected _panelEventsSubscriptions: Subscription;\n\tprotected _overlayDetachmentsSubscription: Subscription;\n\n\t// tracking input type is necessary so it's possible to only auto-focus\n\t// the first item of the list when the popover is opened via the keyboard\n\tprotected _openedByMouse = false;\n\n\tprotected _panel: TPanel;\n\t/** References the popover instance that the trigger is associated with. */\n\tget panel() {\n\t\treturn this._panel;\n\t}\n\n\tset panel(p: TPanel) {\n\t\tthis._panel = p;\n\t}\n\n\tprotected _target: TTarget;\n\t/** References the popover target instance that the trigger is associated with. */\n\tget target() {\n\t\treturn this._target;\n\t}\n\n\tset target(t: TTarget) {\n\t\tthis._target = t;\n\t}\n\n\tprotected _triggerEvent: LuPopoverTriggerEvent = 'click';\n\tget triggerEvent() {\n\t\treturn this._triggerEvent;\n\t}\n\n\tset triggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis._triggerEvent = te;\n\t\tif (te === 'hover' || te === 'focus') {\n\t\t\tif (this._hoveredSubscription) {\n\t\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._hoveredSubscription = this._hovered$\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tdebounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))),\n\t\t\t\t)\n\t\t\t\t.subscribe((h) => (h ? this.openPopover() : this.closePopover()));\n\t\t}\n\t}\n\n\tprotected _enterDelay = 50;\n\tget enterDelay() {\n\t\treturn this._enterDelay;\n\t}\n\n\tset enterDelay(d: number) {\n\t\tthis._enterDelay = d;\n\t}\n\n\tprotected _leaveDelay = 50;\n\tget leaveDelay() {\n\t\treturn this._leaveDelay;\n\t}\n\n\tset leaveDelay(d: number) {\n\t\tthis._leaveDelay = d;\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\n\tset disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\tprotected _whenEllipsis = false;\n\tget whenEllipsis() {\n\t\treturn this._whenEllipsis;\n\t}\n\n\tset whenEllipsis(we: boolean) {\n\t\tthis._whenEllipsis = we;\n\t}\n\n\tprotected _triggerId: string;\n\tprotected _panelId: string;\n\n\t/** Event emitted when the associated popover is opened. */\n\tabstract onOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tabstract onClose: Observable<void>;\n\n\tprotected abstract _emitOpen(): void;\n\n\tprotected abstract _emitClose(): void;\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _elementRef: ElementRef<HTMLElement>,\n\t\tprotected _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tthis._triggerId = `popoverTrigger_${generateId()}`;\n\t\tthis._panelId = `popoverPanel_${generateId()}`;\n\t}\n\n\tonClick() {\n\t\tif (this.triggerEvent === 'click' && !this.disabled) {\n\t\t\tthis.togglePopover();\n\t\t}\n\t}\n\n\tonMouseEnter() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(true);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(false);\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\t/** Toggles the popover between the open and closed states. */\n\ttogglePopover(): void {\n\t\treturn this._popoverOpen ? this.closePopover() : this.openPopover();\n\t}\n\n\t/** Opens the popover. */\n\topenPopover(): void {\n\t\tif (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {\n\t\t\tthis._createOverlay();\n\t\t\tthis._attachPortalToOverlay();\n\n\t\t\t/** Only subscribe to overlay detachments if trigger event is hover or focus */\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._subscribeToOverlayDetachments();\n\t\t\t}\n\n\t\t\t/** Only subscribe to backdrop if trigger event is click */\n\t\t\tif (this.triggerEvent === 'click') {\n\t\t\t\tthis._subscribeToBackdrop();\n\t\t\t}\n\n\t\t\t/** Only subscribe to mouse enter/leave of the panel if trigger = hover */\n\n\t\t\tthis._initPopover();\n\t\t\tthis._emitOpen();\n\t\t}\n\t}\n\n\t/** Closes the popover. */\n\tclosePopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\t/** Overlay can still be attached if close has been triggered by mouse leave. */\n\t\t\tif (this._overlayRef.hasAttached()) {\n\t\t\t\tthis._overlayRef.detach();\n\t\t\t}\n\n\t\t\t/** unsubscribe to backdrop click if it was defined */\n\t\t\tif (this._backdropSubscription) {\n\t\t\t\t// if (this.popover.triggerEvent === 'click') {\n\t\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t\t}\n\n\t\t\tthis._resetPopover();\n\t\t\tthis._emitClose();\n\t\t}\n\t}\n\n\t/** Removes the popover from the DOM. */\n\tdestroyPopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayRef.dispose();\n\t\t\tthis._overlayRef = null;\n\t\t\tthis._cleanUpSubscriptions();\n\t\t}\n\t}\n\n\t/** Focuses the popover trigger. */\n\tfocus() {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\t_handleMousedown(event: MouseEvent): void {\n\t\tif (!isFakeMousedownFromScreenReader(event)) {\n\t\t\tthis._openedByMouse = true;\n\t\t}\n\t}\n\n\t/** The text direction of the containing app. */\n\tget dir(): Direction {\n\t\t// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n\t\treturn 'ltr';\n\t}\n\n\t/** Return if the popover main positionning is vertical */\n\tget isVerticallyPositionned(): boolean {\n\t\tconst position = this.target.position;\n\t\treturn position === 'below' || position === 'above';\n\t}\n\n\tprotected _attachPortalToOverlay(): void {\n\t\tthis._overlayRef.attach(this._portal);\n\t}\n\n\tprotected _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn this.panel.scrollStrategy;\n\t}\n\n\t/**\n\t * This method ensures that the popover\n\t */\n\tprotected _subscribeToPanelEvents(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._panelEventsSubscriptions = new Subscription();\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\t\tthis.panel.hovered.subscribe((hovered) => {\n\t\t\t\t\t\tthis._hovered$.next(hovered);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.close.subscribe(() => {\n\t\t\t\t\tthis.closePopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.open.subscribe(() => {\n\t\t\t\t\tthis.openPopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay has been detached\n\t * Detach can occur if we scroll while popover is opened\n\t */\n\tprotected _subscribeToOverlayDetachments(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {\n\t\t\t\tthis._hovered$.next(false);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay backdrop is clicked.\n\t * We do not use first() here because doing so would not catch clicks from within\n\t * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n\t * explicitly when the popover is closed or destroyed.\n\t */\n\tprotected _subscribeToBackdrop(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n\t\t\t\tthis.closePopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method sets the popover state to open and focuses the first item if\n\t * the popover was opened via the keyboard.\n\t */\n\tprotected _initPopover(): void {\n\t\tthis._setIsPopoverOpen(true);\n\t\tthis.panel.panelId = this._panelId;\n\t\tthis.panel.triggerId = this._triggerId;\n\t\tthis.panel.keydownEvents$ = this._overlayRef.keydownEvents();\n\t\tthis._subscribeToPanelEvents();\n\t}\n\n\t/**\n\t * This method resets the popover when it's closed, most importantly restoring\n\t * focus to the popover trigger if the popover was opened via the keyboard.\n\t */\n\tprotected _resetPopover(): void {\n\t\tthis._setIsPopoverOpen(false);\n\n\t\t// Focus only needs to be reset to the host element if the popover was opened\n\t\t// by the keyboard and manually shifted to the first popover item.\n\t\tif (!this._openedByMouse && this.triggerEvent === 'click') {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._openedByMouse = false;\n\t}\n\n\t/** set state rather than toggle to support triggers sharing a popover */\n\tprotected _setIsPopoverOpen(isOpen: boolean): void {\n\t\tthis._popoverOpen = isOpen;\n\t\t// tell the panel it's opening/closing\n\t\tif (isOpen) {\n\t\t\tthis.panel.onOpen();\n\t\t} else {\n\t\t\tthis.panel.onClose();\n\t\t}\n\t}\n\n\t/**\n\t * This method checks that a valid instance of MdPopover has been passed into\n\t * mdPopoverTriggerFor. If not, an exception is thrown.\n\t */\n\tprotected _checkPanel() {\n\t\tif (!this.panel) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a lu-popover instance.\n Example:\n <lu-popover #popover=\"LuPopover\" />\n <button type=\"button\" [luPopover]=\"popover\"></button>`);\n\t\t}\n\t}\n\n\tprotected _checkTarget() {\n\t\tif (!this.target) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a popover target instance.`);\n\t\t}\n\t}\n\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t\tthis._panel.overlayRef = this._overlayRef;\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayState = new OverlayConfig();\n\t\toverlayState.positionStrategy = this._getPosition();\n\t\t/** Display overlay backdrop if trigger event is click */\n\t\tif (this.triggerEvent === 'click') {\n\t\t\toverlayState.hasBackdrop = true;\n\t\t\toverlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n\t\t}\n\n\t\toverlayState.direction = this.dir;\n\t\tconst scrollStrategy = this._getPanelScrollStrategy();\n\t\tswitch (scrollStrategy) {\n\t\t\tcase 'block':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\t\t\tbreak;\n\n\t\t\tcase 'close':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.close();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\n\t\t\t\tbreak;\n\t\t}\n\t\treturn overlayState;\n\t}\n\n\t/**\n\t * Listens to changes in the position of the overlay and sets the correct classes\n\t * on the popover based on the new position. This ensures the animation origin is always\n\t * correct, even if a fallback position is used for the overlay.\n\t */\n\tprotected _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n\t\tthis._positionSubscription = position.positionChanges\n\t\t\t.pipe(\n\t\t\t\tmap((c) => c.connectionPair),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe((connectionPair) => {\n\t\t\t\tthis.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);\n\t\t\t});\n\t}\n\n\t/**\n\t * This method builds the position strategy for the overlay, so the popover is properly connected\n\t * to the trigger.\n\t * @returns FlexibleConnectedPositionStrategy\n\t */\n\tprotected _getPosition(): FlexibleConnectedPositionStrategy {\n\t\t/**\n\t\t * For overriding position element, when LuPopoverTargetAt has a valid element reference.\n\t\t * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n\t\t * If undefined defaults to the trigger element reference.\n\t\t */\n\t\tconst element = this.target.elementRef;\n\t\t// if (typeof this.targetElement !== 'undefined' && this.popover) {\n\t\t// \tthis.popover.containerPositioning = true;\n\t\t// \telement = this.targetElement._elementRef;\n\t\t// }\n\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.target.position;\n\t\tconst overlap = this.target.overlap;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = overlap ? 'bottom' : 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = overlap ? 'top' : 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = overlap ? 'end' : 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = overlap ? 'start' : 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.target.alignment;\n\t\tif (this.isVerticallyPositionned) {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (overlap) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t} else if (this.isVerticallyPositionned) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this._overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(element)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.withDefaultOffsetX(this.target.offsetX)\n\t\t\t.withDefaultOffsetY(this.target.offsetY);\n\t}\n\n\tprotected _invertVerticalPos(y: VerticalConnectionPos) {\n\t\tif (y === 'top') {\n\t\t\ty = 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\ty = 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprotected _invertHorizontalPos(x: HorizontalConnectionPos) {\n\t\tif (x === 'end') {\n\t\t\tx = 'start';\n\t\t} else if (x === 'start') {\n\t\t\tx = 'end';\n\t\t}\n\n\t\treturn x;\n\t}\n\n\tprotected _cleanUpSubscriptions(): void {\n\t\tif (this._backdropSubscription) {\n\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t}\n\t\tif (this._positionSubscription) {\n\t\t\tthis._positionSubscription.unsubscribe();\n\t\t}\n\t\tif (this._hoveredSubscription) {\n\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t}\n\t\tif (this._panelEventsSubscriptions) {\n\t\t\tthis._panelEventsSubscriptions.unsubscribe();\n\t\t}\n\t\tif (this._overlayDetachmentsSubscription) {\n\t\t\tthis._overlayDetachmentsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tprotected _hasEllipsis(): boolean {\n\t\tif (!(this._elementRef.nativeElement instanceof HTMLElement)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;\n\n\t\tconst textClampedByWidth = scrollWidth > clientWidth;\n\t\tconst textClampedByHeight = scrollHeight > clientHeight;\n\n\t\treturn textClampedByWidth || textClampedByHeight;\n\t}\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { ILuPopoverPanel } from '../panel/index';\nimport { ILuPopoverTarget, LuPopoverAlignment, LuPopoverPosition, LuPopoverTarget } from '../target/index';\nimport { ALuPopoverTrigger, ILuPopoverTrigger, LuPopoverTriggerEvent } from './popover-trigger.model';\n\n@Directive({\n\tselector: '[luPopover]',\n\texportAs: 'LuPopoverTrigger',\n})\nexport class LuPopoverTriggerDirective<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget>\n\textends ALuPopoverTrigger<TPanel, TTarget>\n\timplements ILuPopoverTrigger<TPanel, TTarget>, AfterViewInit, OnDestroy\n{\n\t/** References the popover instance that the trigger is associated with. */\n\t@Input('luPopover') set inputPanel(p: TPanel) {\n\t\tthis.panel = p;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTarget') set inputTarget(t: TTarget) {\n\t\tthis.target = t;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTrigger') set inputTriggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis.triggerEvent = te;\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnOpen') onOpen = new EventEmitter<void>();\n\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnClose') onClose = new EventEmitter<void>();\n\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.target.alignment = al;\n\t}\n\n\t/** when trigger = hover, delay before the popover panel appears */\n\t@Input('luPopoverEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears */\n\t@Input('luPopoverLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\n\t/** disable popover apparition */\n\t@Input('luPopoverDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t}\n\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.target.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.target.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.target.offsetY = oy;\n\t}\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-expanded') get _attrAriaExpanded() {\n\t\treturn this._popoverOpen;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-controls') get _attrAriaControls() {\n\t\treturn this._panelId;\n\t}\n\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget() as ILuPopoverTarget as TTarget;\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t}\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkPanel();\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport { LuPopoverTriggerDirective } from './popover-trigger.directive';\n\n/**\n * @deprecated use `LuPopoverTriggerDirective, OverlayModule` instead\n */\n@NgModule({\n\timports: [LuPopoverTriggerDirective, OverlayModule],\n\texports: [LuPopoverTriggerDirective],\n})\nexport class LuPopoverTriggerModule {}\n","import { NgModule } from '@angular/core';\n\nimport { LuPopoverPanelComponent } from './panel/index';\nimport { LuPopoverTargetDirective } from './target/index';\nimport { LuPopoverTriggerDirective } from './trigger/index';\n\n/**\n * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n\texports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n})\nexport class LuPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import * as i0 from '@angular/core';
|
|
|
4
4
|
import { inject, NgZone, Injectable, InjectionToken, input, ElementRef, DestroyRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ViewContainerRef, Renderer2, model, output, signal, Injector, booleanAttribute, Input, Directive, makeEnvironmentProviders, importProvidersFrom } from '@angular/core';
|
|
5
5
|
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { intlInputOptions, PortalDirective } from '@lucca-front/ng/core';
|
|
7
|
-
import { Subject, combineLatest, filter, switchMap, merge, map, debounce, timer
|
|
7
|
+
import { Subject, combineLatest, filter, switchMap, merge, map, debounce, timer } from 'rxjs';
|
|
8
8
|
import { CdkObserveContent } from '@angular/cdk/observers';
|
|
9
9
|
import { ButtonComponent } from '@lucca-front/ng/button';
|
|
10
10
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
@@ -90,10 +90,6 @@ class PopoverContentComponent {
|
|
|
90
90
|
contentChanged() {
|
|
91
91
|
this.config.ref.updatePosition();
|
|
92
92
|
}
|
|
93
|
-
ngOnDestroy() {
|
|
94
|
-
this.#destroyEvents();
|
|
95
|
-
this.#focusManager.destroy();
|
|
96
|
-
}
|
|
97
93
|
ngAfterViewInit() {
|
|
98
94
|
this.#focusManager.attachAnchors();
|
|
99
95
|
if (!this.config.disableCloseButtonFocus) {
|
|
@@ -109,18 +105,15 @@ class PopoverContentComponent {
|
|
|
109
105
|
this.config.triggerElement.focus();
|
|
110
106
|
}
|
|
111
107
|
// Tell the directive we're closed now
|
|
112
|
-
this.#destroyEvents();
|
|
113
|
-
// Detach overlay
|
|
114
|
-
this.config.ref.dispose();
|
|
115
|
-
}
|
|
116
|
-
#destroyEvents() {
|
|
117
108
|
this.closed$.next();
|
|
118
109
|
this.closed$.complete();
|
|
119
110
|
this.mouseEnter$.complete();
|
|
120
111
|
this.mouseLeave$.complete();
|
|
112
|
+
// Detach overlay
|
|
113
|
+
this.config.ref.dispose();
|
|
121
114
|
}
|
|
122
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: PopoverContentComponent, isStandalone: true, selector: "lu-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()", "window:keydown.escape": "close()" }, properties: { "attr.id": "this.contentId" } }, ngImport: i0, template: "<div class=\"popover\" (cdkObserveContent)=\"contentChanged()\" [debounce]=\"contentChangedDebounceTime\">\n\t@if (!config.noCloseButton) {\n\t\t<div>\n\t\t\t<button type=\"button\" luButton class=\"popover-close button\" (click)=\"close()\">\n\t\t\t\t<lu-icon icon=\"signClose\" />\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n\t<ng-container *luPortal=\"content\" />\n</div>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-AI:not(.invert):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-AI:not(.invert):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(-135deg,color-mix(in srgb,var(--palettes-AI-500) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-400) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading .numericBadge,.button.loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-AI,.button.is-loading.mod-outlined,.button.loading.mod-AI,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success .numericBadge,.button.success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-success.mod-AI,.button.is-success.mod-outlined,.button.success.mod-AI,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after,.button.success.mod-AI:after,.button.success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer components{.popover{--components-popover-padding: var(--pr-t-spacings-100);display:block;background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--pr-t-elevation-shadow-overlay);border-radius:var(--pr-t-border-radius-structure);position:relative;min-block-size:var(--pr-t-spacings-500);min-inline-size:var(--pr-t-spacings-500);animation:popup var(--commons-animations-durations-fast) ease 1 forwards}.popover .popover-close{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.popover .popover-close:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.popover .popover-close:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.popover .popover-close:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.popover .popover-close:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.popover .popover-close{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.popover .popover-close .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.popover .popover-close{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50);padding:0;border-radius:50%;position:absolute;inset-inline-start:calc(var(--pr-t-spacings-100) * -1);inset-block-start:calc(var(--pr-t-spacings-100) * -1);z-index:2}.popover .popover-close:not(:focus-visible){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.popover-contentOptional{padding:var(--components-popover-padding)}@keyframes popup{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: PopoverContentComponent, isStandalone: true, selector: "lu-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()", "window:keydown.escape": "close()" }, properties: { "attr.id": "this.contentId" } }, ngImport: i0, template: "<div class=\"popover\" (cdkObserveContent)=\"contentChanged()\" [debounce]=\"contentChangedDebounceTime\">\n\t@if (!config.noCloseButton) {\n\t\t<div>\n\t\t\t<button type=\"button\" luButton class=\"popover-close button\" (click)=\"close()\">\n\t\t\t\t<lu-icon icon=\"signClose\" />\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n\t<ng-container *luPortal=\"content\" />\n</div>\n", styles: ["@charset \"UTF-8\";@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-AI-background-opacity: 25%;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI:not(.invert){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-AI:not(.invert):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-AI:not(.invert):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:not(.invert):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-AI:not(.invert):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-AI:not(.invert):not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));-webkit-mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(.invert):not(:disabled):not(.mod-invert) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).mod-invert{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-0);background-image:linear-gradient(-135deg,color-mix(in srgb,var(--palettes-AI-500) var(--components-button-AI-background-opacity),transparent),color-mix(in srgb,var(--palettes-brand-400) var(--components-button-AI-background-opacity),transparent))}.button.mod-AI:not(.invert).mod-invert:hover,.button.mod-AI:not(.invert).mod-invert:focus-visible{--components-button-AI-background-opacity: 15%;--components-button-color: var(--palettes-neutral-0)}.button.mod-AI:not(.invert).mod-invert:active{--components-button-AI-background-opacity: 5%}.button.mod-AI:not(.invert).is-success .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-success:before{content:none}.button.mod-AI:not(.invert).is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI:not(.invert).is-loading .lucca-icon{background-image:none}.button.mod-AI:not(.invert).is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-S{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading .numericBadge,.button.loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-AI,.button.is-loading.mod-outlined,.button.loading.mod-AI,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success .numericBadge,.button.success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-success.mod-AI,.button.is-success.mod-outlined,.button.success.mod-AI,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after,.button.success.mod-AI:after,.button.success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled,.button[aria-disabled=true]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge,.button[aria-disabled=true] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer components{.popover{--components-popover-padding: var(--pr-t-spacings-100);display:block;background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--pr-t-elevation-shadow-overlay);border-radius:var(--pr-t-border-radius-structure);position:relative;min-block-size:var(--pr-t-spacings-500);min-inline-size:var(--pr-t-spacings-500);animation:popup var(--commons-animations-durations-fast) ease 1 forwards}.popover .popover-close{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.popover .popover-close:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.popover .popover-close:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.popover .popover-close:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.popover .popover-close:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.popover .popover-close{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small)}.popover .popover-close .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.popover .popover-close{--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50);padding:0;border-radius:50%;position:absolute;inset-inline-start:calc(var(--pr-t-spacings-100) * -1);inset-block-start:calc(var(--pr-t-spacings-100) * -1);z-index:2}.popover .popover-close:not(:focus-visible){border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.popover-contentOptional{padding:var(--components-popover-padding)}@keyframes popup{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[prButton],a[prButton],button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "pr-icon,lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
124
117
|
}
|
|
125
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverContentComponent, decorators: [{
|
|
126
119
|
type: Component,
|
|
@@ -194,7 +187,6 @@ class PopoverDirective {
|
|
|
194
187
|
this.#renderer = inject(Renderer2);
|
|
195
188
|
this.intl = input(...intlInputOptions(LU_POPOVER2_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
|
|
196
189
|
this.luPopoverPosition = 'above';
|
|
197
|
-
this.overlayScrollStrategy = 'reposition';
|
|
198
190
|
this.luPopoverDisabled = false;
|
|
199
191
|
this.luPopoverTrigger = model('click', ...(ngDevMode ? [{ debugName: "luPopoverTrigger" }] : []));
|
|
200
192
|
this.luPopoverNoCloseButton = false;
|
|
@@ -296,7 +288,7 @@ class PopoverDirective {
|
|
|
296
288
|
.position()
|
|
297
289
|
.flexibleConnectedTo(this.luPopoverAnchor())
|
|
298
290
|
.withPositions(this.customPositions || this.#buildPositions()),
|
|
299
|
-
scrollStrategy: this.overlay.scrollStrategies
|
|
291
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
300
292
|
hasBackdrop: withBackdrop,
|
|
301
293
|
backdropClass: '',
|
|
302
294
|
disposeOnNavigation: true,
|
|
@@ -325,7 +317,7 @@ class PopoverDirective {
|
|
|
325
317
|
this.#componentRef.mouseLeave$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.close$.next());
|
|
326
318
|
// On tooltip enter => trigger open to keep it opened
|
|
327
319
|
this.#componentRef.mouseEnter$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.open$.next('hover'));
|
|
328
|
-
this.#componentRef.closed$.pipe(
|
|
320
|
+
this.#componentRef.closed$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => {
|
|
329
321
|
this.opened.set(false);
|
|
330
322
|
this.#skipNextFocus = false;
|
|
331
323
|
this.luPopoverClosed.emit();
|
|
@@ -343,7 +335,7 @@ class PopoverDirective {
|
|
|
343
335
|
this.#componentRef?.grabFocus();
|
|
344
336
|
}
|
|
345
337
|
}
|
|
346
|
-
focusOutBefore() {
|
|
338
|
+
focusOutBefore(_event) {
|
|
347
339
|
if (this.opened() && this.luPopoverTrigger().includes('focus')) {
|
|
348
340
|
this.#componentRef?.close();
|
|
349
341
|
}
|
|
@@ -368,7 +360,7 @@ class PopoverDirective {
|
|
|
368
360
|
return [this.positionPairs[this.luPopoverPosition], this.positionPairs[opposite[this.luPopoverPosition]], ...remaining[this.luPopoverPosition].map((r) => this.positionPairs[r])];
|
|
369
361
|
}
|
|
370
362
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
371
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: PopoverDirective, isStandalone: true, selector: "[luPopover2]", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "luPopover2", isSignal: false, isRequired: false, transformFunction: null }, luPopoverPosition: { classPropertyName: "luPopoverPosition", publicName: "luPopoverPosition", isSignal: false, isRequired: false, transformFunction: null },
|
|
363
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: PopoverDirective, isStandalone: true, selector: "[luPopover2]", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "luPopover2", isSignal: false, isRequired: false, transformFunction: null }, luPopoverPosition: { classPropertyName: "luPopoverPosition", publicName: "luPopoverPosition", isSignal: false, isRequired: false, transformFunction: null }, luPopoverDisabled: { classPropertyName: "luPopoverDisabled", publicName: "luPopoverDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, luPopoverTrigger: { classPropertyName: "luPopoverTrigger", publicName: "luPopoverTrigger", isSignal: true, isRequired: false, transformFunction: null }, customPositions: { classPropertyName: "customPositions", publicName: "customPositions", isSignal: false, isRequired: false, transformFunction: null }, luPopoverNoCloseButton: { classPropertyName: "luPopoverNoCloseButton", publicName: "luPopoverNoCloseButton", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, luPopoverAnchor: { classPropertyName: "luPopoverAnchor", publicName: "luPopoverAnchor", isSignal: true, isRequired: false, transformFunction: null }, luPopoverOpenDelay: { classPropertyName: "luPopoverOpenDelay", publicName: "luPopoverOpenDelay", isSignal: true, isRequired: false, transformFunction: null }, luPopoverCloseDelay: { classPropertyName: "luPopoverCloseDelay", publicName: "luPopoverCloseDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { luPopoverTrigger: "luPopoverTriggerChange", luPopoverClosed: "luPopoverClosed", luPopoverOpened: "luPopoverOpened" }, host: { listeners: { "mouseenter": "onMouseEnter()", "focus": "onFocus()", "mouseleave": "onMouseLeave()", "click": "click()", "keydown.Tab": "focusBackToContent($event)", "keydown.Shift.Tab": "focusOutBefore($event)" }, properties: { "attr.aria-expanded": "opened()", "attr.aria-controls": "this.ariaControls" } }, exportAs: ["luPopover2"], ngImport: i0 }); }
|
|
372
364
|
}
|
|
373
365
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PopoverDirective, decorators: [{
|
|
374
366
|
type: Directive,
|
|
@@ -386,8 +378,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
386
378
|
}]
|
|
387
379
|
}], luPopoverPosition: [{
|
|
388
380
|
type: Input
|
|
389
|
-
}], overlayScrollStrategy: [{
|
|
390
|
-
type: Input
|
|
391
381
|
}], luPopoverDisabled: [{
|
|
392
382
|
type: Input,
|
|
393
383
|
args: [{
|
|
@@ -418,7 +408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
418
408
|
args: ['keydown.Tab', ['$event']]
|
|
419
409
|
}], focusOutBefore: [{
|
|
420
410
|
type: HostListener,
|
|
421
|
-
args: ['keydown.Shift.Tab']
|
|
411
|
+
args: ['keydown.Shift.Tab', ['$event']]
|
|
422
412
|
}] } });
|
|
423
413
|
|
|
424
414
|
function configureLuPopover() {
|