@lucca-front/ng 18.3.6 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core-select/api/api.directive.d.ts +1 -1
- package/core-select/input/select-input.component.d.ts +1 -1
- package/dialog/dialog-routing/dialog-routing.component.d.ts +1 -1
- package/dropdown/item/dropdown-item.directive.d.ts +1 -1
- package/dropdown/item/dropdown-item.module.d.ts +4 -1
- package/dropdown/panel/dropdown-panel.component.d.ts +1 -1
- package/dropdown/panel/dropdown-panel.module.d.ts +4 -2
- package/dropdown/trigger/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/trigger/dropdown-trigger.module.d.ts +4 -2
- package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +48 -48
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +3 -3
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +21 -21
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +9 -9
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +15 -15
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +36 -36
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +16 -16
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +48 -48
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +14 -14
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +28 -28
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog-testing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +39 -31
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +39 -35
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +6 -6
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +49 -49
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +6 -6
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +81 -79
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +10 -10
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +33 -33
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +4 -4
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +21 -21
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +22 -22
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +44 -44
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +7 -7
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +154 -154
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +31 -26
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +9 -9
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup-employee.mjs +21 -21
- package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
- package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +13 -12
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +9 -9
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +3 -3
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +18 -17
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +11 -11
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +22 -22
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +94 -85
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/modal/modal-panel.component.d.ts +1 -1
- package/option/picker/option-picker-advanced.component.d.ts +1 -1
- package/option/picker/option-picker.component.d.ts +1 -1
- package/option/picker/tree-option-picker-advanced.component.d.ts +1 -1
- package/option/picker/tree-option-picker.component.d.ts +1 -1
- package/package.json +22 -132
- package/safe-content/safe-content.module.d.ts +3 -0
- package/schematics/action-icon/index.js +3 -2
- package/schematics/action-icon/migration.js +2 -3
- package/schematics/empty-state-title/index.js +2 -1
- package/schematics/lib/angular-template.js +6 -7
- package/schematics/lib/css-mapper.js +4 -4
- package/schematics/lib/file-update.js +2 -3
- package/schematics/lib/html-ast.js +4 -4
- package/schematics/lib/local-deps/installer.js +1 -2
- package/schematics/lib/local-deps/package-lock.json +30 -30
- package/schematics/lib/local-deps/package.json +2 -2
- package/schematics/lib/local-deps/postcss-selector-parser.js +1 -0
- package/schematics/lib/local-deps/postcss-value-parser.js +1 -0
- package/schematics/lib/migration-test.js +4 -5
- package/schematics/lib/schematics.js +1 -2
- package/schematics/lib/scss-ast.js +10 -11
- package/schematics/lib/typescript-ast.js +1 -2
- package/schematics/new-icons/index.js +4 -3
- package/schematics/new-icons/migration.js +3 -4
- package/schematics/ng-add/index.js +1 -2
- package/schematics/ng-add/tasks.js +4 -5
- package/schematics/palettes/index.js +1 -0
- package/schematics/tokens-spacing/index.js +1 -0
- package/select/input/select-input.component.d.ts +1 -1
- package/src/components/cdk/_overlay.scss +4 -0
- package/time/core/base-picker.component.d.ts +1 -1
- package/time/core/date.utils.d.ts +4 -4
- package/time/core/misc.utils.d.ts +1 -1
- package/user/picture/user-picture.component.d.ts +1 -1
- package/user/picture/user-picture.module.d.ts +4 -3
- package/user/tile/user-tile.component.d.ts +1 -1
- package/user/tile/user-tile.module.d.ts +4 -4
- package/esm2022/a11y/lucca-front-ng-a11y.mjs +0 -5
- package/esm2022/a11y/public-api.mjs +0 -3
- package/esm2022/a11y/skip-links/skip-links.component.mjs +0 -24
- package/esm2022/a11y/skip-links/skip-links.translate.mjs +0 -9
- package/esm2022/a11y/skip-links/translations.mjs +0 -51
- package/esm2022/animations/animation.factory.mjs +0 -15
- package/esm2022/animations/fade.animation.mjs +0 -8
- package/esm2022/animations/lucca-front-ng-animations.mjs +0 -5
- package/esm2022/animations/public-api.mjs +0 -5
- package/esm2022/animations/scale.animation.mjs +0 -126
- package/esm2022/animations/slide.animation.mjs +0 -110
- package/esm2022/api/api.model.mjs +0 -2
- package/esm2022/api/api.module.mjs +0 -16
- package/esm2022/api/lucca-front-ng-api.mjs +0 -5
- package/esm2022/api/public-api.mjs +0 -5
- package/esm2022/api/select/api-select.module.mjs +0 -19
- package/esm2022/api/select/feeder/api-feeder.component.mjs +0 -93
- package/esm2022/api/select/feeder/api-feeder.model.mjs +0 -11
- package/esm2022/api/select/feeder/api-feeder.module.mjs +0 -16
- package/esm2022/api/select/feeder/index.mjs +0 -4
- package/esm2022/api/select/index.mjs +0 -6
- package/esm2022/api/select/input/api-select-input.component.mjs +0 -52
- package/esm2022/api/select/input/api-select-input.module.mjs +0 -16
- package/esm2022/api/select/input/index.mjs +0 -3
- package/esm2022/api/select/pager/api-pager.component.mjs +0 -99
- package/esm2022/api/select/pager/api-pager.model.mjs +0 -56
- package/esm2022/api/select/pager/api-pager.module.mjs +0 -16
- package/esm2022/api/select/pager/index.mjs +0 -4
- package/esm2022/api/select/searcher/api-searcher.component.mjs +0 -235
- package/esm2022/api/select/searcher/api-searcher.model.mjs +0 -67
- package/esm2022/api/select/searcher/api-searcher.module.mjs +0 -16
- package/esm2022/api/select/searcher/index.mjs +0 -4
- package/esm2022/api/service/api-hybrid.service.mjs +0 -65
- package/esm2022/api/service/api-service.model.mjs +0 -3
- package/esm2022/api/service/api-v3.service.mjs +0 -72
- package/esm2022/api/service/api-v4.service.mjs +0 -71
- package/esm2022/api/service/index.mjs +0 -5
- package/esm2022/button/button.component.mjs +0 -90
- package/esm2022/button/lucca-front-ng-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -2
- package/esm2022/callout/callout/callout.component.mjs +0 -88
- package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +0 -59
- package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +0 -25
- package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +0 -22
- package/esm2022/callout/callout-icon.pipe.mjs +0 -23
- package/esm2022/callout/callout-popover/callout-popover.component.mjs +0 -182
- package/esm2022/callout/callout-state.mjs +0 -16
- package/esm2022/callout/callout.translate.mjs +0 -7
- package/esm2022/callout/callout.utils.mjs +0 -20
- package/esm2022/callout/lucca-front-ng-callout.mjs +0 -5
- package/esm2022/callout/public-api.mjs +0 -7
- package/esm2022/callout/translations.mjs +0 -27
- package/esm2022/comment/comment/comment.component.mjs +0 -54
- package/esm2022/comment/comment-block/comment-block.component.mjs +0 -60
- package/esm2022/comment/comment-chat/comment-chat.component.mjs +0 -22
- package/esm2022/comment/lucca-front-ng-comment.mjs +0 -5
- package/esm2022/comment/public-api.mjs +0 -4
- package/esm2022/comment/token.mjs +0 -4
- package/esm2022/core/date/date-adapter.class.mjs +0 -54
- package/esm2022/core/date/date-adapter.interface.mjs +0 -2
- package/esm2022/core/date/date-granularity.enum.mjs +0 -8
- package/esm2022/core/date/index.mjs +0 -6
- package/esm2022/core/date/native/index.mjs +0 -3
- package/esm2022/core/date/native/native-date.adapter.mjs +0 -235
- package/esm2022/core/date/native/native-date.option.mjs +0 -6
- package/esm2022/core/date/string/index.mjs +0 -2
- package/esm2022/core/date/string/string-date.adapter.mjs +0 -83
- package/esm2022/core/event/index.mjs +0 -4
- package/esm2022/core/event/on-close.subscriber.mjs +0 -3
- package/esm2022/core/event/on-open.subscriber.mjs +0 -3
- package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +0 -3
- package/esm2022/core/group/group.interface.mjs +0 -2
- package/esm2022/core/group/index.mjs +0 -2
- package/esm2022/core/id/id.generator.mjs +0 -9
- package/esm2022/core/id/index.mjs +0 -2
- package/esm2022/core/lucca-front-ng-core.mjs +0 -5
- package/esm2022/core/portal/index.mjs +0 -3
- package/esm2022/core/portal/portal-content.mjs +0 -3
- package/esm2022/core/portal/portal.directive.mjs +0 -107
- package/esm2022/core/public-api.mjs +0 -11
- package/esm2022/core/signal.mjs +0 -22
- package/esm2022/core/tools/class.mjs +0 -75
- package/esm2022/core/translate/index.mjs +0 -4
- package/esm2022/core/translate/intl-params.pipe.mjs +0 -20
- package/esm2022/core/translate/intl.model.mjs +0 -14
- package/esm2022/core/translate/translation.model.mjs +0 -2
- package/esm2022/core/tree/index.mjs +0 -2
- package/esm2022/core/tree/tree.model.mjs +0 -2
- package/esm2022/core/type/enum.mjs +0 -2
- package/esm2022/core/type/index.mjs +0 -3
- package/esm2022/core/type/style.mjs +0 -2
- package/esm2022/core-select/api/api-v3.directive.mjs +0 -81
- package/esm2022/core-select/api/api-v4.directive.mjs +0 -70
- package/esm2022/core-select/api/api.directive.mjs +0 -53
- package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +0 -5
- package/esm2022/core-select/api/public-api.mjs +0 -4
- package/esm2022/core-select/displayer/displayer.directive.mjs +0 -26
- package/esm2022/core-select/displayer/index.mjs +0 -2
- package/esm2022/core-select/establishment/establishment-grouping.component.mjs +0 -21
- package/esm2022/core-select/establishment/establishment-grouping.service.mjs +0 -22
- package/esm2022/core-select/establishment/establishments.directive.mjs +0 -96
- package/esm2022/core-select/establishment/lucca-front-ng-core-select-establishment.mjs +0 -5
- package/esm2022/core-select/establishment/models.mjs +0 -2
- package/esm2022/core-select/establishment/public-api.mjs +0 -4
- package/esm2022/core-select/input/index.mjs +0 -4
- package/esm2022/core-select/input/select-input.component.mjs +0 -312
- package/esm2022/core-select/input/select-input.models.mjs +0 -37
- package/esm2022/core-select/input/total-count.directive.mjs +0 -33
- package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +0 -21
- package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +0 -78
- package/esm2022/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.mjs +0 -5
- package/esm2022/core-select/job-qualification/models.mjs +0 -2
- package/esm2022/core-select/job-qualification/public-api.mjs +0 -3
- package/esm2022/core-select/lucca-front-ng-core-select.mjs +0 -5
- package/esm2022/core-select/option/default-option.component.mjs +0 -22
- package/esm2022/core-select/option/disabled.directive.mjs +0 -26
- package/esm2022/core-select/option/group.directive.mjs +0 -29
- package/esm2022/core-select/option/group.pipe.mjs +0 -43
- package/esm2022/core-select/option/index.mjs +0 -9
- package/esm2022/core-select/option/option-outlet.directive.mjs +0 -73
- package/esm2022/core-select/option/option.component.mjs +0 -89
- package/esm2022/core-select/option/option.directive.mjs +0 -26
- package/esm2022/core-select/option/option.token.mjs +0 -22
- package/esm2022/core-select/panel/index.mjs +0 -5
- package/esm2022/core-select/panel/key-manager.mjs +0 -79
- package/esm2022/core-select/panel/panel-header-template.directive.mjs +0 -25
- package/esm2022/core-select/panel/panel.models.mjs +0 -22
- package/esm2022/core-select/panel/panel.utils.mjs +0 -15
- package/esm2022/core-select/public-api.mjs +0 -8
- package/esm2022/core-select/select.model.mjs +0 -6
- package/esm2022/core-select/select.translate.mjs +0 -7
- package/esm2022/core-select/select.utils.mjs +0 -2
- package/esm2022/core-select/translations.mjs +0 -27
- package/esm2022/core-select/user/former-employees.component.mjs +0 -34
- package/esm2022/core-select/user/lucca-front-ng-core-select-user.mjs +0 -5
- package/esm2022/core-select/user/me.provider.mjs +0 -9
- package/esm2022/core-select/user/public-api.mjs +0 -5
- package/esm2022/core-select/user/translations.mjs +0 -35
- package/esm2022/core-select/user/user-displayer.component.mjs +0 -32
- package/esm2022/core-select/user/user-homonym.service.mjs +0 -63
- package/esm2022/core-select/user/user-option.component.mjs +0 -46
- package/esm2022/core-select/user/user-option.model.mjs +0 -2
- package/esm2022/core-select/user/user.translate.mjs +0 -7
- package/esm2022/core-select/user/users.directive.mjs +0 -149
- package/esm2022/date/adapter/date-adapter.module.mjs +0 -16
- package/esm2022/date/adapter/date-adapter.pipe.mjs +0 -25
- package/esm2022/date/adapter/index.mjs +0 -3
- package/esm2022/date/calendar/calendar-input.component.mjs +0 -332
- package/esm2022/date/calendar/calendar-input.module.mjs +0 -16
- package/esm2022/date/calendar/calendar-item.class.mjs +0 -43
- package/esm2022/date/calendar/calendar-item.factory.mjs +0 -37
- package/esm2022/date/calendar/calendar-item.interface.mjs +0 -2
- package/esm2022/date/calendar/index.mjs +0 -3
- package/esm2022/date/date.module.mjs +0 -20
- package/esm2022/date/humanize/humanize.formatter.mjs +0 -14
- package/esm2022/date/humanize/humanize.model.mjs +0 -2
- package/esm2022/date/humanize/humanize.pipe.mjs +0 -21
- package/esm2022/date/humanize/humanize.utils.mjs +0 -79
- package/esm2022/date/humanize/index.mjs +0 -5
- package/esm2022/date/input/date-input.directive.mjs +0 -137
- package/esm2022/date/input/date-input.module.mjs +0 -16
- package/esm2022/date/input/date-input.translate.mjs +0 -7
- package/esm2022/date/input/index.mjs +0 -4
- package/esm2022/date/input/translations.mjs +0 -43
- package/esm2022/date/lucca-front-ng-date.mjs +0 -5
- package/esm2022/date/picker/date-picker.component.mjs +0 -109
- package/esm2022/date/picker/date-picker.module.mjs +0 -16
- package/esm2022/date/picker/index.mjs +0 -3
- package/esm2022/date/public-api.mjs +0 -8
- package/esm2022/date/select/date-select-input.component.mjs +0 -106
- package/esm2022/date/select/date-select-input.module.mjs +0 -16
- package/esm2022/date/select/date-select-input.translate.mjs +0 -7
- package/esm2022/date/select/index.mjs +0 -4
- package/esm2022/date/select/translations.mjs +0 -43
- package/esm2022/date2/calendar.token.mjs +0 -22
- package/esm2022/date2/calendar2/calendar-cell-info.mjs +0 -2
- package/esm2022/date2/calendar2/calendar-mode.mjs +0 -2
- package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +0 -111
- package/esm2022/date2/calendar2/calendar2.component.mjs +0 -279
- package/esm2022/date2/calendar2/calendar2.tokens.mjs +0 -4
- package/esm2022/date2/calendar2/cell-status.mjs +0 -2
- package/esm2022/date2/calendar2/date-range.mjs +0 -2
- package/esm2022/date2/date-format.mjs +0 -16
- package/esm2022/date2/date-input/date-input.component.mjs +0 -281
- package/esm2022/date2/date2.translate.mjs +0 -7
- package/esm2022/date2/lucca-front-ng-date2.mjs +0 -5
- package/esm2022/date2/public-api.mjs +0 -5
- package/esm2022/date2/repeat-times.directive.mjs +0 -27
- package/esm2022/date2/translations.mjs +0 -17
- package/esm2022/date2/utils.mjs +0 -24
- package/esm2022/department/department.model.mjs +0 -2
- package/esm2022/department/department.module.mjs +0 -16
- package/esm2022/department/lucca-front-ng-department.mjs +0 -5
- package/esm2022/department/public-api.mjs +0 -5
- package/esm2022/department/select/department-select.module.mjs +0 -17
- package/esm2022/department/select/feeder/department-feeder.component.mjs +0 -82
- package/esm2022/department/select/feeder/department-feeder.module.mjs +0 -16
- package/esm2022/department/select/feeder/index.mjs +0 -3
- package/esm2022/department/select/index.mjs +0 -4
- package/esm2022/department/select/input/department-select-input.component.mjs +0 -68
- package/esm2022/department/select/input/department-select-input.module.mjs +0 -16
- package/esm2022/department/select/input/department-select-input.translate.mjs +0 -7
- package/esm2022/department/select/input/index.mjs +0 -4
- package/esm2022/department/select/input/translations.mjs +0 -27
- package/esm2022/department/service/department-service.model.mjs +0 -4
- package/esm2022/department/service/department-v3.service.mjs +0 -46
- package/esm2022/department/service/department-v4.service.mjs +0 -46
- package/esm2022/department/service/index.mjs +0 -4
- package/esm2022/dialog/dialog/dialog.component.mjs +0 -31
- package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -20
- package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +0 -13
- package/esm2022/dialog/dialog-header/dialog-header.component.mjs +0 -45
- package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +0 -7
- package/esm2022/dialog/dialog-header/translations.mjs +0 -27
- package/esm2022/dialog/dialog-routing/dialog-routing.component.mjs +0 -100
- package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +0 -2
- package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +0 -46
- package/esm2022/dialog/dialog-routing/index.mjs +0 -4
- package/esm2022/dialog/dialog.providers.mjs +0 -10
- package/esm2022/dialog/dialog.service.mjs +0 -75
- package/esm2022/dialog/directives/dialog-close.directive.mjs +0 -22
- package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +0 -22
- package/esm2022/dialog/directives/dialog-open.directive.mjs +0 -35
- package/esm2022/dialog/lucca-front-ng-dialog.mjs +0 -5
- package/esm2022/dialog/model/dialog-config.mjs +0 -4
- package/esm2022/dialog/model/dialog-ref.mjs +0 -49
- package/esm2022/dialog/model/index.mjs +0 -4
- package/esm2022/dialog/model/injectors.mjs +0 -10
- package/esm2022/dialog/public-api.mjs +0 -13
- package/esm2022/dialog/testing/lucca-front-ng-dialog-testing.mjs +0 -5
- package/esm2022/dialog/testing/providers.mjs +0 -8
- package/esm2022/dialog/testing/public-api.mjs +0 -2
- package/esm2022/dropdown/dropdown.module.mjs +0 -18
- package/esm2022/dropdown/item/dropdown-item.directive.mjs +0 -55
- package/esm2022/dropdown/item/dropdown-item.model.mjs +0 -3
- package/esm2022/dropdown/item/dropdown-item.module.mjs +0 -17
- package/esm2022/dropdown/item/index.mjs +0 -4
- package/esm2022/dropdown/lucca-front-ng-dropdown.mjs +0 -5
- package/esm2022/dropdown/panel/dropdown-panel.component.mjs +0 -111
- package/esm2022/dropdown/panel/dropdown-panel.model.mjs +0 -2
- package/esm2022/dropdown/panel/dropdown-panel.module.mjs +0 -18
- package/esm2022/dropdown/panel/index.mjs +0 -4
- package/esm2022/dropdown/public-api.mjs +0 -5
- package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +0 -121
- package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +0 -18
- package/esm2022/dropdown/trigger/index.mjs +0 -3
- package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +0 -62
- package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +0 -43
- package/esm2022/empty-state/lucca-front-ng-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/establishment/establishment.model.mjs +0 -2
- package/esm2022/establishment/establishment.module.mjs +0 -19
- package/esm2022/establishment/lucca-front-ng-establishment.mjs +0 -5
- package/esm2022/establishment/public-api.mjs +0 -5
- package/esm2022/establishment/select/establishment-select.module.mjs +0 -23
- package/esm2022/establishment/select/establishment-select.token.mjs +0 -4
- package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +0 -47
- package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +0 -16
- package/esm2022/establishment/select/for-legal-units/index.mjs +0 -3
- package/esm2022/establishment/select/index.mjs +0 -7
- package/esm2022/establishment/select/input/establishment-select-input.component.mjs +0 -126
- package/esm2022/establishment/select/input/establishment-select-input.module.mjs +0 -16
- package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +0 -7
- package/esm2022/establishment/select/input/index.mjs +0 -4
- package/esm2022/establishment/select/input/translations.mjs +0 -27
- package/esm2022/establishment/select/legal-unit-selector/index.mjs +0 -3
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +0 -103
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +0 -16
- package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +0 -146
- package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +0 -16
- package/esm2022/establishment/select/searcher/index.mjs +0 -3
- package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +0 -94
- package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +0 -16
- package/esm2022/establishment/select/select-all/index.mjs +0 -3
- package/esm2022/establishment/service/establishment-service.model.mjs +0 -4
- package/esm2022/establishment/service/establishment.service.mjs +0 -37
- package/esm2022/establishment/service/index.mjs +0 -5
- package/esm2022/establishment/service/legal-unit-service.model.mjs +0 -4
- package/esm2022/establishment/service/legal-unit.service.mjs +0 -37
- package/esm2022/form-field/form-field-size.mjs +0 -2
- package/esm2022/form-field/form-field.component.mjs +0 -248
- package/esm2022/form-field/form-field.token.mjs +0 -3
- package/esm2022/form-field/form-field.translate.mjs +0 -7
- package/esm2022/form-field/input.directive.mjs +0 -36
- package/esm2022/form-field/lucca-front-ng-form-field.mjs +0 -5
- package/esm2022/form-field/public-api.mjs +0 -6
- package/esm2022/form-field/translations.mjs +0 -27
- package/esm2022/formly/formly.config.mjs +0 -79
- package/esm2022/formly/formly.module.mjs +0 -108
- package/esm2022/formly/formly.utils.mjs +0 -10
- package/esm2022/formly/lucca-front-ng-formly.mjs +0 -5
- package/esm2022/formly/public-api.mjs +0 -5
- package/esm2022/formly/types/api.mjs +0 -37
- package/esm2022/formly/types/checkbox.mjs +0 -22
- package/esm2022/formly/types/date.mjs +0 -22
- package/esm2022/formly/types/department.mjs +0 -22
- package/esm2022/formly/types/establishment.mjs +0 -22
- package/esm2022/formly/types/index.mjs +0 -12
- package/esm2022/formly/types/input.mjs +0 -26
- package/esm2022/formly/types/qualification.mjs +0 -22
- package/esm2022/formly/types/radios.mjs +0 -25
- package/esm2022/formly/types/select.mjs +0 -28
- package/esm2022/formly/types/textarea.mjs +0 -22
- package/esm2022/formly/types/user.mjs +0 -22
- package/esm2022/formly/wrappers/checkbox-layout.mjs +0 -30
- package/esm2022/formly/wrappers/error.mjs +0 -57
- package/esm2022/formly/wrappers/helper.mjs +0 -19
- package/esm2022/formly/wrappers/icon.mjs +0 -19
- package/esm2022/formly/wrappers/index.mjs +0 -8
- package/esm2022/formly/wrappers/radiosfield-layout.mjs +0 -30
- package/esm2022/formly/wrappers/suffix.mjs +0 -19
- package/esm2022/formly/wrappers/textfield-layout.mjs +0 -39
- package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +0 -34
- package/esm2022/forms/form-field-id.directive.mjs +0 -52
- package/esm2022/forms/inject-ng-control.mjs +0 -25
- package/esm2022/forms/lucca-front-ng-forms.mjs +0 -5
- package/esm2022/forms/multilanguage-input/model/multilanguage-translation.mjs +0 -2
- package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +0 -95
- package/esm2022/forms/multilanguage-input/multilanguage-input.translate.mjs +0 -6
- package/esm2022/forms/multilanguage-input/translations.mjs +0 -13
- package/esm2022/forms/multilanguage-input/validators.mjs +0 -7
- package/esm2022/forms/noop-value-accessor.directive.mjs +0 -35
- package/esm2022/forms/number-format-input/number-format-input.component.mjs +0 -92
- package/esm2022/forms/number-format-input/number-format-input.translate.mjs +0 -7
- package/esm2022/forms/number-format-input/translations.mjs +0 -27
- package/esm2022/forms/number-input/number-input.component.mjs +0 -38
- package/esm2022/forms/number-input/number-input.translate.mjs +0 -7
- package/esm2022/forms/number-input/translations.mjs +0 -27
- package/esm2022/forms/phone-number-input/formatter.mjs +0 -7
- package/esm2022/forms/phone-number-input/lucca-front-ng-forms-phone-number-input.mjs +0 -5
- package/esm2022/forms/phone-number-input/phone-number-format.pipe.mjs +0 -18
- package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +0 -186
- package/esm2022/forms/phone-number-input/public-api.mjs +0 -6
- package/esm2022/forms/phone-number-input/types.mjs +0 -2
- package/esm2022/forms/phone-number-input/validators.mjs +0 -17
- package/esm2022/forms/public-api.mjs +0 -17
- package/esm2022/forms/radio-group-input/radio/radio.component.mjs +0 -54
- package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +0 -45
- package/esm2022/forms/radio-group-input/radio-group-token.mjs +0 -3
- package/esm2022/forms/switch-input/switch-input.component.mjs +0 -26
- package/esm2022/forms/text-input/text-input-addon.mjs +0 -2
- package/esm2022/forms/text-input/text-input.component.mjs +0 -82
- package/esm2022/forms/text-input/text-input.translate.mjs +0 -7
- package/esm2022/forms/text-input/translations.mjs +0 -35
- package/esm2022/forms/textarea-input/textarea-input.component.mjs +0 -53
- package/esm2022/icon/icon.component.mjs +0 -29
- package/esm2022/icon/lucca-front-ng-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -2
- package/esm2022/inline-message/inline-message-state.mjs +0 -2
- package/esm2022/inline-message/inline-message.component.mjs +0 -33
- package/esm2022/inline-message/lucca-front-ng-inline-message.mjs +0 -5
- package/esm2022/inline-message/public-api.mjs +0 -3
- package/esm2022/input/clearer/clearer.component.mjs +0 -35
- package/esm2022/input/clearer/clearer.model.mjs +0 -3
- package/esm2022/input/clearer/clearer.module.mjs +0 -16
- package/esm2022/input/clearer/index.mjs +0 -4
- package/esm2022/input/displayer/index.mjs +0 -4
- package/esm2022/input/displayer/input-displayer.directive.mjs +0 -59
- package/esm2022/input/displayer/input-displayer.model.mjs +0 -6
- package/esm2022/input/displayer/input-displayer.module.mjs +0 -16
- package/esm2022/input/input.directive.mjs +0 -42
- package/esm2022/input/input.model.mjs +0 -54
- package/esm2022/input/input.module.mjs +0 -18
- package/esm2022/input/lucca-front-ng-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -6
- package/esm2022/lucca-front-ng.mjs +0 -5
- package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +0 -100
- package/esm2022/modal/dialog-adapter/dialog-ref-adapter.mjs +0 -19
- package/esm2022/modal/lucca-front-ng-modal.mjs +0 -5
- package/esm2022/modal/modal-config.default.mjs +0 -17
- package/esm2022/modal/modal-config.model.mjs +0 -5
- package/esm2022/modal/modal-panel.component.mjs +0 -123
- package/esm2022/modal/modal-ref.factory.mjs +0 -60
- package/esm2022/modal/modal-ref.model.mjs +0 -11
- package/esm2022/modal/modal.model.mjs +0 -2
- package/esm2022/modal/modal.module.mjs +0 -28
- package/esm2022/modal/modal.service.mjs +0 -42
- package/esm2022/modal/modal.token.mjs +0 -9
- package/esm2022/modal/modal.translate.mjs +0 -7
- package/esm2022/modal/modal.utils.mjs +0 -9
- package/esm2022/modal/public-api.mjs +0 -12
- package/esm2022/modal/translations.mjs +0 -43
- package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +0 -78
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +0 -95
- package/esm2022/multi-select/displayer/default-displayer.translate.mjs +0 -7
- package/esm2022/multi-select/displayer/displayer-input.directive.mjs +0 -101
- package/esm2022/multi-select/displayer/displayer.directive.mjs +0 -26
- package/esm2022/multi-select/displayer/index.mjs +0 -6
- package/esm2022/multi-select/displayer/translations.mjs +0 -51
- package/esm2022/multi-select/input/index.mjs +0 -3
- package/esm2022/multi-select/input/panel-ref.factory.mjs +0 -119
- package/esm2022/multi-select/input/panel.model.mjs +0 -4
- package/esm2022/multi-select/input/select-all/index.mjs +0 -2
- package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +0 -99
- package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +0 -36
- package/esm2022/multi-select/input/select-all/select-all.models.mjs +0 -3
- package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +0 -160
- package/esm2022/multi-select/input/select-input.component.mjs +0 -111
- package/esm2022/multi-select/lucca-front-ng-multi-select.mjs +0 -5
- package/esm2022/multi-select/panel/index.mjs +0 -2
- package/esm2022/multi-select/panel/option-group-context.pipe.mjs +0 -24
- package/esm2022/multi-select/panel/option-selected.pipe.mjs +0 -19
- package/esm2022/multi-select/panel/panel.component.mjs +0 -109
- package/esm2022/multi-select/panel/selected-chip.directive.mjs +0 -26
- package/esm2022/multi-select/public-api.mjs +0 -5
- package/esm2022/multi-select/select.model.mjs +0 -23
- package/esm2022/multi-select/select.translate.mjs +0 -7
- package/esm2022/multi-select/select.utils.mjs +0 -32
- package/esm2022/multi-select/translations.mjs +0 -107
- package/esm2022/new-badge/lucca-front-ng-new-badge.mjs +0 -5
- package/esm2022/new-badge/new-badge.component.mjs +0 -20
- package/esm2022/new-badge/public-api.mjs +0 -2
- package/esm2022/number/lucca-front-ng-number.mjs +0 -5
- package/esm2022/number/number.module.mjs +0 -16
- package/esm2022/number/number.pipe.mjs +0 -36
- package/esm2022/number/public-api.mjs +0 -3
- package/esm2022/number-format/lucca-front-ng-number-format.mjs +0 -5
- package/esm2022/number-format/number-format.directive.mjs +0 -91
- package/esm2022/number-format/number-format.mjs +0 -175
- package/esm2022/number-format/number-format.models.mjs +0 -7
- package/esm2022/number-format/number-format.pipe.mjs +0 -18
- package/esm2022/number-format/public-api.mjs +0 -5
- package/esm2022/numeric-badge/lucca-front-ng-numeric-badge.mjs +0 -5
- package/esm2022/numeric-badge/numeric-badge.component.mjs +0 -43
- package/esm2022/numeric-badge/public-api.mjs +0 -2
- package/esm2022/option/item/index.mjs +0 -8
- package/esm2022/option/item/option-item.component.mjs +0 -76
- package/esm2022/option/item/option-item.model.mjs +0 -3
- package/esm2022/option/item/option-item.module.mjs +0 -16
- package/esm2022/option/item/translations.mjs +0 -35
- package/esm2022/option/item/tree-option-item.component.mjs +0 -136
- package/esm2022/option/item/tree-option-item.model.mjs +0 -7
- package/esm2022/option/item/tree-option-item.module.mjs +0 -16
- package/esm2022/option/item/tree-option-item.translate.mjs +0 -7
- package/esm2022/option/lucca-front-ng-option.mjs +0 -5
- package/esm2022/option/operator/feeder/index.mjs +0 -5
- package/esm2022/option/operator/feeder/option-feeder.component.mjs +0 -33
- package/esm2022/option/operator/feeder/option-feeder.module.mjs +0 -16
- package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +0 -33
- package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +0 -16
- package/esm2022/option/operator/for-groups/for-groups.directive.mjs +0 -89
- package/esm2022/option/operator/for-groups/for-groups.module.mjs +0 -16
- package/esm2022/option/operator/for-groups/index.mjs +0 -3
- package/esm2022/option/operator/for-options/for-options.directive.mjs +0 -50
- package/esm2022/option/operator/for-options/for-options.module.mjs +0 -16
- package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +0 -29
- package/esm2022/option/operator/for-options/for-tree-options.module.mjs +0 -16
- package/esm2022/option/operator/for-options/index.mjs +0 -5
- package/esm2022/option/operator/index.mjs +0 -10
- package/esm2022/option/operator/option-operator.model.mjs +0 -3
- package/esm2022/option/operator/option-operator.module.mjs +0 -20
- package/esm2022/option/operator/pager/index.mjs +0 -5
- package/esm2022/option/operator/pager/option-pager.component.mjs +0 -53
- package/esm2022/option/operator/pager/option-pager.module.mjs +0 -16
- package/esm2022/option/operator/pager/tree-option-pager.component.mjs +0 -71
- package/esm2022/option/operator/pager/tree-option-pager.module.mjs +0 -16
- package/esm2022/option/operator/searcher/index.mjs +0 -5
- package/esm2022/option/operator/searcher/option-searcher.component.mjs +0 -66
- package/esm2022/option/operator/searcher/option-searcher.module.mjs +0 -16
- package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +0 -83
- package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +0 -16
- package/esm2022/option/operator/tree-option-operator.model.mjs +0 -4
- package/esm2022/option/operator/tree-option-operator.module.mjs +0 -19
- package/esm2022/option/option.module.mjs +0 -63
- package/esm2022/option/picker/index.mjs +0 -9
- package/esm2022/option/picker/option-picker-advanced.component.mjs +0 -150
- package/esm2022/option/picker/option-picker.component.mjs +0 -319
- package/esm2022/option/picker/option-picker.model.mjs +0 -69
- package/esm2022/option/picker/option-picker.module.mjs +0 -18
- package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +0 -140
- package/esm2022/option/picker/tree-option-picker.component.mjs +0 -173
- package/esm2022/option/picker/tree-option-picker.model.mjs +0 -4
- package/esm2022/option/picker/tree-option-picker.module.mjs +0 -21
- package/esm2022/option/placeholder/index.mjs +0 -4
- package/esm2022/option/placeholder/option-placeholder.component.mjs +0 -23
- package/esm2022/option/placeholder/option-placeholder.module.mjs +0 -16
- package/esm2022/option/placeholder/option-placeholder.translate.mjs +0 -7
- package/esm2022/option/placeholder/translations.mjs +0 -35
- package/esm2022/option/public-api.mjs +0 -8
- package/esm2022/option/selector/all/index.mjs +0 -6
- package/esm2022/option/selector/all/select-all.component.mjs +0 -64
- package/esm2022/option/selector/all/select-all.module.mjs +0 -16
- package/esm2022/option/selector/all/select-all.translate.mjs +0 -7
- package/esm2022/option/selector/all/translations.mjs +0 -35
- package/esm2022/option/selector/all/tree-select-all.component.mjs +0 -67
- package/esm2022/option/selector/all/tree-select-all.module.mjs +0 -16
- package/esm2022/option/selector/index.mjs +0 -6
- package/esm2022/option/selector/option-selector.model.mjs +0 -3
- package/esm2022/option/selector/option-selector.module.mjs +0 -16
- package/esm2022/option/selector/tree-option-selector.model.mjs +0 -4
- package/esm2022/option/selector/tree-option-selector.module.mjs +0 -16
- package/esm2022/option/tree-option.module.mjs +0 -19
- package/esm2022/picker/input-picker.model.mjs +0 -4
- package/esm2022/picker/lucca-front-ng-picker.mjs +0 -5
- package/esm2022/picker/public-api.mjs +0 -2
- package/esm2022/plg-push/lucca-front-ng-plg-push.mjs +0 -5
- package/esm2022/plg-push/plg-push.component.mjs +0 -17
- package/esm2022/plg-push/public-api.mjs +0 -2
- package/esm2022/popover/animation/index.mjs +0 -2
- package/esm2022/popover/animation/popover.animation.mjs +0 -16
- package/esm2022/popover/lucca-front-ng-popover.mjs +0 -5
- package/esm2022/popover/panel/index.mjs +0 -4
- package/esm2022/popover/panel/popover-panel.component.mjs +0 -126
- package/esm2022/popover/panel/popover-panel.model.mjs +0 -120
- package/esm2022/popover/panel/popover-panel.module.mjs +0 -16
- package/esm2022/popover/popover.module.mjs +0 -18
- package/esm2022/popover/public-api.mjs +0 -6
- package/esm2022/popover/target/index.mjs +0 -4
- package/esm2022/popover/target/popover-target.directive.mjs +0 -53
- package/esm2022/popover/target/popover-target.model.mjs +0 -65
- package/esm2022/popover/target/popover-target.module.mjs +0 -16
- package/esm2022/popover/trigger/index.mjs +0 -4
- package/esm2022/popover/trigger/popover-trigger.directive.mjs +0 -186
- package/esm2022/popover/trigger/popover-trigger.model.mjs +0 -470
- package/esm2022/popover/trigger/popover-trigger.module.mjs +0 -17
- package/esm2022/popover2/content/popover-content/popover-content.component.mjs +0 -78
- package/esm2022/popover2/lucca-front-ng-popover2.mjs +0 -5
- package/esm2022/popover2/popover-focus-trap.mjs +0 -24
- package/esm2022/popover2/popover-tokens.mjs +0 -3
- package/esm2022/popover2/popover.directive.mjs +0 -257
- package/esm2022/popover2/popover.providers.mjs +0 -6
- package/esm2022/popover2/popover.translate.mjs +0 -7
- package/esm2022/popover2/popover2.translate.mjs +0 -19
- package/esm2022/popover2/public-api.mjs +0 -4
- package/esm2022/popover2/translations.mjs +0 -27
- package/esm2022/popup/lucca-front-ng-popup.mjs +0 -5
- package/esm2022/popup/popup-config.default.mjs +0 -9
- package/esm2022/popup/popup-config.model.mjs +0 -2
- package/esm2022/popup/popup-ref.factory.mjs +0 -28
- package/esm2022/popup/popup-ref.model.mjs +0 -139
- package/esm2022/popup/popup.module.mjs +0 -21
- package/esm2022/popup/popup.service.mjs +0 -21
- package/esm2022/popup/popup.token.mjs +0 -8
- package/esm2022/popup/public-api.mjs +0 -8
- package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +0 -152
- package/esm2022/popup-employee/card/panel/user-popover-panel.model.mjs +0 -2
- package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +0 -18
- package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +0 -32
- package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +0 -44
- package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +0 -178
- package/esm2022/popup-employee/lucca-front-ng-popup-employee.mjs +0 -5
- package/esm2022/popup-employee/popup-employee.translate.mjs +0 -7
- package/esm2022/popup-employee/public-api.mjs +0 -5
- package/esm2022/popup-employee/service/user-popover-service.model.mjs +0 -2
- package/esm2022/popup-employee/service/user-popover.store.mjs +0 -59
- package/esm2022/popup-employee/translations.mjs +0 -123
- package/esm2022/popup-employee/user-popover.model.mjs +0 -2
- package/esm2022/popup-employee/user-popover.providers.mjs +0 -14
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/qualification/lucca-front-ng-qualification.mjs +0 -5
- package/esm2022/qualification/public-api.mjs +0 -4
- package/esm2022/qualification/qualification.model.mjs +0 -2
- package/esm2022/qualification/qualification.module.mjs +0 -19
- package/esm2022/qualification/select/index.mjs +0 -3
- package/esm2022/qualification/select/input/index.mjs +0 -4
- package/esm2022/qualification/select/input/qualification-select-input.component.mjs +0 -60
- package/esm2022/qualification/select/input/qualification-select-input.module.mjs +0 -19
- package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +0 -7
- package/esm2022/qualification/select/input/translations.mjs +0 -27
- package/esm2022/qualification/select/qualification-select.module.mjs +0 -19
- package/esm2022/safe-content/lucca-front-ng-safe-content.mjs +0 -5
- package/esm2022/safe-content/public-api.mjs +0 -4
- package/esm2022/safe-content/safe-content.module.mjs +0 -18
- package/esm2022/safe-content/safe-external-svg.pipe.mjs +0 -42
- package/esm2022/safe-content/safe-html.pipe.mjs +0 -19
- package/esm2022/scroll/lucca-front-ng-scroll.mjs +0 -5
- package/esm2022/scroll/public-api.mjs +0 -4
- package/esm2022/scroll/scroll.directive.mjs +0 -77
- package/esm2022/scroll/scroll.model.mjs +0 -2
- package/esm2022/scroll/scroll.module.mjs +0 -16
- package/esm2022/select/input/index.mjs +0 -4
- package/esm2022/select/input/select-input.component.mjs +0 -249
- package/esm2022/select/input/select-input.model.mjs +0 -179
- package/esm2022/select/input/select-input.module.mjs +0 -19
- package/esm2022/select/lucca-front-ng-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -3
- package/esm2022/select/select.module.mjs +0 -19
- package/esm2022/sidepanel/lucca-front-ng-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -4
- package/esm2022/sidepanel/sidepanel.model.mjs +0 -32
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -20
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -25
- package/esm2022/simple-select/api/api-v3.directive.mjs +0 -6
- package/esm2022/simple-select/api/api-v4.directive.mjs +0 -6
- package/esm2022/simple-select/api/api.directive.mjs +0 -6
- package/esm2022/simple-select/api/lucca-front-ng-simple-select-api.mjs +0 -5
- package/esm2022/simple-select/api/public-api.mjs +0 -4
- package/esm2022/simple-select/input/index.mjs +0 -2
- package/esm2022/simple-select/input/panel-ref.factory.mjs +0 -106
- package/esm2022/simple-select/input/select-input.component.mjs +0 -60
- package/esm2022/simple-select/lucca-front-ng-simple-select.mjs +0 -5
- package/esm2022/simple-select/panel/index.mjs +0 -2
- package/esm2022/simple-select/panel/option-selected.pipe.mjs +0 -17
- package/esm2022/simple-select/panel/panel.component.mjs +0 -70
- package/esm2022/simple-select/public-api.mjs +0 -4
- package/esm2022/simple-select/select.model.mjs +0 -3
- package/esm2022/simple-select/select.translate.mjs +0 -7
- package/esm2022/simple-select/translations.mjs +0 -59
- package/esm2022/skeleton/lucca-front-ng-skeleton.mjs +0 -5
- package/esm2022/skeleton/public-api.mjs +0 -4
- package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +0 -17
- package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +0 -17
- package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +0 -17
- package/esm2022/tag/lucca-front-ng-tag.mjs +0 -5
- package/esm2022/tag/public-api.mjs +0 -2
- package/esm2022/tag/tag.component.mjs +0 -61
- package/esm2022/time/core/base-picker.component.mjs +0 -47
- package/esm2022/time/core/date-primitives.mjs +0 -2
- package/esm2022/time/core/date.utils.mjs +0 -54
- package/esm2022/time/core/duration.utils.mjs +0 -55
- package/esm2022/time/core/math.utils.mjs +0 -17
- package/esm2022/time/core/misc.utils.mjs +0 -3
- package/esm2022/time/core/repeat-on-hold.directive.mjs +0 -73
- package/esm2022/time/core/time-picker-part.component.mjs +0 -148
- package/esm2022/time/duration-picker/duration-picker.component.mjs +0 -197
- package/esm2022/time/duration-picker/duration-picker.model.mjs +0 -2
- package/esm2022/time/duration-picker/duration-picker.translate.mjs +0 -7
- package/esm2022/time/duration-picker/translations.mjs +0 -43
- package/esm2022/time/lucca-front-ng-time.mjs +0 -5
- package/esm2022/time/public-api.mjs +0 -5
- package/esm2022/time/time-picker/time-picker.component.mjs +0 -232
- package/esm2022/time/time-picker/time-picker.model.mjs +0 -3
- package/esm2022/time/time-picker/time-picker.translate.mjs +0 -7
- package/esm2022/time/time-picker/translations.mjs +0 -43
- package/esm2022/title/lucca-front-ng-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -6
- package/esm2022/title/title-translate.service.mjs +0 -3
- package/esm2022/title/title.model.mjs +0 -2
- package/esm2022/title/title.module.mjs +0 -20
- package/esm2022/title/title.service.mjs +0 -55
- package/esm2022/title/title.strategy.mjs +0 -60
- package/esm2022/toast/lucca-front-ng-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -9
- package/esm2022/toast/toasts.component.mjs +0 -62
- package/esm2022/toast/toasts.model.mjs +0 -2
- package/esm2022/toast/toasts.module.mjs +0 -16
- package/esm2022/toast/toasts.service.mjs +0 -37
- package/esm2022/toast/toasts.translate.mjs +0 -7
- package/esm2022/toast/translations.mjs +0 -27
- package/esm2022/tooltip/animation/index.mjs +0 -2
- package/esm2022/tooltip/animation/tooltip.animation.mjs +0 -16
- package/esm2022/tooltip/lucca-front-ng-tooltip.mjs +0 -5
- package/esm2022/tooltip/panel/index.mjs +0 -3
- package/esm2022/tooltip/panel/tooltip-panel.component.mjs +0 -44
- package/esm2022/tooltip/panel/tooltip-panel.module.mjs +0 -16
- package/esm2022/tooltip/public-api.mjs +0 -5
- package/esm2022/tooltip/tooltip.module.mjs +0 -17
- package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +0 -81
- package/esm2022/tooltip/trigger/index.mjs +0 -3
- package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +0 -310
- package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +0 -17
- package/esm2022/user/display/display-format.model.mjs +0 -25
- package/esm2022/user/display/index.mjs +0 -4
- package/esm2022/user/display/user-display.module.mjs +0 -17
- package/esm2022/user/display/user-display.pipe.mjs +0 -72
- package/esm2022/user/lucca-front-ng-user.mjs +0 -5
- package/esm2022/user/picture/index.mjs +0 -3
- package/esm2022/user/picture/user-picture.component.mjs +0 -85
- package/esm2022/user/picture/user-picture.module.mjs +0 -19
- package/esm2022/user/public-api.mjs +0 -8
- package/esm2022/user/select/homonyms/index.mjs +0 -4
- package/esm2022/user/select/homonyms/user-homonyms.component.mjs +0 -72
- package/esm2022/user/select/homonyms/user-homonyms.module.mjs +0 -16
- package/esm2022/user/select/homonyms/user-homonyms.service.mjs +0 -53
- package/esm2022/user/select/index.mjs +0 -6
- package/esm2022/user/select/input/index.mjs +0 -4
- package/esm2022/user/select/input/translations.mjs +0 -35
- package/esm2022/user/select/input/user-select-input.component.mjs +0 -89
- package/esm2022/user/select/input/user-select-input.module.mjs +0 -19
- package/esm2022/user/select/input/user-select-input.translate.mjs +0 -7
- package/esm2022/user/select/me/index.mjs +0 -3
- package/esm2022/user/select/me/me-option.directive.mjs +0 -123
- package/esm2022/user/select/me/me-option.module.mjs +0 -16
- package/esm2022/user/select/searcher/index.mjs +0 -4
- package/esm2022/user/select/searcher/translations.mjs +0 -27
- package/esm2022/user/select/searcher/user-searcher.component.mjs +0 -187
- package/esm2022/user/select/searcher/user-searcher.module.mjs +0 -16
- package/esm2022/user/select/searcher/user-searcher.translate.mjs +0 -7
- package/esm2022/user/select/user-select.module.mjs +0 -22
- package/esm2022/user/service/index.mjs +0 -3
- package/esm2022/user/service/user-service.model.mjs +0 -4
- package/esm2022/user/service/user-v3.service.mjs +0 -51
- package/esm2022/user/tile/index.mjs +0 -3
- package/esm2022/user/tile/user-tile.component.mjs +0 -63
- package/esm2022/user/tile/user-tile.module.mjs +0 -20
- package/esm2022/user/user.model.mjs +0 -2
- package/esm2022/user/user.module.mjs +0 -19
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
|
|
2
|
-
import { OverlayConfig, } from '@angular/cdk/overlay';
|
|
3
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
4
|
-
import { generateId } from '@lucca-front/ng/core';
|
|
5
|
-
import { Subject, Subscription, timer } from 'rxjs';
|
|
6
|
-
import { debounce, distinctUntilChanged, map } from 'rxjs/operators';
|
|
7
|
-
// tslint:disable-next-line: max-line-length
|
|
8
|
-
export class ALuPopoverTrigger {
|
|
9
|
-
/** References the popover instance that the trigger is associated with. */
|
|
10
|
-
get panel() {
|
|
11
|
-
return this._panel;
|
|
12
|
-
}
|
|
13
|
-
set panel(p) {
|
|
14
|
-
this._panel = p;
|
|
15
|
-
}
|
|
16
|
-
/** References the popover target instance that the trigger is associated with. */
|
|
17
|
-
get target() {
|
|
18
|
-
return this._target;
|
|
19
|
-
}
|
|
20
|
-
set target(t) {
|
|
21
|
-
this._target = t;
|
|
22
|
-
}
|
|
23
|
-
get triggerEvent() {
|
|
24
|
-
return this._triggerEvent;
|
|
25
|
-
}
|
|
26
|
-
set triggerEvent(te) {
|
|
27
|
-
this._triggerEvent = te;
|
|
28
|
-
if (te === 'hover' || te === 'focus') {
|
|
29
|
-
if (this._hoveredSubscription) {
|
|
30
|
-
this._hoveredSubscription.unsubscribe();
|
|
31
|
-
}
|
|
32
|
-
this._hoveredSubscription = this._hovered$
|
|
33
|
-
.pipe(distinctUntilChanged(), debounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))))
|
|
34
|
-
.subscribe((h) => (h ? this.openPopover() : this.closePopover()));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
get enterDelay() {
|
|
38
|
-
return this._enterDelay;
|
|
39
|
-
}
|
|
40
|
-
set enterDelay(d) {
|
|
41
|
-
this._enterDelay = d;
|
|
42
|
-
}
|
|
43
|
-
get leaveDelay() {
|
|
44
|
-
return this._leaveDelay;
|
|
45
|
-
}
|
|
46
|
-
set leaveDelay(d) {
|
|
47
|
-
this._leaveDelay = d;
|
|
48
|
-
}
|
|
49
|
-
get disabled() {
|
|
50
|
-
return this._disabled;
|
|
51
|
-
}
|
|
52
|
-
set disabled(d) {
|
|
53
|
-
this._disabled = d;
|
|
54
|
-
}
|
|
55
|
-
get whenEllipsis() {
|
|
56
|
-
return this._whenEllipsis;
|
|
57
|
-
}
|
|
58
|
-
set whenEllipsis(we) {
|
|
59
|
-
this._whenEllipsis = we;
|
|
60
|
-
}
|
|
61
|
-
constructor(_overlay, _elementRef, _viewContainerRef) {
|
|
62
|
-
this._overlay = _overlay;
|
|
63
|
-
this._elementRef = _elementRef;
|
|
64
|
-
this._viewContainerRef = _viewContainerRef;
|
|
65
|
-
this._overlayRef = null;
|
|
66
|
-
this._popoverOpen = false;
|
|
67
|
-
this._hovered$ = new Subject();
|
|
68
|
-
// tracking input type is necessary so it's possible to only auto-focus
|
|
69
|
-
// the first item of the list when the popover is opened via the keyboard
|
|
70
|
-
this._openedByMouse = false;
|
|
71
|
-
this._triggerEvent = 'click';
|
|
72
|
-
this._enterDelay = 50;
|
|
73
|
-
this._leaveDelay = 50;
|
|
74
|
-
this._disabled = false;
|
|
75
|
-
this._whenEllipsis = false;
|
|
76
|
-
this._triggerId = `popoverTrigger_${generateId()}`;
|
|
77
|
-
this._panelId = `popoverPanel_${generateId()}`;
|
|
78
|
-
}
|
|
79
|
-
onClick() {
|
|
80
|
-
if (this.triggerEvent === 'click' && !this.disabled) {
|
|
81
|
-
this.togglePopover();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
onMouseEnter() {
|
|
85
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
86
|
-
this._hovered$.next(true);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
onMouseLeave() {
|
|
90
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
91
|
-
this._hovered$.next(false);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
onFocus() {
|
|
95
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
96
|
-
this.openPopover();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
onBlur() {
|
|
100
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
101
|
-
this.closePopover();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/** Toggles the popover between the open and closed states. */
|
|
105
|
-
togglePopover() {
|
|
106
|
-
return this._popoverOpen ? this.closePopover() : this.openPopover();
|
|
107
|
-
}
|
|
108
|
-
/** Opens the popover. */
|
|
109
|
-
openPopover() {
|
|
110
|
-
if (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {
|
|
111
|
-
this._createOverlay();
|
|
112
|
-
this._attachPortalToOverlay();
|
|
113
|
-
/** Only subscribe to overlay detachments if trigger event is hover or focus */
|
|
114
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
115
|
-
this._subscribeToOverlayDetachments();
|
|
116
|
-
}
|
|
117
|
-
/** Only subscribe to backdrop if trigger event is click */
|
|
118
|
-
if (this.triggerEvent === 'click') {
|
|
119
|
-
this._subscribeToBackdrop();
|
|
120
|
-
}
|
|
121
|
-
/** Only subscribe to mouse enter/leave of the panel if trigger = hover */
|
|
122
|
-
this._initPopover();
|
|
123
|
-
this._emitOpen();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/** Closes the popover. */
|
|
127
|
-
closePopover() {
|
|
128
|
-
if (this._overlayRef) {
|
|
129
|
-
/** Overlay can still be attached if close has been triggered by mouse leave. */
|
|
130
|
-
if (this._overlayRef.hasAttached()) {
|
|
131
|
-
this._overlayRef.detach();
|
|
132
|
-
}
|
|
133
|
-
/** unsubscribe to backdrop click if it was defined */
|
|
134
|
-
if (this._backdropSubscription) {
|
|
135
|
-
// if (this.popover.triggerEvent === 'click') {
|
|
136
|
-
this._backdropSubscription.unsubscribe();
|
|
137
|
-
}
|
|
138
|
-
this._resetPopover();
|
|
139
|
-
this._emitClose();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
/** Removes the popover from the DOM. */
|
|
143
|
-
destroyPopover() {
|
|
144
|
-
if (this._overlayRef) {
|
|
145
|
-
this._overlayRef.dispose();
|
|
146
|
-
this._overlayRef = null;
|
|
147
|
-
this._cleanUpSubscriptions();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/** Focuses the popover trigger. */
|
|
151
|
-
focus() {
|
|
152
|
-
this._elementRef.nativeElement.focus();
|
|
153
|
-
}
|
|
154
|
-
_handleMousedown(event) {
|
|
155
|
-
if (!isFakeMousedownFromScreenReader(event)) {
|
|
156
|
-
this._openedByMouse = true;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/** The text direction of the containing app. */
|
|
160
|
-
get dir() {
|
|
161
|
-
// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
|
|
162
|
-
return 'ltr';
|
|
163
|
-
}
|
|
164
|
-
/** Return if the popover main positionning is vertical */
|
|
165
|
-
get isVerticallyPositionned() {
|
|
166
|
-
const position = this.target.position;
|
|
167
|
-
return position === 'below' || position === 'above';
|
|
168
|
-
}
|
|
169
|
-
_attachPortalToOverlay() {
|
|
170
|
-
this._overlayRef.attach(this._portal);
|
|
171
|
-
}
|
|
172
|
-
_getPanelScrollStrategy() {
|
|
173
|
-
return this.panel.scrollStrategy;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* This method ensures that the popover
|
|
177
|
-
*/
|
|
178
|
-
_subscribeToPanelEvents() {
|
|
179
|
-
if (this._overlayRef) {
|
|
180
|
-
this._panelEventsSubscriptions = new Subscription();
|
|
181
|
-
if (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {
|
|
182
|
-
this._panelEventsSubscriptions.add(this.panel.hovered.subscribe((hovered) => {
|
|
183
|
-
this._hovered$.next(hovered);
|
|
184
|
-
}));
|
|
185
|
-
}
|
|
186
|
-
this._panelEventsSubscriptions.add(this.panel.close.subscribe(() => {
|
|
187
|
-
this.closePopover();
|
|
188
|
-
}));
|
|
189
|
-
this._panelEventsSubscriptions.add(this.panel.open.subscribe(() => {
|
|
190
|
-
this.openPopover();
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* This method ensures that the popover closes when the overlay has been detached
|
|
196
|
-
* Detach can occur if we scroll while popover is opened
|
|
197
|
-
*/
|
|
198
|
-
_subscribeToOverlayDetachments() {
|
|
199
|
-
if (this._overlayRef) {
|
|
200
|
-
this._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {
|
|
201
|
-
this._hovered$.next(false);
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* This method ensures that the popover closes when the overlay backdrop is clicked.
|
|
207
|
-
* We do not use first() here because doing so would not catch clicks from within
|
|
208
|
-
* the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe
|
|
209
|
-
* explicitly when the popover is closed or destroyed.
|
|
210
|
-
*/
|
|
211
|
-
_subscribeToBackdrop() {
|
|
212
|
-
if (this._overlayRef) {
|
|
213
|
-
this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {
|
|
214
|
-
this.closePopover();
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* This method sets the popover state to open and focuses the first item if
|
|
220
|
-
* the popover was opened via the keyboard.
|
|
221
|
-
*/
|
|
222
|
-
_initPopover() {
|
|
223
|
-
this._setIsPopoverOpen(true);
|
|
224
|
-
this.panel.panelId = this._panelId;
|
|
225
|
-
this.panel.triggerId = this._triggerId;
|
|
226
|
-
this.panel.keydownEvents$ = this._overlayRef.keydownEvents();
|
|
227
|
-
this._subscribeToPanelEvents();
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* This method resets the popover when it's closed, most importantly restoring
|
|
231
|
-
* focus to the popover trigger if the popover was opened via the keyboard.
|
|
232
|
-
*/
|
|
233
|
-
_resetPopover() {
|
|
234
|
-
this._setIsPopoverOpen(false);
|
|
235
|
-
// Focus only needs to be reset to the host element if the popover was opened
|
|
236
|
-
// by the keyboard and manually shifted to the first popover item.
|
|
237
|
-
if (!this._openedByMouse && this.triggerEvent === 'click') {
|
|
238
|
-
this.focus();
|
|
239
|
-
}
|
|
240
|
-
this._openedByMouse = false;
|
|
241
|
-
}
|
|
242
|
-
/** set state rather than toggle to support triggers sharing a popover */
|
|
243
|
-
_setIsPopoverOpen(isOpen) {
|
|
244
|
-
this._popoverOpen = isOpen;
|
|
245
|
-
// tell the panel it's opening/closing
|
|
246
|
-
isOpen ? this.panel.onOpen() : this.panel.onClose();
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* This method checks that a valid instance of MdPopover has been passed into
|
|
250
|
-
* mdPopoverTriggerFor. If not, an exception is thrown.
|
|
251
|
-
*/
|
|
252
|
-
_checkPanel() {
|
|
253
|
-
if (!this.panel) {
|
|
254
|
-
throw Error(`lu-popover-trigger: must pass in a lu-popover instance.
|
|
255
|
-
Example:
|
|
256
|
-
<lu-popover #popover="LuPopover"></lu-popover>
|
|
257
|
-
<button type="button" [luPopover]="popover"></button>`);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
_checkTarget() {
|
|
261
|
-
if (!this.target) {
|
|
262
|
-
throw Error(`lu-popover-trigger: must pass in a popover target instance.`);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* This method creates the overlay from the provided popover's template and saves its
|
|
267
|
-
* OverlayRef so that it can be attached to the DOM when openPopover is called.
|
|
268
|
-
*/
|
|
269
|
-
_createOverlay() {
|
|
270
|
-
if (!this._overlayRef) {
|
|
271
|
-
this._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);
|
|
272
|
-
const config = this._getOverlayConfig();
|
|
273
|
-
this._subscribeToPositions(config.positionStrategy);
|
|
274
|
-
this._overlayRef = this._overlay.create(config);
|
|
275
|
-
this._panel.overlayRef = this._overlayRef;
|
|
276
|
-
}
|
|
277
|
-
return this._overlayRef;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* This method builds the configuration object needed to create the overlay, the OverlayConfig.
|
|
281
|
-
* @returns OverlayConfig
|
|
282
|
-
*/
|
|
283
|
-
_getOverlayConfig() {
|
|
284
|
-
const overlayState = new OverlayConfig();
|
|
285
|
-
overlayState.positionStrategy = this._getPosition();
|
|
286
|
-
/** Display overlay backdrop if trigger event is click */
|
|
287
|
-
if (this.triggerEvent === 'click') {
|
|
288
|
-
overlayState.hasBackdrop = true;
|
|
289
|
-
overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
|
|
290
|
-
}
|
|
291
|
-
overlayState.direction = this.dir;
|
|
292
|
-
const scrollStrategy = this._getPanelScrollStrategy();
|
|
293
|
-
switch (scrollStrategy) {
|
|
294
|
-
case 'block':
|
|
295
|
-
overlayState.scrollStrategy = this._overlay.scrollStrategies.block();
|
|
296
|
-
break;
|
|
297
|
-
case 'close':
|
|
298
|
-
overlayState.scrollStrategy = this._overlay.scrollStrategies.close();
|
|
299
|
-
break;
|
|
300
|
-
default:
|
|
301
|
-
overlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();
|
|
302
|
-
break;
|
|
303
|
-
}
|
|
304
|
-
return overlayState;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Listens to changes in the position of the overlay and sets the correct classes
|
|
308
|
-
* on the popover based on the new position. This ensures the animation origin is always
|
|
309
|
-
* correct, even if a fallback position is used for the overlay.
|
|
310
|
-
*/
|
|
311
|
-
_subscribeToPositions(position) {
|
|
312
|
-
this._positionSubscription = position.positionChanges
|
|
313
|
-
.pipe(map((c) => c.connectionPair), distinctUntilChanged())
|
|
314
|
-
.subscribe((connectionPair) => {
|
|
315
|
-
this.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* This method builds the position strategy for the overlay, so the popover is properly connected
|
|
320
|
-
* to the trigger.
|
|
321
|
-
* @returns FlexibleConnectedPositionStrategy
|
|
322
|
-
*/
|
|
323
|
-
_getPosition() {
|
|
324
|
-
/**
|
|
325
|
-
* For overriding position element, when LuPopoverTargetAt has a valid element reference.
|
|
326
|
-
* Useful for sticking popover to parent element and offsetting arrow to trigger element.
|
|
327
|
-
* If undefined defaults to the trigger element reference.
|
|
328
|
-
*/
|
|
329
|
-
const element = this.target.elementRef;
|
|
330
|
-
// if (typeof this.targetElement !== 'undefined' && this.popover) {
|
|
331
|
-
// this.popover.containerPositioning = true;
|
|
332
|
-
// element = this.targetElement._elementRef;
|
|
333
|
-
// }
|
|
334
|
-
const connectionPosition = {
|
|
335
|
-
originX: 'start',
|
|
336
|
-
originY: 'top',
|
|
337
|
-
};
|
|
338
|
-
// Position
|
|
339
|
-
const position = this.target.position;
|
|
340
|
-
const overlap = this.target.overlap;
|
|
341
|
-
if (position === 'above') {
|
|
342
|
-
connectionPosition.originY = overlap ? 'bottom' : 'top';
|
|
343
|
-
}
|
|
344
|
-
else if (position === 'below') {
|
|
345
|
-
connectionPosition.originY = overlap ? 'top' : 'bottom';
|
|
346
|
-
}
|
|
347
|
-
else if (position === 'before') {
|
|
348
|
-
connectionPosition.originX = overlap ? 'end' : 'start';
|
|
349
|
-
}
|
|
350
|
-
else if (position === 'after') {
|
|
351
|
-
connectionPosition.originX = overlap ? 'start' : 'end';
|
|
352
|
-
}
|
|
353
|
-
// Alignment
|
|
354
|
-
const alignment = this.target.alignment;
|
|
355
|
-
if (this.isVerticallyPositionned) {
|
|
356
|
-
if (alignment === 'left') {
|
|
357
|
-
connectionPosition.originX = 'start';
|
|
358
|
-
}
|
|
359
|
-
else if (alignment === 'right') {
|
|
360
|
-
connectionPosition.originX = 'end';
|
|
361
|
-
}
|
|
362
|
-
else {
|
|
363
|
-
connectionPosition.originX = 'center';
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
if (alignment === 'top') {
|
|
368
|
-
connectionPosition.originY = 'top';
|
|
369
|
-
}
|
|
370
|
-
else if (alignment === 'bottom') {
|
|
371
|
-
connectionPosition.originY = 'bottom';
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
connectionPosition.originY = 'center';
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
const overlayPosition = {
|
|
378
|
-
overlayX: 'start',
|
|
379
|
-
overlayY: 'top',
|
|
380
|
-
};
|
|
381
|
-
if (overlap) {
|
|
382
|
-
overlayPosition.overlayX = connectionPosition.originX;
|
|
383
|
-
overlayPosition.overlayY = connectionPosition.originY;
|
|
384
|
-
}
|
|
385
|
-
else if (this.isVerticallyPositionned) {
|
|
386
|
-
overlayPosition.overlayX = connectionPosition.originX;
|
|
387
|
-
overlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';
|
|
388
|
-
}
|
|
389
|
-
else {
|
|
390
|
-
overlayPosition.overlayX = position === 'before' ? 'end' : 'start';
|
|
391
|
-
overlayPosition.overlayY = connectionPosition.originY;
|
|
392
|
-
}
|
|
393
|
-
return this._overlay
|
|
394
|
-
.position()
|
|
395
|
-
.flexibleConnectedTo(element)
|
|
396
|
-
.withPositions([
|
|
397
|
-
{
|
|
398
|
-
originX: connectionPosition.originX,
|
|
399
|
-
originY: connectionPosition.originY,
|
|
400
|
-
overlayX: overlayPosition.overlayX,
|
|
401
|
-
overlayY: overlayPosition.overlayY,
|
|
402
|
-
},
|
|
403
|
-
{
|
|
404
|
-
originX: connectionPosition.originX,
|
|
405
|
-
originY: this._invertVerticalPos(connectionPosition.originY),
|
|
406
|
-
overlayX: overlayPosition.overlayX,
|
|
407
|
-
overlayY: this._invertVerticalPos(overlayPosition.overlayY),
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
originX: this._invertHorizontalPos(connectionPosition.originX),
|
|
411
|
-
originY: connectionPosition.originY,
|
|
412
|
-
overlayX: this._invertHorizontalPos(overlayPosition.overlayX),
|
|
413
|
-
overlayY: overlayPosition.overlayY,
|
|
414
|
-
},
|
|
415
|
-
{
|
|
416
|
-
originX: this._invertHorizontalPos(connectionPosition.originX),
|
|
417
|
-
originY: this._invertVerticalPos(connectionPosition.originY),
|
|
418
|
-
overlayX: this._invertHorizontalPos(overlayPosition.overlayX),
|
|
419
|
-
overlayY: this._invertVerticalPos(overlayPosition.overlayY),
|
|
420
|
-
},
|
|
421
|
-
])
|
|
422
|
-
.withDefaultOffsetX(this.target.offsetX)
|
|
423
|
-
.withDefaultOffsetY(this.target.offsetY);
|
|
424
|
-
}
|
|
425
|
-
_invertVerticalPos(y) {
|
|
426
|
-
if (y === 'top') {
|
|
427
|
-
y = 'bottom';
|
|
428
|
-
}
|
|
429
|
-
else if (y === 'bottom') {
|
|
430
|
-
y = 'top';
|
|
431
|
-
}
|
|
432
|
-
return y;
|
|
433
|
-
}
|
|
434
|
-
_invertHorizontalPos(x) {
|
|
435
|
-
if (x === 'end') {
|
|
436
|
-
x = 'start';
|
|
437
|
-
}
|
|
438
|
-
else if (x === 'start') {
|
|
439
|
-
x = 'end';
|
|
440
|
-
}
|
|
441
|
-
return x;
|
|
442
|
-
}
|
|
443
|
-
_cleanUpSubscriptions() {
|
|
444
|
-
if (this._backdropSubscription) {
|
|
445
|
-
this._backdropSubscription.unsubscribe();
|
|
446
|
-
}
|
|
447
|
-
if (this._positionSubscription) {
|
|
448
|
-
this._positionSubscription.unsubscribe();
|
|
449
|
-
}
|
|
450
|
-
if (this._hoveredSubscription) {
|
|
451
|
-
this._hoveredSubscription.unsubscribe();
|
|
452
|
-
}
|
|
453
|
-
if (this._panelEventsSubscriptions) {
|
|
454
|
-
this._panelEventsSubscriptions.unsubscribe();
|
|
455
|
-
}
|
|
456
|
-
if (this._overlayDetachmentsSubscription) {
|
|
457
|
-
this._overlayDetachmentsSubscription.unsubscribe();
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
_hasEllipsis() {
|
|
461
|
-
if (!(this._elementRef.nativeElement instanceof HTMLElement)) {
|
|
462
|
-
return false;
|
|
463
|
-
}
|
|
464
|
-
const { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;
|
|
465
|
-
const textClampedByWidth = scrollWidth > clientWidth;
|
|
466
|
-
const textClampedByHeight = scrollHeight > clientHeight;
|
|
467
|
-
return textClampedByWidth || textClampedByHeight;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvcG9wb3Zlci90cmlnZ2VyL3BvcG92ZXItdHJpZ2dlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRSxPQUFPLEVBS04sYUFBYSxHQUliLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFzQ3JFLDRDQUE0QztBQUM1QyxNQUFNLE9BQWdCLGlCQUFpQjtJQW9CdEMsMkVBQTJFO0lBQzNFLElBQUksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBR0Qsa0ZBQWtGO0lBQ2xGLElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsQ0FBVTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR0QsSUFBSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxFQUF5QjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVB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QUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUVoRyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDckQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRXhELE9BQU8sa0JBQWtCLElBQUksbUJBQW1CLENBQUM7SUFDbEQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7XG5cdEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcblx0SG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG5cdE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbixcblx0T3ZlcmxheSxcblx0T3ZlcmxheUNvbmZpZyxcblx0T3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbixcblx0T3ZlcmxheVJlZixcblx0VmVydGljYWxDb25uZWN0aW9uUG9zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJTHVQb3BvdmVyUGFuZWwsIEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnLi4vcGFuZWwvaW5kZXgnO1xuaW1wb3J0IHsgSUx1UG9wb3ZlclRhcmdldCB9IGZyb20gJy4uL3RhcmdldC9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIEx1UG9wb3ZlclRyaWdnZXJFdmVudCA9ICdjbGljaycgfCAnaG92ZXInIHwgJ25vbmUnIHwgJ2ZvY3VzJztcblxuLyoqXG4gKiBjb21wb25lbnQgdGhhdCB3aWxsIGRlY2lkZSB3aGVuIHRvIHNob3cgdGhlIHBvcG92ZXIgYW5kIGF0dGFjaCBpdCB0byB0aGUgdGFyZ2V0XG4gKi9cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJTHVQb3BvdmVyVHJpZ2dlcjxUUGFuZWwgZXh0ZW5kcyBJTHVQb3BvdmVyUGFuZWwgPSBJTHVQb3BvdmVyUGFuZWwsIFRUYXJnZXQgZXh0ZW5kcyBJTHVQb3BvdmVyVGFyZ2V0ID0gSUx1UG9wb3ZlclRhcmdldD4ge1xuXHQvKiogdGhlIHBvcG92ZXIgcGFuZWwgdG8gZGlzcGxheSAqL1xuXHRwYW5lbDogVFBhbmVsO1xuXHQvKiogdGhlIHBvcG92ZXIgdGFyZ2V0IHRvIGF0dGFjaCB0aGUgcGFuZWwgKi9cblx0dGFyZ2V0OiBUVGFyZ2V0O1xuXG5cdC8qKiB3aGVuIHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgKi9cblx0dHJpZ2dlckV2ZW50OiBMdVBvcG92ZXJUcmlnZ2VyRXZlbnQ7XG5cdC8qKiBkZWxheSBiZWZvcmUgcG9wb3ZlciBhcHBhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXG5cdGVudGVyRGVsYXk6IG51bWJlcjtcblx0LyoqIGRlbGF5IGJlZm9yZSBwb3BvdmVyIGRpc3Bhcml0aW9uIHdoZW4gdHJpZ2dlciBpcyAnaG92ZXInICovXG5cdGxlYXZlRGVsYXk6IG51bWJlcjtcblxuXHQvKiogZGlzYWJsZSBwb3BvdmVyIGFwcGFyaXRpb24gKi9cblx0ZGlzYWJsZWQ6IGJvb2xlYW47XG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBvcGVuZWQuICovXG5cdG9uT3BlbjogT2JzZXJ2YWJsZTx2b2lkPjtcblx0LyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBwb3BvdmVyIGlzIGNsb3NlZC4gKi9cblx0b25DbG9zZTogT2JzZXJ2YWJsZTx2b2lkPjtcblxuXHRvcGVuUG9wb3ZlcigpO1xuXG5cdGNsb3NlUG9wb3ZlcigpO1xuXG5cdHRvZ2dsZVBvcG92ZXIoKTtcblxuXHRkZXN0cm95UG9wb3ZlcigpO1xufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCBleHRlbmRzIElMdVBvcG92ZXJQYW5lbCA9IElMdVBvcG92ZXJQYW5lbCwgVFRhcmdldCBleHRlbmRzIElMdVBvcG92ZXJUYXJnZXQgPSBJTHVQb3BvdmVyVGFyZ2V0PiBpbXBsZW1lbnRzIElMdVBvcG92ZXJUcmlnZ2VyPFRQYW5lbCwgVFRhcmdldD4ge1xuXHRwcm90ZWN0ZWQgX3BvcnRhbDogVGVtcGxhdGVQb3J0YWw8dW5rbm93bj4gfCBDb21wb25lbnRQb3J0YWw8VFBhbmVsPjtcblx0cHJvdGVjdGVkIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cdHByb3RlY3RlZCBfcG9wb3Zlck9wZW4gPSBmYWxzZTtcblx0Ly8gcHJvdGVjdGVkIF9oYWx0ID0gZmFsc2U7XG5cdHByb3RlY3RlZCBfYmFja2Ryb3BTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblx0cHJvdGVjdGVkIF9wb3NpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdHByb3RlY3RlZCBfbW91c2VvdmVyVGltZXI6IHVua25vd247XG5cblx0cHJvdGVjdGVkIF9ob3ZlcmVkJCA9IG5ldyBTdWJqZWN0KCk7XG5cdHByb3RlY3RlZCBfaG92ZXJlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXHRwcm90ZWN0ZWQgX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXHRwcm90ZWN0ZWQgX292ZXJsYXlEZXRhY2htZW50c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG5cdC8vIHRyYWNraW5nIGlucHV0IHR5cGUgaXMgbmVjZXNzYXJ5IHNvIGl0J3MgcG9zc2libGUgdG8gb25seSBhdXRvLWZvY3VzXG5cdC8vIHRoZSBmaXJzdCBpdGVtIG9mIHRoZSBsaXN0IHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkIHZpYSB0aGUga2V5Ym9hcmRcblx0cHJvdGVjdGVkIF9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XG5cblx0cHJvdGVjdGVkIF9wYW5lbDogVFBhbmVsO1xuXHQvKiogUmVmZXJlbmNlcyB0aGUgcG9wb3ZlciBpbnN0YW5jZSB0aGF0IHRoZSB0cmlnZ2VyIGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cblx0Z2V0IHBhbmVsKCkge1xuXHRcdHJldHVybiB0aGlzLl9wYW5lbDtcblx0fVxuXG5cdHNldCBwYW5lbChwOiBUUGFuZWwpIHtcblx0XHR0aGlzLl9wYW5lbCA9IHA7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3RhcmdldDogVFRhcmdldDtcblx0LyoqIFJlZmVyZW5jZXMgdGhlIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlIHRoYXQgdGhlIHRyaWdnZXIgaXMgYXNzb2NpYXRlZCB3aXRoLiAqL1xuXHRnZXQgdGFyZ2V0KCkge1xuXHRcdHJldHVybiB0aGlzLl90YXJnZXQ7XG5cdH1cblxuXHRzZXQgdGFyZ2V0KHQ6IFRUYXJnZXQpIHtcblx0XHR0aGlzLl90YXJnZXQgPSB0O1xuXHR9XG5cblx0cHJvdGVjdGVkIF90cmlnZ2VyRXZlbnQ6IEx1UG9wb3ZlclRyaWdnZXJFdmVudCA9ICdjbGljayc7XG5cdGdldCB0cmlnZ2VyRXZlbnQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3RyaWdnZXJFdmVudDtcblx0fVxuXG5cdHNldCB0cmlnZ2VyRXZlbnQodGU6IEx1UG9wb3ZlclRyaWdnZXJFdmVudCkge1xuXHRcdHRoaXMuX3RyaWdnZXJFdmVudCA9IHRlO1xuXHRcdGlmICh0ZSA9PT0gJ2hvdmVyJyB8fCB0ZSA9PT0gJ2ZvY3VzJykge1xuXHRcdFx0aWYgKHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24pIHtcblx0XHRcdFx0dGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5faG92ZXJlZFN1YnNjcmlwdGlvbiA9IHRoaXMuX2hvdmVyZWQkXG5cdFx0XHRcdC5waXBlKFxuXHRcdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG5cdFx0XHRcdFx0ZGVib3VuY2UoKGgpID0+IChoID8gdGltZXIodGhpcy5lbnRlckRlbGF5KSA6IHRpbWVyKHRoaXMubGVhdmVEZWxheSkpKSxcblx0XHRcdFx0KVxuXHRcdFx0XHQuc3Vic2NyaWJlKChoKSA9PiAoaCA/IHRoaXMub3BlblBvcG92ZXIoKSA6IHRoaXMuY2xvc2VQb3BvdmVyKCkpKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2VudGVyRGVsYXkgPSA1MDtcblx0Z2V0IGVudGVyRGVsYXkoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2VudGVyRGVsYXk7XG5cdH1cblxuXHRzZXQgZW50ZXJEZWxheShkOiBudW1iZXIpIHtcblx0XHR0aGlzLl9lbnRlckRlbGF5ID0gZDtcblx0fVxuXG5cdHByb3RlY3RlZCBfbGVhdmVEZWxheSA9IDUwO1xuXHRnZXQgbGVhdmVEZWxheSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbGVhdmVEZWxheTtcblx0fVxuXG5cdHNldCBsZWF2ZURlbGF5KGQ6IG51bWJlcikge1xuXHRcdHRoaXMuX2xlYXZlRGVsYXkgPSBkO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuXHRnZXQgZGlzYWJsZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuXHR9XG5cblx0c2V0IGRpc2FibGVkKGQ6IGJvb2xlYW4pIHtcblx0XHR0aGlzLl9kaXNhYmxlZCA9IGQ7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3doZW5FbGxpcHNpcyA9IGZhbHNlO1xuXHRnZXQgd2hlbkVsbGlwc2lzKCkge1xuXHRcdHJldHVybiB0aGlzLl93aGVuRWxsaXBzaXM7XG5cdH1cblxuXHRzZXQgd2hlbkVsbGlwc2lzKHdlOiBib29sZWFuKSB7XG5cdFx0dGhpcy5fd2hlbkVsbGlwc2lzID0gd2U7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX3RyaWdnZXJJZDogc3RyaW5nO1xuXHRwcm90ZWN0ZWQgX3BhbmVsSWQ6IHN0cmluZztcblxuXHQvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIHBvcG92ZXIgaXMgb3BlbmVkLiAqL1xuXHRhYnN0cmFjdCBvbk9wZW46IE9ic2VydmFibGU8dm9pZD47XG5cdC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgcG9wb3ZlciBpcyBjbG9zZWQuICovXG5cdGFic3RyYWN0IG9uQ2xvc2U6IE9ic2VydmFibGU8dm9pZD47XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IF9lbWl0T3BlbigpOiB2b2lkO1xuXG5cdHByb3RlY3RlZCBhYnN0cmFjdCBfZW1pdENsb3NlKCk6IHZvaWQ7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIF9vdmVybGF5OiBPdmVybGF5LFxuXHRcdHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG5cdFx0cHJvdGVjdGVkIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuXHQpIHtcblx0XHR0aGlzLl90cmlnZ2VySWQgPSBgcG9wb3ZlclRyaWdnZXJfJHtnZW5lcmF0ZUlkKCl9YDtcblx0XHR0aGlzLl9wYW5lbElkID0gYHBvcG92ZXJQYW5lbF8ke2dlbmVyYXRlSWQoKX1gO1xuXHR9XG5cblx0b25DbGljaygpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycgJiYgIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMudG9nZ2xlUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdHRoaXMuX2hvdmVyZWQkLm5leHQodHJ1ZSk7XG5cdFx0fVxuXHR9XG5cblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2hvdmVyJyB8fCB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2ZvY3VzJykge1xuXHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0b25Gb2N1cygpIHtcblx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdHRoaXMub3BlblBvcG92ZXIoKTtcblx0XHR9XG5cdH1cblxuXHRvbkJsdXIoKSB7XG5cdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XG5cdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBUb2dnbGVzIHRoZSBwb3BvdmVyIGJldHdlZW4gdGhlIG9wZW4gYW5kIGNsb3NlZCBzdGF0ZXMuICovXG5cdHRvZ2dsZVBvcG92ZXIoKTogdm9pZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BvcG92ZXJPcGVuID8gdGhpcy5jbG9zZVBvcG92ZXIoKSA6IHRoaXMub3BlblBvcG92ZXIoKTtcblx0fVxuXG5cdC8qKiBPcGVucyB0aGUgcG9wb3Zlci4gKi9cblx0b3BlblBvcG92ZXIoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLl9wb3BvdmVyT3BlbiAmJiAhdGhpcy5fZGlzYWJsZWQgJiYgKCF0aGlzLl93aGVuRWxsaXBzaXMgfHwgdGhpcy5faGFzRWxsaXBzaXMoKSkpIHtcblx0XHRcdHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcblx0XHRcdHRoaXMuX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpO1xuXG5cdFx0XHQvKiogT25seSBzdWJzY3JpYmUgdG8gb3ZlcmxheSBkZXRhY2htZW50cyBpZiB0cmlnZ2VyIGV2ZW50IGlzIGhvdmVyIG9yIGZvY3VzICovXG5cdFx0XHRpZiAodGhpcy50cmlnZ2VyRXZlbnQgPT09ICdob3ZlcicgfHwgdGhpcy50cmlnZ2VyRXZlbnQgPT09ICdmb2N1cycpIHtcblx0XHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9PdmVybGF5RGV0YWNobWVudHMoKTtcblx0XHRcdH1cblxuXHRcdFx0LyoqIE9ubHkgc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGlmIHRyaWdnZXIgZXZlbnQgaXMgY2xpY2sgKi9cblx0XHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0XHR0aGlzLl9zdWJzY3JpYmVUb0JhY2tkcm9wKCk7XG5cdFx0XHR9XG5cblx0XHRcdC8qKiBPbmx5IHN1YnNjcmliZSB0byBtb3VzZSBlbnRlci9sZWF2ZSBvZiB0aGUgcGFuZWwgaWYgdHJpZ2dlciA9IGhvdmVyICovXG5cblx0XHRcdHRoaXMuX2luaXRQb3BvdmVyKCk7XG5cdFx0XHR0aGlzLl9lbWl0T3BlbigpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBDbG9zZXMgdGhlIHBvcG92ZXIuICovXG5cdGNsb3NlUG9wb3ZlcigpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0LyoqIE92ZXJsYXkgY2FuIHN0aWxsIGJlIGF0dGFjaGVkIGlmIGNsb3NlIGhhcyBiZWVuIHRyaWdnZXJlZCBieSBtb3VzZSBsZWF2ZS4gKi9cblx0XHRcdGlmICh0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcblx0XHRcdFx0dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdH1cblxuXHRcdFx0LyoqIHVuc3Vic2NyaWJlIHRvIGJhY2tkcm9wIGNsaWNrIGlmIGl0IHdhcyBkZWZpbmVkICovXG5cdFx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcblx0XHRcdFx0Ly8gaWYgKHRoaXMucG9wb3Zlci50cmlnZ2VyRXZlbnQgPT09ICdjbGljaycpIHtcblx0XHRcdFx0dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5fcmVzZXRQb3BvdmVyKCk7XG5cdFx0XHR0aGlzLl9lbWl0Q2xvc2UoKTtcblx0XHR9XG5cdH1cblxuXHQvKiogUmVtb3ZlcyB0aGUgcG9wb3ZlciBmcm9tIHRoZSBET00uICovXG5cdGRlc3Ryb3lQb3BvdmVyKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSBudWxsO1xuXHRcdFx0dGhpcy5fY2xlYW5VcFN1YnNjcmlwdGlvbnMoKTtcblx0XHR9XG5cdH1cblxuXHQvKiogRm9jdXNlcyB0aGUgcG9wb3ZlciB0cmlnZ2VyLiAqL1xuXHRmb2N1cygpIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0fVxuXG5cdF9oYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcblx0XHRpZiAoIWlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpKSB7XG5cdFx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHQvKiogVGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBjb250YWluaW5nIGFwcC4gKi9cblx0Z2V0IGRpcigpOiBEaXJlY3Rpb24ge1xuXHRcdC8vIHJldHVybiB0aGlzLl9kaXIgJiYgdGhpcy5fZGlyLnZhbHVlID09PSAncnRsJyA/ICdydGwnIDogJ2x0cic7XG5cdFx0cmV0dXJuICdsdHInO1xuXHR9XG5cblx0LyoqIFJldHVybiBpZiB0aGUgcG9wb3ZlciBtYWluIHBvc2l0aW9ubmluZyBpcyB2ZXJ0aWNhbCAqL1xuXHRnZXQgaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgcG9zaXRpb24gPSB0aGlzLnRhcmdldC5wb3NpdGlvbjtcblx0XHRyZXR1cm4gcG9zaXRpb24gPT09ICdiZWxvdycgfHwgcG9zaXRpb24gPT09ICdhYm92ZSc7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2F0dGFjaFBvcnRhbFRvT3ZlcmxheSgpOiB2b2lkIHtcblx0XHR0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk6IEx1UG9wb3ZlclNjcm9sbFN0cmF0ZWd5IHtcblx0XHRyZXR1cm4gdGhpcy5wYW5lbC5zY3JvbGxTdHJhdGVneTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIHBvcG92ZXJcblx0ICovXG5cdHByb3RlY3RlZCBfc3Vic2NyaWJlVG9QYW5lbEV2ZW50cygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXHRcdFx0aWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSAnaG92ZXInIHx8IHRoaXMudHJpZ2dlckV2ZW50ID09PSAnZm9jdXMnKSB7XG5cdFx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXG5cdFx0XHRcdFx0dGhpcy5wYW5lbC5ob3ZlcmVkLnN1YnNjcmliZSgoaG92ZXJlZCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChob3ZlcmVkKTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucy5hZGQoXG5cdFx0XHRcdHRoaXMucGFuZWwuY2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmNsb3NlUG9wb3ZlcigpO1xuXHRcdFx0XHR9KSxcblx0XHRcdCk7XG5cdFx0XHR0aGlzLl9wYW5lbEV2ZW50c1N1YnNjcmlwdGlvbnMuYWRkKFxuXHRcdFx0XHR0aGlzLnBhbmVsLm9wZW4uc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLm9wZW5Qb3BvdmVyKCk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGhhcyBiZWVuIGRldGFjaGVkXG5cdCAqIERldGFjaCBjYW4gb2NjdXIgaWYgd2Ugc2Nyb2xsIHdoaWxlIHBvcG92ZXIgaXMgb3BlbmVkXG5cdCAqL1xuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvT3ZlcmxheURldGFjaG1lbnRzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9vdmVybGF5RGV0YWNobWVudHNTdWJzY3JpcHRpb24gPSB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdFx0dGhpcy5faG92ZXJlZCQubmV4dChmYWxzZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IHRoZSBwb3BvdmVyIGNsb3NlcyB3aGVuIHRoZSBvdmVybGF5IGJhY2tkcm9wIGlzIGNsaWNrZWQuXG5cdCAqIFdlIGRvIG5vdCB1c2UgZmlyc3QoKSBoZXJlIGJlY2F1c2UgZG9pbmcgc28gd291bGQgbm90IGNhdGNoIGNsaWNrcyBmcm9tIHdpdGhpblxuXHQgKiB0aGUgcG9wb3ZlciwgYW5kIGl0IHdvdWxkIGZhaWwgdG8gdW5zdWJzY3JpYmUgcHJvcGVybHkuIEluc3RlYWQsIHdlIHVuc3Vic2NyaWJlXG5cdCAqIGV4cGxpY2l0bHkgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWQgb3IgZGVzdHJveWVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9zdWJzY3JpYmVUb0JhY2tkcm9wKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG5cdFx0XHR0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2xvc2VQb3BvdmVyKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2Qgc2V0cyB0aGUgcG9wb3ZlciBzdGF0ZSB0byBvcGVuIGFuZCBmb2N1c2VzIHRoZSBmaXJzdCBpdGVtIGlmXG5cdCAqIHRoZSBwb3BvdmVyIHdhcyBvcGVuZWQgdmlhIHRoZSBrZXlib2FyZC5cblx0ICovXG5cdHByb3RlY3RlZCBfaW5pdFBvcG92ZXIoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3Blbih0cnVlKTtcblx0XHR0aGlzLnBhbmVsLnBhbmVsSWQgPSB0aGlzLl9wYW5lbElkO1xuXHRcdHRoaXMucGFuZWwudHJpZ2dlcklkID0gdGhpcy5fdHJpZ2dlcklkO1xuXHRcdHRoaXMucGFuZWwua2V5ZG93bkV2ZW50cyQgPSB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKTtcblx0XHR0aGlzLl9zdWJzY3JpYmVUb1BhbmVsRXZlbnRzKCk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgcmVzZXRzIHRoZSBwb3BvdmVyIHdoZW4gaXQncyBjbG9zZWQsIG1vc3QgaW1wb3J0YW50bHkgcmVzdG9yaW5nXG5cdCAqIGZvY3VzIHRvIHRoZSBwb3BvdmVyIHRyaWdnZXIgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZCB2aWEgdGhlIGtleWJvYXJkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9yZXNldFBvcG92ZXIoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0SXNQb3BvdmVyT3BlbihmYWxzZSk7XG5cblx0XHQvLyBGb2N1cyBvbmx5IG5lZWRzIHRvIGJlIHJlc2V0IHRvIHRoZSBob3N0IGVsZW1lbnQgaWYgdGhlIHBvcG92ZXIgd2FzIG9wZW5lZFxuXHRcdC8vIGJ5IHRoZSBrZXlib2FyZCBhbmQgbWFudWFsbHkgc2hpZnRlZCB0byB0aGUgZmlyc3QgcG9wb3ZlciBpdGVtLlxuXHRcdGlmICghdGhpcy5fb3BlbmVkQnlNb3VzZSAmJiB0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0dGhpcy5mb2N1cygpO1xuXHRcdH1cblx0XHR0aGlzLl9vcGVuZWRCeU1vdXNlID0gZmFsc2U7XG5cdH1cblxuXHQvKiogc2V0IHN0YXRlIHJhdGhlciB0aGFuIHRvZ2dsZSB0byBzdXBwb3J0IHRyaWdnZXJzIHNoYXJpbmcgYSBwb3BvdmVyICovXG5cdHByb3RlY3RlZCBfc2V0SXNQb3BvdmVyT3Blbihpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLl9wb3BvdmVyT3BlbiA9IGlzT3Blbjtcblx0XHQvLyB0ZWxsIHRoZSBwYW5lbCBpdCdzIG9wZW5pbmcvY2xvc2luZ1xuXHRcdGlzT3BlbiA/IHRoaXMucGFuZWwub25PcGVuKCkgOiB0aGlzLnBhbmVsLm9uQ2xvc2UoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiAgVGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgYSB2YWxpZCBpbnN0YW5jZSBvZiBNZFBvcG92ZXIgaGFzIGJlZW4gcGFzc2VkIGludG9cblx0ICogIG1kUG9wb3ZlclRyaWdnZXJGb3IuIElmIG5vdCwgYW4gZXhjZXB0aW9uIGlzIHRocm93bi5cblx0ICovXG5cdHByb3RlY3RlZCBfY2hlY2tQYW5lbCgpIHtcblx0XHRpZiAoIXRoaXMucGFuZWwpIHtcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIGx1LXBvcG92ZXIgaW5zdGFuY2UuXG4gICAgICBFeGFtcGxlOlxuICAgICAgPGx1LXBvcG92ZXIgI3BvcG92ZXI9XCJMdVBvcG92ZXJcIj48L2x1LXBvcG92ZXI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbHVQb3BvdmVyXT1cInBvcG92ZXJcIj48L2J1dHRvbj5gKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2NoZWNrVGFyZ2V0KCkge1xuXHRcdGlmICghdGhpcy50YXJnZXQpIHtcblx0XHRcdHRocm93IEVycm9yKGBsdS1wb3BvdmVyLXRyaWdnZXI6IG11c3QgcGFzcyBpbiBhIHBvcG92ZXIgdGFyZ2V0IGluc3RhbmNlLmApO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiAgVGhpcyBtZXRob2QgY3JlYXRlcyB0aGUgb3ZlcmxheSBmcm9tIHRoZSBwcm92aWRlZCBwb3BvdmVyJ3MgdGVtcGxhdGUgYW5kIHNhdmVzIGl0c1xuXHQgKiAgT3ZlcmxheVJlZiBzbyB0aGF0IGl0IGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgRE9NIHdoZW4gb3BlblBvcG92ZXIgaXMgY2FsbGVkLlxuXHQgKi9cblx0cHJvdGVjdGVkIF9jcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuXHRcdGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xuXHRcdFx0dGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucGFuZWwudGVtcGxhdGVSZWYsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpO1xuXHRcdFx0Y29uc3QgY29uZmlnID0gdGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpO1xuXHRcdFx0dGhpcy5fc3Vic2NyaWJlVG9Qb3NpdGlvbnMoY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcblx0XHRcdHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuXHRcdFx0dGhpcy5fcGFuZWwub3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXlSZWY7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBuZWVkZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LCB0aGUgT3ZlcmxheUNvbmZpZy5cblx0ICogQHJldHVybnMgT3ZlcmxheUNvbmZpZ1xuXHQgKi9cblx0cHJvdGVjdGVkIF9nZXRPdmVybGF5Q29uZmlnKCk6IE92ZXJsYXlDb25maWcge1xuXHRcdGNvbnN0IG92ZXJsYXlTdGF0ZSA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cdFx0b3ZlcmxheVN0YXRlLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9nZXRQb3NpdGlvbigpO1xuXHRcdC8qKiBEaXNwbGF5IG92ZXJsYXkgYmFja2Ryb3AgaWYgdHJpZ2dlciBldmVudCBpcyBjbGljayAqL1xuXHRcdGlmICh0aGlzLnRyaWdnZXJFdmVudCA9PT0gJ2NsaWNrJykge1xuXHRcdFx0b3ZlcmxheVN0YXRlLmhhc0JhY2tkcm9wID0gdHJ1ZTtcblx0XHRcdG92ZXJsYXlTdGF0ZS5iYWNrZHJvcENsYXNzID0gJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJztcblx0XHR9XG5cblx0XHRvdmVybGF5U3RhdGUuZGlyZWN0aW9uID0gdGhpcy5kaXI7XG5cdFx0Y29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9nZXRQYW5lbFNjcm9sbFN0cmF0ZWd5KCk7XG5cdFx0c3dpdGNoIChzY3JvbGxTdHJhdGVneSkge1xuXHRcdFx0Y2FzZSAnYmxvY2snOlxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKTtcblx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdGNhc2UgJ2Nsb3NlJzpcblx0XHRcdFx0b3ZlcmxheVN0YXRlLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRvdmVybGF5U3RhdGUuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0cmV0dXJuIG92ZXJsYXlTdGF0ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0ZW5zIHRvIGNoYW5nZXMgaW4gdGhlIHBvc2l0aW9uIG9mIHRoZSBvdmVybGF5IGFuZCBzZXRzIHRoZSBjb3JyZWN0IGNsYXNzZXNcblx0ICogb24gdGhlIHBvcG92ZXIgYmFzZWQgb24gdGhlIG5ldyBwb3NpdGlvbi4gVGhpcyBlbnN1cmVzIHRoZSBhbmltYXRpb24gb3JpZ2luIGlzIGFsd2F5c1xuXHQgKiBjb3JyZWN0LCBldmVuIGlmIGEgZmFsbGJhY2sgcG9zaXRpb24gaXMgdXNlZCBmb3IgdGhlIG92ZXJsYXkuXG5cdCAqL1xuXHRwcm90ZWN0ZWQgX3N1YnNjcmliZVRvUG9zaXRpb25zKHBvc2l0aW9uOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpOiB2b2lkIHtcblx0XHR0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uLnBvc2l0aW9uQ2hhbmdlc1xuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdG1hcCgoYykgPT4gYy5jb25uZWN0aW9uUGFpciksXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChjb25uZWN0aW9uUGFpcikgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsLnNldFBvc2l0aW9uQ2xhc3Nlcyhjb25uZWN0aW9uUGFpci5vdmVybGF5WCwgY29ubmVjdGlvblBhaXIub3ZlcmxheVkpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgYnVpbGRzIHRoZSBwb3NpdGlvbiBzdHJhdGVneSBmb3IgdGhlIG92ZXJsYXksIHNvIHRoZSBwb3BvdmVyIGlzIHByb3Blcmx5IGNvbm5lY3RlZFxuXHQgKiB0byB0aGUgdHJpZ2dlci5cblx0ICogQHJldHVybnMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5XG5cdCAqL1xuXHRwcm90ZWN0ZWQgX2dldFBvc2l0aW9uKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG5cdFx0LyoqXG5cdFx0ICogRm9yIG92ZXJyaWRpbmcgcG9zaXRpb24gZWxlbWVudCwgd2hlbiBMdVBvcG92ZXJUYXJnZXRBdCBoYXMgYSB2YWxpZCBlbGVtZW50IHJlZmVyZW5jZS5cblx0XHQgKiBVc2VmdWwgZm9yIHN0aWNraW5nIHBvcG92ZXIgdG8gcGFyZW50IGVsZW1lbnQgYW5kIG9mZnNldHRpbmcgYXJyb3cgdG8gdHJpZ2dlciBlbGVtZW50LlxuXHRcdCAqIElmIHVuZGVmaW5lZCBkZWZhdWx0cyB0byB0aGUgdHJpZ2dlciBlbGVtZW50IHJlZmVyZW5jZS5cblx0XHQgKi9cblx0XHRjb25zdCBlbGVtZW50ID0gdGhpcy50YXJnZXQuZWxlbWVudFJlZjtcblx0XHQvLyBpZiAodHlwZW9mIHRoaXMudGFyZ2V0RWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wb3BvdmVyKSB7XG5cdFx0Ly8gXHR0aGlzLnBvcG92ZXIuY29udGFpbmVyUG9zaXRpb25pbmcgPSB0cnVlO1xuXHRcdC8vIFx0ZWxlbWVudCA9IHRoaXMudGFyZ2V0RWxlbWVudC5fZWxlbWVudFJlZjtcblx0XHQvLyB9XG5cblx0XHRjb25zdCBjb25uZWN0aW9uUG9zaXRpb246IE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG9yaWdpblg6ICdzdGFydCcsXG5cdFx0XHRvcmlnaW5ZOiAndG9wJyxcblx0XHR9O1xuXG5cdFx0Ly8gUG9zaXRpb25cblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMudGFyZ2V0LnBvc2l0aW9uO1xuXHRcdGNvbnN0IG92ZXJsYXAgPSB0aGlzLnRhcmdldC5vdmVybGFwO1xuXHRcdGlmIChwb3NpdGlvbiA9PT0gJ2Fib3ZlJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSBvdmVybGFwID8gJ2JvdHRvbScgOiAndG9wJztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9IG92ZXJsYXAgPyAndG9wJyA6ICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9IG92ZXJsYXAgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2FmdGVyJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSBvdmVybGFwID8gJ3N0YXJ0JyA6ICdlbmQnO1xuXHRcdH1cblxuXHRcdC8vIEFsaWdubWVudFxuXHRcdGNvbnN0IGFsaWdubWVudCA9IHRoaXMudGFyZ2V0LmFsaWdubWVudDtcblx0XHRpZiAodGhpcy5pc1ZlcnRpY2FsbHlQb3NpdGlvbm5lZCkge1xuXHRcdFx0aWYgKGFsaWdubWVudCA9PT0gJ2xlZnQnKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ3N0YXJ0Jztcblx0XHRcdH0gZWxzZSBpZiAoYWxpZ25tZW50ID09PSAncmlnaHQnKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdjZW50ZXInO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoYWxpZ25tZW50ID09PSAndG9wJykge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICd0b3AnO1xuXHRcdFx0fSBlbHNlIGlmIChhbGlnbm1lbnQgPT09ICdib3R0b20nKSB7XG5cdFx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2JvdHRvbSc7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdjZW50ZXInO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IG92ZXJsYXlQb3NpdGlvbjogT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHRpZiAob3ZlcmxhcCkge1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblg7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9IGVsc2UgaWYgKHRoaXMuaXNWZXJ0aWNhbGx5UG9zaXRpb25uZWQpIHtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fb3ZlcmxheVxuXHRcdFx0LnBvc2l0aW9uKClcblx0XHRcdC5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsZW1lbnQpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCxcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5faW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLl9pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuX2ludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuX2ludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogdGhpcy5faW52ZXJ0SG9yaXpvbnRhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLl9pbnZlcnRWZXJ0aWNhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkpLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSlcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFgodGhpcy50YXJnZXQub2Zmc2V0WClcblx0XHRcdC53aXRoRGVmYXVsdE9mZnNldFkodGhpcy50YXJnZXQub2Zmc2V0WSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2ludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcykge1xuXHRcdGlmICh5ID09PSAndG9wJykge1xuXHRcdFx0eSA9ICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdHkgPSAndG9wJztcblx0XHR9XG5cdFx0cmV0dXJuIHk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2ludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpIHtcblx0XHRpZiAoeCA9PT0gJ2VuZCcpIHtcblx0XHRcdHggPSAnc3RhcnQnO1xuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xuXHRcdFx0eCA9ICdlbmQnO1xuXHRcdH1cblxuXHRcdHJldHVybiB4O1xuXHR9XG5cblx0cHJvdGVjdGVkIF9jbGVhblVwU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbikge1xuXHRcdFx0dGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX2hvdmVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX3BhbmVsRXZlbnRzU3Vic2NyaXB0aW9ucykge1xuXHRcdFx0dGhpcy5fcGFuZWxFdmVudHNTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9vdmVybGF5RGV0YWNobWVudHNTdWJzY3JpcHRpb24pIHtcblx0XHRcdHRoaXMuX292ZXJsYXlEZXRhY2htZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBfaGFzRWxsaXBzaXMoKTogYm9vbGVhbiB7XG5cdFx0aWYgKCEodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBzY3JvbGxXaWR0aCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHRjb25zdCB0ZXh0Q2xhbXBlZEJ5V2lkdGggPSBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xuXHRcdGNvbnN0IHRleHRDbGFtcGVkQnlIZWlnaHQgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHQ7XG5cblx0XHRyZXR1cm4gdGV4dENsYW1wZWRCeVdpZHRoIHx8IHRleHRDbGFtcGVkQnlIZWlnaHQ7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { LuPopoverTriggerDirective } from './popover-trigger.directive';
|
|
3
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class LuPopoverTriggerModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, imports: [LuPopoverTriggerDirective, OverlayModule], exports: [LuPopoverTriggerDirective] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, imports: [OverlayModule] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuPopoverTriggerModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [LuPopoverTriggerDirective, OverlayModule],
|
|
14
|
-
exports: [LuPopoverTriggerDirective],
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3BvcG92ZXIvdHJpZ2dlci9wb3BvdmVyLXRyaWdnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU1yRCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQUh4Qix5QkFBeUIsRUFBRSxhQUFhLGFBQ3hDLHlCQUF5QjsrR0FFdkIsc0JBQXNCLFlBSEcsYUFBYTs7MkZBR3RDLHNCQUFzQjtrQkFKbEMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdVBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFtMdVBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLCBPdmVybGF5TW9kdWxlXSxcblx0ZXhwb3J0czogW0x1UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBMdVBvcG92ZXJUcmlnZ2VyTW9kdWxlIHt9XG4iXX0=
|