@agorapulse/ui-components 15.1.31 → 16.0.0-rc.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/add-comment/add-comment.component.d.ts +3 -3
- package/agorapulse-ui-components-16.0.0-rc.0.tgz +0 -0
- package/avatar/avatar.component.d.ts +1 -1
- package/button/button.component.d.ts +2 -2
- package/checkbox/checkbox.component.d.ts +4 -4
- package/confirm-modal/confirm-modal.component.d.ts +2 -2
- package/datepicker/datepicker.component.d.ts +7 -7
- package/directives/base-button.directive.d.ts +2 -2
- package/directives/default-image.directive.d.ts +1 -1
- package/directives/ellipsis.directive.d.ts +1 -1
- package/directives/equal-validator.directive.d.ts +1 -1
- package/directives/frozen-gif.directive.d.ts +2 -2
- package/directives/multi-style-text.directive.d.ts +2 -2
- package/directives/truncate-tooltip.directive.d.ts +1 -1
- package/dots-stepper/dots-stepper.component.d.ts +6 -6
- package/esm2022/add-comment/add-comment.component.mjs +68 -0
- package/esm2022/avatar/avatar.component.mjs +209 -0
- package/esm2022/button/button.component.mjs +109 -0
- package/esm2022/checkbox/checkbox.component.mjs +169 -0
- package/esm2022/confirm-modal/confirm-modal.component.mjs +61 -0
- package/esm2022/datepicker/datepicker.component.mjs +271 -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/truncate-tooltip.directive.mjs +43 -0
- package/esm2022/dots-stepper/dots-stepper.component.mjs +43 -0
- package/esm2022/icon-button/icon-button.component.mjs +118 -0
- package/esm2022/index.mjs +42 -0
- package/esm2022/infobox/infobox.component.mjs +65 -0
- package/esm2022/labels/label-list.component.mjs +106 -0
- package/esm2022/labels/label.component.mjs +64 -0
- package/esm2022/labels-selector/labels-selector.component.mjs +107 -0
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +94 -0
- package/esm2022/modal/modal.component.mjs +119 -0
- package/{esm2020 → esm2022}/neo-datepicker/day-detail.model.mjs +1 -1
- package/esm2022/neo-datepicker/day-disabled.pipe.mjs +21 -0
- package/esm2022/neo-datepicker/neo-datepicker.component.mjs +243 -0
- package/esm2022/notification/notification.component.mjs +15 -0
- package/esm2022/paginator/paginator-button/paginator-button.component.mjs +51 -0
- package/esm2022/paginator/paginator.component.mjs +126 -0
- package/esm2022/password-input/password-input.component.mjs +77 -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 +384 -0
- package/esm2022/popmenu/popmenu.directive.mjs +292 -0
- package/esm2022/popmenu/popmenu.module.mjs +29 -0
- package/esm2022/radio/radio-control.registry.mjs +102 -0
- package/esm2022/radio/radio.component.mjs +218 -0
- package/esm2022/slide-toggle/slide-toggle.component.mjs +63 -0
- package/esm2022/snackbar/snackbar.component.mjs +27 -0
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +75 -0
- package/esm2022/snackbars-thread/model/snackbars-thread.model.mjs +54 -0
- package/{esm2020 → esm2022}/snackbars-thread/public_api.mjs +2 -2
- package/esm2022/snackbars-thread/service/snackbars-thread.service.mjs +45 -0
- package/esm2022/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
- package/esm2022/social-button/social-button.component.mjs +143 -0
- package/esm2022/split-button/split-button.component.mjs +126 -0
- package/esm2022/src/lib/agorapulse-ui-components.module.mjs +213 -0
- package/esm2022/stepper/stepper.component.mjs +38 -0
- package/esm2022/text-measurement/text-measurement.service.mjs +29 -0
- package/esm2022/toggle/toggle.component.mjs +203 -0
- package/esm2022/tooltip/tooltip.directive.mjs +397 -0
- package/esm2022/tooltip/tooltip.service.mjs +29 -0
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +75 -0
- package/fesm2022/agorapulse-ui-components-add-comment.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-avatar.mjs +216 -0
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-button.mjs +116 -0
- package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +176 -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-datepicker.mjs +278 -0
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/agorapulse-ui-components-directives.mjs +104 -72
- package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-dots-stepper.mjs +50 -0
- package/fesm2022/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-icon-button.mjs +125 -0
- package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-infobox.mjs +69 -0
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +114 -0
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-labels.mjs +173 -0
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +101 -0
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-modal.mjs +126 -0
- package/fesm2022/agorapulse-ui-components-modal.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +268 -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 +181 -0
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-password-input.mjs +84 -0
- package/fesm2022/agorapulse-ui-components-password-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/agorapulse-ui-components-popmenu.mjs +112 -83
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-radio.mjs +322 -0
- package/fesm2022/agorapulse-ui-components-radio.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +70 -0
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-snackbar.mjs +34 -0
- package/fesm2022/agorapulse-ui-components-snackbar.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +190 -0
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-social-button.mjs +150 -0
- package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-split-button.mjs +133 -0
- package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-stepper.mjs +45 -0
- package/fesm2022/agorapulse-ui-components-stepper.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/agorapulse-ui-components-text-measurement.mjs +8 -7
- package/fesm2022/agorapulse-ui-components-text-measurement.mjs.map +1 -0
- package/fesm2022/agorapulse-ui-components-toggle.mjs +210 -0
- package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/agorapulse-ui-components-tooltip.mjs +114 -75
- package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/agorapulse-ui-components.mjs +100 -103
- package/fesm2022/agorapulse-ui-components.mjs.map +1 -0
- package/icon-button/icon-button.component.d.ts +3 -3
- package/infobox/infobox.component.d.ts +3 -3
- package/labels/label-list.component.d.ts +2 -2
- package/labels/label.component.d.ts +3 -3
- package/labels-selector/labels-selector.component.d.ts +2 -2
- package/media-display-overlay/media-display-overlay-dialog.component.d.ts +1 -1
- package/modal/modal.component.d.ts +12 -12
- package/neo-datepicker/day-detail.model.d.ts +2 -2
- package/neo-datepicker/day-disabled.pipe.d.ts +1 -1
- package/neo-datepicker/neo-datepicker.component.d.ts +10 -7
- package/notification/notification.component.d.ts +1 -1
- package/package.json +107 -172
- package/paginator/paginator-button/paginator-button.component.d.ts +1 -1
- package/paginator/paginator.component.d.ts +1 -1
- package/password-input/password-input.component.d.ts +4 -4
- package/popmenu/popmenu-options.interface.d.ts +24 -19
- package/popmenu/popmenu.component.d.ts +10 -10
- package/popmenu/popmenu.directive.d.ts +23 -23
- package/radio/radio-control.registry.d.ts +2 -2
- package/radio/radio.component.d.ts +2 -2
- package/slide-toggle/slide-toggle.component.d.ts +1 -1
- package/snackbar/snackbar.component.d.ts +1 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +2 -2
- package/snackbars-thread/model/snackbars-thread.model.d.ts +1 -1
- package/snackbars-thread/public_api.d.ts +1 -1
- package/snackbars-thread/service/snackbars-thread.service.d.ts +4 -4
- package/social-button/social-button.component.d.ts +3 -3
- package/split-button/split-button.component.d.ts +3 -3
- package/stepper/stepper.component.d.ts +2 -2
- package/toggle/toggle.component.d.ts +3 -3
- package/tooltip/tooltip.directive.d.ts +5 -5
- package/agorapulse-ui-components-15.1.31.tgz +0 -0
- package/esm2020/add-comment/add-comment.component.mjs +0 -69
- package/esm2020/avatar/avatar.component.mjs +0 -211
- package/esm2020/button/button.component.mjs +0 -104
- package/esm2020/checkbox/checkbox.component.mjs +0 -163
- package/esm2020/confirm-modal/confirm-modal.component.mjs +0 -60
- package/esm2020/datepicker/datepicker.component.mjs +0 -259
- package/esm2020/directives/autosize-textarea.directive.mjs +0 -44
- package/esm2020/directives/base-button.directive.mjs +0 -47
- package/esm2020/directives/default-image.directive.mjs +0 -32
- package/esm2020/directives/ellipsis.directive.mjs +0 -86
- package/esm2020/directives/equal-validator.directive.mjs +0 -66
- package/esm2020/directives/frozen-gif.directive.mjs +0 -116
- package/esm2020/directives/multi-style-text.directive.mjs +0 -58
- package/esm2020/directives/truncate-tooltip.directive.mjs +0 -40
- package/esm2020/dots-stepper/dots-stepper.component.mjs +0 -43
- package/esm2020/icon-button/icon-button.component.mjs +0 -112
- package/esm2020/index.mjs +0 -42
- package/esm2020/infobox/infobox.component.mjs +0 -67
- package/esm2020/labels/label-list.component.mjs +0 -101
- package/esm2020/labels/label.component.mjs +0 -58
- package/esm2020/labels-selector/labels-selector.component.mjs +0 -101
- package/esm2020/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -94
- package/esm2020/modal/modal.component.mjs +0 -109
- package/esm2020/neo-datepicker/day-disabled.pipe.mjs +0 -21
- package/esm2020/neo-datepicker/neo-datepicker.component.mjs +0 -228
- package/esm2020/notification/notification.component.mjs +0 -17
- package/esm2020/paginator/paginator-button/paginator-button.component.mjs +0 -51
- package/esm2020/paginator/paginator.component.mjs +0 -124
- package/esm2020/password-input/password-input.component.mjs +0 -75
- package/esm2020/popmenu/options.mjs +0 -17
- package/esm2020/popmenu/popmenu-options.interface.mjs +0 -2
- package/esm2020/popmenu/popmenu-options.service.mjs +0 -7
- package/esm2020/popmenu/popmenu.component.mjs +0 -373
- package/esm2020/popmenu/popmenu.directive.mjs +0 -268
- package/esm2020/popmenu/popmenu.module.mjs +0 -35
- package/esm2020/radio/radio-control.registry.mjs +0 -104
- package/esm2020/radio/radio.component.mjs +0 -199
- package/esm2020/slide-toggle/slide-toggle.component.mjs +0 -65
- package/esm2020/snackbar/snackbar.component.mjs +0 -26
- package/esm2020/snackbars-thread/component/snackbars-thread.component.mjs +0 -79
- package/esm2020/snackbars-thread/model/snackbars-thread.model.mjs +0 -52
- package/esm2020/snackbars-thread/service/snackbars-thread.service.mjs +0 -41
- package/esm2020/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
- package/esm2020/social-button/social-button.component.mjs +0 -137
- package/esm2020/split-button/split-button.component.mjs +0 -112
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +0 -213
- package/esm2020/stepper/stepper.component.mjs +0 -36
- package/esm2020/text-measurement/text-measurement.service.mjs +0 -28
- package/esm2020/toggle/toggle.component.mjs +0 -190
- package/esm2020/tooltip/tooltip.directive.mjs +0 -358
- package/esm2020/tooltip/tooltip.service.mjs +0 -29
- package/fesm2015/agorapulse-ui-components-add-comment.mjs +0 -76
- package/fesm2015/agorapulse-ui-components-add-comment.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-avatar.mjs +0 -218
- package/fesm2015/agorapulse-ui-components-avatar.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-button.mjs +0 -111
- package/fesm2015/agorapulse-ui-components-button.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-checkbox.mjs +0 -170
- package/fesm2015/agorapulse-ui-components-checkbox.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs +0 -67
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-datepicker.mjs +0 -269
- package/fesm2015/agorapulse-ui-components-datepicker.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-directives.mjs +0 -483
- package/fesm2015/agorapulse-ui-components-directives.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-dots-stepper.mjs +0 -50
- package/fesm2015/agorapulse-ui-components-dots-stepper.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-icon-button.mjs +0 -119
- package/fesm2015/agorapulse-ui-components-icon-button.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-infobox.mjs +0 -71
- package/fesm2015/agorapulse-ui-components-infobox.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs +0 -109
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-labels.mjs +0 -162
- package/fesm2015/agorapulse-ui-components-labels.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs +0 -103
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-modal.mjs +0 -116
- package/fesm2015/agorapulse-ui-components-modal.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs +0 -253
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-notification.mjs +0 -24
- package/fesm2015/agorapulse-ui-components-notification.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-paginator.mjs +0 -179
- package/fesm2015/agorapulse-ui-components-paginator.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-password-input.mjs +0 -82
- package/fesm2015/agorapulse-ui-components-password-input.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-popmenu.mjs +0 -698
- package/fesm2015/agorapulse-ui-components-popmenu.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-radio.mjs +0 -306
- package/fesm2015/agorapulse-ui-components-radio.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-slide-toggle.mjs +0 -72
- package/fesm2015/agorapulse-ui-components-slide-toggle.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-snackbar.mjs +0 -35
- package/fesm2015/agorapulse-ui-components-snackbar.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs +0 -188
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-social-button.mjs +0 -144
- package/fesm2015/agorapulse-ui-components-social-button.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-split-button.mjs +0 -119
- package/fesm2015/agorapulse-ui-components-split-button.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-stepper.mjs +0 -44
- package/fesm2015/agorapulse-ui-components-stepper.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-text-measurement.mjs +0 -35
- package/fesm2015/agorapulse-ui-components-text-measurement.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-toggle.mjs +0 -197
- package/fesm2015/agorapulse-ui-components-toggle.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components-tooltip.mjs +0 -391
- package/fesm2015/agorapulse-ui-components-tooltip.mjs.map +0 -1
- package/fesm2015/agorapulse-ui-components.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-add-comment.mjs +0 -76
- package/fesm2020/agorapulse-ui-components-add-comment.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-avatar.mjs +0 -218
- package/fesm2020/agorapulse-ui-components-avatar.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-button.mjs +0 -111
- package/fesm2020/agorapulse-ui-components-button.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-checkbox.mjs +0 -170
- package/fesm2020/agorapulse-ui-components-checkbox.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs +0 -67
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-datepicker.mjs +0 -266
- package/fesm2020/agorapulse-ui-components-datepicker.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-directives.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-dots-stepper.mjs +0 -50
- package/fesm2020/agorapulse-ui-components-dots-stepper.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-icon-button.mjs +0 -119
- package/fesm2020/agorapulse-ui-components-icon-button.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-infobox.mjs +0 -71
- package/fesm2020/agorapulse-ui-components-infobox.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs +0 -108
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-labels.mjs +0 -162
- package/fesm2020/agorapulse-ui-components-labels.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs +0 -101
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-modal.mjs +0 -116
- package/fesm2020/agorapulse-ui-components-modal.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs +0 -253
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-notification.mjs +0 -24
- package/fesm2020/agorapulse-ui-components-notification.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-paginator.mjs +0 -179
- package/fesm2020/agorapulse-ui-components-paginator.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-password-input.mjs +0 -82
- package/fesm2020/agorapulse-ui-components-password-input.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-popmenu.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-radio.mjs +0 -305
- package/fesm2020/agorapulse-ui-components-radio.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-slide-toggle.mjs +0 -72
- package/fesm2020/agorapulse-ui-components-slide-toggle.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-snackbar.mjs +0 -33
- package/fesm2020/agorapulse-ui-components-snackbar.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs +0 -188
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-social-button.mjs +0 -144
- package/fesm2020/agorapulse-ui-components-social-button.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-split-button.mjs +0 -119
- package/fesm2020/agorapulse-ui-components-split-button.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-stepper.mjs +0 -43
- package/fesm2020/agorapulse-ui-components-stepper.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-text-measurement.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-toggle.mjs +0 -197
- package/fesm2020/agorapulse-ui-components-toggle.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components-tooltip.mjs.map +0 -1
- package/fesm2020/agorapulse-ui-components.mjs +0 -252
- package/fesm2020/agorapulse-ui-components.mjs.map +0 -1
- /package/{esm2020 → esm2022}/add-comment/agorapulse-ui-components-add-comment.mjs +0 -0
- /package/{esm2020 → esm2022}/add-comment/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/agorapulse-ui-components.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar/agorapulse-ui-components-avatar.mjs +0 -0
- /package/{esm2020 → esm2022}/avatar/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/agorapulse-ui-components-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/agorapulse-ui-components-checkbox.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/confirm-modal/confirm-modal-texts.model.mjs +0 -0
- /package/{esm2020 → esm2022}/confirm-modal/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/agorapulse-ui-components-datepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/directives/agorapulse-ui-components-directives.mjs +0 -0
- /package/{esm2020 → esm2022}/directives/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/dots-stepper/agorapulse-ui-components-dots-stepper.mjs +0 -0
- /package/{esm2020 → esm2022}/dots-stepper/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/icon-button/agorapulse-ui-components-icon-button.mjs +0 -0
- /package/{esm2020 → esm2022}/icon-button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/infobox/agorapulse-ui-components-infobox.mjs +0 -0
- /package/{esm2020 → esm2022}/infobox/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/labels/agorapulse-ui-components-labels.mjs +0 -0
- /package/{esm2020 → esm2022}/labels/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/labels-selector/agorapulse-ui-components-labels-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/labels-selector/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +0 -0
- /package/{esm2020 → esm2022}/media-display-overlay/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/agorapulse-ui-components-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/neo-datepicker/agorapulse-ui-components-neo-datepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/neo-datepicker/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/agorapulse-ui-components-notification.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/paginator/agorapulse-ui-components-paginator.mjs +0 -0
- /package/{esm2020 → esm2022}/paginator/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/password-input/agorapulse-ui-components-password-input.mjs +0 -0
- /package/{esm2020 → esm2022}/password-input/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/popmenu/agorapulse-ui-components-popmenu.mjs +0 -0
- /package/{esm2020 → esm2022}/popmenu/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/agorapulse-ui-components-radio.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +0 -0
- /package/{esm2020 → esm2022}/slide-toggle/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbar/agorapulse-ui-components-snackbar.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbar/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +0 -0
- /package/{esm2020 → esm2022}/social-button/agorapulse-ui-components-social-button.mjs +0 -0
- /package/{esm2020 → esm2022}/social-button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/split-button/agorapulse-ui-components-split-button.mjs +0 -0
- /package/{esm2020 → esm2022}/split-button/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/stepper/agorapulse-ui-components-stepper.mjs +0 -0
- /package/{esm2020 → esm2022}/stepper/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/stepper/step.model.mjs +0 -0
- /package/{esm2020 → esm2022}/text-measurement/agorapulse-ui-components-text-measurement.mjs +0 -0
- /package/{esm2020 → esm2022}/text-measurement/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/toggle/agorapulse-ui-components-toggle.mjs +0 -0
- /package/{esm2020 → esm2022}/toggle/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/agorapulse-ui-components-tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, EventEmitter, SimpleChange, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, ContentChild, Output, HostListener } from '@angular/core';
|
|
3
|
+
import { CommonModule, NgIf } from '@angular/common';
|
|
4
|
+
import { SymbolRegistry, apArrowDown1, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
5
|
+
import * as i2 from '@angular/material/menu';
|
|
6
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
7
|
+
import * as i1 from '@agorapulse/ui-components/directives';
|
|
8
|
+
import { BaseButtonDirective } from '@agorapulse/ui-components/directives';
|
|
9
|
+
|
|
10
|
+
class SplitButtonComponent {
|
|
11
|
+
symbolRegistry = inject(SymbolRegistry);
|
|
12
|
+
baseButtonDirective = inject(BaseButtonDirective, { self: true });
|
|
13
|
+
buttonElement;
|
|
14
|
+
ariaLabel = '';
|
|
15
|
+
disabled = false;
|
|
16
|
+
name = '';
|
|
17
|
+
config;
|
|
18
|
+
menuTrigger = null;
|
|
19
|
+
splitDisabled = false;
|
|
20
|
+
symbolPosition = 'right';
|
|
21
|
+
splitButtonDataTest = undefined;
|
|
22
|
+
splitButtonElement;
|
|
23
|
+
symbolComponent;
|
|
24
|
+
menuOpened = new EventEmitter();
|
|
25
|
+
menuClosed = new EventEmitter();
|
|
26
|
+
mainButtonClick = new EventEmitter();
|
|
27
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
28
|
+
focus = new EventEmitter();
|
|
29
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
30
|
+
blur = new EventEmitter();
|
|
31
|
+
menuOpen = false;
|
|
32
|
+
constructor() {
|
|
33
|
+
this.symbolRegistry.registerSymbols([apArrowDown1]);
|
|
34
|
+
}
|
|
35
|
+
ngAfterViewChecked() {
|
|
36
|
+
if (this.symbolComponent) {
|
|
37
|
+
this.symbolComponent.size = 'micro';
|
|
38
|
+
this.symbolComponent.ngOnChanges({
|
|
39
|
+
size: new SimpleChange(null, this.symbolComponent.size, false),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
onSplitButtonClickHandle($event) {
|
|
44
|
+
$event.stopImmediatePropagation();
|
|
45
|
+
}
|
|
46
|
+
handleMenuOpened() {
|
|
47
|
+
this.menuOpened.emit();
|
|
48
|
+
this.menuOpen = true;
|
|
49
|
+
this.buttonElement.nativeElement.blur();
|
|
50
|
+
this.splitButtonElement.nativeElement.blur();
|
|
51
|
+
}
|
|
52
|
+
handleMenuClosed() {
|
|
53
|
+
this.menuClosed.emit();
|
|
54
|
+
this.menuOpen = false;
|
|
55
|
+
this.buttonElement.nativeElement.blur();
|
|
56
|
+
this.splitButtonElement.nativeElement.blur();
|
|
57
|
+
}
|
|
58
|
+
focused = false;
|
|
59
|
+
onClickHandle($event) {
|
|
60
|
+
if (this.disabled) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
$event.stopImmediatePropagation();
|
|
64
|
+
this.mainButtonClick.emit($event);
|
|
65
|
+
this.buttonElement.nativeElement.blur();
|
|
66
|
+
this.blur.emit($event);
|
|
67
|
+
}
|
|
68
|
+
onSpaceKeyUp(event) {
|
|
69
|
+
if (this.focused) {
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
this.buttonElement.nativeElement.click();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: SplitButtonComponent, isStandalone: true, selector: "ap-split-button", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", name: "name", config: "config", menuTrigger: "menuTrigger", splitDisabled: "splitDisabled", symbolPosition: "symbolPosition", splitButtonDataTest: "splitButtonDataTest" }, outputs: { menuOpened: "menuOpened", menuClosed: "menuClosed", mainButtonClick: "mainButtonClick", focus: "focus", blur: "blur" }, host: { listeners: { "window:keyup.space": "onSpaceKeyUp($event)" }, properties: { "attr.disabled": "(disabled && splitDisabled) || null" } }, providers: [], queries: [{ propertyName: "symbolComponent", first: true, predicate: SymbolComponent, descendants: true }], viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true }, { propertyName: "splitButtonElement", first: true, predicate: ["splitButton"], descendants: true }], hostDirectives: [{ directive: i1.BaseButtonDirective }], ngImport: i0, template: "<button\n #button\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\">\n <ng-content select=\"span\" />\n <ng-content select=\"ap-symbol\" />\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\">\n <ap-symbol\n symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\" />\n</button>\n", styles: ["ap-split-button{--loading-bar-width: 50px;display:inline-flex;gap:1px;position:relative}ap-split-button[disabled]{pointer-events:none}ap-split-button button{border:none;position:relative;padding:var(--comp-split-button-padding-horizontal) var(--comp-split-button-padding-vertical);max-height:var(--comp-button-height);min-height:var(--comp-button-height);overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px}ap-split-button button.inverse{flex-direction:row-reverse}ap-split-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-split-button button:disabled{pointer-events:none}@media (hover: hover){ap-split-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px;z-index:10}}ap-split-button button span{font-size:var(--comp-split-button-text-size);font-family:var(--comp-split-button-text-font-family);line-height:var(--comp-split-button-text-line-height);font-weight:var(--comp-split-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-split-button button.loading{pointer-events:none}ap-split-button button.primary span,ap-split-button button.primary ap-symbol{color:var(--ref-color-white)}ap-split-button button.primary.orange{background:var(--ref-color-orange-100)}ap-split-button button.primary.orange:hover{background-color:var(--ref-color-orange-80)}ap-split-button button.primary.orange:active:not(:disabled){background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange:disabled{background-color:var(--ref-color-orange-20)}ap-split-button button.primary.orange.loading{background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange .loading-bar{background-color:var(--ref-color-orange-100)}ap-split-button button.primary.blue{background:var(--ref-color-electric-blue-100)}ap-split-button button.primary.blue:hover{background-color:var(--ref-color-electric-blue-80)}ap-split-button button.primary.blue:active:not(:disabled){background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue:disabled{background-color:var(--ref-color-electric-blue-20)}ap-split-button button.primary.blue.loading{background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue .loading-bar{background-color:var(--ref-color-electric-blue-100)}ap-split-button button:first-child{border-top-left-radius:var(--comp-split-button-border-radius);border-bottom-left-radius:var(--comp-split-button-border-radius)}ap-split-button button:last-child{border-top-right-radius:var(--comp-split-button-border-radius);border-bottom-right-radius:var(--comp-split-button-border-radius);padding:var(--comp-split-button-padding-horizontal) 10px var(--comp-split-button-padding-horizontal) 10px}ap-split-button button ap-symbol{will-change:transform;transition:.2s ease-in-out}ap-split-button button ap-symbol.opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-split-button', standalone: true, imports: [NgIf, SymbolComponent, CommonModule, MatMenuModule], providers: [], encapsulation: ViewEncapsulation.None, hostDirectives: [BaseButtonDirective], host: {
|
|
80
|
+
'[attr.disabled]': '(disabled && splitDisabled) || null',
|
|
81
|
+
}, template: "<button\n #button\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\">\n <ng-content select=\"span\" />\n <ng-content select=\"ap-symbol\" />\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\">\n <ap-symbol\n symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\" />\n</button>\n", styles: ["ap-split-button{--loading-bar-width: 50px;display:inline-flex;gap:1px;position:relative}ap-split-button[disabled]{pointer-events:none}ap-split-button button{border:none;position:relative;padding:var(--comp-split-button-padding-horizontal) var(--comp-split-button-padding-vertical);max-height:var(--comp-button-height);min-height:var(--comp-button-height);overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px}ap-split-button button.inverse{flex-direction:row-reverse}ap-split-button button:hover:not(:disabled):not(.loading){cursor:pointer}ap-split-button button:disabled{pointer-events:none}@media (hover: hover){ap-split-button button:focus:not(:disabled):not(:active):not(.loading){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px;z-index:10}}ap-split-button button span{font-size:var(--comp-split-button-text-size);font-family:var(--comp-split-button-text-font-family);line-height:var(--comp-split-button-text-line-height);font-weight:var(--comp-split-button-text-weight);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ap-split-button button.loading{pointer-events:none}ap-split-button button.primary span,ap-split-button button.primary ap-symbol{color:var(--ref-color-white)}ap-split-button button.primary.orange{background:var(--ref-color-orange-100)}ap-split-button button.primary.orange:hover{background-color:var(--ref-color-orange-80)}ap-split-button button.primary.orange:active:not(:disabled){background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange:disabled{background-color:var(--ref-color-orange-20)}ap-split-button button.primary.orange.loading{background-color:var(--ref-color-orange-60)}ap-split-button button.primary.orange .loading-bar{background-color:var(--ref-color-orange-100)}ap-split-button button.primary.blue{background:var(--ref-color-electric-blue-100)}ap-split-button button.primary.blue:hover{background-color:var(--ref-color-electric-blue-80)}ap-split-button button.primary.blue:active:not(:disabled){background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue:disabled{background-color:var(--ref-color-electric-blue-20)}ap-split-button button.primary.blue.loading{background-color:var(--ref-color-electric-blue-60)}ap-split-button button.primary.blue .loading-bar{background-color:var(--ref-color-electric-blue-100)}ap-split-button button:first-child{border-top-left-radius:var(--comp-split-button-border-radius);border-bottom-left-radius:var(--comp-split-button-border-radius)}ap-split-button button:last-child{border-top-right-radius:var(--comp-split-button-border-radius);border-bottom-right-radius:var(--comp-split-button-border-radius);padding:var(--comp-split-button-padding-horizontal) 10px var(--comp-split-button-padding-horizontal) 10px}ap-split-button button ap-symbol{will-change:transform;transition:.2s ease-in-out}ap-split-button button ap-symbol.opened{transform:rotate(180deg)}\n"] }]
|
|
82
|
+
}], ctorParameters: function () { return []; }, propDecorators: { buttonElement: [{
|
|
83
|
+
type: ViewChild,
|
|
84
|
+
args: ['button']
|
|
85
|
+
}], ariaLabel: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], disabled: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], name: [{
|
|
90
|
+
type: Input,
|
|
91
|
+
args: [{
|
|
92
|
+
required: true
|
|
93
|
+
}]
|
|
94
|
+
}], config: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{
|
|
97
|
+
required: true
|
|
98
|
+
}]
|
|
99
|
+
}], menuTrigger: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], splitDisabled: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], symbolPosition: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], splitButtonDataTest: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], splitButtonElement: [{
|
|
108
|
+
type: ViewChild,
|
|
109
|
+
args: ['splitButton']
|
|
110
|
+
}], symbolComponent: [{
|
|
111
|
+
type: ContentChild,
|
|
112
|
+
args: [SymbolComponent]
|
|
113
|
+
}], menuOpened: [{
|
|
114
|
+
type: Output
|
|
115
|
+
}], menuClosed: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}], mainButtonClick: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}], focus: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}], blur: [{
|
|
122
|
+
type: Output
|
|
123
|
+
}], onSpaceKeyUp: [{
|
|
124
|
+
type: HostListener,
|
|
125
|
+
args: ['window:keyup.space', ['$event']]
|
|
126
|
+
}] } });
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Generated bundle index. Do not edit.
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
export { SplitButtonComponent };
|
|
133
|
+
//# sourceMappingURL=agorapulse-ui-components-split-button.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-split-button.mjs","sources":["../../../libs/ui-components/split-button/src/split-button.component.ts","../../../libs/ui-components/split-button/src/split-button.component.html","../../../libs/ui-components/split-button/src/agorapulse-ui-components-split-button.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Input,\n Output,\n SimpleChange,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule, NgIf } from '@angular/common';\nimport { apArrowDown1, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { MatLegacyMenu } from '@angular/material/legacy-menu';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { BaseButtonDirective } from '@agorapulse/ui-components/directives';\n\ntype SplitButtonConfig = { style: 'primary'; color: 'orange' | 'blue' };\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-split-button',\n styleUrls: ['./split-button.component.scss'],\n standalone: true,\n imports: [NgIf, SymbolComponent, CommonModule, MatMenuModule],\n providers: [],\n templateUrl: './split-button.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [BaseButtonDirective],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.disabled]': '(disabled && splitDisabled) || null',\n },\n})\nexport class SplitButtonComponent implements AfterViewChecked {\n private symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n readonly baseButtonDirective: BaseButtonDirective = inject(BaseButtonDirective, { self: true });\n\n @ViewChild('button') buttonElement!: ElementRef<HTMLButtonElement>;\n\n @Input() ariaLabel: string = '';\n @Input() disabled: boolean | undefined = false;\n @Input({\n required: true\n }) name = '';\n @Input({\n required: true\n }) config!: SplitButtonConfig;\n @Input() menuTrigger: MatLegacyMenu | null = null;\n @Input() splitDisabled: boolean = false;\n @Input() symbolPosition: 'left' | 'right' = 'right';\n @Input() splitButtonDataTest: string | undefined = undefined;\n\n @ViewChild('splitButton') splitButtonElement!: ElementRef<HTMLButtonElement>;\n\n @ContentChild(SymbolComponent) symbolComponent!: SymbolComponent;\n\n @Output() menuOpened: EventEmitter<void> = new EventEmitter();\n @Output() menuClosed: EventEmitter<void> = new EventEmitter();\n @Output() mainButtonClick: EventEmitter<MouseEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus: EventEmitter<FocusEvent> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur: EventEmitter<FocusEvent> = new EventEmitter();\n\n menuOpen = false;\n\n constructor() {\n this.symbolRegistry.registerSymbols([apArrowDown1]);\n }\n\n ngAfterViewChecked(): void {\n if (this.symbolComponent) {\n this.symbolComponent.size = 'micro';\n this.symbolComponent.ngOnChanges({\n size: new SimpleChange(null, this.symbolComponent.size, false),\n });\n }\n }\n\n onSplitButtonClickHandle($event: MouseEvent): void {\n $event.stopImmediatePropagation();\n }\n\n handleMenuOpened(): void {\n this.menuOpened.emit();\n this.menuOpen = true;\n this.buttonElement.nativeElement.blur();\n this.splitButtonElement.nativeElement.blur();\n }\n\n handleMenuClosed(): void {\n this.menuClosed.emit();\n this.menuOpen = false;\n this.buttonElement.nativeElement.blur();\n this.splitButtonElement.nativeElement.blur();\n }\n\n focused: boolean = false;\n\n onClickHandle($event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n $event.stopImmediatePropagation();\n this.mainButtonClick.emit($event);\n this.buttonElement.nativeElement.blur();\n this.blur.emit($event);\n }\n\n @HostListener('window:keyup.space', ['$event'])\n onSpaceKeyUp(event: KeyboardEvent) {\n if (this.focused) {\n event.preventDefault();\n this.buttonElement.nativeElement.click();\n }\n }\n}\n","<button\n #button\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [attr.id]=\"baseButtonDirective.hostId\"\n [attr.data-test]=\"baseButtonDirective.hostDataTest ?? name\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"onClickHandle($event)\"\n (focus)=\"focus.emit($event)\"\n (blur)=\"blur.emit($event)\">\n <ng-content select=\"span\" />\n <ng-content select=\"ap-symbol\" />\n</button>\n<button\n #splitButton\n #trigger=\"matMenuTrigger\"\n role=\"button\"\n [class.primary]=\"config.style === 'primary'\"\n [class.orange]=\"config.color === 'orange'\"\n [class.blue]=\"config.color === 'blue'\"\n [disabled]=\"splitDisabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-disabled]=\"splitDisabled.toString()\"\n [attr.data-test]=\"splitButtonDataTest ?? name + '-split'\"\n (click)=\"onSplitButtonClickHandle($event)\"\n [matMenuTriggerFor]=\"menuTrigger\"\n (menuClosed)=\"handleMenuClosed()\"\n (menuOpened)=\"handleMenuOpened()\">\n <ap-symbol\n symbolId=\"arrow-down-1\"\n size=\"nano\"\n [class.opened]=\"menuOpen\" />\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SymbolComponent } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { NgClass, NgForOf, NgIf } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
|
|
5
|
+
|
|
6
|
+
class StepperComponent {
|
|
7
|
+
currentStep = undefined;
|
|
8
|
+
steps = []; // Immutable after init.
|
|
9
|
+
stepClicked = new EventEmitter();
|
|
10
|
+
stepTexts = {};
|
|
11
|
+
currentIndex = 0;
|
|
12
|
+
ngOnChanges() {
|
|
13
|
+
if (this.steps?.length > 0 && this.currentStep) {
|
|
14
|
+
this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep?.id);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.currentIndex = 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
clickCurrentStep(step) {
|
|
21
|
+
this.stepClicked.emit(step);
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: StepperComponent, isStandalone: true, selector: "ap-stepper", inputs: { currentStep: "currentStep", steps: "steps" }, outputs: { stepClicked: "stepClicked" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"main\">\n <span\n class=\"item\"\n *ngFor=\"let step of steps; let index = index; let last = last\">\n <span\n [ngClass]=\"{\n number: true,\n active: index === currentIndex,\n 'no-more-active': currentIndex > index || (index !== currentIndex && step.visited),\n 'not-yet-active': currentIndex < index && !step.visited\n }\">\n {{ index + 1 }}\n </span>\n <span\n class=\"text\"\n [ngClass]=\"{ clickable: step.clickable }\"\n (click)=\"step.clickable ? clickCurrentStep(step) : false\">\n {{ step.name }}\n </span>\n <ap-symbol\n *ngIf=\"!last\"\n [symbolId]=\"'arrow-right-1'\"\n size=\"12\" />\n </span>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.active{font-weight:700}.main{display:flex}.main .item{height:-moz-fit-content;height:fit-content}.main .item .number{border-radius:24px;width:24px;height:24px;display:inline-block;text-align:center;vertical-align:middle;line-height:24px;box-sizing:border-box}.main .item .number.active{box-shadow:0 0 0 1.5px #e8f4ff;border:1.5px solid #e8f4ff;line-height:21px;background-color:#178dfe;color:#fff}.main .item .number.no-more-active{background-color:#e8f4ff;color:#178dfe}.main .item .number.not-yet-active{border:1px solid #e8f4ff;line-height:22px;background-color:transparent;color:#178dfe}.main .item .text{padding-left:8px;height:-moz-fit-content;height:fit-content;margin:auto;line-height:24px;vertical-align:middle}.main .item .text.clickable:hover{color:#178dfe;cursor:pointer}.main .item ap-symbol{color:#858fa1;margin:auto 10px;vertical-align:middle;display:inline-block}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: StepperComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-stepper', standalone: true, imports: [SymbolComponent, NgClass, NgForOf, NgIf], template: "<div class=\"main\">\n <span\n class=\"item\"\n *ngFor=\"let step of steps; let index = index; let last = last\">\n <span\n [ngClass]=\"{\n number: true,\n active: index === currentIndex,\n 'no-more-active': currentIndex > index || (index !== currentIndex && step.visited),\n 'not-yet-active': currentIndex < index && !step.visited\n }\">\n {{ index + 1 }}\n </span>\n <span\n class=\"text\"\n [ngClass]=\"{ clickable: step.clickable }\"\n (click)=\"step.clickable ? clickCurrentStep(step) : false\">\n {{ step.name }}\n </span>\n <ap-symbol\n *ngIf=\"!last\"\n [symbolId]=\"'arrow-right-1'\"\n size=\"12\" />\n </span>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.active{font-weight:700}.main{display:flex}.main .item{height:-moz-fit-content;height:fit-content}.main .item .number{border-radius:24px;width:24px;height:24px;display:inline-block;text-align:center;vertical-align:middle;line-height:24px;box-sizing:border-box}.main .item .number.active{box-shadow:0 0 0 1.5px #e8f4ff;border:1.5px solid #e8f4ff;line-height:21px;background-color:#178dfe;color:#fff}.main .item .number.no-more-active{background-color:#e8f4ff;color:#178dfe}.main .item .number.not-yet-active{border:1px solid #e8f4ff;line-height:22px;background-color:transparent;color:#178dfe}.main .item .text{padding-left:8px;height:-moz-fit-content;height:fit-content;margin:auto;line-height:24px;vertical-align:middle}.main .item .text.clickable:hover{color:#178dfe;cursor:pointer}.main .item ap-symbol{color:#858fa1;margin:auto 10px;vertical-align:middle;display:inline-block}\n"] }]
|
|
29
|
+
}], propDecorators: { currentStep: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], steps: [{
|
|
32
|
+
type: Input,
|
|
33
|
+
args: [{
|
|
34
|
+
required: true
|
|
35
|
+
}]
|
|
36
|
+
}], stepClicked: [{
|
|
37
|
+
type: Output
|
|
38
|
+
}] } });
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generated bundle index. Do not edit.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
export { StepperComponent };
|
|
45
|
+
//# sourceMappingURL=agorapulse-ui-components-stepper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-stepper.mjs","sources":["../../../libs/ui-components/stepper/src/stepper.component.ts","../../../libs/ui-components/stepper/src/stepper.component.html","../../../libs/ui-components/stepper/src/agorapulse-ui-components-stepper.ts"],"sourcesContent":["import { SymbolComponent } from '@agorapulse/ui-symbol';\nimport { NgClass, NgForOf, NgIf } from '@angular/common';\nimport { Component, Input, Output, OnChanges, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { Step } from './step.model';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n standalone: true,\n imports: [SymbolComponent, NgClass, NgForOf, NgIf],\n})\nexport class StepperComponent implements OnChanges {\n @Input() currentStep: Step | undefined = undefined;\n @Input({\n required: true\n }) steps: Step[] = []; // Immutable after init.\n @Output() stepClicked: EventEmitter<Step> = new EventEmitter<Step>();\n\n stepTexts: { [index: number]: string } = {};\n currentIndex = 0;\n\n ngOnChanges(): void {\n if (this.steps?.length > 0 && this.currentStep) {\n this.currentIndex = this.steps.findIndex(step => step.id === this.currentStep?.id);\n } else {\n this.currentIndex = 0;\n }\n }\n\n clickCurrentStep(step: Step): void {\n this.stepClicked.emit(step);\n }\n}\n","<div class=\"main\">\n <span\n class=\"item\"\n *ngFor=\"let step of steps; let index = index; let last = last\">\n <span\n [ngClass]=\"{\n number: true,\n active: index === currentIndex,\n 'no-more-active': currentIndex > index || (index !== currentIndex && step.visited),\n 'not-yet-active': currentIndex < index && !step.visited\n }\">\n {{ index + 1 }}\n </span>\n <span\n class=\"text\"\n [ngClass]=\"{ clickable: step.clickable }\"\n (click)=\"step.clickable ? clickCurrentStep(step) : false\">\n {{ step.name }}\n </span>\n <ap-symbol\n *ngIf=\"!last\"\n [symbolId]=\"'arrow-right-1'\"\n size=\"12\" />\n </span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;MAaa,gBAAgB,CAAA;IAChB,WAAW,GAAqB,SAAS,CAAC;AAGhD,IAAA,KAAK,GAAW,EAAE,CAAC;AACZ,IAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;IAErE,SAAS,GAAgC,EAAE,CAAC;IAC5C,YAAY,GAAG,CAAC,CAAC;IAEjB,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACtF,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;AACzB,SAAA;KACJ;AAED,IAAA,gBAAgB,CAAC,IAAU,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;wGApBQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb7B,w1BAyBA,EDdc,MAAA,EAAA,CAAA,4xMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,6FAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAExC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACW,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACrC,QAAA,EAAA,YAAY,cAGV,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA,QAAA,EAAA,w1BAAA,EAAA,MAAA,EAAA,CAAA,4xMAAA,CAAA,EAAA,CAAA;8BAGzC,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGH,KAAK,EAAA,CAAA;sBAFP,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACH,wBAAA,QAAQ,EAAE,IAAI;AACjB,qBAAA,CAAA;gBACS,WAAW,EAAA,CAAA;sBAApB,MAAM;;;AElBX;;AAEG;;;;"}
|
|
@@ -2,28 +2,29 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class TextMeasurementService {
|
|
5
|
+
textDiv;
|
|
5
6
|
constructor() {
|
|
6
7
|
const lDiv = document.createElement('div');
|
|
7
8
|
document.body.appendChild(lDiv);
|
|
8
|
-
lDiv.style.color =
|
|
9
|
-
lDiv.style.position =
|
|
9
|
+
lDiv.style.color = 'transparent';
|
|
10
|
+
lDiv.style.position = 'absolute';
|
|
10
11
|
lDiv.style.left = '-1000';
|
|
11
12
|
lDiv.style.top = '-1000';
|
|
12
13
|
this.textDiv = lDiv;
|
|
13
14
|
}
|
|
14
15
|
calculateTextWidth(text, fontSize, fontFamily) {
|
|
15
16
|
this.textDiv.textContent = text;
|
|
16
|
-
this.textDiv.style.fontSize = fontSize +
|
|
17
|
+
this.textDiv.style.fontSize = fontSize + 'px';
|
|
17
18
|
this.textDiv.style.fontFamily = fontFamily;
|
|
18
19
|
return this.textDiv.getBoundingClientRect().width;
|
|
19
20
|
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextMeasurementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextMeasurementService, providedIn: 'root' });
|
|
20
23
|
}
|
|
21
|
-
|
|
22
|
-
TextMeasurementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TextMeasurementService, providedIn: 'root' });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TextMeasurementService, decorators: [{
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TextMeasurementService, decorators: [{
|
|
24
25
|
type: Injectable,
|
|
25
26
|
args: [{
|
|
26
|
-
providedIn: 'root'
|
|
27
|
+
providedIn: 'root',
|
|
27
28
|
}]
|
|
28
29
|
}], ctorParameters: function () { return []; } });
|
|
29
30
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-text-measurement.mjs","sources":["../../../libs/ui-components/text-measurement/src/text-measurement.service.ts","../../../libs/ui-components/text-measurement/src/agorapulse-ui-components-text-measurement.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TextMeasurementService {\n private textDiv: HTMLDivElement;\n\n constructor() {\n const lDiv = document.createElement('div');\n\n document.body.appendChild(lDiv);\n lDiv.style.color = 'transparent';\n lDiv.style.position = 'absolute';\n lDiv.style.left = '-1000';\n lDiv.style.top = '-1000';\n\n this.textDiv = lDiv;\n }\n\n public calculateTextWidth(text: string, fontSize: number, fontFamily: string) {\n this.textDiv.textContent = text;\n this.textDiv.style.fontSize = fontSize + 'px';\n this.textDiv.style.fontFamily = fontFamily;\n return this.textDiv.getBoundingClientRect().width;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAKa,sBAAsB,CAAA;AACvB,IAAA,OAAO,CAAiB;AAEhC,IAAA,WAAA,GAAA;QACI,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE3C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;AAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;AAEzB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;AAEM,IAAA,kBAAkB,CAAC,IAAY,EAAE,QAAgB,EAAE,UAAkB,EAAA;AACxE,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACrD;wGApBQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACJD;;AAEG;;;;"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { forwardRef, inject, ChangeDetectorRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, Output } from '@angular/core';
|
|
3
|
+
import { CommonModule, NgIf } from '@angular/common';
|
|
4
|
+
import { SymbolRegistry, apCheck2, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
5
|
+
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
6
|
+
import { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';
|
|
7
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
8
|
+
import { first } from 'rxjs/operators';
|
|
9
|
+
|
|
10
|
+
const AP_CHECKBOX_CONTROL_VALUE_ACCESSOR = {
|
|
11
|
+
provide: NG_VALUE_ACCESSOR,
|
|
12
|
+
useExisting: forwardRef(() => ToggleComponent),
|
|
13
|
+
multi: true,
|
|
14
|
+
};
|
|
15
|
+
class ToggleComponent {
|
|
16
|
+
symbolRegistry = inject(SymbolRegistry);
|
|
17
|
+
dialog = inject(MatDialog);
|
|
18
|
+
cdr = inject(ChangeDetectorRef);
|
|
19
|
+
inputElement;
|
|
20
|
+
labelElement;
|
|
21
|
+
ariaLabel = '';
|
|
22
|
+
ariaLabelledby = null;
|
|
23
|
+
ariaDescribedby = null;
|
|
24
|
+
labelPosition = 'right';
|
|
25
|
+
disabled = false;
|
|
26
|
+
checked = false;
|
|
27
|
+
required = false;
|
|
28
|
+
confirm = false;
|
|
29
|
+
confirmMessage = 'If you toggle this, it will affect other things. Are you sure';
|
|
30
|
+
confirmOk = 'Confirm';
|
|
31
|
+
confirmCancel = 'Cancel';
|
|
32
|
+
confirmTitle = 'Are you sure?';
|
|
33
|
+
set name(name) {
|
|
34
|
+
if (!name.endsWith('Checkbox')) {
|
|
35
|
+
this._name = name + 'Checkbox';
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this._name = name;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get name() {
|
|
42
|
+
return this._name;
|
|
43
|
+
}
|
|
44
|
+
// eslint-disable-next-line
|
|
45
|
+
change = new EventEmitter();
|
|
46
|
+
hasLabel = false;
|
|
47
|
+
_name = '';
|
|
48
|
+
_controlValueAccessorChangeFn;
|
|
49
|
+
onTouched;
|
|
50
|
+
ngOnChanges() {
|
|
51
|
+
if (this.labelElement) {
|
|
52
|
+
this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
this.symbolRegistry.registerSymbols([apCheck2]);
|
|
57
|
+
}
|
|
58
|
+
ngAfterContentInit() {
|
|
59
|
+
if (this.labelElement) {
|
|
60
|
+
this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
onValueChange() {
|
|
64
|
+
if (!this.disabled) {
|
|
65
|
+
if (!this.confirm) {
|
|
66
|
+
if (this.onTouched) {
|
|
67
|
+
this.onTouched();
|
|
68
|
+
}
|
|
69
|
+
this.changeValue();
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const toggleConfirmModal = {
|
|
73
|
+
contentText: this.confirmMessage,
|
|
74
|
+
headerTitle: this.confirmTitle,
|
|
75
|
+
footerCancelButtonLabel: this.confirmCancel,
|
|
76
|
+
footerConfirmButtonLabel: this.confirmOk,
|
|
77
|
+
footerConfirmButtonId: 'confirm',
|
|
78
|
+
footerCancelButtonId: 'cancel',
|
|
79
|
+
};
|
|
80
|
+
const modalConfig = {
|
|
81
|
+
matDialogConfig: {
|
|
82
|
+
panelClass: 'design-system',
|
|
83
|
+
width: '550px',
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
const dialogRef = ConfirmModalComponent.open(this.dialog, toggleConfirmModal, modalConfig);
|
|
87
|
+
dialogRef
|
|
88
|
+
.afterClosed()
|
|
89
|
+
.pipe(first())
|
|
90
|
+
.subscribe(result => {
|
|
91
|
+
if (result) {
|
|
92
|
+
if (this.onTouched) {
|
|
93
|
+
this.onTouched();
|
|
94
|
+
}
|
|
95
|
+
this.changeValue();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
changeValue() {
|
|
102
|
+
this.checked = !this.checked;
|
|
103
|
+
this.focus();
|
|
104
|
+
this.change.emit(this.checked);
|
|
105
|
+
if (this._controlValueAccessorChangeFn) {
|
|
106
|
+
this._controlValueAccessorChangeFn(this.checked);
|
|
107
|
+
}
|
|
108
|
+
// Assigning the value again here is redundant, but we have to do it in case it was
|
|
109
|
+
// changed inside the `change` listener which will cause the input to be out of sync.
|
|
110
|
+
if (this.inputElement) {
|
|
111
|
+
this.inputElement.nativeElement.checked = this.checked;
|
|
112
|
+
}
|
|
113
|
+
this.cdr.markForCheck();
|
|
114
|
+
}
|
|
115
|
+
focus() {
|
|
116
|
+
this.inputElement.nativeElement.focus();
|
|
117
|
+
}
|
|
118
|
+
writeValue(value) {
|
|
119
|
+
this.checked = value;
|
|
120
|
+
}
|
|
121
|
+
registerOnChange(fn) {
|
|
122
|
+
this._controlValueAccessorChangeFn = fn;
|
|
123
|
+
}
|
|
124
|
+
registerOnTouched(fn) {
|
|
125
|
+
this.onTouched = fn;
|
|
126
|
+
}
|
|
127
|
+
setDisabledState(isDisabled) {
|
|
128
|
+
this.disabled = isDisabled;
|
|
129
|
+
}
|
|
130
|
+
validate({ value }) {
|
|
131
|
+
return (this.required &&
|
|
132
|
+
!value && {
|
|
133
|
+
invalid: true,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
_preventBubblingFromLabel(event) {
|
|
137
|
+
if (!!event.target && this.labelElement.nativeElement.contains(event.target)) {
|
|
138
|
+
event.stopPropagation();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.10", type: ToggleComponent, isStandalone: true, selector: "ap-toggle", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], labelPosition: "labelPosition", disabled: "disabled", checked: "checked", required: "required", confirm: "confirm", confirmMessage: "confirmMessage", confirmOk: "confirmOk", confirmCancel: "confirmCancel", confirmTitle: "confirmTitle", name: "name" }, outputs: { change: "change" }, providers: [
|
|
143
|
+
AP_CHECKBOX_CONTROL_VALUE_ACCESSOR,
|
|
144
|
+
{
|
|
145
|
+
provide: NG_VALIDATORS,
|
|
146
|
+
useExisting: ToggleComponent,
|
|
147
|
+
multi: true,
|
|
148
|
+
},
|
|
149
|
+
MatDialog,
|
|
150
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"toggle\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #input\n class=\"hidden\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"name\"\n [name]=\"name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.data-test]=\"name\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"checked\"\n (click)=\"onValueChange()\" />\n <div\n class=\"switch-container\"\n [class.label-left]=\"labelPosition === 'left'\">\n <div\n class=\"switch\"\n [class.checked]=\"checked\"\n (click)=\"onValueChange()\">\n <div class=\"knob\"></div>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n </div>\n</div>\n", styles: ["ap-toggle{position:relative}ap-toggle .toggle{display:flex;gap:8px;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-toggle .toggle input.hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}ap-toggle .toggle input[type=checkbox]{margin:0;padding:0;width:0;height:0;transform:scale(0)}@media (hover: hover){ap-toggle .toggle input[type=checkbox]:focus:not(.disabled)~.switch-container .switch{outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-toggle .toggle input[type=checkbox]:disabled~.switch-container .switch{background:var(--ref-color-grey-20);pointer-events:none;cursor:default}ap-toggle .toggle .switch-container{display:flex;gap:var(--ref-spacing-xs);align-items:center}ap-toggle .toggle .switch-container.label-left{flex-direction:row-reverse}ap-toggle .toggle .switch-container .switch{box-sizing:content-box;position:relative;display:flex;align-items:center;padding:2px;width:28px;height:12px;border-radius:16px;background:var(--ref-color-grey-40);transition:background-color .25s}ap-toggle .toggle .switch-container .switch:hover{cursor:pointer;background:var(--ref-color-grey-60)}ap-toggle .toggle .switch-container .switch:active:not(.checked){background:var(--ref-color-grey-80)}ap-toggle .toggle .switch-container .switch.checked{background:var(--ref-color-electric-blue-100)}ap-toggle .toggle .switch-container .switch.checked:active{background:var(--ref-color-electric-blue-60)}ap-toggle .toggle .switch-container .switch.checked .knob{left:18px}ap-toggle .toggle .switch-container .switch .knob{width:12px;height:12px;background:white;border-radius:100%;position:absolute;transition:left .25s;left:2px}ap-toggle .toggle .switch-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height)}ap-toggle .toggle .switch-container label:empty{display:none}ap-toggle .toggle .switch-container label.disabled{color:var(--ref-color-grey-60)}ap-toggle .toggle .switch-container label:hover:not(.disabled){cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
153
|
+
type: Component,
|
|
154
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-toggle', standalone: true, imports: [NgIf, SymbolComponent, CommonModule], providers: [
|
|
155
|
+
AP_CHECKBOX_CONTROL_VALUE_ACCESSOR,
|
|
156
|
+
{
|
|
157
|
+
provide: NG_VALIDATORS,
|
|
158
|
+
useExisting: ToggleComponent,
|
|
159
|
+
multi: true,
|
|
160
|
+
},
|
|
161
|
+
MatDialog,
|
|
162
|
+
], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"toggle\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #input\n class=\"hidden\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"name\"\n [name]=\"name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.data-test]=\"name\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"checked\"\n (click)=\"onValueChange()\" />\n <div\n class=\"switch-container\"\n [class.label-left]=\"labelPosition === 'left'\">\n <div\n class=\"switch\"\n [class.checked]=\"checked\"\n (click)=\"onValueChange()\">\n <div class=\"knob\"></div>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n </div>\n</div>\n", styles: ["ap-toggle{position:relative}ap-toggle .toggle{display:flex;gap:8px;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-toggle .toggle input.hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}ap-toggle .toggle input[type=checkbox]{margin:0;padding:0;width:0;height:0;transform:scale(0)}@media (hover: hover){ap-toggle .toggle input[type=checkbox]:focus:not(.disabled)~.switch-container .switch{outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-toggle .toggle input[type=checkbox]:disabled~.switch-container .switch{background:var(--ref-color-grey-20);pointer-events:none;cursor:default}ap-toggle .toggle .switch-container{display:flex;gap:var(--ref-spacing-xs);align-items:center}ap-toggle .toggle .switch-container.label-left{flex-direction:row-reverse}ap-toggle .toggle .switch-container .switch{box-sizing:content-box;position:relative;display:flex;align-items:center;padding:2px;width:28px;height:12px;border-radius:16px;background:var(--ref-color-grey-40);transition:background-color .25s}ap-toggle .toggle .switch-container .switch:hover{cursor:pointer;background:var(--ref-color-grey-60)}ap-toggle .toggle .switch-container .switch:active:not(.checked){background:var(--ref-color-grey-80)}ap-toggle .toggle .switch-container .switch.checked{background:var(--ref-color-electric-blue-100)}ap-toggle .toggle .switch-container .switch.checked:active{background:var(--ref-color-electric-blue-60)}ap-toggle .toggle .switch-container .switch.checked .knob{left:18px}ap-toggle .toggle .switch-container .switch .knob{width:12px;height:12px;background:white;border-radius:100%;position:absolute;transition:left .25s;left:2px}ap-toggle .toggle .switch-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height)}ap-toggle .toggle .switch-container label:empty{display:none}ap-toggle .toggle .switch-container label.disabled{color:var(--ref-color-grey-60)}ap-toggle .toggle .switch-container label:hover:not(.disabled){cursor:pointer}\n"] }]
|
|
163
|
+
}], propDecorators: { inputElement: [{
|
|
164
|
+
type: ViewChild,
|
|
165
|
+
args: ['input']
|
|
166
|
+
}], labelElement: [{
|
|
167
|
+
type: ViewChild,
|
|
168
|
+
args: ['label']
|
|
169
|
+
}], ariaLabel: [{
|
|
170
|
+
type: Input,
|
|
171
|
+
args: ['aria-label']
|
|
172
|
+
}], ariaLabelledby: [{
|
|
173
|
+
type: Input,
|
|
174
|
+
args: ['aria-labelledby']
|
|
175
|
+
}], ariaDescribedby: [{
|
|
176
|
+
type: Input,
|
|
177
|
+
args: ['aria-describedby']
|
|
178
|
+
}], labelPosition: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], disabled: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], checked: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], required: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], confirm: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], confirmMessage: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], confirmOk: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], confirmCancel: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], confirmTitle: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], name: [{
|
|
197
|
+
type: Input,
|
|
198
|
+
args: [{
|
|
199
|
+
required: true
|
|
200
|
+
}]
|
|
201
|
+
}], change: [{
|
|
202
|
+
type: Output
|
|
203
|
+
}] } });
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Generated bundle index. Do not edit.
|
|
207
|
+
*/
|
|
208
|
+
|
|
209
|
+
export { AP_CHECKBOX_CONTROL_VALUE_ACCESSOR, ToggleComponent };
|
|
210
|
+
//# sourceMappingURL=agorapulse-ui-components-toggle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-toggle.mjs","sources":["../../../libs/ui-components/toggle/src/toggle.component.ts","../../../libs/ui-components/toggle/src/toggle.component.html","../../../libs/ui-components/toggle/src/agorapulse-ui-components-toggle.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule, NgIf } from '@angular/common';\nimport { apCheck2, SymbolComponent, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ConfirmModalComponent } from '@agorapulse/ui-components/confirm-modal';\nimport { MatDialog } from '@angular/material/dialog';\nimport { first } from 'rxjs/operators';\n\nexport const AP_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-toggle',\n styleUrls: ['./toggle.component.scss'],\n standalone: true,\n imports: [NgIf, SymbolComponent, CommonModule],\n providers: [\n AP_CHECKBOX_CONTROL_VALUE_ACCESSOR,\n {\n provide: NG_VALIDATORS,\n useExisting: ToggleComponent,\n multi: true,\n },\n MatDialog,\n ],\n templateUrl: './toggle.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ToggleComponent implements ControlValueAccessor, AfterContentInit, OnChanges, OnInit {\n private readonly symbolRegistry = inject(SymbolRegistry);\n private readonly dialog = inject(MatDialog);\n private readonly cdr = inject(ChangeDetectorRef);\n\n @ViewChild('input') inputElement!: ElementRef<HTMLInputElement>;\n @ViewChild('label') labelElement!: ElementRef<HTMLInputElement>;\n @Input('aria-label') ariaLabel: string = '';\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n @Input('aria-describedby') ariaDescribedby: string | null = null;\n @Input() labelPosition: 'left' | 'right' = 'right';\n @Input() disabled = false;\n @Input() checked = false;\n @Input() required = false;\n @Input() confirm = false;\n @Input() confirmMessage = 'If you toggle this, it will affect other things. Are you sure';\n @Input() confirmOk = 'Confirm';\n @Input() confirmCancel = 'Cancel';\n @Input() confirmTitle = 'Are you sure?';\n @Input({\n required: true\n }) set name(name: string) {\n if (!name.endsWith('Checkbox')) {\n this._name = name + 'Checkbox';\n } else {\n this._name = name;\n }\n }\n get name(): string {\n return this._name;\n }\n // eslint-disable-next-line\n @Output() readonly change: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n hasLabel: boolean = false;\n private _name = '';\n private _controlValueAccessorChangeFn!: (value: boolean) => void;\n onTouched!: () => void;\n\n ngOnChanges(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n ngOnInit() {\n this.symbolRegistry.registerSymbols([apCheck2]);\n }\n\n ngAfterContentInit(): void {\n if (this.labelElement) {\n this.hasLabel = !!this.labelElement.nativeElement.textContent?.trim();\n }\n }\n\n onValueChange() {\n if (!this.disabled) {\n if (!this.confirm) {\n if (this.onTouched) {\n this.onTouched();\n }\n this.changeValue();\n } else {\n const toggleConfirmModal = {\n contentText: this.confirmMessage,\n headerTitle: this.confirmTitle,\n footerCancelButtonLabel: this.confirmCancel,\n footerConfirmButtonLabel: this.confirmOk,\n footerConfirmButtonId: 'confirm',\n footerCancelButtonId: 'cancel',\n };\n const modalConfig = {\n matDialogConfig: {\n panelClass: 'design-system',\n width: '550px',\n },\n };\n\n const dialogRef = ConfirmModalComponent.open(this.dialog, toggleConfirmModal, modalConfig);\n dialogRef\n .afterClosed()\n .pipe(first())\n .subscribe(result => {\n if (result) {\n if (this.onTouched) {\n this.onTouched();\n }\n this.changeValue();\n }\n });\n }\n }\n }\n\n changeValue(): void {\n this.checked = !this.checked;\n this.focus();\n this.change.emit(this.checked);\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.checked);\n }\n\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this.inputElement) {\n this.inputElement.nativeElement.checked = this.checked;\n }\n this.cdr.markForCheck();\n }\n\n focus() {\n this.inputElement.nativeElement.focus();\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n registerOnChange(fn: (value: boolean) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n validate({ value }: FormControl) {\n return (\n this.required &&\n !value && {\n invalid: true,\n }\n );\n }\n\n _preventBubblingFromLabel(event: MouseEvent) {\n if (!!event.target && this.labelElement.nativeElement.contains(event.target as HTMLElement)) {\n event.stopPropagation();\n }\n }\n}\n","<div\n class=\"toggle\"\n (click)=\"_preventBubblingFromLabel($event)\">\n <input\n #input\n class=\"hidden\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"name\"\n [name]=\"name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.data-test]=\"name\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-checked]=\"checked\"\n (click)=\"onValueChange()\" />\n <div\n class=\"switch-container\"\n [class.label-left]=\"labelPosition === 'left'\">\n <div\n class=\"switch\"\n [class.checked]=\"checked\"\n (click)=\"onValueChange()\">\n <div class=\"knob\"></div>\n </div>\n <label\n #label\n [class.disabled]=\"disabled\"\n [for]=\"name\">\n <ng-content />\n </label>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|