@agorapulse/ui-components 18.1.13 → 18.2.0
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/action-dropdown/index.d.ts +105 -3
- package/add-comment/index.d.ts +24 -5
- package/agorapulse-ui-components-18.2.0.tgz +0 -0
- package/autocomplete/index.d.ts +43 -5
- package/avatar/index.d.ts +64 -5
- package/badge/index.d.ts +11 -5
- package/button/index.d.ts +54 -5
- package/checkbox/index.d.ts +54 -5
- package/close-button/index.d.ts +14 -5
- package/confirm-modal/index.d.ts +32 -5
- package/counter/index.d.ts +17 -5
- package/datepicker/index.d.ts +99 -5
- package/directives/index.d.ts +149 -3
- package/dot-stepper/index.d.ts +23 -5
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs +22 -32
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs +8 -8
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-avatar.mjs +24 -24
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-badge.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-badge.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-button.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-close-button.mjs +7 -7
- package/fesm2022/agorapulse-ui-components-close-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-confirm-modal.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-counter.mjs +9 -9
- package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-directives.mjs +26 -28
- package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-dot-stepper.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-dot-stepper.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-form-field.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-form-field.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-form-message.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-icon-button.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-infobox.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input-group.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-input-group.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input-search.mjs +13 -10
- package/fesm2022/agorapulse-ui-components-input-search.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels.mjs +8 -8
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs +17 -17
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-modal.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector-testing.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +164 -159
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +8 -8
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-notification.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-notification.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-paginator.mjs +7 -7
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-password-input.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +16 -16
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-popmenu.mjs +11 -11
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-providers.mjs +19 -0
- package/fesm2022/agorapulse-ui-components-providers.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-radio.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-range-slider.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-select.mjs +65 -65
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +8 -8
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-social-button.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-split-button.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-status-card.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-status-card.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-status.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-status.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-stepper.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-tag.mjs +9 -9
- package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-text-measurement.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-textarea.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-toggle.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-tooltip.mjs +15 -15
- package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components.mjs +4 -4
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -1
- package/form-field/index.d.ts +8 -5
- package/form-message/index.d.ts +16 -5
- package/icon-button/index.d.ts +44 -5
- package/index.d.ts +50 -25
- package/infobox/index.d.ts +29 -5
- package/input/index.d.ts +10 -5
- package/input-group/index.d.ts +14 -5
- package/input-search/index.d.ts +35 -5
- package/labels/index.d.ts +59 -5
- package/labels-selector/index.d.ts +46 -5
- package/legacy/input/index.d.ts +64 -3
- package/legacy/select/index.d.ts +124 -3
- package/legacy/textarea/index.d.ts +54 -3
- package/media-display-overlay/index.d.ts +46 -5
- package/modal/index.d.ts +58 -5
- package/nav-selector/index.d.ts +372 -3
- package/nav-selector/testing/index.d.ts +67 -3
- package/neo-datepicker/index.d.ts +74 -5
- package/notification/index.d.ts +9 -5
- package/package.json +14 -112
- package/paginator/index.d.ts +57 -5
- package/password-input/index.d.ts +36 -5
- package/phone-number-input/index.d.ts +54 -5
- package/popmenu/index.d.ts +212 -3
- package/providers/index.d.ts +11 -0
- package/radio/index.d.ts +80 -5
- package/range-slider/index.d.ts +39 -5
- package/select/index.d.ts +214 -5
- package/slide-toggle/index.d.ts +23 -5
- package/snackbars-thread/index.d.ts +73 -3
- package/social-button/index.d.ts +34 -5
- package/split-button/index.d.ts +47 -5
- package/status/index.d.ts +13 -5
- package/status-card/index.d.ts +17 -5
- package/stepper/index.d.ts +26 -5
- package/tag/index.d.ts +28 -5
- package/text-measurement/index.d.ts +11 -5
- package/textarea/index.d.ts +14 -5
- package/toggle/index.d.ts +55 -5
- package/tooltip/index.d.ts +62 -5
- package/action-dropdown/action-dropdown-trigger.directive.d.ts +0 -17
- package/action-dropdown/action-dropdown.component.d.ts +0 -87
- package/action-dropdown/providers.d.ts +0 -8
- package/action-dropdown/public_api.d.ts +0 -3
- package/add-comment/add-comment.component.d.ts +0 -21
- package/add-comment/public_api.d.ts +0 -1
- package/agorapulse-ui-components-18.1.13.tgz +0 -0
- package/autocomplete/autocomplete.component.d.ts +0 -40
- package/autocomplete/public_api.d.ts +0 -1
- package/avatar/avatar.component.d.ts +0 -61
- package/avatar/public_api.d.ts +0 -1
- package/badge/badge.component.d.ts +0 -7
- package/badge/public_api.d.ts +0 -1
- package/button/button.component.d.ts +0 -52
- package/button/public_api.d.ts +0 -1
- package/checkbox/checkbox.component.d.ts +0 -51
- package/checkbox/public_api.d.ts +0 -1
- package/close-button/close-button.component.d.ts +0 -11
- package/close-button/public_api.d.ts +0 -1
- package/confirm-modal/confirm-modal-texts.model.d.ts +0 -8
- package/confirm-modal/confirm-modal.component.d.ts +0 -20
- package/confirm-modal/public_api.d.ts +0 -2
- package/counter/counter.component.d.ts +0 -13
- package/counter/public_api.d.ts +0 -1
- package/datepicker/datepicker.component.d.ts +0 -100
- package/datepicker/public_api.d.ts +0 -1
- package/directives/autosize-textarea.directive.d.ts +0 -12
- package/directives/base-button.directive.d.ts +0 -13
- package/directives/checkbox.directive.d.ts +0 -32
- package/directives/default-image.directive.d.ts +0 -8
- package/directives/ellipsis.directive.d.ts +0 -29
- package/directives/equal-validator.directive.d.ts +0 -13
- package/directives/frozen-gif.directive.d.ts +0 -30
- package/directives/multi-style-text.directive.d.ts +0 -16
- package/directives/public_api.d.ts +0 -8
- package/dot-stepper/dot-stepper.component.d.ts +0 -20
- package/dot-stepper/public_api.d.ts +0 -1
- package/esm2022/action-dropdown/action-dropdown-trigger.directive.mjs +0 -54
- package/esm2022/action-dropdown/action-dropdown.component.mjs +0 -272
- package/esm2022/action-dropdown/agorapulse-ui-components-action-dropdown.mjs +0 -5
- package/esm2022/action-dropdown/providers.mjs +0 -12
- package/esm2022/action-dropdown/public_api.mjs +0 -4
- package/esm2022/add-comment/add-comment.component.mjs +0 -72
- package/esm2022/add-comment/agorapulse-ui-components-add-comment.mjs +0 -5
- package/esm2022/add-comment/public_api.mjs +0 -2
- package/esm2022/agorapulse-ui-components.mjs +0 -5
- package/esm2022/autocomplete/agorapulse-ui-components-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -125
- package/esm2022/autocomplete/public_api.mjs +0 -2
- package/esm2022/avatar/agorapulse-ui-components-avatar.mjs +0 -5
- package/esm2022/avatar/avatar.component.mjs +0 -161
- package/esm2022/avatar/public_api.mjs +0 -2
- package/esm2022/badge/agorapulse-ui-components-badge.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -17
- package/esm2022/badge/public_api.mjs +0 -2
- package/esm2022/button/agorapulse-ui-components-button.mjs +0 -5
- package/esm2022/button/button.component.mjs +0 -105
- package/esm2022/button/public_api.mjs +0 -2
- package/esm2022/checkbox/agorapulse-ui-components-checkbox.mjs +0 -5
- package/esm2022/checkbox/checkbox.component.mjs +0 -177
- package/esm2022/checkbox/public_api.mjs +0 -2
- package/esm2022/close-button/agorapulse-ui-components-close-button.mjs +0 -5
- package/esm2022/close-button/close-button.component.mjs +0 -20
- package/esm2022/close-button/public_api.mjs +0 -2
- package/esm2022/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -5
- package/esm2022/confirm-modal/confirm-modal-texts.model.mjs +0 -2
- package/esm2022/confirm-modal/confirm-modal.component.mjs +0 -61
- package/esm2022/confirm-modal/public_api.mjs +0 -3
- package/esm2022/counter/agorapulse-ui-components-counter.mjs +0 -5
- package/esm2022/counter/counter.component.mjs +0 -32
- package/esm2022/counter/public_api.mjs +0 -2
- package/esm2022/datepicker/agorapulse-ui-components-datepicker.mjs +0 -5
- package/esm2022/datepicker/datepicker.component.mjs +0 -288
- package/esm2022/datepicker/public_api.mjs +0 -2
- package/esm2022/directives/agorapulse-ui-components-directives.mjs +0 -5
- package/esm2022/directives/autosize-textarea.directive.mjs +0 -45
- package/esm2022/directives/base-button.directive.mjs +0 -47
- package/esm2022/directives/checkbox.directive.mjs +0 -283
- package/esm2022/directives/default-image.directive.mjs +0 -37
- package/esm2022/directives/ellipsis.directive.mjs +0 -90
- package/esm2022/directives/equal-validator.directive.mjs +0 -73
- package/esm2022/directives/frozen-gif.directive.mjs +0 -125
- package/esm2022/directives/multi-style-text.directive.mjs +0 -61
- package/esm2022/directives/public_api.mjs +0 -9
- package/esm2022/dot-stepper/agorapulse-ui-components-dot-stepper.mjs +0 -5
- package/esm2022/dot-stepper/dot-stepper.component.mjs +0 -46
- package/esm2022/dot-stepper/public_api.mjs +0 -2
- package/esm2022/form-field/agorapulse-ui-components-form-field.mjs +0 -5
- package/esm2022/form-field/form-field.component.mjs +0 -11
- package/esm2022/form-field/public_api.mjs +0 -2
- package/esm2022/form-message/agorapulse-ui-components-form-message.mjs +0 -5
- package/esm2022/form-message/form-message.component.mjs +0 -34
- package/esm2022/form-message/public_api.mjs +0 -2
- package/esm2022/icon-button/agorapulse-ui-components-icon-button.mjs +0 -5
- package/esm2022/icon-button/icon-button.component.mjs +0 -123
- package/esm2022/icon-button/public_api.mjs +0 -2
- package/esm2022/index.mjs +0 -49
- package/esm2022/infobox/agorapulse-ui-components-infobox.mjs +0 -5
- package/esm2022/infobox/infobox.component.mjs +0 -72
- package/esm2022/infobox/public_api.mjs +0 -2
- package/esm2022/input/agorapulse-ui-components-input.mjs +0 -5
- package/esm2022/input/input.directive.mjs +0 -19
- package/esm2022/input/public_api.mjs +0 -2
- package/esm2022/input-group/agorapulse-ui-components-input-group.mjs +0 -5
- package/esm2022/input-group/input-group.component.mjs +0 -14
- package/esm2022/input-group/input-prefix/input-prefix.component.mjs +0 -11
- package/esm2022/input-group/public_api.mjs +0 -3
- package/esm2022/input-search/agorapulse-ui-components-input-search.mjs +0 -5
- package/esm2022/input-search/input-search.component.mjs +0 -78
- package/esm2022/input-search/public_api.mjs +0 -2
- package/esm2022/labels/agorapulse-ui-components-labels.mjs +0 -5
- package/esm2022/labels/label-list.component.mjs +0 -108
- package/esm2022/labels/label.component.mjs +0 -56
- package/esm2022/labels/public_api.mjs +0 -3
- package/esm2022/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -5
- package/esm2022/labels-selector/labels-selector.component.mjs +0 -122
- package/esm2022/labels-selector/public_api.mjs +0 -2
- package/esm2022/legacy/input/agorapulse-ui-components-legacy-input.mjs +0 -5
- package/esm2022/legacy/input/input.component.mjs +0 -189
- package/esm2022/legacy/input/public_api.mjs +0 -2
- package/esm2022/legacy/select/agorapulse-ui-components-legacy-select.mjs +0 -5
- package/esm2022/legacy/select/public_api.mjs +0 -2
- package/esm2022/legacy/select/select.component.mjs +0 -451
- package/esm2022/legacy/textarea/agorapulse-ui-components-legacy-textarea.mjs +0 -5
- package/esm2022/legacy/textarea/public_api.mjs +0 -2
- package/esm2022/legacy/textarea/textarea.component.mjs +0 -154
- package/esm2022/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -5
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -122
- package/esm2022/media-display-overlay/public_api.mjs +0 -2
- package/esm2022/modal/agorapulse-ui-components-modal.mjs +0 -5
- package/esm2022/modal/modal.component.mjs +0 -116
- package/esm2022/modal/public_api.mjs +0 -2
- package/esm2022/nav-selector/agorapulse-ui-components-nav-selector.mjs +0 -5
- package/esm2022/nav-selector/directives/nav-selector-popover-trigger.directive.mjs +0 -71
- package/esm2022/nav-selector/directives/tree-node-accessibility.directive.mjs +0 -30
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +0 -129
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.presenter.mjs +0 -28
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +0 -174
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.presenter.mjs +0 -30
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +0 -242
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +0 -36
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +0 -43
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +0 -20
- package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.mjs +0 -95
- package/esm2022/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.mjs +0 -31
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +0 -65
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +0 -132
- package/esm2022/nav-selector/nav-selector.component.mjs +0 -201
- package/esm2022/nav-selector/nav-selector.mjs +0 -9
- package/esm2022/nav-selector/nav-selector.state.mjs +0 -207
- package/esm2022/nav-selector/public_api.mjs +0 -3
- package/esm2022/nav-selector/testing/agorapulse-ui-components-nav-selector-testing.mjs +0 -5
- package/esm2022/nav-selector/testing/nav-selector-entry.mock.mjs +0 -91
- package/esm2022/nav-selector/testing/public_api.mjs +0 -2
- package/esm2022/nav-selector/utils/leaf.utils.mjs +0 -44
- package/esm2022/nav-selector/utils/nav-selector.accessibility.mjs +0 -179
- package/esm2022/nav-selector/utils/nav-selector.builder.mjs +0 -271
- package/esm2022/nav-selector/utils/nav-selector.filter.mjs +0 -141
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +0 -284
- package/esm2022/nav-selector/utils/nav-selector.merger.mjs +0 -76
- package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +0 -59
- package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +0 -208
- package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +0 -113
- package/esm2022/nav-selector/utils/nav-selector.view-more.mjs +0 -98
- package/esm2022/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -5
- package/esm2022/neo-datepicker/day-detail.model.mjs +0 -2
- package/esm2022/neo-datepicker/day-disabled.pipe.mjs +0 -21
- package/esm2022/neo-datepicker/neo-datepicker.component.mjs +0 -241
- package/esm2022/neo-datepicker/public_api.mjs +0 -4
- package/esm2022/notification/agorapulse-ui-components-notification.mjs +0 -5
- package/esm2022/notification/notification.component.mjs +0 -15
- package/esm2022/notification/public_api.mjs +0 -2
- package/esm2022/paginator/agorapulse-ui-components-paginator.mjs +0 -5
- package/esm2022/paginator/paginator-button/paginator-button.component.mjs +0 -51
- package/esm2022/paginator/paginator.component.mjs +0 -114
- package/esm2022/paginator/public_api.mjs +0 -3
- package/esm2022/password-input/agorapulse-ui-components-password-input.mjs +0 -5
- package/esm2022/password-input/password-input.component.mjs +0 -78
- package/esm2022/password-input/public_api.mjs +0 -2
- package/esm2022/phone-number-input/agorapulse-ui-components-phone-number-input.mjs +0 -5
- package/esm2022/phone-number-input/phone-number-input.component.mjs +0 -195
- package/esm2022/phone-number-input/public_api.mjs +0 -2
- package/esm2022/popmenu/agorapulse-ui-components-popmenu.mjs +0 -5
- package/esm2022/popmenu/options.mjs +0 -17
- package/esm2022/popmenu/popmenu-options.interface.mjs +0 -2
- package/esm2022/popmenu/popmenu-options.service.mjs +0 -7
- package/esm2022/popmenu/popmenu.component.mjs +0 -383
- package/esm2022/popmenu/popmenu.directive.mjs +0 -296
- package/esm2022/popmenu/popmenu.module.mjs +0 -29
- package/esm2022/popmenu/public_api.mjs +0 -5
- package/esm2022/radio/agorapulse-ui-components-radio.mjs +0 -5
- package/esm2022/radio/public_api.mjs +0 -2
- package/esm2022/radio/radio.component.mjs +0 -319
- package/esm2022/range-slider/agorapulse-ui-components-range-slider.mjs +0 -5
- package/esm2022/range-slider/public_api.mjs +0 -2
- package/esm2022/range-slider/range-slider.component.mjs +0 -154
- package/esm2022/select/agorapulse-ui-components-select.mjs +0 -5
- package/esm2022/select/ap-select.module.mjs +0 -78
- package/esm2022/select/dropdown-group-item/dropdown-group-item.component.mjs +0 -51
- package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +0 -75
- package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +0 -79
- package/esm2022/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.mjs +0 -59
- package/esm2022/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.mjs +0 -60
- package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +0 -98
- package/esm2022/select/public_api.mjs +0 -13
- package/esm2022/select/select-base.directive.mjs +0 -69
- package/esm2022/select/select-label-multiple/select-label-multiple.component.mjs +0 -95
- package/esm2022/select/select-label-single/select-label-single.component.mjs +0 -33
- package/esm2022/select/select-multiple.directive.mjs +0 -35
- package/esm2022/select/select-single.directive.mjs +0 -34
- package/esm2022/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -5
- package/esm2022/slide-toggle/public_api.mjs +0 -2
- package/esm2022/slide-toggle/slide-toggle.component.mjs +0 -66
- package/esm2022/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -5
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +0 -93
- package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +0 -44
- package/esm2022/snackbars-thread/public_api.mjs +0 -4
- package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +0 -47
- package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
- package/esm2022/social-button/agorapulse-ui-components-social-button.mjs +0 -5
- package/esm2022/social-button/public_api.mjs +0 -2
- package/esm2022/social-button/social-button.component.mjs +0 -164
- package/esm2022/split-button/agorapulse-ui-components-split-button.mjs +0 -5
- package/esm2022/split-button/public_api.mjs +0 -2
- package/esm2022/split-button/split-button.component.mjs +0 -122
- package/esm2022/src/lib/agorapulse-ui-components.module.mjs +0 -200
- package/esm2022/status/agorapulse-ui-components-status.mjs +0 -5
- package/esm2022/status/public_api.mjs +0 -2
- package/esm2022/status/status.component.mjs +0 -21
- package/esm2022/status-card/agorapulse-ui-components-status-card.mjs +0 -5
- package/esm2022/status-card/public_api.mjs +0 -2
- package/esm2022/status-card/status-card.component.mjs +0 -23
- package/esm2022/stepper/agorapulse-ui-components-stepper.mjs +0 -5
- package/esm2022/stepper/public_api.mjs +0 -3
- package/esm2022/stepper/step.model.mjs +0 -2
- package/esm2022/stepper/stepper.component.mjs +0 -38
- package/esm2022/tag/agorapulse-ui-components-tag.mjs +0 -5
- package/esm2022/tag/public_api.mjs +0 -2
- package/esm2022/tag/tag.component.mjs +0 -35
- package/esm2022/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -5
- package/esm2022/text-measurement/public_api.mjs +0 -2
- package/esm2022/text-measurement/text-measurement.service.mjs +0 -29
- package/esm2022/textarea/agorapulse-ui-components-textarea.mjs +0 -5
- package/esm2022/textarea/public_api.mjs +0 -2
- package/esm2022/textarea/textarea.directive.mjs +0 -37
- package/esm2022/toggle/agorapulse-ui-components-toggle.mjs +0 -5
- package/esm2022/toggle/public_api.mjs +0 -2
- package/esm2022/toggle/toggle.component.mjs +0 -208
- package/esm2022/tooltip/agorapulse-ui-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/public_api.mjs +0 -2
- package/esm2022/tooltip/tooltip.directive.mjs +0 -401
- package/esm2022/tooltip/tooltip.service.mjs +0 -29
- package/form-field/form-field.component.d.ts +0 -5
- package/form-field/public_api.d.ts +0 -1
- package/form-message/form-message.component.d.ts +0 -12
- package/form-message/public_api.d.ts +0 -1
- package/icon-button/icon-button.component.d.ts +0 -40
- package/icon-button/public_api.d.ts +0 -1
- package/infobox/infobox.component.d.ts +0 -26
- package/infobox/public_api.d.ts +0 -1
- package/input/input.directive.d.ts +0 -7
- package/input/public_api.d.ts +0 -1
- package/input-group/input-group.component.d.ts +0 -6
- package/input-group/input-prefix/input-prefix.component.d.ts +0 -5
- package/input-group/public_api.d.ts +0 -2
- package/input-search/input-search.component.d.ts +0 -32
- package/input-search/public_api.d.ts +0 -1
- package/labels/label-list.component.d.ts +0 -34
- package/labels/label.component.d.ts +0 -23
- package/labels/public_api.d.ts +0 -2
- package/labels-selector/labels-selector.component.d.ts +0 -42
- package/labels-selector/public_api.d.ts +0 -1
- package/legacy/input/input.component.d.ts +0 -64
- package/legacy/input/public_api.d.ts +0 -1
- package/legacy/select/public_api.d.ts +0 -1
- package/legacy/select/select.component.d.ts +0 -122
- package/legacy/textarea/public_api.d.ts +0 -1
- package/legacy/textarea/textarea.component.d.ts +0 -53
- package/media-display-overlay/media-display-overlay-dialog.component.d.ts +0 -42
- package/media-display-overlay/public_api.d.ts +0 -1
- package/modal/modal.component.d.ts +0 -54
- package/modal/public_api.d.ts +0 -1
- package/nav-selector/directives/nav-selector-popover-trigger.directive.d.ts +0 -25
- package/nav-selector/directives/tree-node-accessibility.directive.d.ts +0 -9
- package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +0 -28
- package/nav-selector/nav-selector-category/nav-selector-category.presenter.d.ts +0 -13
- package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +0 -37
- package/nav-selector/nav-selector-group/nav-selector-group.presenter.d.ts +0 -16
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +0 -48
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +0 -18
- package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.d.ts +0 -13
- package/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.d.ts +0 -10
- package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.component.d.ts +0 -24
- package/nav-selector/nav-selector-leaf-details/nav-selector-leaf-details.presenter.d.ts +0 -14
- package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +0 -14
- package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +0 -40
- package/nav-selector/nav-selector.component.d.ts +0 -40
- package/nav-selector/nav-selector.d.ts +0 -270
- package/nav-selector/nav-selector.state.d.ts +0 -47
- package/nav-selector/public_api.d.ts +0 -3
- package/nav-selector/testing/nav-selector-entry.mock.d.ts +0 -67
- package/nav-selector/testing/public_api.d.ts +0 -1
- package/nav-selector/utils/leaf.utils.d.ts +0 -20
- package/nav-selector/utils/nav-selector.accessibility.d.ts +0 -52
- package/nav-selector/utils/nav-selector.builder.d.ts +0 -32
- package/nav-selector/utils/nav-selector.filter.d.ts +0 -32
- package/nav-selector/utils/nav-selector.folding.d.ts +0 -73
- package/nav-selector/utils/nav-selector.merger.d.ts +0 -23
- package/nav-selector/utils/nav-selector.minifying.d.ts +0 -29
- package/nav-selector/utils/nav-selector.multi-select.d.ts +0 -54
- package/nav-selector/utils/nav-selector.single-select.d.ts +0 -17
- package/nav-selector/utils/nav-selector.view-more.d.ts +0 -30
- package/neo-datepicker/day-detail.model.d.ts +0 -9
- package/neo-datepicker/day-disabled.pipe.d.ts +0 -8
- package/neo-datepicker/neo-datepicker.component.d.ts +0 -61
- package/neo-datepicker/public_api.d.ts +0 -3
- package/notification/notification.component.d.ts +0 -6
- package/notification/public_api.d.ts +0 -1
- package/paginator/paginator-button/paginator-button.component.d.ts +0 -17
- package/paginator/paginator.component.d.ts +0 -38
- package/paginator/public_api.d.ts +0 -2
- package/password-input/password-input.component.d.ts +0 -33
- package/password-input/public_api.d.ts +0 -1
- package/phone-number-input/phone-number-input.component.d.ts +0 -50
- package/phone-number-input/public_api.d.ts +0 -1
- package/popmenu/options.d.ts +0 -16
- package/popmenu/popmenu-options.interface.d.ts +0 -48
- package/popmenu/popmenu-options.service.d.ts +0 -7
- package/popmenu/popmenu.component.d.ts +0 -66
- package/popmenu/popmenu.directive.d.ts +0 -90
- package/popmenu/popmenu.module.d.ts +0 -11
- package/popmenu/public_api.d.ts +0 -4
- package/radio/public_api.d.ts +0 -1
- package/radio/radio.component.d.ts +0 -77
- package/range-slider/public_api.d.ts +0 -1
- package/range-slider/range-slider.component.d.ts +0 -35
- package/select/ap-select.module.d.ts +0 -17
- package/select/dropdown-group-item/dropdown-group-item.component.d.ts +0 -16
- package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +0 -25
- package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +0 -26
- package/select/dropdown-item-single-one-line/dropdown-item-single-one-line.component.d.ts +0 -20
- package/select/dropdown-item-single-two-lines/dropdown-item-single-two-lines.component.d.ts +0 -20
- package/select/dropdown-search-form/dropdown-search-form.component.d.ts +0 -32
- package/select/public_api.d.ts +0 -12
- package/select/select-base.directive.d.ts +0 -18
- package/select/select-label-multiple/select-label-multiple.component.d.ts +0 -27
- package/select/select-label-single/select-label-single.component.d.ts +0 -12
- package/select/select-multiple.directive.d.ts +0 -10
- package/select/select-single.directive.d.ts +0 -10
- package/slide-toggle/public_api.d.ts +0 -1
- package/slide-toggle/slide-toggle.component.d.ts +0 -20
- package/snackbars-thread/component/snackbars-thread.component.d.ts +0 -24
- package/snackbars-thread/model/snackbars-thread.model.d.ts +0 -36
- package/snackbars-thread/public_api.d.ts +0 -3
- package/snackbars-thread/service/snackbars-thread.service.d.ts +0 -15
- package/snackbars-thread/utils/const/snackbars-thread.const.d.ts +0 -10
- package/social-button/public_api.d.ts +0 -1
- package/social-button/social-button.component.d.ts +0 -32
- package/split-button/public_api.d.ts +0 -1
- package/split-button/split-button.component.d.ts +0 -45
- package/src/lib/agorapulse-ui-components.module.d.ts +0 -29
- package/status/public_api.d.ts +0 -1
- package/status/status.component.d.ts +0 -9
- package/status-card/public_api.d.ts +0 -1
- package/status-card/status-card.component.d.ts +0 -13
- package/stepper/public_api.d.ts +0 -2
- package/stepper/step.model.d.ts +0 -6
- package/stepper/stepper.component.d.ts +0 -16
- package/tag/public_api.d.ts +0 -1
- package/tag/tag.component.d.ts +0 -24
- package/text-measurement/public_api.d.ts +0 -1
- package/text-measurement/text-measurement.service.d.ts +0 -8
- package/textarea/public_api.d.ts +0 -1
- package/textarea/textarea.directive.d.ts +0 -11
- package/toggle/public_api.d.ts +0 -1
- package/toggle/toggle.component.d.ts +0 -52
- package/tooltip/public_api.d.ts +0 -1
- package/tooltip/tooltip.directive.d.ts +0 -59
- package/tooltip/tooltip.service.d.ts +0 -11
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, Directive, effect, ElementRef, inject, Input, Renderer2, signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CheckboxDirective {
|
|
4
|
-
elementRef = inject((ElementRef));
|
|
5
|
-
renderer = inject(Renderer2);
|
|
6
|
-
// State signals
|
|
7
|
-
_checked = signal(false);
|
|
8
|
-
_indeterminate = signal(false);
|
|
9
|
-
// Input signal accessors that work with host bindings
|
|
10
|
-
checked = this._checked.asReadonly();
|
|
11
|
-
indeterminate = this._indeterminate.asReadonly();
|
|
12
|
-
// Input setters with proper aliases for template binding
|
|
13
|
-
// Couldn't be migrated to yet
|
|
14
|
-
set checkedInput(checked) {
|
|
15
|
-
this._checked.set(checked);
|
|
16
|
-
this.updateNativeElementSync();
|
|
17
|
-
}
|
|
18
|
-
set indeterminateInput(indeterminate) {
|
|
19
|
-
if (indeterminate) {
|
|
20
|
-
this._checked.set(false);
|
|
21
|
-
}
|
|
22
|
-
this._indeterminate.set(indeterminate);
|
|
23
|
-
this.updateNativeElementSync();
|
|
24
|
-
}
|
|
25
|
-
updateNativeElementSync() {
|
|
26
|
-
const input = this.elementRef.nativeElement;
|
|
27
|
-
if (input) {
|
|
28
|
-
input.checked = this.checked();
|
|
29
|
-
input.indeterminate = this.indeterminate();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
// Private properties
|
|
33
|
-
listeners = [];
|
|
34
|
-
styleElement;
|
|
35
|
-
checkmarkSvg;
|
|
36
|
-
indeterminateBar;
|
|
37
|
-
constructor() {
|
|
38
|
-
effect(() => {
|
|
39
|
-
if (this.checkmarkSvg && this.indeterminateBar) {
|
|
40
|
-
this.updateCheckmarkVisibility();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
// Custom SVG content
|
|
45
|
-
checkSvgContent = `
|
|
46
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="10" height="10" fill="white">
|
|
47
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.238 3.337a.92.92 0 0 1 .025 1.301l-7.7 8a.92.92 0 0 1-1.326 0l-3.5-3.636a.92.92 0 1 1 1.326-1.276L5.9 10.674l7.037-7.312a.92.92 0 0 1 1.301-.025Z" />
|
|
48
|
-
</svg>
|
|
49
|
-
`;
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
this.createCheckboxStructure();
|
|
52
|
-
this.setupEventListeners();
|
|
53
|
-
}
|
|
54
|
-
ngOnDestroy() {
|
|
55
|
-
this.listeners.forEach(unlisten => unlisten());
|
|
56
|
-
if (this.styleElement && this.styleElement.parentNode) {
|
|
57
|
-
this.styleElement.parentNode.removeChild(this.styleElement);
|
|
58
|
-
}
|
|
59
|
-
if (this.checkmarkSvg && this.checkmarkSvg.parentNode) {
|
|
60
|
-
this.checkmarkSvg.parentNode.removeChild(this.checkmarkSvg);
|
|
61
|
-
}
|
|
62
|
-
if (this.indeterminateBar && this.indeterminateBar.parentNode) {
|
|
63
|
-
this.indeterminateBar.parentNode.removeChild(this.indeterminateBar);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
createCheckboxStructure() {
|
|
67
|
-
const input = this.elementRef.nativeElement;
|
|
68
|
-
const parent = input.parentElement;
|
|
69
|
-
// Make input's parent use inline-flex for alignment and position relative
|
|
70
|
-
if (parent) {
|
|
71
|
-
this.renderer.setStyle(parent, 'display', 'inline-flex');
|
|
72
|
-
this.renderer.setStyle(parent, 'align-items', 'center');
|
|
73
|
-
this.renderer.setStyle(parent, 'gap', 'var(--ref-spacing-xxs)');
|
|
74
|
-
this.renderer.setStyle(parent, 'position', 'relative');
|
|
75
|
-
}
|
|
76
|
-
this.renderer.addClass(input, 'ap-checkbox-styled');
|
|
77
|
-
this.createCheckmarkSvg();
|
|
78
|
-
this.createIndeterminateBar();
|
|
79
|
-
this.applyCheckboxStyles();
|
|
80
|
-
this.updateCheckmarkVisibility();
|
|
81
|
-
}
|
|
82
|
-
createOverlayElement(element) {
|
|
83
|
-
const parent = this.elementRef.nativeElement.parentElement;
|
|
84
|
-
// Apply common positioning styles
|
|
85
|
-
this.renderer.setStyle(element, 'position', 'absolute');
|
|
86
|
-
this.renderer.setStyle(element, 'top', '50%');
|
|
87
|
-
this.renderer.setStyle(element, 'left', '8px'); // Center over 16px checkbox
|
|
88
|
-
this.renderer.setStyle(element, 'transform', 'translate(-50%, -50%)');
|
|
89
|
-
this.renderer.setStyle(element, 'pointer-events', 'none');
|
|
90
|
-
this.renderer.setStyle(element, 'opacity', '0');
|
|
91
|
-
this.renderer.setStyle(element, 'z-index', '1');
|
|
92
|
-
// Append to parent
|
|
93
|
-
this.renderer.appendChild(parent, element);
|
|
94
|
-
}
|
|
95
|
-
createCheckmarkSvg() {
|
|
96
|
-
// Create SVG element from string
|
|
97
|
-
const tempDiv = this.renderer.createElement('div');
|
|
98
|
-
this.renderer.setProperty(tempDiv, 'innerHTML', this.checkSvgContent);
|
|
99
|
-
this.checkmarkSvg = tempDiv.firstElementChild;
|
|
100
|
-
this.createOverlayElement(this.checkmarkSvg);
|
|
101
|
-
}
|
|
102
|
-
createIndeterminateBar() {
|
|
103
|
-
// Create the indeterminate bar element
|
|
104
|
-
this.indeterminateBar = this.renderer.createElement('span');
|
|
105
|
-
this.renderer.setStyle(this.indeterminateBar, 'height', '1.5px');
|
|
106
|
-
this.renderer.setStyle(this.indeterminateBar, 'background', 'var(--ref-color-white)');
|
|
107
|
-
this.renderer.setStyle(this.indeterminateBar, 'width', '8px');
|
|
108
|
-
this.createOverlayElement(this.indeterminateBar);
|
|
109
|
-
}
|
|
110
|
-
updateCheckmarkVisibility() {
|
|
111
|
-
if (this.checkmarkSvg) {
|
|
112
|
-
const opacity = this.checked() && !this.indeterminate() ? '1' : '0';
|
|
113
|
-
this.renderer.setStyle(this.checkmarkSvg, 'opacity', opacity);
|
|
114
|
-
}
|
|
115
|
-
if (this.indeterminateBar) {
|
|
116
|
-
const opacity = this.indeterminate() && !this.checked() ? '1' : '0';
|
|
117
|
-
this.renderer.setStyle(this.indeterminateBar, 'opacity', opacity);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
setupEventListeners() {
|
|
121
|
-
const input = this.elementRef.nativeElement;
|
|
122
|
-
// Input change listener (native checkbox change)
|
|
123
|
-
const changeListener = this.renderer.listen(input, 'change', () => {
|
|
124
|
-
this.onValueChange();
|
|
125
|
-
});
|
|
126
|
-
this.listeners.push(changeListener);
|
|
127
|
-
// Listen for label clicks to ensure focus is maintained
|
|
128
|
-
const parent = input.parentElement;
|
|
129
|
-
if (parent) {
|
|
130
|
-
const labelClickListener = this.renderer.listen(parent, 'click', (event) => {
|
|
131
|
-
const target = event.target;
|
|
132
|
-
// If clicking on a label that targets our input, ensure focus
|
|
133
|
-
if (target.tagName === 'LABEL' && target.getAttribute('for') === input.id) {
|
|
134
|
-
// Small delay to ensure the label click is processed first
|
|
135
|
-
setTimeout(() => {
|
|
136
|
-
input.focus();
|
|
137
|
-
}, 0);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
this.listeners.push(labelClickListener);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
applyCheckboxStyles() {
|
|
144
|
-
const styles = `
|
|
145
|
-
/* Minimal checkbox styling */
|
|
146
|
-
input[type="checkbox"].ap-checkbox-styled {
|
|
147
|
-
appearance: none !important;
|
|
148
|
-
-webkit-appearance: none !important;
|
|
149
|
-
-moz-appearance: none !important;
|
|
150
|
-
|
|
151
|
-
display: inline-block !important;
|
|
152
|
-
width: 16px !important;
|
|
153
|
-
height: 16px !important;
|
|
154
|
-
min-width: 16px !important;
|
|
155
|
-
min-height: 16px !important;
|
|
156
|
-
margin: 0 !important;
|
|
157
|
-
padding: 0 !important;
|
|
158
|
-
border: 1px solid var(--ref-color-grey-60);
|
|
159
|
-
border-radius: var(--sys-border-radius-sm);
|
|
160
|
-
background: var(--ref-color-white);
|
|
161
|
-
box-sizing: border-box;
|
|
162
|
-
cursor: pointer;
|
|
163
|
-
vertical-align: middle;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/* Hover state */
|
|
167
|
-
input[type="checkbox"].ap-checkbox-styled:hover {
|
|
168
|
-
border-color: var(--ref-color-grey-80);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/* Active/pressed state */
|
|
172
|
-
input[type="checkbox"].ap-checkbox-styled:active {
|
|
173
|
-
border-color: var(--ref-color-grey-100);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/* Checked state */
|
|
177
|
-
input[type="checkbox"].ap-checkbox-styled:checked {
|
|
178
|
-
background: var(--ref-color-electric-blue-100);
|
|
179
|
-
border-color: var(--ref-color-electric-blue-100);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/* Checked hover state */
|
|
183
|
-
input[type="checkbox"].ap-checkbox-styled:checked:hover {
|
|
184
|
-
background: var(--ref-color-electric-blue-80);
|
|
185
|
-
border-color: var(--ref-color-electric-blue-100);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/* Checked active/pressed state */
|
|
189
|
-
input[type="checkbox"].ap-checkbox-styled:checked:active {
|
|
190
|
-
background: var(--ref-color-electric-blue-60);
|
|
191
|
-
border-color: var(--ref-color-electric-blue-100);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/* Indeterminate state */
|
|
195
|
-
input[type="checkbox"].ap-checkbox-styled:indeterminate {
|
|
196
|
-
background: var(--ref-color-electric-blue-100);
|
|
197
|
-
border-color: var(--ref-color-electric-blue-100);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
/* Disabled state */
|
|
201
|
-
input[type="checkbox"].ap-checkbox-styled:disabled {
|
|
202
|
-
border-color: var(--ref-color-grey-20);
|
|
203
|
-
background: var(--ref-color-grey-10);
|
|
204
|
-
cursor: default;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
input[type="checkbox"].ap-checkbox-styled:disabled:checked {
|
|
208
|
-
background: var(--ref-color-grey-20);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/* Focus state */
|
|
212
|
-
@media (hover: hover) {
|
|
213
|
-
input[type="checkbox"].ap-checkbox-styled:focus:not(.disabled) {
|
|
214
|
-
outline: 3px solid var(--ref-color-electric-blue-100) !important;
|
|
215
|
-
outline-offset: 1px !important;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/* Label styling */
|
|
220
|
-
input[type="checkbox"].ap-checkbox-styled + label {
|
|
221
|
-
display: flex;
|
|
222
|
-
align-items: center;
|
|
223
|
-
font-family: var(--comp-forms-label-font-family);
|
|
224
|
-
font-size: var(--comp-forms-label-size);
|
|
225
|
-
font-weight: var(--comp-forms-label-font-weight);
|
|
226
|
-
line-height: var(--comp-forms-label-line-height);
|
|
227
|
-
color: var(--comp-forms-label-text-color);
|
|
228
|
-
cursor: pointer;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
/* Empty label styling */
|
|
232
|
-
input[type="checkbox"].ap-checkbox-styled + label:empty {
|
|
233
|
-
display: none;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/* Disabled label styling */
|
|
237
|
-
input[type="checkbox"].ap-checkbox-styled:disabled + label {
|
|
238
|
-
color: var(--ref-color-grey-60);
|
|
239
|
-
cursor: default;
|
|
240
|
-
}
|
|
241
|
-
`;
|
|
242
|
-
// Create and append style element
|
|
243
|
-
this.styleElement = this.renderer.createElement('style');
|
|
244
|
-
this.renderer.appendChild(this.styleElement, this.renderer.createText(styles));
|
|
245
|
-
this.renderer.appendChild(document.head, this.styleElement);
|
|
246
|
-
}
|
|
247
|
-
onValueChange() {
|
|
248
|
-
if (!this.elementRef.nativeElement.disabled) {
|
|
249
|
-
const input = this.elementRef.nativeElement;
|
|
250
|
-
if (this.indeterminate()) {
|
|
251
|
-
// When indeterminate, clicking should go to checked state
|
|
252
|
-
this._checked.set(true);
|
|
253
|
-
this._indeterminate.set(false);
|
|
254
|
-
input.checked = true;
|
|
255
|
-
input.indeterminate = false;
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// Normal toggle behavior
|
|
259
|
-
this._checked.set(input.checked);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
264
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.9", type: CheckboxDirective, isStandalone: true, selector: "input[type=\"checkbox\"][apCheckbox]", inputs: { checkedInput: ["checked", "checkedInput"], indeterminateInput: ["indeterminate", "indeterminateInput", booleanAttribute] }, providers: [], ngImport: i0 });
|
|
265
|
-
}
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CheckboxDirective, decorators: [{
|
|
267
|
-
type: Directive,
|
|
268
|
-
args: [{
|
|
269
|
-
selector: 'input[type="checkbox"][apCheckbox]',
|
|
270
|
-
standalone: true,
|
|
271
|
-
providers: [],
|
|
272
|
-
}]
|
|
273
|
-
}], ctorParameters: () => [], propDecorators: { checkedInput: [{
|
|
274
|
-
type: Input,
|
|
275
|
-
args: ['checked']
|
|
276
|
-
}], indeterminateInput: [{
|
|
277
|
-
type: Input,
|
|
278
|
-
args: [{
|
|
279
|
-
transform: booleanAttribute,
|
|
280
|
-
alias: 'indeterminate',
|
|
281
|
-
}]
|
|
282
|
-
}] } });
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2RpcmVjdGl2ZXMvc3JjL2NoZWNrYm94LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQzs7QUFPdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUNULFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUE0QixDQUFBLENBQUMsQ0FBQztJQUNsRCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTlDLGdCQUFnQjtJQUNSLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV2QyxzREFBc0Q7SUFDdEQsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFakQseURBQXlEO0lBQ3pELDhCQUE4QjtJQUM5QixJQUNJLFlBQVksQ0FBQyxPQUFnQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFJSSxrQkFBa0IsQ0FBQyxhQUFzQjtRQUN6QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FB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QUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzt1R0F0U1EsaUJBQWlCOzJGQUFqQixpQkFBaUIseUxBcUJYLGdCQUFnQixnQkF2QnBCLEVBQUU7OzJGQUVKLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCO3dEQWdCTyxZQUFZO3NCQURmLEtBQUs7dUJBQUMsU0FBUztnQkFVWixrQkFBa0I7c0JBSnJCLEtBQUs7dUJBQUM7d0JBQ0gsU0FBUyxFQUFFLGdCQUFnQjt3QkFDM0IsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXVthcENoZWNrYm94XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgLy8gU3RhdGUgc2lnbmFsc1xuICAgIHByaXZhdGUgX2NoZWNrZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgX2luZGV0ZXJtaW5hdGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLy8gSW5wdXQgc2lnbmFsIGFjY2Vzc29ycyB0aGF0IHdvcmsgd2l0aCBob3N0IGJpbmRpbmdzXG4gICAgY2hlY2tlZCA9IHRoaXMuX2NoZWNrZWQuYXNSZWFkb25seSgpO1xuICAgIGluZGV0ZXJtaW5hdGUgPSB0aGlzLl9pbmRldGVybWluYXRlLmFzUmVhZG9ubHkoKTtcblxuICAgIC8vIElucHV0IHNldHRlcnMgd2l0aCBwcm9wZXIgYWxpYXNlcyBmb3IgdGVtcGxhdGUgYmluZGluZ1xuICAgIC8vIENvdWxkbid0IGJlIG1pZ3JhdGVkIHRvIHlldFxuICAgIEBJbnB1dCgnY2hlY2tlZCcpXG4gICAgc2V0IGNoZWNrZWRJbnB1dChjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NoZWNrZWQuc2V0KGNoZWNrZWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdGl2ZUVsZW1lbnRTeW5jKCk7XG4gICAgfVxuXG4gICAgQElucHV0KHtcbiAgICAgICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICAgICAgICBhbGlhczogJ2luZGV0ZXJtaW5hdGUnLFxuICAgIH0pXG4gICAgc2V0IGluZGV0ZXJtaW5hdGVJbnB1dChpbmRldGVybWluYXRlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja2VkLnNldChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5kZXRlcm1pbmF0ZS5zZXQoaW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlTmF0aXZlRWxlbWVudFN5bmMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5hdGl2ZUVsZW1lbnRTeW5jKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgIGlucHV0LmNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcbiAgICAgICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSB0aGlzLmluZGV0ZXJtaW5hdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaXZhdGUgcHJvcGVydGllc1xuICAgIHByaXZhdGUgbGlzdGVuZXJzOiAoKCkgPT4gdm9pZClbXSA9IFtdO1xuICAgIHByaXZhdGUgc3R5bGVFbGVtZW50ITogSFRNTFN0eWxlRWxlbWVudDtcbiAgICBwcml2YXRlIGNoZWNrbWFya1N2ZyE6IFNWR0VsZW1lbnQ7XG4gICAgcHJpdmF0ZSBpbmRldGVybWluYXRlQmFyITogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrbWFya1N2ZyAmJiB0aGlzLmluZGV0ZXJtaW5hdGVCYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrbWFya1Zpc2liaWxpdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9tIFNWRyBjb250ZW50XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N2Z0NvbnRlbnQgPSBgXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiBmaWxsPVwid2hpdGVcIj5cbiAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNC4yMzggMy4zMzdhLjkyLjkyIDAgMCAxIC4wMjUgMS4zMDFsLTcuNyA4YS45Mi45MiAwIDAgMS0xLjMyNiAwbC0zLjUtMy42MzZhLjkyLjkyIDAgMSAxIDEuMzI2LTEuMjc2TDUuOSAxMC42NzRsNy4wMzctNy4zMTJhLjkyLjkyIDAgMCAxIDEuMzAxLS4wMjVaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgYDtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNyZWF0ZUNoZWNrYm94U3RydWN0dXJlKCk7XG4gICAgICAgIHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHVubGlzdGVuID0+IHVubGlzdGVuKCkpO1xuICAgICAgICBpZiAodGhpcy5zdHlsZUVsZW1lbnQgJiYgdGhpcy5zdHlsZUVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hlY2ttYXJrU3ZnICYmIHRoaXMuY2hlY2ttYXJrU3ZnLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2ttYXJrU3ZnLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5jaGVja21hcmtTdmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVCYXIgJiYgdGhpcy5pbmRldGVybWluYXRlQmFyLnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUJhci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuaW5kZXRlcm1pbmF0ZUJhcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNoZWNrYm94U3RydWN0dXJlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBpbnB1dC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIE1ha2UgaW5wdXQncyBwYXJlbnQgdXNlIGlubGluZS1mbGV4IGZvciBhbGlnbm1lbnQgYW5kIHBvc2l0aW9uIHJlbGF0aXZlXG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnZGlzcGxheScsICdpbmxpbmUtZmxleCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShwYXJlbnQsICdhbGlnbi1pdGVtcycsICdjZW50ZXInKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAnZ2FwJywgJ3ZhcigtLXJlZi1zcGFjaW5nLXh4cyknKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocGFyZW50LCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaW5wdXQsICdhcC1jaGVja2JveC1zdHlsZWQnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZUNoZWNrbWFya1N2ZygpO1xuICAgICAgICB0aGlzLmNyZWF0ZUluZGV0ZXJtaW5hdGVCYXIoKTtcblxuICAgICAgICB0aGlzLmFwcGx5Q2hlY2tib3hTdHlsZXMoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrbWFya1Zpc2liaWxpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXlFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgICAgIC8vIEFwcGx5IGNvbW1vbiBwb3NpdGlvbmluZyBzdHlsZXNcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAndG9wJywgJzUwJScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdsZWZ0JywgJzhweCcpOyAvLyBDZW50ZXIgb3ZlciAxNnB4IGNoZWNrYm94XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdvcGFjaXR5JywgJzAnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnei1pbmRleCcsICcxJyk7XG5cbiAgICAgICAgLy8gQXBwZW5kIHRvIHBhcmVudFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHBhcmVudCwgZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaGVja21hcmtTdmcoKTogdm9pZCB7XG4gICAgICAgIC8vIENyZWF0ZSBTVkcgZWxlbWVudCBmcm9tIHN0cmluZ1xuICAgICAgICBjb25zdCB0ZW1wRGl2ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0ZW1wRGl2LCAnaW5uZXJIVE1MJywgdGhpcy5jaGVja1N2Z0NvbnRlbnQpO1xuICAgICAgICB0aGlzLmNoZWNrbWFya1N2ZyA9IHRlbXBEaXYuZmlyc3RFbGVtZW50Q2hpbGQgYXMgU1ZHRWxlbWVudDtcblxuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXlFbGVtZW50KHRoaXMuY2hlY2ttYXJrU3ZnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUluZGV0ZXJtaW5hdGVCYXIoKTogdm9pZCB7XG4gICAgICAgIC8vIENyZWF0ZSB0aGUgaW5kZXRlcm1pbmF0ZSBiYXIgZWxlbWVudFxuICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVCYXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICdoZWlnaHQnLCAnMS41cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICdiYWNrZ3JvdW5kJywgJ3ZhcigtLXJlZi1jb2xvci13aGl0ZSknKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmluZGV0ZXJtaW5hdGVCYXIsICd3aWR0aCcsICc4cHgnKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXlFbGVtZW50KHRoaXMuaW5kZXRlcm1pbmF0ZUJhcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGVja21hcmtWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGVja21hcmtTdmcpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmNoZWNrZWQoKSAmJiAhdGhpcy5pbmRldGVybWluYXRlKCkgPyAnMScgOiAnMCc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2hlY2ttYXJrU3ZnLCAnb3BhY2l0eScsIG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGVCYXIpIHtcbiAgICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmluZGV0ZXJtaW5hdGUoKSAmJiAhdGhpcy5jaGVja2VkKCkgPyAnMScgOiAnMCc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW5kZXRlcm1pbmF0ZUJhciwgJ29wYWNpdHknLCBvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBJbnB1dCBjaGFuZ2UgbGlzdGVuZXIgKG5hdGl2ZSBjaGVja2JveCBjaGFuZ2UpXG4gICAgICAgIGNvbnN0IGNoYW5nZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oaW5wdXQsICdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2goY2hhbmdlTGlzdGVuZXIpO1xuXG4gICAgICAgIC8vIExpc3RlbiBmb3IgbGFiZWwgY2xpY2tzIHRvIGVuc3VyZSBmb2N1cyBpcyBtYWludGFpbmVkXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGlucHV0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhcmVudCwgJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIC8vIElmIGNsaWNraW5nIG9uIGEgbGFiZWwgdGhhdCB0YXJnZXRzIG91ciBpbnB1dCwgZW5zdXJlIGZvY3VzXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldC50YWdOYW1lID09PSAnTEFCRUwnICYmIHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2ZvcicpID09PSBpbnB1dC5pZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBTbWFsbCBkZWxheSB0byBlbnN1cmUgdGhlIGxhYmVsIGNsaWNrIGlzIHByb2Nlc3NlZCBmaXJzdFxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChsYWJlbENsaWNrTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUNoZWNrYm94U3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdHlsZXMgPSBgXG4gICAgICAgICAgICAvKiBNaW5pbWFsIGNoZWNrYm94IHN0eWxpbmcgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQge1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcmVmLWNvbG9yLWdyZXktNjApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN5cy1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWYtY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIEhvdmVyIHN0YXRlICovXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1ncmV5LTgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogQWN0aXZlL3ByZXNzZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1ncmV5LTEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIENoZWNrZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXJlZi1jb2xvci1lbGVjdHJpYy1ibHVlLTEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qIENoZWNrZWQgaG92ZXIgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6Y2hlY2tlZDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtODApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogQ2hlY2tlZCBhY3RpdmUvcHJlc3NlZCBzdGF0ZSAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZDpjaGVja2VkOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtNjApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogSW5kZXRlcm1pbmF0ZSBzdGF0ZSAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZDppbmRldGVybWluYXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWYtY29sb3ItZWxlY3RyaWMtYmx1ZS0xMDApO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWVsZWN0cmljLWJsdWUtMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi9cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcmVmLWNvbG9yLWdyZXktMjApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZi1jb2xvci1ncmV5LTEwKTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5hcC1jaGVja2JveC1zdHlsZWQ6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVmLWNvbG9yLWdyZXktMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKiBGb2N1cyBzdGF0ZSAqL1xuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmZvY3VzOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLXJlZi1jb2xvci1lbGVjdHJpYy1ibHVlLTEwMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogTGFiZWwgc3R5bGluZyAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbXAtZm9ybXMtbGFiZWwtZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY29tcC1mb3Jtcy1sYWJlbC1zaXplKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY29tcC1mb3Jtcy1sYWJlbC1mb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbXAtZm9ybXMtbGFiZWwtbGluZS1oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb21wLWZvcm1zLWxhYmVsLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyogRW1wdHkgbGFiZWwgc3R5bGluZyAqL1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmFwLWNoZWNrYm94LXN0eWxlZCArIGxhYmVsOmVtcHR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKiBEaXNhYmxlZCBsYWJlbCBzdHlsaW5nICovXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uYXAtY2hlY2tib3gtc3R5bGVkOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yZWYtY29sb3ItZ3JleS02MCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICBgO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgYXBwZW5kIHN0eWxlIGVsZW1lbnRcbiAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5zdHlsZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChzdHlsZXMpKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKCkpIHtcbiAgICAgICAgICAgICAgICAvLyBXaGVuIGluZGV0ZXJtaW5hdGUsIGNsaWNraW5nIHNob3VsZCBnbyB0byBjaGVja2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tlZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5kZXRlcm1pbmF0ZS5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlucHV0LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gTm9ybWFsIHRvZ2dsZSBiZWhhdmlvclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQuc2V0KGlucHV0LmNoZWNrZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DefaultImageDirective {
|
|
4
|
-
src = '';
|
|
5
|
-
default = '';
|
|
6
|
-
updateUrl() {
|
|
7
|
-
if (this.default) {
|
|
8
|
-
this.src = this.default;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
this.src = 'assets/lib-ui-components/img/default-avatar.png';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DefaultImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: DefaultImageDirective, isStandalone: true, selector: "img[default]", inputs: { src: "src", default: "default" }, host: { listeners: { "error": "updateUrl()" }, properties: { "src": "src" } }, ngImport: i0 });
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DefaultImageDirective, decorators: [{
|
|
18
|
-
type: Directive,
|
|
19
|
-
args: [{
|
|
20
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
21
|
-
selector: 'img[default]',
|
|
22
|
-
standalone: true,
|
|
23
|
-
// eslint-disable-next-line @angular-eslint/no-host-metadata-property
|
|
24
|
-
host: {
|
|
25
|
-
'(error)': 'updateUrl()',
|
|
26
|
-
'[src]': 'src',
|
|
27
|
-
},
|
|
28
|
-
}]
|
|
29
|
-
}], propDecorators: { src: [{
|
|
30
|
-
type: Input,
|
|
31
|
-
args: [{
|
|
32
|
-
required: true,
|
|
33
|
-
}]
|
|
34
|
-
}], default: [{
|
|
35
|
-
type: Input
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGlyZWN0aXZlcy9zcmMvZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWWpELE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNBLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFdEIsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxpREFBaUQsQ0FBQztRQUNqRSxDQUFDO0lBQ0wsQ0FBQzt1R0FiUSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFWakMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGFBQWE7d0JBQ3hCLE9BQU8sRUFBRSxLQUFLO3FCQUNqQjtpQkFDSjs4QkFLRyxHQUFHO3NCQUhGLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUVRLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2ltZ1tkZWZhdWx0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgICBob3N0OiB7XG4gICAgICAgICcoZXJyb3IpJzogJ3VwZGF0ZVVybCgpJyxcbiAgICAgICAgJ1tzcmNdJzogJ3NyYycsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIHNyYyA9ICcnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHQgPSAnJztcblxuICAgIHVwZGF0ZVVybCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5zcmMgPSB0aGlzLmRlZmF1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNyYyA9ICdhc3NldHMvbGliLXVpLWNvbXBvbmVudHMvaW1nL2RlZmF1bHQtYXZhdGFyLnBuZyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Removes excess text from element until it fits in elements
|
|
5
|
-
* and appends a ellipsis symbol to end of text. This requires that
|
|
6
|
-
* the elements height be fixed
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```html
|
|
10
|
-
* <p apEllipsis>Ullamco esse laborum</p>
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export class EllipsisDirective {
|
|
15
|
-
el;
|
|
16
|
-
apEllipsisSeparator = '';
|
|
17
|
-
apEllipsisClip = false;
|
|
18
|
-
apEllipsisIndex = -2;
|
|
19
|
-
apEllipsisChar = '...';
|
|
20
|
-
apEllipsisClickable = false;
|
|
21
|
-
apEllipsisRemovedElementsCount = new EventEmitter();
|
|
22
|
-
apEllipsisRemovedText = new EventEmitter();
|
|
23
|
-
get hasOverflow() {
|
|
24
|
-
const el = this.el.nativeElement;
|
|
25
|
-
return el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth;
|
|
26
|
-
}
|
|
27
|
-
constructor(el) {
|
|
28
|
-
this.el = el;
|
|
29
|
-
}
|
|
30
|
-
ngAfterContentChecked() {
|
|
31
|
-
this.clipText();
|
|
32
|
-
}
|
|
33
|
-
clipText() {
|
|
34
|
-
const el = this.el.nativeElement;
|
|
35
|
-
let text = el.innerText;
|
|
36
|
-
let removedText = '';
|
|
37
|
-
if (this.apEllipsisIndex > -1) {
|
|
38
|
-
removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;
|
|
39
|
-
text = text.substring(0, this.apEllipsisIndex);
|
|
40
|
-
el.innerText = `${text}${this.apEllipsisChar}`;
|
|
41
|
-
if (this.apEllipsisClickable) {
|
|
42
|
-
el.addEventListener('click', () => {
|
|
43
|
-
el.innerText = `${text}${removedText}`;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
while (this.hasOverflow && text.length > 0) {
|
|
49
|
-
removedText = text[text.length - 1] + removedText;
|
|
50
|
-
text = text.substring(0, text.length - 1);
|
|
51
|
-
el.innerText = `${text}${this.apEllipsisChar}`;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (this.apEllipsisSeparator) {
|
|
55
|
-
const removedElementsCount = removedText
|
|
56
|
-
.split(this.apEllipsisSeparator)
|
|
57
|
-
.filter(element => !!element && element.length > 0).length;
|
|
58
|
-
if (removedElementsCount > 0) {
|
|
59
|
-
this.apEllipsisRemovedElementsCount.emit(removedElementsCount);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (removedText && removedText.length > 0) {
|
|
63
|
-
this.apEllipsisRemovedText.emit(removedText);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
67
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: EllipsisDirective, isStandalone: true, selector: "[apEllipsis]", inputs: { apEllipsisSeparator: "apEllipsisSeparator", apEllipsisClip: "apEllipsisClip", apEllipsisIndex: "apEllipsisIndex", apEllipsisChar: "apEllipsisChar", apEllipsisClickable: "apEllipsisClickable" }, outputs: { apEllipsisRemovedElementsCount: "apEllipsisRemovedElementsCount", apEllipsisRemovedText: "apEllipsisRemovedText" }, ngImport: i0 });
|
|
68
|
-
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EllipsisDirective, decorators: [{
|
|
70
|
-
type: Directive,
|
|
71
|
-
args: [{
|
|
72
|
-
selector: '[apEllipsis]',
|
|
73
|
-
standalone: true,
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { apEllipsisSeparator: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], apEllipsisClip: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], apEllipsisIndex: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], apEllipsisChar: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], apEllipsisClickable: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], apEllipsisRemovedElementsCount: [{
|
|
86
|
-
type: Output
|
|
87
|
-
}], apEllipsisRemovedText: [{
|
|
88
|
-
type: Output
|
|
89
|
-
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2RpcmVjdGl2ZXMvc3JjL2VsbGlwc2lzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFeEc7Ozs7Ozs7Ozs7R0FVRztBQUtILE1BQU0sT0FBTyxpQkFBaUI7SUFlTjtJQWRYLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUN6QixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUUzQiw4QkFBOEIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzVELHFCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFN0QsSUFBWSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDaEYsQ0FBQztJQUVELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxRQUFRO1FBQ1osTUFBTSxFQUFFLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVCLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7WUFDbEYsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvQyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUUvQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDOUIsRUFBRSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztnQkFDbEQsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25ELENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixNQUFNLG9CQUFvQixHQUFHLFdBQVc7aUJBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0QsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO3VHQXREUSxpQkFBaUI7MkZBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUVZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksOEJBQThCO3NCQUF2QyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmVtb3ZlcyBleGNlc3MgdGV4dCBmcm9tIGVsZW1lbnQgdW50aWwgaXQgZml0cyBpbiBlbGVtZW50c1xuICogYW5kIGFwcGVuZHMgYSBlbGxpcHNpcyBzeW1ib2wgdG8gZW5kIG9mIHRleHQuIFRoaXMgcmVxdWlyZXMgdGhhdFxuICogdGhlIGVsZW1lbnRzIGhlaWdodCBiZSBmaXhlZFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cCBhcEVsbGlwc2lzPlVsbGFtY28gZXNzZSBsYWJvcnVtPC9wPlxuICogYGBgXG4gKlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thcEVsbGlwc2lzXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzU2VwYXJhdG9yID0gJyc7XG4gICAgQElucHV0KCkgYXBFbGxpcHNpc0NsaXAgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzSW5kZXggPSAtMjtcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2hhciA9ICcuLi4nO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNDbGlja2FibGUgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBhcEVsbGlwc2lzUmVtb3ZlZEVsZW1lbnRzQ291bnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgYXBFbGxpcHNpc1JlbW92ZWRUZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIGdldCBoYXNPdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICByZXR1cm4gZWwuc2Nyb2xsSGVpZ2h0ID4gZWwub2Zmc2V0SGVpZ2h0IHx8IGVsLnNjcm9sbFdpZHRoID4gZWwub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jbGlwVGV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xpcFRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHRleHQgPSBlbC5pbm5lclRleHQ7XG4gICAgICAgIGxldCByZW1vdmVkVGV4dCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmVtb3ZlZFRleHQgPSB0ZXh0LnN1YnN0cmluZyh0aGlzLmFwRWxsaXBzaXNJbmRleCwgdGV4dC5sZW5ndGggLSAxKSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRoaXMuYXBFbGxpcHNpc0luZGV4KTtcbiAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFwRWxsaXBzaXNDbGlja2FibGUpIHtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWwuaW5uZXJUZXh0ID0gYCR7dGV4dH0ke3JlbW92ZWRUZXh0fWA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNPdmVyZmxvdyAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVkVGV4dCA9IHRleHRbdGV4dC5sZW5ndGggLSAxXSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudHNDb3VudCA9IHJlbW92ZWRUZXh0XG4gICAgICAgICAgICAgICAgLnNwbGl0KHRoaXMuYXBFbGxpcHNpc1NlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubGVuZ3RoID4gMCkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHJlbW92ZWRFbGVtZW50c0NvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50LmVtaXQocmVtb3ZlZEVsZW1lbnRzQ291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZW1vdmVkVGV4dCAmJiByZW1vdmVkVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwRWxsaXBzaXNSZW1vdmVkVGV4dC5lbWl0KHJlbW92ZWRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2
|
|
2
|
-
import { Attribute, Directive, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class EqualValidatorDirective {
|
|
6
|
-
validateEqual;
|
|
7
|
-
validateEqualReference;
|
|
8
|
-
constructor(validateEqual, validateEqualReference) {
|
|
9
|
-
this.validateEqual = validateEqual;
|
|
10
|
-
this.validateEqualReference = validateEqualReference;
|
|
11
|
-
}
|
|
12
|
-
validate(self) {
|
|
13
|
-
const other = self.root.get(this.validateEqual);
|
|
14
|
-
if (other) {
|
|
15
|
-
if (this.isReference()) {
|
|
16
|
-
if (self.value === other.value) {
|
|
17
|
-
if (other.errors) {
|
|
18
|
-
delete other.errors['validateEqual'];
|
|
19
|
-
if (!Object.keys(other.errors).length) {
|
|
20
|
-
other.setErrors(null);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
other.setErrors(null);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
other.setErrors({ validateEqual: false });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else if (self.value !== other.value) {
|
|
32
|
-
return { validateEqual: false };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
isReference() {
|
|
38
|
-
if (!this.validateEqualReference) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return this.validateEqualReference === 'true';
|
|
42
|
-
}
|
|
43
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EqualValidatorDirective, deps: [{ token: 'validateEqual', attribute: true }, { token: 'validateEqualReference', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.9", type: EqualValidatorDirective, isStandalone: true, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]", providers: [
|
|
45
|
-
{
|
|
46
|
-
provide: NG_VALIDATORS,
|
|
47
|
-
useExisting: forwardRef(() => EqualValidatorDirective),
|
|
48
|
-
multi: true,
|
|
49
|
-
},
|
|
50
|
-
], ngImport: i0 });
|
|
51
|
-
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: EqualValidatorDirective, decorators: [{
|
|
53
|
-
type: Directive,
|
|
54
|
-
args: [{
|
|
55
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
56
|
-
selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',
|
|
57
|
-
providers: [
|
|
58
|
-
{
|
|
59
|
-
provide: NG_VALIDATORS,
|
|
60
|
-
useExisting: forwardRef(() => EqualValidatorDirective),
|
|
61
|
-
multi: true,
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
standalone: true,
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
67
|
-
type: Attribute,
|
|
68
|
-
args: ['validateEqual']
|
|
69
|
-
}] }, { type: undefined, decorators: [{
|
|
70
|
-
type: Attribute,
|
|
71
|
-
args: ['validateEqualReference']
|
|
72
|
-
}] }] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9kaXJlY3RpdmVzL3NyYy9lcXVhbC12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1IQUFtSDtBQUNuSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFtQixhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjM0UsTUFBTSxPQUFPLHVCQUF1QjtJQUVPO0lBQ1M7SUFGaEQsWUFDdUMsYUFBcUIsRUFDWixzQkFBOEI7UUFEdkMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDWiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVE7SUFDM0UsQ0FBQztJQUVKLFFBQVEsQ0FBQyxJQUFxQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNmLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUNwQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQixDQUFDO29CQUNMLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUMxQixDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLEtBQUssTUFBTSxDQUFDO0lBQ2xELENBQUM7dUdBbENRLHVCQUF1QixrQkFFakIsZUFBZSw4QkFDZix3QkFBd0I7MkZBSDlCLHVCQUF1QixxSUFUckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzsyRkFHUSx1QkFBdUI7a0JBWm5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsd0ZBQXdGO29CQUNsRyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQUdRLFNBQVM7MkJBQUMsZUFBZTs7MEJBQ3pCLFNBQVM7MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZWQgb24gaHR0cHM6Ly9zY290Y2guaW8vdHV0b3JpYWxzL2hvdy10by1pbXBsZW1lbnQtYS1jdXN0b20tdmFsaWRhdG9yLWRpcmVjdGl2ZS1jb25maXJtLXBhc3N3b3JkLWluLWFuZ3VsYXItMlxuaW1wb3J0IHsgQXR0cmlidXRlLCBEaXJlY3RpdmUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sTmFtZV0sW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sXSxbdmFsaWRhdGVFcXVhbF1bbmdNb2RlbF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXF1YWxWYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFcXVhbFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3ZhbGlkYXRlRXF1YWwnKSBwdWJsaWMgdmFsaWRhdGVFcXVhbDogc3RyaW5nLFxuICAgICAgICBAQXR0cmlidXRlKCd2YWxpZGF0ZUVxdWFsUmVmZXJlbmNlJykgcHVibGljIHZhbGlkYXRlRXF1YWxSZWZlcmVuY2U6IHN0cmluZ1xuICAgICkge31cblxuICAgIHZhbGlkYXRlKHNlbGY6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgICAgICAgY29uc3Qgb3RoZXIgPSBzZWxmLnJvb3QuZ2V0KHRoaXMudmFsaWRhdGVFcXVhbCk7XG4gICAgICAgIGlmIChvdGhlcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWZlcmVuY2UoKSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWxmLnZhbHVlID09PSBvdGhlci52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3RoZXIuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgb3RoZXIuZXJyb3JzWyd2YWxpZGF0ZUVxdWFsJ107XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG90aGVyLmVycm9ycykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3RoZXIuc2V0RXJyb3JzKHsgdmFsaWRhdGVFcXVhbDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxmLnZhbHVlICE9PSBvdGhlci52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkYXRlRXF1YWw6IGZhbHNlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JlZmVyZW5jZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlRXF1YWxSZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUVxdWFsUmVmZXJlbmNlID09PSAndHJ1ZSc7XG4gICAgfVxufVxuIl19
|