@agorapulse/ui-components 14.0.4 → 14.0.6
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/{src/lib/add-comment → add-comment}/add-comment.component.d.ts +1 -1
- package/add-comment/index.d.ts +5 -0
- package/add-comment/public_api.d.ts +1 -0
- package/agorapulse-ui-components-14.0.6.tgz +0 -0
- package/{src/lib/avatar → avatar}/avatar.component.d.ts +1 -1
- package/avatar/index.d.ts +5 -0
- package/avatar/public_api.d.ts +1 -0
- package/{src/lib/confirm-modal → confirm-modal}/confirm-modal-texts.model.d.ts +0 -0
- package/{src/lib/confirm-modal → confirm-modal}/confirm-modal.component.d.ts +2 -2
- package/confirm-modal/index.d.ts +5 -0
- package/confirm-modal/public_api.d.ts +2 -0
- package/{src/lib/datepicker → datepicker}/datepicker.component.d.ts +2 -2
- package/datepicker/index.d.ts +5 -0
- package/datepicker/public_api.d.ts +1 -0
- package/{src/lib/directives → directives}/autosize-textarea.directive.d.ts +1 -1
- package/{src/lib/directives → directives}/default-image.directive.d.ts +1 -1
- package/{src/lib/directives → directives}/ellipsis.directive.d.ts +1 -1
- package/{src/lib/directives → directives}/equal-validator.directive.d.ts +1 -1
- package/{src/lib/directives → directives}/frozen-gif.directive.d.ts +1 -1
- package/directives/index.d.ts +5 -0
- package/{src/lib/directives → directives}/multi-style-text.directive.d.ts +1 -1
- package/directives/public_api.d.ts +7 -0
- package/{src/lib/directives → directives}/truncate-tooltip.directive.d.ts +2 -3
- package/{src/lib/dots-stepper → dots-stepper}/dots-stepper.component.d.ts +1 -1
- package/dots-stepper/index.d.ts +5 -0
- package/dots-stepper/public_api.d.ts +1 -0
- package/esm2020/add-comment/add-comment.component.mjs +70 -0
- package/esm2020/add-comment/agorapulse-ui-components-add-comment.mjs +5 -0
- package/esm2020/add-comment/public_api.mjs +2 -0
- package/esm2020/avatar/agorapulse-ui-components-avatar.mjs +5 -0
- package/esm2020/avatar/avatar.component.mjs +138 -0
- package/esm2020/avatar/public_api.mjs +2 -0
- package/esm2020/confirm-modal/agorapulse-ui-components-confirm-modal.mjs +5 -0
- package/esm2020/confirm-modal/confirm-modal-texts.model.mjs +2 -0
- package/esm2020/confirm-modal/confirm-modal.component.mjs +61 -0
- package/esm2020/confirm-modal/public_api.mjs +3 -0
- package/esm2020/datepicker/agorapulse-ui-components-datepicker.mjs +5 -0
- package/esm2020/datepicker/datepicker.component.mjs +225 -0
- package/esm2020/datepicker/public_api.mjs +2 -0
- package/esm2020/directives/agorapulse-ui-components-directives.mjs +5 -0
- package/esm2020/directives/autosize-textarea.directive.mjs +44 -0
- package/esm2020/directives/default-image.directive.mjs +32 -0
- package/esm2020/directives/ellipsis.directive.mjs +86 -0
- package/esm2020/directives/equal-validator.directive.mjs +66 -0
- package/esm2020/directives/frozen-gif.directive.mjs +116 -0
- package/esm2020/directives/multi-style-text.directive.mjs +136 -0
- package/esm2020/directives/public_api.mjs +8 -0
- package/esm2020/directives/truncate-tooltip.directive.mjs +33 -0
- package/esm2020/dots-stepper/agorapulse-ui-components-dots-stepper.mjs +5 -0
- package/esm2020/dots-stepper/dots-stepper.component.mjs +43 -0
- package/esm2020/dots-stepper/public_api.mjs +2 -0
- package/esm2020/index.mjs +27 -33
- package/esm2020/infobox/agorapulse-ui-components-infobox.mjs +5 -0
- package/esm2020/infobox/infobox.component.mjs +30 -0
- package/esm2020/infobox/public_api.mjs +2 -0
- package/esm2020/labels/agorapulse-ui-components-labels.mjs +5 -0
- package/esm2020/labels/label-list.component.mjs +101 -0
- package/esm2020/labels/label.component.mjs +56 -0
- package/esm2020/labels/public_api.mjs +3 -0
- package/esm2020/labels-selector/agorapulse-ui-components-labels-selector.mjs +5 -0
- package/esm2020/labels-selector/labels-selector.component.mjs +95 -0
- package/esm2020/labels-selector/public_api.mjs +2 -0
- package/esm2020/media-display-overlay/agorapulse-ui-components-media-display-overlay.mjs +5 -0
- package/esm2020/media-display-overlay/media-display-overlay-dialog.component.mjs +88 -0
- package/esm2020/media-display-overlay/public_api.mjs +2 -0
- package/esm2020/modal/agorapulse-ui-components-modal.mjs +5 -0
- package/esm2020/modal/modal.component.mjs +99 -0
- package/esm2020/modal/public_api.mjs +2 -0
- package/esm2020/notification/agorapulse-ui-components-notification.mjs +5 -0
- package/esm2020/notification/notification.component.mjs +17 -0
- package/esm2020/notification/public_api.mjs +2 -0
- package/esm2020/paginator/agorapulse-ui-components-paginator.mjs +5 -0
- package/esm2020/paginator/paginator-button/paginator-button.component.mjs +24 -0
- package/esm2020/paginator/paginator.component.mjs +56 -0
- package/esm2020/paginator/public_api.mjs +3 -0
- package/esm2020/password-input/agorapulse-ui-components-password-input.mjs +5 -0
- package/esm2020/password-input/password-input.component.mjs +70 -0
- package/esm2020/password-input/public_api.mjs +2 -0
- package/esm2020/popmenu/agorapulse-ui-components-popmenu.mjs +5 -0
- package/esm2020/popmenu/options.mjs +17 -0
- package/esm2020/popmenu/popmenu-options.interface.mjs +2 -0
- package/esm2020/popmenu/popmenu-options.service.mjs +7 -0
- package/esm2020/popmenu/popmenu.component.mjs +368 -0
- package/esm2020/popmenu/popmenu.directive.mjs +241 -0
- package/esm2020/popmenu/popmenu.module.mjs +35 -0
- package/esm2020/{src/lib/popmenu/index.mjs → popmenu/public_api.mjs} +1 -1
- package/esm2020/slide-toggle/agorapulse-ui-components-slide-toggle.mjs +5 -0
- package/esm2020/slide-toggle/public_api.mjs +2 -0
- package/esm2020/slide-toggle/slide-toggle.component.mjs +65 -0
- package/esm2020/snackbar/agorapulse-ui-components-snackbar.mjs +5 -0
- package/esm2020/snackbar/public_api.mjs +2 -0
- package/esm2020/snackbar/snackbar.component.mjs +22 -0
- package/esm2020/snackbars-thread/agorapulse-ui-components-snackbars-thread.mjs +5 -0
- package/esm2020/snackbars-thread/component/snackbars-thread.component.mjs +71 -0
- package/esm2020/snackbars-thread/model/snackbars-thread.model.mjs +41 -0
- package/esm2020/snackbars-thread/public_api.mjs +4 -0
- package/esm2020/snackbars-thread/service/snackbars-thread.service.mjs +41 -0
- package/esm2020/snackbars-thread/utils/const/snackbars-thread.const.mjs +13 -0
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +60 -87
- package/esm2020/stepper/agorapulse-ui-components-stepper.mjs +5 -0
- package/esm2020/stepper/public_api.mjs +3 -0
- package/esm2020/stepper/step.model.mjs +2 -0
- package/esm2020/stepper/stepper.component.mjs +37 -0
- package/esm2020/text-measurement/agorapulse-ui-components-text-measurement.mjs +5 -0
- package/esm2020/text-measurement/public_api.mjs +2 -0
- package/esm2020/text-measurement/text-measurement.service.mjs +28 -0
- package/esm2020/tooltip-neo/agorapulse-ui-components-tooltip-neo.mjs +5 -0
- package/esm2020/tooltip-neo/public_api.mjs +4 -0
- package/esm2020/tooltip-neo/tooltip-neo.component.mjs +44 -0
- package/esm2020/tooltip-neo/tooltip-neo.const.mjs +67 -0
- package/esm2020/tooltip-neo/tooltip-neo.directive.mjs +156 -0
- package/esm2020/tooltip-neo/tooltip-neo.model.mjs +2 -0
- package/esm2020/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.service.mjs +1 -1
- package/fesm2015/agorapulse-ui-components-add-comment.mjs +77 -0
- package/fesm2015/agorapulse-ui-components-add-comment.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-avatar.mjs +146 -0
- package/fesm2015/agorapulse-ui-components-avatar.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs +68 -0
- package/fesm2015/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-datepicker.mjs +235 -0
- package/fesm2015/agorapulse-ui-components-datepicker.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-directives.mjs +509 -0
- package/fesm2015/agorapulse-ui-components-directives.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-dots-stepper.mjs +50 -0
- package/fesm2015/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-infobox.mjs +37 -0
- package/fesm2015/agorapulse-ui-components-infobox.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs +103 -0
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-labels.mjs +160 -0
- package/fesm2015/agorapulse-ui-components-labels.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs +97 -0
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-modal.mjs +106 -0
- package/fesm2015/agorapulse-ui-components-modal.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-notification.mjs +24 -0
- package/fesm2015/agorapulse-ui-components-notification.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-paginator.mjs +82 -0
- package/fesm2015/agorapulse-ui-components-paginator.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-password-input.mjs +77 -0
- package/fesm2015/agorapulse-ui-components-password-input.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-popmenu.mjs +666 -0
- package/fesm2015/agorapulse-ui-components-popmenu.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-slide-toggle.mjs +72 -0
- package/fesm2015/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-snackbar.mjs +31 -0
- package/fesm2015/agorapulse-ui-components-snackbar.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs +169 -0
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-stepper.mjs +45 -0
- package/fesm2015/agorapulse-ui-components-stepper.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-text-measurement.mjs +35 -0
- package/fesm2015/agorapulse-ui-components-text-measurement.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components-tooltip-neo.mjs +283 -0
- package/fesm2015/agorapulse-ui-components-tooltip-neo.mjs.map +1 -0
- package/fesm2015/agorapulse-ui-components.mjs +82 -2824
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-add-comment.mjs +77 -0
- package/fesm2020/agorapulse-ui-components-add-comment.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-avatar.mjs +145 -0
- package/fesm2020/agorapulse-ui-components-avatar.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs +68 -0
- package/fesm2020/agorapulse-ui-components-confirm-modal.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-datepicker.mjs +232 -0
- package/fesm2020/agorapulse-ui-components-datepicker.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-directives.mjs +507 -0
- package/fesm2020/agorapulse-ui-components-directives.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-dots-stepper.mjs +50 -0
- package/fesm2020/agorapulse-ui-components-dots-stepper.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-infobox.mjs +37 -0
- package/fesm2020/agorapulse-ui-components-infobox.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs +102 -0
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-labels.mjs +160 -0
- package/fesm2020/agorapulse-ui-components-labels.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs +95 -0
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-modal.mjs +106 -0
- package/fesm2020/agorapulse-ui-components-modal.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-notification.mjs +24 -0
- package/fesm2020/agorapulse-ui-components-notification.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-paginator.mjs +82 -0
- package/fesm2020/agorapulse-ui-components-paginator.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-password-input.mjs +77 -0
- package/fesm2020/agorapulse-ui-components-password-input.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-popmenu.mjs +664 -0
- package/fesm2020/agorapulse-ui-components-popmenu.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-slide-toggle.mjs +72 -0
- package/fesm2020/agorapulse-ui-components-slide-toggle.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-snackbar.mjs +29 -0
- package/fesm2020/agorapulse-ui-components-snackbar.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs +169 -0
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-stepper.mjs +44 -0
- package/fesm2020/agorapulse-ui-components-stepper.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-text-measurement.mjs +35 -0
- package/fesm2020/agorapulse-ui-components-text-measurement.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components-tooltip-neo.mjs +282 -0
- package/fesm2020/agorapulse-ui-components-tooltip-neo.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-components.mjs +79 -2807
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +28 -34
- package/infobox/index.d.ts +5 -0
- package/{src/lib/infobox → infobox}/infobox.component.d.ts +1 -1
- package/infobox/public_api.d.ts +1 -0
- package/labels/index.d.ts +5 -0
- package/{src/lib/labels → labels}/label-list.component.d.ts +2 -2
- package/{src/lib/labels → labels}/label.component.d.ts +2 -2
- package/labels/public_api.d.ts +2 -0
- package/labels-selector/index.d.ts +5 -0
- package/{src/lib/labels-selector → labels-selector}/labels-selector.component.d.ts +2 -2
- package/labels-selector/public_api.d.ts +1 -0
- package/media-display-overlay/index.d.ts +5 -0
- package/{src/lib/media-display-overlay → media-display-overlay}/media-display-overlay-dialog.component.d.ts +1 -1
- package/media-display-overlay/public_api.d.ts +1 -0
- package/modal/index.d.ts +5 -0
- package/{src/lib/modal → modal}/modal.component.d.ts +3 -4
- package/modal/public_api.d.ts +1 -0
- package/notification/index.d.ts +5 -0
- package/{src/lib/notification → notification}/notification.component.d.ts +1 -1
- package/notification/public_api.d.ts +1 -0
- package/package.json +169 -1
- package/paginator/index.d.ts +5 -0
- package/{src/lib/paginator → paginator}/paginator-button/paginator-button.component.d.ts +1 -1
- package/{src/lib/paginator → paginator}/paginator.component.d.ts +1 -1
- package/paginator/public_api.d.ts +2 -0
- package/password-input/index.d.ts +5 -0
- package/{src/lib/password-input → password-input}/password-input.component.d.ts +1 -1
- package/password-input/public_api.d.ts +1 -0
- package/popmenu/index.d.ts +5 -0
- package/{src/lib/popmenu → popmenu}/options.d.ts +0 -0
- package/{src/lib/popmenu → popmenu}/popmenu-options.interface.d.ts +0 -0
- package/{src/lib/popmenu → popmenu}/popmenu-options.service.d.ts +0 -0
- package/{src/lib/popmenu → popmenu}/popmenu.component.d.ts +1 -1
- package/{src/lib/popmenu → popmenu}/popmenu.directive.d.ts +1 -1
- package/{src/lib/popmenu → popmenu}/popmenu.module.d.ts +1 -4
- package/{src/lib/popmenu/index.d.ts → popmenu/public_api.d.ts} +0 -0
- package/slide-toggle/index.d.ts +5 -0
- package/slide-toggle/public_api.d.ts +1 -0
- package/{src/lib/slide-toggle → slide-toggle}/slide-toggle.component.d.ts +1 -1
- package/snackbar/index.d.ts +5 -0
- package/snackbar/public_api.d.ts +1 -0
- package/{src/lib/snackbar → snackbar}/snackbar.component.d.ts +1 -1
- package/{src/lib/snackbars-thread → snackbars-thread}/component/snackbars-thread.component.d.ts +1 -1
- package/snackbars-thread/index.d.ts +5 -0
- package/{src/lib/snackbars-thread → snackbars-thread}/model/snackbars-thread.model.d.ts +1 -1
- package/snackbars-thread/public_api.d.ts +3 -0
- package/{src/lib/snackbars-thread → snackbars-thread}/service/snackbars-thread.service.d.ts +0 -0
- package/{src/lib/snackbars-thread → snackbars-thread}/utils/const/snackbars-thread.const.d.ts +0 -0
- package/src/lib/agorapulse-ui-components.module.d.ts +24 -38
- package/stepper/index.d.ts +5 -0
- package/stepper/public_api.d.ts +2 -0
- package/{src/lib/stepper → stepper}/step.model.d.ts +0 -0
- package/{src/lib/stepper → stepper}/stepper.component.d.ts +1 -1
- package/text-measurement/index.d.ts +5 -0
- package/text-measurement/public_api.d.ts +1 -0
- package/{src/lib/text-measurement → text-measurement}/text-measurement.service.d.ts +0 -0
- package/tooltip-neo/index.d.ts +5 -0
- package/tooltip-neo/public_api.d.ts +3 -0
- package/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.component.d.ts +1 -1
- package/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.const.d.ts +0 -0
- package/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.directive.d.ts +2 -2
- package/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.model.d.ts +0 -0
- package/{src/lib/tooltip-neo → tooltip-neo}/tooltip-neo.service.d.ts +0 -0
- package/agorapulse-ui-components-14.0.4.tgz +0 -0
- package/esm2020/src/lib/add-comment/add-comment.component.mjs +0 -64
- package/esm2020/src/lib/avatar/avatar.component.mjs +0 -137
- package/esm2020/src/lib/confirm-modal/confirm-modal-texts.model.mjs +0 -2
- package/esm2020/src/lib/confirm-modal/confirm-modal.component.mjs +0 -61
- package/esm2020/src/lib/datepicker/datepicker.component.mjs +0 -219
- package/esm2020/src/lib/directives/autosize-textarea.directive.mjs +0 -43
- package/esm2020/src/lib/directives/default-image.directive.mjs +0 -31
- package/esm2020/src/lib/directives/ellipsis.directive.mjs +0 -85
- package/esm2020/src/lib/directives/equal-validator.directive.mjs +0 -65
- package/esm2020/src/lib/directives/frozen-gif.directive.mjs +0 -115
- package/esm2020/src/lib/directives/multi-style-text.directive.mjs +0 -135
- package/esm2020/src/lib/directives/truncate-tooltip.directive.mjs +0 -33
- package/esm2020/src/lib/dots-stepper/dots-stepper.component.mjs +0 -43
- package/esm2020/src/lib/infobox/infobox.component.mjs +0 -24
- package/esm2020/src/lib/labels/label-list.component.mjs +0 -98
- package/esm2020/src/lib/labels/label.component.mjs +0 -53
- package/esm2020/src/lib/labels-selector/labels-selector.component.mjs +0 -92
- package/esm2020/src/lib/media-display-overlay/media-display-overlay-dialog.component.mjs +0 -87
- package/esm2020/src/lib/modal/modal.component.mjs +0 -96
- package/esm2020/src/lib/notification/notification.component.mjs +0 -17
- package/esm2020/src/lib/paginator/paginator-button/paginator-button.component.mjs +0 -23
- package/esm2020/src/lib/paginator/paginator.component.mjs +0 -54
- package/esm2020/src/lib/password-input/password-input.component.mjs +0 -69
- package/esm2020/src/lib/popmenu/options.mjs +0 -17
- package/esm2020/src/lib/popmenu/popmenu-options.interface.mjs +0 -2
- package/esm2020/src/lib/popmenu/popmenu-options.service.mjs +0 -7
- package/esm2020/src/lib/popmenu/popmenu.component.mjs +0 -357
- package/esm2020/src/lib/popmenu/popmenu.directive.mjs +0 -240
- package/esm2020/src/lib/popmenu/popmenu.module.mjs +0 -47
- package/esm2020/src/lib/slide-toggle/slide-toggle.component.mjs +0 -67
- package/esm2020/src/lib/snackbar/snackbar.component.mjs +0 -21
- package/esm2020/src/lib/snackbars-thread/component/snackbars-thread.component.mjs +0 -70
- package/esm2020/src/lib/snackbars-thread/model/snackbars-thread.model.mjs +0 -41
- package/esm2020/src/lib/snackbars-thread/service/snackbars-thread.service.mjs +0 -41
- package/esm2020/src/lib/snackbars-thread/utils/const/snackbars-thread.const.mjs +0 -13
- package/esm2020/src/lib/stepper/step.model.mjs +0 -2
- package/esm2020/src/lib/stepper/stepper.component.mjs +0 -36
- package/esm2020/src/lib/text-measurement/text-measurement.service.mjs +0 -28
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.component.mjs +0 -44
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.const.mjs +0 -67
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.directive.mjs +0 -137
- package/esm2020/src/lib/tooltip-neo/tooltip-neo.model.mjs +0 -2
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import moment from 'moment';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@agorapulse/ui-symbol";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "ngx-daterangepicker-material";
|
|
7
|
-
export var DatepickerMode;
|
|
8
|
-
(function (DatepickerMode) {
|
|
9
|
-
DatepickerMode["Single"] = "Single";
|
|
10
|
-
DatepickerMode["Multiple"] = "Multiple";
|
|
11
|
-
DatepickerMode["Range"] = "Range";
|
|
12
|
-
})(DatepickerMode || (DatepickerMode = {}));
|
|
13
|
-
var SideEnum;
|
|
14
|
-
(function (SideEnum) {
|
|
15
|
-
SideEnum["left"] = "left";
|
|
16
|
-
SideEnum["right"] = "right";
|
|
17
|
-
})(SideEnum || (SideEnum = {}));
|
|
18
|
-
// TODO fix css for range mode (more lateral padding)
|
|
19
|
-
export class DatepickerComponent {
|
|
20
|
-
constructor(changeDetectorRef) {
|
|
21
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
22
|
-
this.i18n = {
|
|
23
|
-
ranges: {
|
|
24
|
-
yesterday: 'Yesterday',
|
|
25
|
-
lastWeek: 'Last Week',
|
|
26
|
-
last30Days: 'Last 30 days',
|
|
27
|
-
lastMonth: 'Previous month',
|
|
28
|
-
thisMonth: 'This Month',
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
this.selectedDates = [];
|
|
32
|
-
this.selectedPeriod = { startDate: null, endDate: null };
|
|
33
|
-
this.dateSelected = new EventEmitter();
|
|
34
|
-
this.periodSelected = new EventEmitter();
|
|
35
|
-
this.DatepickerMode = DatepickerMode;
|
|
36
|
-
this.doubleCalendarWidth = 528; // 231px calendar table * 2 = 462 (+ 16px x-padding * 4 = 64)
|
|
37
|
-
this.ranges = {};
|
|
38
|
-
this.rangePickerWidth = 150;
|
|
39
|
-
this.pageSet = false;
|
|
40
|
-
this.isCustomDate = (date) => {
|
|
41
|
-
const classes = [];
|
|
42
|
-
if (this.mode === DatepickerMode.Multiple) {
|
|
43
|
-
classes.push(this.isSelected(date) ? 'active' : 'force-inactive');
|
|
44
|
-
}
|
|
45
|
-
else if (this.mode === DatepickerMode.Single) {
|
|
46
|
-
classes.push(this.selectedDate && this.selectedDate.isSame(date, 'day') ? 'active' : 'force-inactive');
|
|
47
|
-
}
|
|
48
|
-
else if (this.mode === DatepickerMode.Range) {
|
|
49
|
-
classes.push('range-picker-mode');
|
|
50
|
-
// Workaround to fix the auto-active today date when no date is selected
|
|
51
|
-
if (moment().isSame(date, 'day')
|
|
52
|
-
&& !this.selectedPeriod?.startDate
|
|
53
|
-
&& !this.selectedPeriod?.endDate) {
|
|
54
|
-
classes.push('force-inactive');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return classes;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
ngOnInit() {
|
|
61
|
-
this.initRanges();
|
|
62
|
-
this.initDatePickerLocale();
|
|
63
|
-
}
|
|
64
|
-
ngOnChanges(changes) {
|
|
65
|
-
this.setWidth();
|
|
66
|
-
if (this.datepickerRef) {
|
|
67
|
-
setTimeout(() => {
|
|
68
|
-
this.datepickerRef.updateCalendars();
|
|
69
|
-
this.changeDetectorRef.detectChanges();
|
|
70
|
-
}, 100);
|
|
71
|
-
}
|
|
72
|
-
if (changes.selectedPeriod?.currentValue && this.datepickerRef) {
|
|
73
|
-
if (this.selectedPeriod.startDate === null && this.selectedPeriod.endDate === null) {
|
|
74
|
-
this.datepickerRef.clear();
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this.datepickerRef.setStartDate(this.selectedPeriod.startDate);
|
|
78
|
-
this.datepickerRef.setEndDate(this.selectedPeriod.endDate);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (changes.mode?.currentValue === DatepickerMode.Single && this.datepickerRef) {
|
|
82
|
-
this.setCalendarCurrentPage();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
ngAfterViewInit() {
|
|
86
|
-
if (this.datepickerRef) {
|
|
87
|
-
setTimeout(() => {
|
|
88
|
-
this.datepickerRef.updateCalendars();
|
|
89
|
-
this.setCalendarCurrentPage();
|
|
90
|
-
}, 100);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
initDatePickerLocale() {
|
|
94
|
-
if (this.locale) {
|
|
95
|
-
moment.locale(this.locale);
|
|
96
|
-
}
|
|
97
|
-
let firstDayOfWeekIndex;
|
|
98
|
-
if (this.firstDayOfWeek === "sunday") {
|
|
99
|
-
firstDayOfWeekIndex = 0;
|
|
100
|
-
}
|
|
101
|
-
else if (this.firstDayOfWeek === "monday") {
|
|
102
|
-
firstDayOfWeekIndex = 1;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
firstDayOfWeekIndex = moment.localeData().firstDayOfWeek();
|
|
106
|
-
}
|
|
107
|
-
this.localeConfig = {
|
|
108
|
-
customRangeLabel: 'custom',
|
|
109
|
-
daysOfWeek: moment.weekdaysMin(),
|
|
110
|
-
monthNames: moment.months(),
|
|
111
|
-
firstDay: firstDayOfWeekIndex
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
initRanges() {
|
|
115
|
-
this.ranges[this.i18n.ranges.yesterday] = [moment().subtract(1, 'days'), moment().subtract(1, 'days')];
|
|
116
|
-
this.ranges[this.i18n.ranges.lastWeek] = [moment().subtract(7, 'days'), moment().subtract(1, 'days')];
|
|
117
|
-
this.ranges[this.i18n.ranges.last30Days] = [moment().subtract(30, 'days'), moment().subtract(1, 'days')];
|
|
118
|
-
this.ranges[this.i18n.ranges.lastMonth] = [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')];
|
|
119
|
-
this.ranges[this.i18n.ranges.thisMonth] = [moment().startOf('month'), moment().endOf('month')];
|
|
120
|
-
}
|
|
121
|
-
isSelected(date) {
|
|
122
|
-
return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));
|
|
123
|
-
}
|
|
124
|
-
onStartDateChanged(event) {
|
|
125
|
-
const date = event.startDate;
|
|
126
|
-
if (this.mode !== DatepickerMode.Range) {
|
|
127
|
-
this.selectedDate = date;
|
|
128
|
-
this.datepickerRef.setEndDate(date);
|
|
129
|
-
if (this.pageSet) {
|
|
130
|
-
this.pageSet = false;
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
this.dateSelected.emit(date.clone());
|
|
134
|
-
if (this.mode === DatepickerMode.Multiple) {
|
|
135
|
-
this.selectedDates.push(date);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (this.datepickerRef) {
|
|
139
|
-
this.datepickerRef.updateCalendars();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
onDatesUpdated(event) {
|
|
144
|
-
if (this.mode === DatepickerMode.Range) {
|
|
145
|
-
this.periodSelected.emit({
|
|
146
|
-
startDate: event.startDate?.clone(),
|
|
147
|
-
endDate: event.endDate?.clone()
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
if (this.datepickerRef) {
|
|
151
|
-
this.datepickerRef.updateCalendars();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
onNextMonth() {
|
|
155
|
-
this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.add(1, 'months').clone();
|
|
156
|
-
this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.add(1, 'months').clone();
|
|
157
|
-
this.datepickerRef.clickNext(SideEnum.left);
|
|
158
|
-
this.datepickerRef.clickNext(SideEnum.right);
|
|
159
|
-
}
|
|
160
|
-
onPreviousMonth() {
|
|
161
|
-
this.datepickerRef.leftCalendar.month = this.datepickerRef.leftCalendar.month.subtract(1, 'months').clone();
|
|
162
|
-
this.datepickerRef.rightCalendar.month = this.datepickerRef.rightCalendar.month.subtract(1, 'months').clone();
|
|
163
|
-
this.datepickerRef.clickPrev(SideEnum.left);
|
|
164
|
-
this.datepickerRef.clickPrev(SideEnum.right);
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Ugly hack used here to open the calendar on the right day if they are selected dates
|
|
168
|
-
* * https://github.com/fetrarij/ngx-daterangepicker-material/issues/139
|
|
169
|
-
*/
|
|
170
|
-
setCalendarCurrentPage() {
|
|
171
|
-
const selectedFirstDate = this.selectedDates.length > 0 ? this.selectedDates[0] : this.selectedDate;
|
|
172
|
-
if (selectedFirstDate && selectedFirstDate.isValid() && this.mode !== DatepickerMode.Range) {
|
|
173
|
-
const endDate = selectedFirstDate.clone();
|
|
174
|
-
endDate.add(1, 'month');
|
|
175
|
-
this.pageSet = true;
|
|
176
|
-
this.datepickerRef.setStartDate(selectedFirstDate);
|
|
177
|
-
this.datepickerRef.setEndDate(endDate);
|
|
178
|
-
this.datepickerRef.updateView();
|
|
179
|
-
}
|
|
180
|
-
this.changeDetectorRef.detectChanges();
|
|
181
|
-
}
|
|
182
|
-
setWidth() {
|
|
183
|
-
this.width = this.showRanges && this.mode === DatepickerMode.Range ? this.doubleCalendarWidth + this.rangePickerWidth : this.doubleCalendarWidth;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
187
|
-
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: DatepickerComponent, selector: "ap-datepicker", inputs: { firstDayOfWeek: "firstDayOfWeek", i18n: "i18n", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDate: "selectedDate", selectedDates: "selectedDates", selectedPeriod: "selectedPeriod", showRanges: "showRanges" }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\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}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], dependencies: [{ kind: "component", type: i1.SymbolComponent, selector: "ap-symbol", inputs: ["color", "id", "symbolId", "size", "state"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "minDate", "maxDate", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "closeOnAutoApply", "locale", "ranges", "isInvalidDate", "isCustomDate", "isTooltipDate", "showCustomRangeLabel", "drops", "opens"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
189
|
-
type: Component,
|
|
190
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\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}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
|
|
191
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { datepickerRef: [{
|
|
192
|
-
type: ViewChild,
|
|
193
|
-
args: ['datepickerRef']
|
|
194
|
-
}], firstDayOfWeek: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], i18n: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], locale: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], maxDate: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], minDate: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], mode: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], selectedDate: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], selectedDates: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], selectedPeriod: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], showRanges: [{
|
|
213
|
-
type: Input
|
|
214
|
-
}], dateSelected: [{
|
|
215
|
-
type: Output
|
|
216
|
-
}], periodSelected: [{
|
|
217
|
-
type: Output
|
|
218
|
-
}] } });
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBRzVCLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsbUNBQWlCLENBQUE7SUFDakIsdUNBQXFCLENBQUE7SUFDckIsaUNBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFpQkQsSUFBSyxRQUdKO0FBSEQsV0FBSyxRQUFRO0lBQ1QseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUhJLFFBQVEsS0FBUixRQUFRLFFBR1o7QUFFRCxxREFBcUQ7QUFPckQsTUFBTSxPQUFPLG1CQUFtQjtJQXNDNUIsWUFBbUIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsQzlDLFNBQUksR0FBbUI7WUFDNUIsTUFBTSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixRQUFRLEVBQUUsV0FBVztnQkFDckIsVUFBVSxFQUFFLGNBQWM7Z0JBQzFCLFNBQVMsRUFBRSxnQkFBZ0I7Z0JBQzNCLFNBQVMsRUFBRSxZQUFZO2FBQzFCO1NBQ0osQ0FBQztRQU1PLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdC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akIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnR9IGZyb20gXCJuZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge01vbWVudH0gZnJvbSAnbW9tZW50JztcblxuZXhwb3J0IGVudW0gRGF0ZXBpY2tlck1vZGUge1xuICAgIFNpbmdsZSA9ICdTaW5nbGUnLFxuICAgIE11bHRpcGxlID0gJ011bHRpcGxlJyxcbiAgICBSYW5nZSA9ICdSYW5nZSdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJpb2Qge1xuICAgIHN0YXJ0RGF0ZTogTW9tZW50O1xuICAgIGVuZERhdGU6IE1vbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRGF0ZVBpY2tlciB7XG4gICAgcmFuZ2VzOiB7XG4gICAgICAgIHllc3RlcmRheTogc3RyaW5nO1xuICAgICAgICBsYXN0V2Vlazogc3RyaW5nO1xuICAgICAgICBsYXN0MzBEYXlzOiBzdHJpbmc7XG4gICAgICAgIGxhc3RNb250aDogc3RyaW5nO1xuICAgICAgICB0aGlzTW9udGg6IHN0cmluZztcbiAgICB9XG59XG5cbmVudW0gU2lkZUVudW0ge1xuICAgIGxlZnQgPSBcImxlZnRcIixcbiAgICByaWdodCA9IFwicmlnaHRcIlxufVxuXG4vLyBUT0RPIGZpeCBjc3MgZm9yIHJhbmdlIG1vZGUgKG1vcmUgbGF0ZXJhbCBwYWRkaW5nKVxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1kYXRlcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlclJlZicpIGRhdGVwaWNrZXJSZWY6IERhdGVyYW5nZXBpY2tlckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaTE4bjogSTE4bkRhdGVQaWNrZXIgPSB7XG4gICAgICAgIHJhbmdlczoge1xuICAgICAgICAgICAgeWVzdGVyZGF5OiAnWWVzdGVyZGF5JyxcbiAgICAgICAgICAgIGxhc3RXZWVrOiAnTGFzdCBXZWVrJyxcbiAgICAgICAgICAgIGxhc3QzMERheXM6ICdMYXN0IDMwIGRheXMnLFxuICAgICAgICAgICAgbGFzdE1vbnRoOiAnUHJldmlvdXMgbW9udGgnLFxuICAgICAgICAgICAgdGhpc01vbnRoOiAnVGhpcyBNb250aCcsXG4gICAgICAgIH1cbiAgICB9O1xuICAgIEBJbnB1dCgpIGxvY2FsZTtcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBNb21lbnQ7XG4gICAgQElucHV0KCkgbWluRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIG1vZGU6IERhdGVwaWNrZXJNb2RlO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZXM6IE1vbWVudFtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRQZXJpb2Q6IFBlcmlvZCA9IHtzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGx9O1xuICAgIEBJbnB1dCgpIHNob3dSYW5nZXM6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHBlcmlvZFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJpb2Q+KCk7XG5cbiAgICBEYXRlcGlja2VyTW9kZSA9IERhdGVwaWNrZXJNb2RlO1xuICAgIGRvdWJsZUNhbGVuZGFyV2lkdGggPSA1Mjg7IC8vIDIzMXB4IGNhbGVuZGFyIHRhYmxlICogMiA9IDQ2MiAoKyAxNnB4IHgtcGFkZGluZyAqIDQgPSA2NClcbiAgICBsb2NhbGVDb25maWc6IHtcbiAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogc3RyaW5nO1xuICAgICAgICBkYXlzT2ZXZWVrOiBzdHJpbmdbXTtcbiAgICAgICAgbW9udGhOYW1lczogc3RyaW5nW107XG4gICAgICAgIGZpcnN0RGF5OiBudW1iZXI7XG4gICAgfTtcbiAgICByYW5nZXM6IHtbcGVyaW9kOiBzdHJpbmddOiBbTW9tZW50LCBNb21lbnRdfSA9IHt9O1xuICAgIHJhbmdlUGlja2VyV2lkdGggPSAxNTA7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBwYWdlU2V0ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFJhbmdlcygpO1xuICAgICAgICB0aGlzLmluaXREYXRlUGlja2VyTG9jYWxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xuICAgICAgICB0aGlzLnNldFdpZHRoKCk7XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuc2VsZWN0ZWRQZXJpb2Q/LmN1cnJlbnRWYWx1ZSAmJiB0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUGVyaW9kLnN0YXJ0RGF0ZSA9PT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkUGVyaW9kLmVuZERhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xlYXIoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldFN0YXJ0RGF0ZSh0aGlzLnNlbGVjdGVkUGVyaW9kLnN0YXJ0RGF0ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldEVuZERhdGUodGhpcy5zZWxlY3RlZFBlcmlvZC5lbmREYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5tb2RlPy5jdXJyZW50VmFsdWUgPT09IERhdGVwaWNrZXJNb2RlLlNpbmdsZSAmJiB0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXREYXRlUGlja2VyTG9jYWxlKCkge1xuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIG1vbWVudC5sb2NhbGUodGhpcy5sb2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBmaXJzdERheU9mV2Vla0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSBcInN1bmRheVwiKSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSBcIm1vbmRheVwiKSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrSW5kZXggPSBtb21lbnQubG9jYWxlRGF0YSgpLmZpcnN0RGF5T2ZXZWVrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2NhbGVDb25maWcgPSB7XG4gICAgICAgICAgICBjdXN0b21SYW5nZUxhYmVsOiAnY3VzdG9tJyxcbiAgICAgICAgICAgIGRheXNPZldlZWs6IG1vbWVudC53ZWVrZGF5c01pbigpLFxuICAgICAgICAgICAgbW9udGhOYW1lczogbW9tZW50Lm1vbnRocygpLFxuICAgICAgICAgICAgZmlyc3REYXk6IGZpcnN0RGF5T2ZXZWVrSW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpbml0UmFuZ2VzKCkge1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLnllc3RlcmRheV0gPSBbbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKSwgbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKV07XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMubGFzdFdlZWtdID0gW21vbWVudCgpLnN1YnRyYWN0KDcsICdkYXlzJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyldO1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLmxhc3QzMERheXNdID0gW21vbWVudCgpLnN1YnRyYWN0KDMwLCAnZGF5cycpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy5sYXN0TW9udGhdID0gW21vbWVudCgpLnN1YnRyYWN0KDEsICdtb250aCcpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdtb250aCcpLmVuZE9mKCdtb250aCcpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy50aGlzTW9udGhdID0gW21vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLmVuZE9mKCdtb250aCcpXTtcbiAgICB9XG5cbiAgICBpc0N1c3RvbURhdGUgPSAoZGF0ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLk11bHRpcGxlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2godGhpcy5pc1NlbGVjdGVkKGRhdGUpID8gJ2FjdGl2ZScgOiAnZm9yY2UtaW5hY3RpdmUnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlNpbmdsZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMuc2VsZWN0ZWREYXRlLmlzU2FtZShkYXRlLCAnZGF5JykgPyAnYWN0aXZlJyA6ICdmb3JjZS1pbmFjdGl2ZScpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgncmFuZ2UtcGlja2VyLW1vZGUnKTtcbiAgICAgICAgICAgIC8vIFdvcmthcm91bmQgdG8gZml4IHRoZSBhdXRvLWFjdGl2ZSB0b2RheSBkYXRlIHdoZW4gbm8gZGF0ZSBpcyBzZWxlY3RlZFxuICAgICAgICAgICAgaWYgKG1vbWVudCgpLmlzU2FtZShkYXRlLCAnZGF5JylcbiAgICAgICAgICAgICAgICAmJiAhdGhpcy5zZWxlY3RlZFBlcmlvZD8uc3RhcnREYXRlXG4gICAgICAgICAgICAgICAgJiYgIXRoaXMuc2VsZWN0ZWRQZXJpb2Q/LmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZvcmNlLWluYWN0aXZlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1NlbGVjdGVkKGRhdGU6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGVzICYmIHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKHNlbGVjdGVkRGF0ZSA9PiBzZWxlY3RlZERhdGUuaXNTYW1lKGRhdGUsICdkYXknKSk7XG4gICAgfVxuXG4gICAgb25TdGFydERhdGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZTtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRFbmREYXRlKGRhdGUpO1xuICAgICAgICAgICAgaWYgKHRoaXMucGFnZVNldCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNldCA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGUuY2xvbmUoKSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLnB1c2goZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGF0ZXNVcGRhdGVkKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kU2VsZWN0ZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOiBldmVudC5zdGFydERhdGU/LmNsb25lKCksXG4gICAgICAgICAgICAgICAgZW5kRGF0ZTogZXZlbnQuZW5kRGF0ZT8uY2xvbmUoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25OZXh0TW9udGgoKSB7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYubGVmdENhbGVuZGFyLm1vbnRoLmFkZCgxLCAnbW9udGhzJykuY2xvbmUoKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5hZGQoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja05leHQoU2lkZUVudW0ubGVmdCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja05leHQoU2lkZUVudW0ucmlnaHQpO1xuICAgIH1cblxuICAgIG9uUHJldmlvdXNNb250aCgpIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aCA9IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGguc3VidHJhY3QoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoID0gdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGguc3VidHJhY3QoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja1ByZXYoU2lkZUVudW0ubGVmdCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGlja1ByZXYoU2lkZUVudW0ucmlnaHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVnbHkgaGFjayB1c2VkIGhlcmUgdG8gb3BlbiB0aGUgY2FsZW5kYXIgb24gdGhlIHJpZ2h0IGRheSBpZiB0aGV5IGFyZSBzZWxlY3RlZCBkYXRlc1xuICAgICAqICAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vZmV0cmFyaWovbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbC9pc3N1ZXMvMTM5XG4gICAgICovXG4gICAgc2V0Q2FsZW5kYXJDdXJyZW50UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGaXJzdERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID4gMCA/IHRoaXMuc2VsZWN0ZWREYXRlc1swXSA6IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICBpZiAoc2VsZWN0ZWRGaXJzdERhdGUgJiYgc2VsZWN0ZWRGaXJzdERhdGUuaXNWYWxpZCgpICYmIHRoaXMubW9kZSAhPT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBzZWxlY3RlZEZpcnN0RGF0ZS5jbG9uZSgpO1xuICAgICAgICAgICAgZW5kRGF0ZS5hZGQoMSwgJ21vbnRoJyk7XG4gICAgICAgICAgICB0aGlzLnBhZ2VTZXQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldFN0YXJ0RGF0ZShzZWxlY3RlZEZpcnN0RGF0ZSk7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0RW5kRGF0ZShlbmREYXRlKTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG5cbiAgICBzZXRXaWR0aCgpIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuc2hvd1JhbmdlcyAmJiB0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlID8gdGhpcy5kb3VibGVDYWxlbmRhcldpZHRoICsgdGhpcy5yYW5nZVBpY2tlcldpZHRoIDogdGhpcy5kb3VibGVDYWxlbmRhcldpZHRoO1xuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbS1jYWxlbmRhclwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aCArICdweCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25QcmV2aW91c01vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCInYXJyb3ctbGVmdC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGgubG9jYWxlKGxvY2FsZSkuZm9ybWF0KCdNTU1NIFlZWVknKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5sb2NhbGUobG9jYWxlKS5mb3JtYXQoJ01NTU0gWVlZWScpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25OZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIidhcnJvdy1yaWdodC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZmlsbGVyXCIgKm5nSWY9XCJzaG93UmFuZ2VzICYmIG1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlXCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsXG4gICAgICAgICNkYXRlcGlja2VyUmVmXG4gICAgICAgIFtjbGFzcy5oaWRlLXJhbmdlc109XCIhc2hvd1Jhbmdlc1wiXG4gICAgICAgIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cInRydWVcIlxuICAgICAgICBbYXV0b0FwcGx5XT1cInRydWVcIlxuICAgICAgICBbY3VzdG9tUmFuZ2VEaXJlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgIFtpc0N1c3RvbURhdGVdPVwiJGFueShpc0N1c3RvbURhdGUpXCJcbiAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVDb25maWdcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFtyYW5nZXNdPVwic2hvd1JhbmdlcyAmJiBtb2RlID09PSBEYXRlcGlja2VyTW9kZS5SYW5nZSA/IHJhbmdlcyA6IG51bGxcIlxuICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cIm9uRGF0ZXNVcGRhdGVkKCRldmVudClcIlxuICAgICAgICAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbD5cbjwvZGl2PlxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* expand textarea to fit content. Doesn't shrink.
|
|
5
|
-
*/
|
|
6
|
-
export class AutosizeTextareaDirective {
|
|
7
|
-
constructor(element) {
|
|
8
|
-
this.element = element;
|
|
9
|
-
}
|
|
10
|
-
onInput() {
|
|
11
|
-
this.resize();
|
|
12
|
-
}
|
|
13
|
-
ngAfterContentChecked() {
|
|
14
|
-
this.resize();
|
|
15
|
-
}
|
|
16
|
-
resize() {
|
|
17
|
-
const style = this.element.nativeElement.style;
|
|
18
|
-
const scrollHeight = this.element.nativeElement.scrollHeight;
|
|
19
|
-
const actualHeight = this.element.nativeElement.offsetHeight;
|
|
20
|
-
if (AutosizeTextareaDirective.maxHeight < scrollHeight) {
|
|
21
|
-
// we arrived at the max
|
|
22
|
-
style.overflow = 'auto';
|
|
23
|
-
style.height = `${AutosizeTextareaDirective.maxHeight}px`;
|
|
24
|
-
}
|
|
25
|
-
else if (actualHeight < scrollHeight) {
|
|
26
|
-
style.overflow = 'hidden';
|
|
27
|
-
style.height = `${scrollHeight}px`;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
AutosizeTextareaDirective.maxHeight = 200;
|
|
32
|
-
AutosizeTextareaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AutosizeTextareaDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
-
AutosizeTextareaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: AutosizeTextareaDirective, selector: "textarea[apAutosize]", host: { listeners: { "input": "onInput()" } }, ngImport: i0 });
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AutosizeTextareaDirective, decorators: [{
|
|
35
|
-
type: Directive,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: 'textarea[apAutosize]'
|
|
38
|
-
}]
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onInput: [{
|
|
40
|
-
type: HostListener,
|
|
41
|
-
args: ['input']
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3NpemUtdGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvc2l6ZS10ZXh0YXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6Rjs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJbEMsWUFBbUIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFHbkMsT0FBTztRQUNWLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTTtRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDN0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzdELElBQUkseUJBQXlCLENBQUMsU0FBUyxHQUFHLFlBQVksRUFBRTtZQUNwRCx3QkFBd0I7WUFDeEIsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDeEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsSUFBSSxDQUFDO1NBQzdEO2FBQU0sSUFBSSxZQUFZLEdBQUcsWUFBWSxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksQ0FBQztTQUN0QztJQUNMLENBQUM7O0FBekJNLG1DQUFTLEdBQVcsR0FBRyxDQUFDO3NIQUZ0Qix5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO2lHQVdVLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0ZXh0YXJlYVthcEF1dG9zaXplXSdcbn0pXG4vKipcbiAqIGV4cGFuZCB0ZXh0YXJlYSB0byBmaXQgY29udGVudC4gRG9lc24ndCBzaHJpbmsuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvc2l6ZVRleHRhcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG5cbiAgICBzdGF0aWMgbWF4SGVpZ2h0OiBudW1iZXIgPSAyMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcbiAgICBwdWJsaWMgb25JbnB1dCgpIHtcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNpemUoKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGU7XG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICAgICAgY29uc3QgYWN0dWFsSGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBpZiAoQXV0b3NpemVUZXh0YXJlYURpcmVjdGl2ZS5tYXhIZWlnaHQgPCBzY3JvbGxIZWlnaHQpIHtcbiAgICAgICAgICAgIC8vIHdlIGFycml2ZWQgYXQgdGhlIG1heFxuICAgICAgICAgICAgc3R5bGUub3ZlcmZsb3cgPSAnYXV0byc7XG4gICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBgJHtBdXRvc2l6ZVRleHRhcmVhRGlyZWN0aXZlLm1heEhlaWdodH1weGA7XG4gICAgICAgIH0gZWxzZSBpZiAoYWN0dWFsSGVpZ2h0IDwgc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICBzdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nO1xuICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gYCR7c2Nyb2xsSGVpZ2h0fXB4YDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DefaultImageDirective {
|
|
4
|
-
updateUrl() {
|
|
5
|
-
if (this.default) {
|
|
6
|
-
this.src = this.default;
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
this.src = 'assets/lib-ui-components/img/default-avatar.png';
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
DefaultImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DefaultImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
DefaultImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: DefaultImageDirective, selector: "img[default]", inputs: { src: "src", default: "default" }, host: { listeners: { "error": "updateUrl()" }, properties: { "src": "src" } }, ngImport: i0 });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DefaultImageDirective, decorators: [{
|
|
16
|
-
type: Directive,
|
|
17
|
-
args: [{
|
|
18
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
19
|
-
selector: 'img[default]',
|
|
20
|
-
// eslint-disable-next-line @angular-eslint/no-host-metadata-property
|
|
21
|
-
host: {
|
|
22
|
-
'(error)': 'updateUrl()',
|
|
23
|
-
'[src]': 'src'
|
|
24
|
-
}
|
|
25
|
-
}]
|
|
26
|
-
}], propDecorators: { src: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], default: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2RlZmF1bHQtaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVcvQyxNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsaURBQWlELENBQUM7U0FDaEU7SUFDTCxDQUFDOztrSEFWUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVRqQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLHFFQUFxRTtvQkFDckUsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxhQUFhO3dCQUN4QixPQUFPLEVBQUUsS0FBSztxQkFDakI7aUJBQ0o7OEJBRVksR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdpbWdbZGVmYXVsdF0nLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhlcnJvciknOiAndXBkYXRlVXJsKCknLFxuICAgICAgICAnW3NyY10nOiAnc3JjJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZWZhdWx0OiBzdHJpbmc7XG5cbiAgICB1cGRhdGVVcmwoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHQpIHtcbiAgICAgICAgICAgIHRoaXMuc3JjID0gdGhpcy5kZWZhdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zcmMgPSAnYXNzZXRzL2xpYi11aS1jb21wb25lbnRzL2ltZy9kZWZhdWx0LWF2YXRhci5wbmcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Removes excess text from element until it fits in elements
|
|
5
|
-
* and appends a ellipsis symbol to end of text. This requires that
|
|
6
|
-
* the elements height be fixed
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```html
|
|
10
|
-
* <p apEllipsis>Ullamco esse laborum</p>
|
|
11
|
-
* ```
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export class EllipsisDirective {
|
|
15
|
-
constructor(el) {
|
|
16
|
-
this.el = el;
|
|
17
|
-
this.apEllipsisClip = false;
|
|
18
|
-
this.apEllipsisChar = '...';
|
|
19
|
-
this.apEllipsisClickable = false;
|
|
20
|
-
this.apEllipsisRemovedElementsCount = new EventEmitter();
|
|
21
|
-
this.apEllipsisRemovedText = new EventEmitter();
|
|
22
|
-
}
|
|
23
|
-
get hasOverflow() {
|
|
24
|
-
const el = this.el.nativeElement;
|
|
25
|
-
return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);
|
|
26
|
-
}
|
|
27
|
-
ngAfterContentChecked() {
|
|
28
|
-
this.clipText();
|
|
29
|
-
}
|
|
30
|
-
clipText() {
|
|
31
|
-
const el = this.el.nativeElement;
|
|
32
|
-
let text = el.innerText;
|
|
33
|
-
let removedText = '';
|
|
34
|
-
if (this.apEllipsisIndex > -1) {
|
|
35
|
-
removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;
|
|
36
|
-
text = text.substring(0, this.apEllipsisIndex);
|
|
37
|
-
el.innerText = `${text}${this.apEllipsisChar}`;
|
|
38
|
-
if (this.apEllipsisClickable) {
|
|
39
|
-
el.addEventListener('click', () => {
|
|
40
|
-
el.innerText = `${text}${removedText}`;
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
while (this.hasOverflow && text.length > 0) {
|
|
46
|
-
removedText = text[text.length - 1] + removedText;
|
|
47
|
-
text = text.substring(0, text.length - 1);
|
|
48
|
-
el.innerText = `${text}${this.apEllipsisChar}`;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (this.apEllipsisSeparator) {
|
|
52
|
-
const removedElementsCount = removedText.split(this.apEllipsisSeparator)
|
|
53
|
-
.filter(element => !!element && element.length > 0).length;
|
|
54
|
-
if (removedElementsCount > 0) {
|
|
55
|
-
this.apEllipsisRemovedElementsCount.emit(removedElementsCount);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (removedText && removedText.length > 0) {
|
|
59
|
-
this.apEllipsisRemovedText.emit(removedText);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
EllipsisDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
-
EllipsisDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: EllipsisDirective, selector: "[apEllipsis]", inputs: { apEllipsisSeparator: "apEllipsisSeparator", apEllipsisClip: "apEllipsisClip", apEllipsisIndex: "apEllipsisIndex", apEllipsisChar: "apEllipsisChar", apEllipsisClickable: "apEllipsisClickable" }, outputs: { apEllipsisRemovedElementsCount: "apEllipsisRemovedElementsCount", apEllipsisRemovedText: "apEllipsisRemovedText" }, ngImport: i0 });
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: EllipsisDirective, decorators: [{
|
|
66
|
-
type: Directive,
|
|
67
|
-
args: [{
|
|
68
|
-
selector: '[apEllipsis]',
|
|
69
|
-
}]
|
|
70
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apEllipsisSeparator: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], apEllipsisClip: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], apEllipsisIndex: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], apEllipsisChar: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], apEllipsisClickable: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], apEllipsisRemovedElementsCount: [{
|
|
81
|
-
type: Output
|
|
82
|
-
}], apEllipsisRemovedText: [{
|
|
83
|
-
type: Output
|
|
84
|
-
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZHOzs7Ozs7Ozs7O0dBVUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBZ0IxQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWJ6QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyxtQkFBYyxHQUFXLEtBQUssQ0FBQztRQUMvQix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFcEMsbUNBQThCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBT3ZCLENBQUM7SUFMdkMsSUFBWSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBSUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sUUFBUTtRQUNaLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3hCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDM0IsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUNsRixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRS9DLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUMxQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDOUIsRUFBRSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3hDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUNsRDtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvRCxJQUFJLG9CQUFvQixHQUFHLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQ2xFO1NBQ0o7UUFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQzs7OEdBdERRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCO2lHQUdZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksOEJBQThCO3NCQUF2QyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50Q2hlY2tlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZW1vdmVzIGV4Y2VzcyB0ZXh0IGZyb20gZWxlbWVudCB1bnRpbCBpdCBmaXRzIGluIGVsZW1lbnRzXG4gKiBhbmQgYXBwZW5kcyBhIGVsbGlwc2lzIHN5bWJvbCB0byBlbmQgb2YgdGV4dC4gVGhpcyByZXF1aXJlcyB0aGF0XG4gKiB0aGUgZWxlbWVudHMgaGVpZ2h0IGJlIGZpeGVkXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxwIGFwRWxsaXBzaXM+VWxsYW1jbyBlc3NlIGxhYm9ydW08L3A+XG4gKiBgYGBcbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcblxuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNTZXBhcmF0b3I6IHN0cmluZztcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2xpcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNJbmRleDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNDaGFyOiBzdHJpbmcgPSAnLi4uJztcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIGFwRWxsaXBzaXNSZW1vdmVkVGV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgaGFzT3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgcmV0dXJuIChlbC5zY3JvbGxIZWlnaHQgPiBlbC5vZmZzZXRIZWlnaHQpIHx8IChlbC5zY3JvbGxXaWR0aCA+IGVsLm9mZnNldFdpZHRoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jbGlwVGV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xpcFRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHRleHQgPSBlbC5pbm5lclRleHQ7XG4gICAgICAgIGxldCByZW1vdmVkVGV4dCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmVtb3ZlZFRleHQgPSB0ZXh0LnN1YnN0cmluZyh0aGlzLmFwRWxsaXBzaXNJbmRleCwgdGV4dC5sZW5ndGggLSAxKSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRoaXMuYXBFbGxpcHNpc0luZGV4KTtcbiAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFwRWxsaXBzaXNDbGlja2FibGUpIHtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWwuaW5uZXJUZXh0ID0gYCR7dGV4dH0ke3JlbW92ZWRUZXh0fWA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNPdmVyZmxvdyAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVkVGV4dCA9IHRleHRbdGV4dC5sZW5ndGggLSAxXSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudHNDb3VudCA9IHJlbW92ZWRUZXh0LnNwbGl0KHRoaXMuYXBFbGxpcHNpc1NlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubGVuZ3RoID4gMCkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHJlbW92ZWRFbGVtZW50c0NvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50LmVtaXQocmVtb3ZlZEVsZW1lbnRzQ291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZW1vdmVkVGV4dCAmJiByZW1vdmVkVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwRWxsaXBzaXNSZW1vdmVkVGV4dC5lbWl0KHJlbW92ZWRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2
|
|
2
|
-
import { Directive, forwardRef, Attribute } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class EqualValidatorDirective {
|
|
6
|
-
constructor(validateEqual, validateEqualReference) {
|
|
7
|
-
this.validateEqual = validateEqual;
|
|
8
|
-
this.validateEqualReference = validateEqualReference;
|
|
9
|
-
}
|
|
10
|
-
validate(self) {
|
|
11
|
-
const other = self.root.get(this.validateEqual);
|
|
12
|
-
if (other) {
|
|
13
|
-
if (this.isReference()) {
|
|
14
|
-
if (self.value === other.value) {
|
|
15
|
-
delete other.errors['validateEqual'];
|
|
16
|
-
if (!Object.keys(other.errors).length) {
|
|
17
|
-
other.setErrors(null);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
other.setErrors({ validateEqual: false });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else if (self.value !== other.value) {
|
|
25
|
-
return { validateEqual: false };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
isReference() {
|
|
31
|
-
if (!this.validateEqualReference) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return this.validateEqualReference === 'true';
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
EqualValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: EqualValidatorDirective, deps: [{ token: 'validateEqual', attribute: true }, { token: 'validateEqualReference', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
38
|
-
EqualValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: EqualValidatorDirective, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]", providers: [
|
|
39
|
-
{
|
|
40
|
-
provide: NG_VALIDATORS,
|
|
41
|
-
useExisting: forwardRef(() => EqualValidatorDirective),
|
|
42
|
-
multi: true
|
|
43
|
-
}
|
|
44
|
-
], ngImport: i0 });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: EqualValidatorDirective, decorators: [{
|
|
46
|
-
type: Directive,
|
|
47
|
-
args: [{
|
|
48
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
49
|
-
selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',
|
|
50
|
-
providers: [
|
|
51
|
-
{
|
|
52
|
-
provide: NG_VALIDATORS,
|
|
53
|
-
useExisting: forwardRef(() => EqualValidatorDirective),
|
|
54
|
-
multi: true
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
}]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
59
|
-
type: Attribute,
|
|
60
|
-
args: ['validateEqual']
|
|
61
|
-
}] }, { type: undefined, decorators: [{
|
|
62
|
-
type: Attribute,
|
|
63
|
-
args: ['validateEqualReference']
|
|
64
|
-
}] }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtSEFBbUg7QUFDbkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBOEIsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTNFLE1BQU0sT0FBTyx1QkFBdUI7SUFFaEMsWUFBK0MsYUFBcUIsRUFDWixzQkFBOEI7UUFEdkMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDWiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVE7SUFBRyxDQUFDO0lBRTFGLFFBQVEsQ0FBQyxJQUFxQjtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUU7b0JBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTt3QkFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDekI7aUJBQ0o7cUJBQU07b0JBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QzthQUNKO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ25DO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxNQUFNLENBQUM7SUFDbEQsQ0FBQzs7b0hBN0JRLHVCQUF1QixrQkFFVCxlQUFlLDhCQUNmLHdCQUF3Qjt3R0FIdEMsdUJBQXVCLGlIQVJyQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0o7MkZBRVEsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLHdGQUF3RjtvQkFDbEcsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7OzBCQUdnQixTQUFTOzJCQUFDLGVBQWU7OzBCQUN6QixTQUFTOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2VkIG9uIGh0dHBzOi8vc2NvdGNoLmlvL3R1dG9yaWFscy9ob3ctdG8taW1wbGVtZW50LWEtY3VzdG9tLXZhbGlkYXRvci1kaXJlY3RpdmUtY29uZmlybS1wYXNzd29yZC1pbi1hbmd1bGFyLTJcbmltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1t2YWxpZGF0ZUVxdWFsXVtmb3JtQ29udHJvbE5hbWVdLFt2YWxpZGF0ZUVxdWFsXVtmb3JtQ29udHJvbF0sW3ZhbGlkYXRlRXF1YWxdW25nTW9kZWxdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVxdWFsVmFsaWRhdG9yRGlyZWN0aXZlKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVxdWFsVmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcblxuICAgIGNvbnN0cnVjdG9yKEBBdHRyaWJ1dGUoJ3ZhbGlkYXRlRXF1YWwnKSBwdWJsaWMgdmFsaWRhdGVFcXVhbDogc3RyaW5nLFxuICAgICAgICAgICAgICAgIEBBdHRyaWJ1dGUoJ3ZhbGlkYXRlRXF1YWxSZWZlcmVuY2UnKSBwdWJsaWMgdmFsaWRhdGVFcXVhbFJlZmVyZW5jZTogc3RyaW5nKSB7fVxuXG4gICAgdmFsaWRhdGUoc2VsZjogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgICAgIGNvbnN0IG90aGVyID0gc2VsZi5yb290LmdldCh0aGlzLnZhbGlkYXRlRXF1YWwpO1xuICAgICAgICBpZiAob3RoZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVmZXJlbmNlKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi52YWx1ZSA9PT0gb3RoZXIudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG90aGVyLmVycm9yc1sndmFsaWRhdGVFcXVhbCddO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG90aGVyLmVycm9ycykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdGhlci5zZXRFcnJvcnMoeyB2YWxpZGF0ZUVxdWFsOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGYudmFsdWUgIT09IG90aGVyLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWRhdGVFcXVhbDogZmFsc2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVmZXJlbmNlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVFcXVhbFJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRXF1YWxSZWZlcmVuY2UgPT09ICd0cnVlJztcbiAgICB9XG5cbn1cbiJdfQ==
|