@agorapulse/ui-components 15.1.29 → 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 +2 -2
- 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.29.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 -70
- 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 -74
- 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 -74
- 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,292 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Inject, Input, Optional, Output, } from '@angular/core';
|
|
2
|
+
import { defaultOptions } from './options';
|
|
3
|
+
import { PopmenuOptionsService } from './popmenu-options.service';
|
|
4
|
+
import { PopmenuComponent } from './popmenu.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class PopmenuDirective {
|
|
7
|
+
initOptions;
|
|
8
|
+
renderer;
|
|
9
|
+
elementRef;
|
|
10
|
+
componentFactoryResolver;
|
|
11
|
+
appRef;
|
|
12
|
+
injector;
|
|
13
|
+
apPopmenuBorder = false;
|
|
14
|
+
apPopmenuDisabled = false;
|
|
15
|
+
apPopmenuBackground = true;
|
|
16
|
+
arrow = false;
|
|
17
|
+
arrowOffset;
|
|
18
|
+
arrowPosition;
|
|
19
|
+
close = false;
|
|
20
|
+
hasBackdrop = true;
|
|
21
|
+
backdropClass = '';
|
|
22
|
+
panelClass;
|
|
23
|
+
offset;
|
|
24
|
+
offsets;
|
|
25
|
+
placement = 'bottom';
|
|
26
|
+
pointer = true;
|
|
27
|
+
popMenuValue;
|
|
28
|
+
position;
|
|
29
|
+
rounded = false;
|
|
30
|
+
shadow = false;
|
|
31
|
+
menuClosed = new EventEmitter();
|
|
32
|
+
menuOpened = new EventEmitter();
|
|
33
|
+
componentElement;
|
|
34
|
+
hideTimeoutId;
|
|
35
|
+
destroyTimeoutId;
|
|
36
|
+
createTimeoutId;
|
|
37
|
+
showTimeoutId;
|
|
38
|
+
componentRef;
|
|
39
|
+
elementPosition;
|
|
40
|
+
componentSubscribe;
|
|
41
|
+
_defaultOptions;
|
|
42
|
+
_options = {};
|
|
43
|
+
get options() {
|
|
44
|
+
return this._options;
|
|
45
|
+
}
|
|
46
|
+
set options(value) {
|
|
47
|
+
if (value && defaultOptions) {
|
|
48
|
+
this._options = value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get destroyDelay() {
|
|
52
|
+
return Number(this.getHideDelay()) + Number(this.options['animationDuration']);
|
|
53
|
+
}
|
|
54
|
+
get isDisplayOnHover() {
|
|
55
|
+
if (this.options['display'] === false) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
if (this.options['displayTouchscreen'] === false) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (this.options['trigger'] !== 'hover') {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
get isTooltipDestroyed() {
|
|
67
|
+
return this.componentRef && this.componentRef.hostView.destroyed;
|
|
68
|
+
}
|
|
69
|
+
get tooltipPosition() {
|
|
70
|
+
if (this.options['position']) {
|
|
71
|
+
return this.options['position'];
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return this.elementPosition;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
constructor(initOptions, renderer, elementRef, componentFactoryResolver, appRef, injector) {
|
|
78
|
+
this.initOptions = initOptions;
|
|
79
|
+
this.renderer = renderer;
|
|
80
|
+
this.elementRef = elementRef;
|
|
81
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
82
|
+
this.appRef = appRef;
|
|
83
|
+
this.injector = injector;
|
|
84
|
+
}
|
|
85
|
+
appendComponentToBody(component, data = {}) {
|
|
86
|
+
this.componentRef = this.componentFactoryResolver.resolveComponentFactory(component).create(this.injector);
|
|
87
|
+
this.componentRef.instance.data = {
|
|
88
|
+
value: this.popMenuValue,
|
|
89
|
+
element: this.elementRef.nativeElement,
|
|
90
|
+
elementPosition: this.tooltipPosition,
|
|
91
|
+
options: this.options,
|
|
92
|
+
};
|
|
93
|
+
this.appRef.attachView(this.componentRef.hostView);
|
|
94
|
+
this.componentElement = this.componentRef.hostView.rootNodes[0];
|
|
95
|
+
document.body.appendChild(this.componentElement);
|
|
96
|
+
this.componentSubscribe = this.componentRef.instance.menuClosed.subscribe((event) => {
|
|
97
|
+
this.handleClose(event);
|
|
98
|
+
this.menuOpen = this.componentRef.instance.menuOpen;
|
|
99
|
+
});
|
|
100
|
+
this.componentSubscribe = this.componentRef.instance.menuOpened.subscribe((event) => {
|
|
101
|
+
this.handleOpen(event);
|
|
102
|
+
this.menuOpen = this.componentRef.instance.menuOpen;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
menuOpenChange = new EventEmitter();
|
|
106
|
+
#menuOpen = false;
|
|
107
|
+
get menuOpen() {
|
|
108
|
+
return this.#menuOpen;
|
|
109
|
+
}
|
|
110
|
+
set menuOpen(menuOpen) {
|
|
111
|
+
this.menuOpenChange.emit(menuOpen);
|
|
112
|
+
this.#menuOpen = menuOpen;
|
|
113
|
+
if (this.#menuOpen) {
|
|
114
|
+
this.elementRef.nativeElement.classList.add('popmenu-open');
|
|
115
|
+
this.elementRef.nativeElement.classList.remove('popmenu-close');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
this.elementRef.nativeElement.classList.remove('popmenu-open');
|
|
119
|
+
this.elementRef.nativeElement.classList.add('popmenu-close');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
handleClose(event) {
|
|
123
|
+
this.menuClosed.emit();
|
|
124
|
+
}
|
|
125
|
+
handleOpen(event) {
|
|
126
|
+
this.menuOpened.emit();
|
|
127
|
+
}
|
|
128
|
+
applyOptionsDefault(defaultOptions, options) {
|
|
129
|
+
this.options = Object.assign({}, defaultOptions, this.initOptions || {}, options);
|
|
130
|
+
}
|
|
131
|
+
clearTimeouts() {
|
|
132
|
+
if (this.createTimeoutId) {
|
|
133
|
+
clearTimeout(this.createTimeoutId);
|
|
134
|
+
}
|
|
135
|
+
if (this.showTimeoutId) {
|
|
136
|
+
clearTimeout(this.showTimeoutId);
|
|
137
|
+
}
|
|
138
|
+
if (this.hideTimeoutId) {
|
|
139
|
+
clearTimeout(this.hideTimeoutId);
|
|
140
|
+
}
|
|
141
|
+
if (this.destroyTimeoutId) {
|
|
142
|
+
clearTimeout(this.destroyTimeoutId);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
createPopMenu() {
|
|
146
|
+
this.clearTimeouts();
|
|
147
|
+
this.createTimeoutId = window.setTimeout(() => {
|
|
148
|
+
this.appendComponentToBody(PopmenuComponent);
|
|
149
|
+
}, this.getShowDelay());
|
|
150
|
+
this.showTimeoutId = window.setTimeout(() => {
|
|
151
|
+
this.showTooltipElem();
|
|
152
|
+
}, this.getShowDelay());
|
|
153
|
+
}
|
|
154
|
+
getElementPosition() {
|
|
155
|
+
this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();
|
|
156
|
+
}
|
|
157
|
+
getHideDelay() {
|
|
158
|
+
return this.options['hideDelay'];
|
|
159
|
+
}
|
|
160
|
+
getProperties(changes) {
|
|
161
|
+
let properties = {};
|
|
162
|
+
for (const prop in changes) {
|
|
163
|
+
if (prop !== 'options' && prop !== 'tooltipValue') {
|
|
164
|
+
properties[prop] = changes[prop].currentValue;
|
|
165
|
+
}
|
|
166
|
+
if (prop === 'options') {
|
|
167
|
+
properties = changes[prop].currentValue;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return properties;
|
|
171
|
+
}
|
|
172
|
+
getShowDelay() {
|
|
173
|
+
return this.options['showDelay'];
|
|
174
|
+
}
|
|
175
|
+
ngOnChanges(changes) {
|
|
176
|
+
if (changes.pointer) {
|
|
177
|
+
if (!this.pointer) {
|
|
178
|
+
this.renderer.removeStyle(this.elementRef.nativeElement, 'cursor');
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (changes.close && changes.close.currentValue) {
|
|
185
|
+
this.hideTooltipElem();
|
|
186
|
+
}
|
|
187
|
+
const changedOptions = this.getProperties(changes);
|
|
188
|
+
this.applyOptionsDefault(this.options && Object.keys(this.options).length > 0 ? this.options : defaultOptions, changedOptions);
|
|
189
|
+
}
|
|
190
|
+
ngOnInit() {
|
|
191
|
+
if (this.pointer) {
|
|
192
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'cursor', 'pointer');
|
|
193
|
+
}
|
|
194
|
+
this.menuOpen = false;
|
|
195
|
+
}
|
|
196
|
+
onClick() {
|
|
197
|
+
if (this.apPopmenuDisabled) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
this.show();
|
|
201
|
+
this.close = false;
|
|
202
|
+
}
|
|
203
|
+
show() {
|
|
204
|
+
this.getElementPosition();
|
|
205
|
+
if (!this.componentRef || this.isTooltipDestroyed) {
|
|
206
|
+
this.createPopMenu();
|
|
207
|
+
}
|
|
208
|
+
else if (!this.isTooltipDestroyed) {
|
|
209
|
+
this.showTooltipElem();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
showTooltipElem() {
|
|
213
|
+
this.componentRef.instance.data = {
|
|
214
|
+
value: this.popMenuValue,
|
|
215
|
+
element: this.elementRef.nativeElement,
|
|
216
|
+
elementPosition: this.tooltipPosition,
|
|
217
|
+
options: this.options,
|
|
218
|
+
};
|
|
219
|
+
this.clearTimeouts();
|
|
220
|
+
this.componentRef.instance.show = true;
|
|
221
|
+
}
|
|
222
|
+
hideTooltipElem() {
|
|
223
|
+
if (this.componentRef) {
|
|
224
|
+
this.componentRef.instance.close = true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuDirective, deps: [{ token: PopmenuOptionsService, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
228
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: PopmenuDirective, isStandalone: true, selector: "[apPopmenu]", inputs: { apPopmenuBorder: "apPopmenuBorder", apPopmenuDisabled: "apPopmenuDisabled", apPopmenuBackground: "apPopmenuBackground", arrow: "arrow", arrowOffset: "arrowOffset", arrowPosition: "arrowPosition", close: "close", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", panelClass: "panelClass", offset: "offset", offsets: "offsets", placement: "placement", pointer: "pointer", popMenuValue: ["apPopmenu", "popMenuValue"], position: "position", rounded: "rounded", shadow: "shadow", options: "options", menuOpen: "menuOpen" }, outputs: { menuClosed: "menuClosed", menuOpened: "menuOpened", menuOpenChange: "menuOpenChange" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
|
|
229
|
+
}
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuDirective, decorators: [{
|
|
231
|
+
type: Directive,
|
|
232
|
+
args: [{
|
|
233
|
+
selector: '[apPopmenu]',
|
|
234
|
+
standalone: true,
|
|
235
|
+
}]
|
|
236
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
237
|
+
type: Optional
|
|
238
|
+
}, {
|
|
239
|
+
type: Inject,
|
|
240
|
+
args: [PopmenuOptionsService]
|
|
241
|
+
}] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; }, propDecorators: { apPopmenuBorder: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], apPopmenuDisabled: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], apPopmenuBackground: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], arrow: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], arrowOffset: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], arrowPosition: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], close: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], hasBackdrop: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], backdropClass: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], panelClass: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}], offset: [{
|
|
262
|
+
type: Input
|
|
263
|
+
}], offsets: [{
|
|
264
|
+
type: Input
|
|
265
|
+
}], placement: [{
|
|
266
|
+
type: Input
|
|
267
|
+
}], pointer: [{
|
|
268
|
+
type: Input
|
|
269
|
+
}], popMenuValue: [{
|
|
270
|
+
type: Input,
|
|
271
|
+
args: ['apPopmenu']
|
|
272
|
+
}], position: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], rounded: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], shadow: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], menuClosed: [{
|
|
279
|
+
type: Output
|
|
280
|
+
}], menuOpened: [{
|
|
281
|
+
type: Output
|
|
282
|
+
}], options: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], menuOpenChange: [{
|
|
285
|
+
type: Output
|
|
286
|
+
}], menuOpen: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], onClick: [{
|
|
289
|
+
type: HostListener,
|
|
290
|
+
args: ['click']
|
|
291
|
+
}] } });
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FHVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWV2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkU4QjtJQUM1QztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBakZILGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFxQjtJQUNoQyxhQUFhLENBQXFCO0lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsVUFBVSxDQUFxQjtJQUMvQixNQUFNLENBQXFCO0lBQzNCLE9BQU8sQ0FBdUQ7SUFDOUQsU0FBUyxHQUFXLFFBQVEsQ0FBQztJQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ0osWUFBWSxDQUFvQjtJQUMzQyxRQUFRLENBQTRDO0lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN4RCxVQUFV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QkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDYyxZQUFZO3NCQUEvQixLQUFLO3VCQUFDLFdBQVc7Z0JBQ1QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFrQk0sT0FBTztzQkFBbkIsS0FBSztnQkFzRU4sY0FBYztzQkFEYixNQUFNO2dCQUtILFFBQVE7c0JBRFgsS0FBSztnQkE0R04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9ucyB9IGZyb20gJy4vcG9wbWVudS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG1lbnUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBZENvbXBvbmVudCB7XG4gICAgZGF0YTogYW55O1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgY2xvc2U6IGJvb2xlYW47XG4gICAgbWVudUNsb3NlZDogYW55O1xuICAgIG1lbnVPcGVuZWQ6IGFueTtcbiAgICBtZW51T3BlbjogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXBQb3BtZW51XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wbWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCb3JkZXIgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVEaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwUG9wbWVudUJhY2tncm91bmQgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGFycm93ID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJyb3dPZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBhcnJvd1Bvc2l0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXRzOiB7IGRpc3RhbmNlPzogbnVtYmVyOyBza2lkZGluZz86IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogc3RyaW5nID0gJ2JvdHRvbSc7XG4gICAgQElucHV0KCkgcG9pbnRlciA9IHRydWU7XG4gICAgQElucHV0KCdhcFBvcG1lbnUnKSBwb3BNZW51VmFsdWUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIG1lbnVDbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG1lbnVPcGVuZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb21wb25lbnRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gICAgaGlkZVRpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGRlc3Ryb3lUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZFxuICAgIGNyZWF0ZVRpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIHNob3dUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8YW55PjtcbiAgICBlbGVtZW50UG9zaXRpb246IGFueTtcbiAgICBjb21wb25lbnRTdWJzY3JpYmU6IGFueTtcbiAgICBfZGVmYXVsdE9wdGlvbnM6IGFueTtcblxuICAgIF9vcHRpb25zOiBQb3BtZW51T3B0aW9ucyA9IHt9O1xuXG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBvcHRpb25zKHZhbHVlOiBQb3BtZW51T3B0aW9ucykge1xuICAgICAgICBpZiAodmFsdWUgJiYgZGVmYXVsdE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBkZXN0cm95RGVsYXkoKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5nZXRIaWRlRGVsYXkoKSkgKyBOdW1iZXIodGhpcy5vcHRpb25zWydhbmltYXRpb25EdXJhdGlvbiddKTtcbiAgICB9XG5cbiAgICBnZXQgaXNEaXNwbGF5T25Ib3ZlcigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheSddID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1snZGlzcGxheVRvdWNoc2NyZWVuJ10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWyd0cmlnZ2VyJ10gIT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCBpc1Rvb2x0aXBEZXN0cm95ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZiAmJiB0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXN0cm95ZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHRvb2x0aXBQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc1sncG9zaXRpb24nXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1sncG9zaXRpb24nXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRQb3NpdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFBvcG1lbnVPcHRpb25zU2VydmljZSkgcHJpdmF0ZSBpbml0T3B0aW9uczogUG9wbWVudU9wdGlvbnMsXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHt9XG5cbiAgICBhcHBlbmRDb21wb25lbnRUb0JvZHkoY29tcG9uZW50OiBhbnksIGRhdGE6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG5cbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBvcE1lbnVWYWx1ZSxcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudFBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50RWxlbWVudCA9ICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY29tcG9uZW50RWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudUNsb3NlZC5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoZXZlbnQpO1xuICAgICAgICAgICAgdGhpcy5tZW51T3BlbiA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVPcGVuO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRTdWJzY3JpYmUgPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbmVkLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKGV2ZW50KTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgbWVudU9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICAjbWVudU9wZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1lbnVPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jbWVudU9wZW47XG4gICAgfVxuXG4gICAgc2V0IG1lbnVPcGVuKG1lbnVPcGVuOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubWVudU9wZW5DaGFuZ2UuZW1pdChtZW51T3Blbik7XG4gICAgICAgIHRoaXMuI21lbnVPcGVuID0gbWVudU9wZW47XG4gICAgICAgIGlmICh0aGlzLiNtZW51T3Blbikge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdwb3BtZW51LW9wZW4nKTtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtY2xvc2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBhcHBseU9wdGlvbnNEZWZhdWx0KGRlZmF1bHRPcHRpb25zOiBQb3BtZW51T3B0aW9ucywgb3B0aW9uczogUG9wbWVudU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIHRoaXMuaW5pdE9wdGlvbnMgfHwge30sIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNsZWFyVGltZW91dHMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNyZWF0ZVRpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY3JlYXRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZXN0cm95VGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kZXN0cm95VGltZW91dElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVBvcE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0cygpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlVGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmRDb21wb25lbnRUb0JvZHkoUG9wbWVudUNvbXBvbmVudCk7XG4gICAgICAgIH0sIHRoaXMuZ2V0U2hvd0RlbGF5KCkpO1xuXG4gICAgICAgIHRoaXMuc2hvd1RpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXBFbGVtKCk7XG4gICAgICAgIH0sIHRoaXMuZ2V0U2hvd0RlbGF5KCkpO1xuICAgIH1cblxuICAgIGdldEVsZW1lbnRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UG9zaXRpb24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBnZXRIaWRlRGVsYXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbJ2hpZGVEZWxheSddO1xuICAgIH1cblxuICAgIGdldFByb3BlcnRpZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBsZXQgcHJvcGVydGllczogYW55ID0ge307XG5cbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmIChwcm9wICE9PSAnb3B0aW9ucycgJiYgcHJvcCAhPT0gJ3Rvb2x0aXBWYWx1ZScpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW3Byb3BdID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcCA9PT0gJ29wdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllcyA9IGNoYW5nZXNbcHJvcF0uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAgIH1cblxuICAgIGdldFNob3dEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snc2hvd0RlbGF5J107XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5wb2ludGVyKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucG9pbnRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuY2xvc2UgJiYgY2hhbmdlcy5jbG9zZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXBFbGVtKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2hhbmdlZE9wdGlvbnMgPSB0aGlzLmdldFByb3BlcnRpZXMoY2hhbmdlcyk7XG4gICAgICAgIHRoaXMuYXBwbHlPcHRpb25zRGVmYXVsdCh0aGlzLm9wdGlvbnMgJiYgT2JqZWN0LmtleXModGhpcy5vcHRpb25zKS5sZW5ndGggPiAwID8gdGhpcy5vcHRpb25zIDogZGVmYXVsdE9wdGlvbnMsIGNoYW5nZWRPcHRpb25zKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucG9pbnRlcikge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicsICdwb2ludGVyJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5hcFBvcG1lbnVEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICB0aGlzLmNsb3NlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3coKSB7XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudFBvc2l0aW9uKCk7XG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYgfHwgdGhpcy5pc1Rvb2x0aXBEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlUG9wTWVudSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dUb29sdGlwRWxlbSgpOiB2b2lkIHtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuZGF0YSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBvcE1lbnVWYWx1ZSxcbiAgICAgICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZWxlbWVudFBvc2l0aW9uOiB0aGlzLnRvb2x0aXBQb3NpdGlvbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnNob3cgPSB0cnVlO1xuICAgIH1cblxuICAgIGhpZGVUb29sdGlwRWxlbSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5jbG9zZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PopmenuDirective } from './popmenu.directive';
|
|
3
|
+
import { PopmenuOptionsService } from './popmenu-options.service';
|
|
4
|
+
import { PopmenuComponent } from './popmenu.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class PopmenuModule {
|
|
7
|
+
static forRoot(initOptions) {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: PopmenuModule,
|
|
10
|
+
providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: PopmenuOptionsService,
|
|
13
|
+
useValue: initOptions,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, imports: [PopmenuDirective, PopmenuComponent], exports: [PopmenuDirective] });
|
|
20
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, imports: [PopmenuComponent] });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: PopmenuModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [PopmenuDirective, PopmenuComponent],
|
|
26
|
+
exports: [PopmenuDirective],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXZELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBMkI7UUFDdEMsT0FBTztZQUNILFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUUsV0FBVztpQkFDeEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO3dHQVhRLGFBQWE7eUdBQWIsYUFBYSxZQUhaLGdCQUFnQixFQUFFLGdCQUFnQixhQUNsQyxnQkFBZ0I7eUdBRWpCLGFBQWEsWUFITSxnQkFBZ0I7OzRGQUduQyxhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wbWVudURpcmVjdGl2ZSB9IGZyb20gJy4vcG9wbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnMgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wb3BtZW51LW9wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQb3BtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9wb3BtZW51LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1BvcG1lbnVEaXJlY3RpdmUsIFBvcG1lbnVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtQb3BtZW51RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wbWVudU1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3QoaW5pdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxQb3BtZW51TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogUG9wbWVudU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUG9wbWVudU9wdGlvbnNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogaW5pdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { forwardRef, Injectable } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { RadioComponent } from './radio.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export const RADIO_VALUE_ACCESSOR = {
|
|
6
|
+
provide: NG_VALUE_ACCESSOR,
|
|
7
|
+
useExisting: forwardRef(() => RadioComponent),
|
|
8
|
+
multi: true,
|
|
9
|
+
};
|
|
10
|
+
export class RadioControlRegistry {
|
|
11
|
+
accessors = [];
|
|
12
|
+
add(control, accessor) {
|
|
13
|
+
this.accessors.push([control, accessor]);
|
|
14
|
+
}
|
|
15
|
+
remove(accessor) {
|
|
16
|
+
this.accessors = this.accessors.filter(([, radioComponent]) => {
|
|
17
|
+
return radioComponent !== accessor;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
select(accessor) {
|
|
21
|
+
this.accessors.forEach(([ngControl, radioComponent]) => {
|
|
22
|
+
if (this.isSameGroup(ngControl, radioComponent, accessor) && radioComponent !== accessor) {
|
|
23
|
+
radioComponent.writeValue(accessor.value);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
getIndex(accessor) {
|
|
28
|
+
return this.accessors.findIndex(([, radioComponent]) => {
|
|
29
|
+
return radioComponent === accessor;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
getNextRadio(accessor) {
|
|
33
|
+
const index = this.getIndex(accessor);
|
|
34
|
+
const nextIndex = index + 1;
|
|
35
|
+
if (nextIndex >= this.accessors.length) {
|
|
36
|
+
return this.accessors[0][1];
|
|
37
|
+
}
|
|
38
|
+
const nextRadio = this.accessors[nextIndex];
|
|
39
|
+
return nextRadio ? nextRadio[1] : null;
|
|
40
|
+
}
|
|
41
|
+
getPreviousRadio(accessor) {
|
|
42
|
+
const index = this.getIndex(accessor);
|
|
43
|
+
if (index === 0) {
|
|
44
|
+
return this.accessors[this.accessors.length - 1][1];
|
|
45
|
+
}
|
|
46
|
+
const previousIndex = index - 1;
|
|
47
|
+
const previousRadio = this.accessors[previousIndex];
|
|
48
|
+
return previousRadio ? previousRadio[1] : null;
|
|
49
|
+
}
|
|
50
|
+
blurAllGroup(accessor) {
|
|
51
|
+
this.accessors.forEach(([, radioComponent]) => {
|
|
52
|
+
if (this.isSameGroup(accessor.control, radioComponent, accessor)) {
|
|
53
|
+
radioComponent.inputElement.nativeElement.blur();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
setNegativeTabIndexToAllExcept(accessor) {
|
|
58
|
+
this.accessors.forEach(([, radioComponent]) => {
|
|
59
|
+
if (this.isSameGroup(accessor.control, radioComponent, accessor)) {
|
|
60
|
+
if (accessor.radioId !== radioComponent.radioId) {
|
|
61
|
+
radioComponent.inputElement.nativeElement.tabIndex = -1;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
radioComponent.inputElement.nativeElement.tabIndex = 0;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
focusPrevious(accessor) {
|
|
70
|
+
const previousRadio = this.getPreviousRadio(accessor);
|
|
71
|
+
if (previousRadio) {
|
|
72
|
+
previousRadio.inputElement.nativeElement.focus();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
focusNext(accessor) {
|
|
76
|
+
const nextRadio = this.getNextRadio(accessor);
|
|
77
|
+
if (nextRadio) {
|
|
78
|
+
nextRadio.inputElement.nativeElement.focus();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
getFirstCheckedRadio() {
|
|
82
|
+
const checkedRadio = this.accessors.find(([, radioComponent]) => {
|
|
83
|
+
return radioComponent.checked;
|
|
84
|
+
});
|
|
85
|
+
return checkedRadio ? checkedRadio[1] : null;
|
|
86
|
+
}
|
|
87
|
+
isSameGroup(ngControl, radioComponent, accessor) {
|
|
88
|
+
if (!ngControl.control) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
return radioComponent.name === accessor.name;
|
|
92
|
+
}
|
|
93
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
94
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: RadioControlRegistry, decorators: [{
|
|
97
|
+
type: Injectable,
|
|
98
|
+
args: [{
|
|
99
|
+
providedIn: 'root',
|
|
100
|
+
}]
|
|
101
|
+
}] });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tY29udHJvbC5yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9yYWRpby9zcmMvcmFkaW8tY29udHJvbC5yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRW5ELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFhO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQUNyQixTQUFTLEdBQWtDLEVBQUUsQ0FBQztJQUV0RCxHQUFHLENBQUMsT0FBa0IsRUFBRSxRQUF3QjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBd0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQzFELE9BQU8sY0FBYyxLQUFLLFFBQVEsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBd0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFD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Q0FBQyxDQUFDO1FBQ3RELElBQUksYUFBYSxFQUFFO1lBQ2YsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQXdCO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxTQUFTLEVBQUU7WUFDWCxTQUFTLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoRDtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRTtZQUM1RCxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFvQixFQUFFLGNBQThCLEVBQUUsUUFBd0I7UUFDOUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRCxDQUFDO3dHQTdGUSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZqQixNQUFNOzs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0YWJsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFJBRElPX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0NvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbnRyb2xSZWdpc3RyeSB7XG4gICAgcHJpdmF0ZSBhY2Nlc3NvcnM6IFtOZ0NvbnRyb2wsIFJhZGlvQ29tcG9uZW50XVtdID0gW107XG5cbiAgICBhZGQoY29udHJvbDogTmdDb250cm9sLCBhY2Nlc3NvcjogUmFkaW9Db21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5hY2Nlc3NvcnMucHVzaChbY29udHJvbCwgYWNjZXNzb3JdKTtcbiAgICB9XG5cbiAgICByZW1vdmUoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3JzID0gdGhpcy5hY2Nlc3NvcnMuZmlsdGVyKChbLCByYWRpb0NvbXBvbmVudF0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiByYWRpb0NvbXBvbmVudCAhPT0gYWNjZXNzb3I7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNlbGVjdChhY2Nlc3NvcjogUmFkaW9Db21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5hY2Nlc3NvcnMuZm9yRWFjaCgoW25nQ29udHJvbCwgcmFkaW9Db21wb25lbnRdKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NhbWVHcm91cChuZ0NvbnRyb2wsIHJhZGlvQ29tcG9uZW50LCBhY2Nlc3NvcikgJiYgcmFkaW9Db21wb25lbnQgIT09IGFjY2Vzc29yKSB7XG4gICAgICAgICAgICAgICAgcmFkaW9Db21wb25lbnQud3JpdGVWYWx1ZShhY2Nlc3Nvci52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEluZGV4KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc29ycy5maW5kSW5kZXgoKFssIHJhZGlvQ29tcG9uZW50XSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJhZGlvQ29tcG9uZW50ID09PSBhY2Nlc3NvcjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TmV4dFJhZGlvKGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IFJhZGlvQ29tcG9uZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleChhY2Nlc3Nvcik7XG4gICAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgaWYgKG5leHRJbmRleCA+PSB0aGlzLmFjY2Vzc29ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc29yc1swXVsxXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0UmFkaW8gPSB0aGlzLmFjY2Vzc29yc1tuZXh0SW5kZXhdO1xuICAgICAgICByZXR1cm4gbmV4dFJhZGlvID8gbmV4dFJhZGlvWzFdIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRQcmV2aW91c1JhZGlvKGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IFJhZGlvQ29tcG9uZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleChhY2Nlc3Nvcik7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzb3JzW3RoaXMuYWNjZXNzb3JzLmxlbmd0aCAtIDFdWzFdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmFkaW8gPSB0aGlzLmFjY2Vzc29yc1twcmV2aW91c0luZGV4XTtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzUmFkaW8gPyBwcmV2aW91c1JhZGlvWzFdIDogbnVsbDtcbiAgICB9XG5cbiAgICBibHVyQWxsR3JvdXAoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3JzLmZvckVhY2goKFssIHJhZGlvQ29tcG9uZW50XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTYW1lR3JvdXAoYWNjZXNzb3IuY29udHJvbCwgcmFkaW9Db21wb25lbnQsIGFjY2Vzc29yKSkge1xuICAgICAgICAgICAgICAgIHJhZGlvQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0TmVnYXRpdmVUYWJJbmRleFRvQWxsRXhjZXB0KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjY2Vzc29ycy5mb3JFYWNoKChbLCByYWRpb0NvbXBvbmVudF0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2FtZUdyb3VwKGFjY2Vzc29yLmNvbnRyb2wsIHJhZGlvQ29tcG9uZW50LCBhY2Nlc3NvcikpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWNjZXNzb3IucmFkaW9JZCAhPT0gcmFkaW9Db21wb25lbnQucmFkaW9JZCkge1xuICAgICAgICAgICAgICAgICAgICByYWRpb0NvbXBvbmVudC5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJhZGlvQ29tcG9uZW50LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvY3VzUHJldmlvdXMoYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmFkaW8gPSB0aGlzLmdldFByZXZpb3VzUmFkaW8oYWNjZXNzb3IpO1xuICAgICAgICBpZiAocHJldmlvdXNSYWRpbykge1xuICAgICAgICAgICAgcHJldmlvdXNSYWRpby5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXNOZXh0KGFjY2Vzc29yOiBSYWRpb0NvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0UmFkaW8gPSB0aGlzLmdldE5leHRSYWRpbyhhY2Nlc3Nvcik7XG4gICAgICAgIGlmIChuZXh0UmFkaW8pIHtcbiAgICAgICAgICAgIG5leHRSYWRpby5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Rmlyc3RDaGVja2VkUmFkaW8oKTogUmFkaW9Db21wb25lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY2hlY2tlZFJhZGlvID0gdGhpcy5hY2Nlc3NvcnMuZmluZCgoWywgcmFkaW9Db21wb25lbnRdKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcmFkaW9Db21wb25lbnQuY2hlY2tlZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjaGVja2VkUmFkaW8gPyBjaGVja2VkUmFkaW9bMV0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNTYW1lR3JvdXAobmdDb250cm9sOiBOZ0NvbnRyb2wsIHJhZGlvQ29tcG9uZW50OiBSYWRpb0NvbXBvbmVudCwgYWNjZXNzb3I6IFJhZGlvQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghbmdDb250cm9sLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmFkaW9Db21wb25lbnQubmFtZSA9PT0gYWNjZXNzb3IubmFtZTtcbiAgICB9XG59XG4iXX0=
|