@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
|
@@ -36,10 +36,10 @@ class LuTitleService {
|
|
|
36
36
|
overrideFirstTitlePart(title) {
|
|
37
37
|
this.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleService, deps: [{ token: i1.Router }, { token: i2.Title }, { token: LU_TITLE_TRANSLATE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleService }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleService, decorators: [{
|
|
43
43
|
type: Injectable
|
|
44
44
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.Title }, { type: undefined, decorators: [{
|
|
45
45
|
type: Inject,
|
|
@@ -60,11 +60,11 @@ function uniqTitle$1(titleParts) {
|
|
|
60
60
|
* @deprecated use title streatgy instead
|
|
61
61
|
*/
|
|
62
62
|
class LuTitleModule {
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
64
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
65
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
64
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuTitleModule, imports: [RouterModule] }); }
|
|
65
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleModule, providers: [LuTitleService], imports: [RouterModule] }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleModule, decorators: [{
|
|
68
68
|
type: NgModule,
|
|
69
69
|
args: [{
|
|
70
70
|
imports: [RouterModule],
|
|
@@ -107,10 +107,10 @@ class LuTitleStrategy extends TitleStrategy {
|
|
|
107
107
|
};
|
|
108
108
|
return snapshot.firstChild ? [pageTitle, ...this.#getPageTitleParts(snapshot.firstChild)] : [pageTitle];
|
|
109
109
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleStrategy, deps: [{ token: i2.Title }, { token: LU_TITLE_TRANSLATE_SERVICE }, { token: APP_TITLE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
111
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleStrategy, providedIn: 'root' }); }
|
|
112
112
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTitleStrategy, decorators: [{
|
|
114
114
|
type: Injectable,
|
|
115
115
|
args: [{ providedIn: 'root' }]
|
|
116
116
|
}], ctorParameters: () => [{ type: i2.Title }, { type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-title.mjs","sources":["../../../packages/ng/title/title-translate.service.ts","../../../packages/ng/title/title.model.ts","../../../packages/ng/title/title.service.ts","../../../packages/ng/title/title.module.ts","../../../packages/ng/title/title.strategy.ts","../../../packages/ng/title/lucca-front-ng-title.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const LU_TITLE_TRANSLATE_SERVICE = new InjectionToken<ILuTitleTranslateService>('LU_TITLE_TRANSLATE_SERVICE');\n\nexport interface ILuTitleTranslateService {\n\ttranslate(key: string, args?: Record<string, unknown>): string;\n}\n","export type PageTitle = { title: string; params?: { [param: string]: string } };\nexport const TitleSeparator = ' – ';\n","import { Inject, Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, ActivationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\nimport { PageTitle, TitleSeparator } from './title.model';\n\n/**\n * @deprecated use Title strategy instead\n */\n@Injectable()\nexport class LuTitleService {\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\n\ttitleParts$ = this.titlePartsSubject.asObservable();\n\ttitle$ = this.titleParts$.pipe(\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\n\t\tmap((parts) => parts.join(TitleSeparator)),\n\t);\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate title: Title,\n\t\t@Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService,\n\t) {}\n\n\tinit(applicationNameTranslationKey: string) {\n\t\tthis.router.events\n\t\t\t.pipe(\n\t\t\t\tfilter((event) => {\n\t\t\t\t\treturn event instanceof ActivationEnd && event.snapshot.children.length === 0;\n\t\t\t\t}),\n\t\t\t\tmap((event: ActivationEnd) => getPageTitleParts(event.snapshot)),\n\t\t\t\tmap((titleParts) => uniqTitle(titleParts)),\n\t\t\t\tmap((titleParts) => titleParts.filter(({ title }) => title !== '').map(({ title, params }) => this.translateService.translate(title, params))),\n\t\t\t\tmap((titleParts: Array<string>) => [...titleParts, this.translateService.translate(applicationNameTranslationKey, {}), 'Lucca'].filter((x) => !!x)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap((titleParts) => this.titlePartsSubject.next(titleParts)),\n\t\t\t)\n\t\t\t.subscribe();\n\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\n\t}\n\n\tprependTitle(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\n\t}\n\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\n\t}\n}\n\nfunction getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\n\tconst pageTitle: PageTitle = {\n\t\ttitle: (snapshot.data?.['title'] || '') as string,\n\t\tparams: { ...snapshot.params, ...snapshot.data },\n\t};\n\treturn snapshot.parent ? [pageTitle, ...getPageTitleParts(snapshot.parent)] : [pageTitle];\n}\n\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { LuTitleService } from './title.service';\n\n/**\n * @deprecated use title streatgy instead\n */\n@NgModule({\n\timports: [RouterModule],\n\tproviders: [LuTitleService],\n})\nexport class LuTitleModule {}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, TitleStrategy } from '@angular/router';\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\nimport { PageTitle, TitleSeparator } from './title.model';\n\nexport const APP_TITLE = new InjectionToken('APP_TITLE');\n\n@Injectable({ providedIn: 'root' })\nexport class LuTitleStrategy extends TitleStrategy {\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\n\ttitleParts$ = this.titlePartsSubject.asObservable();\n\ttitle$ = this.titleParts$.pipe(\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\n\t\tmap((parts) => parts.join(TitleSeparator)),\n\t\tdistinctUntilChanged(),\n\t);\n\tconstructor(\n\t\tprivate title: Title,\n\t\t@Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService,\n\t\t@Inject(APP_TITLE) private appTitle: string,\n\t) {\n\t\tsuper();\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\n\t}\n\n\toverride updateTitle(routerState: RouterStateSnapshot) {\n\t\t// Title page is display from child to root\n\t\tconst pageTitles = this.#getPageTitleParts(routerState.root).reverse();\n\t\tconst translatedPageTitles = uniqTitle(pageTitles)\n\t\t\t.filter(({ title }) => title !== '')\n\t\t\t.map(({ title, params }) => this.translateService.translate(title, params));\n\t\t// Add the name app and 'Lucca' at the end of the title\n\t\tconst titleParts = [...translatedPageTitles, this.translateService.translate(this.appTitle), 'Lucca'].filter((x) => !!x);\n\t\tthis.titlePartsSubject.next(titleParts);\n\t}\n\n\tprependTitle(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\n\t}\n\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\n\t}\n\n\t#getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\n\t\tconst pageTitle: PageTitle = {\n\t\t\ttitle: this.getResolvedTitleForRoute(snapshot) as string,\n\t\t\tparams: { ...snapshot.params, ...snapshot.data },\n\t\t};\n\t\treturn snapshot.firstChild ? [pageTitle, ...this.#getPageTitleParts(snapshot.firstChild)] : [pageTitle];\n\t}\n}\n\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uniqTitle","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-title.mjs","sources":["../../../packages/ng/title/title-translate.service.ts","../../../packages/ng/title/title.model.ts","../../../packages/ng/title/title.service.ts","../../../packages/ng/title/title.module.ts","../../../packages/ng/title/title.strategy.ts","../../../packages/ng/title/lucca-front-ng-title.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const LU_TITLE_TRANSLATE_SERVICE = new InjectionToken<ILuTitleTranslateService>('LU_TITLE_TRANSLATE_SERVICE');\n\nexport interface ILuTitleTranslateService {\n\ttranslate(key: string, args?: Record<string, unknown>): string;\n}\n","export type PageTitle = { title: string; params?: { [param: string]: string } };\nexport const TitleSeparator = ' – ';\n","import { Inject, Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, ActivationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\nimport { PageTitle, TitleSeparator } from './title.model';\n\n/**\n * @deprecated use Title strategy instead\n */\n@Injectable()\nexport class LuTitleService {\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\n\ttitleParts$ = this.titlePartsSubject.asObservable();\n\ttitle$ = this.titleParts$.pipe(\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\n\t\tmap((parts) => parts.join(TitleSeparator)),\n\t);\n\n\tconstructor(\n\t\tprivate router: Router,\n\t\tprivate title: Title,\n\t\t@Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService,\n\t) {}\n\n\tinit(applicationNameTranslationKey: string) {\n\t\tthis.router.events\n\t\t\t.pipe(\n\t\t\t\tfilter((event) => {\n\t\t\t\t\treturn event instanceof ActivationEnd && event.snapshot.children.length === 0;\n\t\t\t\t}),\n\t\t\t\tmap((event: ActivationEnd) => getPageTitleParts(event.snapshot)),\n\t\t\t\tmap((titleParts) => uniqTitle(titleParts)),\n\t\t\t\tmap((titleParts) => titleParts.filter(({ title }) => title !== '').map(({ title, params }) => this.translateService.translate(title, params))),\n\t\t\t\tmap((titleParts: Array<string>) => [...titleParts, this.translateService.translate(applicationNameTranslationKey, {}), 'Lucca'].filter((x) => !!x)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap((titleParts) => this.titlePartsSubject.next(titleParts)),\n\t\t\t)\n\t\t\t.subscribe();\n\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\n\t}\n\n\tprependTitle(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\n\t}\n\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\n\t}\n}\n\nfunction getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\n\tconst pageTitle: PageTitle = {\n\t\ttitle: (snapshot.data?.['title'] || '') as string,\n\t\tparams: { ...snapshot.params, ...snapshot.data },\n\t};\n\treturn snapshot.parent ? [pageTitle, ...getPageTitleParts(snapshot.parent)] : [pageTitle];\n}\n\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { LuTitleService } from './title.service';\n\n/**\n * @deprecated use title streatgy instead\n */\n@NgModule({\n\timports: [RouterModule],\n\tproviders: [LuTitleService],\n})\nexport class LuTitleModule {}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, TitleStrategy } from '@angular/router';\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\nimport { PageTitle, TitleSeparator } from './title.model';\n\nexport const APP_TITLE = new InjectionToken('APP_TITLE');\n\n@Injectable({ providedIn: 'root' })\nexport class LuTitleStrategy extends TitleStrategy {\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\n\ttitleParts$ = this.titlePartsSubject.asObservable();\n\ttitle$ = this.titleParts$.pipe(\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\n\t\tmap((parts) => parts.join(TitleSeparator)),\n\t\tdistinctUntilChanged(),\n\t);\n\tconstructor(\n\t\tprivate title: Title,\n\t\t@Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService,\n\t\t@Inject(APP_TITLE) private appTitle: string,\n\t) {\n\t\tsuper();\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\n\t}\n\n\toverride updateTitle(routerState: RouterStateSnapshot) {\n\t\t// Title page is display from child to root\n\t\tconst pageTitles = this.#getPageTitleParts(routerState.root).reverse();\n\t\tconst translatedPageTitles = uniqTitle(pageTitles)\n\t\t\t.filter(({ title }) => title !== '')\n\t\t\t.map(({ title, params }) => this.translateService.translate(title, params));\n\t\t// Add the name app and 'Lucca' at the end of the title\n\t\tconst titleParts = [...translatedPageTitles, this.translateService.translate(this.appTitle), 'Lucca'].filter((x) => !!x);\n\t\tthis.titlePartsSubject.next(titleParts);\n\t}\n\n\tprependTitle(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\n\t}\n\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\n\t}\n\n\t#getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\n\t\tconst pageTitle: PageTitle = {\n\t\t\ttitle: this.getResolvedTitleForRoute(snapshot) as string,\n\t\t\tparams: { ...snapshot.params, ...snapshot.data },\n\t\t};\n\t\treturn snapshot.firstChild ? [pageTitle, ...this.#getPageTitleParts(snapshot.firstChild)] : [pageTitle];\n\t}\n}\n\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uniqTitle","i1"],"mappings":"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"}
|
|
@@ -58,17 +58,17 @@ class LuToastsService {
|
|
|
58
58
|
}
|
|
59
59
|
getToast(toastInput) {
|
|
60
60
|
const id = this.generateId();
|
|
61
|
-
const duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : toastInput.duration ?? defaultToastDuration;
|
|
61
|
+
const duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : (toastInput.duration ?? defaultToastDuration);
|
|
62
62
|
return { ...toastInput, id, duration };
|
|
63
63
|
}
|
|
64
64
|
generateId() {
|
|
65
65
|
const randomString = Math.random().toString(36).substring(2, 9);
|
|
66
66
|
return `_${randomString}`;
|
|
67
67
|
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsService, providedIn: 'root' }); }
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsService, decorators: [{
|
|
72
72
|
type: Injectable,
|
|
73
73
|
args: [{ providedIn: 'root' }]
|
|
74
74
|
}] });
|
|
@@ -114,10 +114,10 @@ class LuToastsComponent {
|
|
|
114
114
|
isOnlyDismissibleManually(toast) {
|
|
115
115
|
return this.toastsService.isOnlyDismissibleManually(toast);
|
|
116
116
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsComponent, deps: [{ token: LuToastsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
|
|
123
123
|
}], ctorParameters: () => [{ type: LuToastsService }], propDecorators: { bottom: [{
|
|
@@ -127,11 +127,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
127
127
|
}] } });
|
|
128
128
|
|
|
129
129
|
class LuToastsModule {
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
131
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
132
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
131
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuToastsModule, imports: [LuToastsComponent], exports: [LuToastsComponent] }); }
|
|
132
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsModule, imports: [LuToastsComponent] }); }
|
|
133
133
|
}
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuToastsModule, decorators: [{
|
|
135
135
|
type: NgModule,
|
|
136
136
|
args: [{
|
|
137
137
|
imports: [LuToastsComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-toast.mjs","sources":["../../../packages/ng/toast/translations.ts","../../../packages/ng/toast/toasts.translate.ts","../../../packages/ng/toast/toasts.model.ts","../../../packages/ng/toast/toasts.service.ts","../../../packages/ng/toast/toasts.component.ts","../../../packages/ng/toast/toasts.component.html","../../../packages/ng/toast/toasts.module.ts","../../../packages/ng/toast/public-api.ts","../../../packages/ng/toast/lucca-front-ng-toast.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TOAST_TRANSLATIONS = new InjectionToken('LuToastTranslations', {\n\tfactory: () => luToastTranslations,\n});\n\nexport interface ILuToastLabel {\n\tclose: string;\n}\n\nexport const luToastTranslations: LuTranslation<ILuToastLabel> = Translations;\n","import { PortalContent } from '@lucca-front/ng/core';\n\nexport type LuToastType = 'Info' | 'Error' | 'Success' | 'Warning';\n\nexport const defaultToastDuration = 5000;\n\nexport interface LuToastInput {\n\t/**\n\t * InnerHTML supported.\n\t */\n\tmessage: PortalContent;\n\t/**\n\t * Bold title.\n\t * InnerHTML not supported.\n\t */\n\ttitle?: string;\n\ttype?: LuToastType;\n\t/**\n\t * Auto kill default duration is 5000ms.\n\t * Null means manual dismiss only.\n\t */\n\tduration?: number | null;\n}\n\nexport interface LuToast extends LuToastInput {\n\tid: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultToastDuration, LuToast, LuToastInput } from './toasts.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuToastsService {\n\tpublic toasts$ = new BehaviorSubject<LuToast[]>([]);\n\n\tpublic addToast(toastInput: LuToastInput): LuToast {\n\t\tconst toast = this.getToast(toastInput);\n\n\t\tthis.toasts$.next([...this.toasts$.value, toast]);\n\n\t\treturn toast;\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tconst updatedToasts = this.toasts$.value.filter(({ id }) => id !== toast.id);\n\t\tthis.toasts$.next(updatedToasts);\n\t}\n\n\tpublic isOnlyDismissibleManually({ duration }: LuToastInput): boolean {\n\t\treturn duration === null;\n\t}\n\n\tprivate getToast(toastInput: LuToastInput): LuToast {\n\t\tconst id = this.generateId();\n\t\tconst duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : toastInput.duration ?? defaultToastDuration;\n\n\t\treturn { ...toastInput, id, duration };\n\t}\n\n\tprivate generateId(): string {\n\t\tconst randomString = Math.random().toString(36).substring(2, 9);\n\t\treturn `_${randomString}`;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';\nimport { getIntl, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { LuToast, LuToastInput, LuToastType } from './toasts.model';\nimport { LuToastsService } from './toasts.service';\nimport { LU_TOAST_TRANSLATIONS } from './toasts.translate';\n\n@Component({\n\tselector: 'lu-toasts',\n\ttemplateUrl: './toasts.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, PortalDirective],\n})\nexport class LuToastsComponent implements OnDestroy {\n\t@Input() public bottom = false;\n\t@Input() public set sources(sources: Array<Observable<LuToastInput>>) {\n\t\tmerge(...sources)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((toast) => this.toastsService.addToast(toast));\n\t}\n\n\tpublic toasts$ = this.toastsService.toasts$;\n\n\tprivate destroy$ = new Subject<void>();\n\n\tpublic intl = getIntl(LU_TOAST_TRANSLATIONS);\n\n\tconstructor(private toastsService: LuToastsService) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n\n\tpublic iconClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: 'icon-signInfo',\n\t\tSuccess: 'icon-signSuccess',\n\t\tError: 'icon-signError',\n\t\tWarning: 'icon-signWarning',\n\t};\n\n\tpublic paletteClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: '',\n\t\tSuccess: 'palette-success',\n\t\tError: 'palette-error',\n\t\tWarning: 'palette-warning',\n\t};\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tthis.toastsService.removeToast(toast);\n\t}\n\n\tpublic trackToast(_index: number, toast: LuToast): string {\n\t\treturn toast.id;\n\t}\n\n\tpublic isOnlyDismissibleManually(toast: LuToast): boolean {\n\t\treturn this.toastsService.isOnlyDismissibleManually(toast);\n\t}\n}\n","<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuToastsComponent } from './toasts.component';\n\n@NgModule({\n\timports: [LuToastsComponent],\n\texports: [LuToastsComponent],\n})\nexport class LuToastsModule {}\n","/*\n * Public API Surface of toast\n */\n\nexport * from './toasts.component';\nexport * from './toasts.model';\nexport * from './toasts.module';\nexport * from './toasts.service';\nexport * from './toasts.translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuToastsService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-toast.mjs","sources":["../../../packages/ng/toast/translations.ts","../../../packages/ng/toast/toasts.translate.ts","../../../packages/ng/toast/toasts.model.ts","../../../packages/ng/toast/toasts.service.ts","../../../packages/ng/toast/toasts.component.ts","../../../packages/ng/toast/toasts.component.html","../../../packages/ng/toast/toasts.module.ts","../../../packages/ng/toast/public-api.ts","../../../packages/ng/toast/lucca-front-ng-toast.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TOAST_TRANSLATIONS = new InjectionToken('LuToastTranslations', {\n\tfactory: () => luToastTranslations,\n});\n\nexport interface ILuToastLabel {\n\tclose: string;\n}\n\nexport const luToastTranslations: LuTranslation<ILuToastLabel> = Translations;\n","import { PortalContent } from '@lucca-front/ng/core';\n\nexport type LuToastType = 'Info' | 'Error' | 'Success' | 'Warning';\n\nexport const defaultToastDuration = 5000;\n\nexport interface LuToastInput {\n\t/**\n\t * InnerHTML supported.\n\t */\n\tmessage: PortalContent;\n\t/**\n\t * Bold title.\n\t * InnerHTML not supported.\n\t */\n\ttitle?: string;\n\ttype?: LuToastType;\n\t/**\n\t * Auto kill default duration is 5000ms.\n\t * Null means manual dismiss only.\n\t */\n\tduration?: number | null;\n}\n\nexport interface LuToast extends LuToastInput {\n\tid: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultToastDuration, LuToast, LuToastInput } from './toasts.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuToastsService {\n\tpublic toasts$ = new BehaviorSubject<LuToast[]>([]);\n\n\tpublic addToast(toastInput: LuToastInput): LuToast {\n\t\tconst toast = this.getToast(toastInput);\n\n\t\tthis.toasts$.next([...this.toasts$.value, toast]);\n\n\t\treturn toast;\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tconst updatedToasts = this.toasts$.value.filter(({ id }) => id !== toast.id);\n\t\tthis.toasts$.next(updatedToasts);\n\t}\n\n\tpublic isOnlyDismissibleManually({ duration }: LuToastInput): boolean {\n\t\treturn duration === null;\n\t}\n\n\tprivate getToast(toastInput: LuToastInput): LuToast {\n\t\tconst id = this.generateId();\n\t\tconst duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : (toastInput.duration ?? defaultToastDuration);\n\n\t\treturn { ...toastInput, id, duration };\n\t}\n\n\tprivate generateId(): string {\n\t\tconst randomString = Math.random().toString(36).substring(2, 9);\n\t\treturn `_${randomString}`;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';\nimport { getIntl, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { LuToast, LuToastInput, LuToastType } from './toasts.model';\nimport { LuToastsService } from './toasts.service';\nimport { LU_TOAST_TRANSLATIONS } from './toasts.translate';\n\n@Component({\n\tselector: 'lu-toasts',\n\ttemplateUrl: './toasts.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, PortalDirective],\n})\nexport class LuToastsComponent implements OnDestroy {\n\t@Input() public bottom = false;\n\t@Input() public set sources(sources: Array<Observable<LuToastInput>>) {\n\t\tmerge(...sources)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((toast) => this.toastsService.addToast(toast));\n\t}\n\n\tpublic toasts$ = this.toastsService.toasts$;\n\n\tprivate destroy$ = new Subject<void>();\n\n\tpublic intl = getIntl(LU_TOAST_TRANSLATIONS);\n\n\tconstructor(private toastsService: LuToastsService) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n\n\tpublic iconClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: 'icon-signInfo',\n\t\tSuccess: 'icon-signSuccess',\n\t\tError: 'icon-signError',\n\t\tWarning: 'icon-signWarning',\n\t};\n\n\tpublic paletteClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: '',\n\t\tSuccess: 'palette-success',\n\t\tError: 'palette-error',\n\t\tWarning: 'palette-warning',\n\t};\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tthis.toastsService.removeToast(toast);\n\t}\n\n\tpublic trackToast(_index: number, toast: LuToast): string {\n\t\treturn toast.id;\n\t}\n\n\tpublic isOnlyDismissibleManually(toast: LuToast): boolean {\n\t\treturn this.toastsService.isOnlyDismissibleManually(toast);\n\t}\n}\n","<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"(!isOnlyDismissibleManually(toast) && toast.duration > 0) ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuToastsComponent } from './toasts.component';\n\n@NgModule({\n\timports: [LuToastsComponent],\n\texports: [LuToastsComponent],\n})\nexport class LuToastsModule {}\n","/*\n * Public API Surface of toast\n */\n\nexport * from './toasts.component';\nexport * from './toasts.model';\nexport * from './toasts.module';\nexport * from './toasts.service';\nexport * from './toasts.translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuToastsService"],"mappings":"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"}
|
|
@@ -44,10 +44,10 @@ class LuTooltipPanelComponent {
|
|
|
44
44
|
'is-below': posY === 'top',
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", host: { attributes: { "role": "tooltip" }, listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" }, properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content()\"></div>\n", styles: [".tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--palettes-neutral-0);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);max-width:var(--components-tooltip-max-width);border-radius:var(--commons-borderRadius-M);font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;width:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media (hover: hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'lu-tooltip-panel', standalone: true, host: {
|
|
53
53
|
role: 'tooltip',
|
|
@@ -64,11 +64,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
64
64
|
}] } });
|
|
65
65
|
|
|
66
66
|
class LuTooltipPanelModule {
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
68
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
69
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
68
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelModule, imports: [LuTooltipPanelComponent], exports: [LuTooltipPanelComponent] }); }
|
|
69
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelModule }); }
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipPanelModule, decorators: [{
|
|
72
72
|
type: NgModule,
|
|
73
73
|
args: [{
|
|
74
74
|
imports: [LuTooltipPanelComponent],
|
|
@@ -137,7 +137,7 @@ class EllipsisRuler {
|
|
|
137
137
|
const elementWidth = element.getBoundingClientRect().width;
|
|
138
138
|
return elementClonedWidth > elementWidth;
|
|
139
139
|
}
|
|
140
|
-
catch
|
|
140
|
+
catch {
|
|
141
141
|
return false;
|
|
142
142
|
}
|
|
143
143
|
finally {
|
|
@@ -146,10 +146,10 @@ class EllipsisRuler {
|
|
|
146
146
|
this.parentMasked.removeChild(elementCloned);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
150
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EllipsisRuler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EllipsisRuler, providedIn: 'root' }); }
|
|
151
151
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EllipsisRuler, decorators: [{
|
|
153
153
|
type: Injectable,
|
|
154
154
|
args: [{ providedIn: 'root' }]
|
|
155
155
|
}], ctorParameters: () => [] });
|
|
@@ -414,10 +414,10 @@ class LuTooltipTriggerDirective {
|
|
|
414
414
|
}
|
|
415
415
|
return x;
|
|
416
416
|
}
|
|
417
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
418
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
417
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
418
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.3", type: LuTooltipTriggerDirective, isStandalone: true, selector: "[luTooltip]", inputs: { luTooltip: { classPropertyName: "luTooltip", publicName: "luTooltip", isSignal: true, isRequired: false, transformFunction: null }, luTooltipEnterDelay: { classPropertyName: "luTooltipEnterDelay", publicName: "luTooltipEnterDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, luTooltipLeaveDelay: { classPropertyName: "luTooltipLeaveDelay", publicName: "luTooltipLeaveDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, luTooltipDisabled: { classPropertyName: "luTooltipDisabled", publicName: "luTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, luTooltipOnlyForDisplay: { classPropertyName: "luTooltipOnlyForDisplay", publicName: "luTooltipOnlyForDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, luTooltipPosition: { classPropertyName: "luTooltipPosition", publicName: "luTooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, luTooltipWhenEllipsis: { classPropertyName: "luTooltipWhenEllipsis", publicName: "luTooltipWhenEllipsis", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.id": "this._id", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["luTooltip"], ngImport: i0 }); }
|
|
419
419
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
420
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerDirective, decorators: [{
|
|
421
421
|
type: Directive,
|
|
422
422
|
args: [{
|
|
423
423
|
selector: '[luTooltip]',
|
|
@@ -456,11 +456,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
456
456
|
}] } });
|
|
457
457
|
|
|
458
458
|
class LuTooltipTriggerModule {
|
|
459
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
460
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
461
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
460
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerModule, imports: [LuTooltipTriggerDirective, OverlayModule], exports: [LuTooltipTriggerDirective] }); }
|
|
461
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerModule, imports: [OverlayModule] }); }
|
|
462
462
|
}
|
|
463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipTriggerModule, decorators: [{
|
|
464
464
|
type: NgModule,
|
|
465
465
|
args: [{
|
|
466
466
|
imports: [LuTooltipTriggerDirective, OverlayModule],
|
|
@@ -469,11 +469,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
469
469
|
}] });
|
|
470
470
|
|
|
471
471
|
class LuTooltipModule {
|
|
472
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
473
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
474
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
472
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
473
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipModule, imports: [LuTooltipTriggerModule, LuTooltipPanelModule], exports: [LuTooltipTriggerModule, LuTooltipPanelModule] }); }
|
|
474
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipModule, imports: [LuTooltipTriggerModule, LuTooltipPanelModule, LuTooltipTriggerModule, LuTooltipPanelModule] }); }
|
|
475
475
|
}
|
|
476
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuTooltipModule, decorators: [{
|
|
477
477
|
type: NgModule,
|
|
478
478
|
args: [{
|
|
479
479
|
imports: [LuTooltipTriggerModule, LuTooltipPanelModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-tooltip.mjs","sources":["../../../packages/ng/tooltip/animation/tooltip.animation.ts","../../../packages/ng/tooltip/panel/tooltip-panel.component.ts","../../../packages/ng/tooltip/panel/tooltip-panel.component.html","../../../packages/ng/tooltip/panel/tooltip-panel.module.ts","../../../packages/ng/tooltip/trigger/ellipsis.ruler.ts","../../../packages/ng/tooltip/trigger/tooltip-trigger.directive.ts","../../../packages/ng/tooltip/trigger/tooltip-trigger.module.ts","../../../packages/ng/tooltip/tooltip.module.ts","../../../packages/ng/tooltip/lucca-front-ng-tooltip.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformTooltip: AnimationTriggerMetadata = trigger('transformTooltip', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, DestroyRef, HostBinding, HostListener, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\nimport { NgClass } from '@angular/common';\n\n@Component({\n\tselector: 'lu-tooltip-panel',\n\ttemplateUrl: './tooltip-panel.component.html',\n\tstyleUrls: ['./tooltip-panel.component.scss'],\n\tstandalone: true,\n\thost: {\n\t\trole: 'tooltip',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass],\n})\nexport class LuTooltipPanelComponent {\n\tdestroyRef = inject(DestroyRef);\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tcontent: Signal<string | SafeHtml>;\n\n\t@HostBinding('attr.id')\n\tid: string;\n\n\tcontentPositionClasses: Record<string, boolean> = {};\n\n\tsetPanelPosition(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis.contentPositionClasses = {\n\t\t\t'is-before': posX === 'end',\n\t\t\t'is-after': posX === 'start',\n\t\t\t'is-above': posY === 'bottom',\n\t\t\t'is-below': posY === 'top',\n\t\t};\n\t}\n}\n","<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content()\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuTooltipPanelComponent } from './tooltip-panel.component';\n\n@NgModule({\n\timports: [LuTooltipPanelComponent],\n\texports: [LuTooltipPanelComponent],\n})\nexport class LuTooltipPanelModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class EllipsisRuler {\n\t#document = inject(DOCUMENT);\n\treadonly parentMasked = this.#document.createElement('div');\n\n\tconstructor() {\n\t\tthis.parentMasked.classList.add('u-mask');\n\t\tthis.parentMasked.setAttribute('aria-hidden', 'true');\n\t\tthis.#document.body.appendChild(this.parentMasked);\n\t}\n\n\t/**\n\t * Hacky af but let's explain everything\n\t * This method checks for ellipsis by cloning the node and checking its width against original element.\n\t *\n\t * We used to do this using scrollWidth but the thing is, it's a rounded value. Sometimes,\n\t * you'd get true while it should be false and vice-versa, because of rounding.\n\t *\n\t * So we duplicate the properties we're interested in on the element to be tested to calculate its ideal size,\n\t * which we then compare with its current size.\n\t *\n\t * To avoid doing multiple reflow per check, we wait for the next microtask on each key step of the process:\n\t * - After computing element style\n\t * - After cloning the element and appending it to the DOM\n\t * - After computing the width of the cloned element\n\t * - After removing the cloned element from the DOM\n\t *\n\t * This way, we have 2 reflows per check, no matter how many elements are checked in a row.\n\t */\n\tasync hasEllipsis(element: HTMLElement): Promise<boolean> {\n\t\tconst elementStyle = getComputedStyle(element);\n\n\t\tif (elementStyle.textOverflow !== 'ellipsis') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle } = elementStyle;\n\n\t\tconst fontSize = (Number(elementStyle.fontSize.replace('px', '')) / Number(getComputedStyle(document.body).fontSize.replace('px', ''))).toString() + 'rem';\n\n\t\t// When multiple elements are checked in a row, we wait for the next microtask to before cloning the element\n\t\t// to avoid the browser to reflow the page for each tooltip\n\t\tawait Promise.resolve();\n\n\t\tconst elementCloned = this.#document.createElement('div');\n\n\t\tObject.assign(elementCloned.style, {\n\t\t\twidth: 'fit-content',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tposition: 'absolute',\n\t\t\tvisibility: 'hidden',\n\t\t\tpadding,\n\t\t\tborderWidth,\n\t\t\tborderStyle,\n\t\t\tboxSizing,\n\t\t\tfontFamily,\n\t\t\tfontWeight,\n\t\t\tfontStyle,\n\t\t\tfontSize,\n\t\t});\n\n\t\tthis.parentMasked.appendChild(elementCloned);\n\n\t\telementCloned.innerHTML = element.innerHTML;\n\n\t\t// To avoid multiple reflows, we wait for the next microtask before calculating the width\n\t\tawait Promise.resolve();\n\n\t\ttry {\n\t\t\tconst elementClonedWidth = elementCloned.getBoundingClientRect().width;\n\t\t\tconst elementWidth = element.getBoundingClientRect().width;\n\n\t\t\treturn elementClonedWidth > elementWidth;\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t} finally {\n\t\t\t// To avoid multiple reflows, we wait for the next microtask before removing the cloned element\n\t\t\tawait Promise.resolve();\n\t\t\tthis.parentMasked.removeChild(elementCloned);\n\t\t}\n\t}\n}\n","import { FlexibleConnectedPositionStrategy, HorizontalConnectionPos, OriginConnectionPosition, Overlay, OverlayConnectionPosition, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n\tAfterContentInit,\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tRenderer2,\n\tbooleanAttribute,\n\tcomputed,\n\teffect,\n\tinject,\n\tinput,\n\tnumberAttribute,\n\tsignal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { LuPopoverPosition } from '@lucca-front/ng/popover';\nimport { BehaviorSubject, Observable, Subject, combineLatest, merge, startWith, switchMap, timer } from 'rxjs';\nimport { debounce, debounceTime, filter, map } from 'rxjs/operators';\nimport { LuTooltipPanelComponent } from '../panel';\nimport { EllipsisRuler } from './ellipsis.ruler';\n\nlet nextId = 0;\n\n@Directive({\n\tselector: '[luTooltip]',\n\texportAs: 'luTooltip',\n\tstandalone: true,\n})\nexport class LuTooltipTriggerDirective implements AfterContentInit, OnDestroy {\n\t#overlay = inject(Overlay);\n\n\t#host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\t#ruler = inject(EllipsisRuler);\n\n\t#destroyRef = inject(DestroyRef);\n\n\tluTooltip = input<string | SafeHtml>();\n\n\t#openDelay$ = new BehaviorSubject<number>(300);\n\n\t@Input({ transform: numberAttribute })\n\tset luTooltipEnterDelay(delay: number) {\n\t\tthis.#openDelay$.next(delay);\n\t}\n\n\t#closeDelay$ = new BehaviorSubject<number>(100);\n\n\t@Input({ transform: numberAttribute })\n\tset luTooltipLeaveDelay(delay: number) {\n\t\tthis.#closeDelay$.next(delay);\n\t}\n\n\tluTooltipDisabled = input(false, { transform: booleanAttribute });\n\n\t@Input({ transform: booleanAttribute })\n\tluTooltipOnlyForDisplay = false;\n\n\t@Input()\n\tluTooltipPosition: LuPopoverPosition = 'above';\n\n\tluTooltipWhenEllipsis = input(false, { transform: booleanAttribute });\n\n\tresize$ = new Observable((observer) => {\n\t\tconst resizeObserver = new ResizeObserver(() => {\n\t\t\tobserver.next();\n\t\t});\n\t\tresizeObserver.observe(this.#host.nativeElement);\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect();\n\t\t};\n\t});\n\n\t#hasEllipsis$ = combineLatest([\n\t\ttoObservable(\n\t\t\t// 1. Group necessary inputs\n\t\t\tcomputed(() => ({ whenEllipsis: this.luTooltipWhenEllipsis(), disabled: this.luTooltipDisabled() })),\n\t\t),\n\t\t// Resend resize events to trigger the check\n\t\tthis.resize$.pipe(debounceTime(150)),\n\t]).pipe(\n\t\t// 2. Keep only necessary inputs\n\t\tfilter(([{ whenEllipsis, disabled }]) => !disabled && whenEllipsis),\n\t\t// 3. Check for ellipsis\n\t\tswitchMap(() => this.#ruler.hasEllipsis(this.#host.nativeElement)),\n\t);\n\n\t#hasEllipsis = toSignal(this.#hasEllipsis$, { initialValue: false });\n\n\topen$ = new Subject<void>();\n\n\tclose$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tthis.open$.next();\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tthis.close$.next();\n\t}\n\n\t@HostListener('focus')\n\tonFocus() {\n\t\tif (this.#host.nativeElement.getAttribute('aria-expanded') !== 'true') {\n\t\t\tthis.open$.next();\n\t\t}\n\t}\n\n\t@HostListener('blur')\n\tonBlur() {\n\t\tthis.close$.next();\n\t}\n\n\t#generatedId = `${this.#host.nativeElement.tagName.toLowerCase()}-tooltip-${nextId++}`;\n\n\t@HostBinding('attr.id')\n\t_id: string;\n\n\t@HostBinding('attr.aria-describedby')\n\tget ariaDescribedBy() {\n\t\tif (this.luTooltipDisabled() || this.luTooltipWhenEllipsis() || this.luTooltipOnlyForDisplay) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.#generatedId}-panel`;\n\t}\n\n\toverlayRef?: OverlayRef;\n\n\tconstructor() {\n\t\tcombineLatest([this.#openDelay$, this.#closeDelay$])\n\t\t\t.pipe(\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\t// We only filter open events because even if it's disabled while opened,\n\t\t\t\t\t// \twe want the tooltip to be able to close itself no matter what\n\t\t\t\t\tconst openEvents$ = this.open$.pipe(\n\t\t\t\t\t\tfilter(() => {\n\t\t\t\t\t\t\tif (this.luTooltipDisabled()) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// If not disabled, let's check for ellipsis if needed\n\t\t\t\t\t\t\tif (this.luTooltipWhenEllipsis()) {\n\t\t\t\t\t\t\t\treturn this.#hasEllipsis();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// If it's not disabled and is not triggered based on ellipsis, just return true\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tmap(() => 'open'),\n\t\t\t\t\t);\n\t\t\t\t\treturn merge(openEvents$, this.close$.pipe(map(() => 'close'))).pipe(\n\t\t\t\t\t\tdebounce((event) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe((event) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openTooltip();\n\t\t\t\t} else {\n\t\t\t\t\tthis.closeTooltip();\n\t\t\t\t}\n\t\t\t});\n\n\t\teffect(() => {\n\t\t\tif (!this.luTooltipDisabled() && (!this.luTooltipWhenEllipsis() || this.#hasEllipsis())) {\n\t\t\t\tthis.setAccessibilityProperties(0);\n\t\t\t} else {\n\t\t\t\tthis.setAccessibilityProperties(null);\n\t\t\t}\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closeTooltip();\n\t}\n\n\tprivate openTooltip(): void {\n\t\t// If tooltip is already opened, don't do anything\n\t\tif (this.overlayRef) {\n\t\t\treturn;\n\t\t}\n\t\tconst position = this.legacyPositionBuilder();\n\t\tthis.overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy: position,\n\t\t\tscrollStrategy: this.#overlay.scrollStrategies.close(),\n\t\t\tdisposeOnNavigation: true,\n\t\t});\n\t\tconst portal = new ComponentPortal(LuTooltipPanelComponent);\n\t\tconst ref = this.overlayRef.attach(portal);\n\t\tposition.positionChanges\n\t\t\t.pipe(\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t\tmap(({ connectionPair }) => connectionPair),\n\t\t\t\tstartWith(position.positions[0]),\n\t\t\t)\n\t\t\t.subscribe(({ overlayX, overlayY }) => {\n\t\t\t\tref.instance.setPanelPosition(overlayX, overlayY);\n\t\t\t});\n\t\tif (this.luTooltip()) {\n\t\t\tref.instance.content = this.luTooltip;\n\t\t} else if (this.luTooltipWhenEllipsis()) {\n\t\t\tref.instance.content = signal(this.#host.nativeElement.innerText);\n\t\t} else {\n\t\t\tref.instance.content = signal('');\n\t\t}\n\t\tref.instance.id = this.ariaDescribedBy;\n\t\t// On tooltip leave => trigger close\n\t\tref.instance.mouseLeave$.pipe(takeUntilDestroyed(ref.instance.destroyRef)).subscribe(() => this.close$.next());\n\t\t// On tooltip enter => trigger open to keep it opened\n\t\tref.instance.mouseEnter$.pipe(takeUntilDestroyed(ref.instance.destroyRef)).subscribe(() => this.open$.next());\n\t}\n\n\tprivate closeTooltip(): void {\n\t\tif (this.overlayRef) {\n\t\t\tthis.overlayRef.detach();\n\t\t\tdelete this.overlayRef;\n\t\t}\n\t}\n\n\tprivate setAccessibilityProperties(tabindex: number | null): void {\n\t\tif (tabindex === null) {\n\t\t\tthis.#renderer.removeAttribute(this.#host.nativeElement, 'tabindex');\n\t\t\treturn;\n\t\t}\n\n\t\tconst tag = this.#host.nativeElement.tagName.toLowerCase();\n\t\tconst nativelyFocusableTags = ['a', 'button', 'input', 'select', 'textarea'];\n\t\tconst isNativelyFocusableTag = nativelyFocusableTags.includes(tag);\n\n\t\tconst hasATabIndex = this.#host.nativeElement.getAttribute('tabindex') !== null;\n\n\t\tif (!isNativelyFocusableTag && !hasATabIndex) {\n\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'tabindex', tabindex.toString());\n\t\t}\n\t}\n\n\tngAfterContentInit(): void {\n\t\tthis._id = this.#host.nativeElement.id || this.#generatedId;\n\t}\n\n\t/**********************\n\t *\n\t * LEGACY STUFF TO HANDLE EXISTING POSITIONS\n\t *\n\t ***********************/\n\n\tprivate legacyPositionBuilder(): FlexibleConnectedPositionStrategy {\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.luTooltipPosition;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tif (position === 'above' || position === 'below') {\n\t\t\tconnectionPosition.originX = 'center';\n\t\t} else {\n\t\t\tconnectionPosition.originY = 'center';\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (position === 'above' || position === 'below') {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.#host)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t]);\n\t}\n\n\tprivate invertVerticalPos(y: VerticalConnectionPos): VerticalConnectionPos {\n\t\tif (y === 'top') {\n\t\t\treturn 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\treturn 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprivate invertHorizontalPos(x: HorizontalConnectionPos): HorizontalConnectionPos {\n\t\tif (x === 'end') {\n\t\t\treturn 'start';\n\t\t} else if (x === 'start') {\n\t\t\treturn 'end';\n\t\t}\n\t\treturn x;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTooltipTriggerDirective } from './tooltip-trigger.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n\timports: [LuTooltipTriggerDirective, OverlayModule],\n\texports: [LuTooltipTriggerDirective],\n})\nexport class LuTooltipTriggerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTooltipPanelModule } from './panel/index';\nimport { LuTooltipTriggerModule } from './trigger/index';\n\n@NgModule({\n\timports: [LuTooltipTriggerModule, LuTooltipPanelModule],\n\texports: [LuTooltipTriggerModule, LuTooltipPanelModule],\n})\nexport class LuTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-tooltip.mjs","sources":["../../../packages/ng/tooltip/animation/tooltip.animation.ts","../../../packages/ng/tooltip/panel/tooltip-panel.component.ts","../../../packages/ng/tooltip/panel/tooltip-panel.component.html","../../../packages/ng/tooltip/panel/tooltip-panel.module.ts","../../../packages/ng/tooltip/trigger/ellipsis.ruler.ts","../../../packages/ng/tooltip/trigger/tooltip-trigger.directive.ts","../../../packages/ng/tooltip/trigger/tooltip-trigger.module.ts","../../../packages/ng/tooltip/tooltip.module.ts","../../../packages/ng/tooltip/lucca-front-ng-tooltip.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformTooltip: AnimationTriggerMetadata = trigger('transformTooltip', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, DestroyRef, HostBinding, HostListener, inject, Signal } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\nimport { NgClass } from '@angular/common';\n\n@Component({\n\tselector: 'lu-tooltip-panel',\n\ttemplateUrl: './tooltip-panel.component.html',\n\tstyleUrls: ['./tooltip-panel.component.scss'],\n\tstandalone: true,\n\thost: {\n\t\trole: 'tooltip',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgClass],\n})\nexport class LuTooltipPanelComponent {\n\tdestroyRef = inject(DestroyRef);\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tcontent: Signal<string | SafeHtml>;\n\n\t@HostBinding('attr.id')\n\tid: string;\n\n\tcontentPositionClasses: Record<string, boolean> = {};\n\n\tsetPanelPosition(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis.contentPositionClasses = {\n\t\t\t'is-before': posX === 'end',\n\t\t\t'is-after': posX === 'start',\n\t\t\t'is-above': posY === 'bottom',\n\t\t\t'is-below': posY === 'top',\n\t\t};\n\t}\n}\n","<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content()\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuTooltipPanelComponent } from './tooltip-panel.component';\n\n@NgModule({\n\timports: [LuTooltipPanelComponent],\n\texports: [LuTooltipPanelComponent],\n})\nexport class LuTooltipPanelModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class EllipsisRuler {\n\t#document = inject(DOCUMENT);\n\treadonly parentMasked = this.#document.createElement('div');\n\n\tconstructor() {\n\t\tthis.parentMasked.classList.add('u-mask');\n\t\tthis.parentMasked.setAttribute('aria-hidden', 'true');\n\t\tthis.#document.body.appendChild(this.parentMasked);\n\t}\n\n\t/**\n\t * Hacky af but let's explain everything\n\t * This method checks for ellipsis by cloning the node and checking its width against original element.\n\t *\n\t * We used to do this using scrollWidth but the thing is, it's a rounded value. Sometimes,\n\t * you'd get true while it should be false and vice-versa, because of rounding.\n\t *\n\t * So we duplicate the properties we're interested in on the element to be tested to calculate its ideal size,\n\t * which we then compare with its current size.\n\t *\n\t * To avoid doing multiple reflow per check, we wait for the next microtask on each key step of the process:\n\t * - After computing element style\n\t * - After cloning the element and appending it to the DOM\n\t * - After computing the width of the cloned element\n\t * - After removing the cloned element from the DOM\n\t *\n\t * This way, we have 2 reflows per check, no matter how many elements are checked in a row.\n\t */\n\tasync hasEllipsis(element: HTMLElement): Promise<boolean> {\n\t\tconst elementStyle = getComputedStyle(element);\n\n\t\tif (elementStyle.textOverflow !== 'ellipsis') {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle } = elementStyle;\n\n\t\tconst fontSize = (Number(elementStyle.fontSize.replace('px', '')) / Number(getComputedStyle(document.body).fontSize.replace('px', ''))).toString() + 'rem';\n\n\t\t// When multiple elements are checked in a row, we wait for the next microtask to before cloning the element\n\t\t// to avoid the browser to reflow the page for each tooltip\n\t\tawait Promise.resolve();\n\n\t\tconst elementCloned = this.#document.createElement('div');\n\n\t\tObject.assign(elementCloned.style, {\n\t\t\twidth: 'fit-content',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tposition: 'absolute',\n\t\t\tvisibility: 'hidden',\n\t\t\tpadding,\n\t\t\tborderWidth,\n\t\t\tborderStyle,\n\t\t\tboxSizing,\n\t\t\tfontFamily,\n\t\t\tfontWeight,\n\t\t\tfontStyle,\n\t\t\tfontSize,\n\t\t});\n\n\t\tthis.parentMasked.appendChild(elementCloned);\n\n\t\telementCloned.innerHTML = element.innerHTML;\n\n\t\t// To avoid multiple reflows, we wait for the next microtask before calculating the width\n\t\tawait Promise.resolve();\n\n\t\ttry {\n\t\t\tconst elementClonedWidth = elementCloned.getBoundingClientRect().width;\n\t\t\tconst elementWidth = element.getBoundingClientRect().width;\n\n\t\t\treturn elementClonedWidth > elementWidth;\n\t\t} catch {\n\t\t\treturn false;\n\t\t} finally {\n\t\t\t// To avoid multiple reflows, we wait for the next microtask before removing the cloned element\n\t\t\tawait Promise.resolve();\n\t\t\tthis.parentMasked.removeChild(elementCloned);\n\t\t}\n\t}\n}\n","import { FlexibleConnectedPositionStrategy, HorizontalConnectionPos, OriginConnectionPosition, Overlay, OverlayConnectionPosition, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n\tAfterContentInit,\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tRenderer2,\n\tbooleanAttribute,\n\tcomputed,\n\teffect,\n\tinject,\n\tinput,\n\tnumberAttribute,\n\tsignal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { LuPopoverPosition } from '@lucca-front/ng/popover';\nimport { BehaviorSubject, Observable, Subject, combineLatest, merge, startWith, switchMap, timer } from 'rxjs';\nimport { debounce, debounceTime, filter, map } from 'rxjs/operators';\nimport { LuTooltipPanelComponent } from '../panel';\nimport { EllipsisRuler } from './ellipsis.ruler';\n\nlet nextId = 0;\n\n@Directive({\n\tselector: '[luTooltip]',\n\texportAs: 'luTooltip',\n\tstandalone: true,\n})\nexport class LuTooltipTriggerDirective implements AfterContentInit, OnDestroy {\n\t#overlay = inject(Overlay);\n\n\t#host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\t#ruler = inject(EllipsisRuler);\n\n\t#destroyRef = inject(DestroyRef);\n\n\tluTooltip = input<string | SafeHtml>();\n\n\t#openDelay$ = new BehaviorSubject<number>(300);\n\n\t@Input({ transform: numberAttribute })\n\tset luTooltipEnterDelay(delay: number) {\n\t\tthis.#openDelay$.next(delay);\n\t}\n\n\t#closeDelay$ = new BehaviorSubject<number>(100);\n\n\t@Input({ transform: numberAttribute })\n\tset luTooltipLeaveDelay(delay: number) {\n\t\tthis.#closeDelay$.next(delay);\n\t}\n\n\tluTooltipDisabled = input(false, { transform: booleanAttribute });\n\n\t@Input({ transform: booleanAttribute })\n\tluTooltipOnlyForDisplay = false;\n\n\t@Input()\n\tluTooltipPosition: LuPopoverPosition = 'above';\n\n\tluTooltipWhenEllipsis = input(false, { transform: booleanAttribute });\n\n\tresize$ = new Observable((observer) => {\n\t\tconst resizeObserver = new ResizeObserver(() => {\n\t\t\tobserver.next();\n\t\t});\n\t\tresizeObserver.observe(this.#host.nativeElement);\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect();\n\t\t};\n\t});\n\n\t#hasEllipsis$ = combineLatest([\n\t\ttoObservable(\n\t\t\t// 1. Group necessary inputs\n\t\t\tcomputed(() => ({ whenEllipsis: this.luTooltipWhenEllipsis(), disabled: this.luTooltipDisabled() })),\n\t\t),\n\t\t// Resend resize events to trigger the check\n\t\tthis.resize$.pipe(debounceTime(150)),\n\t]).pipe(\n\t\t// 2. Keep only necessary inputs\n\t\tfilter(([{ whenEllipsis, disabled }]) => !disabled && whenEllipsis),\n\t\t// 3. Check for ellipsis\n\t\tswitchMap(() => this.#ruler.hasEllipsis(this.#host.nativeElement)),\n\t);\n\n\t#hasEllipsis = toSignal(this.#hasEllipsis$, { initialValue: false });\n\n\topen$ = new Subject<void>();\n\n\tclose$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tthis.open$.next();\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tthis.close$.next();\n\t}\n\n\t@HostListener('focus')\n\tonFocus() {\n\t\tif (this.#host.nativeElement.getAttribute('aria-expanded') !== 'true') {\n\t\t\tthis.open$.next();\n\t\t}\n\t}\n\n\t@HostListener('blur')\n\tonBlur() {\n\t\tthis.close$.next();\n\t}\n\n\t#generatedId = `${this.#host.nativeElement.tagName.toLowerCase()}-tooltip-${nextId++}`;\n\n\t@HostBinding('attr.id')\n\t_id: string;\n\n\t@HostBinding('attr.aria-describedby')\n\tget ariaDescribedBy() {\n\t\tif (this.luTooltipDisabled() || this.luTooltipWhenEllipsis() || this.luTooltipOnlyForDisplay) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.#generatedId}-panel`;\n\t}\n\n\toverlayRef?: OverlayRef;\n\n\tconstructor() {\n\t\tcombineLatest([this.#openDelay$, this.#closeDelay$])\n\t\t\t.pipe(\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\t// We only filter open events because even if it's disabled while opened,\n\t\t\t\t\t// \twe want the tooltip to be able to close itself no matter what\n\t\t\t\t\tconst openEvents$ = this.open$.pipe(\n\t\t\t\t\t\tfilter(() => {\n\t\t\t\t\t\t\tif (this.luTooltipDisabled()) {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// If not disabled, let's check for ellipsis if needed\n\t\t\t\t\t\t\tif (this.luTooltipWhenEllipsis()) {\n\t\t\t\t\t\t\t\treturn this.#hasEllipsis();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// If it's not disabled and is not triggered based on ellipsis, just return true\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tmap(() => 'open'),\n\t\t\t\t\t);\n\t\t\t\t\treturn merge(openEvents$, this.close$.pipe(map(() => 'close'))).pipe(\n\t\t\t\t\t\tdebounce((event) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe((event) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openTooltip();\n\t\t\t\t} else {\n\t\t\t\t\tthis.closeTooltip();\n\t\t\t\t}\n\t\t\t});\n\n\t\teffect(() => {\n\t\t\tif (!this.luTooltipDisabled() && (!this.luTooltipWhenEllipsis() || this.#hasEllipsis())) {\n\t\t\t\tthis.setAccessibilityProperties(0);\n\t\t\t} else {\n\t\t\t\tthis.setAccessibilityProperties(null);\n\t\t\t}\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.closeTooltip();\n\t}\n\n\tprivate openTooltip(): void {\n\t\t// If tooltip is already opened, don't do anything\n\t\tif (this.overlayRef) {\n\t\t\treturn;\n\t\t}\n\t\tconst position = this.legacyPositionBuilder();\n\t\tthis.overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy: position,\n\t\t\tscrollStrategy: this.#overlay.scrollStrategies.close(),\n\t\t\tdisposeOnNavigation: true,\n\t\t});\n\t\tconst portal = new ComponentPortal(LuTooltipPanelComponent);\n\t\tconst ref = this.overlayRef.attach(portal);\n\t\tposition.positionChanges\n\t\t\t.pipe(\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t\tmap(({ connectionPair }) => connectionPair),\n\t\t\t\tstartWith(position.positions[0]),\n\t\t\t)\n\t\t\t.subscribe(({ overlayX, overlayY }) => {\n\t\t\t\tref.instance.setPanelPosition(overlayX, overlayY);\n\t\t\t});\n\t\tif (this.luTooltip()) {\n\t\t\tref.instance.content = this.luTooltip;\n\t\t} else if (this.luTooltipWhenEllipsis()) {\n\t\t\tref.instance.content = signal(this.#host.nativeElement.innerText);\n\t\t} else {\n\t\t\tref.instance.content = signal('');\n\t\t}\n\t\tref.instance.id = this.ariaDescribedBy;\n\t\t// On tooltip leave => trigger close\n\t\tref.instance.mouseLeave$.pipe(takeUntilDestroyed(ref.instance.destroyRef)).subscribe(() => this.close$.next());\n\t\t// On tooltip enter => trigger open to keep it opened\n\t\tref.instance.mouseEnter$.pipe(takeUntilDestroyed(ref.instance.destroyRef)).subscribe(() => this.open$.next());\n\t}\n\n\tprivate closeTooltip(): void {\n\t\tif (this.overlayRef) {\n\t\t\tthis.overlayRef.detach();\n\t\t\tdelete this.overlayRef;\n\t\t}\n\t}\n\n\tprivate setAccessibilityProperties(tabindex: number | null): void {\n\t\tif (tabindex === null) {\n\t\t\tthis.#renderer.removeAttribute(this.#host.nativeElement, 'tabindex');\n\t\t\treturn;\n\t\t}\n\n\t\tconst tag = this.#host.nativeElement.tagName.toLowerCase();\n\t\tconst nativelyFocusableTags = ['a', 'button', 'input', 'select', 'textarea'];\n\t\tconst isNativelyFocusableTag = nativelyFocusableTags.includes(tag);\n\n\t\tconst hasATabIndex = this.#host.nativeElement.getAttribute('tabindex') !== null;\n\n\t\tif (!isNativelyFocusableTag && !hasATabIndex) {\n\t\t\tthis.#renderer.setAttribute(this.#host.nativeElement, 'tabindex', tabindex.toString());\n\t\t}\n\t}\n\n\tngAfterContentInit(): void {\n\t\tthis._id = this.#host.nativeElement.id || this.#generatedId;\n\t}\n\n\t/**********************\n\t *\n\t * LEGACY STUFF TO HANDLE EXISTING POSITIONS\n\t *\n\t ***********************/\n\n\tprivate legacyPositionBuilder(): FlexibleConnectedPositionStrategy {\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.luTooltipPosition;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tif (position === 'above' || position === 'below') {\n\t\t\tconnectionPosition.originX = 'center';\n\t\t} else {\n\t\t\tconnectionPosition.originY = 'center';\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (position === 'above' || position === 'below') {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.#host)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t]);\n\t}\n\n\tprivate invertVerticalPos(y: VerticalConnectionPos): VerticalConnectionPos {\n\t\tif (y === 'top') {\n\t\t\treturn 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\treturn 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprivate invertHorizontalPos(x: HorizontalConnectionPos): HorizontalConnectionPos {\n\t\tif (x === 'end') {\n\t\t\treturn 'start';\n\t\t} else if (x === 'start') {\n\t\t\treturn 'end';\n\t\t}\n\t\treturn x;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuTooltipTriggerDirective } from './tooltip-trigger.directive';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n\timports: [LuTooltipTriggerDirective, OverlayModule],\n\texports: [LuTooltipTriggerDirective],\n})\nexport class LuTooltipTriggerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuTooltipPanelModule } from './panel/index';\nimport { LuTooltipTriggerModule } from './trigger/index';\n\n@NgModule({\n\timports: [LuTooltipTriggerModule, LuTooltipPanelModule],\n\texports: [LuTooltipTriggerModule, LuTooltipPanelModule],\n})\nexport class LuTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|