@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,104 @@
|
|
|
1
|
+
// import { LoaderComponent } from '@agorapulse/ui-animations';
|
|
2
|
+
import { InputDirective } from '@agorapulse/ui-components/input';
|
|
3
|
+
import { InputGroupComponent } from '@agorapulse/ui-components/input-group';
|
|
4
|
+
import { InputSearchComponent } from '@agorapulse/ui-components/input-search';
|
|
5
|
+
import { SymbolComponent } from '@agorapulse/ui-symbol';
|
|
6
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, signal, } from '@angular/core';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { FormsModule } from '@angular/forms';
|
|
9
|
+
import { BehaviorSubject, filter } from 'rxjs';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
export class DropdownSearchFormComponent {
|
|
13
|
+
searchPlaceholder = '';
|
|
14
|
+
createNewEnabled = false;
|
|
15
|
+
createText = 'Create';
|
|
16
|
+
select;
|
|
17
|
+
inputSearch;
|
|
18
|
+
notFoundTpl;
|
|
19
|
+
loadingTpl;
|
|
20
|
+
createNewTpl;
|
|
21
|
+
createNew = new EventEmitter();
|
|
22
|
+
searchTermSignal = signal('');
|
|
23
|
+
searchTerm$ = new BehaviorSubject('');
|
|
24
|
+
submitSubscription = null;
|
|
25
|
+
constructor() {
|
|
26
|
+
this.searchTerm$
|
|
27
|
+
.pipe(filter(() => !!this.select), takeUntilDestroyed())
|
|
28
|
+
.subscribe(term => {
|
|
29
|
+
this.searchTermSignal.set(term);
|
|
30
|
+
this.select.filter(term);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.submitSubscription?.unsubscribe();
|
|
35
|
+
}
|
|
36
|
+
ngAfterViewInit() {
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
this.inputSearch.focusInput();
|
|
39
|
+
this.registerKeyboardSubmit();
|
|
40
|
+
}, 100);
|
|
41
|
+
this.select.notFoundTemplate = this.notFoundTpl;
|
|
42
|
+
this.select.loadingTextTemplate = this.loadingTpl;
|
|
43
|
+
// validate the current row on keypress
|
|
44
|
+
if (this.createNewEnabled) {
|
|
45
|
+
this.select.footerTemplate = this.createNewTpl;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Register the keyboard submit event allowing to press enter to select the first item found.
|
|
50
|
+
* And escape to close the dropdown. This is useful for keyboard navigation.
|
|
51
|
+
* Use case: search for an item by typing the first characters and press enter to select it.
|
|
52
|
+
* Furthermore: arrow keys currently don't work in the dropdown search form.
|
|
53
|
+
*/
|
|
54
|
+
registerKeyboardSubmit() {
|
|
55
|
+
this.submitSubscription?.unsubscribe();
|
|
56
|
+
this.submitSubscription = this.inputSearch.keyup.subscribe(event => {
|
|
57
|
+
if (event.key === 'Enter') {
|
|
58
|
+
this.select.select(this.select.itemsList.filteredItems[0]);
|
|
59
|
+
}
|
|
60
|
+
else if (event.key === 'Escape') {
|
|
61
|
+
this.select.close();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
onCreateNew() {
|
|
66
|
+
this.createNew.emit(this.searchTermSignal());
|
|
67
|
+
}
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DropdownSearchFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DropdownSearchFormComponent, isStandalone: true, selector: "ap-dropdown-search-form", inputs: { searchPlaceholder: "searchPlaceholder", createNewEnabled: "createNewEnabled", createText: "createText", select: "select" }, outputs: { createNew: "createNew" }, viewQueries: [{ propertyName: "inputSearch", first: true, predicate: InputSearchComponent, descendants: true }, { propertyName: "notFoundTpl", first: true, predicate: ["notFoundTpl"], descendants: true, read: TemplateRef }, { propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, read: TemplateRef }, { propertyName: "createNewTpl", first: true, predicate: ["createNewTpl"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <!-- <ap-loader diameter=\"30\" /> -->\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items' }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n #createNewTpl\n let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ createText }}\n {{ searchTerm ? searchTerm : '' }}\n </span>\n </button>\n</ng-template>\n", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}ap-dropdown-search-form .dropdown-search-input .ap-input-group input{width:100%}ap-dropdown-search-form .dropdown-search-input .ap-input-group input:placeholder-shown{text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "ngmodule", type: FormsModule }, { 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: "component", type:
|
|
70
|
+
// LoaderComponent,
|
|
71
|
+
InputSearchComponent, selector: "ap-input-search", inputs: ["id", "placeholder", "clearable"], outputs: ["focus", "blur", "keyup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DropdownSearchFormComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: 'ap-dropdown-search-form', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [InputGroupComponent, InputDirective, SymbolComponent, FormsModule,
|
|
76
|
+
// LoaderComponent,
|
|
77
|
+
InputSearchComponent], template: "<ap-input-search\n class=\"dropdown-search-input\"\n [ngModel]=\"searchTermSignal()\"\n [placeholder]=\"searchPlaceholder\"\n (ngModelChange)=\"searchTerm$.next($event)\" />\n\n<ng-template #notFoundTpl>\n <div class=\"option not-found\">\n <span>{{ select.notFoundText ? select.notFoundText : 'Not found text' }}</span>\n </div>\n</ng-template>\n\n<ng-template #loadingTpl>\n <div class=\"loading-state\">\n <!-- <ap-loader diameter=\"30\" /> -->\n <span>\n {{ select.loadingText ? select.loadingText : 'Loading Items' }}\n </span>\n </div>\n</ng-template>\n\n<ng-template\n #createNewTpl\n let-searchTerm=\"searchTerm\">\n <button\n class=\"create-new\"\n type=\"button\"\n (click)=\"onCreateNew()\">\n <ap-symbol\n symbolId=\"plus\"\n size=\"sm\" />\n <span>\n {{ createText }}\n {{ searchTerm ? searchTerm : '' }}\n </span>\n </button>\n</ng-template>\n", styles: ["ap-dropdown-search-form .dropdown-search-input .ap-input-group{width:100%}ap-dropdown-search-form .dropdown-search-input .ap-input-group input{width:100%}ap-dropdown-search-form .dropdown-search-input .ap-input-group input:placeholder-shown{text-overflow:ellipsis}\n"] }]
|
|
78
|
+
}], ctorParameters: () => [], propDecorators: { searchPlaceholder: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], createNewEnabled: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], createText: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], select: [{
|
|
85
|
+
type: Input,
|
|
86
|
+
args: [{
|
|
87
|
+
required: true,
|
|
88
|
+
}]
|
|
89
|
+
}], inputSearch: [{
|
|
90
|
+
type: ViewChild,
|
|
91
|
+
args: [InputSearchComponent]
|
|
92
|
+
}], notFoundTpl: [{
|
|
93
|
+
type: ViewChild,
|
|
94
|
+
args: ['notFoundTpl', { read: TemplateRef }]
|
|
95
|
+
}], loadingTpl: [{
|
|
96
|
+
type: ViewChild,
|
|
97
|
+
args: ['loadingTpl', { read: TemplateRef }]
|
|
98
|
+
}], createNewTpl: [{
|
|
99
|
+
type: ViewChild,
|
|
100
|
+
args: ['createNewTpl', { read: TemplateRef }]
|
|
101
|
+
}], createNew: [{
|
|
102
|
+
type: Output
|
|
103
|
+
}] } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0RBQStEO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBYS9DLE1BQU0sT0FBTywyQkFBMkI7SUFDM0IsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUN6QixVQUFVLEdBQUcsUUFBUSxDQUFDO0lBSS9CLE1BQU0sQ0FBcUI7SUFDTSxXQUFX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QUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlOLE1BQU07c0JBSEwsS0FBSzt1QkFBQzt3QkFDSCxRQUFRLEVBQUUsSUFBSTtxQkFDakI7Z0JBRWdDLFdBQVc7c0JBQTNDLFNBQVM7dUJBQUMsb0JBQW9CO2dCQUNrQixXQUFXO3NCQUEzRCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ0MsVUFBVTtzQkFBekQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNJLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFdEMsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCB7IElucHV0R3JvdXBDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2lucHV0LWdyb3VwJztcbmltcG9ydCB7IElucHV0U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9pbnB1dC1zZWFyY2gnO1xuaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcblxuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBPdXRwdXRSZWZTdWJzY3JpcHRpb24sXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1kcm9wZG93bi1zZWFyY2gtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXNlYXJjaC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1zZWFyY2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbSW5wdXRHcm91cENvbXBvbmVudCwgSW5wdXREaXJlY3RpdmUsIFN5bWJvbENvbXBvbmVudCwgRm9ybXNNb2R1bGUsIFxuICAgICAgICAvLyBMb2FkZXJDb21wb25lbnQsIFxuICAgICAgICBJbnB1dFNlYXJjaENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcbiAgICBASW5wdXQoKSBjcmVhdGVOZXdFbmFibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgY3JlYXRlVGV4dCA9ICdDcmVhdGUnO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgc2VsZWN0ITogTmdTZWxlY3RDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZChJbnB1dFNlYXJjaENvbXBvbmVudCkgaW5wdXRTZWFyY2ghOiBJbnB1dFNlYXJjaENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdub3RGb3VuZFRwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgbm90Rm91bmRUcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2xvYWRpbmdUcGwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGxvYWRpbmdUcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2NyZWF0ZU5ld1RwbCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgY3JlYXRlTmV3VHBsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHNlYXJjaFRlcm1TaWduYWwgPSBzaWduYWw8c3RyaW5nPignJyk7XG4gICAgc2VhcmNoVGVybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHN1Ym1pdFN1YnNjcmlwdGlvbjogT3V0cHV0UmVmU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5zZWxlY3QpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRlcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybVNpZ25hbC5zZXQodGVybSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuZmlsdGVyKHRlcm0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWl0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlucHV0U2VhcmNoLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJLZXlib2FyZFN1Ym1pdCgpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgICB0aGlzLnNlbGVjdC5ub3RGb3VuZFRlbXBsYXRlID0gdGhpcy5ub3RGb3VuZFRwbDtcbiAgICAgICAgdGhpcy5zZWxlY3QubG9hZGluZ1RleHRUZW1wbGF0ZSA9IHRoaXMubG9hZGluZ1RwbDtcblxuICAgICAgICAvLyB2YWxpZGF0ZSB0aGUgY3VycmVudCByb3cgb24ga2V5cHJlc3NcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlTmV3RW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QuZm9vdGVyVGVtcGxhdGUgPSB0aGlzLmNyZWF0ZU5ld1RwbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIHRoZSBrZXlib2FyZCBzdWJtaXQgZXZlbnQgYWxsb3dpbmcgdG8gcHJlc3MgZW50ZXIgdG8gc2VsZWN0IHRoZSBmaXJzdCBpdGVtIGZvdW5kLlxuICAgICAqIEFuZCBlc2NhcGUgdG8gY2xvc2UgdGhlIGRyb3Bkb3duLiBUaGlzIGlzIHVzZWZ1bCBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbiAgICAgKiBVc2UgY2FzZTogc2VhcmNoIGZvciBhbiBpdGVtIGJ5IHR5cGluZyB0aGUgZmlyc3QgY2hhcmFjdGVycyBhbmQgcHJlc3MgZW50ZXIgdG8gc2VsZWN0IGl0LlxuICAgICAqIEZ1cnRoZXJtb3JlOiBhcnJvdyBrZXlzIGN1cnJlbnRseSBkb24ndCB3b3JrIGluIHRoZSBkcm9wZG93biBzZWFyY2ggZm9ybS5cbiAgICAgKi9cbiAgICByZWdpc3RlcktleWJvYXJkU3VibWl0KCkge1xuICAgICAgICB0aGlzLnN1Ym1pdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5zdWJtaXRTdWJzY3JpcHRpb24gPSB0aGlzLmlucHV0U2VhcmNoLmtleXVwLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Quc2VsZWN0KHRoaXMuc2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXJlZEl0ZW1zWzBdKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0LmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgb25DcmVhdGVOZXcoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlTmV3LmVtaXQodGhpcy5zZWFyY2hUZXJtU2lnbmFsKCkpO1xuICAgIH1cbn1cbiIsIjxhcC1pbnB1dC1zZWFyY2hcbiAgICBjbGFzcz1cImRyb3Bkb3duLXNlYXJjaC1pbnB1dFwiXG4gICAgW25nTW9kZWxdPVwic2VhcmNoVGVybVNpZ25hbCgpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRlcm0kLm5leHQoJGV2ZW50KVwiIC8+XG5cbjxuZy10ZW1wbGF0ZSAjbm90Rm91bmRUcGw+XG4gICAgPGRpdiBjbGFzcz1cIm9wdGlvbiBub3QtZm91bmRcIj5cbiAgICAgICAgPHNwYW4+e3sgc2VsZWN0Lm5vdEZvdW5kVGV4dCA/IHNlbGVjdC5ub3RGb3VuZFRleHQgOiAnTm90IGZvdW5kIHRleHQnIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLXN0YXRlXCI+XG4gICAgICAgIDwhLS0gPGFwLWxvYWRlciBkaWFtZXRlcj1cIjMwXCIgLz4gLS0+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3sgc2VsZWN0LmxvYWRpbmdUZXh0ID8gc2VsZWN0LmxvYWRpbmdUZXh0IDogJ0xvYWRpbmcgSXRlbXMnIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNjcmVhdGVOZXdUcGxcbiAgICBsZXQtc2VhcmNoVGVybT1cInNlYXJjaFRlcm1cIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY3JlYXRlLW5ld1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25DcmVhdGVOZXcoKVwiPlxuICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICBzeW1ib2xJZD1cInBsdXNcIlxuICAgICAgICAgICAgc2l6ZT1cInNtXCIgLz5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyBjcmVhdGVUZXh0IH19XG4gICAgICAgICAgICB7eyBzZWFyY2hUZXJtID8gc2VhcmNoVGVybSA6ICcnIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { ApSelectModule } from './ap-select.module';
|
|
2
|
+
export { DropdownGroupItemComponent } from './dropdown-group-item/dropdown-group-item.component';
|
|
3
|
+
export { DropdownItemMultipleOneLineComponent } from './dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component';
|
|
4
|
+
export { DropdownItemMultipleTwoLinesComponent } from './dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component';
|
|
5
|
+
export { DropdownItemSingleOneLineComponent } from './dropdown-item-single-one-line/dropdown-item-single-one-line.component';
|
|
6
|
+
export { DropdownItemSingleTwoLinesComponent } from './dropdown-item-single-two-lines/dropdown-item-single-two-lines.component';
|
|
7
|
+
export { DropdownSearchFormComponent } from './dropdown-search-form/dropdown-search-form.component';
|
|
8
|
+
export { SelectBaseDirective } from './select-base.directive';
|
|
9
|
+
export { SelectLabelMultipleComponent } from './select-label-multiple/select-label-multiple.component';
|
|
10
|
+
export { SelectLabelSingleComponent } from './select-label-single/select-label-single.component';
|
|
11
|
+
export { SelectMultipleDirective } from './select-multiple.directive';
|
|
12
|
+
export { SelectSingleDirective } from './select-single.directive';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBTZWxlY3RNb2R1bGUgfSBmcm9tICcuL2FwLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJvcGRvd25Hcm91cEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWdyb3VwLWl0ZW0vZHJvcGRvd24tZ3JvdXAtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtTXVsdGlwbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtb25lLWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duSXRlbU11bHRpcGxlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtdHdvLWxpbmVzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEcm9wZG93bkl0ZW1TaW5nbGVPbmVMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS9kcm9wZG93bi1pdGVtLXNpbmdsZS1vbmUtbGluZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJvcGRvd25JdGVtU2luZ2xlVHdvTGluZXNDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0tc2luZ2xlLXR3by1saW5lcy9kcm9wZG93bi1pdGVtLXNpbmdsZS10d28tbGluZXMuY29tcG9uZW50JztcbmV4cG9ydCB7IERyb3Bkb3duU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tc2VhcmNoLWZvcm0vZHJvcGRvd24tc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNlbGVjdEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1iYXNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbE11bHRpcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtbGFiZWwtbXVsdGlwbGUvc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RMYWJlbFNpbmdsZUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTZWxlY3RNdWx0aXBsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTZWxlY3RTaW5nbGVEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1zaW5nbGUuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SymbolComponent, SymbolRegistry, apPlus, apCheck } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { Directive, ElementRef, Input, Renderer2, ViewContainerRef, inject } from '@angular/core';
|
|
3
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SelectBaseDirective {
|
|
6
|
+
inlineLabel;
|
|
7
|
+
symbolId;
|
|
8
|
+
selectComponent = inject(NgSelectComponent);
|
|
9
|
+
el = inject(ElementRef);
|
|
10
|
+
renderer = inject(Renderer2);
|
|
11
|
+
viewContainerRef = inject(ViewContainerRef);
|
|
12
|
+
symbolRegistry = inject(SymbolRegistry);
|
|
13
|
+
constructor() {
|
|
14
|
+
this.selectComponent.appendTo = 'body';
|
|
15
|
+
this.selectComponent.searchable = false;
|
|
16
|
+
this.selectComponent.clearable = false;
|
|
17
|
+
this.selectComponent.markFirst = false;
|
|
18
|
+
this.selectComponent.selectableGroupAsModel = false;
|
|
19
|
+
this.selectComponent.tabIndex = 0;
|
|
20
|
+
this.symbolRegistry.registerSymbols([apCheck, apPlus]);
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.symbolId) {
|
|
24
|
+
this.addInlineSymbol(this.symbolId);
|
|
25
|
+
}
|
|
26
|
+
if (this.inlineLabel) {
|
|
27
|
+
this.addInlineLabel(this.inlineLabel);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ngAfterViewInit() {
|
|
31
|
+
if (!this.selectComponent.optionTemplate) {
|
|
32
|
+
throw new Error('optionTemplate is required for apSelect');
|
|
33
|
+
}
|
|
34
|
+
if (this.selectComponent.groupBy && !this.selectComponent.optgroupTemplate) {
|
|
35
|
+
throw new Error('optgroupTemplate is required for apSelect');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
addInlineSymbol(symbolId) {
|
|
39
|
+
const componentRef = this.viewContainerRef.createComponent(SymbolComponent);
|
|
40
|
+
componentRef.instance.symbolId = symbolId;
|
|
41
|
+
componentRef.location.nativeElement.classList.add('inline-symbol');
|
|
42
|
+
// add class to component
|
|
43
|
+
this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), componentRef.location.nativeElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
|
|
44
|
+
}
|
|
45
|
+
addInlineLabel(label) {
|
|
46
|
+
const labelElement = this.renderer.createElement('label');
|
|
47
|
+
this.renderer.setProperty(labelElement, 'textContent', label);
|
|
48
|
+
this.renderer.addClass(labelElement, 'inline-label'); // Add appropriate CSS class
|
|
49
|
+
this.renderer.insertBefore(this.el.nativeElement.getElementsByClassName('ng-select-container').item(0), labelElement, this.el.nativeElement.getElementsByClassName('ng-value-container').item(0));
|
|
50
|
+
}
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: SelectBaseDirective, isStandalone: true, selector: "ng-select[apSelect]", inputs: { inlineLabel: "inlineLabel", symbolId: "symbolId" }, host: { classAttribute: "ap-select" }, ngImport: i0 });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectBaseDirective, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{
|
|
57
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
58
|
+
selector: 'ng-select[apSelect]',
|
|
59
|
+
standalone: true,
|
|
60
|
+
host: {
|
|
61
|
+
class: 'ap-select',
|
|
62
|
+
},
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: () => [], propDecorators: { inlineLabel: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], symbolId: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RixPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBVXpELE1BQU0sT0FBTyxtQkFBbUI7SUFDbkIsV0FBVyxDQUFVO0lBQ3JCLFFBQVEsQ0FBVTtJQUVWLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRCxFQUFFLEdBQTRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQ7UUFDSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVB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bHVzLCBhcENoZWNrIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbmctc2VsZWN0W2FwU2VsZWN0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnYXAtc2VsZWN0JyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBpbmxpbmVMYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBzeW1ib2xJZD86IHN0cmluZztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50ID0gaW5qZWN0KE5nU2VsZWN0Q29tcG9uZW50KTtcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgc3ltYm9sUmVnaXN0cnkgPSBpbmplY3QoU3ltYm9sUmVnaXN0cnkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmFwcGVuZFRvID0gJ2JvZHknO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5zZWFyY2hhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmNsZWFyYWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5tYXJrRmlyc3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuc2VsZWN0YWJsZUdyb3VwQXNNb2RlbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC50YWJJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFthcENoZWNrLCBhcFBsdXNdKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3ltYm9sSWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkSW5saW5lU3ltYm9sKHRoaXMuc3ltYm9sSWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlubGluZUxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmFkZElubGluZUxhYmVsKHRoaXMuaW5saW5lTGFiZWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50Lm9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGlvblRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdENvbXBvbmVudC5ncm91cEJ5ICYmICF0aGlzLnNlbGVjdENvbXBvbmVudC5vcHRncm91cFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wdGdyb3VwVGVtcGxhdGUgaXMgcmVxdWlyZWQgZm9yIGFwU2VsZWN0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZVN5bWJvbChzeW1ib2xJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoU3ltYm9sQ29tcG9uZW50KTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnN5bWJvbElkID0gc3ltYm9sSWQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lubGluZS1zeW1ib2wnKTtcbiAgICAgICAgLy8gYWRkIGNsYXNzIHRvIGNvbXBvbmVudFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCduZy1zZWxlY3QtY29udGFpbmVyJykuaXRlbSgwKSxcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZElubGluZUxhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGFiZWxFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGxhYmVsRWxlbWVudCwgJ3RleHRDb250ZW50JywgbGFiZWwpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGxhYmVsRWxlbWVudCwgJ2lubGluZS1sYWJlbCcpOyAvLyBBZGQgYXBwcm9wcmlhdGUgQ1NTIGNsYXNzXG4gICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXNlbGVjdC1jb250YWluZXInKS5pdGVtKDApLFxuICAgICAgICAgICAgbGFiZWxFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ25nLXZhbHVlLWNvbnRhaW5lcicpLml0ZW0oMClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { AvatarComponent } from '@agorapulse/ui-components/avatar';
|
|
2
|
+
import { LabelComponent } from '@agorapulse/ui-components/labels';
|
|
3
|
+
import { TagComponent } from '@agorapulse/ui-components/tag';
|
|
4
|
+
import { SymbolComponent } from '@agorapulse/ui-symbol';
|
|
5
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EnvironmentInjector, ViewEncapsulation, computed, effect, inject, input, output, runInInjectionContext, signal, } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class SelectLabelMultipleComponent {
|
|
8
|
+
displayType = input('label');
|
|
9
|
+
selectedItems = input.required();
|
|
10
|
+
bindLabel = input('');
|
|
11
|
+
bindValue = input('');
|
|
12
|
+
bindAvatarUrl = input('');
|
|
13
|
+
bindSymbolId = input('');
|
|
14
|
+
roundedAvatar = input(true);
|
|
15
|
+
removeItem = output();
|
|
16
|
+
elementRef = inject(ElementRef);
|
|
17
|
+
injector = inject(EnvironmentInjector);
|
|
18
|
+
selectedLabels = computed(() => this.selectedItems().map(item => {
|
|
19
|
+
const label = this.bindLabel() ? item[this.bindLabel()] : item;
|
|
20
|
+
// Get the uppercase and lowercase characters count
|
|
21
|
+
const uppercaseCharMatch = label.match(/[A-Z]/g);
|
|
22
|
+
const uppercaseCharCount = uppercaseCharMatch?.length ?? 0;
|
|
23
|
+
const lowercaseCharCount = label.length - uppercaseCharCount;
|
|
24
|
+
// Approximate upper and lower case characters width (14px font size)
|
|
25
|
+
const approximateUppercaseCharWidth = 14;
|
|
26
|
+
const approximateLowercaseCharWidth = 8;
|
|
27
|
+
// Calculate approximate character width
|
|
28
|
+
const approximateCharWidth = (uppercaseCharCount * approximateUppercaseCharWidth + lowercaseCharCount * approximateLowercaseCharWidth) / label.length;
|
|
29
|
+
// Maximum character length that can fit in the container (substract icons and padding)
|
|
30
|
+
const maxCharLength = (this.valueContainerWidth() - 24 - 8 - 20 - 8) / approximateCharWidth;
|
|
31
|
+
// Last index of the character that can fit in the container
|
|
32
|
+
const ellipsisLastIndex = Math.min(label.length, maxCharLength);
|
|
33
|
+
// Substract the ellipsis characters (...) length if the label is truncated
|
|
34
|
+
const lastIndex = ellipsisLastIndex + 1 < label.length ? ellipsisLastIndex - 2 : ellipsisLastIndex;
|
|
35
|
+
// Get the truncated label
|
|
36
|
+
const truncatedLabel = label.slice(0, lastIndex);
|
|
37
|
+
// Return the label with ellipsis if it's truncated
|
|
38
|
+
const ellipsisLabel = truncatedLabel.length < label.length ? truncatedLabel + '...' : truncatedLabel;
|
|
39
|
+
return {
|
|
40
|
+
label: ellipsisLabel,
|
|
41
|
+
avatarUrl: this.bindAvatarUrl() ? item[this.bindAvatarUrl()] : '',
|
|
42
|
+
symbolId: this.bindSymbolId() ? item[this.bindSymbolId()] : null,
|
|
43
|
+
value: item,
|
|
44
|
+
};
|
|
45
|
+
}));
|
|
46
|
+
valueContainerWidth = signal(0);
|
|
47
|
+
hiddenCount = signal(0);
|
|
48
|
+
trackByItem = (_, item) => (this.bindValue() ? item.value[this.bindValue()] : item.value);
|
|
49
|
+
ngAfterViewInit() {
|
|
50
|
+
const parentWidth = this.elementRef.nativeElement.parentElement?.offsetWidth;
|
|
51
|
+
this.valueContainerWidth.set(parentWidth ?? 0);
|
|
52
|
+
runInInjectionContext(this.injector, () => {
|
|
53
|
+
effect(() => {
|
|
54
|
+
const selectedValues = this.selectedItems();
|
|
55
|
+
const selectValueContainerWidth = this.valueContainerWidth() - 30;
|
|
56
|
+
const timeout = setTimeout(() => {
|
|
57
|
+
this.calculateResponsiveLabels(selectValueContainerWidth, selectedValues);
|
|
58
|
+
}, 100);
|
|
59
|
+
return () => {
|
|
60
|
+
clearTimeout(timeout);
|
|
61
|
+
};
|
|
62
|
+
}, { allowSignalWrites: true });
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
calculateResponsiveLabels(containerWidth, selectedValues) {
|
|
66
|
+
if (containerWidth === 0 || !selectedValues.length) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
let totalWidth = 0;
|
|
70
|
+
let hiddenCount = 0;
|
|
71
|
+
const itemGap = 4;
|
|
72
|
+
const items = this.elementRef.nativeElement.getElementsByClassName('item');
|
|
73
|
+
for (let index = 0; index < items.length; index++) {
|
|
74
|
+
const item = items[index];
|
|
75
|
+
const itemWidth = item.clientWidth + itemGap;
|
|
76
|
+
if (totalWidth + itemWidth < containerWidth && !hiddenCount) {
|
|
77
|
+
totalWidth += itemWidth;
|
|
78
|
+
item.style.visibility = 'visible';
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
item.style.visibility = 'hidden';
|
|
82
|
+
hiddenCount++;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
this.elementRef.nativeElement.getElementsByClassName('multiple-item')[0].style.maxWidth = `${totalWidth}px`;
|
|
86
|
+
this.hiddenCount.set(hiddenCount);
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectLabelMultipleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: SelectLabelMultipleComponent, isStandalone: true, selector: "ap-select-label-multiple", inputs: { displayType: { classPropertyName: "displayType", publicName: "displayType", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: true, transformFunction: null }, bindLabel: { classPropertyName: "bindLabel", publicName: "bindLabel", isSignal: true, isRequired: false, transformFunction: null }, bindValue: { classPropertyName: "bindValue", publicName: "bindValue", isSignal: true, isRequired: false, transformFunction: null }, bindAvatarUrl: { classPropertyName: "bindAvatarUrl", publicName: "bindAvatarUrl", isSignal: true, isRequired: false, transformFunction: null }, bindSymbolId: { classPropertyName: "bindSymbolId", publicName: "bindSymbolId", isSignal: true, isRequired: false, transformFunction: null }, roundedAvatar: { classPropertyName: "roundedAvatar", publicName: "roundedAvatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removeItem: "removeItem" }, ngImport: i0, template: "<div class=\"multiple-item\">\n @for (item of selectedLabels(); track trackByItem($index, item)) {\n @if (displayType() === 'label') {\n <ap-label\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n }\n\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl) {\n <ap-avatar\n [size]=\"16\"\n [rounded]=\"roundedAvatar()\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n } @else if (item.symbolId) {\n <ap-symbol\n size=\"sm\"\n [attr.symbol-id]=\"item.symbolId\"\n [symbolId]=\"item.symbolId\" />\n }\n {{ item.label }}\n </ap-tag>\n }\n }\n</div>\n\n@if (hiddenCount() > 0) {\n <div class=\"remaining\">\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCount() }}\n </ap-tag>\n }\n @if (displayType() === 'label') {\n <ap-label\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCount()\" />\n }\n </div>\n}\n", styles: ["ap-select-label-multiple{display:flex}\n"], dependencies: [{ kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color", "mini"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
90
|
+
}
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectLabelMultipleComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{ selector: 'ap-select-label-multiple', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LabelComponent, TagComponent, AvatarComponent, SymbolComponent], template: "<div class=\"multiple-item\">\n @for (item of selectedLabels(); track trackByItem($index, item)) {\n @if (displayType() === 'label') {\n <ap-label\n class=\"item\"\n color=\"blue\"\n removable=\"true\"\n [content]=\"item.label\"\n (remove)=\"removeItem.emit(item.value)\" />\n }\n\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"item text-item\"\n clearable=\"true\"\n color=\"grey\"\n (clear)=\"removeItem.emit(item.value)\">\n @if (item.avatarUrl) {\n <ap-avatar\n [size]=\"16\"\n [rounded]=\"roundedAvatar()\"\n [profilePicture]=\"item.avatarUrl\"\n [username]=\"item.label\"\n [showInitials]=\"true\" />\n } @else if (item.symbolId) {\n <ap-symbol\n size=\"sm\"\n [attr.symbol-id]=\"item.symbolId\"\n [symbolId]=\"item.symbolId\" />\n }\n {{ item.label }}\n </ap-tag>\n }\n }\n</div>\n\n@if (hiddenCount() > 0) {\n <div class=\"remaining\">\n @if (displayType() === 'tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\"\n clearable=\"false\">\n +{{ hiddenCount() }}\n </ap-tag>\n }\n @if (displayType() === 'label') {\n <ap-label\n color=\"blue\"\n removable=\"false\"\n [content]=\"'+' + hiddenCount()\" />\n }\n </div>\n}\n", styles: ["ap-select-label-multiple{display:flex}\n"] }]
|
|
94
|
+
}] });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS9zZWxlY3QtbGFiZWwtbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLW11bHRpcGxlL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDOztBQVd2QixNQUFNLE9BQU8sNEJBQTRCO0lBQ3JDLFdBQVcsR0FBRyxLQUFLLENBQWtCLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7SUFDeEMsU0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QixTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLGFBQWEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsWUFBWSxHQUFHLEtB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LGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9sYWJlbHMnO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90YWcnO1xuaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0LFxuICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLXNlbGVjdC1sYWJlbC1tdWx0aXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1sYWJlbC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWxhYmVsLW11bHRpcGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtMYWJlbENvbXBvbmVudCwgVGFnQ29tcG9uZW50LCBBdmF0YXJDb21wb25lbnQsIFN5bWJvbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdExhYmVsTXVsdGlwbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBkaXNwbGF5VHlwZSA9IGlucHV0PCd0YWcnIHwgJ2xhYmVsJz4oJ2xhYmVsJyk7XG4gICAgc2VsZWN0ZWRJdGVtcyA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xuICAgIGJpbmRMYWJlbCA9IGlucHV0KCcnKTtcbiAgICBiaW5kVmFsdWUgPSBpbnB1dCgnJyk7XG4gICAgYmluZEF2YXRhclVybCA9IGlucHV0KCcnKTtcbiAgICBiaW5kU3ltYm9sSWQgPSBpbnB1dCgnJyk7XG5cbiAgICByb3VuZGVkQXZhdGFyID0gaW5wdXQodHJ1ZSk7XG5cbiAgICByZW1vdmVJdGVtID0gb3V0cHV0PGFueT4oKTtcblxuICAgIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuXG4gICAgc2VsZWN0ZWRMYWJlbHMgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMoKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuYmluZExhYmVsKCkgPyBpdGVtW3RoaXMuYmluZExhYmVsKCldIDogaXRlbTtcblxuICAgICAgICAgICAgLy8gR2V0IHRoZSB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBjaGFyYWN0ZXJzIGNvdW50XG4gICAgICAgICAgICBjb25zdCB1cHBlcmNhc2VDaGFyTWF0Y2ggPSBsYWJlbC5tYXRjaCgvW0EtWl0vZyk7XG4gICAgICAgICAgICBjb25zdCB1cHBlcmNhc2VDaGFyQ291bnQgPSB1cHBlcmNhc2VDaGFyTWF0Y2g/Lmxlbmd0aCA/PyAwO1xuICAgICAgICAgICAgY29uc3QgbG93ZXJjYXNlQ2hhckNvdW50ID0gbGFiZWwubGVuZ3RoIC0gdXBwZXJjYXNlQ2hhckNvdW50O1xuICAgICAgICAgICAgLy8gQXBwcm94aW1hdGUgdXBwZXIgYW5kIGxvd2VyIGNhc2UgY2hhcmFjdGVycyB3aWR0aCAoMTRweCBmb250IHNpemUpXG4gICAgICAgICAgICBjb25zdCBhcHByb3hpbWF0ZVVwcGVyY2FzZUNoYXJXaWR0aCA9IDE0O1xuICAgICAgICAgICAgY29uc3QgYXBwcm94aW1hdGVMb3dlcmNhc2VDaGFyV2lkdGggPSA4O1xuICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGFwcHJveGltYXRlIGNoYXJhY3RlciB3aWR0aFxuICAgICAgICAgICAgY29uc3QgYXBwcm94aW1hdGVDaGFyV2lkdGggPVxuICAgICAgICAgICAgICAgICh1cHBlcmNhc2VDaGFyQ291bnQgKiBhcHByb3hpbWF0ZVVwcGVyY2FzZUNoYXJXaWR0aCArIGxvd2VyY2FzZUNoYXJDb3VudCAqIGFwcHJveGltYXRlTG93ZXJjYXNlQ2hhcldpZHRoKSAvIGxhYmVsLmxlbmd0aDtcbiAgICAgICAgICAgIC8vIE1heGltdW0gY2hhcmFjdGVyIGxlbmd0aCB0aGF0IGNhbiBmaXQgaW4gdGhlIGNvbnRhaW5lciAoc3Vic3RyYWN0IGljb25zIGFuZCBwYWRkaW5nKVxuICAgICAgICAgICAgY29uc3QgbWF4Q2hhckxlbmd0aCA9ICh0aGlzLnZhbHVlQ29udGFpbmVyV2lkdGgoKSAtIDI0IC0gOCAtIDIwIC0gOCkgLyBhcHByb3hpbWF0ZUNoYXJXaWR0aDtcbiAgICAgICAgICAgIC8vIExhc3QgaW5kZXggb2YgdGhlIGNoYXJhY3RlciB0aGF0IGNhbiBmaXQgaW4gdGhlIGNvbnRhaW5lclxuICAgICAgICAgICAgY29uc3QgZWxsaXBzaXNMYXN0SW5kZXggPSBNYXRoLm1pbihsYWJlbC5sZW5ndGgsIG1heENoYXJMZW5ndGgpO1xuICAgICAgICAgICAgLy8gU3Vic3RyYWN0IHRoZSBlbGxpcHNpcyBjaGFyYWN0ZXJzICguLi4pIGxlbmd0aCBpZiB0aGUgbGFiZWwgaXMgdHJ1bmNhdGVkXG4gICAgICAgICAgICBjb25zdCBsYXN0SW5kZXggPSBlbGxpcHNpc0xhc3RJbmRleCArIDEgPCBsYWJlbC5sZW5ndGggPyBlbGxpcHNpc0xhc3RJbmRleCAtIDIgOiBlbGxpcHNpc0xhc3RJbmRleDtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgdHJ1bmNhdGVkIGxhYmVsXG4gICAgICAgICAgICBjb25zdCB0cnVuY2F0ZWRMYWJlbCA9IGxhYmVsLnNsaWNlKDAsIGxhc3RJbmRleCk7XG4gICAgICAgICAgICAvLyBSZXR1cm4gdGhlIGxhYmVsIHdpdGggZWxsaXBzaXMgaWYgaXQncyB0cnVuY2F0ZWRcbiAgICAgICAgICAgIGNvbnN0IGVsbGlwc2lzTGFiZWwgPSB0cnVuY2F0ZWRMYWJlbC5sZW5ndGggPCBsYWJlbC5sZW5ndGggPyB0cnVuY2F0ZWRMYWJlbCArICcuLi4nIDogdHJ1bmNhdGVkTGFiZWw7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBlbGxpcHNpc0xhYmVsLFxuICAgICAgICAgICAgICAgIGF2YXRhclVybDogdGhpcy5iaW5kQXZhdGFyVXJsKCkgPyBpdGVtW3RoaXMuYmluZEF2YXRhclVybCgpXSA6ICcnLFxuICAgICAgICAgICAgICAgIHN5bWJvbElkOiB0aGlzLmJpbmRTeW1ib2xJZCgpID8gaXRlbVt0aGlzLmJpbmRTeW1ib2xJZCgpXSA6IG51bGwsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICB2YWx1ZUNvbnRhaW5lcldpZHRoID0gc2lnbmFsKDApO1xuICAgIGhpZGRlbkNvdW50ID0gc2lnbmFsKDApO1xuXG4gICAgdHJhY2tCeUl0ZW0gPSAoXzogbnVtYmVyLCBpdGVtOiBhbnkpID0+ICh0aGlzLmJpbmRWYWx1ZSgpID8gaXRlbS52YWx1ZVt0aGlzLmJpbmRWYWx1ZSgpXSA6IGl0ZW0udmFsdWUpO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRXaWR0aCA9ICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudD8ub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRoaXMudmFsdWVDb250YWluZXJXaWR0aC5zZXQocGFyZW50V2lkdGggPz8gMCk7XG5cbiAgICAgICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdFZhbHVlQ29udGFpbmVyV2lkdGggPSB0aGlzLnZhbHVlQ29udGFpbmVyV2lkdGgoKSAtIDMwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVJlc3BvbnNpdmVMYWJlbHMoc2VsZWN0VmFsdWVDb250YWluZXJXaWR0aCwgc2VsZWN0ZWRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVSZXNwb25zaXZlTGFiZWxzKGNvbnRhaW5lcldpZHRoOiBudW1iZXIsIHNlbGVjdGVkVmFsdWVzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICBpZiAoY29udGFpbmVyV2lkdGggPT09IDAgfHwgIXNlbGVjdGVkVmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRvdGFsV2lkdGggPSAwO1xuICAgICAgICBsZXQgaGlkZGVuQ291bnQgPSAwO1xuICAgICAgICBjb25zdCBpdGVtR2FwID0gNDtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpdGVtJyk7XG5cbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGl0ZW1zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgaXRlbTogSFRNTEVsZW1lbnQgPSBpdGVtc1tpbmRleF07XG4gICAgICAgICAgICBjb25zdCBpdGVtV2lkdGggPSBpdGVtLmNsaWVudFdpZHRoICsgaXRlbUdhcDtcblxuICAgICAgICAgICAgaWYgKHRvdGFsV2lkdGggKyBpdGVtV2lkdGggPCBjb250YWluZXJXaWR0aCAmJiAhaGlkZGVuQ291bnQpIHtcbiAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICs9IGl0ZW1XaWR0aDtcbiAgICAgICAgICAgICAgICAoaXRlbSBhcyBIVE1MRWxlbWVudCkuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgKGl0ZW0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgICAgICAgICBoaWRkZW5Db3VudCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbXVsdGlwbGUtaXRlbScpWzBdLnN0eWxlLm1heFdpZHRoID0gYCR7dG90YWxXaWR0aH1weGA7XG4gICAgICAgIHRoaXMuaGlkZGVuQ291bnQuc2V0KGhpZGRlbkNvdW50KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibXVsdGlwbGUtaXRlbVwiPlxuICAgIEBmb3IgKGl0ZW0gb2Ygc2VsZWN0ZWRMYWJlbHMoKTsgdHJhY2sgdHJhY2tCeUl0ZW0oJGluZGV4LCBpdGVtKSkge1xuICAgICAgICBAaWYgKGRpc3BsYXlUeXBlKCkgPT09ICdsYWJlbCcpIHtcbiAgICAgICAgICAgIDxhcC1sYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJibHVlXCJcbiAgICAgICAgICAgICAgICByZW1vdmFibGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlKT1cInJlbW92ZUl0ZW0uZW1pdChpdGVtLnZhbHVlKVwiIC8+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGRpc3BsYXlUeXBlKCkgPT09ICd0YWcnKSB7XG4gICAgICAgICAgICA8YXAtdGFnXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtIHRleHQtaXRlbVwiXG4gICAgICAgICAgICAgICAgY2xlYXJhYmxlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJncmV5XCJcbiAgICAgICAgICAgICAgICAoY2xlYXIpPVwicmVtb3ZlSXRlbS5lbWl0KGl0ZW0udmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmF2YXRhclVybCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm91bmRlZF09XCJyb3VuZGVkQXZhdGFyKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Byb2ZpbGVQaWN0dXJlXT1cIml0ZW0uYXZhdGFyVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VybmFtZV09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbS5zeW1ib2xJZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3ltYm9sLWlkXT1cIml0ZW0uc3ltYm9sSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIml0ZW0uc3ltYm9sSWRcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICA8L2FwLXRhZz5cbiAgICAgICAgfVxuICAgIH1cbjwvZGl2PlxuXG5AaWYgKGhpZGRlbkNvdW50KCkgPiAwKSB7XG4gICAgPGRpdiBjbGFzcz1cInJlbWFpbmluZ1wiPlxuICAgICAgICBAaWYgKGRpc3BsYXlUeXBlKCkgPT09ICd0YWcnKSB7XG4gICAgICAgICAgICA8YXAtdGFnXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWl0ZW1cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwiZ3JleVwiXG4gICAgICAgICAgICAgICAgY2xlYXJhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAre3sgaGlkZGVuQ291bnQoKSB9fVxuICAgICAgICAgICAgPC9hcC10YWc+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChkaXNwbGF5VHlwZSgpID09PSAnbGFiZWwnKSB7XG4gICAgICAgICAgICA8YXAtbGFiZWxcbiAgICAgICAgICAgICAgICBjb2xvcj1cImJsdWVcIlxuICAgICAgICAgICAgICAgIHJlbW92YWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCInKycgKyBoaWRkZW5Db3VudCgpXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AvatarComponent } from '@agorapulse/ui-components/avatar';
|
|
2
|
+
import { LabelComponent } from '@agorapulse/ui-components/labels';
|
|
3
|
+
import { TagComponent } from '@agorapulse/ui-components/tag';
|
|
4
|
+
import { ChangeDetectionStrategy, Component, input, Input, ViewEncapsulation } from '@angular/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SelectLabelSingleComponent {
|
|
7
|
+
displayType = 'text';
|
|
8
|
+
label;
|
|
9
|
+
avatarUrl;
|
|
10
|
+
network = undefined;
|
|
11
|
+
showAvatarInitials = true;
|
|
12
|
+
roundedAvatar = input(true);
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectLabelSingleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: SelectLabelSingleComponent, isStandalone: true, selector: "ap-select-label-single", inputs: { displayType: { classPropertyName: "displayType", publicName: "displayType", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: true, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: false, isRequired: false, transformFunction: null }, network: { classPropertyName: "network", publicName: "network", isSignal: false, isRequired: false, transformFunction: null }, showAvatarInitials: { classPropertyName: "showAvatarInitials", publicName: "showAvatarInitials", isSignal: false, isRequired: false, transformFunction: null }, roundedAvatar: { classPropertyName: "roundedAvatar", publicName: "roundedAvatar", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (displayType) {\n @case ('text') {\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n }\n @case ('label') {\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n }\n @case ('tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n }\n {{ label }}\n </ap-tag>\n }\n @case ('withAvatar') {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"showAvatarInitials\"\n [profilePicture]=\"avatarUrl\"\n [network]=\"network\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n }\n}\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"], dependencies: [{ kind: "component", type: LabelComponent, selector: "ap-label", inputs: ["content", "selectorWidth", "removable"], outputs: ["remove"] }, { kind: "component", type: TagComponent, selector: "ap-tag", inputs: ["clearable", "color", "mini"], outputs: ["clear"] }, { kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["alternativeText", "anonymous", "username", "network", "online", "profilePicture", "showInitials", "alt", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectLabelSingleComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'ap-select-label-single', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [LabelComponent, TagComponent, AvatarComponent], template: "@switch (displayType) {\n @case ('text') {\n <span\n class=\"text-item\"\n [title]=\"label\">\n {{ label }}\n </span>\n }\n @case ('label') {\n <ap-label\n color=\"blue\"\n [removable]=\"false\"\n [content]=\"label\" />\n }\n @case ('tag') {\n <ap-tag\n class=\"text-item\"\n color=\"grey\">\n @if (avatarUrl !== undefined) {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"16\"\n [username]=\"label\"\n [showInitials]=\"true\"\n [profilePicture]=\"avatarUrl\" />\n }\n {{ label }}\n </ap-tag>\n }\n @case ('withAvatar') {\n <ap-avatar\n [rounded]=\"roundedAvatar()\"\n [size]=\"24\"\n [username]=\"label\"\n [showInitials]=\"showAvatarInitials\"\n [profilePicture]=\"avatarUrl\"\n [network]=\"network\" />\n <span class=\"text-item\">\n {{ label }}\n </span>\n }\n}\n", styles: ["ap-select-label-single{display:flex;gap:var(--ref-spacing-xxs);width:100%;align-items:center}\n"] }]
|
|
19
|
+
}], propDecorators: { displayType: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], label: [{
|
|
22
|
+
type: Input,
|
|
23
|
+
args: [{
|
|
24
|
+
required: true,
|
|
25
|
+
}]
|
|
26
|
+
}], avatarUrl: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], network: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], showAvatarInitials: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLXNpbmdsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3QtbGFiZWwtc2luZ2xlL3NlbGVjdC1sYWJlbC1zaW5nbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvc2VsZWN0LWxhYmVsLXNpbmdsZS9zZWxlY3QtbGFiZWwtc2luZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV3BHLE1BQU0sT0FBTywwQkFBMEI7SUFDMUIsV0FBVyxHQUE0QyxNQUFNLENBQUM7SUFJdkUsS0FBSyxDQUFVO0lBQ04sU0FBUyxDQUFVO0lBQ25CLE9BQU8sR0FBOEIsU0FBUyxDQUFDO0lBQy9DLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUVuQyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3VHQVZuQiwwQkFBMEI7MkZBQTFCLDBCQUEwQixxNUJDZnZDLDhvQ0EwQ0EseUpEN0JjLGNBQWMsNkhBQUUsWUFBWSwrR0FBRSxlQUFlOzsyRkFFOUMsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHdCQUF3QixjQUd0QixJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQzs4QkFHL0MsV0FBVztzQkFBbkIsS0FBSztnQkFJTixLQUFLO3NCQUhKLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUVRLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF2YXRhckNvbXBvbmVudCwgQXZhdGFyTmV0d29yayB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9sYWJlbHMnO1xuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90YWcnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtc2VsZWN0LWxhYmVsLXNpbmdsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1sYWJlbC1zaW5nbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1sYWJlbC1zaW5nbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0xhYmVsQ29tcG9uZW50LCBUYWdDb21wb25lbnQsIEF2YXRhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdExhYmVsU2luZ2xlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBkaXNwbGF5VHlwZTogJ3RleHQnIHwgJ3dpdGhBdmF0YXInIHwgJ3RhZycgfCAnbGFiZWwnID0gJ3RleHQnO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pXG4gICAgbGFiZWwhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgYXZhdGFyVXJsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5ldHdvcms6IEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgc2hvd0F2YXRhckluaXRpYWxzID0gdHJ1ZTtcblxuICAgIHJvdW5kZWRBdmF0YXIgPSBpbnB1dCh0cnVlKTtcbn1cbiIsIkBzd2l0Y2ggKGRpc3BsYXlUeXBlKSB7XG4gICAgQGNhc2UgKCd0ZXh0Jykge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWl0ZW1cIlxuICAgICAgICAgICAgW3RpdGxlXT1cImxhYmVsXCI+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuICAgIEBjYXNlICgnbGFiZWwnKSB7XG4gICAgICAgIDxhcC1sYWJlbFxuICAgICAgICAgICAgY29sb3I9XCJibHVlXCJcbiAgICAgICAgICAgIFtyZW1vdmFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwibGFiZWxcIiAvPlxuICAgIH1cbiAgICBAY2FzZSAoJ3RhZycpIHtcbiAgICAgICAgPGFwLXRhZ1xuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWl0ZW1cIlxuICAgICAgICAgICAgY29sb3I9XCJncmV5XCI+XG4gICAgICAgICAgICBAaWYgKGF2YXRhclVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgPGFwLWF2YXRhclxuICAgICAgICAgICAgICAgICAgICBbcm91bmRlZF09XCJyb3VuZGVkQXZhdGFyKClcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgIFt1c2VybmFtZV09XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJhdmF0YXJVcmxcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9hcC10YWc+XG4gICAgfVxuICAgIEBjYXNlICgnd2l0aEF2YXRhcicpIHtcbiAgICAgICAgPGFwLWF2YXRhclxuICAgICAgICAgICAgW3JvdW5kZWRdPVwicm91bmRlZEF2YXRhcigpXCJcbiAgICAgICAgICAgIFtzaXplXT1cIjI0XCJcbiAgICAgICAgICAgIFt1c2VybmFtZV09XCJsYWJlbFwiXG4gICAgICAgICAgICBbc2hvd0luaXRpYWxzXT1cInNob3dBdmF0YXJJbml0aWFsc1wiXG4gICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwiYXZhdGFyVXJsXCJcbiAgICAgICAgICAgIFtuZXR3b3JrXT1cIm5ldHdvcmtcIiAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtaXRlbVwiPlxuICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
3
|
+
import { SelectBaseDirective } from './select-base.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./select-base.directive";
|
|
6
|
+
export class SelectMultipleDirective {
|
|
7
|
+
selectComponent = inject(NgSelectComponent);
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectComponent.multiple = true;
|
|
10
|
+
this.selectComponent.closeOnSelect = false;
|
|
11
|
+
this.selectComponent.searchable = true; // small hack to not closed the dropdown panel when clear an item in value container
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
if (!this.selectComponent.multiLabelTemplate) {
|
|
15
|
+
throw new Error('multiLabelTemplate is required for apSelectMultiple');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectMultipleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: SelectMultipleDirective, isStandalone: true, selector: "ng-select[apSelectMultiple]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectMultipleDirective, decorators: [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{
|
|
24
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
25
|
+
selector: 'ng-select[apSelectMultiple]',
|
|
26
|
+
standalone: true,
|
|
27
|
+
hostDirectives: [
|
|
28
|
+
{
|
|
29
|
+
directive: SelectBaseDirective,
|
|
30
|
+
inputs: ['inlineLabel', 'symbolId'],
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
}]
|
|
34
|
+
}], ctorParameters: () => [] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW11bHRpcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zZWxlY3Qvc3JjL3NlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFhOUQsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU3RDtRQUNJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsb0ZBQW9GO0lBQ2hJLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNMLENBQUM7dUdBYlEsdUJBQXVCOzJGQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxtQkFBbUI7NEJBQzlCLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7eUJBQ3RDO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgU2VsZWN0QmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWJhc2UuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ25nLXNlbGVjdFthcFNlbGVjdE11bHRpcGxlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFNlbGVjdEJhc2VEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaW5saW5lTGFiZWwnLCAnc3ltYm9sSWQnXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RNdWx0aXBsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50ID0gaW5qZWN0KE5nU2VsZWN0Q29tcG9uZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmNsb3NlT25TZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuc2VhcmNoYWJsZSA9IHRydWU7IC8vIHNtYWxsIGhhY2sgdG8gbm90IGNsb3NlZCB0aGUgZHJvcGRvd24gcGFuZWwgd2hlbiBjbGVhciBhbiBpdGVtIGluIHZhbHVlIGNvbnRhaW5lclxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdENvbXBvbmVudC5tdWx0aUxhYmVsVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbXVsdGlMYWJlbFRlbXBsYXRlIGlzIHJlcXVpcmVkIGZvciBhcFNlbGVjdE11bHRpcGxlJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { NgSelectComponent } from '@ng-select/ng-select';
|
|
3
|
+
import { SelectBaseDirective } from './select-base.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./select-base.directive";
|
|
6
|
+
export class SelectSingleDirective {
|
|
7
|
+
selectComponent = inject(NgSelectComponent);
|
|
8
|
+
constructor() {
|
|
9
|
+
this.selectComponent.multiple = false;
|
|
10
|
+
this.selectComponent.closeOnSelect = true;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
if (!this.selectComponent.labelTemplate) {
|
|
14
|
+
throw new Error('labelTemplate is required for apSelectSingle');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectSingleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: SelectSingleDirective, isStandalone: true, selector: "ng-select[apSelectSingle]", hostDirectives: [{ directive: i1.SelectBaseDirective, inputs: ["inlineLabel", "inlineLabel", "symbolId", "symbolId"] }], ngImport: i0 });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SelectSingleDirective, decorators: [{
|
|
21
|
+
type: Directive,
|
|
22
|
+
args: [{
|
|
23
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
24
|
+
selector: 'ng-select[apSelectSingle]',
|
|
25
|
+
standalone: true,
|
|
26
|
+
hostDirectives: [
|
|
27
|
+
{
|
|
28
|
+
directive: SelectBaseDirective,
|
|
29
|
+
inputs: ['inlineLabel', 'symbolId'],
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: () => [] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNpbmdsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9zZWxlY3Qtc2luZ2xlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWE5RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2IsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdEO1FBQ0ksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0wsQ0FBQzt1R0FaUSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFYakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixjQUFjLEVBQUU7d0JBQ1o7NEJBQ0ksU0FBUyxFQUFFLG1CQUFtQjs0QkFDOUIsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQzt5QkFDdEM7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3RCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbmctc2VsZWN0W2FwU2VsZWN0U2luZ2xlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFNlbGVjdEJhc2VEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaW5saW5lTGFiZWwnLCAnc3ltYm9sSWQnXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTaW5nbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdENvbXBvbmVudCA9IGluamVjdChOZ1NlbGVjdENvbXBvbmVudCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQubXVsdGlwbGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQuY2xvc2VPblNlbGVjdCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0Q29tcG9uZW50LmxhYmVsVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbGFiZWxUZW1wbGF0ZSBpcyByZXF1aXJlZCBmb3IgYXBTZWxlY3RTaW5nbGUnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jb21wb25lbnRzLXNsaWRlLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc3JjL2Fnb3JhcHVsc2UtdWktY29tcG9uZW50cy1zbGlkZS10b2dnbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './slide-toggle.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG4iXX0=
|