@lucca-front/ng 16.4.2 → 16.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/a11y/public-api.mjs +1 -1
- package/esm2022/a11y/skip-links/skip-links.component.mjs +3 -3
- package/esm2022/a11y/skip-links/skip-links.translate.mjs +1 -1
- package/esm2022/animations/animation.factory.mjs +1 -1
- package/esm2022/animations/fade.animation.mjs +1 -1
- package/esm2022/animations/public-api.mjs +1 -1
- package/esm2022/animations/scale.animation.mjs +1 -1
- package/esm2022/animations/slide.animation.mjs +1 -1
- package/esm2022/api/api.model.mjs +1 -1
- package/esm2022/api/api.module.mjs +1 -1
- package/esm2022/api/public-api.mjs +1 -1
- package/esm2022/api/select/api-select.module.mjs +1 -1
- package/esm2022/api/select/feeder/api-feeder.component.mjs +1 -1
- package/esm2022/api/select/feeder/api-feeder.model.mjs +1 -1
- package/esm2022/api/select/feeder/api-feeder.module.mjs +1 -1
- package/esm2022/api/select/feeder/index.mjs +1 -1
- package/esm2022/api/select/index.mjs +1 -1
- package/esm2022/api/select/input/api-select-input.component.mjs +3 -3
- package/esm2022/api/select/input/api-select-input.module.mjs +1 -1
- package/esm2022/api/select/input/index.mjs +1 -1
- package/esm2022/api/select/pager/api-pager.component.mjs +1 -1
- package/esm2022/api/select/pager/api-pager.model.mjs +1 -1
- package/esm2022/api/select/pager/api-pager.module.mjs +1 -1
- package/esm2022/api/select/pager/index.mjs +1 -1
- package/esm2022/api/select/searcher/api-searcher.component.mjs +5 -5
- package/esm2022/api/select/searcher/api-searcher.model.mjs +1 -1
- package/esm2022/api/select/searcher/api-searcher.module.mjs +1 -1
- package/esm2022/api/select/searcher/index.mjs +1 -1
- package/esm2022/api/service/api-hybrid.service.mjs +1 -1
- package/esm2022/api/service/api-service.model.mjs +1 -1
- package/esm2022/api/service/api-v3.service.mjs +1 -1
- package/esm2022/api/service/api-v4.service.mjs +1 -1
- package/esm2022/api/service/index.mjs +1 -1
- package/esm2022/callout/callout.component.mjs +3 -3
- package/esm2022/callout/callout.translate.mjs +1 -1
- package/esm2022/callout/public-api.mjs +1 -1
- package/esm2022/core/date/date-adapter.class.mjs +1 -1
- package/esm2022/core/date/date-adapter.interface.mjs +1 -1
- package/esm2022/core/date/date-granularity.enum.mjs +1 -1
- package/esm2022/core/date/index.mjs +1 -1
- package/esm2022/core/date/native/index.mjs +1 -1
- package/esm2022/core/date/native/native-date.adapter.mjs +1 -1
- package/esm2022/core/date/native/native-date.option.mjs +1 -1
- package/esm2022/core/date/string/index.mjs +1 -1
- package/esm2022/core/date/string/string-date.adapter.mjs +1 -1
- package/esm2022/core/event/index.mjs +1 -1
- package/esm2022/core/event/on-close.subscriber.mjs +1 -1
- package/esm2022/core/event/on-open.subscriber.mjs +1 -1
- package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +1 -1
- package/esm2022/core/group/group.interface.mjs +1 -1
- package/esm2022/core/group/index.mjs +1 -1
- package/esm2022/core/id/id.generator.mjs +1 -1
- package/esm2022/core/id/index.mjs +1 -1
- package/esm2022/core/public-api.mjs +1 -1
- package/esm2022/core/tools/ng-clazz.directive.mjs +1 -1
- package/esm2022/core/translate/index.mjs +1 -1
- package/esm2022/core/translate/intl.model.mjs +1 -1
- package/esm2022/core/translate/translation.model.mjs +1 -1
- package/esm2022/core/tree/index.mjs +1 -1
- package/esm2022/core/tree/tree.model.mjs +1 -1
- package/esm2022/core/type/index.mjs +1 -1
- package/esm2022/core/type/style.mjs +1 -1
- package/esm2022/core-select/displayer/displayer.directive.mjs +1 -1
- package/esm2022/core-select/displayer/index.mjs +1 -1
- package/esm2022/core-select/input/index.mjs +1 -1
- package/esm2022/core-select/input/select-input.component.mjs +1 -1
- package/esm2022/core-select/input/select-input.models.mjs +1 -1
- package/esm2022/core-select/option/default-option.component.mjs +1 -1
- package/esm2022/core-select/option/disabled.directive.mjs +1 -1
- package/esm2022/core-select/option/index.mjs +1 -1
- package/esm2022/core-select/option/option-outlet.directive.mjs +1 -1
- package/esm2022/core-select/option/option.component.mjs +3 -3
- package/esm2022/core-select/option/option.directive.mjs +1 -1
- package/esm2022/core-select/option/option.token.mjs +1 -1
- package/esm2022/core-select/panel/index.mjs +1 -1
- package/esm2022/core-select/panel/panel.models.mjs +1 -1
- package/esm2022/core-select/public-api.mjs +1 -1
- package/esm2022/core-select/select.model.mjs +1 -1
- package/esm2022/date/adapter/date-adapter.module.mjs +1 -1
- package/esm2022/date/adapter/date-adapter.pipe.mjs +1 -1
- package/esm2022/date/adapter/index.mjs +1 -1
- package/esm2022/date/calendar/calendar-input.component.mjs +3 -3
- package/esm2022/date/calendar/calendar-input.module.mjs +1 -1
- package/esm2022/date/calendar/calendar-item.class.mjs +1 -1
- package/esm2022/date/calendar/calendar-item.factory.mjs +1 -1
- package/esm2022/date/calendar/calendar-item.interface.mjs +1 -1
- package/esm2022/date/calendar/index.mjs +1 -1
- package/esm2022/date/date.module.mjs +1 -1
- package/esm2022/date/input/date-input.directive.mjs +1 -1
- package/esm2022/date/input/date-input.module.mjs +1 -1
- package/esm2022/date/input/date-input.translate.mjs +1 -1
- package/esm2022/date/input/index.mjs +1 -1
- package/esm2022/date/picker/date-picker.component.mjs +3 -3
- package/esm2022/date/picker/date-picker.module.mjs +1 -1
- package/esm2022/date/picker/index.mjs +1 -1
- package/esm2022/date/public-api.mjs +1 -1
- package/esm2022/date/select/date-select-input.component.mjs +3 -3
- package/esm2022/date/select/date-select-input.module.mjs +1 -1
- package/esm2022/date/select/date-select-input.translate.mjs +1 -1
- package/esm2022/date/select/index.mjs +1 -1
- package/esm2022/department/department.model.mjs +1 -1
- package/esm2022/department/department.module.mjs +1 -1
- package/esm2022/department/public-api.mjs +1 -1
- package/esm2022/department/select/department-select.module.mjs +1 -1
- package/esm2022/department/select/feeder/department-feeder.component.mjs +1 -1
- package/esm2022/department/select/feeder/department-feeder.module.mjs +1 -1
- package/esm2022/department/select/feeder/index.mjs +1 -1
- package/esm2022/department/select/index.mjs +1 -1
- package/esm2022/department/select/input/department-select-input.component.mjs +3 -3
- package/esm2022/department/select/input/department-select-input.module.mjs +1 -1
- package/esm2022/department/select/input/department-select-input.translate.mjs +1 -1
- package/esm2022/department/select/input/index.mjs +1 -1
- package/esm2022/department/service/department-service.model.mjs +1 -1
- package/esm2022/department/service/department-v3.service.mjs +1 -1
- package/esm2022/department/service/index.mjs +1 -1
- package/esm2022/dropdown/dropdown.module.mjs +1 -1
- package/esm2022/dropdown/item/dropdown-item.directive.mjs +1 -1
- package/esm2022/dropdown/item/dropdown-item.model.mjs +1 -1
- package/esm2022/dropdown/item/dropdown-item.module.mjs +1 -1
- package/esm2022/dropdown/item/index.mjs +1 -1
- package/esm2022/dropdown/panel/dropdown-panel.component.mjs +3 -3
- package/esm2022/dropdown/panel/dropdown-panel.model.mjs +1 -1
- package/esm2022/dropdown/panel/dropdown-panel.module.mjs +1 -1
- package/esm2022/dropdown/panel/index.mjs +1 -1
- package/esm2022/dropdown/public-api.mjs +1 -1
- package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +1 -1
- package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +1 -1
- package/esm2022/dropdown/trigger/index.mjs +1 -1
- package/esm2022/establishment/establishment.model.mjs +1 -1
- package/esm2022/establishment/establishment.module.mjs +1 -1
- package/esm2022/establishment/public-api.mjs +1 -1
- package/esm2022/establishment/select/establishment-select.module.mjs +1 -1
- package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +1 -1
- package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +1 -1
- package/esm2022/establishment/select/for-legal-units/index.mjs +1 -1
- package/esm2022/establishment/select/index.mjs +1 -1
- package/esm2022/establishment/select/input/establishment-select-input.component.mjs +3 -3
- package/esm2022/establishment/select/input/establishment-select-input.module.mjs +1 -1
- package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +1 -1
- package/esm2022/establishment/select/input/index.mjs +1 -1
- package/esm2022/establishment/select/legal-unit-selector/index.mjs +1 -1
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +1 -1
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +1 -1
- package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +3 -3
- package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +1 -1
- package/esm2022/establishment/select/searcher/index.mjs +1 -1
- package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +3 -3
- package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +1 -1
- package/esm2022/establishment/select/select-all/establishment-select-all.translate.mjs +1 -1
- package/esm2022/establishment/select/select-all/index.mjs +1 -1
- package/esm2022/establishment/service/establishment-service.model.mjs +1 -1
- package/esm2022/establishment/service/establishment.service.mjs +1 -1
- package/esm2022/establishment/service/index.mjs +1 -1
- package/esm2022/establishment/service/legal-unit-service.model.mjs +1 -1
- package/esm2022/establishment/service/legal-unit.service.mjs +1 -1
- package/esm2022/form-field/form-field-size.mjs +1 -1
- package/esm2022/form-field/form-field.component.mjs +3 -3
- package/esm2022/form-field/input.directive.mjs +1 -1
- package/esm2022/form-field/public-api.mjs +1 -1
- package/esm2022/formly/formly.config.mjs +1 -1
- package/esm2022/formly/formly.module.mjs +1 -1
- package/esm2022/formly/formly.utils.mjs +1 -1
- package/esm2022/formly/public-api.mjs +1 -1
- package/esm2022/formly/types/api.mjs +3 -3
- package/esm2022/formly/types/checkbox.mjs +3 -3
- package/esm2022/formly/types/date.mjs +3 -3
- package/esm2022/formly/types/department.mjs +3 -3
- package/esm2022/formly/types/establishment.mjs +3 -3
- package/esm2022/formly/types/index.mjs +1 -1
- package/esm2022/formly/types/input.mjs +3 -3
- package/esm2022/formly/types/qualification.mjs +3 -3
- package/esm2022/formly/types/radios.mjs +3 -3
- package/esm2022/formly/types/select.mjs +3 -3
- package/esm2022/formly/types/textarea.mjs +3 -3
- package/esm2022/formly/types/user.mjs +3 -3
- package/esm2022/formly/wrappers/checkbox-layout.mjs +3 -3
- package/esm2022/formly/wrappers/error.mjs +7 -7
- package/esm2022/formly/wrappers/helper.mjs +3 -3
- package/esm2022/formly/wrappers/icon.mjs +3 -3
- package/esm2022/formly/wrappers/index.mjs +1 -1
- package/esm2022/formly/wrappers/radiosfield-layout.mjs +3 -3
- package/esm2022/formly/wrappers/suffix.mjs +3 -3
- package/esm2022/formly/wrappers/textfield-layout.mjs +3 -3
- package/esm2022/forms/abstract-field-component.mjs +1 -1
- package/esm2022/forms/checkboxfield/checkboxfield.component.mjs +3 -3
- package/esm2022/forms/form-field-id.directive.mjs +1 -1
- package/esm2022/forms/inject-ng-control.mjs +1 -1
- package/esm2022/forms/noop-value-accessor.directive.mjs +1 -1
- package/esm2022/forms/public-api.mjs +1 -1
- package/esm2022/forms/switchfield/switchfield.component.mjs +3 -3
- package/esm2022/forms/textfield/textfield-addon.mjs +1 -1
- package/esm2022/forms/textfield/textfield.component.mjs +3 -3
- package/esm2022/forms/textfield/textfield.translate.mjs +1 -1
- package/esm2022/icon/icon.component.mjs +3 -3
- package/esm2022/icon/public-api.mjs +1 -1
- package/esm2022/inline-message/inline-message-state.mjs +1 -1
- package/esm2022/inline-message/inline-message.component.mjs +3 -3
- package/esm2022/inline-message/public-api.mjs +1 -1
- package/esm2022/input/clearer/clearer.component.mjs +3 -3
- package/esm2022/input/clearer/clearer.model.mjs +1 -1
- package/esm2022/input/clearer/clearer.module.mjs +1 -1
- package/esm2022/input/clearer/index.mjs +1 -1
- package/esm2022/input/displayer/index.mjs +1 -1
- package/esm2022/input/displayer/input-displayer.directive.mjs +1 -1
- package/esm2022/input/displayer/input-displayer.model.mjs +1 -1
- package/esm2022/input/displayer/input-displayer.module.mjs +1 -1
- package/esm2022/input/input.directive.mjs +1 -1
- package/esm2022/input/input.model.mjs +1 -1
- package/esm2022/input/input.module.mjs +1 -1
- package/esm2022/input/public-api.mjs +1 -1
- package/esm2022/modal/modal-config.default.mjs +1 -1
- package/esm2022/modal/modal-config.model.mjs +1 -1
- package/esm2022/modal/modal-panel.component.mjs +5 -5
- package/esm2022/modal/modal-ref.factory.mjs +1 -1
- package/esm2022/modal/modal-ref.model.mjs +1 -1
- package/esm2022/modal/modal.model.mjs +1 -1
- package/esm2022/modal/modal.module.mjs +1 -1
- package/esm2022/modal/modal.service.mjs +1 -1
- package/esm2022/modal/modal.token.mjs +1 -1
- package/esm2022/modal/modal.translate.mjs +1 -1
- package/esm2022/modal/modal.utils.mjs +1 -1
- package/esm2022/modal/public-api.mjs +1 -1
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +45 -45
- package/esm2022/multi-select/displayer/default-displayer.translate.mjs +1 -1
- package/esm2022/multi-select/displayer/displayer.directive.mjs +1 -1
- package/esm2022/multi-select/displayer/index.mjs +1 -1
- package/esm2022/multi-select/input/index.mjs +1 -1
- package/esm2022/multi-select/input/panel-ref.factory.mjs +1 -1
- package/esm2022/multi-select/input/panel.model.mjs +1 -1
- package/esm2022/multi-select/input/select-input.component.mjs +3 -3
- package/esm2022/multi-select/panel/index.mjs +1 -1
- package/esm2022/multi-select/panel/option-selected.pipe.mjs +1 -1
- package/esm2022/multi-select/panel/panel.component.mjs +3 -3
- package/esm2022/multi-select/panel/selected-chip.directive.mjs +1 -1
- package/esm2022/multi-select/public-api.mjs +1 -1
- package/esm2022/multi-select/select.model.mjs +1 -1
- package/esm2022/multi-select/select.translate.mjs +1 -1
- package/esm2022/new-badge/new-badge.component.mjs +3 -3
- package/esm2022/new-badge/public-api.mjs +1 -1
- package/esm2022/number/number.module.mjs +1 -1
- package/esm2022/number/number.pipe.mjs +1 -1
- package/esm2022/number/public-api.mjs +1 -1
- package/esm2022/numeric-badge/numeric-badge/numeric-badge.component.mjs +3 -3
- package/esm2022/numeric-badge/public-api.mjs +1 -1
- package/esm2022/option/item/index.mjs +1 -1
- package/esm2022/option/item/option-item.component.mjs +3 -3
- package/esm2022/option/item/option-item.model.mjs +1 -1
- package/esm2022/option/item/option-item.module.mjs +1 -1
- package/esm2022/option/item/tree-option-item.component.mjs +3 -3
- package/esm2022/option/item/tree-option-item.model.mjs +1 -1
- package/esm2022/option/item/tree-option-item.module.mjs +1 -1
- package/esm2022/option/item/tree-option-item.translate.mjs +1 -1
- package/esm2022/option/operator/feeder/index.mjs +1 -1
- package/esm2022/option/operator/feeder/option-feeder.component.mjs +1 -1
- package/esm2022/option/operator/feeder/option-feeder.module.mjs +1 -1
- package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +1 -1
- package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +1 -1
- package/esm2022/option/operator/for-groups/for-groups.directive.mjs +1 -1
- package/esm2022/option/operator/for-groups/for-groups.module.mjs +1 -1
- package/esm2022/option/operator/for-groups/index.mjs +1 -1
- package/esm2022/option/operator/for-options/for-options.directive.mjs +1 -1
- package/esm2022/option/operator/for-options/for-options.module.mjs +1 -1
- package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +1 -1
- package/esm2022/option/operator/for-options/for-tree-options.module.mjs +1 -1
- package/esm2022/option/operator/for-options/index.mjs +1 -1
- package/esm2022/option/operator/index.mjs +1 -1
- package/esm2022/option/operator/option-operator.model.mjs +1 -1
- package/esm2022/option/operator/option-operator.module.mjs +1 -1
- package/esm2022/option/operator/pager/index.mjs +1 -1
- package/esm2022/option/operator/pager/option-pager.component.mjs +1 -1
- package/esm2022/option/operator/pager/option-pager.module.mjs +1 -1
- package/esm2022/option/operator/pager/tree-option-pager.component.mjs +1 -1
- package/esm2022/option/operator/pager/tree-option-pager.module.mjs +1 -1
- package/esm2022/option/operator/searcher/index.mjs +1 -1
- package/esm2022/option/operator/searcher/option-searcher.component.mjs +3 -3
- package/esm2022/option/operator/searcher/option-searcher.module.mjs +1 -1
- package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +3 -3
- package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +1 -1
- package/esm2022/option/operator/tree-option-operator.model.mjs +1 -1
- package/esm2022/option/operator/tree-option-operator.module.mjs +1 -1
- package/esm2022/option/option.module.mjs +1 -1
- package/esm2022/option/picker/index.mjs +1 -1
- package/esm2022/option/picker/option-picker-advanced.component.mjs +3 -3
- package/esm2022/option/picker/option-picker.component.mjs +3 -3
- package/esm2022/option/picker/option-picker.model.mjs +1 -1
- package/esm2022/option/picker/option-picker.module.mjs +1 -1
- package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +3 -3
- package/esm2022/option/picker/tree-option-picker.component.mjs +3 -3
- package/esm2022/option/picker/tree-option-picker.model.mjs +1 -1
- package/esm2022/option/picker/tree-option-picker.module.mjs +1 -1
- package/esm2022/option/placeholder/index.mjs +1 -1
- package/esm2022/option/placeholder/option-placeholder.component.mjs +3 -3
- package/esm2022/option/placeholder/option-placeholder.module.mjs +1 -1
- package/esm2022/option/placeholder/option-placeholder.translate.mjs +1 -1
- package/esm2022/option/public-api.mjs +1 -1
- package/esm2022/option/selector/all/index.mjs +1 -1
- package/esm2022/option/selector/all/select-all.component.mjs +3 -3
- package/esm2022/option/selector/all/select-all.module.mjs +1 -1
- package/esm2022/option/selector/all/select-all.translate.mjs +1 -1
- package/esm2022/option/selector/all/tree-select-all.component.mjs +3 -3
- package/esm2022/option/selector/all/tree-select-all.module.mjs +1 -1
- package/esm2022/option/selector/index.mjs +1 -1
- package/esm2022/option/selector/option-selector.model.mjs +1 -1
- package/esm2022/option/selector/option-selector.module.mjs +1 -1
- package/esm2022/option/selector/tree-option-selector.model.mjs +1 -1
- package/esm2022/option/selector/tree-option-selector.module.mjs +1 -1
- package/esm2022/option/tree-option.module.mjs +1 -1
- package/esm2022/picker/input-picker.model.mjs +1 -1
- package/esm2022/picker/public-api.mjs +1 -1
- package/esm2022/popover/animation/index.mjs +1 -1
- package/esm2022/popover/animation/popover.animation.mjs +1 -1
- package/esm2022/popover/panel/index.mjs +1 -1
- package/esm2022/popover/panel/popover-panel.component.mjs +3 -3
- package/esm2022/popover/panel/popover-panel.model.mjs +1 -1
- package/esm2022/popover/panel/popover-panel.module.mjs +1 -1
- package/esm2022/popover/popover.module.mjs +1 -1
- package/esm2022/popover/public-api.mjs +1 -1
- package/esm2022/popover/target/index.mjs +1 -1
- package/esm2022/popover/target/popover-target.directive.mjs +1 -1
- package/esm2022/popover/target/popover-target.model.mjs +3 -3
- package/esm2022/popover/target/popover-target.module.mjs +1 -1
- package/esm2022/popover/trigger/index.mjs +1 -1
- package/esm2022/popover/trigger/popover-trigger.directive.mjs +1 -1
- package/esm2022/popover/trigger/popover-trigger.model.mjs +4 -4
- package/esm2022/popover/trigger/popover-trigger.module.mjs +1 -1
- package/esm2022/popup/popup-config.default.mjs +1 -1
- package/esm2022/popup/popup-config.model.mjs +1 -1
- package/esm2022/popup/popup-ref.factory.mjs +1 -1
- package/esm2022/popup/popup-ref.model.mjs +1 -1
- package/esm2022/popup/popup.module.mjs +1 -1
- package/esm2022/popup/popup.service.mjs +1 -1
- package/esm2022/popup/popup.token.mjs +1 -1
- package/esm2022/popup/public-api.mjs +1 -1
- package/esm2022/public_api.mjs +1 -1
- package/esm2022/qualification/public-api.mjs +1 -1
- package/esm2022/qualification/qualification.model.mjs +1 -1
- package/esm2022/qualification/qualification.module.mjs +1 -1
- package/esm2022/qualification/select/index.mjs +1 -1
- package/esm2022/qualification/select/input/index.mjs +1 -1
- package/esm2022/qualification/select/input/qualification-select-input.component.mjs +3 -3
- package/esm2022/qualification/select/input/qualification-select-input.module.mjs +1 -1
- package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +1 -1
- package/esm2022/qualification/select/qualification-select.module.mjs +1 -1
- package/esm2022/safe-content/public-api.mjs +1 -1
- package/esm2022/safe-content/safe-content.module.mjs +1 -1
- package/esm2022/safe-content/safe-html.pipe.mjs +1 -1
- package/esm2022/scroll/public-api.mjs +1 -1
- package/esm2022/scroll/scroll.directive.mjs +1 -1
- package/esm2022/scroll/scroll.model.mjs +1 -1
- package/esm2022/scroll/scroll.module.mjs +1 -1
- package/esm2022/select/input/index.mjs +1 -1
- package/esm2022/select/input/select-input.component.mjs +3 -3
- package/esm2022/select/input/select-input.model.mjs +1 -1
- package/esm2022/select/input/select-input.module.mjs +1 -1
- package/esm2022/select/public-api.mjs +1 -1
- package/esm2022/select/select.module.mjs +1 -1
- package/esm2022/sidepanel/public-api.mjs +1 -1
- package/esm2022/sidepanel/sidepanel.model.mjs +1 -1
- package/esm2022/sidepanel/sidepanel.module.mjs +1 -1
- package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
- package/esm2022/simple-select/api/api-v3.directive.mjs +1 -1
- package/esm2022/simple-select/api/api-v4.directive.mjs +1 -1
- package/esm2022/simple-select/api/api.directive.mjs +1 -1
- package/esm2022/simple-select/api/public-api.mjs +1 -1
- package/esm2022/simple-select/input/index.mjs +1 -1
- package/esm2022/simple-select/input/panel-ref.factory.mjs +1 -1
- package/esm2022/simple-select/input/select-input.component.mjs +3 -3
- package/esm2022/simple-select/panel/index.mjs +1 -1
- package/esm2022/simple-select/panel/panel.component.mjs +3 -3
- package/esm2022/simple-select/public-api.mjs +1 -1
- package/esm2022/simple-select/select.model.mjs +1 -1
- package/esm2022/simple-select/select.translate.mjs +1 -1
- package/esm2022/title/public-api.mjs +1 -1
- package/esm2022/title/title-translate.service.mjs +1 -1
- package/esm2022/title/title.model.mjs +1 -1
- package/esm2022/title/title.module.mjs +1 -1
- package/esm2022/title/title.service.mjs +1 -1
- package/esm2022/title/title.strategy.mjs +1 -1
- package/esm2022/toast/public-api.mjs +1 -1
- package/esm2022/toast/toasts.component.mjs +3 -3
- package/esm2022/toast/toasts.model.mjs +1 -1
- package/esm2022/toast/toasts.module.mjs +1 -1
- package/esm2022/toast/toasts.service.mjs +1 -1
- package/esm2022/toast/toasts.translate.mjs +1 -1
- package/esm2022/tooltip/animation/index.mjs +1 -1
- package/esm2022/tooltip/animation/tooltip.animation.mjs +1 -1
- package/esm2022/tooltip/panel/index.mjs +1 -1
- package/esm2022/tooltip/panel/tooltip-panel.component.mjs +3 -3
- package/esm2022/tooltip/panel/tooltip-panel.module.mjs +1 -1
- package/esm2022/tooltip/public-api.mjs +1 -1
- package/esm2022/tooltip/tooltip.module.mjs +1 -1
- package/esm2022/tooltip/trigger/index.mjs +1 -1
- package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +1 -1
- package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +1 -1
- package/esm2022/user/display/display-format.model.mjs +1 -1
- package/esm2022/user/display/index.mjs +1 -1
- package/esm2022/user/display/user-display.module.mjs +1 -1
- package/esm2022/user/display/user-display.pipe.mjs +1 -1
- package/esm2022/user/picture/index.mjs +1 -1
- package/esm2022/user/picture/user-picture.component.mjs +3 -3
- package/esm2022/user/picture/user-picture.module.mjs +1 -1
- package/esm2022/user/public-api.mjs +1 -1
- package/esm2022/user/select/homonyms/index.mjs +1 -1
- package/esm2022/user/select/homonyms/user-homonyms.component.mjs +1 -1
- package/esm2022/user/select/homonyms/user-homonyms.module.mjs +1 -1
- package/esm2022/user/select/homonyms/user-homonyms.service.mjs +1 -1
- package/esm2022/user/select/index.mjs +1 -1
- package/esm2022/user/select/input/index.mjs +1 -1
- package/esm2022/user/select/input/user-select-input.component.mjs +3 -3
- package/esm2022/user/select/input/user-select-input.module.mjs +1 -1
- package/esm2022/user/select/input/user-select-input.translate.mjs +1 -1
- package/esm2022/user/select/me/index.mjs +1 -1
- package/esm2022/user/select/me/me-option.directive.mjs +1 -1
- package/esm2022/user/select/me/me-option.module.mjs +1 -1
- package/esm2022/user/select/searcher/index.mjs +1 -1
- package/esm2022/user/select/searcher/user-searcher.component.mjs +3 -3
- package/esm2022/user/select/searcher/user-searcher.module.mjs +1 -1
- package/esm2022/user/select/searcher/user-searcher.translate.mjs +1 -1
- package/esm2022/user/select/user-select.module.mjs +1 -1
- package/esm2022/user/service/index.mjs +1 -1
- package/esm2022/user/service/user-service.model.mjs +1 -1
- package/esm2022/user/service/user-v3.service.mjs +1 -1
- package/esm2022/user/tile/index.mjs +1 -1
- package/esm2022/user/tile/user-tile.component.mjs +3 -3
- package/esm2022/user/tile/user-tile.module.mjs +1 -1
- package/esm2022/user/user.model.mjs +1 -1
- package/esm2022/user/user.module.mjs +1 -1
- package/fesm2022/lucca-front-ng-a11y.mjs +2 -2
- 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 +6 -6
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +2 -2
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +6 -6
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +2 -2
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +2 -2
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +6 -6
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +40 -40
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +2 -2
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +2 -2
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +4 -4
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +48 -48
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +2 -2
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +2 -2
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +22 -22
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-picker.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +7 -7
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-qualification.mjs +2 -2
- package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +4 -4
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +2 -2
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +2 -2
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +8 -8
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng.mjs.map +1 -1
- package/formly/style/_components.scss +13 -13
- package/formly/style/main.scss +2 -2
- package/material/style/_components.scss +13 -13
- package/material/style/components/_autocomplete.scss +15 -15
- package/material/style/components/_buttons.scss +5 -5
- package/material/style/components/_datepicker.scss +124 -124
- package/material/style/components/_dialog.scss +34 -34
- package/material/style/components/_input.scss +5 -5
- package/material/style/components/_menu.scss +23 -23
- package/material/style/components/_mixins.scss +10 -10
- package/material/style/components/_options.scss +26 -26
- package/material/style/components/_select.scss +46 -46
- package/material/style/components/_tooltip.scss +11 -11
- package/material/style/main.scss +12 -12
- package/package.json +33 -33
- package/schematics/collection.json +9 -9
- package/schematics/lib/local-deps/package-lock.json +189 -189
- package/schematics/lib/local-deps/package.json +23 -23
- package/schematics/migrations.json +10 -10
- package/schematics/ng-add/file-content.js +12 -12
- package/simple-select/README.md +9 -9
- package/src/_components.scss +12 -12
- package/src/_definitions.scss +9 -9
- package/src/components/_calendar.scss +4 -4
- package/src/components/_dropdown.scss +77 -77
- package/src/components/_input.scss +57 -57
- package/src/components/_picker.scss +70 -70
- package/src/components/_popover.scss +58 -58
- package/src/components/_popup.scss +164 -164
- package/src/components/_sidepanel.scss +60 -60
- package/src/components/cdk/_dragDrop.scss +60 -60
- package/src/components/cdk/_global.scss +20 -20
- package/src/components/cdk/_misc.scss +12 -12
- package/src/components/cdk/_overlay.scss +72 -72
- package/src/components/cdk/_textarea.scss +17 -17
- package/src/definitions/option/_option-item.scss +165 -165
- package/src/definitions/option/_option-placeholder.scss +8 -8
- package/src/definitions/option/_option-searcher.scss +16 -16
- package/src/definitions/option/_option-selector.scss +11 -11
- package/src/definitions/select/_select-clearer.scss +14 -14
- package/src/definitions/select/_select-input.scss +322 -322
- package/src/definitions/tooltip/_tooltip.scss +36 -36
- package/src/definitions/user/user-picture.scss +100 -100
- package/src/definitions/user/user-tile.scss +82 -82
- package/src/main.scss +2 -2
- package/title/README.md +114 -114
|
@@ -114,11 +114,11 @@ class LuSelectPanelComponent {
|
|
|
114
114
|
setTimeout(() => this.keyManager.setFirstItemActive());
|
|
115
115
|
}
|
|
116
116
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSelectPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: ɵLuOptionComponent, descendants: true }], ngImport: i0, template: "<div\
|
|
117
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuSelectPanelComponent, isStandalone: true, selector: "lu-select-panel", host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "optionsQL", predicate: ɵLuOptionComponent, descendants: true }], ngImport: i0, template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0;box-shadow:0 -4px 0 var(--spacings-XS) var(--colors-white-color)}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ɵLuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "isSelected", "option", "optionIndex", "scrollIntoViewOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
118
118
|
}
|
|
119
119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSelectPanelComponent, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
|
-
args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent], template: "<div\
|
|
121
|
+
args: [{ selector: 'lu-select-panel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent], template: "<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.textfield.mod-search{width:100%}.textfield-input{outline:none}.checkbox.mod-formerEmployee{padding:var(--spacings-XXS) var(--components-options-item-padding-horizontal);border-bottom:var(--commons-divider-width) solid var(--commons-divider-color);background-color:var(--palettes-grey-50);font-style:italic}.optionPlaceholder{display:block;padding:var(--components-options-item-padding-vertical) var(--components-options-item-padding-horizontal);font-style:italic;color:var(--palettes-grey-600)}.panel-search{position:sticky;top:0;box-shadow:0 -4px 0 var(--spacings-XS) var(--colors-white-color)}.panel-loading:after{box-shadow:0 0 0 .25rem var(--colors-white-color),inset 0 0 0 .5rem var(--colors-white-color)}\n"] }]
|
|
122
122
|
}], propDecorators: { searchInput: [{
|
|
123
123
|
type: ViewChild,
|
|
124
124
|
args: ['searchInput']
|
|
@@ -246,7 +246,7 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
|
|
|
246
246
|
LuSimpleSelectPanelRefFactory,
|
|
247
247
|
provideLuSelectOverlayContainer(),
|
|
248
248
|
provideLuSelectLabelsAndIds(),
|
|
249
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\
|
|
249
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\n</a>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:flex;text-overflow:ellipsis;white-space:nowrap;gap:var(--spacings-XXS)}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value lu-simple-select-default-option{max-width:5rem;text-overflow:ellipsis;overflow:hidden}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none}:host-context(.textfield-input.is-filled){display:block}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}.lu-select-value{padding-right:2rem}:host.is-disabled{display:inline-block!important}\n"], dependencies: [{ kind: "directive", type: ɵLuOptionOutletDirective, selector: "[luOptionOutlet]", inputs: ["luOptionOutlet", "luOptionOutletValue"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
250
250
|
}
|
|
251
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuSimpleSelectInputComponent, decorators: [{
|
|
252
252
|
type: Component,
|
|
@@ -263,7 +263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
263
263
|
LuSimpleSelectPanelRefFactory,
|
|
264
264
|
provideLuSelectOverlayContainer(),
|
|
265
265
|
provideLuSelectLabelsAndIds(),
|
|
266
|
-
], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\
|
|
266
|
+
], template: "<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\n</a>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}:host{--components-select-input-padding-horizontal: var(--spacings-XS);--components-select-input-padding-vertical: var(--spacings-XS);--components-select-framed-color: var(--palettes-grey-500);--components-select-framed-color50: var(--palettes-grey-50);--components-select-framed-see-through: var(--palettes-grey-50);--components-select-framed-text: var(--palettes-grey-800);--components-select-framed-placeholder: #cccccc;--components-select-framed-side-padding: var(--spacings-S);--components-select-framed-top-padding: var(--spacings-L);--components-select-framed-bottom-padding: var(--spacings-S);--components-select-framed-label-top-offset: var(--spacings-XS);cursor:pointer;outline:none;padding:0;gap:0}:host:after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;color:var(--palettes-grey-600);bottom:var(--components-select-input-padding-vertical);font-size:var(--sizes-M-lineHeight);line-height:var(--sizes-M-lineHeight);pointer-events:none;position:absolute;right:var(--components-select-input-padding-horizontal)}@supports (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){:host:after{content:\"\\e97c\"}}:host[disabled],:host.is-disabled{cursor:not-allowed;pointer-events:all}.lu-select-display-wrapper{display:flex;text-overflow:ellipsis;white-space:nowrap;gap:var(--spacings-XXS)}.lu-select-value{line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);display:none}.lu-select-placeholder{color:var(--palettes-grey-400);line-height:var(--sizes-M-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-M-lineHeight));padding:var(--components-select-input-padding-vertical) 3.5rem var(--components-select-input-padding-vertical) var(--components-select-input-padding-horizontal);transition:all var(--commons-animations-durations-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lu-select-suffix,.lu-select-clearer{position:absolute;bottom:.75rem;right:2.25rem}::ng-deep .lu-select-value lu-simple-select-default-option{max-width:5rem;text-overflow:ellipsis;overflow:hidden}::ng-deep .lu-select-value .label{padding:var(--spacings-XXS) var(--spacings-XS);margin-left:0}::ng-deep .lu-select-value .chip{vertical-align:baseline;max-width:100%;margin:0 var(--spacings-XXS) var(--spacings-XXS) 0;text-overflow:ellipsis;overflow:hidden;vertical-align:top;white-space:nowrap}:host-context(.textfield.mod-S){padding:0}:host-context(.textfield.mod-S) .lu-select-value,:host-context(.textfield.mod-S) .lu-select-placeholder{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-XS-lineHeight);min-height:calc(var(--components-select-framed-bottom-padding) + var(--sizes-XS-lineHeight))}:host-context(.textfield.mod-S) .lu-select-clearer{bottom:var(--spacings-XS)}:host-context(.textfield.mod-S):after{line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-S-lineHeight)}:host-context(.textfield.mod-S) .lu-select-suffix{bottom:.5rem;right:2rem}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .label{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);font-weight:600;margin:0;padding:0;background-color:transparent}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .chip{height:var(--sizes-XS-lineHeight);line-height:var(--sizes-XS-lineHeight);font-size:var(--sizes-XS-fontSize);padding-left:var(--spacings-XXS);padding-right:var(--spacings-XXS);gap:var(--spacings-XXS)}:host-context(.textfield.mod-S) ::ng-deep .lu-select-value .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}:host-context(.textfield.mod-framed).textfield-input,:host-context(.form.mod-framed).textfield-input{padding:var(--components-select-framed-top-padding) 0 0}:host-context(.textfield.mod-framed).textfield-input:after,:host-context(.form.mod-framed).textfield-input:after{color:var(--palettes-grey-500);bottom:var(--components-select-framed-bottom-padding);right:var(--spacings-XS)}:host-context(.textfield.mod-framed).textfield-input .lu-select-value,:host-context(.form.mod-framed).textfield-input .lu-select-value{padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-placeholder,:host-context(.form.mod-framed).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400);padding:0 calc(var(--components-select-framed-side-padding) * 3) var(--components-select-framed-bottom-padding) var(--components-select-framed-side-padding)}:host-context(.textfield.mod-framed).textfield-input .lu-select-suffix,:host-context(.form.mod-framed).textfield-input .lu-select-suffix{bottom:var(--components-select-framed-bottom-padding);right:1.7rem}:host-context(.textfield.mod-filter) .lu-select-value,:host-context(.textfield.mod-filter) .lu-select-placeholder{padding:0;height:auto;padding-top:var(--spacings-S);color:var(--palettes-grey-800)}:host-context(.textfield.mod-material):after{color:var(--palettes-grey-500);bottom:.6rem;right:0}:host-context(.textfield.mod-material) .lu-select-value,:host-context(.textfield.mod-material) .lu-select-placeholder{padding-left:0;padding-right:.8rem}:host-context(.textfield.mod-material) .lu-select-suffix{right:calc(2 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material).is-select .lu-select-placeholder{display:none}:host-context(.textfield.mod-material).mod-search:after{bottom:0}:host-context(.textfield.mod-material).mod-search .lu-select-suffix{right:calc(2.75 * var(--components-select-input-padding-horizontal))}:host-context(.textfield.mod-material .textfield-input.is-focused) .lu-select-placeholder{display:none}:host(.mod-multiple) .lu-select-value{height:auto;align-items:center}:host(.mod-multiple) .lu-select-display-wrapper{overflow:visible;white-space:normal;margin-bottom:calc(var(--spacings-XXS) * -1)}:host-context(.textfield.mod-outlined).textfield-input:after{color:var(--palettes-grey-600)}:host-context(.textfield.mod-outlined).textfield-input .lu-select-placeholder{color:var(--palettes-grey-400)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error):after{color:var(--palettes-error-600)}:host-context(.textfield.mod-outlined) :host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-filled) .lu-select-placeholder{display:none}:host-context(.textfield-input.is-filled) .lu-select-value{display:flex;align-items:flex-start}:host-context(.textfield-input.is-clearable) .lu-select-value{padding-right:3.5rem}:host-context(.textfield-input.is-error):after{color:var(--palettes-error-700)}:host-context(.textfield-input.is-error) .lu-select-placeholder{color:var(--palettes-error-400)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]):after{color:var(--commons-disabled-color)}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]) .lu-select-placeholder{color:var(--commons-disabled-placeholder)}:host{display:none}:host-context(.textfield-input.is-filled){display:block}:host-context(.textfield-input.is-disabled,.textfield-input[disabled]){display:none}.lu-select-value{padding-right:2rem}:host.is-disabled{display:inline-block!important}\n"] }]
|
|
267
267
|
}] });
|
|
268
268
|
|
|
269
269
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-simple-select.mjs","sources":["../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\r\n\tfactory: () => luSimpleSelectTranslations,\r\n});\r\n\r\nexport interface ILuSimpleSelectLabel {\r\n\tplaceholder: string;\r\n\tclear: string;\r\n\tclearSearch: string;\r\n\temptyResults: string;\r\n}\r\n\r\nexport const luSimpleSelectTranslations: ILuTranslation<ILuSimpleSelectLabel> = {\r\n\ten: {\r\n\t\tplaceholder: 'Select an option',\r\n\t\tclear: 'Clear',\r\n\t\tclearSearch: 'Clear search',\r\n\t\temptyResults: 'No results',\r\n\t},\r\n\tfr: {\r\n\t\tplaceholder: 'Sélectionnez une option',\r\n\t\tclear: 'Effacer',\r\n\t\tclearSearch: 'Vider la recherche',\r\n\t\temptyResults: 'Aucun résultat pour votre recherche',\r\n\t},\r\n\tde: {\r\n\t\tplaceholder: 'Wählen Sie eine Option',\r\n\t\tclear: 'Löschen',\r\n\t\tclearSearch: 'Suche löschen',\r\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\r\n\t},\r\n\tes: {\r\n\t\tplaceholder: 'Seleccione una opción',\r\n\t\tclear: 'Borrar',\r\n\t\tclearSearch: 'Borrar búsqueda',\r\n\t\temptyResults: 'No hay resultados para su búsqueda',\r\n\t},\r\n\tpt: {\r\n\t\tplaceholder: 'Selecione uma opção',\r\n\t\tclear: 'Limpar',\r\n\t\tclearSearch: 'Limpar pesquisa',\r\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\r\n\t},\r\n};\r\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\r\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ILuSimpleSelectPanelData<T> {\r\n\toptions$: Observable<T[]>;\r\n\tloading$: Observable<boolean>;\r\n\toptionComparer: (option1: T, option2: T) => boolean;\r\n\tinitialValue: T | undefined;\r\n\toptionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown>;\r\n\tsearchable: boolean;\r\n}\r\n\r\nexport const SIMPLE_SELECT_PANEL_DATA = new InjectionToken<ILuSimpleSelectPanelData<unknown>>('SimpleSelectPanelData');\r\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\r\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, HostListener, inject, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\r\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\r\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\r\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-select-panel',\r\n\ttemplateUrl: './panel.component.html',\r\n\tstyleUrls: ['./panel.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent],\r\n})\r\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\r\n\tprotected panelData = inject<ILuSimpleSelectPanelData<T>>(SIMPLE_SELECT_PANEL_DATA);\r\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\r\n\tpublic selectId = inject(SELECT_ID);\r\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\r\n\r\n\toptions$ = this.panelData.options$;\r\n\tloading$ = this.panelData.loading$;\r\n\toptionComparer = this.panelData.optionComparer;\r\n\tinitialValue: T | undefined = this.panelData.initialValue;\r\n\toptionTpl = this.panelData.optionTpl;\r\n\tsearchable = this.panelData.searchable;\r\n\r\n\t@ViewChild('searchInput')\r\n\tpublic set searchInput(input: ElementRef<HTMLInputElement> | undefined) {\r\n\t\tif (!input) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => input.nativeElement.focus());\r\n\t}\r\n\r\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\r\n\tprivate keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\r\n\r\n\tsearch: string | null = null;\r\n\r\n\tpublic get selected(): T | undefined {\r\n\t\treturn this.keyManager?.activeItem?.option;\r\n\t}\r\n\r\n\tonScroll(evt: Event): void {\r\n\t\tif (!(evt.target instanceof HTMLElement)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (evt.target.scrollTop === 0) {\r\n\t\t\tthis.panelRef.previousPage.emit();\r\n\t\t}\r\n\r\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\r\n\t\t\tthis.panelRef.nextPage.emit();\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (!this.optionsQL) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\r\n\r\n\t\tif (this.initialValue) {\r\n\t\t\tthis.options$\r\n\t\t\t\t?.pipe(\r\n\t\t\t\t\tobserveOn(asyncScheduler),\r\n\t\t\t\t\tmap((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))),\r\n\t\t\t\t\tfilter((index) => index !== -1),\r\n\t\t\t\t\ttake(1),\r\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));\r\n\t\t}\r\n\r\n\t\tthis.keyManager.change\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(() => this.keyManager.activeItem?.id),\r\n\t\t\t\ttakeUntil(this.panelRef.closed),\r\n\t\t\t)\r\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\r\n\t}\r\n\r\n\t@HostListener('keydown', ['$event'])\r\n\tonKeyDown($event: KeyboardEvent): void {\r\n\t\tswitch ($event.key) {\r\n\t\t\tcase 'Escape':\r\n\t\t\tcase 'Tab':\r\n\t\t\t\treturn this.panelRef.close();\r\n\t\t\tcase 'Enter':\r\n\t\t\t\treturn this.panelRef.emitValue(this.selected);\r\n\t\t\tdefault:\r\n\t\t\t\tthis.keyManager?.onKeydown($event);\r\n\t\t}\r\n\t}\r\n\r\n\tupdateClue(clue: string | null): void {\r\n\t\tthis.search = clue;\r\n\t\tthis.panelRef.clueChanged.emit(clue);\r\n\r\n\t\tsetTimeout(() => this.keyManager.setFirstItemActive());\r\n\t}\r\n}\r\n","<div\r\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\r\n\trole=\"dialog\"\r\n\tcdkTrapFocus\r\n\t*ngIf=\"{ options: options$ | async } as ctx\"\r\n\t[cdkTrapFocusAutoCapture]=\"true\"\r\n>\r\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\r\n\t\t<ng-container *ngIf=\"searchable\">\r\n\t\t\t<div class=\"panel-search textfield mod-search\">\r\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\r\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\r\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t\t<div class=\"lu-picker-content-option\">\r\n\t\t\t<lu-select-option\r\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\r\n\t\t\t\t[option]=\"option\"\r\n\t\t\t\t[optionTpl]=\"optionTpl\"\r\n\t\t\t\t[optionIndex]=\"index\"\r\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\r\n\t\t\t\t[isSelected]=\"option === selected\"\r\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\r\n\t\t\t></lu-select-option>\r\n\t\t</div>\r\n\r\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\r\n\t</div>\r\n</div>\r\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\r\nimport { LuSelectPanelRef } from '@lucca-front/ng/core-select';\r\nimport { takeUntil } from 'rxjs';\r\nimport { LuSelectPanelComponent } from '../panel';\r\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\r\n\r\nclass SelectPanelRef<T> extends LuSelectPanelRef<T, T> {\r\n\tinstance: LuSelectPanelComponent<T>;\r\n\tprivate panelRef: ComponentRef<LuSelectPanelComponent<T>>;\r\n\tprivate portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\r\n\r\n\tconstructor(private overlayRef: OverlayRef, parentInjector: Injector, panelData: ILuSimpleSelectPanelData<T>) {\r\n\t\tsuper();\r\n\r\n\t\tconst injector = Injector.create({\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\r\n\t\t\t\t{ provide: SIMPLE_SELECT_PANEL_DATA, useValue: panelData },\r\n\t\t\t],\r\n\t\t\tparent: parentInjector,\r\n\t\t});\r\n\r\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, injector);\r\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\r\n\t\tthis.instance = this.panelRef.instance;\r\n\r\n\t\toverlayRef\r\n\t\t\t.backdropClick()\r\n\t\t\t.pipe(takeUntil(this.closed))\r\n\t\t\t.subscribe(() => this.close());\r\n\t}\r\n\r\n\temitValue(value: T): void {\r\n\t\tthis.valueChanged.emit(value);\r\n\t\tthis.close();\r\n\t}\r\n\r\n\toverride close(): void {\r\n\t\tsuper.close();\r\n\t\tthis.panelRef.destroy();\r\n\t\tthis.overlayRef.detach();\r\n\t}\r\n}\r\n\r\n@Injectable()\r\nexport class LuSimpleSelectPanelRefFactory {\r\n\tprotected overlay = inject(Overlay);\r\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\r\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\r\n\tprotected parentInjector = inject(Injector);\r\n\r\n\tbuildPanelRef<T>(panelData: ILuSimpleSelectPanelData<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\r\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\r\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\r\n\r\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, panelData);\r\n\t}\r\n\r\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\r\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\r\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\r\n\t\t\t{\r\n\t\t\t\toriginX: 'start',\r\n\t\t\t\toriginY: 'bottom',\r\n\t\t\t\toverlayX: 'start',\r\n\t\t\t\toverlayY: 'top',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toriginX: 'end',\r\n\t\t\t\toriginY: 'bottom',\r\n\t\t\t\toverlayX: 'end',\r\n\t\t\t\toverlayY: 'top',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toriginX: 'start',\r\n\t\t\t\toriginY: 'top',\r\n\t\t\t\toverlayX: 'start',\r\n\t\t\t\toverlayY: 'bottom',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toriginX: 'end',\r\n\t\t\t\toriginY: 'top',\r\n\t\t\t\toverlayX: 'end',\r\n\t\t\t\toverlayY: 'bottom',\r\n\t\t\t},\r\n\t\t]);\r\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\r\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\r\n\t\toverlayConfig.maxHeight = '100vh';\r\n\t\toverlayConfig.maxWidth = '100vw';\r\n\r\n\t\treturn overlayConfig;\r\n\t}\r\n}\r\n","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\r\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\r\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\r\n\r\n@Component({\r\n\tselector: 'lu-simple-select',\r\n\ttemplateUrl: './select-input.component.html',\r\n\tstyleUrls: ['./select-input.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule],\r\n\tproviders: [\r\n\t\t{\r\n\t\t\tprovide: NG_VALUE_ACCESSOR,\r\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ALuSelectInputComponent,\r\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\r\n\t\t},\r\n\t\tLuSimpleSelectPanelRefFactory,\r\n\t\tprovideLuSelectOverlayContainer(),\r\n\t\tprovideLuSelectLabelsAndIds(),\r\n\t],\r\n})\r\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\r\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\r\n\r\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\r\n\r\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\r\n\t\treturn this.panelRefFactory.buildPanelRef(\r\n\t\t\t{\r\n\t\t\t\tinitialValue: this.value,\r\n\t\t\t\toptionComparer: this.optionComparer,\r\n\t\t\t\toptions$: this.options$,\r\n\t\t\t\tloading$: this.loading$,\r\n\t\t\t\tsearchable: this.searchable,\r\n\t\t\t\toptionTpl: this.optionTpl,\r\n\t\t\t},\r\n\t\t\tthis.overlayConfig,\r\n\t\t);\r\n\t}\r\n\r\n\tprotected get hasValue(): boolean {\r\n\t\treturn this.value !== null && this.value !== undefined;\r\n\t}\r\n}\r\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\r\n<div class=\"lu-select-value\">\r\n\t<div class=\"lu-select-display-wrapper\">\r\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\r\n\t</div>\r\n</div>\r\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\r\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\r\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\r\n</a>\r\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-simple-select.mjs","sources":["../../../packages/ng/simple-select/select.translate.ts","../../../packages/ng/simple-select/select.model.ts","../../../packages/ng/simple-select/panel/panel.component.ts","../../../packages/ng/simple-select/panel/panel.component.html","../../../packages/ng/simple-select/input/panel-ref.factory.ts","../../../packages/ng/simple-select/input/select-input.component.ts","../../../packages/ng/simple-select/input/select-input.component.html","../../../packages/ng/simple-select/lucca-front-ng-simple-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_SIMPLE_SELECT_TRANSLATIONS = new InjectionToken('LuSimpleSelectTranslations', {\n\tfactory: () => luSimpleSelectTranslations,\n});\n\nexport interface ILuSimpleSelectLabel {\n\tplaceholder: string;\n\tclear: string;\n\tclearSearch: string;\n\temptyResults: string;\n}\n\nexport const luSimpleSelectTranslations: ILuTranslation<ILuSimpleSelectLabel> = {\n\ten: {\n\t\tplaceholder: 'Select an option',\n\t\tclear: 'Clear',\n\t\tclearSearch: 'Clear search',\n\t\temptyResults: 'No results',\n\t},\n\tfr: {\n\t\tplaceholder: 'Sélectionnez une option',\n\t\tclear: 'Effacer',\n\t\tclearSearch: 'Vider la recherche',\n\t\temptyResults: 'Aucun résultat pour votre recherche',\n\t},\n\tde: {\n\t\tplaceholder: 'Wählen Sie eine Option',\n\t\tclear: 'Löschen',\n\t\tclearSearch: 'Suche löschen',\n\t\temptyResults: 'Keine Ergebnisse für Ihre Suche',\n\t},\n\tes: {\n\t\tplaceholder: 'Seleccione una opción',\n\t\tclear: 'Borrar',\n\t\tclearSearch: 'Borrar búsqueda',\n\t\temptyResults: 'No hay resultados para su búsqueda',\n\t},\n\tpt: {\n\t\tplaceholder: 'Selecione uma opção',\n\t\tclear: 'Limpar',\n\t\tclearSearch: 'Limpar pesquisa',\n\t\temptyResults: 'Nenhum resultado para sua pesquisa',\n\t},\n};\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { LuOptionContext } from '@lucca-front/ng/core-select';\nimport { Observable } from 'rxjs';\n\nexport interface ILuSimpleSelectPanelData<T> {\n\toptions$: Observable<T[]>;\n\tloading$: Observable<boolean>;\n\toptionComparer: (option1: T, option2: T) => boolean;\n\tinitialValue: T | undefined;\n\toptionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown>;\n\tsearchable: boolean;\n}\n\nexport const SIMPLE_SELECT_PANEL_DATA = new InjectionToken<ILuSimpleSelectPanelData<unknown>>('SimpleSelectPanelData');\n","import { A11yModule, ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, HostListener, inject, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuSelectPanelRef, SELECT_ID, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { asyncScheduler, filter, map, observeOn, take, takeUntil } from 'rxjs';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\n\n@Component({\n\tselector: 'lu-select-panel',\n\ttemplateUrl: './panel.component.html',\n\tstyleUrls: ['./panel.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [A11yModule, AsyncPipe, FormsModule, NgIf, NgFor, ɵLuOptionComponent],\n})\nexport class LuSelectPanelComponent<T> implements AfterViewInit {\n\tprotected panelData = inject<ILuSimpleSelectPanelData<T>>(SIMPLE_SELECT_PANEL_DATA);\n\tpublic panelRef = inject<LuSelectPanelRef<T, T>>(LuSelectPanelRef);\n\tpublic selectId = inject(SELECT_ID);\n\tpublic intl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\toptions$ = this.panelData.options$;\n\tloading$ = this.panelData.loading$;\n\toptionComparer = this.panelData.optionComparer;\n\tinitialValue: T | undefined = this.panelData.initialValue;\n\toptionTpl = this.panelData.optionTpl;\n\tsearchable = this.panelData.searchable;\n\n\t@ViewChild('searchInput')\n\tpublic set searchInput(input: ElementRef<HTMLInputElement> | undefined) {\n\t\tif (!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => input.nativeElement.focus());\n\t}\n\n\t@ViewChildren(ɵLuOptionComponent) optionsQL: QueryList<ɵLuOptionComponent<T>>;\n\tprivate keyManager: ActiveDescendantKeyManager<ɵLuOptionComponent<T>>;\n\n\tsearch: string | null = null;\n\n\tpublic get selected(): T | undefined {\n\t\treturn this.keyManager?.activeItem?.option;\n\t}\n\n\tonScroll(evt: Event): void {\n\t\tif (!(evt.target instanceof HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (evt.target.scrollTop === 0) {\n\t\t\tthis.panelRef.previousPage.emit();\n\t\t}\n\n\t\tif (evt.target.scrollHeight - evt.target.scrollTop - evt.target.clientHeight < 1) {\n\t\t\tthis.panelRef.nextPage.emit();\n\t\t}\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (!this.optionsQL) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyManager = new ActiveDescendantKeyManager(this.optionsQL).withHomeAndEnd();\n\n\t\tif (this.initialValue) {\n\t\t\tthis.options$\n\t\t\t\t?.pipe(\n\t\t\t\t\tobserveOn(asyncScheduler),\n\t\t\t\t\tmap((options) => options.findIndex((o) => this.optionComparer(o, this.initialValue))),\n\t\t\t\t\tfilter((index) => index !== -1),\n\t\t\t\t\ttake(1),\n\t\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t\t)\n\t\t\t\t.subscribe((selectedIndex) => this.keyManager.setActiveItem(selectedIndex));\n\t\t}\n\n\t\tthis.keyManager.change\n\t\t\t.pipe(\n\t\t\t\tmap(() => this.keyManager.activeItem?.id),\n\t\t\t\ttakeUntil(this.panelRef.closed),\n\t\t\t)\n\t\t\t.subscribe((activeDescendant) => this.panelRef.activeOptionIdChanged.emit(activeDescendant));\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeyDown($event: KeyboardEvent): void {\n\t\tswitch ($event.key) {\n\t\t\tcase 'Escape':\n\t\t\tcase 'Tab':\n\t\t\t\treturn this.panelRef.close();\n\t\t\tcase 'Enter':\n\t\t\t\treturn this.panelRef.emitValue(this.selected);\n\t\t\tdefault:\n\t\t\t\tthis.keyManager?.onKeydown($event);\n\t\t}\n\t}\n\n\tupdateClue(clue: string | null): void {\n\t\tthis.search = clue;\n\t\tthis.panelRef.clueChanged.emit(clue);\n\n\t\tsetTimeout(() => this.keyManager.setFirstItemActive());\n\t}\n}\n","<div\n\tclass=\"lu-picker-panel lu-option-picker-panel\"\n\trole=\"dialog\"\n\tcdkTrapFocus\n\t*ngIf=\"{ options: options$ | async } as ctx\"\n\t[cdkTrapFocusAutoCapture]=\"true\"\n>\n\t<div class=\"lu-picker-content\" [class.is-loading]=\"loading$ | async\" tabindex=\"0\" (scroll)=\"onScroll($event)\">\n\t\t<ng-container *ngIf=\"searchable\">\n\t\t\t<div class=\"panel-search textfield mod-search\">\n\t\t\t\t<input #searchInput class=\"textfield-input\" [ngModel]=\"search\" (ngModelChange)=\"updateClue($event)\" />\n\t\t\t</div>\n\n\t\t\t<div class=\"optionPlaceholder\" *ngIf=\"search && !ctx.options?.length\">\n\t\t\t\t<p class=\"optionPlaceholder-content u-marginBottom0\">{{ intl.emptyResults }}</p>\n\t\t\t\t<button type=\"button\" class=\"link\" (click)=\"updateClue(null); searchInput.focus()\">{{ intl.clearSearch }}</button>\n\t\t\t</div>\n\t\t</ng-container>\n\t\t<div class=\"lu-picker-content-option\">\n\t\t\t<lu-select-option\n\t\t\t\t*ngFor=\"let option of ctx.options; let index = index\"\n\t\t\t\t[option]=\"option\"\n\t\t\t\t[optionTpl]=\"optionTpl\"\n\t\t\t\t[optionIndex]=\"index\"\n\t\t\t\t[scrollIntoViewOptions]=\"{ block: 'center' }\"\n\t\t\t\t[isSelected]=\"option === selected\"\n\t\t\t\t(click)=\"panelRef.emitValue(option)\"\n\t\t\t></lu-select-option>\n\t\t</div>\n\n\t\t<div *ngIf=\"loading$ | async\" class=\"panel-loading loading lu-picker-loading\"></div>\n\t</div>\n</div>\n","import { Overlay, OverlayConfig, OverlayPositionBuilder, OverlayRef, ScrollStrategyOptions } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { LuSelectPanelRef } from '@lucca-front/ng/core-select';\nimport { takeUntil } from 'rxjs';\nimport { LuSelectPanelComponent } from '../panel';\nimport { ILuSimpleSelectPanelData, SIMPLE_SELECT_PANEL_DATA } from '../select.model';\n\nclass SelectPanelRef<T> extends LuSelectPanelRef<T, T> {\n\tinstance: LuSelectPanelComponent<T>;\n\tprivate panelRef: ComponentRef<LuSelectPanelComponent<T>>;\n\tprivate portalRef: ComponentPortal<LuSelectPanelComponent<T>>;\n\n\tconstructor(private overlayRef: OverlayRef, parentInjector: Injector, panelData: ILuSimpleSelectPanelData<T>) {\n\t\tsuper();\n\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: LuSelectPanelRef, useValue: this },\n\t\t\t\t{ provide: SIMPLE_SELECT_PANEL_DATA, useValue: panelData },\n\t\t\t],\n\t\t\tparent: parentInjector,\n\t\t});\n\n\t\tthis.portalRef = new ComponentPortal<LuSelectPanelComponent<T>>(LuSelectPanelComponent, undefined, injector);\n\t\tthis.panelRef = overlayRef.attach(this.portalRef);\n\t\tthis.instance = this.panelRef.instance;\n\n\t\toverlayRef\n\t\t\t.backdropClick()\n\t\t\t.pipe(takeUntil(this.closed))\n\t\t\t.subscribe(() => this.close());\n\t}\n\n\temitValue(value: T): void {\n\t\tthis.valueChanged.emit(value);\n\t\tthis.close();\n\t}\n\n\toverride close(): void {\n\t\tsuper.close();\n\t\tthis.panelRef.destroy();\n\t\tthis.overlayRef.detach();\n\t}\n}\n\n@Injectable()\nexport class LuSimpleSelectPanelRefFactory {\n\tprotected overlay = inject(Overlay);\n\tprotected elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprotected positionBuilder = inject(OverlayPositionBuilder);\n\tprotected scrollStrategies = inject(ScrollStrategyOptions);\n\tprotected parentInjector = inject(Injector);\n\n\tbuildPanelRef<T>(panelData: ILuSimpleSelectPanelData<T>, overlayConfigOverride: OverlayConfig = {}): LuSelectPanelRef<T, T> {\n\t\tconst overlayConfig = this.buildOverlayConfig(overlayConfigOverride);\n\t\tconst overlayRef = this.overlay.create(overlayConfig);\n\n\t\treturn new SelectPanelRef(overlayRef, this.parentInjector, panelData);\n\t}\n\n\tprotected buildOverlayConfig(overlayConfigOverride: OverlayConfig = {}): OverlayConfig {\n\t\tconst overlayConfig: OverlayConfig = overlayConfigOverride || {};\n\t\toverlayConfig.positionStrategy = this.positionBuilder.flexibleConnectedTo(this.elementRef).withPositions([\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'end',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'end',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t]);\n\t\toverlayConfig.scrollStrategy = this.scrollStrategies.reposition();\n\t\toverlayConfig.minWidth = this.elementRef.nativeElement.clientWidth;\n\t\toverlayConfig.maxHeight = '100vh';\n\t\toverlayConfig.maxWidth = '100vw';\n\n\t\treturn overlayConfig;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuSelectPanelRef, provideLuSelectLabelsAndIds, provideLuSelectOverlayContainer, ɵLuOptionOutletDirective } from '@lucca-front/ng/core-select';\nimport { LU_SIMPLE_SELECT_TRANSLATIONS } from '../select.translate';\nimport { LuSimpleSelectPanelRefFactory } from './panel-ref.factory';\n\n@Component({\n\tselector: 'lu-simple-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrls: ['./select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [AsyncPipe, ɵLuOptionOutletDirective, NgIf, OverlayModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuSelectInputComponent,\n\t\t\tuseExisting: forwardRef(() => LuSimpleSelectInputComponent),\n\t\t},\n\t\tLuSimpleSelectPanelRefFactory,\n\t\tprovideLuSelectOverlayContainer(),\n\t\tprovideLuSelectLabelsAndIds(),\n\t],\n})\nexport class LuSimpleSelectInputComponent<T> extends ALuSelectInputComponent<T, T> implements ControlValueAccessor {\n\tintl = getIntl(LU_SIMPLE_SELECT_TRANSLATIONS);\n\n\tprotected panelRefFactory = inject(LuSimpleSelectPanelRefFactory);\n\n\tprotected buildPanelRef(): LuSelectPanelRef<T, T> {\n\t\treturn this.panelRefFactory.buildPanelRef(\n\t\t\t{\n\t\t\t\tinitialValue: this.value,\n\t\t\t\toptionComparer: this.optionComparer,\n\t\t\t\toptions$: this.options$,\n\t\t\t\tloading$: this.loading$,\n\t\t\t\tsearchable: this.searchable,\n\t\t\t\toptionTpl: this.optionTpl,\n\t\t\t},\n\t\t\tthis.overlayConfig,\n\t\t);\n\t}\n\n\tprotected get hasValue(): boolean {\n\t\treturn this.value !== null && this.value !== undefined;\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container *luOptionOutlet=\"valueTpl || optionTpl; value: value\"></ng-container>\n\t</div>\n</div>\n<a *ngIf=\"clearable && hasValue\" class=\"clear lu-select-clearer\" role=\"button\" (click)=\"clearValue($event)\">\n\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t<span class=\"u-mask\">{{ intl.clear }}</span>\n</a>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -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';\r\n\r\nexport const LU_TITLE_TRANSLATE_SERVICE = new InjectionToken<ILuTitleTranslateService>('LU_TITLE_TRANSLATE_SERVICE');\r\n\r\nexport interface ILuTitleTranslateService {\r\n\ttranslate(key: string, args?: Record<string, unknown>): string;\r\n}\r\n","export type PageTitle = { title: string; params?: { [param: string]: string } };\r\nexport const TitleSeparator = ' – ';\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRouteSnapshot, ActivationEnd, Router } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\r\nimport { distinctUntilChanged, filter, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\r\nimport { PageTitle, TitleSeparator } from './title.model';\r\n\r\n/**\r\n * @deprecated use Title strategy instead\r\n */\r\n@Injectable()\r\nexport class LuTitleService {\r\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\r\n\ttitleParts$ = this.titlePartsSubject.asObservable();\r\n\ttitle$ = this.titleParts$.pipe(\r\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\r\n\t\tmap((parts) => parts.join(TitleSeparator)),\r\n\t);\r\n\r\n\tconstructor(private router: Router, private title: Title, @Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService) {}\r\n\r\n\tinit(applicationNameTranslationKey: string) {\r\n\t\tthis.router.events\r\n\t\t\t.pipe(\r\n\t\t\t\tfilter((event) => {\r\n\t\t\t\t\treturn event instanceof ActivationEnd && event.snapshot.children.length === 0;\r\n\t\t\t\t}),\r\n\t\t\t\tmap((event: ActivationEnd) => getPageTitleParts(event.snapshot)),\r\n\t\t\t\tmap((titleParts) => uniqTitle(titleParts)),\r\n\t\t\t\tmap((titleParts) => titleParts.filter(({ title }) => title !== '').map(({ title, params }) => this.translateService.translate(title, params))),\r\n\t\t\t\tmap((titleParts: Array<string>) => [...titleParts, this.translateService.translate(applicationNameTranslationKey, {}), 'Lucca'].filter((x) => !!x)),\r\n\t\t\t\tdistinctUntilChanged(),\r\n\t\t\t\ttap((titleParts) => this.titlePartsSubject.next(titleParts)),\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\r\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\r\n\t}\r\n\r\n\tprependTitle(title: string | ObservableInput<string>) {\r\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\r\n\t}\r\n\r\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\r\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\r\n\t}\r\n}\r\n\r\nfunction getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\r\n\tconst pageTitle: PageTitle = {\r\n\t\ttitle: (snapshot.data?.['title'] || '') as string,\r\n\t\tparams: { ...snapshot.params, ...snapshot.data },\r\n\t};\r\n\treturn snapshot.parent ? [pageTitle, ...getPageTitleParts(snapshot.parent)] : [pageTitle];\r\n}\r\n\r\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\r\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LuTitleService } from './title.service';\r\n\r\n/**\r\n * @deprecated use title streatgy instead\r\n */\r\n@NgModule({\r\n\timports: [RouterModule],\r\n\tproviders: [LuTitleService],\r\n})\r\nexport class LuTitleModule {}\r\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, TitleStrategy } from '@angular/router';\r\nimport { BehaviorSubject, combineLatest, ObservableInput, of } from 'rxjs';\r\nimport { distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\r\nimport { ILuTitleTranslateService, LU_TITLE_TRANSLATE_SERVICE } from './title-translate.service';\r\nimport { PageTitle, TitleSeparator } from './title.model';\r\n\r\nexport const APP_TITLE = new InjectionToken('APP_TITLE');\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LuTitleStrategy extends TitleStrategy {\r\n\tprivate titlePartsSubject = new BehaviorSubject<Array<string | ObservableInput<string>>>(['Lucca']);\r\n\ttitleParts$ = this.titlePartsSubject.asObservable();\r\n\ttitle$ = this.titleParts$.pipe(\r\n\t\tswitchMap((titleParts) => combineLatest(titleParts.map((part) => (typeof part === 'string' ? of(part) : part)))),\r\n\t\tmap((parts) => parts.join(TitleSeparator)),\r\n\t\tdistinctUntilChanged(),\r\n\t);\r\n\tconstructor(private title: Title, @Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService, @Inject(APP_TITLE) private appTitle: string) {\r\n\t\tsuper();\r\n\t\tthis.title$.pipe(tap((title) => this.title.setTitle(title))).subscribe();\r\n\t}\r\n\r\n\toverride updateTitle(routerState: RouterStateSnapshot) {\r\n\t\t// Title page is display from child to root\r\n\t\tconst pageTitles = this.#getPageTitleParts(routerState.root).reverse();\r\n\t\tconst translatedPageTitles = uniqTitle(pageTitles)\r\n\t\t\t.filter(({ title }) => title !== '')\r\n\t\t\t.map(({ title, params }) => this.translateService.translate(title, params));\r\n\t\t// Add the name app and 'Lucca' at the end of the title\r\n\t\tconst titleParts = [...translatedPageTitles, this.translateService.translate(this.appTitle), 'Lucca'].filter((x) => !!x);\r\n\t\tthis.titlePartsSubject.next(titleParts);\r\n\t}\r\n\r\n\tprependTitle(title: string | ObservableInput<string>) {\r\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value]);\r\n\t}\r\n\r\n\toverrideFirstTitlePart(title: string | ObservableInput<string>) {\r\n\t\tthis.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);\r\n\t}\r\n\r\n\t#getPageTitleParts(snapshot: ActivatedRouteSnapshot): Array<PageTitle> {\r\n\t\tconst pageTitle: PageTitle = {\r\n\t\t\ttitle: this.getResolvedTitleForRoute(snapshot) as string,\r\n\t\t\tparams: { ...snapshot.params, ...snapshot.data },\r\n\t\t};\r\n\t\treturn snapshot.firstChild ? [pageTitle, ...this.#getPageTitleParts(snapshot.firstChild)] : [pageTitle];\r\n\t}\r\n}\r\n\r\nfunction uniqTitle(titleParts: Array<PageTitle>): Array<PageTitle> {\r\n\treturn titleParts.filter(({ title }, index) => titleParts.findIndex((pageTitle) => pageTitle.title === title) === index);\r\n}\r\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(private router: Router, private title: Title, @Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService) {}\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(private title: Title, @Inject(LU_TITLE_TRANSLATE_SERVICE) private translateService: ILuTitleTranslateService, @Inject(APP_TITLE) private appTitle: string) {\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":";;;;;;;;MAEa,0BAA0B,GAAG,IAAI,cAAc,CAA2B,4BAA4B;;ACD5G,MAAM,cAAc,GAAG;;ACO9B;;AAEG;AACH,MACa,cAAc,CAAA;AAQ1B,IAAA,WAAA,CAAoB,MAAc,EAAU,KAAY,EAA8C,gBAA0C,EAAA;QAA5H,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QAA8C,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA0B;QAPxI,IAAiB,CAAA,iBAAA,GAAG,IAAI,eAAe,CAA0C,CAAC,OAAO,CAAC,CAAC,CAAC;AACpG,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACpD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC7B,SAAS,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAChH,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAC1C,CAAC;KAEkJ;AAEpJ,IAAA,IAAI,CAAC,6BAAqC,EAAA;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM;AAChB,aAAA,IAAI,CACJ,MAAM,CAAC,CAAC,KAAK,KAAI;AAChB,YAAA,OAAO,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/E,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,KAAoB,KAAK,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAChE,GAAG,CAAC,CAAC,UAAU,KAAKA,WAAS,CAAC,UAAU,CAAC,CAAC,EAC1C,GAAG,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAC9I,GAAG,CAAC,CAAC,UAAyB,KAAK,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EACnJ,oBAAoB,EAAE,EACtB,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAC5D;AACA,aAAA,SAAS,EAAE,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACzE;AAED,IAAA,YAAY,CAAC,KAAuC,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;KACtE;AAED,IAAA,sBAAsB,CAAC,KAAuC,EAAA;QAC7D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/E;AAlCW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,6DAQwC,0BAA0B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHARhF,cAAc,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;0BASiD,MAAM;2BAAC,0BAA0B,CAAA;;AA6B7F,SAAS,iBAAiB,CAAC,QAAgC,EAAA;AAC1D,IAAA,MAAM,SAAS,GAAc;QAC5B,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAW;QACjD,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE;KAChD,CAAC;IACF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC3F,CAAC;AAED,SAASA,WAAS,CAAC,UAA4B,EAAA;AAC9C,IAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1H;;ACvDA;;AAEG;AACH,MAIa,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHf,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAGV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFd,SAAA,EAAA,CAAC,cAAc,CAAC,YADjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,SAAS,EAAE,CAAC,cAAc,CAAC;AAC3B,iBAAA,CAAA;;;MCFY,SAAS,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE;AAEzD,MACa,eAAgB,SAAQ,aAAa,CAAA;AAQjD,IAAA,WAAA,CAAoB,KAAY,EAA8C,gBAA0C,EAA6B,QAAgB,EAAA;AACpK,QAAA,KAAK,EAAE,CAAC;QADW,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QAA8C,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA0B;QAA6B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;QAP7J,IAAiB,CAAA,iBAAA,GAAG,IAAI,eAAe,CAA0C,CAAC,OAAO,CAAC,CAAC,CAAC;AACpG,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACpD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC7B,SAAS,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAChH,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAC1C,oBAAoB,EAAE,CACtB,CAAC;QAGD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KACzE;AAEQ,IAAA,WAAW,CAAC,WAAgC,EAAA;;AAEpD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,QAAA,MAAM,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC;aAChD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;aACnC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;;AAE7E,QAAA,MAAM,UAAU,GAAG,CAAC,GAAG,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzH,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;AAED,IAAA,YAAY,CAAC,KAAuC,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;KACtE;AAED,IAAA,sBAAsB,CAAC,KAAuC,EAAA;QAC7D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/E;AAED,IAAA,kBAAkB,CAAC,QAAgC,EAAA;AAClD,QAAA,MAAM,SAAS,GAAc;AAC5B,YAAA,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAW;YACxD,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE;SAChD,CAAC;QACF,OAAO,QAAQ,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACxG;8GAtCW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAQe,0BAA0B,EAAA,EAAA,EAAA,KAAA,EAA8D,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAR/H,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BASE,MAAM;2BAAC,0BAA0B,CAAA;;0BAAuD,MAAM;2BAAC,SAAS,CAAA;;AAiC5I,SAAS,SAAS,CAAC,UAA4B,EAAA;AAC9C,IAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1H;;ACtDA;;AAEG;;;;"}
|
|
@@ -95,11 +95,11 @@ class LuToastsComponent {
|
|
|
95
95
|
return this.toastsService.isOnlyDismissibleManually(toast);
|
|
96
96
|
}
|
|
97
97
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuToastsComponent, deps: [{ token: LuToastsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts mod-withCircularGauge\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts mod-withCircularGauge\" 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<div [innerHtml]=\"toast.message\"></div>\n\t\t</div>\n\t\t<button type=\"button\" class=\"toasts-item-kill\" (click)=\"removeToast(toast)\" (animationend)=\"removeToast(toast)\">\n\t\t\t<span class=\"lucca-icon icon-signClose mod-XS\" aria-hidden=\"true\"></span>\n\t\t\t<div class=\"circularGauge\" *ngIf=\"!isOnlyDismissibleManually(toast) && toast.duration > 0\">\n\t\t\t\t<svg viewBox=\"0 0 32 32\">\n\t\t\t\t\t<circle r=\"16\" cx=\"16\" cy=\"16\" [style.animation-duration]=\"toast.duration + 'ms'\" />\n\t\t\t\t</svg>\n\t\t\t</div>\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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
99
99
|
}
|
|
100
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuToastsComponent, decorators: [{
|
|
101
101
|
type: Component,
|
|
102
|
-
args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"toasts mod-withCircularGauge\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\
|
|
102
|
+
args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"toasts mod-withCircularGauge\" 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<div [innerHtml]=\"toast.message\"></div>\n\t\t</div>\n\t\t<button type=\"button\" class=\"toasts-item-kill\" (click)=\"removeToast(toast)\" (animationend)=\"removeToast(toast)\">\n\t\t\t<span class=\"lucca-icon icon-signClose mod-XS\" aria-hidden=\"true\"></span>\n\t\t\t<div class=\"circularGauge\" *ngIf=\"!isOnlyDismissibleManually(toast) && toast.duration > 0\">\n\t\t\t\t<svg viewBox=\"0 0 32 32\">\n\t\t\t\t\t<circle r=\"16\" cx=\"16\" cy=\"16\" [style.animation-duration]=\"toast.duration + 'ms'\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
|
|
103
103
|
}], ctorParameters: function () { return [{ type: LuToastsService }]; }, propDecorators: { bottom: [{
|
|
104
104
|
type: Input
|
|
105
105
|
}], sources: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-toast.mjs","sources":["../../../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":["import { InjectionToken } from '@angular/core';\r\nimport { ILuTranslation } from '@lucca-front/ng/core';\r\n\r\nexport const LU_TOAST_TRANSLATIONS = new InjectionToken('LuToastTranslations', {\r\n\tfactory: () => luToastTranslations,\r\n});\r\n\r\nexport interface ILuToastLabel {\r\n\tclose: string;\r\n}\r\n\r\nexport const luToastTranslations: ILuTranslation<ILuToastLabel> = {\r\n\ten: {\r\n\t\tclose: 'Close',\r\n\t},\r\n\tfr: {\r\n\t\tclose: 'Fermer',\r\n\t},\r\n\tes: {\r\n\t\tclose: 'Cerrar',\r\n\t},\r\n};\r\n","export type LuToastType = 'Info' | 'Error' | 'Success' | 'Warning';\r\n\r\nexport const defaultToastDuration = 5000;\r\n\r\nexport interface LuToastInput {\r\n\t/**\r\n\t * InnerHTML supported.\r\n\t */\r\n\tmessage: string;\r\n\t/**\r\n\t * Bold title.\r\n\t * InnerHTML not supported.\r\n\t */\r\n\ttitle?: string;\r\n\ttype?: LuToastType;\r\n\t/**\r\n\t * Auto kill default duration is 5000ms.\r\n\t * Null means manual dismiss only.\r\n\t */\r\n\tduration?: number | null;\r\n}\r\n\r\nexport interface LuToast extends LuToastInput {\r\n\tid: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { defaultToastDuration, LuToast, LuToastInput } from './toasts.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LuToastsService {\r\n\tpublic toasts$ = new BehaviorSubject<LuToast[]>([]);\r\n\r\n\tpublic addToast(toastInput: LuToastInput): LuToast {\r\n\t\tconst toast = this.getToast(toastInput);\r\n\r\n\t\tthis.toasts$.next([...this.toasts$.value, toast]);\r\n\r\n\t\treturn toast;\r\n\t}\r\n\r\n\tpublic removeToast(toast: LuToast): void {\r\n\t\tconst updatedToasts = this.toasts$.value.filter(({ id }) => id !== toast.id);\r\n\t\tthis.toasts$.next(updatedToasts);\r\n\t}\r\n\r\n\tpublic isOnlyDismissibleManually({ duration }: LuToastInput): boolean {\r\n\t\treturn duration === null;\r\n\t}\r\n\r\n\tprivate getToast(toastInput: LuToastInput): LuToast {\r\n\t\tconst id = this.generateId();\r\n\t\tconst duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : toastInput.duration ?? defaultToastDuration;\r\n\r\n\t\treturn { ...toastInput, id, duration };\r\n\t}\r\n\r\n\tprivate generateId(): string {\r\n\t\tconst randomString = Math.random().toString(36).substring(2, 9);\r\n\t\treturn `_${randomString}`;\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';\r\nimport { getIntl } from '@lucca-front/ng/core';\r\nimport { merge, Observable, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { LuToast, LuToastInput, LuToastType } from './toasts.model';\r\nimport { LuToastsService } from './toasts.service';\r\nimport { LU_TOAST_TRANSLATIONS } from './toasts.translate';\r\n\r\n@Component({\r\n\tselector: 'lu-toasts',\r\n\ttemplateUrl: './toasts.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tstandalone: true,\r\n\timports: [CommonModule],\r\n})\r\nexport class LuToastsComponent implements OnDestroy {\r\n\t@Input() public bottom = false;\r\n\t@Input() public set sources(sources: Array<Observable<LuToastInput>>) {\r\n\t\tmerge(...sources)\r\n\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t.subscribe((toast) => this.toastsService.addToast(toast));\r\n\t}\r\n\r\n\tpublic toasts$ = this.toastsService.toasts$;\r\n\r\n\tprivate destroy$ = new Subject<void>();\r\n\r\n\tpublic intl = getIntl(LU_TOAST_TRANSLATIONS);\r\n\r\n\tconstructor(private toastsService: LuToastsService) {}\r\n\r\n\tpublic ngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tpublic iconClassByToastType: Record<LuToastType, string> = {\r\n\t\tInfo: 'icon-info',\r\n\t\tSuccess: 'icon-success',\r\n\t\tError: 'icon-error',\r\n\t\tWarning: 'icon-warning',\r\n\t};\r\n\r\n\tpublic paletteClassByToastType: Record<LuToastType, string> = {\r\n\t\tInfo: '',\r\n\t\tSuccess: 'palette-success',\r\n\t\tError: 'palette-error',\r\n\t\tWarning: 'palette-warning',\r\n\t};\r\n\r\n\tpublic removeToast(toast: LuToast): void {\r\n\t\tthis.toastsService.removeToast(toast);\r\n\t}\r\n\r\n\tpublic trackToast(_index: number, toast: LuToast): string {\r\n\t\treturn toast.id;\r\n\t}\r\n\r\n\tpublic isOnlyDismissibleManually(toast: LuToast): boolean {\r\n\t\treturn this.toastsService.isOnlyDismissibleManually(toast);\r\n\t}\r\n}\r\n","<div class=\"toasts mod-withCircularGauge\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\r\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [ngClass]=\"paletteClassByToastType[toast.type]\">\r\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [ngClass]=\"iconClassByToastType[toast.type]\"></span>\r\n\t\t<div class=\"toast-item-content\">\r\n\t\t\t<div *ngIf=\"toast.title\"><strong>{{ toast.title }}</strong></div>\r\n\t\t\t<div [innerHtml]=\"toast.message\"></div>\r\n\t\t</div>\r\n\t\t<button type=\"button\" class=\"toasts-item-kill\" (click)=\"removeToast(toast)\" (animationend)=\"removeToast(toast)\">\r\n\t\t\t<span class=\"lucca-icon icon-signClose mod-XS\" aria-hidden=\"true\"></span>\r\n\t\t\t<div class=\"circularGauge\" *ngIf=\"!isOnlyDismissibleManually(toast) && toast.duration > 0\">\r\n\t\t\t\t<svg viewBox=\"0 0 32 32\">\r\n\t\t\t\t\t<circle r=\"16\" cx=\"16\" cy=\"16\" [style.animation-duration]=\"toast.duration + 'ms'\" />\r\n\t\t\t\t</svg>\r\n\t\t\t</div>\r\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuToastsComponent } from './toasts.component';\r\n\r\n@NgModule({\r\n\timports: [LuToastsComponent],\r\n\texports: [LuToastsComponent],\r\n})\r\nexport class LuToastsModule {}\r\n","/*\r\n * Public API Surface of toast\r\n */\r\n\r\nexport * from './toasts.component';\r\nexport * from './toasts.model';\r\nexport * from './toasts.module';\r\nexport * from './toasts.service';\r\nexport * from './toasts.translate';\r\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/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":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\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: ILuTranslation<ILuToastLabel> = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n};\n","export 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: string;\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 } 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],\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-info',\n\t\tSuccess: 'icon-success',\n\t\tError: 'icon-error',\n\t\tWarning: 'icon-warning',\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 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 mod-withCircularGauge\" 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<div [innerHtml]=\"toast.message\"></div>\n\t\t</div>\n\t\t<button type=\"button\" class=\"toasts-item-kill\" (click)=\"removeToast(toast)\" (animationend)=\"removeToast(toast)\">\n\t\t\t<span class=\"lucca-icon icon-signClose mod-XS\" aria-hidden=\"true\"></span>\n\t\t\t<div class=\"circularGauge\" *ngIf=\"!isOnlyDismissibleManually(toast) && toast.duration > 0\">\n\t\t\t\t<svg viewBox=\"0 0 32 32\">\n\t\t\t\t\t<circle r=\"16\" cx=\"16\" cy=\"16\" [style.animation-duration]=\"toast.duration + 'ms'\" />\n\t\t\t\t</svg>\n\t\t\t</div>\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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"}
|
|
@@ -56,11 +56,11 @@ class LuTooltipPanelComponent extends ALuPopoverPanel {
|
|
|
56
56
|
this.hovered.emit(hovered);
|
|
57
57
|
}
|
|
58
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuTooltipPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", outputs: { close: "close", open: "open", hovered: "hovered" }, host: { properties: { "@transformTooltip": "this.animationState" } }, viewQueries: [{ propertyName: "vcTemplateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n\tclass=\"lu-tooltip-panel\"\n\trole=\"tooltip\"\n\t[ngClass]=\"panelClassesMap\"\n\t(mouseover)=\"onMouseOver()\"\n\t(mouseleave)=\"onMouseLeave()\"\n\t[attr.id]=\"panelId\"\n\t[@transformTooltip]=\"'enter'\"\n>\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.lu-tooltip-panel{--components-tooltip-background-color: var(--palettes-grey-900);--components-tooltip-color: var(--colors-white-color);--components-tooltip-max-width: 15rem;background:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--spacings-XXS) var(--spacings-XS);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);display:block;text-align:center}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: OverlayModule }], animations: [luTransformTooltip], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
60
60
|
}
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], standalone: true, imports: [CommonModule, OverlayModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\
|
|
63
|
+
args: [{ selector: 'lu-tooltip-panel', animations: [luTransformTooltip], standalone: true, imports: [CommonModule, OverlayModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n\tclass=\"lu-tooltip-panel\"\n\trole=\"tooltip\"\n\t[ngClass]=\"panelClassesMap\"\n\t(mouseover)=\"onMouseOver()\"\n\t(mouseleave)=\"onMouseLeave()\"\n\t[attr.id]=\"panelId\"\n\t[@transformTooltip]=\"'enter'\"\n>\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\n</div>\n", styles: [":root{--components-options-item-padding-vertical: var(--spacings-XS);--components-options-item-padding-horizontal: var(--spacings-XS);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-grey-800);--components-options-checkbox-left: .5rem;--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-primary-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-grey-700);--components-options-establishment-multiple-padding: 2rem}.lu-tooltip-panel{--components-tooltip-background-color: var(--palettes-grey-900);--components-tooltip-color: var(--colors-white-color);--components-tooltip-max-width: 15rem;background:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--spacings-XXS) var(--spacings-XS);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);display:block;text-align:center}.lu-tooltip-panel.is-above{transform-origin:bottom center}.lu-tooltip-panel.is-below{transform-origin:top center;margin-top:2px}.lu-tooltip-panel.is-before{transform-origin:center right;margin-right:5px}.lu-tooltip-panel.is-after{transform-origin:center left;margin-left:5px}\n"] }]
|
|
64
64
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { animationState: [{
|
|
65
65
|
type: HostBinding,
|
|
66
66
|
args: ['@transformTooltip']
|
|
@@ -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/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';\r\n\r\nexport const luTransformTooltip: AnimationTriggerMetadata = trigger('transformTooltip', [\r\n\tstate(\r\n\t\t'enter',\r\n\t\tstyle({\r\n\t\t\topacity: 1,\r\n\t\t\ttransform: `scale(1)`,\r\n\t\t}),\r\n\t),\r\n\ttransition('void => *', [\r\n\t\tstyle({\r\n\t\t\topacity: 0,\r\n\t\t\ttransform: `scale(0)`,\r\n\t\t}),\r\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\r\n\t]),\r\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\r\n]);\r\n","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Output, TemplateRef, ViewChild } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\nimport { ALuPopoverPanel, ILuPopoverPanel } from '@lucca-front/ng/popover';\r\nimport { luTransformTooltip } from '../animation/index';\r\n\r\n@Component({\r\n\tselector: 'lu-tooltip-panel',\r\n\ttemplateUrl: './tooltip-panel.component.html',\r\n\tstyleUrls: ['./tooltip-panel.component.scss'],\r\n\tanimations: [luTransformTooltip],\r\n\tstandalone: true,\r\n\timports: [CommonModule, OverlayModule],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LuTooltipPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel {\r\n\t@HostBinding('@transformTooltip') animationState = 'enter';\r\n\r\n\tprivate _content: string | SafeHtml;\r\n\tget content() {\r\n\t\treturn this._content;\r\n\t}\r\n\tset content(c) {\r\n\t\tthis._content = c;\r\n\t\tthis._changeDetectorRef.markForCheck();\r\n\t}\r\n\r\n\t//FIXME output event\r\n\t// eslint-disable-next-line @angular-eslint/no-output-native\r\n\t@Output() override close = new EventEmitter<void>();\r\n\t// eslint-disable-next-line @angular-eslint/no-output-native\r\n\t@Output() override open = new EventEmitter<void>();\r\n\t@Output() override hovered = new EventEmitter<boolean>();\r\n\t@ViewChild(TemplateRef, { static: true })\r\n\tset vcTemplateRef(tr: TemplateRef<HTMLDivElement>) {\r\n\t\tthis.templateRef = tr;\r\n\t}\r\n\tconstructor(private _changeDetectorRef: ChangeDetectorRef) {\r\n\t\tsuper();\r\n\t\tthis.scrollStrategy = 'close';\r\n\t}\r\n\r\n\t_emitCloseEvent(): void {\r\n\t\tthis.close.emit();\r\n\t}\r\n\r\n\t_emitOpenEvent(): void {\r\n\t\tthis.open.emit();\r\n\t}\r\n\t_emitHoveredEvent(hovered: boolean): void {\r\n\t\tthis.hovered.emit(hovered);\r\n\t}\r\n}\r\n","<div\r\n\tclass=\"lu-tooltip-panel\"\r\n\trole=\"tooltip\"\r\n\t[ngClass]=\"panelClassesMap\"\r\n\t(mouseover)=\"onMouseOver()\"\r\n\t(mouseleave)=\"onMouseLeave()\"\r\n\t[attr.id]=\"panelId\"\r\n\t[@transformTooltip]=\"'enter'\"\r\n>\r\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTooltipPanelComponent } from './tooltip-panel.component';\r\n\r\n@NgModule({\r\n\timports: [LuTooltipPanelComponent],\r\n\texports: [LuTooltipPanelComponent],\r\n})\r\nexport class LuTooltipPanelModule {}\r\n","import { FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\nimport { ALuPopoverTrigger, LuPopoverPosition, LuPopoverScrollStrategy, LuPopoverTarget } from '@lucca-front/ng/popover';\r\nimport { LuTooltipPanelComponent } from '../panel/tooltip-panel.component';\r\n\r\n@Directive({\r\n\tselector: '[luTooltip]',\r\n\tstandalone: true,\r\n})\r\nexport class LuTooltipTriggerDirective extends ALuPopoverTrigger<LuTooltipPanelComponent, LuPopoverTarget> implements AfterViewInit, OnDestroy {\r\n\t@Input('luTooltip') set tooltipContent(c: string | SafeHtml) {\r\n\t\tif (this.panel) {\r\n\t\t\tthis.panel.content = c;\r\n\t\t}\r\n\r\n\t\tthis._tooltipContent = c;\r\n\t}\r\n\t/** when trigger = hover, delay before the popover panel appears, default 300ms */\r\n\t@Input('luTooltipEnterDelay') set inputEnterDelay(d: number) {\r\n\t\tthis.enterDelay = d;\r\n\t}\r\n\t/** when trigger = hover, delay before the popover panel disappears, default 100ms */\r\n\t@Input('luTooltipLeaveDelay') set inputLeaveDelay(d: number) {\r\n\t\tthis.leaveDelay = d;\r\n\t}\r\n\t/** disable popover apparition */\r\n\t@Input('luTooltipDisabled') set inputDisabled(d: boolean) {\r\n\t\tthis.disabled = d;\r\n\t\tif (this._handleTabindex) {\r\n\t\t\tthis._setTabindex(d ? null : 0);\r\n\t\t}\r\n\t}\r\n\r\n\t@Input('luTooltipPosition') set inputPosition(pos: LuPopoverPosition) {\r\n\t\tthis.target.position = pos;\r\n\t}\r\n\r\n\t@Input('luTooltipWhenEllipsis') public set inputWhenEllipsis(we: boolean) {\r\n\t\tthis.whenEllipsis = we;\r\n\t}\r\n\r\n\t// FIXME output native\r\n\t/** Event emitted when the associated popover is opened. */\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output('luTooltipOnOpen') onOpen = new EventEmitter<void>();\r\n\t/** Event emitted when the associated popover is closed. */\r\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\r\n\t@Output('luTooltipOnClose') onClose = new EventEmitter<void>();\r\n\r\n\t@HostListener('mouseenter')\r\n\toverride onMouseEnter() {\r\n\t\tsuper.onMouseEnter();\r\n\t}\r\n\t@HostListener('mouseleave')\r\n\toverride onMouseLeave() {\r\n\t\tsuper.onMouseLeave();\r\n\t}\r\n\t@HostListener('focus')\r\n\toverride onFocus() {\r\n\t\tsuper.onFocus();\r\n\t}\r\n\t@HostListener('blur')\r\n\toverride onBlur() {\r\n\t\tsuper.onBlur();\r\n\t}\r\n\tprivate _handleTabindex = false;\r\n\t// @HostBinding('attr.tabindex') tabindex;\r\n\t// private set tabindex(i: number = null) {\r\n\r\n\t// }\r\n\r\n\t/** accessibility attribute - dont override */\r\n\t@HostBinding('attr.id') get _attrId() {\r\n\t\treturn this._triggerId;\r\n\t}\r\n\t/** accessibility attribute - dont override */\r\n\t@HostBinding('attr.aria-describedby') get _attrAriaDescribedBy() {\r\n\t\treturn this._panelId;\r\n\t}\r\n\r\n\tprotected override _portal: ComponentPortal<LuTooltipPanelComponent>;\r\n\tprotected _tooltipContent: string | SafeHtml = '';\r\n\r\n\tconstructor(protected override _overlay: Overlay, protected override _elementRef: ElementRef<HTMLElement>, protected override _viewContainerRef: ViewContainerRef) {\r\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\r\n\t\tthis.target = new LuPopoverTarget();\r\n\t\tthis.target.elementRef = this._elementRef;\r\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\r\n\t\tthis.triggerEvent = 'hover';\r\n\t\tthis.target.position = 'above';\r\n\t\tthis.enterDelay = 300;\r\n\t\tthis.leaveDelay = 100;\r\n\r\n\t\tthis._handleTabindex = this._shouldHandleTabindex();\r\n\r\n\t\tif (this._handleTabindex) {\r\n\t\t\tthis._setTabindex(0);\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis._checkTarget();\r\n\t}\r\n\tngOnDestroy() {\r\n\t\tthis._cleanUpSubscriptions();\r\n\t\tif (this._popoverOpen) {\r\n\t\t\tthis.closePopover();\r\n\t\t}\r\n\t\tthis.destroyPopover();\r\n\t}\r\n\tprotected _emitOpen(): void {\r\n\t\tthis.onOpen.emit();\r\n\t}\r\n\tprotected _emitClose(): void {\r\n\t\tthis.onClose.emit();\r\n\t}\r\n\r\n\tprotected override _createOverlay(): OverlayRef {\r\n\t\tif (!this._overlayRef) {\r\n\t\t\tthis._portal = new ComponentPortal(LuTooltipPanelComponent, this._viewContainerRef);\r\n\t\t\tconst config = this._getOverlayConfig();\r\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\r\n\t\t\tthis._overlayRef = this._overlay.create(config);\r\n\t\t}\r\n\r\n\t\treturn this._overlayRef;\r\n\t}\r\n\r\n\tprotected override _attachPortalToOverlay(): void {\r\n\t\tconst componentRef = this._overlayRef.attach(this._portal);\r\n\t\tthis._panel = componentRef.instance;\r\n\t\tthis._panel.content = this._tooltipContent;\r\n\t}\r\n\r\n\tprotected override _getPanelScrollStrategy(): LuPopoverScrollStrategy {\r\n\t\treturn 'close';\r\n\t}\r\n\r\n\tprivate _shouldHandleTabindex(): boolean {\r\n\t\tconst tag = this._elementRef.nativeElement.tagName?.toLowerCase();\r\n\t\t// https://allyjs.io/data-tables/focusable.html\r\n\t\t// i'm choosing to not support area and iframe, dont @ me\r\n\t\tconst nativelyFocusableTags = ['a', 'button', 'input', 'select', 'textarea'];\r\n\t\tconst isNatevelyFocusableTag = nativelyFocusableTags.includes(tag);\r\n\r\n\t\tconst hasATabIndex = this._elementRef.nativeElement.getAttribute('tabindex') !== null;\r\n\r\n\t\treturn !isNatevelyFocusableTag && !hasATabIndex;\r\n\t}\r\n\r\n\tprivate _setTabindex(i: number = null): void {\r\n\t\tthis._elementRef.nativeElement.setAttribute('tabindex', `${i}`);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTooltipTriggerDirective } from './tooltip-trigger.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n\timports: [LuTooltipTriggerDirective, OverlayModule],\r\n\texports: [LuTooltipTriggerDirective],\r\n})\r\nexport class LuTooltipTriggerModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { LuTooltipPanelModule } from './panel/index';\r\nimport { LuTooltipTriggerModule } from './trigger/index';\r\n\r\n@NgModule({\r\n\timports: [LuTooltipTriggerModule, LuTooltipPanelModule],\r\n\texports: [LuTooltipTriggerModule, LuTooltipPanelModule],\r\n})\r\nexport class LuTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-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/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 { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { ALuPopoverPanel, ILuPopoverPanel } from '@lucca-front/ng/popover';\nimport { luTransformTooltip } from '../animation/index';\n\n@Component({\n\tselector: 'lu-tooltip-panel',\n\ttemplateUrl: './tooltip-panel.component.html',\n\tstyleUrls: ['./tooltip-panel.component.scss'],\n\tanimations: [luTransformTooltip],\n\tstandalone: true,\n\timports: [CommonModule, OverlayModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuTooltipPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel {\n\t@HostBinding('@transformTooltip') animationState = 'enter';\n\n\tprivate _content: string | SafeHtml;\n\tget content() {\n\t\treturn this._content;\n\t}\n\tset content(c) {\n\t\tthis._content = c;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\n\t//FIXME output event\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<HTMLDivElement>) {\n\t\tthis.templateRef = tr;\n\t}\n\tconstructor(private _changeDetectorRef: ChangeDetectorRef) {\n\t\tsuper();\n\t\tthis.scrollStrategy = 'close';\n\t}\n\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<div\n\tclass=\"lu-tooltip-panel\"\n\trole=\"tooltip\"\n\t[ngClass]=\"panelClassesMap\"\n\t(mouseover)=\"onMouseOver()\"\n\t(mouseleave)=\"onMouseLeave()\"\n\t[attr.id]=\"panelId\"\n\t[@transformTooltip]=\"'enter'\"\n>\n\t<div class=\"lu-tooltip-content\" [ngClass]=\"contentClassesMap\" [innerHtml]=\"content\"></div>\n</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 { FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { ALuPopoverTrigger, LuPopoverPosition, LuPopoverScrollStrategy, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { LuTooltipPanelComponent } from '../panel/tooltip-panel.component';\n\n@Directive({\n\tselector: '[luTooltip]',\n\tstandalone: true,\n})\nexport class LuTooltipTriggerDirective extends ALuPopoverTrigger<LuTooltipPanelComponent, LuPopoverTarget> implements AfterViewInit, OnDestroy {\n\t@Input('luTooltip') set tooltipContent(c: string | SafeHtml) {\n\t\tif (this.panel) {\n\t\t\tthis.panel.content = c;\n\t\t}\n\n\t\tthis._tooltipContent = c;\n\t}\n\t/** when trigger = hover, delay before the popover panel appears, default 300ms */\n\t@Input('luTooltipEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears, default 100ms */\n\t@Input('luTooltipLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\t/** disable popover apparition */\n\t@Input('luTooltipDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t\tif (this._handleTabindex) {\n\t\t\tthis._setTabindex(d ? null : 0);\n\t\t}\n\t}\n\n\t@Input('luTooltipPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\n\t@Input('luTooltipWhenEllipsis') public set inputWhenEllipsis(we: boolean) {\n\t\tthis.whenEllipsis = we;\n\t}\n\n\t// FIXME output native\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luTooltipOnOpen') onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luTooltipOnClose') onClose = new EventEmitter<void>();\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\tprivate _handleTabindex = false;\n\t// @HostBinding('attr.tabindex') tabindex;\n\t// private set tabindex(i: number = null) {\n\n\t// }\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-describedby') get _attrAriaDescribedBy() {\n\t\treturn this._panelId;\n\t}\n\n\tprotected override _portal: ComponentPortal<LuTooltipPanelComponent>;\n\tprotected _tooltipContent: string | SafeHtml = '';\n\n\tconstructor(protected override _overlay: Overlay, protected override _elementRef: ElementRef<HTMLElement>, protected override _viewContainerRef: ViewContainerRef) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t\tthis.triggerEvent = 'hover';\n\t\tthis.target.position = 'above';\n\t\tthis.enterDelay = 300;\n\t\tthis.leaveDelay = 100;\n\n\t\tthis._handleTabindex = this._shouldHandleTabindex();\n\n\t\tif (this._handleTabindex) {\n\t\t\tthis._setTabindex(0);\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n\n\tprotected override _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new ComponentPortal(LuTooltipPanelComponent, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\tprotected override _attachPortalToOverlay(): void {\n\t\tconst componentRef = this._overlayRef.attach(this._portal);\n\t\tthis._panel = componentRef.instance;\n\t\tthis._panel.content = this._tooltipContent;\n\t}\n\n\tprotected override _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn 'close';\n\t}\n\n\tprivate _shouldHandleTabindex(): boolean {\n\t\tconst tag = this._elementRef.nativeElement.tagName?.toLowerCase();\n\t\t// https://allyjs.io/data-tables/focusable.html\n\t\t// i'm choosing to not support area and iframe, dont @ me\n\t\tconst nativelyFocusableTags = ['a', 'button', 'input', 'select', 'textarea'];\n\t\tconst isNatevelyFocusableTag = nativelyFocusableTags.includes(tag);\n\n\t\tconst hasATabIndex = this._elementRef.nativeElement.getAttribute('tabindex') !== null;\n\n\t\treturn !isNatevelyFocusableTag && !hasATabIndex;\n\t}\n\n\tprivate _setTabindex(i: number = null): void {\n\t\tthis._elementRef.nativeElement.setAttribute('tabindex', `${i}`);\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":["i1"],"mappings":"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"}
|