@agorapulse/ui-components 0.0.3 → 1.0.0-SNAPSHOT-YOUTUBE.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/add-comment/add-comment.component.d.ts +21 -0
- package/add-comment/index.d.ts +5 -0
- package/add-comment/public_api.d.ts +1 -0
- package/autocomplete/autocomplete.component.d.ts +40 -0
- package/autocomplete/index.d.ts +5 -0
- package/autocomplete/public_api.d.ts +1 -0
- package/avatar/avatar.component.d.ts +48 -0
- package/avatar/index.d.ts +5 -0
- package/avatar/public_api.d.ts +1 -0
- package/badge/badge.component.d.ts +7 -0
- package/badge/index.d.ts +5 -0
- package/badge/public_api.d.ts +1 -0
- package/button/button.component.d.ts +49 -0
- package/button/index.d.ts +5 -0
- package/button/public_api.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts +51 -0
- package/checkbox/index.d.ts +5 -0
- package/checkbox/public_api.d.ts +1 -0
- package/confirm-modal/confirm-modal.component.d.ts +20 -0
- package/confirm-modal/index.d.ts +5 -0
- package/confirm-modal/public_api.d.ts +2 -0
- package/counter/counter.component.d.ts +17 -0
- package/counter/index.d.ts +5 -0
- package/counter/public_api.d.ts +1 -0
- package/datepicker/datepicker.component.d.ts +84 -0
- package/datepicker/index.d.ts +5 -0
- package/datepicker/public_api.d.ts +1 -0
- package/{src/lib/directives → directives}/autosize-textarea.directive.d.ts +3 -0
- package/directives/base-button.directive.d.ts +13 -0
- package/directives/default-image.directive.d.ts +8 -0
- package/{src/lib/directives → directives}/ellipsis.directive.d.ts +3 -1
- package/directives/equal-validator.directive.d.ts +13 -0
- package/{src/lib/directives → directives}/frozen-gif.directive.d.ts +6 -3
- package/directives/index.d.ts +5 -0
- package/directives/multi-style-text.directive.d.ts +16 -0
- package/directives/public_api.d.ts +7 -0
- package/dot-stepper/dot-stepper.component.d.ts +20 -0
- package/dot-stepper/index.d.ts +5 -0
- package/dot-stepper/public_api.d.ts +1 -0
- package/esm2022/add-comment/add-comment.component.mjs +72 -0
- package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +5 -0
- package/esm2022/add-comment/public_api.mjs +2 -0
- package/esm2022/agorapulse-ui-components.mjs +5 -0
- package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +5 -0
- package/esm2022/autocomplete/autocomplete.component.mjs +127 -0
- package/esm2022/autocomplete/public_api.mjs +2 -0
- package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +5 -0
- package/esm2022/avatar/avatar.component.mjs +228 -0
- package/esm2022/avatar/public_api.mjs +2 -0
- package/esm2022/badge/agorapulse-ui-components-badge.mjs +5 -0
- package/esm2022/badge/badge.component.mjs +17 -0
- package/esm2022/badge/public_api.mjs +2 -0
- package/esm2022/button/agorapulse-ui-components-button.mjs +5 -0
- package/esm2022/button/button.component.mjs +111 -0
- package/esm2022/button/public_api.mjs +2 -0
- package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +5 -0
- package/esm2022/checkbox/checkbox.component.mjs +177 -0
- package/esm2022/checkbox/public_api.mjs +2 -0
- package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +5 -0
- package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +2 -0
- package/esm2022/confirm-modal/confirm-modal.component.mjs +61 -0
- package/esm2022/confirm-modal/public_api.mjs +3 -0
- package/esm2022/counter/agorapulse-ui-components-counter.mjs +5 -0
- package/esm2022/counter/counter.component.mjs +59 -0
- package/esm2022/counter/public_api.mjs +2 -0
- package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +5 -0
- package/esm2022/datepicker/datepicker.component.mjs +270 -0
- package/esm2022/datepicker/public_api.mjs +2 -0
- package/esm2022/directives/agorapulse-ui-components-directives.mjs +5 -0
- package/esm2022/directives/autosize-textarea.directive.mjs +45 -0
- package/esm2022/directives/base-button.directive.mjs +47 -0
- package/esm2022/directives/default-image.directive.mjs +37 -0
- package/esm2022/directives/ellipsis.directive.mjs +90 -0
- package/esm2022/directives/equal-validator.directive.mjs +73 -0
- package/esm2022/directives/frozen-gif.directive.mjs +125 -0
- package/esm2022/directives/multi-style-text.directive.mjs +61 -0
- package/esm2022/directives/public_api.mjs +8 -0
- package/esm2022/dot-stepper/agorapulse-ui-components-dot-stepper.mjs +5 -0
- package/esm2022/dot-stepper/dot-stepper.component.mjs +46 -0
- package/esm2022/dot-stepper/public_api.mjs +2 -0
- package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +5 -0
- package/esm2022/form-field/form-field.component.mjs +11 -0
- package/esm2022/form-field/public_api.mjs +2 -0
- package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +5 -0
- package/esm2022/form-message/form-message.component.mjs +34 -0
- package/esm2022/form-message/public_api.mjs +2 -0
- package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +5 -0
- package/esm2022/icon-button/icon-button.component.mjs +124 -0
- package/esm2022/icon-button/public_api.mjs +2 -0
- package/esm2022/index.mjs +48 -0
- package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +5 -0
- package/esm2022/infobox/infobox.component.mjs +78 -0
- package/esm2022/infobox/public_api.mjs +2 -0
- package/esm2022/input/agorapulse-ui-components-input.mjs +5 -0
- package/esm2022/input/input.directive.mjs +19 -0
- package/esm2022/input/public_api.mjs +2 -0
- package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +5 -0
- package/esm2022/input-group/input-group.component.mjs +14 -0
- package/esm2022/input-group/input-prefix/input-prefix.component.mjs +11 -0
- package/esm2022/input-group/public_api.mjs +3 -0
- package/esm2022/input-search/agorapulse-ui-components-input-search.mjs +5 -0
- package/esm2022/input-search/input-search.component.mjs +77 -0
- package/esm2022/input-search/public_api.mjs +2 -0
- package/esm2022/labels/agorapulse-ui-components-labels.mjs +5 -0
- package/esm2022/labels/label-list.component.mjs +108 -0
- package/esm2022/labels/label.component.mjs +56 -0
- package/esm2022/labels/public_api.mjs +3 -0
- package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +5 -0
- package/esm2022/labels-selector/labels-selector.component.mjs +122 -0
- package/esm2022/labels-selector/public_api.mjs +2 -0
- package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +5 -0
- package/esm2022/legacy/input/input.component.mjs +189 -0
- package/esm2022/legacy/input/public_api.mjs +2 -0
- package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +5 -0
- package/esm2022/legacy/select/public_api.mjs +2 -0
- package/esm2022/legacy/select/select.component.mjs +451 -0
- package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +5 -0
- package/esm2022/legacy/textarea/public_api.mjs +2 -0
- package/esm2022/legacy/textarea/textarea.component.mjs +154 -0
- package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +5 -0
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +122 -0
- package/esm2022/media-display-overlay/public_api.mjs +2 -0
- package/esm2022/modal/agorapulse-ui-components-modal.mjs +5 -0
- package/esm2022/modal/modal.component.mjs +116 -0
- package/esm2022/modal/public_api.mjs +2 -0
- package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +5 -0
- package/esm2022/neo-datepicker/day-detail.model.mjs +2 -0
- package/esm2022/neo-datepicker/day-disabled.pipe.mjs +21 -0
- package/esm2022/neo-datepicker/neo-datepicker.component.mjs +241 -0
- package/esm2022/neo-datepicker/public_api.mjs +4 -0
- package/esm2022/notification/agorapulse-ui-components-notification.mjs +5 -0
- package/esm2022/notification/notification.component.mjs +15 -0
- package/esm2022/notification/public_api.mjs +2 -0
- package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +5 -0
- package/esm2022/paginator/paginator-button/paginator-button.component.mjs +51 -0
- package/esm2022/paginator/paginator.component.mjs +116 -0
- package/esm2022/paginator/public_api.mjs +3 -0
- package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +5 -0
- package/esm2022/password-input/password-input.component.mjs +78 -0
- package/esm2022/password-input/public_api.mjs +2 -0
- package/esm2022/phone-number-input/agorapulse-ui-components-phone-number-input.mjs +5 -0
- package/esm2022/phone-number-input/phone-number-input.component.mjs +181 -0
- package/esm2022/phone-number-input/public_api.mjs +2 -0
- package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +5 -0
- package/esm2022/popmenu/options.mjs +17 -0
- package/esm2022/popmenu/popmenu-options.interface.mjs +2 -0
- package/esm2022/popmenu/popmenu-options.service.mjs +7 -0
- package/esm2022/popmenu/popmenu.component.mjs +383 -0
- package/esm2022/popmenu/popmenu.directive.mjs +292 -0
- package/esm2022/popmenu/popmenu.module.mjs +29 -0
- package/esm2022/popmenu/public_api.mjs +5 -0
- package/esm2022/radio/agorapulse-ui-components-radio.mjs +5 -0
- package/esm2022/radio/public_api.mjs +2 -0
- package/esm2022/radio/radio.component.mjs +320 -0
- package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +5 -0
- package/esm2022/range-slider/public_api.mjs +2 -0
- package/esm2022/range-slider/range-slider.component.mjs +155 -0
- package/esm2022/select/agorapulse-ui-components-select.mjs +5 -0
- package/esm2022/select/ap-select.module.mjs +78 -0
- package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +51 -0
- package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +75 -0
- package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +79 -0
- package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +59 -0
- package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +60 -0
- package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +104 -0
- package/esm2022/select/public_api.mjs +13 -0
- package/esm2022/select/select-base.directive.mjs +69 -0
- package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +95 -0
- package/esm2022/select/select-label-single/select-label-single.component.mjs +33 -0
- package/esm2022/select/select-multiple.directive.mjs +35 -0
- package/esm2022/select/select-single.directive.mjs +34 -0
- package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +5 -0
- package/esm2022/slide-toggle/public_api.mjs +2 -0
- package/esm2022/slide-toggle/slide-toggle.component.mjs +66 -0
- package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +5 -0
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +92 -0
- package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +44 -0
- package/esm2022/snackbars-thread/public_api.mjs +4 -0
- package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +47 -0
- package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
- package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +5 -0
- package/esm2022/social-button/public_api.mjs +2 -0
- package/esm2022/social-button/social-button.component.mjs +152 -0
- package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +5 -0
- package/esm2022/split-button/public_api.mjs +2 -0
- package/esm2022/split-button/split-button.component.mjs +128 -0
- package/esm2022/src/lib/agorapulse-ui-components.module.mjs +200 -0
- package/esm2022/status/agorapulse-ui-components-status.mjs +5 -0
- package/esm2022/status/public_api.mjs +2 -0
- package/esm2022/status/status.component.mjs +21 -0
- package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +5 -0
- package/esm2022/status-card/public_api.mjs +2 -0
- package/esm2022/status-card/status-card.component.mjs +24 -0
- package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +5 -0
- package/esm2022/stepper/public_api.mjs +3 -0
- package/esm2022/stepper/step.model.mjs +2 -0
- package/esm2022/stepper/stepper.component.mjs +38 -0
- package/esm2022/tag/agorapulse-ui-components-tag.mjs +5 -0
- package/esm2022/tag/public_api.mjs +2 -0
- package/esm2022/tag/tag.component.mjs +35 -0
- package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +5 -0
- package/esm2022/text-measurement/public_api.mjs +2 -0
- package/esm2022/text-measurement/text-measurement.service.mjs +29 -0
- package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +5 -0
- package/esm2022/textarea/public_api.mjs +2 -0
- package/esm2022/textarea/textarea.directive.mjs +37 -0
- package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +5 -0
- package/esm2022/toggle/public_api.mjs +2 -0
- package/esm2022/toggle/toggle.component.mjs +208 -0
- package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +5 -0
- package/esm2022/tooltip/public_api.mjs +2 -0
- package/esm2022/tooltip/tooltip.directive.mjs +401 -0
- package/esm2022/tooltip/tooltip.service.mjs +29 -0
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +79 -0
- package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs +134 -0
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-avatar.mjs +235 -0
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-badge.mjs +24 -0
- package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-button.mjs +118 -0
- package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +184 -0
- package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +68 -0
- package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-counter.mjs +66 -0
- package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +277 -0
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-directives.mjs +473 -0
- package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-dot-stepper.mjs +53 -0
- package/fesm2022/agorapulse-ui-components-dot-stepper.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-form-field.mjs +18 -0
- package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-form-message.mjs +41 -0
- package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-icon-button.mjs +131 -0
- package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-infobox.mjs +85 -0
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-input-group.mjs +30 -0
- package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-input-search.mjs +84 -0
- package/fesm2022/agorapulse-ui-components-input-search.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-input.mjs +26 -0
- package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +129 -0
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-labels.mjs +168 -0
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs +196 -0
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs +458 -0
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +161 -0
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +129 -0
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-modal.mjs +123 -0
- package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +266 -0
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-notification.mjs +22 -0
- package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-paginator.mjs +171 -0
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-password-input.mjs +85 -0
- package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +188 -0
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-popmenu.mjs +724 -0
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-radio.mjs +327 -0
- package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-range-slider.mjs +162 -0
- package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-select.mjs +717 -0
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +73 -0
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +199 -0
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-social-button.mjs +158 -0
- package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-split-button.mjs +135 -0
- package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-status-card.mjs +31 -0
- package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-status.mjs +28 -0
- package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-stepper.mjs +45 -0
- package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-tag.mjs +42 -0
- package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-text-measurement.mjs +36 -0
- package/fesm2022/agorapulse-ui-components-text-measurement.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-textarea.mjs +44 -0
- package/fesm2022/agorapulse-ui-components-textarea.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-toggle.mjs +215 -0
- package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-tooltip.mjs +434 -0
- package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components.mjs +247 -0
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -0
- package/form-field/form-field.component.d.ts +5 -0
- package/form-field/index.d.ts +5 -0
- package/form-field/public_api.d.ts +1 -0
- package/form-message/form-message.component.d.ts +12 -0
- package/form-message/index.d.ts +5 -0
- package/form-message/public_api.d.ts +1 -0
- package/icon-button/icon-button.component.d.ts +39 -0
- package/icon-button/index.d.ts +5 -0
- package/icon-button/public_api.d.ts +1 -0
- package/index.d.ts +41 -53
- package/infobox/index.d.ts +5 -0
- package/infobox/infobox.component.d.ts +32 -0
- package/infobox/public_api.d.ts +1 -0
- package/input/index.d.ts +5 -0
- package/input/input.directive.d.ts +7 -0
- package/input/public_api.d.ts +1 -0
- package/input-group/index.d.ts +5 -0
- package/input-group/input-group.component.d.ts +6 -0
- package/input-group/input-prefix/input-prefix.component.d.ts +5 -0
- package/input-group/public_api.d.ts +2 -0
- package/input-search/index.d.ts +5 -0
- package/input-search/input-search.component.d.ts +32 -0
- package/input-search/public_api.d.ts +1 -0
- package/labels/index.d.ts +5 -0
- package/labels/label-list.component.d.ts +34 -0
- package/labels/label.component.d.ts +23 -0
- package/labels/public_api.d.ts +2 -0
- package/labels-selector/index.d.ts +5 -0
- package/labels-selector/labels-selector.component.d.ts +42 -0
- package/labels-selector/public_api.d.ts +1 -0
- package/legacy/input/index.d.ts +5 -0
- package/legacy/input/input.component.d.ts +64 -0
- package/legacy/input/public_api.d.ts +1 -0
- package/legacy/select/index.d.ts +5 -0
- package/legacy/select/public_api.d.ts +1 -0
- package/legacy/select/select.component.d.ts +122 -0
- package/legacy/textarea/index.d.ts +5 -0
- package/legacy/textarea/public_api.d.ts +1 -0
- package/legacy/textarea/textarea.component.d.ts +53 -0
- package/media-display-overlay/index.d.ts +5 -0
- package/media-display-overlay/media-display-overlay-dialog.component.d.ts +42 -0
- package/media-display-overlay/public_api.d.ts +1 -0
- package/modal/index.d.ts +5 -0
- package/modal/modal.component.d.ts +54 -0
- package/modal/public_api.d.ts +1 -0
- package/neo-datepicker/day-detail.model.d.ts +9 -0
- package/neo-datepicker/day-disabled.pipe.d.ts +8 -0
- package/neo-datepicker/index.d.ts +5 -0
- package/neo-datepicker/neo-datepicker.component.d.ts +61 -0
- package/neo-datepicker/public_api.d.ts +3 -0
- package/notification/index.d.ts +5 -0
- package/notification/notification.component.d.ts +6 -0
- package/notification/public_api.d.ts +1 -0
- package/package.json +303 -20
- package/paginator/index.d.ts +5 -0
- package/paginator/paginator-button/paginator-button.component.d.ts +17 -0
- package/paginator/paginator.component.d.ts +38 -0
- package/paginator/public_api.d.ts +2 -0
- package/password-input/index.d.ts +5 -0
- package/password-input/password-input.component.d.ts +33 -0
- package/password-input/public_api.d.ts +1 -0
- package/phone-number-input/index.d.ts +5 -0
- package/phone-number-input/phone-number-input.component.d.ts +48 -0
- package/phone-number-input/public_api.d.ts +1 -0
- package/popmenu/index.d.ts +5 -0
- package/{src/lib/popmenu → popmenu}/options.d.ts +1 -0
- package/popmenu/popmenu-options.interface.d.ts +48 -0
- package/{src/lib/popmenu → popmenu}/popmenu.component.d.ts +17 -9
- package/popmenu/popmenu.directive.d.ts +84 -0
- package/popmenu/popmenu.module.d.ts +11 -0
- package/popmenu/public_api.d.ts +4 -0
- package/radio/index.d.ts +5 -0
- package/radio/public_api.d.ts +1 -0
- package/radio/radio.component.d.ts +77 -0
- package/range-slider/index.d.ts +5 -0
- package/range-slider/public_api.d.ts +1 -0
- package/range-slider/range-slider.component.d.ts +35 -0
- package/select/ap-select.module.d.ts +17 -0
- package/select/dropdown-group-item/dropdown-group-item.component.d.ts +16 -0
- package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +25 -0
- package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +26 -0
- package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +20 -0
- package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +20 -0
- package/select/dropdown-search-form/dropdown-search-form.component.d.ts +32 -0
- package/select/index.d.ts +5 -0
- package/select/public_api.d.ts +12 -0
- package/select/select-base.directive.d.ts +18 -0
- package/select/select-label-multiple/select-label-multiple.component.d.ts +27 -0
- package/select/select-label-single/select-label-single.component.d.ts +12 -0
- package/select/select-multiple.directive.d.ts +10 -0
- package/select/select-single.directive.d.ts +10 -0
- package/slide-toggle/index.d.ts +5 -0
- package/slide-toggle/public_api.d.ts +1 -0
- package/{src/lib/slide-toggle → slide-toggle}/slide-toggle.component.d.ts +4 -0
- package/snackbars-thread/component/snackbars-thread.component.d.ts +24 -0
- package/snackbars-thread/index.d.ts +5 -0
- package/{src/lib/snackbars-thread → snackbars-thread}/model/snackbars-thread.model.d.ts +10 -6
- package/snackbars-thread/public_api.d.ts +3 -0
- package/snackbars-thread/service/snackbars-thread.service.d.ts +15 -0
- package/{src/lib/snackbars-thread → snackbars-thread}/utils/const/snackbars-thread.const.d.ts +2 -4
- package/social-button/index.d.ts +5 -0
- package/social-button/public_api.d.ts +1 -0
- package/social-button/social-button.component.d.ts +32 -0
- package/split-button/index.d.ts +5 -0
- package/split-button/public_api.d.ts +1 -0
- package/split-button/split-button.component.d.ts +43 -0
- package/src/lib/agorapulse-ui-components.module.d.ts +27 -0
- package/status/index.d.ts +5 -0
- package/status/public_api.d.ts +1 -0
- package/status/status.component.d.ts +9 -0
- package/status-card/index.d.ts +5 -0
- package/status-card/public_api.d.ts +1 -0
- package/status-card/status-card.component.d.ts +13 -0
- package/stepper/index.d.ts +5 -0
- package/stepper/public_api.d.ts +2 -0
- package/{src/lib/stepper → stepper}/step.model.d.ts +1 -0
- package/stepper/stepper.component.d.ts +16 -0
- package/tag/index.d.ts +5 -0
- package/tag/public_api.d.ts +1 -0
- package/tag/tag.component.d.ts +18 -0
- package/text-measurement/index.d.ts +5 -0
- package/text-measurement/public_api.d.ts +1 -0
- package/text-measurement/text-measurement.service.d.ts +8 -0
- package/textarea/index.d.ts +5 -0
- package/textarea/public_api.d.ts +1 -0
- package/textarea/textarea.directive.d.ts +11 -0
- package/toggle/index.d.ts +5 -0
- package/toggle/public_api.d.ts +1 -0
- package/toggle/toggle.component.d.ts +52 -0
- package/tooltip/index.d.ts +5 -0
- package/tooltip/public_api.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +59 -0
- package/tooltip/tooltip.service.d.ts +11 -0
- package/agorapulse-ui-components-0.0.3.tgz +0 -0
- package/agorapulse-ui-components.d.ts +0 -9
- package/agorapulse-ui-components.metadata.json +0 -1
- package/bundles/agorapulse-ui-components.umd.js +0 -4448
- package/bundles/agorapulse-ui-components.umd.js.map +0 -1
- package/esm2015/agorapulse-ui-components.js +0 -10
- package/esm2015/index.js +0 -57
- package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
- package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -279
- package/esm2015/src/lib/avatar/avatar.component.js +0 -82
- package/esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js +0 -2
- package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
- package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
- package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
- package/esm2015/src/lib/directives/default-image.directive.js +0 -25
- package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
- package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
- package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
- package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
- package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
- package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
- package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
- package/esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js +0 -2
- package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
- package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
- package/esm2015/src/lib/lead-modal/lead-info.model.js +0 -2
- package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
- package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
- package/esm2015/src/lib/modal/modal.component.js +0 -88
- package/esm2015/src/lib/notification/notification.component.js +0 -18
- package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
- package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
- package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
- package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
- package/esm2015/src/lib/paginator/paginator.component.js +0 -47
- package/esm2015/src/lib/password-input/password-input.component.js +0 -65
- package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
- package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
- package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
- package/esm2015/src/lib/places/place-list.component.js +0 -12
- package/esm2015/src/lib/places/place.component.js +0 -15
- package/esm2015/src/lib/popmenu/options.js +0 -16
- package/esm2015/src/lib/popmenu/popmenu-options.interface.js +0 -2
- package/esm2015/src/lib/popmenu/popmenu-options.service.js +0 -7
- package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
- package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
- package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
- package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
- package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
- package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
- package/esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js +0 -41
- package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
- package/esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js +0 -13
- package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
- package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
- package/esm2015/src/lib/stepper/step.model.js +0 -2
- package/esm2015/src/lib/stepper/stepper.component.js +0 -37
- package/esm2015/src/lib/tags/tag-list.component.js +0 -12
- package/esm2015/src/lib/tags/tag.component.js +0 -20
- package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
- package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.const.js +0 -67
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.model.js +0 -2
- package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
- package/esm2015/src/lib/try-popup/try-popup-texts.model.js +0 -2
- package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
- package/fesm2015/agorapulse-ui-components.js +0 -3805
- package/fesm2015/agorapulse-ui-components.js.map +0 -1
- package/src/lib/add-comment/add-comment.component.d.ts +0 -17
- package/src/lib/avatar/avatar.component.d.ts +0 -23
- package/src/lib/confirm-modal/confirm-modal.component.d.ts +0 -17
- package/src/lib/datepicker/datepicker.component.d.ts +0 -69
- package/src/lib/directives/default-image.directive.d.ts +0 -5
- package/src/lib/directives/equal-validator.directive.d.ts +0 -10
- package/src/lib/directives/multi-style-text.directive.d.ts +0 -15
- package/src/lib/directives/truncate-tooltip.directive.d.ts +0 -13
- package/src/lib/dots-stepper/dots-stepper.component.d.ts +0 -13
- package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +0 -29
- package/src/lib/edit-tag-modal/model/edit-tags-modal.model.d.ts +0 -21
- package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +0 -15
- package/src/lib/image-carousel/image-carousel.component.d.ts +0 -45
- package/src/lib/lead-modal/lead-info.model.d.ts +0 -7
- package/src/lib/lead-modal/lead-modal.component.d.ts +0 -28
- package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -28
- package/src/lib/modal/modal.component.d.ts +0 -47
- package/src/lib/notification/notification.component.d.ts +0 -3
- package/src/lib/overlay/overlay-dialog-service.component.d.ts +0 -20
- package/src/lib/overlay/overlay-dialog.component.d.ts +0 -17
- package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +0 -8
- package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +0 -6
- package/src/lib/paginator/paginator.component.d.ts +0 -14
- package/src/lib/password-input/password-input.component.d.ts +0 -28
- package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +0 -21
- package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +0 -14
- package/src/lib/phone-number-input/phone-number-input.component.d.ts +0 -42
- package/src/lib/places/place-list.component.d.ts +0 -2
- package/src/lib/places/place.component.d.ts +0 -3
- package/src/lib/popmenu/popmenu-options.interface.d.ts +0 -24
- package/src/lib/popmenu/popmenu.directive.d.ts +0 -69
- package/src/lib/popmenu/popmenu.module.d.ts +0 -5
- package/src/lib/snackbar/snackbar.component.d.ts +0 -6
- package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +0 -18
- package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +0 -12
- package/src/lib/splashscreen/splashscreen.component.d.ts +0 -15
- package/src/lib/star-rating/star-rating.component.d.ts +0 -10
- package/src/lib/stepper/stepper.component.d.ts +0 -14
- package/src/lib/tags/tag-list.component.d.ts +0 -2
- package/src/lib/tags/tag.component.d.ts +0 -4
- package/src/lib/tags-selector/tags-selector.component.d.ts +0 -29
- package/src/lib/timepicker/timepicker.component.d.ts +0 -68
- package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +0 -12
- package/src/lib/tooltip-neo/tooltip-neo.const.d.ts +0 -4
- package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +0 -29
- package/src/lib/tooltip-neo/tooltip-neo.model.d.ts +0 -12
- package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +0 -4
- package/src/lib/try-popup/try-popup-texts.model.d.ts +0 -4
- package/src/lib/try-popup/try-popup.component.d.ts +0 -12
- /package/{src/lib/confirm-modal → confirm-modal}/confirm-modal-texts.model.d.ts +0 -0
- /package/{src/lib/popmenu → popmenu}/popmenu-options.service.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-add-comment.mjs","sources":["../../../libs/ui-components/add-comment/src/add-comment.component.ts","../../../libs/ui-components/add-comment/src/add-comment.component.html","../../../libs/ui-components/add-comment/src/agorapulse-ui-components-add-comment.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { ButtonComponent } from '@agorapulse/ui-components/button';\nimport { AutosizeTextareaDirective } from '@agorapulse/ui-components/directives';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-add-comment',\n templateUrl: './add-comment.component.html',\n styleUrls: ['./add-comment.component.scss'],\n standalone: true,\n imports: [AutosizeTextareaDirective, MatInputModule, NgTemplateOutlet, ButtonComponent],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AddCommentComponent),\n multi: true,\n },\n ],\n})\nexport class AddCommentComponent implements ControlValueAccessor {\n @Input() placeholder = 'Add a comment';\n @Input() customTemplate!: TemplateRef<any>;\n @Input({\n transform: booleanAttribute,\n })\n disable = false;\n\n @Output() action: EventEmitter<string> = new EventEmitter();\n\n _commentValue = '';\n public get commentValue(): string {\n return this._commentValue;\n }\n\n public set commentValue(value: string) {\n this._commentValue = value;\n this.propagateChange(value);\n }\n\n propagateChange: any = () => {};\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n registerOnTouched(fn: any): void {}\n\n setDisabledState(isDisabled: boolean): void {\n this.disable = isDisabled;\n }\n\n writeValue(obj: any): void {\n this._commentValue = obj != undefined ? obj : '';\n this.propagateChange(this._commentValue);\n }\n\n onChange(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this._commentValue = value != undefined ? value : '';\n this.propagateChange(value);\n }\n}\n","<div class=\"add-comment\">\n <textarea\n apAutosize\n dir=\"auto\"\n matInput\n rows=\"1\"\n [placeholder]=\"placeholder\"\n [value]=\"_commentValue\"\n (keyup)=\"onChange($event)\"\n (change)=\"onChange($event)\"></textarea>\n\n <ng-template\n #defaultTemplate\n let-action=\"action\">\n <div class=\"default-template\">\n <ap-button\n name=\"\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"action.emit('send')\">\n Send\n </ap-button>\n </div>\n </ng-template>\n\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n action: action\n }\" />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { AvatarComponent } from '@agorapulse/ui-components/avatar';
|
|
2
|
+
import { FormFieldComponent } from '@agorapulse/ui-components/form-field';
|
|
3
|
+
import { InputDirective } from '@agorapulse/ui-components/input';
|
|
4
|
+
import { InputGroupComponent } from '@agorapulse/ui-components/input-group';
|
|
5
|
+
import { SymbolRegistry, apSearch, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
6
|
+
import * as i2 from '@angular/cdk/overlay';
|
|
7
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
8
|
+
import * as i0 from '@angular/core';
|
|
9
|
+
import { EventEmitter, signal, inject, NgZone, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output } from '@angular/core';
|
|
10
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
|
+
import * as i1 from '@angular/forms';
|
|
12
|
+
import { FormsModule } from '@angular/forms';
|
|
13
|
+
import { BehaviorSubject, skip, debounceTime, distinctUntilChanged, tap, filter, switchMap, fromEvent } from 'rxjs';
|
|
14
|
+
|
|
15
|
+
// import { LoaderComponent } from '@agorapulse/ui-animations';
|
|
16
|
+
class AutocompleteComponent {
|
|
17
|
+
placeholder = 'Search...';
|
|
18
|
+
label = '';
|
|
19
|
+
inputId = '';
|
|
20
|
+
loadingText = 'Loading Items';
|
|
21
|
+
notFoundText = 'No result found';
|
|
22
|
+
searchFn;
|
|
23
|
+
trackByFn = (_, item) => item;
|
|
24
|
+
set disabled(value) {
|
|
25
|
+
this.disabledSignal.set(value);
|
|
26
|
+
}
|
|
27
|
+
optionLabel;
|
|
28
|
+
optionCaption;
|
|
29
|
+
optionImageUrl;
|
|
30
|
+
optionValue;
|
|
31
|
+
optionTextTemplate;
|
|
32
|
+
formField;
|
|
33
|
+
selectOption = new EventEmitter();
|
|
34
|
+
disabledSignal = signal(false);
|
|
35
|
+
symbolRegistry = inject(SymbolRegistry);
|
|
36
|
+
searchTerm$ = new BehaviorSubject('');
|
|
37
|
+
searchTermSignal = toSignal(this.searchTerm$);
|
|
38
|
+
showResultsSignal = signal(false);
|
|
39
|
+
resultsLoadingSignal = signal(false);
|
|
40
|
+
searchResultsSignal = toSignal(this.searchTerm$.pipe(skip(1), debounceTime(250), distinctUntilChanged(), tap(() => this.showResultsSignal.set(false)), filter(term => term.length > 0), tap(() => this.showResultsSignal.set(true)), tap(() => this.resultsLoadingSignal.set(true)), switchMap(term => {
|
|
41
|
+
return this.searchFn(term);
|
|
42
|
+
}), tap(() => this.resultsLoadingSignal.set(false))));
|
|
43
|
+
ngZone = inject(NgZone);
|
|
44
|
+
el = inject(ElementRef);
|
|
45
|
+
inputWidthSignal = signal(0);
|
|
46
|
+
constructor() {
|
|
47
|
+
this.symbolRegistry.registerSymbols([apSearch]);
|
|
48
|
+
this.ngZone.runOutsideAngular(() => {
|
|
49
|
+
fromEvent(document, 'click')
|
|
50
|
+
.pipe(takeUntilDestroyed())
|
|
51
|
+
.subscribe(e => {
|
|
52
|
+
const clickedInside = this.el.nativeElement.contains(e.target);
|
|
53
|
+
if (!clickedInside) {
|
|
54
|
+
this.ngZone.run(() => {
|
|
55
|
+
this.resetAutocomplete();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
ngAfterViewInit() {
|
|
62
|
+
this.inputWidthSignal.set(this.formField.nativeElement.offsetWidth);
|
|
63
|
+
}
|
|
64
|
+
onSelectOption(option) {
|
|
65
|
+
if (typeof option !== 'string' && this.optionValue && option[this.optionValue]) {
|
|
66
|
+
this.selectOption.emit(option[this.optionValue]);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.selectOption.emit(option);
|
|
70
|
+
}
|
|
71
|
+
this.resetAutocomplete();
|
|
72
|
+
}
|
|
73
|
+
resetAutocomplete() {
|
|
74
|
+
this.searchTerm$.next('');
|
|
75
|
+
this.showResultsSignal.set(false);
|
|
76
|
+
this.resultsLoadingSignal.set(false);
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AutocompleteComponent, isStandalone: true, selector: "ap-autocomplete", inputs: { placeholder: "placeholder", label: "label", inputId: "inputId", loadingText: "loadingText", notFoundText: "notFoundText", searchFn: "searchFn", trackByFn: "trackByFn", disabled: "disabled", optionLabel: "optionLabel", optionCaption: "optionCaption", optionImageUrl: "optionImageUrl", optionValue: "optionValue", optionTextTemplate: "optionTextTemplate" }, outputs: { selectOption: "selectOption" }, viewQueries: [{ propertyName: "formField", first: true, predicate: ["formField"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <!-- <ap-loader [diameter]=\"30\" /> -->\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "component", type: FormFieldComponent, selector: "ap-form-field" }, { kind: "component", type: InputGroupComponent, selector: "ap-input-group", inputs: ["symbolPosition"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type:
|
|
80
|
+
// LoaderComponent,
|
|
81
|
+
InputDirective, selector: "[apInput]" }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-autocomplete', standalone: true, imports: [
|
|
86
|
+
SymbolComponent,
|
|
87
|
+
FormFieldComponent,
|
|
88
|
+
InputGroupComponent,
|
|
89
|
+
FormsModule,
|
|
90
|
+
// LoaderComponent,
|
|
91
|
+
InputDirective,
|
|
92
|
+
AvatarComponent,
|
|
93
|
+
OverlayModule,
|
|
94
|
+
], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <!-- <ap-loader [diameter]=\"30\" /> -->\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n", styles: ["ap-autocomplete{display:block}ap-autocomplete .input-autocomplete-wrapper{display:flex;flex-direction:column}ap-autocomplete .search-results-wrapper{position:relative}.ap-autocomplete-search-results{width:100%;display:flex;flex-direction:column;border-radius:var(--ref-border-radius-sm);box-shadow:var(--comp-select-shadow);padding:var(--comp-select-padding-vertical) 0;background-color:var(--comp-select-background-color);margin-top:var(--ref-spacing-xxxs);max-height:250px;overflow:auto}.ap-autocomplete-search-results-loading{display:flex;padding:var(--ref-spacing-sm) 0;flex-direction:column;justify-content:center;align-items:center;gap:var(--ref-spacing-xs)}.ap-autocomplete-search-results-loading .search-results-loading-label{font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80)}.ap-autocomplete-search-results-not-found{padding:var(--ref-spacing-xs) var(--ref-spacing-sm);font-style:italic;font-size:var(--ref-font-size-sm);color:var(--ref-color-grey-80);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item{padding:var(--ref-spacing-xxs) var(--ref-spacing-sm)}.ap-autocomplete-search-results-item .option{display:flex;align-items:center;font-size:var(--comp-select-one-line-text-size);font-weight:var(--comp-select-one-line-text-font-weight);color:var(--comp-select-one-line-text-color);line-height:var(--comp-select-one-line-text-line-height);font-family:var(--comp-select-one-line-text-font-family);gap:var(--ref-spacing-xs);min-height:24px}.ap-autocomplete-search-results-item .option .option-item{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ap-autocomplete-search-results-item .option .texts{flex:1;overflow:auto}.ap-autocomplete-search-results-item .option .texts .first-line{display:flex}.ap-autocomplete-search-results-item .option .texts .label{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item .option.with-caption .texts{display:flex;flex-direction:column}.ap-autocomplete-search-results-item .option.with-caption .texts .label{color:var(--comp-select-two-line-title-text-color);font-size:var(--comp-select-two-line-title-text-size);line-height:var(--comp-select-two-line-title-text-line-height);font-weight:var(--comp-select-two-line-title-text-font-weight)}.ap-autocomplete-search-results-item .option.with-caption .texts .caption{color:var(--comp-select-two-line-caption-text-color);font-size:var(--comp-select-two-line-caption-text-size);line-height:var(--comp-select-two-line-caption-text-line-height);font-weight:var(--comp-select-two-line-caption-text-font-weight);display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.ap-autocomplete-search-results-item:hover{cursor:pointer;background-color:var(--ref-color-electric-blue-10)}.ap-autocomplete-search-results-item:active{background-color:var(--ref-color-electric-blue-20)}.ap-autocomplete-search-results-item:focus{background-color:var(--ref-color-electric-blue-20)}\n"] }]
|
|
95
|
+
}], ctorParameters: () => [], propDecorators: { placeholder: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], label: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], inputId: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], loadingText: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], notFoundText: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], searchFn: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: [{ required: true }]
|
|
108
|
+
}], trackByFn: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], disabled: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], optionLabel: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], optionCaption: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], optionImageUrl: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], optionValue: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], optionTextTemplate: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], formField: [{
|
|
123
|
+
type: ViewChild,
|
|
124
|
+
args: ['formField', { read: ElementRef }]
|
|
125
|
+
}], selectOption: [{
|
|
126
|
+
type: Output
|
|
127
|
+
}] } });
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Generated bundle index. Do not edit.
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
export { AutocompleteComponent };
|
|
134
|
+
//# sourceMappingURL=agorapulse-ui-components-autocomplete.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-autocomplete.mjs","sources":["../../../libs/ui-components/autocomplete/src/autocomplete.component.ts","../../../libs/ui-components/autocomplete/src/autocomplete.component.html","../../../libs/ui-components/autocomplete/src/agorapulse-ui-components-autocomplete.ts"],"sourcesContent":["// import { LoaderComponent } from '@agorapulse/ui-animations';\nimport { AvatarComponent } from '@agorapulse/ui-components/avatar';\nimport { FormFieldComponent } from '@agorapulse/ui-components/form-field';\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent } from '@agorapulse/ui-components/input-group';\nimport { SymbolComponent, SymbolRegistry, apSearch } from '@agorapulse/ui-symbol';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, filter, fromEvent, skip, switchMap, tap } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-autocomplete',\n styleUrls: ['./autocomplete.component.scss'],\n standalone: true,\n imports: [\n SymbolComponent,\n FormFieldComponent,\n InputGroupComponent,\n FormsModule,\n // LoaderComponent,\n InputDirective,\n AvatarComponent,\n OverlayModule,\n ],\n templateUrl: './autocomplete.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AutocompleteComponent<T extends Record<string, unknown> | string> implements AfterViewInit {\n @Input() placeholder = 'Search...';\n @Input() label = '';\n @Input() inputId = '';\n @Input() loadingText = 'Loading Items';\n @Input() notFoundText = 'No result found';\n @Input({ required: true }) searchFn!: (term: string) => Observable<T[]>;\n @Input() trackByFn: (index: number, item: T) => T | T[keyof T] = (_: number, item: T) => item;\n @Input() set disabled(value: boolean) {\n this.disabledSignal.set(value);\n }\n @Input() optionLabel?: string;\n @Input() optionCaption?: string;\n @Input() optionImageUrl?: string;\n @Input() optionValue?: string;\n @Input() optionTextTemplate?: TemplateRef<{ option: T }>;\n\n @ViewChild('formField', { read: ElementRef }) formField!: ElementRef<FormFieldComponent>;\n\n @Output()\n selectOption: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n readonly disabledSignal = signal(false);\n readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n readonly searchTerm$ = new BehaviorSubject<string>('');\n readonly searchTermSignal = toSignal(this.searchTerm$);\n readonly showResultsSignal = signal(false);\n readonly resultsLoadingSignal = signal(false);\n readonly searchResultsSignal = toSignal<any[]>(\n this.searchTerm$.pipe(\n skip(1),\n debounceTime(250),\n distinctUntilChanged(),\n tap(() => this.showResultsSignal.set(false)),\n filter(term => term.length > 0),\n tap(() => this.showResultsSignal.set(true)),\n tap(() => this.resultsLoadingSignal.set(true)),\n switchMap(term => {\n return this.searchFn(term);\n }),\n tap(() => this.resultsLoadingSignal.set(false))\n )\n );\n private readonly ngZone = inject(NgZone);\n private readonly el = inject(ElementRef);\n readonly inputWidthSignal = signal(0);\n\n constructor() {\n this.symbolRegistry.registerSymbols([apSearch]);\n this.ngZone.runOutsideAngular(() => {\n fromEvent(document, 'click')\n .pipe(takeUntilDestroyed())\n .subscribe(e => {\n const clickedInside = this.el.nativeElement.contains(e.target);\n if (!clickedInside) {\n this.ngZone.run(() => {\n this.resetAutocomplete();\n });\n }\n });\n });\n }\n\n ngAfterViewInit(): void {\n this.inputWidthSignal.set((this.formField.nativeElement as HTMLElement).offsetWidth);\n }\n\n onSelectOption(option: T) {\n if (typeof option !== 'string' && this.optionValue && option[this.optionValue]) {\n this.selectOption.emit(option[this.optionValue]);\n } else {\n this.selectOption.emit(option);\n }\n this.resetAutocomplete();\n }\n\n private resetAutocomplete() {\n this.searchTerm$.next('');\n this.showResultsSignal.set(false);\n this.resultsLoadingSignal.set(false);\n }\n}\n","<div class=\"input-autocomplete-wrapper\">\n <ap-form-field\n #formField\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin>\n <label [for]=\"inputId\">\n {{ label }}\n </label>\n <ap-input-group>\n <ap-symbol symbolId=\"search\" />\n <input\n apInput\n [id]=\"inputId\"\n [disabled]=\"disabledSignal()\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"searchTermSignal()\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n </ap-input-group>\n </ap-form-field>\n <div class=\"search-results-wrapper\">\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayWidth]=\"inputWidthSignal()\"\n [cdkConnectedOverlayOpen]=\"showResultsSignal()\">\n <div class=\"ap-autocomplete-search-results\">\n @if (resultsLoadingSignal()) {\n <div class=\"ap-autocomplete-search-results-loading\">\n <!-- <ap-loader [diameter]=\"30\" /> -->\n <span class=\"search-results-loading-label\">{{ loadingText }}</span>\n </div>\n } @else {\n @if (searchResultsSignal()?.length) {\n @for (option of searchResultsSignal(); track trackByFn($index, option)) {\n <div\n class=\"ap-autocomplete-search-results-item\"\n tabindex=\"0\"\n (keydown.enter)=\"onSelectOption(option)\"\n (click)=\"onSelectOption(option)\">\n @if (!optionTextTemplate) {\n @if (!optionLabel || !option[optionLabel]) {\n <div class=\"option\">\n <span\n class=\"option-item\"\n [title]=\"option\">\n {{ option }}\n </span>\n </div>\n }\n @if (optionLabel && option[optionLabel]) {\n <div\n class=\"option\"\n [class.with-caption]=\"optionLabel && optionCaption && option[optionCaption]\">\n @if (!optionLabel) {\n <span class=\"item\">\n {{ option }}\n </span>\n }\n @if (optionImageUrl) {\n <ap-avatar\n [size]=\"24\"\n [showInitials]=\"true\"\n [username]=\"optionLabel ? option[optionLabel] : option\"\n [profilePicture]=\"option[optionImageUrl]\" />\n }\n @if (optionLabel && option[optionLabel]) {\n <div class=\"texts\">\n <div class=\"first-line\">\n <span\n class=\"label\"\n [title]=\"option[optionLabel]\">\n {{ option[optionLabel] }}\n </span>\n </div>\n @if (optionCaption && option[optionCaption]) {\n <span\n class=\"caption\"\n [title]=\"option[optionCaption]\">\n {{ option[optionCaption] }}\n </span>\n }\n </div>\n }\n </div>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"optionTextTemplate; context: { option: option }\" />\n }\n </div>\n }\n } @else {\n <div class=\"ap-autocomplete-search-results-not-found\">\n {{ notFoundText }}\n </div>\n }\n }\n </div>\n </ng-template>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;MA6Ca,qBAAqB,CAAA;IACrB,WAAW,GAAG,WAAW,CAAC;IAC1B,KAAK,GAAG,EAAE,CAAC;IACX,OAAO,GAAG,EAAE,CAAC;IACb,WAAW,GAAG,eAAe,CAAC;IAC9B,YAAY,GAAG,iBAAiB,CAAC;AACf,IAAA,QAAQ,CAAqC;IAC/D,SAAS,GAA+C,CAAC,CAAS,EAAE,IAAO,KAAK,IAAI,CAAC;IAC9F,IAAa,QAAQ,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAClC;AACQ,IAAA,WAAW,CAAU;AACrB,IAAA,aAAa,CAAU;AACvB,IAAA,cAAc,CAAU;AACxB,IAAA,WAAW,CAAU;AACrB,IAAA,kBAAkB,CAA8B;AAEX,IAAA,SAAS,CAAkC;AAGzF,IAAA,YAAY,GAA0B,IAAI,YAAY,EAAW,CAAC;AAEzD,IAAA,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,IAAA,cAAc,GAAmB,MAAM,CAAC,cAAc,CAAC,CAAC;AACxD,IAAA,WAAW,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AAC9C,IAAA,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9C,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,IAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACrC,IAAA,mBAAmB,GAAG,QAAQ,CACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,CAAC,CAAC,EACP,YAAY,CAAC,GAAG,CAAC,EACjB,oBAAoB,EAAE,EACtB,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAC5C,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC3C,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAC9C,SAAS,CAAC,IAAI,IAAG;AACb,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/B,KAAC,CAAC,EACF,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAClD,CACJ,CAAC;AACe,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,IAAA,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEtC,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;iBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC1B,SAAS,CAAC,CAAC,IAAG;AACX,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,aAAa,EAAE;AAChB,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;wBACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,qBAAC,CAAC,CAAC;iBACN;AACL,aAAC,CAAC,CAAC;AACX,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAE,IAAI,CAAC,SAAS,CAAC,aAA6B,CAAC,WAAW,CAAC,CAAC;KACxF;AAED,IAAA,cAAc,CAAC,MAAS,EAAA;AACpB,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AAC5E,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SACpD;aAAM;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;IAEO,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACxC;uGAhFQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAiBE,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9D9C,i5KAoGA,EAAA,MAAA,EAAA,CAAA,w+FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnEQ,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAEX,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,KAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKR,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,SAAS;AACW,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,iBAAiB,EAAA,UAAA,EAEf,IAAI,EACP,OAAA,EAAA;wBACL,eAAe;wBACf,kBAAkB;wBAClB,mBAAmB;wBACnB,WAAW;;wBAEX,cAAc;wBACd,eAAe;wBACf,aAAa;qBAChB,EAEc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,i5KAAA,EAAA,MAAA,EAAA,CAAA,w+FAAA,CAAA,EAAA,CAAA;wDAG5B,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACqB,QAAQ,EAAA,CAAA;sBAAlC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAChB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAGG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAEwC,SAAS,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAG5C,YAAY,EAAA,CAAA;sBADX,MAAM;;;AEhEX;;AAEG;;;;"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import * as i1 from '@agorapulse/ui-symbol';
|
|
2
|
+
import { apSingleNeutral, apShowTheaterMaskHappy, apFacebookOfficial, apLinkedinOfficial, apYoutubeOfficial, apTiktokOfficial, apGoogleMyBusinessOfficial, apPinterestOfficial, apNsThreadsLogo, apXOfficial, apWebBlogs, apWebNews, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
3
|
+
import { NgClass, NgOptimizedImage } from '@angular/common';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding } from '@angular/core';
|
|
6
|
+
import { LetDirective } from '@ngrx/component';
|
|
7
|
+
import { BehaviorSubject, Observable, of, map, combineLatest } from 'rxjs';
|
|
8
|
+
|
|
9
|
+
const AVATAR_NETWORK_ARRAY = ['facebook', 'linkedin', 'twitter', 'X', 'youtube', 'googleMyBusiness', 'google', 'instagram', 'threads', 'tiktok', 'pinterest', 'webBlog', 'webNews'];
|
|
10
|
+
const ROUND_BORDER_AVATAR_NETWORK = ['facebook', 'twitter', 'youtube', 'tiktok', 'X', 'pinterest', 'webBlog', 'webNews', 'threads'];
|
|
11
|
+
const onlineIconSizeByAvatarSize = {
|
|
12
|
+
56: 16,
|
|
13
|
+
48: 12,
|
|
14
|
+
40: 12,
|
|
15
|
+
36: 8,
|
|
16
|
+
32: 8,
|
|
17
|
+
24: 6,
|
|
18
|
+
16: 6,
|
|
19
|
+
};
|
|
20
|
+
const symbolSizeByAvatarSize = {
|
|
21
|
+
56: 28,
|
|
22
|
+
48: 24,
|
|
23
|
+
40: 20,
|
|
24
|
+
36: 18,
|
|
25
|
+
32: 16,
|
|
26
|
+
24: 12,
|
|
27
|
+
16: 8,
|
|
28
|
+
};
|
|
29
|
+
const networkSizeByAvatarSize = {
|
|
30
|
+
56: 16,
|
|
31
|
+
48: 16,
|
|
32
|
+
40: 16,
|
|
33
|
+
36: 16,
|
|
34
|
+
32: 12,
|
|
35
|
+
24: 12,
|
|
36
|
+
16: 8,
|
|
37
|
+
};
|
|
38
|
+
const initialSizeByAvatarSize = {
|
|
39
|
+
56: 28,
|
|
40
|
+
48: 24,
|
|
41
|
+
40: 22,
|
|
42
|
+
36: 18,
|
|
43
|
+
32: 18,
|
|
44
|
+
24: 14,
|
|
45
|
+
16: 10,
|
|
46
|
+
};
|
|
47
|
+
class AvatarComponent {
|
|
48
|
+
symbolRegistry;
|
|
49
|
+
elementRef;
|
|
50
|
+
networkSymbolByNetwork = {
|
|
51
|
+
facebook: 'facebook-official',
|
|
52
|
+
instagram: 'instagram-official',
|
|
53
|
+
X: 'x-official',
|
|
54
|
+
twitter: 'x-official',
|
|
55
|
+
linkedin: 'linkedin-official',
|
|
56
|
+
tiktok: 'tiktok-official',
|
|
57
|
+
youtube: 'youtube-official',
|
|
58
|
+
pinterest: 'pinterest-official',
|
|
59
|
+
threads: 'ns-threads-logo',
|
|
60
|
+
googleMyBusiness: 'google-my-business-official',
|
|
61
|
+
google: 'google-my-business-official',
|
|
62
|
+
webNews: 'web-news',
|
|
63
|
+
webBlog: 'web-blogs',
|
|
64
|
+
};
|
|
65
|
+
size$ = new BehaviorSubject(40);
|
|
66
|
+
profilePicture$ = new BehaviorSubject('');
|
|
67
|
+
network$ = new BehaviorSubject(undefined);
|
|
68
|
+
alternativeText$ = new BehaviorSubject('');
|
|
69
|
+
anonymous$ = new BehaviorSubject(false);
|
|
70
|
+
username$ = new BehaviorSubject('');
|
|
71
|
+
online$ = new BehaviorSubject(false);
|
|
72
|
+
showInitials$ = new BehaviorSubject(false);
|
|
73
|
+
rounded$ = new BehaviorSubject(true);
|
|
74
|
+
set alternativeText(alternativeText) {
|
|
75
|
+
this.alternativeText$.next(alternativeText);
|
|
76
|
+
}
|
|
77
|
+
set anonymous(anonymous) {
|
|
78
|
+
this.anonymous$.next(anonymous);
|
|
79
|
+
}
|
|
80
|
+
set username(username) {
|
|
81
|
+
this.username$.next(username);
|
|
82
|
+
}
|
|
83
|
+
set network(network) {
|
|
84
|
+
this.network$.next(network);
|
|
85
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);
|
|
86
|
+
}
|
|
87
|
+
set online(online) {
|
|
88
|
+
this.online$.next(online);
|
|
89
|
+
}
|
|
90
|
+
set profilePicture(profilePicture) {
|
|
91
|
+
this.profilePicture$.next(profilePicture);
|
|
92
|
+
this.imageError$.next(false);
|
|
93
|
+
}
|
|
94
|
+
set showInitials(showInitials) {
|
|
95
|
+
this.showInitials$.next(showInitials);
|
|
96
|
+
}
|
|
97
|
+
alt = '';
|
|
98
|
+
roundedAvatar = true;
|
|
99
|
+
set rounded(rounded) {
|
|
100
|
+
this.roundedAvatar = rounded;
|
|
101
|
+
this.rounded$.next(rounded);
|
|
102
|
+
}
|
|
103
|
+
// TODO - migrate to signal input and remove size input
|
|
104
|
+
set size(size) {
|
|
105
|
+
this.size$.next(+size);
|
|
106
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);
|
|
107
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);
|
|
108
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);
|
|
109
|
+
}
|
|
110
|
+
displayProfilePicture$ = new Observable();
|
|
111
|
+
displaySingleNeutralSvg$ = new Observable();
|
|
112
|
+
displayInitials$ = new Observable();
|
|
113
|
+
displayAnonymous$ = new Observable();
|
|
114
|
+
displayNetwork$ = new Observable();
|
|
115
|
+
displayOnline$ = new Observable();
|
|
116
|
+
imageError$ = new BehaviorSubject(false);
|
|
117
|
+
initials$ = new Observable();
|
|
118
|
+
initialsAvailable$ = of(false);
|
|
119
|
+
socialNetwork$ = of(false);
|
|
120
|
+
constructor(symbolRegistry, elementRef) {
|
|
121
|
+
this.symbolRegistry = symbolRegistry;
|
|
122
|
+
this.elementRef = elementRef;
|
|
123
|
+
this.symbolRegistry.registerSymbols([
|
|
124
|
+
apSingleNeutral,
|
|
125
|
+
apShowTheaterMaskHappy,
|
|
126
|
+
apFacebookOfficial,
|
|
127
|
+
apLinkedinOfficial,
|
|
128
|
+
apYoutubeOfficial,
|
|
129
|
+
apTiktokOfficial,
|
|
130
|
+
apGoogleMyBusinessOfficial,
|
|
131
|
+
apPinterestOfficial,
|
|
132
|
+
apNsThreadsLogo,
|
|
133
|
+
apXOfficial,
|
|
134
|
+
apWebBlogs,
|
|
135
|
+
apWebNews,
|
|
136
|
+
]);
|
|
137
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);
|
|
138
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);
|
|
139
|
+
}
|
|
140
|
+
ngOnInit() {
|
|
141
|
+
this.initialsAvailable$ = this.username$.pipe(map(username => {
|
|
142
|
+
return !!username;
|
|
143
|
+
}));
|
|
144
|
+
this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(map(([profilePicture, anonymous, imageError]) => {
|
|
145
|
+
return !!profilePicture && !anonymous && !imageError;
|
|
146
|
+
}));
|
|
147
|
+
this.displayInitials$ = combineLatest([
|
|
148
|
+
this.showInitials$,
|
|
149
|
+
this.anonymous$,
|
|
150
|
+
this.initialsAvailable$,
|
|
151
|
+
this.displayProfilePicture$,
|
|
152
|
+
]).pipe(map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {
|
|
153
|
+
return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;
|
|
154
|
+
}));
|
|
155
|
+
this.displaySingleNeutralSvg$ = combineLatest([
|
|
156
|
+
this.profilePicture$,
|
|
157
|
+
this.imageError$,
|
|
158
|
+
this.initialsAvailable$,
|
|
159
|
+
this.showInitials$,
|
|
160
|
+
this.anonymous$,
|
|
161
|
+
this.displayInitials$,
|
|
162
|
+
this.displayProfilePicture$,
|
|
163
|
+
]).pipe(map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {
|
|
164
|
+
return ((!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&
|
|
165
|
+
!anonymous &&
|
|
166
|
+
!displayInitials &&
|
|
167
|
+
!displayProfilePicture);
|
|
168
|
+
}));
|
|
169
|
+
this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(map(([anonymous, rounded]) => {
|
|
170
|
+
return anonymous && rounded;
|
|
171
|
+
}));
|
|
172
|
+
this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(map(([online, rounded]) => {
|
|
173
|
+
return online && rounded;
|
|
174
|
+
}));
|
|
175
|
+
this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(map(([network, rounded]) => {
|
|
176
|
+
return !!network && rounded;
|
|
177
|
+
}));
|
|
178
|
+
this.socialNetwork$ = this.network$.pipe(map(network => {
|
|
179
|
+
if (!network) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
return ROUND_BORDER_AVATAR_NETWORK.indexOf(network) > -1;
|
|
183
|
+
}));
|
|
184
|
+
this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(map(([displayInitials, username]) => {
|
|
185
|
+
if ((displayInitials && !username) || !displayInitials) {
|
|
186
|
+
return '';
|
|
187
|
+
}
|
|
188
|
+
this.elementRef.nativeElement.style.setProperty('--ap-avatar-initials-size', `${initialSizeByAvatarSize[this.size$.value]}px`);
|
|
189
|
+
const names = username?.split(' ');
|
|
190
|
+
return `${names[0].charAt(0).toUpperCase()}`;
|
|
191
|
+
}));
|
|
192
|
+
}
|
|
193
|
+
onImageError() {
|
|
194
|
+
this.imageError$.next(true);
|
|
195
|
+
}
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: "size" }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.youtube{bottom:-1px;border-radius:unset;overflow:visible;box-shadow:none}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
198
|
+
}
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
200
|
+
type: Component,
|
|
201
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgOptimizedImage, SymbolComponent, LetDirective, NgClass], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.social-network{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.youtube{bottom:-1px;border-radius:unset;overflow:visible;box-shadow:none}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
202
|
+
}], ctorParameters: () => [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }], propDecorators: { alternativeText: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], anonymous: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], username: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], network: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], online: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}], profilePicture: [{
|
|
213
|
+
type: Input
|
|
214
|
+
}], showInitials: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], alt: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], roundedAvatar: [{
|
|
219
|
+
type: HostBinding,
|
|
220
|
+
args: ['class.rounded-avatar']
|
|
221
|
+
}], rounded: [{
|
|
222
|
+
type: Input,
|
|
223
|
+
args: [{
|
|
224
|
+
transform: booleanAttribute,
|
|
225
|
+
}]
|
|
226
|
+
}], size: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}] } });
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Generated bundle index. Do not edit.
|
|
232
|
+
*/
|
|
233
|
+
|
|
234
|
+
export { AVATAR_NETWORK_ARRAY, AvatarComponent };
|
|
235
|
+
//# sourceMappingURL=agorapulse-ui-components-avatar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-avatar.mjs","sources":["../../../libs/ui-components/avatar/src/avatar.component.ts","../../../libs/ui-components/avatar/src/avatar.component.html","../../../libs/ui-components/avatar/src/agorapulse-ui-components-avatar.ts"],"sourcesContent":["import {\n SymbolComponent,\n SymbolRegistry,\n apFacebookOfficial,\n apGoogleMyBusinessOfficial,\n apLinkedinOfficial,\n apPinterestOfficial,\n apNsThreadsLogo,\n apShowTheaterMaskHappy,\n apSingleNeutral,\n apTiktokOfficial,\n apWebBlogs,\n apWebNews,\n apXOfficial,\n apYoutubeOfficial,\n} from '@agorapulse/ui-symbol';\nimport {NgClass, NgOptimizedImage} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { LetDirective } from '@ngrx/component';\nimport { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';\n\nexport type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;\n\nexport const AVATAR_NETWORK_ARRAY = ['facebook', 'linkedin', 'twitter', 'X', 'youtube', 'googleMyBusiness', 'google', 'instagram', 'threads', 'tiktok', 'pinterest', 'webBlog', 'webNews'];\nconst ROUND_BORDER_AVATAR_NETWORK: typeof AVATAR_NETWORK_ARRAY[number][] = ['facebook', 'twitter', 'youtube', 'tiktok', 'X', 'pinterest', 'webBlog', 'webNews', 'threads'];\nexport type AvatarNetwork = typeof AVATAR_NETWORK_ARRAY[number];\n\nconst onlineIconSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 12,\n 40: 12,\n 36: 8,\n 32: 8,\n 24: 6,\n 16: 6,\n};\n\nconst symbolSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 20,\n 36: 18,\n 32: 16,\n 24: 12,\n 16: 8,\n};\n\nconst networkSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 16,\n 40: 16,\n 36: 16,\n 32: 12,\n 24: 12,\n 16: 8,\n};\n\nconst initialSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 22,\n 36: 18,\n 32: 18,\n 24: 14,\n 16: 10,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n standalone: true,\n imports: [NgOptimizedImage, SymbolComponent, LetDirective, NgClass],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent implements OnInit {\n readonly networkSymbolByNetwork: Record<AvatarNetwork, string> = {\n facebook: 'facebook-official',\n instagram: 'instagram-official',\n X: 'x-official',\n twitter: 'x-official',\n linkedin: 'linkedin-official',\n tiktok: 'tiktok-official',\n youtube: 'youtube-official',\n pinterest: 'pinterest-official',\n threads: 'ns-threads-logo',\n googleMyBusiness: 'google-my-business-official',\n google: 'google-my-business-official',\n webNews: 'web-news',\n webBlog: 'web-blogs',\n };\n\n size$: BehaviorSubject<AvatarSize> = new BehaviorSubject<AvatarSize>(40);\n profilePicture$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>('');\n network$: BehaviorSubject<AvatarNetwork | undefined> = new BehaviorSubject<AvatarNetwork | undefined>(undefined);\n\n private alternativeText$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private anonymous$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private username$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private online$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private showInitials$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private rounded$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n @Input() set alternativeText(alternativeText: string) {\n this.alternativeText$.next(alternativeText);\n }\n\n @Input() set anonymous(anonymous: boolean) {\n this.anonymous$.next(anonymous);\n }\n\n @Input() set username(username: string) {\n this.username$.next(username);\n }\n\n @Input() set network(network: AvatarNetwork | undefined) {\n this.network$.next(network);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);\n }\n\n @Input() set online(online: boolean) {\n this.online$.next(online);\n }\n\n @Input() set profilePicture(profilePicture: string | undefined) {\n this.profilePicture$.next(profilePicture);\n this.imageError$.next(false);\n }\n\n @Input() set showInitials(showInitials: boolean) {\n this.showInitials$.next(showInitials);\n }\n @Input() alt = '';\n\n @HostBinding('class.rounded-avatar')\n roundedAvatar = true;\n\n @Input({\n transform: booleanAttribute,\n })\n set rounded(rounded: boolean) {\n this.roundedAvatar = rounded;\n this.rounded$.next(rounded);\n }\n\n // TODO - migrate to signal input and remove size input\n @Input()\n set size(size: AvatarSize | `${AvatarSize}`) {\n this.size$.next(+size as AvatarSize);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);\n }\n\n displayProfilePicture$: Observable<boolean> = new Observable<boolean>();\n displaySingleNeutralSvg$: Observable<boolean> = new Observable<boolean>();\n displayInitials$: Observable<boolean> = new Observable<boolean>();\n displayAnonymous$: Observable<boolean> = new Observable<boolean>();\n displayNetwork$: Observable<boolean> = new Observable<boolean>();\n displayOnline$: Observable<boolean> = new Observable<boolean>();\n imageError$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n initials$: Observable<string> = new Observable<string>();\n initialsAvailable$: Observable<boolean> = of(false);\n socialNetwork$: Observable<boolean> = of(false);\n\n constructor(\n private symbolRegistry: SymbolRegistry,\n private elementRef: ElementRef\n ) {\n this.symbolRegistry.registerSymbols([\n apSingleNeutral,\n apShowTheaterMaskHappy,\n apFacebookOfficial,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apTiktokOfficial,\n apGoogleMyBusinessOfficial,\n apPinterestOfficial,\n apNsThreadsLogo,\n apXOfficial,\n apWebBlogs,\n apWebNews,\n ]);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);\n }\n\n ngOnInit(): void {\n this.initialsAvailable$ = this.username$.pipe(\n map(username => {\n return !!username;\n })\n );\n\n this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(\n map(([profilePicture, anonymous, imageError]) => {\n return !!profilePicture && !anonymous && !imageError;\n })\n );\n\n this.displayInitials$ = combineLatest([\n this.showInitials$,\n this.anonymous$,\n this.initialsAvailable$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {\n return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;\n })\n );\n\n this.displaySingleNeutralSvg$ = combineLatest([\n this.profilePicture$,\n this.imageError$,\n this.initialsAvailable$,\n this.showInitials$,\n this.anonymous$,\n this.displayInitials$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {\n return (\n (!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&\n !anonymous &&\n !displayInitials &&\n !displayProfilePicture\n );\n })\n );\n\n this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(\n map(([anonymous, rounded]) => {\n return anonymous && rounded;\n })\n );\n\n this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(\n map(([online, rounded]) => {\n return online && rounded;\n })\n );\n\n this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(\n map(([network, rounded]) => {\n return !!network && rounded;\n })\n );\n\n this.socialNetwork$ = this.network$.pipe(map(network => {\n if (!network) {\n return false;\n }\n return ROUND_BORDER_AVATAR_NETWORK.indexOf(network) > -1;\n }));\n\n\n this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(\n map(([displayInitials, username]) => {\n if ((displayInitials && !username) || !displayInitials) {\n return '';\n }\n this.elementRef.nativeElement.style.setProperty(\n '--ap-avatar-initials-size',\n `${initialSizeByAvatarSize[this.size$.value]}px`\n );\n const names = username?.split(' ');\n return `${names[0].charAt(0).toUpperCase()}`;\n })\n );\n }\n\n onImageError(): void {\n this.imageError$.next(true);\n }\n}\n","<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$,\n socialNetwork: socialNetwork$\n } as avatarViewModel\">\n @if (avatarViewModel.displayProfilePicture) {\n <img\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n }\n @if (avatarViewModel.displaySingleNeutralSvg) {\n <div class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n }\n\n @if (avatarViewModel.displayAnonymous) {\n <div class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n }\n @if (avatarViewModel.displayOnline) {\n <div class=\"online\"></div>\n }\n @if (avatarViewModel.displayNetwork) {\n <div\n class=\"network\"\n [class.social-network]=\"avatarViewModel.socialNetwork\"\n [ngClass]=\"avatarViewModel.network\">\n @if (avatarViewModel.network) {\n <ap-symbol [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n }\n </div>\n }\n\n @if (avatarViewModel.displayInitials) {\n <div class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n }\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, Input } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class BadgeComponent {
|
|
5
|
+
color = 'blue';
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: BadgeComponent, isStandalone: true, selector: "ap-badge", inputs: { color: "color" }, host: { properties: { "class": "this.color" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["ap-badge{display:flex;padding:0 var(--comp-badge-padding-right) 0 var(--comp-badge-padding-left);font-weight:var(--comp-badge-text-style-font-weight);font-family:var(--comp-badge-text-style-font-family);line-height:var(--comp-badge-text-style-line-height);font-size:var(--comp-badge-text-style-size);height:var(--comp-badge-height);max-height:var(--comp-badge-height);border-radius:2px}ap-badge.blue{background-color:var(--comp-badge-blue-background-color);color:var(--comp-badge-blue-color)}ap-badge.orange{text-transform:uppercase;background-color:var(--comp-badge-orange-background-color);color:var(--comp-badge-orange-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-badge', standalone: true, imports: [], encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: ["ap-badge{display:flex;padding:0 var(--comp-badge-padding-right) 0 var(--comp-badge-padding-left);font-weight:var(--comp-badge-text-style-font-weight);font-family:var(--comp-badge-text-style-font-family);line-height:var(--comp-badge-text-style-line-height);font-size:var(--comp-badge-text-style-size);height:var(--comp-badge-height);max-height:var(--comp-badge-height);border-radius:2px}ap-badge.blue{background-color:var(--comp-badge-blue-background-color);color:var(--comp-badge-blue-color)}ap-badge.orange{text-transform:uppercase;background-color:var(--comp-badge-orange-background-color);color:var(--comp-badge-orange-color)}\n"] }]
|
|
12
|
+
}], propDecorators: { color: [{
|
|
13
|
+
type: HostBinding,
|
|
14
|
+
args: ['class']
|
|
15
|
+
}, {
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Generated bundle index. Do not edit.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export { BadgeComponent };
|
|
24
|
+
//# sourceMappingURL=agorapulse-ui-components-badge.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-badge.mjs","sources":["../../../libs/ui-components/badge/src/badge.component.ts","../../../libs/ui-components/badge/src/badge.component.html","../../../libs/ui-components/badge/src/agorapulse-ui-components-badge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\nexport type BadgeColor = 'blue' | 'orange';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-badge',\n standalone: true,\n templateUrl: './badge.component.html',\n imports: [],\n styleUrls: ['./badge.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BadgeComponent {\n @HostBinding('class')\n @Input()\n color: BadgeColor = 'blue';\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAaa,cAAc,CAAA;IAGvB,KAAK,GAAe,MAAM,CAAC;uGAHlB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,iJCb3B,6BACA,EAAA,MAAA,EAAA,CAAA,ynBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDYa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;sCACW,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,UAAU,EAAA,UAAA,EACR,IAAI,EAAA,OAAA,EAEP,EAAE,EAAA,aAAA,EAEI,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,ynBAAA,CAAA,EAAA,CAAA;8BAKrC,KAAK,EAAA,CAAA;sBAFJ,WAAW;uBAAC,OAAO,CAAA;;sBACnB,KAAK;;;AEfV;;AAEG;;;;"}
|