@colijnit/corecomponents_v12 12.2.20 → 12.2.22
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/bundles/colijnit-corecomponents_v12.umd.js +13656 -13656
- package/colijnit-corecomponents_v12.d.ts +43 -43
- package/esm2015/colijnit-corecomponents_v12.js +43 -43
- package/esm2015/lib/components/article-tile/article-tile.component.js +49 -49
- package/esm2015/lib/components/article-tile/article-tile.module.js +34 -34
- package/esm2015/lib/components/base/base-input.component.js +833 -833
- package/esm2015/lib/components/base/base.module.js +21 -21
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.component.js +85 -85
- package/esm2015/lib/components/base/commit-buttons/commit-buttons.module.js +20 -20
- package/esm2015/lib/components/base/dialog-base.component.js +5 -5
- package/esm2015/lib/components/base-input-date-picker/base-input-date-picker.directive.js +24 -24
- package/esm2015/lib/components/button/button.component.js +73 -73
- package/esm2015/lib/components/button/button.module.js +18 -18
- package/esm2015/lib/components/calendar/calendar-template.component.js +281 -281
- package/esm2015/lib/components/calendar/calendar.component.js +32 -32
- package/esm2015/lib/components/calendar/calendar.module.js +27 -27
- package/esm2015/lib/components/card/card.component.js +50 -50
- package/esm2015/lib/components/card/card.module.js +34 -34
- package/esm2015/lib/components/carousel/carousel.component.js +109 -109
- package/esm2015/lib/components/carousel/carousel.module.js +31 -31
- package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +293 -293
- package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +18 -18
- package/esm2015/lib/components/carousel-3d/carouselItem.js +53 -53
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.component.js +72 -72
- package/esm2015/lib/components/checkmark-overlay/checkmark-overlay.module.js +18 -18
- package/esm2015/lib/components/co-dialog/co-dialog.component.js +91 -91
- package/esm2015/lib/components/co-dialog/co-dialog.module.js +18 -18
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.component.js +35 -35
- package/esm2015/lib/components/co-dialog-wizard/co-dialog-wizard.module.js +16 -16
- package/esm2015/lib/components/collapsible/collapsible.component.js +67 -67
- package/esm2015/lib/components/collapsible/collapsible.module.js +18 -18
- package/esm2015/lib/components/color-picker/color-picker.component.js +33 -33
- package/esm2015/lib/components/color-picker/color-picker.module.js +20 -20
- package/esm2015/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.js +46 -46
- package/esm2015/lib/components/core-dialog/core-dialog.module.js +38 -38
- package/esm2015/lib/components/core-dialog/core-dialog.service.js +66 -66
- package/esm2015/lib/components/core-dialog/core-dynamic-component.service.js +92 -92
- package/esm2015/lib/components/double-calendar/double-calendar.component.js +62 -62
- package/esm2015/lib/components/double-calendar/double-calendar.module.js +24 -24
- package/esm2015/lib/components/filter-item/filter-item-viewmodel.js +12 -12
- package/esm2015/lib/components/filter-item/filter-item.component.js +496 -496
- package/esm2015/lib/components/filter-item/filter-item.module.js +42 -42
- package/esm2015/lib/components/filter-item/filter-viewmodel.js +10 -10
- package/esm2015/lib/components/form/form.component.js +181 -181
- package/esm2015/lib/components/form/form.module.js +22 -22
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.component.js +48 -48
- package/esm2015/lib/components/grid-toolbar/grid-toolbar.module.js +22 -22
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.component.js +23 -23
- package/esm2015/lib/components/grid-toolbar-button/grid-toolbar-button.module.js +18 -18
- package/esm2015/lib/components/icon/icon-cache.service.js +51 -51
- package/esm2015/lib/components/icon/icon.component.js +47 -47
- package/esm2015/lib/components/icon/icon.module.js +24 -24
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.component.js +56 -56
- package/esm2015/lib/components/icon-collapse-handle/icon-collapse-handle.module.js +22 -22
- package/esm2015/lib/components/image/image.component.js +31 -31
- package/esm2015/lib/components/image/image.module.js +13 -13
- package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +71 -71
- package/esm2015/lib/components/input-checkbox/input-checkbox.module.js +18 -18
- package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +74 -74
- package/esm2015/lib/components/input-date-picker/input-date-picker.module.js +25 -25
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +107 -107
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.module.js +26 -26
- package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +285 -285
- package/esm2015/lib/components/input-number-picker/input-number-picker.module.js +22 -22
- package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +77 -77
- package/esm2015/lib/components/input-radio-button/input-radio-button.module.js +18 -18
- package/esm2015/lib/components/input-scanner/bar-code-scanner.js +22 -22
- package/esm2015/lib/components/input-scanner/input-scanner.component.js +54 -54
- package/esm2015/lib/components/input-scanner/input-scanner.module.js +20 -20
- package/esm2015/lib/components/input-scanner/scanner.service.js +27 -27
- package/esm2015/lib/components/input-search/input-search.component.js +59 -59
- package/esm2015/lib/components/input-search/input-search.module.js +20 -20
- package/esm2015/lib/components/input-text/input-text.component.js +179 -179
- package/esm2015/lib/components/input-text/input-text.module.js +32 -32
- package/esm2015/lib/components/input-textarea/input-textarea.component.js +55 -55
- package/esm2015/lib/components/input-textarea/input-textarea.module.js +26 -26
- package/esm2015/lib/components/level-indicator/level-indicator-level.enum.js +6 -6
- package/esm2015/lib/components/level-indicator/level-indicator.component.js +29 -29
- package/esm2015/lib/components/level-indicator/level-indicator.module.js +14 -14
- package/esm2015/lib/components/list-of-values/list-of-values-multiselect-popup.component.js +87 -87
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +218 -218
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +199 -199
- package/esm2015/lib/components/list-of-values/list-of-values.module.js +37 -37
- package/esm2015/lib/components/loader/loader.component.js +16 -16
- package/esm2015/lib/components/loader/loader.module.js +18 -18
- package/esm2015/lib/components/pagination/paginate.pipe.js +98 -98
- package/esm2015/lib/components/pagination/pagination-instance.js +1 -1
- package/esm2015/lib/components/pagination/pagination.component.js +107 -107
- package/esm2015/lib/components/pagination/pagination.module.js +27 -27
- package/esm2015/lib/components/pagination/pagination.service.js +87 -87
- package/esm2015/lib/components/pagination-bar/pagination-bar.component.js +136 -136
- package/esm2015/lib/components/pagination-bar/pagination-bar.module.js +18 -18
- package/esm2015/lib/components/popup/const/popup-window-token.js +2 -2
- package/esm2015/lib/components/popup/interface/popup-button.js +7 -7
- package/esm2015/lib/components/popup/interface/popup-close-event.js +1 -1
- package/esm2015/lib/components/popup/interface/popup-settings.js +41 -41
- package/esm2015/lib/components/popup/interface/popup.js +1 -1
- package/esm2015/lib/components/popup/model/popup-button-globals.js +10 -10
- package/esm2015/lib/components/popup/model/popup-window.js +37 -37
- package/esm2015/lib/components/popup/popup-buttons.component.js +42 -42
- package/esm2015/lib/components/popup/popup-message-display.component.js +37 -37
- package/esm2015/lib/components/popup/popup-window-shell.component.js +141 -141
- package/esm2015/lib/components/popup/popup.module.js +48 -48
- package/esm2015/lib/components/popup/service/popup-shower.service.js +89 -89
- package/esm2015/lib/components/popup/service/prompt.service.js +126 -126
- package/esm2015/lib/components/popup/text-input-popup.component.js +33 -33
- package/esm2015/lib/components/responsive-text/responsive-text.component.js +17 -17
- package/esm2015/lib/components/responsive-text/responsive-text.module.js +18 -18
- package/esm2015/lib/components/simple-grid/base-simple-grid.component.js +163 -163
- package/esm2015/lib/components/simple-grid/simple-grid-cell.component.js +141 -141
- package/esm2015/lib/components/simple-grid/simple-grid-column.directive.js +110 -110
- package/esm2015/lib/components/simple-grid/simple-grid.component.js +378 -378
- package/esm2015/lib/components/simple-grid/simple-grid.module.js +40 -40
- package/esm2015/lib/components/tile/tile.component.js +44 -44
- package/esm2015/lib/components/tile/tile.module.js +22 -22
- package/esm2015/lib/components/tile-select/tile-select.component.js +26 -26
- package/esm2015/lib/components/tile-select/tile-select.module.js +20 -20
- package/esm2015/lib/components/tooltip/tooltip.component.js +74 -74
- package/esm2015/lib/components/tooltip/tooltip.module.js +18 -18
- package/esm2015/lib/components/validation-error/validation-error.component.js +30 -30
- package/esm2015/lib/components/validation-error/validation-error.module.js +24 -24
- package/esm2015/lib/components/view-mode-buttons/content-view-mode.enum.js +10 -10
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.component.js +41 -41
- package/esm2015/lib/components/view-mode-buttons/view-mode-buttons.module.js +20 -20
- package/esm2015/lib/core/constant/default-upper-bound-for-range-components.js +3 -3
- package/esm2015/lib/core/constant/java-max-int.js +1 -1
- package/esm2015/lib/core/constant/number-inputs-key-down-white-list.js +44 -44
- package/esm2015/lib/core/decorator/input-boolean.decorator.js +33 -33
- package/esm2015/lib/core/enum/co-direction.js +8 -8
- package/esm2015/lib/core/enum/co-document-image-display-kind.enum.js +6 -6
- package/esm2015/lib/core/enum/co-document-type.enum.js +10 -10
- package/esm2015/lib/core/enum/co-orientation.js +16 -16
- package/esm2015/lib/core/enum/core-components-icon.enum.js +299 -299
- package/esm2015/lib/core/enum/file-type-internal.enum.js +16 -16
- package/esm2015/lib/core/enum/file-type.enum.js +10 -10
- package/esm2015/lib/core/enum/filterItem-mode.enum.js +42 -42
- package/esm2015/lib/core/enum/input-number-picker-show-mode.enum.js +7 -7
- package/esm2015/lib/core/enum/keyboard-code.enum.js +73 -73
- package/esm2015/lib/core/enum/keyboard-key.enum.js +75 -75
- package/esm2015/lib/core/enum/object-right-type.enum.js +6 -6
- package/esm2015/lib/core/enum/popup-button-type.enum.js +11 -11
- package/esm2015/lib/core/enum/popup-type.enum.js +10 -10
- package/esm2015/lib/core/enum/table-name.enum.js +80 -80
- package/esm2015/lib/core/function/any-nill.function.js +5 -5
- package/esm2015/lib/core/function/is-nill.function.js +4 -4
- package/esm2015/lib/core/function/none-nill.function.js +16 -16
- package/esm2015/lib/core/function/not-nill.function.js +4 -4
- package/esm2015/lib/core/model/bounds-constrained-number-value.js +170 -170
- package/esm2015/lib/core/model/check-precision-and-scale-result.js +1 -1
- package/esm2015/lib/core/model/check-within-stepped-bounds-result.js +1 -1
- package/esm2015/lib/core/model/co-document-right.bo.js +2 -2
- package/esm2015/lib/core/model/co-document.bo.js +120 -120
- package/esm2015/lib/core/model/core-components-icon-svg.js +298 -298
- package/esm2015/lib/core/model/element-position.js +9 -9
- package/esm2015/lib/core/model/event/string-prompt-result-event.js +7 -7
- package/esm2015/lib/core/service/form-input-user-change-listener.service.js +24 -24
- package/esm2015/lib/core/service/form-master.service.js +101 -101
- package/esm2015/lib/core/service/ng-zone-wrapper.service.js +19 -19
- package/esm2015/lib/core/utils/array-utils.js +263 -263
- package/esm2015/lib/core/utils/browser-utils.js +99 -99
- package/esm2015/lib/core/utils/direction-enum-utils.js +13 -13
- package/esm2015/lib/core/utils/event-utils.js +52 -52
- package/esm2015/lib/core/utils/file-utils.js +266 -266
- package/esm2015/lib/core/utils/number-utils.js +308 -308
- package/esm2015/lib/core/utils/object-utils.js +185 -185
- package/esm2015/lib/core/utils/string-utils.js +93 -93
- package/esm2015/lib/core/validator/email.validator.js +5 -5
- package/esm2015/lib/core/validator/equal.validator.js +10 -10
- package/esm2015/lib/core/validator/max-string-length.validator.js +9 -9
- package/esm2015/lib/core/validator/password.validator.js +30 -30
- package/esm2015/lib/core/validator/precision-scale.validator.js +10 -10
- package/esm2015/lib/core/validator/required.validator.js +4 -4
- package/esm2015/lib/directives/clickoutside/click-outside-master.service.js +56 -56
- package/esm2015/lib/directives/clickoutside/click-outside.directive.js +70 -70
- package/esm2015/lib/directives/clickoutside/clickoutside.module.js +18 -18
- package/esm2015/lib/directives/observe-visibility/observe-visibility.directive.js +52 -52
- package/esm2015/lib/directives/observe-visibility/observe-visibility.module.js +14 -14
- package/esm2015/lib/directives/overlay/overlay-parent.directive.js +18 -18
- package/esm2015/lib/directives/overlay/overlay.directive.js +160 -160
- package/esm2015/lib/directives/overlay/overlay.module.js +17 -17
- package/esm2015/lib/directives/ripple/ripple-ref.js +25 -25
- package/esm2015/lib/directives/ripple/ripple-renderer.js +159 -159
- package/esm2015/lib/directives/ripple/ripple.directive.js +79 -79
- package/esm2015/lib/directives/ripple/ripple.module.js +23 -23
- package/esm2015/lib/directives/ripple/scroll-dispatcher.service.js +107 -107
- package/esm2015/lib/directives/ripple/scrollable.directive.js +39 -39
- package/esm2015/lib/directives/ripple/viewport-ruler.service.js +72 -72
- package/esm2015/lib/directives/screen-configuration/screen-configuration.directive.js +157 -157
- package/esm2015/lib/directives/screen-configuration/screen-configuration.module.js +18 -18
- package/esm2015/lib/directives/stopclick/stop-click.directive.js +37 -37
- package/esm2015/lib/directives/stopclick/stop-click.module.js +14 -14
- package/esm2015/lib/directives/template-wrapper/template-wrapper.directive.js +67 -67
- package/esm2015/lib/directives/template-wrapper/template-wrapper.module.js +14 -14
- package/esm2015/lib/directives/tooltip/tooltip-directive.module.js +18 -18
- package/esm2015/lib/directives/tooltip/tooltip.directive.js +77 -77
- package/esm2015/lib/interfaces/dialog-response.interface.js +1 -1
- package/esm2015/lib/interfaces/scanner-input.interface.js +1 -1
- package/esm2015/lib/interfaces/screen-config-adapter-component-interface-name.js +3 -3
- package/esm2015/lib/interfaces/screen-config-adapter.component.interface.js +1 -1
- package/esm2015/lib/model/enum/app-button-type.enum.js +10 -10
- package/esm2015/lib/model/enum/app-popup-type.enum.js +7 -7
- package/esm2015/lib/pipes/append.pipe.js +16 -16
- package/esm2015/lib/pipes/append.pipe.module.js +14 -14
- package/esm2015/lib/pipes/filter.pipe.js +15 -15
- package/esm2015/lib/pipes/filter.pipe.module.js +14 -14
- package/esm2015/lib/pipes/prepend.pipe.js +16 -16
- package/esm2015/lib/pipes/prepend.pipe.module.js +14 -14
- package/esm2015/lib/pipes/price-display-pipe.module.js +14 -14
- package/esm2015/lib/pipes/price-display.pipe.js +19 -19
- package/esm2015/lib/service/base-module-screen-config.service.js +204 -204
- package/esm2015/lib/service/base-module.service.js +41 -41
- package/esm2015/lib/service/color-sequence.service.js +22 -22
- package/esm2015/lib/service/overlay.service.js +72 -72
- package/esm2015/lib/translation/core-components-translation.module.js +28 -28
- package/esm2015/lib/translation/core-components-translation.service.js +16 -16
- package/esm2015/lib/translation/core-dictionary.service.js +28 -28
- package/esm2015/lib/translation/core-localize.pipe.js +25 -25
- package/esm2015/public-api.js +129 -129
- package/fesm2015/colijnit-corecomponents_v12.js +12066 -12066
- package/lib/components/article-tile/article-tile.component.d.ts +22 -22
- package/lib/components/article-tile/article-tile.module.d.ts +2 -2
- package/lib/components/base/base-input.component.d.ts +182 -182
- package/lib/components/base/base.module.d.ts +2 -2
- package/lib/components/base/commit-buttons/commit-buttons.component.d.ts +21 -21
- package/lib/components/base/commit-buttons/commit-buttons.module.d.ts +2 -2
- package/lib/components/base/dialog-base.component.d.ts +4 -4
- package/lib/components/base-input-date-picker/base-input-date-picker.directive.d.ts +15 -15
- package/lib/components/button/button.component.d.ts +29 -29
- package/lib/components/button/button.module.d.ts +2 -2
- package/lib/components/calendar/calendar-template.component.d.ts +60 -60
- package/lib/components/calendar/calendar.component.d.ts +13 -13
- package/lib/components/calendar/calendar.module.d.ts +2 -2
- package/lib/components/card/card.component.d.ts +23 -23
- package/lib/components/card/card.module.d.ts +2 -2
- package/lib/components/carousel/carousel.component.d.ts +23 -23
- package/lib/components/carousel/carousel.module.d.ts +6 -6
- package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -55
- package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -2
- package/lib/components/carousel-3d/carouselItem.d.ts +13 -13
- package/lib/components/checkmark-overlay/checkmark-overlay.component.d.ts +17 -17
- package/lib/components/checkmark-overlay/checkmark-overlay.module.d.ts +2 -2
- package/lib/components/co-dialog/co-dialog.component.d.ts +23 -23
- package/lib/components/co-dialog/co-dialog.module.d.ts +2 -2
- package/lib/components/co-dialog-wizard/co-dialog-wizard.component.d.ts +9 -9
- package/lib/components/co-dialog-wizard/co-dialog-wizard.module.d.ts +2 -2
- package/lib/components/collapsible/collapsible.component.d.ts +22 -22
- package/lib/components/collapsible/collapsible.module.d.ts +2 -2
- package/lib/components/color-picker/color-picker.component.d.ts +6 -6
- package/lib/components/color-picker/color-picker.module.d.ts +2 -2
- package/lib/components/core-dialog/confirmation-dialog/confirmation-dialog.component.d.ts +20 -20
- package/lib/components/core-dialog/core-dialog.module.d.ts +4 -4
- package/lib/components/core-dialog/core-dialog.service.d.ts +15 -15
- package/lib/components/core-dialog/core-dynamic-component.service.d.ts +12 -12
- package/lib/components/double-calendar/double-calendar.component.d.ts +18 -18
- package/lib/components/double-calendar/double-calendar.module.d.ts +2 -2
- package/lib/components/filter-item/filter-item-viewmodel.d.ts +9 -9
- package/lib/components/filter-item/filter-item.component.d.ts +80 -80
- package/lib/components/filter-item/filter-item.module.d.ts +2 -2
- package/lib/components/filter-item/filter-viewmodel.d.ts +8 -8
- package/lib/components/form/form.component.d.ts +39 -39
- package/lib/components/form/form.module.d.ts +2 -2
- package/lib/components/grid-toolbar/grid-toolbar.component.d.ts +19 -19
- package/lib/components/grid-toolbar/grid-toolbar.module.d.ts +2 -2
- package/lib/components/grid-toolbar-button/grid-toolbar-button.component.d.ts +8 -8
- package/lib/components/grid-toolbar-button/grid-toolbar-button.module.d.ts +2 -2
- package/lib/components/icon/icon-cache.service.d.ts +20 -20
- package/lib/components/icon/icon.component.d.ts +17 -17
- package/lib/components/icon/icon.module.d.ts +2 -2
- package/lib/components/icon-collapse-handle/icon-collapse-handle.component.d.ts +21 -21
- package/lib/components/icon-collapse-handle/icon-collapse-handle.module.d.ts +2 -2
- package/lib/components/image/image.component.d.ts +20 -20
- package/lib/components/image/image.module.d.ts +2 -2
- package/lib/components/input-checkbox/input-checkbox.component.d.ts +24 -24
- package/lib/components/input-checkbox/input-checkbox.module.d.ts +2 -2
- package/lib/components/input-date-picker/input-date-picker.component.d.ts +12 -12
- package/lib/components/input-date-picker/input-date-picker.module.d.ts +2 -2
- package/lib/components/input-date-range-picker/input-date-range-picker.component.d.ts +20 -20
- package/lib/components/input-date-range-picker/input-date-range-picker.module.d.ts +2 -2
- package/lib/components/input-number-picker/input-number-picker.component.d.ts +73 -73
- package/lib/components/input-number-picker/input-number-picker.module.d.ts +2 -2
- package/lib/components/input-radio-button/input-radio-button.component.d.ts +19 -19
- package/lib/components/input-radio-button/input-radio-button.module.d.ts +2 -2
- package/lib/components/input-scanner/bar-code-scanner.d.ts +7 -7
- package/lib/components/input-scanner/input-scanner.component.d.ts +23 -23
- package/lib/components/input-scanner/input-scanner.module.d.ts +2 -2
- package/lib/components/input-scanner/scanner.service.d.ts +11 -11
- package/lib/components/input-search/input-search.component.d.ts +18 -18
- package/lib/components/input-search/input-search.module.d.ts +2 -2
- package/lib/components/input-text/input-text.component.d.ts +62 -62
- package/lib/components/input-text/input-text.module.d.ts +2 -2
- package/lib/components/input-textarea/input-textarea.component.d.ts +19 -19
- package/lib/components/input-textarea/input-textarea.module.d.ts +2 -2
- package/lib/components/level-indicator/level-indicator-level.enum.d.ts +5 -5
- package/lib/components/level-indicator/level-indicator.component.d.ts +10 -10
- package/lib/components/level-indicator/level-indicator.module.d.ts +2 -2
- package/lib/components/list-of-values/list-of-values-multiselect-popup.component.d.ts +25 -25
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +47 -47
- package/lib/components/list-of-values/list-of-values.component.d.ts +37 -37
- package/lib/components/list-of-values/list-of-values.module.d.ts +2 -2
- package/lib/components/list-of-values/style/_layout.scss +4 -0
- package/lib/components/loader/loader.component.d.ts +3 -3
- package/lib/components/loader/loader.module.d.ts +2 -2
- package/lib/components/pagination/paginate.pipe.d.ts +15 -15
- package/lib/components/pagination/pagination-instance.d.ts +14 -14
- package/lib/components/pagination/pagination.component.d.ts +38 -38
- package/lib/components/pagination/pagination.module.d.ts +2 -2
- package/lib/components/pagination/pagination.service.d.ts +24 -24
- package/lib/components/pagination-bar/pagination-bar.component.d.ts +33 -33
- package/lib/components/pagination-bar/pagination-bar.module.d.ts +2 -2
- package/lib/components/popup/const/popup-window-token.d.ts +3 -3
- package/lib/components/popup/interface/popup-button.d.ts +8 -8
- package/lib/components/popup/interface/popup-close-event.d.ts +5 -5
- package/lib/components/popup/interface/popup-settings.d.ts +21 -21
- package/lib/components/popup/interface/popup.d.ts +9 -9
- package/lib/components/popup/model/popup-button-globals.d.ts +9 -9
- package/lib/components/popup/model/popup-window.d.ts +21 -21
- package/lib/components/popup/popup-buttons.component.d.ts +13 -13
- package/lib/components/popup/popup-message-display.component.d.ts +12 -12
- package/lib/components/popup/popup-window-shell.component.d.ts +42 -42
- package/lib/components/popup/popup.module.d.ts +4 -4
- package/lib/components/popup/service/popup-shower.service.d.ts +17 -17
- package/lib/components/popup/service/prompt.service.d.ts +17 -17
- package/lib/components/popup/text-input-popup.component.d.ts +12 -12
- package/lib/components/responsive-text/responsive-text.component.d.ts +4 -4
- package/lib/components/responsive-text/responsive-text.module.d.ts +2 -2
- package/lib/components/simple-grid/base-simple-grid.component.d.ts +52 -52
- package/lib/components/simple-grid/simple-grid-cell.component.d.ts +30 -30
- package/lib/components/simple-grid/simple-grid-column.directive.d.ts +42 -42
- package/lib/components/simple-grid/simple-grid.component.d.ts +64 -64
- package/lib/components/simple-grid/simple-grid.module.d.ts +2 -2
- package/lib/components/tile/tile.component.d.ts +16 -16
- package/lib/components/tile/tile.module.d.ts +2 -2
- package/lib/components/tile-select/tile-select.component.d.ts +8 -8
- package/lib/components/tile-select/tile-select.module.d.ts +2 -2
- package/lib/components/tooltip/tooltip.component.d.ts +18 -18
- package/lib/components/tooltip/tooltip.module.d.ts +2 -2
- package/lib/components/validation-error/validation-error.component.d.ts +12 -12
- package/lib/components/validation-error/validation-error.module.d.ts +2 -2
- package/lib/components/view-mode-buttons/content-view-mode.enum.d.ts +8 -8
- package/lib/components/view-mode-buttons/view-mode-buttons.component.d.ts +17 -17
- package/lib/components/view-mode-buttons/view-mode-buttons.module.d.ts +2 -2
- package/lib/core/constant/default-upper-bound-for-range-components.d.ts +2 -2
- package/lib/core/constant/java-max-int.d.ts +1 -1
- package/lib/core/constant/number-inputs-key-down-white-list.d.ts +2 -2
- package/lib/core/decorator/input-boolean.decorator.d.ts +8 -8
- package/lib/core/enum/co-direction.d.ts +6 -6
- package/lib/core/enum/co-document-image-display-kind.enum.d.ts +5 -5
- package/lib/core/enum/co-document-type.enum.d.ts +5 -5
- package/lib/core/enum/co-orientation.d.ts +6 -6
- package/lib/core/enum/core-components-icon.enum.d.ts +298 -298
- package/lib/core/enum/file-type-internal.enum.d.ts +15 -15
- package/lib/core/enum/file-type.enum.d.ts +5 -5
- package/lib/core/enum/filterItem-mode.enum.d.ts +15 -15
- package/lib/core/enum/input-number-picker-show-mode.enum.d.ts +5 -5
- package/lib/core/enum/keyboard-code.enum.d.ts +71 -71
- package/lib/core/enum/keyboard-key.enum.d.ts +70 -70
- package/lib/core/enum/object-right-type.enum.d.ts +5 -5
- package/lib/core/enum/popup-button-type.enum.d.ts +9 -9
- package/lib/core/enum/popup-type.enum.d.ts +9 -9
- package/lib/core/enum/table-name.enum.d.ts +79 -79
- package/lib/core/function/any-nill.function.d.ts +1 -1
- package/lib/core/function/is-nill.function.d.ts +1 -1
- package/lib/core/function/none-nill.function.d.ts +1 -1
- package/lib/core/function/not-nill.function.d.ts +1 -1
- package/lib/core/model/bounds-constrained-number-value.d.ts +46 -46
- package/lib/core/model/check-precision-and-scale-result.d.ts +4 -4
- package/lib/core/model/check-within-stepped-bounds-result.d.ts +8 -8
- package/lib/core/model/co-document-right.bo.d.ts +6 -6
- package/lib/core/model/co-document.bo.d.ts +61 -61
- package/lib/core/model/core-components-icon-svg.d.ts +4 -4
- package/lib/core/model/element-position.d.ts +7 -7
- package/lib/core/model/event/string-prompt-result-event.d.ts +6 -6
- package/lib/core/service/form-input-user-change-listener.service.d.ts +10 -10
- package/lib/core/service/form-master.service.d.ts +26 -26
- package/lib/core/service/ng-zone-wrapper.service.d.ts +6 -6
- package/lib/core/utils/array-utils.d.ts +85 -85
- package/lib/core/utils/browser-utils.d.ts +15 -15
- package/lib/core/utils/direction-enum-utils.d.ts +5 -5
- package/lib/core/utils/event-utils.d.ts +12 -12
- package/lib/core/utils/file-utils.d.ts +29 -29
- package/lib/core/utils/number-utils.d.ts +89 -89
- package/lib/core/utils/object-utils.d.ts +31 -31
- package/lib/core/utils/string-utils.d.ts +25 -25
- package/lib/core/validator/email.validator.d.ts +2 -2
- package/lib/core/validator/equal.validator.d.ts +2 -2
- package/lib/core/validator/max-string-length.validator.d.ts +2 -2
- package/lib/core/validator/password.validator.d.ts +3 -3
- package/lib/core/validator/precision-scale.validator.d.ts +2 -2
- package/lib/core/validator/required.validator.d.ts +2 -2
- package/lib/directives/clickoutside/click-outside-master.service.d.ts +15 -15
- package/lib/directives/clickoutside/click-outside.directive.d.ts +18 -18
- package/lib/directives/clickoutside/clickoutside.module.d.ts +2 -2
- package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +14 -14
- package/lib/directives/observe-visibility/observe-visibility.module.d.ts +2 -2
- package/lib/directives/overlay/overlay-parent.directive.d.ts +6 -6
- package/lib/directives/overlay/overlay.directive.d.ts +25 -25
- package/lib/directives/overlay/overlay.module.d.ts +2 -2
- package/lib/directives/ripple/ripple-ref.d.ts +21 -21
- package/lib/directives/ripple/ripple-renderer.d.ts +56 -56
- package/lib/directives/ripple/ripple.directive.d.ts +56 -56
- package/lib/directives/ripple/ripple.module.d.ts +2 -2
- package/lib/directives/ripple/scroll-dispatcher.service.d.ts +51 -51
- package/lib/directives/ripple/scrollable.directive.d.ts +20 -20
- package/lib/directives/ripple/viewport-ruler.service.d.ts +29 -29
- package/lib/directives/screen-configuration/screen-configuration.directive.d.ts +32 -32
- package/lib/directives/screen-configuration/screen-configuration.module.d.ts +2 -2
- package/lib/directives/stopclick/stop-click.directive.d.ts +10 -10
- package/lib/directives/stopclick/stop-click.module.d.ts +2 -2
- package/lib/directives/template-wrapper/template-wrapper.directive.d.ts +13 -13
- package/lib/directives/template-wrapper/template-wrapper.module.d.ts +2 -2
- package/lib/directives/tooltip/tooltip-directive.module.d.ts +2 -2
- package/lib/directives/tooltip/tooltip.directive.d.ts +20 -20
- package/lib/interfaces/dialog-response.interface.d.ts +6 -6
- package/lib/interfaces/scanner-input.interface.d.ts +3 -3
- package/lib/interfaces/screen-config-adapter-component-interface-name.d.ts +3 -3
- package/lib/interfaces/screen-config-adapter.component.interface.d.ts +10 -10
- package/lib/model/enum/app-button-type.enum.d.ts +9 -9
- package/lib/model/enum/app-popup-type.enum.d.ts +6 -6
- package/lib/pipes/append.pipe.d.ts +4 -4
- package/lib/pipes/append.pipe.module.d.ts +2 -2
- package/lib/pipes/filter.pipe.d.ts +4 -4
- package/lib/pipes/filter.pipe.module.d.ts +2 -2
- package/lib/pipes/prepend.pipe.d.ts +4 -4
- package/lib/pipes/prepend.pipe.module.d.ts +2 -2
- package/lib/pipes/price-display-pipe.module.d.ts +2 -2
- package/lib/pipes/price-display.pipe.d.ts +4 -4
- package/lib/service/base-module-screen-config.service.d.ts +47 -47
- package/lib/service/base-module.service.d.ts +22 -22
- package/lib/service/color-sequence.service.d.ts +4 -4
- package/lib/service/overlay.service.d.ts +13 -13
- package/lib/translation/core-components-translation.module.d.ts +4 -4
- package/lib/translation/core-components-translation.service.d.ts +6 -6
- package/lib/translation/core-dictionary.service.d.ts +12 -12
- package/lib/translation/core-localize.pipe.d.ts +7 -7
- package/package.json +2 -2
- package/public-api.d.ts +126 -126
|
@@ -1,160 +1,160 @@
|
|
|
1
|
-
// NOTE: Copied and adapted to CoreComponents from iOneJS on 9-may-2018.
|
|
2
|
-
import { CoRippleRef, CoRippleState } from "./ripple-ref";
|
|
3
|
-
/** Fade-in duration for the ripples. Can be modified with the speedFactor option. */
|
|
4
|
-
export const RIPPLE_FADE_IN_DURATION = 450;
|
|
5
|
-
/** Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor. */
|
|
6
|
-
export const RIPPLE_FADE_OUT_DURATION = 400;
|
|
7
|
-
/**
|
|
8
|
-
* Helper service that performs DOM manipulations. Not intended to be used outside this module.
|
|
9
|
-
* The constructor takes a reference to the ripple directive's host element and a map of DOM
|
|
10
|
-
* event handlers to be installed on the element that triggers ripple animations.
|
|
11
|
-
* This will eventually become a custom renderer once Angular support exists.
|
|
12
|
-
* @docs-private
|
|
13
|
-
*/
|
|
14
|
-
export class CoRippleRenderer {
|
|
15
|
-
constructor(_elementRef, _ngZone, _ruler) {
|
|
16
|
-
this._ngZone = _ngZone;
|
|
17
|
-
this._ruler = _ruler;
|
|
18
|
-
/** Whether the mouse is currently down or not. */
|
|
19
|
-
this._isMousedown = false;
|
|
20
|
-
/** Events to be registered on the trigger element. */
|
|
21
|
-
this._triggerEvents = new Map();
|
|
22
|
-
/** Set of currently active ripple references. */
|
|
23
|
-
this._activeRipples = new Set();
|
|
24
|
-
/** Ripple config for all ripples created by events. */
|
|
25
|
-
this.rippleConfig = {};
|
|
26
|
-
/** Whether mouse ripples should be created or not. */
|
|
27
|
-
this.rippleDisabled = false;
|
|
28
|
-
this._containerElement = _elementRef.nativeElement;
|
|
29
|
-
// Specify events which need to be registered on the trigger.
|
|
30
|
-
this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
|
|
31
|
-
this._triggerEvents.set('mouseup', this.onMouseup.bind(this));
|
|
32
|
-
this._triggerEvents.set('mouseleave', this.onMouseLeave.bind(this));
|
|
33
|
-
// By default use the host element as trigger element.
|
|
34
|
-
this.setTriggerElement(this._containerElement);
|
|
35
|
-
}
|
|
36
|
-
/** Fades in a ripple at the given coordinates. */
|
|
37
|
-
fadeInRipple(pageX, pageY, config = {}) {
|
|
38
|
-
let containerRect = this._containerElement.getBoundingClientRect();
|
|
39
|
-
if (config.centered) {
|
|
40
|
-
pageX = containerRect.left + containerRect.width / 2;
|
|
41
|
-
pageY = containerRect.top + containerRect.height / 2;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// Subtract scroll values from the coordinates because calculations below
|
|
45
|
-
// are always relative to the viewport rectangle.
|
|
46
|
-
let scrollPosition = this._ruler.getViewportScrollPosition();
|
|
47
|
-
pageX -= scrollPosition.left;
|
|
48
|
-
pageY -= scrollPosition.top;
|
|
49
|
-
}
|
|
50
|
-
let radius = config.radius || distanceToFurthestCorner(pageX, pageY, containerRect);
|
|
51
|
-
let duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
|
|
52
|
-
let offsetX = pageX - containerRect.left;
|
|
53
|
-
let offsetY = pageY - containerRect.top;
|
|
54
|
-
let ripple = document.createElement('div');
|
|
55
|
-
ripple.classList.add('mat-ripple-element');
|
|
56
|
-
ripple.style.left = `${offsetX - radius}px`;
|
|
57
|
-
ripple.style.top = `${offsetY - radius}px`;
|
|
58
|
-
ripple.style.height = `${radius * 2}px`;
|
|
59
|
-
ripple.style.width = `${radius * 2}px`;
|
|
60
|
-
// If the color is not set, the default CSS color will be used.
|
|
61
|
-
ripple.style.backgroundColor = config.color;
|
|
62
|
-
ripple.style.transitionDuration = `${duration}ms`;
|
|
63
|
-
this._containerElement.appendChild(ripple);
|
|
64
|
-
// By default the browser does not recalculate the styles of dynamically created
|
|
65
|
-
// ripple elements. This is critical because then the `scale` would not animate properly.
|
|
66
|
-
enforceStyleRecalculation(ripple);
|
|
67
|
-
ripple.style.transform = 'scale(1)';
|
|
68
|
-
// Exposed reference to the ripple that will be returned.
|
|
69
|
-
let rippleRef = new CoRippleRef(this, ripple, config);
|
|
70
|
-
rippleRef.state = CoRippleState.FADING_IN;
|
|
71
|
-
// Add the ripple reference to the list of all active ripples.
|
|
72
|
-
this._activeRipples.add(rippleRef);
|
|
73
|
-
// Wait for the ripple element to be completely faded in.
|
|
74
|
-
// Once it's faded in, the ripple can be hidden immediately if the mouse is released.
|
|
75
|
-
this.runTimeoutOutsideZone(() => {
|
|
76
|
-
rippleRef.state = CoRippleState.VISIBLE;
|
|
77
|
-
if (!config.persistent && !this._isMousedown) {
|
|
78
|
-
rippleRef.fadeOut();
|
|
79
|
-
}
|
|
80
|
-
}, duration);
|
|
81
|
-
return rippleRef;
|
|
82
|
-
}
|
|
83
|
-
/** Fades out a ripple reference. */
|
|
84
|
-
fadeOutRipple(rippleRef) {
|
|
85
|
-
// For ripples that are not active anymore, don't re-un the fade-out animation.
|
|
86
|
-
if (!this._activeRipples.delete(rippleRef)) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
let rippleEl = rippleRef.element;
|
|
90
|
-
rippleEl.style.transitionDuration = `${RIPPLE_FADE_OUT_DURATION}ms`;
|
|
91
|
-
rippleEl.style.opacity = '0';
|
|
92
|
-
rippleRef.state = CoRippleState.FADING_OUT;
|
|
93
|
-
// Once the ripple faded out, the ripple can be safely removed from the DOM.
|
|
94
|
-
this.runTimeoutOutsideZone(() => {
|
|
95
|
-
rippleRef.state = CoRippleState.HIDDEN;
|
|
96
|
-
rippleEl.parentNode.removeChild(rippleEl);
|
|
97
|
-
}, RIPPLE_FADE_OUT_DURATION);
|
|
98
|
-
}
|
|
99
|
-
/** Fades out all currently active ripples. */
|
|
100
|
-
fadeOutAll() {
|
|
101
|
-
this._activeRipples.forEach(ripple => ripple.fadeOut());
|
|
102
|
-
}
|
|
103
|
-
/** Sets the trigger element and registers the mouse events. */
|
|
104
|
-
setTriggerElement(element) {
|
|
105
|
-
// Remove all previously register event listeners from the trigger element.
|
|
106
|
-
if (this._triggerElement) {
|
|
107
|
-
this._triggerEvents.forEach((fn, type) => this._triggerElement.removeEventListener(type, fn));
|
|
108
|
-
}
|
|
109
|
-
if (element) {
|
|
110
|
-
// If the element is not null, register all event listeners on the trigger element.
|
|
111
|
-
this._ngZone.runOutsideAngular(() => {
|
|
112
|
-
this._triggerEvents.forEach((fn, type) => element.addEventListener(type, fn));
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
this._triggerElement = element;
|
|
116
|
-
}
|
|
117
|
-
/** Listener being called on mousedown event. */
|
|
118
|
-
onMousedown(event) {
|
|
119
|
-
if (!this.rippleDisabled) {
|
|
120
|
-
this._isMousedown = true;
|
|
121
|
-
this.fadeInRipple(event.pageX, event.pageY, this.rippleConfig);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/** Listener being called on mouseup event. */
|
|
125
|
-
onMouseup() {
|
|
126
|
-
this._isMousedown = false;
|
|
127
|
-
// Fade-out all ripples that are completely visible and not persistent.
|
|
128
|
-
this._activeRipples.forEach(ripple => {
|
|
129
|
-
if (!ripple.config.persistent && ripple.state === CoRippleState.VISIBLE) {
|
|
130
|
-
ripple.fadeOut();
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
/** Listener being called on mouseleave event. */
|
|
135
|
-
onMouseLeave() {
|
|
136
|
-
if (this._isMousedown) {
|
|
137
|
-
this.onMouseup();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
|
|
141
|
-
runTimeoutOutsideZone(fn, delay = 0) {
|
|
142
|
-
this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
/** Enforces a style recalculation of a DOM element by computing its styles. */
|
|
146
|
-
function enforceStyleRecalculation(element) {
|
|
147
|
-
// Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
|
|
148
|
-
// Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
|
|
149
|
-
// See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
|
|
150
|
-
window.getComputedStyle(element).getPropertyValue('opacity');
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Returns the distance from the point (x, y) to the furthest corner of a rectangle.
|
|
154
|
-
*/
|
|
155
|
-
function distanceToFurthestCorner(x, y, rect) {
|
|
156
|
-
const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
|
|
157
|
-
const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
|
|
158
|
-
return Math.sqrt(distX * distX + distY * distY);
|
|
159
|
-
}
|
|
1
|
+
// NOTE: Copied and adapted to CoreComponents from iOneJS on 9-may-2018.
|
|
2
|
+
import { CoRippleRef, CoRippleState } from "./ripple-ref";
|
|
3
|
+
/** Fade-in duration for the ripples. Can be modified with the speedFactor option. */
|
|
4
|
+
export const RIPPLE_FADE_IN_DURATION = 450;
|
|
5
|
+
/** Fade-out duration for the ripples in milliseconds. This can't be modified by the speedFactor. */
|
|
6
|
+
export const RIPPLE_FADE_OUT_DURATION = 400;
|
|
7
|
+
/**
|
|
8
|
+
* Helper service that performs DOM manipulations. Not intended to be used outside this module.
|
|
9
|
+
* The constructor takes a reference to the ripple directive's host element and a map of DOM
|
|
10
|
+
* event handlers to be installed on the element that triggers ripple animations.
|
|
11
|
+
* This will eventually become a custom renderer once Angular support exists.
|
|
12
|
+
* @docs-private
|
|
13
|
+
*/
|
|
14
|
+
export class CoRippleRenderer {
|
|
15
|
+
constructor(_elementRef, _ngZone, _ruler) {
|
|
16
|
+
this._ngZone = _ngZone;
|
|
17
|
+
this._ruler = _ruler;
|
|
18
|
+
/** Whether the mouse is currently down or not. */
|
|
19
|
+
this._isMousedown = false;
|
|
20
|
+
/** Events to be registered on the trigger element. */
|
|
21
|
+
this._triggerEvents = new Map();
|
|
22
|
+
/** Set of currently active ripple references. */
|
|
23
|
+
this._activeRipples = new Set();
|
|
24
|
+
/** Ripple config for all ripples created by events. */
|
|
25
|
+
this.rippleConfig = {};
|
|
26
|
+
/** Whether mouse ripples should be created or not. */
|
|
27
|
+
this.rippleDisabled = false;
|
|
28
|
+
this._containerElement = _elementRef.nativeElement;
|
|
29
|
+
// Specify events which need to be registered on the trigger.
|
|
30
|
+
this._triggerEvents.set('mousedown', this.onMousedown.bind(this));
|
|
31
|
+
this._triggerEvents.set('mouseup', this.onMouseup.bind(this));
|
|
32
|
+
this._triggerEvents.set('mouseleave', this.onMouseLeave.bind(this));
|
|
33
|
+
// By default use the host element as trigger element.
|
|
34
|
+
this.setTriggerElement(this._containerElement);
|
|
35
|
+
}
|
|
36
|
+
/** Fades in a ripple at the given coordinates. */
|
|
37
|
+
fadeInRipple(pageX, pageY, config = {}) {
|
|
38
|
+
let containerRect = this._containerElement.getBoundingClientRect();
|
|
39
|
+
if (config.centered) {
|
|
40
|
+
pageX = containerRect.left + containerRect.width / 2;
|
|
41
|
+
pageY = containerRect.top + containerRect.height / 2;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// Subtract scroll values from the coordinates because calculations below
|
|
45
|
+
// are always relative to the viewport rectangle.
|
|
46
|
+
let scrollPosition = this._ruler.getViewportScrollPosition();
|
|
47
|
+
pageX -= scrollPosition.left;
|
|
48
|
+
pageY -= scrollPosition.top;
|
|
49
|
+
}
|
|
50
|
+
let radius = config.radius || distanceToFurthestCorner(pageX, pageY, containerRect);
|
|
51
|
+
let duration = RIPPLE_FADE_IN_DURATION * (1 / (config.speedFactor || 1));
|
|
52
|
+
let offsetX = pageX - containerRect.left;
|
|
53
|
+
let offsetY = pageY - containerRect.top;
|
|
54
|
+
let ripple = document.createElement('div');
|
|
55
|
+
ripple.classList.add('mat-ripple-element');
|
|
56
|
+
ripple.style.left = `${offsetX - radius}px`;
|
|
57
|
+
ripple.style.top = `${offsetY - radius}px`;
|
|
58
|
+
ripple.style.height = `${radius * 2}px`;
|
|
59
|
+
ripple.style.width = `${radius * 2}px`;
|
|
60
|
+
// If the color is not set, the default CSS color will be used.
|
|
61
|
+
ripple.style.backgroundColor = config.color;
|
|
62
|
+
ripple.style.transitionDuration = `${duration}ms`;
|
|
63
|
+
this._containerElement.appendChild(ripple);
|
|
64
|
+
// By default the browser does not recalculate the styles of dynamically created
|
|
65
|
+
// ripple elements. This is critical because then the `scale` would not animate properly.
|
|
66
|
+
enforceStyleRecalculation(ripple);
|
|
67
|
+
ripple.style.transform = 'scale(1)';
|
|
68
|
+
// Exposed reference to the ripple that will be returned.
|
|
69
|
+
let rippleRef = new CoRippleRef(this, ripple, config);
|
|
70
|
+
rippleRef.state = CoRippleState.FADING_IN;
|
|
71
|
+
// Add the ripple reference to the list of all active ripples.
|
|
72
|
+
this._activeRipples.add(rippleRef);
|
|
73
|
+
// Wait for the ripple element to be completely faded in.
|
|
74
|
+
// Once it's faded in, the ripple can be hidden immediately if the mouse is released.
|
|
75
|
+
this.runTimeoutOutsideZone(() => {
|
|
76
|
+
rippleRef.state = CoRippleState.VISIBLE;
|
|
77
|
+
if (!config.persistent && !this._isMousedown) {
|
|
78
|
+
rippleRef.fadeOut();
|
|
79
|
+
}
|
|
80
|
+
}, duration);
|
|
81
|
+
return rippleRef;
|
|
82
|
+
}
|
|
83
|
+
/** Fades out a ripple reference. */
|
|
84
|
+
fadeOutRipple(rippleRef) {
|
|
85
|
+
// For ripples that are not active anymore, don't re-un the fade-out animation.
|
|
86
|
+
if (!this._activeRipples.delete(rippleRef)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
let rippleEl = rippleRef.element;
|
|
90
|
+
rippleEl.style.transitionDuration = `${RIPPLE_FADE_OUT_DURATION}ms`;
|
|
91
|
+
rippleEl.style.opacity = '0';
|
|
92
|
+
rippleRef.state = CoRippleState.FADING_OUT;
|
|
93
|
+
// Once the ripple faded out, the ripple can be safely removed from the DOM.
|
|
94
|
+
this.runTimeoutOutsideZone(() => {
|
|
95
|
+
rippleRef.state = CoRippleState.HIDDEN;
|
|
96
|
+
rippleEl.parentNode.removeChild(rippleEl);
|
|
97
|
+
}, RIPPLE_FADE_OUT_DURATION);
|
|
98
|
+
}
|
|
99
|
+
/** Fades out all currently active ripples. */
|
|
100
|
+
fadeOutAll() {
|
|
101
|
+
this._activeRipples.forEach(ripple => ripple.fadeOut());
|
|
102
|
+
}
|
|
103
|
+
/** Sets the trigger element and registers the mouse events. */
|
|
104
|
+
setTriggerElement(element) {
|
|
105
|
+
// Remove all previously register event listeners from the trigger element.
|
|
106
|
+
if (this._triggerElement) {
|
|
107
|
+
this._triggerEvents.forEach((fn, type) => this._triggerElement.removeEventListener(type, fn));
|
|
108
|
+
}
|
|
109
|
+
if (element) {
|
|
110
|
+
// If the element is not null, register all event listeners on the trigger element.
|
|
111
|
+
this._ngZone.runOutsideAngular(() => {
|
|
112
|
+
this._triggerEvents.forEach((fn, type) => element.addEventListener(type, fn));
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
this._triggerElement = element;
|
|
116
|
+
}
|
|
117
|
+
/** Listener being called on mousedown event. */
|
|
118
|
+
onMousedown(event) {
|
|
119
|
+
if (!this.rippleDisabled) {
|
|
120
|
+
this._isMousedown = true;
|
|
121
|
+
this.fadeInRipple(event.pageX, event.pageY, this.rippleConfig);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Listener being called on mouseup event. */
|
|
125
|
+
onMouseup() {
|
|
126
|
+
this._isMousedown = false;
|
|
127
|
+
// Fade-out all ripples that are completely visible and not persistent.
|
|
128
|
+
this._activeRipples.forEach(ripple => {
|
|
129
|
+
if (!ripple.config.persistent && ripple.state === CoRippleState.VISIBLE) {
|
|
130
|
+
ripple.fadeOut();
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
/** Listener being called on mouseleave event. */
|
|
135
|
+
onMouseLeave() {
|
|
136
|
+
if (this._isMousedown) {
|
|
137
|
+
this.onMouseup();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
|
|
141
|
+
runTimeoutOutsideZone(fn, delay = 0) {
|
|
142
|
+
this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** Enforces a style recalculation of a DOM element by computing its styles. */
|
|
146
|
+
function enforceStyleRecalculation(element) {
|
|
147
|
+
// Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
|
|
148
|
+
// Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
|
|
149
|
+
// See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
|
|
150
|
+
window.getComputedStyle(element).getPropertyValue('opacity');
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Returns the distance from the point (x, y) to the furthest corner of a rectangle.
|
|
154
|
+
*/
|
|
155
|
+
function distanceToFurthestCorner(x, y, rect) {
|
|
156
|
+
const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
|
|
157
|
+
const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
|
|
158
|
+
return Math.sqrt(distX * distX + distY * distY);
|
|
159
|
+
}
|
|
160
160
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3JpcHBsZS9yaXBwbGUtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0VBQXdFO0FBSXhFLE9BQU8sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBR3hELHFGQUFxRjtBQUNyRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFFM0Msb0dBQW9HO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQVU1Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUJ6QixZQUFZLFdBQXVCLEVBQVUsT0FBZSxFQUFVLE1BQThCO1FBQXZELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQWZwRyxrREFBa0Q7UUFDMUMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdEMsc0RBQXNEO1FBQzlDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQUVoRCxpREFBaUQ7UUFDekMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRWhELHVEQUF1RDtRQUN2RCxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFFbEMsc0RBQXNEO1FBQ3RELG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBRW5ELDZEQUE2RDtRQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxT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RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVEU6IENvcGllZCBhbmQgYWRhcHRlZCB0byBDb3JlQ29tcG9uZW50cyBmcm9tIGlPbmVKUyBvbiA5LW1heS0yMDE4LlxyXG5cclxuaW1wb3J0IHtFbGVtZW50UmVmLCBOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtDb1JpcHBsZVJlZiwgQ29SaXBwbGVTdGF0ZX0gZnJvbSBcIi4vcmlwcGxlLXJlZlwiO1xyXG5pbXBvcnQge0NvVmlld3BvcnRSdWxlclNlcnZpY2V9IGZyb20gXCIuL3ZpZXdwb3J0LXJ1bGVyLnNlcnZpY2VcIjtcclxuXHJcbi8qKiBGYWRlLWluIGR1cmF0aW9uIGZvciB0aGUgcmlwcGxlcy4gQ2FuIGJlIG1vZGlmaWVkIHdpdGggdGhlIHNwZWVkRmFjdG9yIG9wdGlvbi4gKi9cclxuZXhwb3J0IGNvbnN0IFJJUFBMRV9GQURFX0lOX0RVUkFUSU9OID0gNDUwO1xyXG5cclxuLyoqIEZhZGUtb3V0IGR1cmF0aW9uIGZvciB0aGUgcmlwcGxlcyBpbiBtaWxsaXNlY29uZHMuIFRoaXMgY2FuJ3QgYmUgbW9kaWZpZWQgYnkgdGhlIHNwZWVkRmFjdG9yLiAqL1xyXG5leHBvcnQgY29uc3QgUklQUExFX0ZBREVfT1VUX0RVUkFUSU9OID0gNDAwO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29SaXBwbGVDb25maWcgPSB7XHJcbiAgICBjb2xvcj86IHN0cmluZztcclxuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcclxuICAgIHJhZGl1cz86IG51bWJlcjtcclxuICAgIHNwZWVkRmFjdG9yPzogbnVtYmVyO1xyXG4gICAgcGVyc2lzdGVudD86IGJvb2xlYW47XHJcbn07XHJcblxyXG4vKipcclxuICogSGVscGVyIHNlcnZpY2UgdGhhdCBwZXJmb3JtcyBET00gbWFuaXB1bGF0aW9ucy4gTm90IGludGVuZGVkIHRvIGJlIHVzZWQgb3V0c2lkZSB0aGlzIG1vZHVsZS5cclxuICogVGhlIGNvbnN0cnVjdG9yIHRha2VzIGEgcmVmZXJlbmNlIHRvIHRoZSByaXBwbGUgZGlyZWN0aXZlJ3MgaG9zdCBlbGVtZW50IGFuZCBhIG1hcCBvZiBET01cclxuICogZXZlbnQgaGFuZGxlcnMgdG8gYmUgaW5zdGFsbGVkIG9uIHRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcnMgcmlwcGxlIGFuaW1hdGlvbnMuXHJcbiAqIFRoaXMgd2lsbCBldmVudHVhbGx5IGJlY29tZSBhIGN1c3RvbSByZW5kZXJlciBvbmNlIEFuZ3VsYXIgc3VwcG9ydCBleGlzdHMuXHJcbiAqIEBkb2NzLXByaXZhdGVcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb1JpcHBsZVJlbmRlcmVyIHtcclxuXHJcbiAgICAvKiogRWxlbWVudCB3aGVyZSB0aGUgcmlwcGxlcyBhcmUgYmVpbmcgYWRkZWQgdG8uICovXHJcbiAgICBwcml2YXRlIF9jb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvKiogRWxlbWVudCB3aGljaCB0cmlnZ2VycyB0aGUgcmlwcGxlIGVsZW1lbnRzIG9uIG1vdXNlIGV2ZW50cy4gKi9cclxuICAgIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvKiogV2hldGhlciB0aGUgbW91c2UgaXMgY3VycmVudGx5IGRvd24gb3Igbm90LiAqL1xyXG4gICAgcHJpdmF0ZSBfaXNNb3VzZWRvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogRXZlbnRzIHRvIGJlIHJlZ2lzdGVyZWQgb24gdGhlIHRyaWdnZXIgZWxlbWVudC4gKi9cclxuICAgIHByaXZhdGUgX3RyaWdnZXJFdmVudHMgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xyXG5cclxuICAgIC8qKiBTZXQgb2YgY3VycmVudGx5IGFjdGl2ZSByaXBwbGUgcmVmZXJlbmNlcy4gKi9cclxuICAgIHByaXZhdGUgX2FjdGl2ZVJpcHBsZXMgPSBuZXcgU2V0PENvUmlwcGxlUmVmPigpO1xyXG5cclxuICAgIC8qKiBSaXBwbGUgY29uZmlnIGZvciBhbGwgcmlwcGxlcyBjcmVhdGVkIGJ5IGV2ZW50cy4gKi9cclxuICAgIHJpcHBsZUNvbmZpZzogQ29SaXBwbGVDb25maWcgPSB7fTtcclxuXHJcbiAgICAvKiogV2hldGhlciBtb3VzZSByaXBwbGVzIHNob3VsZCBiZSBjcmVhdGVkIG9yIG5vdC4gKi9cclxuICAgIHJpcHBsZURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX25nWm9uZTogTmdab25lLCBwcml2YXRlIF9ydWxlcjogQ29WaWV3cG9ydFJ1bGVyU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICAvLyBTcGVjaWZ5IGV2ZW50cyB3aGljaCBuZWVkIHRvIGJlIHJlZ2lzdGVyZWQgb24gdGhlIHRyaWdnZXIuXHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlckV2ZW50cy5zZXQoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZWRvd24uYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlckV2ZW50cy5zZXQoJ21vdXNldXAnLCB0aGlzLm9uTW91c2V1cC5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLl90cmlnZ2VyRXZlbnRzLnNldCgnbW91c2VsZWF2ZScsIHRoaXMub25Nb3VzZUxlYXZlLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgICAvLyBCeSBkZWZhdWx0IHVzZSB0aGUgaG9zdCBlbGVtZW50IGFzIHRyaWdnZXIgZWxlbWVudC5cclxuICAgICAgICB0aGlzLnNldFRyaWdnZXJFbGVtZW50KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBGYWRlcyBpbiBhIHJpcHBsZSBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMuICovXHJcbiAgICBmYWRlSW5SaXBwbGUocGFnZVg6IG51bWJlciwgcGFnZVk6IG51bWJlciwgY29uZmlnOiBDb1JpcHBsZUNvbmZpZyA9IHt9KTogQ29SaXBwbGVSZWYge1xyXG4gICAgICAgIGxldCBjb250YWluZXJSZWN0ID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgaWYgKGNvbmZpZy5jZW50ZXJlZCkge1xyXG4gICAgICAgICAgICBwYWdlWCA9IGNvbnRhaW5lclJlY3QubGVmdCArIGNvbnRhaW5lclJlY3Qud2lkdGggLyAyO1xyXG4gICAgICAgICAgICBwYWdlWSA9IGNvbnRhaW5lclJlY3QudG9wICsgY29udGFpbmVyUmVjdC5oZWlnaHQgLyAyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFN1YnRyYWN0IHNjcm9sbCB2YWx1ZXMgZnJvbSB0aGUgY29vcmRpbmF0ZXMgYmVjYXVzZSBjYWxjdWxhdGlvbnMgYmVsb3dcclxuICAgICAgICAgICAgLy8gYXJlIGFsd2F5cyByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgcmVjdGFuZ2xlLlxyXG4gICAgICAgICAgICBsZXQgc2Nyb2xsUG9zaXRpb24gPSB0aGlzLl9ydWxlci5nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCk7XHJcbiAgICAgICAgICAgIHBhZ2VYIC09IHNjcm9sbFBvc2l0aW9uLmxlZnQ7XHJcbiAgICAgICAgICAgIHBhZ2VZIC09IHNjcm9sbFBvc2l0aW9uLnRvcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByYWRpdXMgPSBjb25maWcucmFkaXVzIHx8IGRpc3RhbmNlVG9GdXJ0aGVzdENvcm5lcihwYWdlWCwgcGFnZVksIGNvbnRhaW5lclJlY3QpO1xyXG4gICAgICAgIGxldCBkdXJhdGlvbiA9IFJJUFBMRV9GQURFX0lOX0RVUkFUSU9OICogKDEgLyAoY29uZmlnLnNwZWVkRmFjdG9yIHx8IDEpKTtcclxuICAgICAgICBsZXQgb2Zmc2V0WCA9IHBhZ2VYIC0gY29udGFpbmVyUmVjdC5sZWZ0O1xyXG4gICAgICAgIGxldCBvZmZzZXRZID0gcGFnZVkgLSBjb250YWluZXJSZWN0LnRvcDtcclxuXHJcbiAgICAgICAgbGV0IHJpcHBsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHJpcHBsZS5jbGFzc0xpc3QuYWRkKCdtYXQtcmlwcGxlLWVsZW1lbnQnKTtcclxuXHJcbiAgICAgICAgcmlwcGxlLnN0eWxlLmxlZnQgPSBgJHtvZmZzZXRYIC0gcmFkaXVzfXB4YDtcclxuICAgICAgICByaXBwbGUuc3R5bGUudG9wID0gYCR7b2Zmc2V0WSAtIHJhZGl1c31weGA7XHJcbiAgICAgICAgcmlwcGxlLnN0eWxlLmhlaWdodCA9IGAke3JhZGl1cyAqIDJ9cHhgO1xyXG4gICAgICAgIHJpcHBsZS5zdHlsZS53aWR0aCA9IGAke3JhZGl1cyAqIDJ9cHhgO1xyXG5cclxuICAgICAgICAvLyBJZiB0aGUgY29sb3IgaXMgbm90IHNldCwgdGhlIGRlZmF1bHQgQ1NTIGNvbG9yIHdpbGwgYmUgdXNlZC5cclxuICAgICAgICByaXBwbGUuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gY29uZmlnLmNvbG9yO1xyXG4gICAgICAgIHJpcHBsZS5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb24gPSBgJHtkdXJhdGlvbn1tc2A7XHJcblxyXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQocmlwcGxlKTtcclxuXHJcbiAgICAgICAgLy8gQnkgZGVmYXVsdCB0aGUgYnJvd3NlciBkb2VzIG5vdCByZWNhbGN1bGF0ZSB0aGUgc3R5bGVzIG9mIGR5bmFtaWNhbGx5IGNyZWF0ZWRcclxuICAgICAgICAvLyByaXBwbGUgZWxlbWVudHMuIFRoaXMgaXMgY3JpdGljYWwgYmVjYXVzZSB0aGVuIHRoZSBgc2NhbGVgIHdvdWxkIG5vdCBhbmltYXRlIHByb3Blcmx5LlxyXG4gICAgICAgIGVuZm9yY2VTdHlsZVJlY2FsY3VsYXRpb24ocmlwcGxlKTtcclxuXHJcbiAgICAgICAgcmlwcGxlLnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxKSc7XHJcblxyXG4gICAgICAgIC8vIEV4cG9zZWQgcmVmZXJlbmNlIHRvIHRoZSByaXBwbGUgdGhhdCB3aWxsIGJlIHJldHVybmVkLlxyXG4gICAgICAgIGxldCByaXBwbGVSZWYgPSBuZXcgQ29SaXBwbGVSZWYodGhpcywgcmlwcGxlLCBjb25maWcpO1xyXG5cclxuICAgICAgICByaXBwbGVSZWYuc3RhdGUgPSBDb1JpcHBsZVN0YXRlLkZBRElOR19JTjtcclxuXHJcbiAgICAgICAgLy8gQWRkIHRoZSByaXBwbGUgcmVmZXJlbmNlIHRvIHRoZSBsaXN0IG9mIGFsbCBhY3RpdmUgcmlwcGxlcy5cclxuICAgICAgICB0aGlzLl9hY3RpdmVSaXBwbGVzLmFkZChyaXBwbGVSZWYpO1xyXG5cclxuICAgICAgICAvLyBXYWl0IGZvciB0aGUgcmlwcGxlIGVsZW1lbnQgdG8gYmUgY29tcGxldGVseSBmYWRlZCBpbi5cclxuICAgICAgICAvLyBPbmNlIGl0J3MgZmFkZWQgaW4sIHRoZSByaXBwbGUgY2FuIGJlIGhpZGRlbiBpbW1lZGlhdGVseSBpZiB0aGUgbW91c2UgaXMgcmVsZWFzZWQuXHJcbiAgICAgICAgdGhpcy5ydW5UaW1lb3V0T3V0c2lkZVpvbmUoKCkgPT4ge1xyXG4gICAgICAgICAgICByaXBwbGVSZWYuc3RhdGUgPSBDb1JpcHBsZVN0YXRlLlZJU0lCTEU7XHJcblxyXG4gICAgICAgICAgICBpZiAoIWNvbmZpZy5wZXJzaXN0ZW50ICYmICF0aGlzLl9pc01vdXNlZG93bikge1xyXG4gICAgICAgICAgICAgICAgcmlwcGxlUmVmLmZhZGVPdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJpcHBsZVJlZjtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRmFkZXMgb3V0IGEgcmlwcGxlIHJlZmVyZW5jZS4gKi9cclxuICAgIGZhZGVPdXRSaXBwbGUocmlwcGxlUmVmOiBDb1JpcHBsZVJlZikge1xyXG4gICAgICAgIC8vIEZvciByaXBwbGVzIHRoYXQgYXJlIG5vdCBhY3RpdmUgYW55bW9yZSwgZG9uJ3QgcmUtdW4gdGhlIGZhZGUtb3V0IGFuaW1hdGlvbi5cclxuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZVJpcHBsZXMuZGVsZXRlKHJpcHBsZVJlZikpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHJpcHBsZUVsID0gcmlwcGxlUmVmLmVsZW1lbnQ7XHJcblxyXG4gICAgICAgIHJpcHBsZUVsLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbiA9IGAke1JJUFBMRV9GQURFX09VVF9EVVJBVElPTn1tc2A7XHJcbiAgICAgICAgcmlwcGxlRWwuc3R5bGUub3BhY2l0eSA9ICcwJztcclxuXHJcbiAgICAgICAgcmlwcGxlUmVmLnN0YXRlID0gQ29SaXBwbGVTdGF0ZS5GQURJTkdfT1VUO1xyXG5cclxuICAgICAgICAvLyBPbmNlIHRoZSByaXBwbGUgZmFkZWQgb3V0LCB0aGUgcmlwcGxlIGNhbiBiZSBzYWZlbHkgcmVtb3ZlZCBmcm9tIHRoZSBET00uXHJcbiAgICAgICAgdGhpcy5ydW5UaW1lb3V0T3V0c2lkZVpvbmUoKCkgPT4ge1xyXG4gICAgICAgICAgICByaXBwbGVSZWYuc3RhdGUgPSBDb1JpcHBsZVN0YXRlLkhJRERFTjtcclxuICAgICAgICAgICAgcmlwcGxlRWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyaXBwbGVFbCk7XHJcbiAgICAgICAgfSwgUklQUExFX0ZBREVfT1VUX0RVUkFUSU9OKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRmFkZXMgb3V0IGFsbCBjdXJyZW50bHkgYWN0aXZlIHJpcHBsZXMuICovXHJcbiAgICBmYWRlT3V0QWxsKCkge1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVJpcHBsZXMuZm9yRWFjaChyaXBwbGUgPT4gcmlwcGxlLmZhZGVPdXQoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNldHMgdGhlIHRyaWdnZXIgZWxlbWVudCBhbmQgcmVnaXN0ZXJzIHRoZSBtb3VzZSBldmVudHMuICovXHJcbiAgICBzZXRUcmlnZ2VyRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIC8vIFJlbW92ZSBhbGwgcHJldmlvdXNseSByZWdpc3RlciBldmVudCBsaXN0ZW5lcnMgZnJvbSB0aGUgdHJpZ2dlciBlbGVtZW50LlxyXG4gICAgICAgIGlmICh0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyRXZlbnRzLmZvckVhY2goKGZuLCB0eXBlKSA9PiB0aGlzLl90cmlnZ2VyRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGZuKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyBub3QgbnVsbCwgcmVnaXN0ZXIgYWxsIGV2ZW50IGxpc3RlbmVycyBvbiB0aGUgdHJpZ2dlciBlbGVtZW50LlxyXG4gICAgICAgICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlckV2ZW50cy5mb3JFYWNoKChmbiwgdHlwZSkgPT4gZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGZuKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBlbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBMaXN0ZW5lciBiZWluZyBjYWxsZWQgb24gbW91c2Vkb3duIGV2ZW50LiAqL1xyXG4gICAgcHJpdmF0ZSBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5yaXBwbGVEaXNhYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vdXNlZG93biA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmFkZUluUmlwcGxlKGV2ZW50LnBhZ2VYLCBldmVudC5wYWdlWSwgdGhpcy5yaXBwbGVDb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogTGlzdGVuZXIgYmVpbmcgY2FsbGVkIG9uIG1vdXNldXAgZXZlbnQuICovXHJcbiAgICBwcml2YXRlIG9uTW91c2V1cCgpIHtcclxuICAgICAgICB0aGlzLl9pc01vdXNlZG93biA9IGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBGYWRlLW91dCBhbGwgcmlwcGxlcyB0aGF0IGFyZSBjb21wbGV0ZWx5IHZpc2libGUgYW5kIG5vdCBwZXJzaXN0ZW50LlxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZVJpcHBsZXMuZm9yRWFjaChyaXBwbGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXJpcHBsZS5jb25maWcucGVyc2lzdGVudCAmJiByaXBwbGUuc3RhdGUgPT09IENvUmlwcGxlU3RhdGUuVklTSUJMRSkge1xyXG4gICAgICAgICAgICAgICAgcmlwcGxlLmZhZGVPdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBMaXN0ZW5lciBiZWluZyBjYWxsZWQgb24gbW91c2VsZWF2ZSBldmVudC4gKi9cclxuICAgIHByaXZhdGUgb25Nb3VzZUxlYXZlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc01vdXNlZG93bikge1xyXG4gICAgICAgICAgICB0aGlzLm9uTW91c2V1cCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogUnVucyBhIHRpbWVvdXQgb3V0c2lkZSBvZiB0aGUgQW5ndWxhciB6b25lIHRvIGF2b2lkIHRyaWdnZXJpbmcgdGhlIGNoYW5nZSBkZXRlY3Rpb24uICovXHJcbiAgICBwcml2YXRlIHJ1blRpbWVvdXRPdXRzaWRlWm9uZShmbjogRnVuY3Rpb24sIGRlbGF5OiBudW1iZXIgPSAwKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHNldFRpbWVvdXQoZm4sIGRlbGF5KSk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiogRW5mb3JjZXMgYSBzdHlsZSByZWNhbGN1bGF0aW9uIG9mIGEgRE9NIGVsZW1lbnQgYnkgY29tcHV0aW5nIGl0cyBzdHlsZXMuICovXHJcbmZ1bmN0aW9uIGVuZm9yY2VTdHlsZVJlY2FsY3VsYXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIC8vIEVuZm9yY2UgYSBzdHlsZSByZWNhbGN1bGF0aW9uIGJ5IGNhbGxpbmcgYGdldENvbXB1dGVkU3R5bGVgIGFuZCBhY2Nlc3NpbmcgYW55IHByb3BlcnR5LlxyXG4gICAgLy8gQ2FsbGluZyBgZ2V0UHJvcGVydHlWYWx1ZWAgaXMgaW1wb3J0YW50IHRvIGxldCBvcHRpbWl6ZXJzIGtub3cgdGhhdCB0aGlzIGlzIG5vdCBhIG5vb3AuXHJcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3BhdWxpcmlzaC81ZDUyZmIwODFiMzU3MGM4MWUzYVxyXG4gICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnb3BhY2l0eScpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgcG9pbnQgKHgsIHkpIHRvIHRoZSBmdXJ0aGVzdCBjb3JuZXIgb2YgYSByZWN0YW5nbGUuXHJcbiAqL1xyXG5mdW5jdGlvbiBkaXN0YW5jZVRvRnVydGhlc3RDb3JuZXIoeDogbnVtYmVyLCB5OiBudW1iZXIsIHJlY3Q6IENsaWVudFJlY3QpIHtcclxuICAgIGNvbnN0IGRpc3RYID0gTWF0aC5tYXgoTWF0aC5hYnMoeCAtIHJlY3QubGVmdCksIE1hdGguYWJzKHggLSByZWN0LnJpZ2h0KSk7XHJcbiAgICBjb25zdCBkaXN0WSA9IE1hdGgubWF4KE1hdGguYWJzKHkgLSByZWN0LnRvcCksIE1hdGguYWJzKHkgLSByZWN0LmJvdHRvbSkpO1xyXG4gICAgcmV0dXJuIE1hdGguc3FydChkaXN0WCAqIGRpc3RYICsgZGlzdFkgKiBkaXN0WSk7XHJcbn0iXX0=
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.
|
|
2
|
-
import { Directive, ElementRef, Inject, InjectionToken, Input, NgZone, Optional } from '@angular/core';
|
|
3
|
-
import { CoRippleRenderer } from "./ripple-renderer";
|
|
4
|
-
import { CoViewportRulerService } from "./viewport-ruler.service";
|
|
5
|
-
/** OpaqueToken that can be used to specify the global ripple options. */
|
|
6
|
-
export const MD_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('CoRippleGlobalOptions');
|
|
7
|
-
export class CoRippleDirective {
|
|
8
|
-
constructor(elementRef, ngZone, ruler,
|
|
9
|
-
// Type needs to be `any` because of https://github.com/angular/angular/issues/12631
|
|
10
|
-
globalOptions) {
|
|
11
|
-
/**
|
|
12
|
-
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
13
|
-
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
14
|
-
* bounding rectangle.
|
|
15
|
-
*/
|
|
16
|
-
this.radius = 0;
|
|
17
|
-
/**
|
|
18
|
-
* If set, the normal duration of ripple animations is divided by this value. For example,
|
|
19
|
-
* setting it to 0.5 will cause the animations to take twice as long.
|
|
20
|
-
* A changed speedFactor will not modify the fade-out duration of the ripples.
|
|
21
|
-
*/
|
|
22
|
-
this.speedFactor = 1;
|
|
23
|
-
this._rippleRenderer = new CoRippleRenderer(elementRef, ngZone, ruler);
|
|
24
|
-
this._globalOptions = globalOptions ? globalOptions : {};
|
|
25
|
-
}
|
|
26
|
-
ngOnChanges(changes) {
|
|
27
|
-
if (changes['trigger'] && this.trigger) {
|
|
28
|
-
this._rippleRenderer.setTriggerElement(this.trigger);
|
|
29
|
-
}
|
|
30
|
-
this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
|
|
31
|
-
this._rippleRenderer.rippleConfig = this.rippleConfig;
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
// Set the trigger element to null to cleanup all listeners.
|
|
35
|
-
this._rippleRenderer.setTriggerElement(null);
|
|
36
|
-
}
|
|
37
|
-
/** Launches a manual ripple at the specified position. */
|
|
38
|
-
launch(pageX, pageY, config = this.rippleConfig) {
|
|
39
|
-
return this._rippleRenderer.fadeInRipple(pageX, pageY, config);
|
|
40
|
-
}
|
|
41
|
-
/** Fades out all currently showing ripple elements. */
|
|
42
|
-
fadeOutAll() {
|
|
43
|
-
this._rippleRenderer.fadeOutAll();
|
|
44
|
-
}
|
|
45
|
-
/** Ripple configuration from the directive's input values. */
|
|
46
|
-
get rippleConfig() {
|
|
47
|
-
return {
|
|
48
|
-
centered: this.centered,
|
|
49
|
-
speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
|
|
50
|
-
radius: this.radius,
|
|
51
|
-
color: this.color
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
CoRippleDirective.decorators = [
|
|
56
|
-
{ type: Directive, args: [{
|
|
57
|
-
selector: '[md-ripple], [mat-ripple], [mdRipple], [matRipple]',
|
|
58
|
-
exportAs: 'mdRipple',
|
|
59
|
-
host: {
|
|
60
|
-
'[class.mat-ripple]': 'true',
|
|
61
|
-
'[class.mat-ripple-unbounded]': 'unbounded'
|
|
62
|
-
}
|
|
63
|
-
},] }
|
|
64
|
-
];
|
|
65
|
-
CoRippleDirective.ctorParameters = () => [
|
|
66
|
-
{ type: ElementRef },
|
|
67
|
-
{ type: NgZone },
|
|
68
|
-
{ type: CoViewportRulerService },
|
|
69
|
-
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_RIPPLE_GLOBAL_OPTIONS,] }] }
|
|
70
|
-
];
|
|
71
|
-
CoRippleDirective.propDecorators = {
|
|
72
|
-
trigger: [{ type: Input, args: ['mdRippleTrigger',] }],
|
|
73
|
-
centered: [{ type: Input, args: ['mdRippleCentered',] }],
|
|
74
|
-
disabled: [{ type: Input, args: ['mdRippleDisabled',] }],
|
|
75
|
-
radius: [{ type: Input, args: ['mdRippleRadius',] }],
|
|
76
|
-
speedFactor: [{ type: Input, args: ['mdRippleSpeedFactor',] }],
|
|
77
|
-
color: [{ type: Input, args: ['mdRippleColor',] }],
|
|
78
|
-
unbounded: [{ type: Input, args: ['mdRippleUnbounded',] }]
|
|
79
|
-
};
|
|
1
|
+
// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.
|
|
2
|
+
import { Directive, ElementRef, Inject, InjectionToken, Input, NgZone, Optional } from '@angular/core';
|
|
3
|
+
import { CoRippleRenderer } from "./ripple-renderer";
|
|
4
|
+
import { CoViewportRulerService } from "./viewport-ruler.service";
|
|
5
|
+
/** OpaqueToken that can be used to specify the global ripple options. */
|
|
6
|
+
export const MD_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('CoRippleGlobalOptions');
|
|
7
|
+
export class CoRippleDirective {
|
|
8
|
+
constructor(elementRef, ngZone, ruler,
|
|
9
|
+
// Type needs to be `any` because of https://github.com/angular/angular/issues/12631
|
|
10
|
+
globalOptions) {
|
|
11
|
+
/**
|
|
12
|
+
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
13
|
+
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
14
|
+
* bounding rectangle.
|
|
15
|
+
*/
|
|
16
|
+
this.radius = 0;
|
|
17
|
+
/**
|
|
18
|
+
* If set, the normal duration of ripple animations is divided by this value. For example,
|
|
19
|
+
* setting it to 0.5 will cause the animations to take twice as long.
|
|
20
|
+
* A changed speedFactor will not modify the fade-out duration of the ripples.
|
|
21
|
+
*/
|
|
22
|
+
this.speedFactor = 1;
|
|
23
|
+
this._rippleRenderer = new CoRippleRenderer(elementRef, ngZone, ruler);
|
|
24
|
+
this._globalOptions = globalOptions ? globalOptions : {};
|
|
25
|
+
}
|
|
26
|
+
ngOnChanges(changes) {
|
|
27
|
+
if (changes['trigger'] && this.trigger) {
|
|
28
|
+
this._rippleRenderer.setTriggerElement(this.trigger);
|
|
29
|
+
}
|
|
30
|
+
this._rippleRenderer.rippleDisabled = this._globalOptions.disabled || this.disabled;
|
|
31
|
+
this._rippleRenderer.rippleConfig = this.rippleConfig;
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
// Set the trigger element to null to cleanup all listeners.
|
|
35
|
+
this._rippleRenderer.setTriggerElement(null);
|
|
36
|
+
}
|
|
37
|
+
/** Launches a manual ripple at the specified position. */
|
|
38
|
+
launch(pageX, pageY, config = this.rippleConfig) {
|
|
39
|
+
return this._rippleRenderer.fadeInRipple(pageX, pageY, config);
|
|
40
|
+
}
|
|
41
|
+
/** Fades out all currently showing ripple elements. */
|
|
42
|
+
fadeOutAll() {
|
|
43
|
+
this._rippleRenderer.fadeOutAll();
|
|
44
|
+
}
|
|
45
|
+
/** Ripple configuration from the directive's input values. */
|
|
46
|
+
get rippleConfig() {
|
|
47
|
+
return {
|
|
48
|
+
centered: this.centered,
|
|
49
|
+
speedFactor: this.speedFactor * (this._globalOptions.baseSpeedFactor || 1),
|
|
50
|
+
radius: this.radius,
|
|
51
|
+
color: this.color
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
CoRippleDirective.decorators = [
|
|
56
|
+
{ type: Directive, args: [{
|
|
57
|
+
selector: '[md-ripple], [mat-ripple], [mdRipple], [matRipple]',
|
|
58
|
+
exportAs: 'mdRipple',
|
|
59
|
+
host: {
|
|
60
|
+
'[class.mat-ripple]': 'true',
|
|
61
|
+
'[class.mat-ripple-unbounded]': 'unbounded'
|
|
62
|
+
}
|
|
63
|
+
},] }
|
|
64
|
+
];
|
|
65
|
+
CoRippleDirective.ctorParameters = () => [
|
|
66
|
+
{ type: ElementRef },
|
|
67
|
+
{ type: NgZone },
|
|
68
|
+
{ type: CoViewportRulerService },
|
|
69
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MD_RIPPLE_GLOBAL_OPTIONS,] }] }
|
|
70
|
+
];
|
|
71
|
+
CoRippleDirective.propDecorators = {
|
|
72
|
+
trigger: [{ type: Input, args: ['mdRippleTrigger',] }],
|
|
73
|
+
centered: [{ type: Input, args: ['mdRippleCentered',] }],
|
|
74
|
+
disabled: [{ type: Input, args: ['mdRippleDisabled',] }],
|
|
75
|
+
radius: [{ type: Input, args: ['mdRippleRadius',] }],
|
|
76
|
+
speedFactor: [{ type: Input, args: ['mdRippleSpeedFactor',] }],
|
|
77
|
+
color: [{ type: Input, args: ['mdRippleColor',] }],
|
|
78
|
+
unbounded: [{ type: Input, args: ['mdRippleUnbounded',] }]
|
|
79
|
+
};
|
|
80
80
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9yaXBwbGUvcmlwcGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RUFBd0U7QUFFeEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUF3QixRQUFRLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSx5RUFBeUU7QUFDekUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTBDLElBQUksY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFlM0gsTUFBTSxPQUFPLGlCQUFpQjtJQWdEMUIsWUFDSSxVQUFzQixFQUN0QixNQUFjLEVBQ2QsS0FBNkI7SUFDN0Isb0ZBQW9GO0lBQ3RDLGFBQWtCO1FBL0JwRTs7OztXQUlHO1FBQ3NCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFNUM7Ozs7V0FJRztRQUMyQixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQXFCbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMxRCxDQUFDO0lBRUQsV0FBVztRQUNQLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsTUFBTSxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsU0FBeUIsSUFBSSxDQUFDLFlBQVk7UUFDM0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsVUFBVTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxJQUFJLFlBQVk7UUFDWixPQUFPO1lBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDO1lBQzFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDcEIsQ0FBQztJQUNOLENBQUM7OztZQW5HSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9EQUFvRDtnQkFDOUQsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLElBQUksRUFBRTtvQkFDRixvQkFBb0IsRUFBRSxNQUFNO29CQUM1Qiw4QkFBOEIsRUFBRSxXQUFXO2lCQUM5QzthQUNKOzs7WUFwQmtCLFVBQVU7WUFBaUMsTUFBTTtZQUc1RCxzQkFBc0I7NENBdUVyQixRQUFRLFlBQUksTUFBTSxTQUFDLHdCQUF3Qjs7O3NCQTdDL0MsS0FBSyxTQUFDLGlCQUFpQjt1QkFNdkIsS0FBSyxTQUFDLGtCQUFrQjt1QkFNeEIsS0FBSyxTQUFDLGtCQUFrQjtxQkFPeEIsS0FBSyxTQUFDLGdCQUFnQjswQkFPdEIsS0FBSyxTQUFDLHFCQUFxQjtvQkFHM0IsS0FBSyxTQUFDLGVBQWU7d0JBR3JCLEtBQUssU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOT1RFOiBDb3BpZWQgZnJvbSBpT25lSlMgYW5kIGFkYXB0ZWQgdG8gQ29yZUNvbXBvbmVudHMgb24gOS1tYXktMjAxOC5cclxuXHJcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dCwgTmdab25lLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvUmlwcGxlQ29uZmlnLCBDb1JpcHBsZVJlbmRlcmVyfSBmcm9tIFwiLi9yaXBwbGUtcmVuZGVyZXJcIjtcclxuaW1wb3J0IHtDb1JpcHBsZVJlZn0gZnJvbSBcIi4vcmlwcGxlLXJlZlwiO1xyXG5pbXBvcnQge0NvVmlld3BvcnRSdWxlclNlcnZpY2V9IGZyb20gXCIuL3ZpZXdwb3J0LXJ1bGVyLnNlcnZpY2VcIjtcclxuXHJcbi8qKiBPcGFxdWVUb2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGdsb2JhbCByaXBwbGUgb3B0aW9ucy4gKi9cclxuZXhwb3J0IGNvbnN0IE1EX1JJUFBMRV9HTE9CQUxfT1BUSU9OUzogSW5qZWN0aW9uVG9rZW48Q29SaXBwbGVHbG9iYWxPcHRpb25zPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignQ29SaXBwbGVHbG9iYWxPcHRpb25zJyk7XHJcblxyXG5leHBvcnQgdHlwZSBDb1JpcHBsZUdsb2JhbE9wdGlvbnMgPSB7XHJcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBiYXNlU3BlZWRGYWN0b3I/OiBudW1iZXI7XHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW21kLXJpcHBsZV0sIFttYXQtcmlwcGxlXSwgW21kUmlwcGxlXSwgW21hdFJpcHBsZV0nLFxyXG4gICAgZXhwb3J0QXM6ICdtZFJpcHBsZScsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1tjbGFzcy5tYXQtcmlwcGxlXSc6ICd0cnVlJyxcclxuICAgICAgICAnW2NsYXNzLm1hdC1yaXBwbGUtdW5ib3VuZGVkXSc6ICd1bmJvdW5kZWQnXHJcbiAgICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb1JpcHBsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcnMgdGhlIHJpcHBsZSB3aGVuIGNsaWNrIGV2ZW50cyBhcmUgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIHRoZVxyXG4gICAgICogZGlyZWN0aXZlJ3MgaG9zdCBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICAgICAgLy8gUHJldmVudCBUUyBtZXRhZGF0YSBlbWl0IGZyb20gcmVmZXJlbmNpbmcgSFRNTEVsZW1lbnQgaW4gcmlwcGxlLmpzXHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlIHJ1bm5pbmcgdGhpcyBjb2RlIGluIGEgTm9kZSBlbnZpcm9ubWVudCAoZS5nIFVuaXZlcnNhbCkgd2lsbCBub3Qgd29yay5cclxuICAgIEBJbnB1dCgnbWRSaXBwbGVUcmlnZ2VyJykgdHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdGhlIHJpcHBsZSBhbHdheXMgb3JpZ2luYXRlcyBmcm9tIHRoZSBjZW50ZXIgb2YgdGhlIGhvc3QgZWxlbWVudCdzIGJvdW5kcywgcmF0aGVyXHJcbiAgICAgKiB0aGFuIG9yaWdpbmF0aW5nIGZyb20gdGhlIGxvY2F0aW9uIG9mIHRoZSBjbGljayBldmVudC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCdtZFJpcHBsZUNlbnRlcmVkJykgY2VudGVyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIGNsaWNrIGV2ZW50cyB3aWxsIG5vdCB0cmlnZ2VyIHRoZSByaXBwbGUuIEl0IGNhbiBzdGlsbCBiZSB0cmlnZ2VyZWQgYnkgbWFudWFsbHlcclxuICAgICAqIGNhbGxpbmcgY3JlYXRlUmlwcGxlKClcclxuICAgICAqL1xyXG4gICAgQElucHV0KCdtZFJpcHBsZURpc2FibGVkJykgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBzZXQsIHRoZSByYWRpdXMgaW4gcGl4ZWxzIG9mIGZvcmVncm91bmQgcmlwcGxlcyB3aGVuIGZ1bGx5IGV4cGFuZGVkLiBJZiB1bnNldCwgdGhlIHJhZGl1c1xyXG4gICAgICogd2lsbCBiZSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgY2VudGVyIG9mIHRoZSByaXBwbGUgdG8gdGhlIGZ1cnRoZXN0IGNvcm5lciBvZiB0aGUgaG9zdCBlbGVtZW50J3NcclxuICAgICAqIGJvdW5kaW5nIHJlY3RhbmdsZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCdtZFJpcHBsZVJhZGl1cycpIHJhZGl1czogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElmIHNldCwgdGhlIG5vcm1hbCBkdXJhdGlvbiBvZiByaXBwbGUgYW5pbWF0aW9ucyBpcyBkaXZpZGVkIGJ5IHRoaXMgdmFsdWUuIEZvciBleGFtcGxlLFxyXG4gICAgICogc2V0dGluZyBpdCB0byAwLjUgd2lsbCBjYXVzZSB0aGUgYW5pbWF0aW9ucyB0byB0YWtlIHR3aWNlIGFzIGxvbmcuXHJcbiAgICAgKiBBIGNoYW5nZWQgc3BlZWRGYWN0b3Igd2lsbCBub3QgbW9kaWZ5IHRoZSBmYWRlLW91dCBkdXJhdGlvbiBvZiB0aGUgcmlwcGxlcy5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCdtZFJpcHBsZVNwZWVkRmFjdG9yJykgc3BlZWRGYWN0b3I6IG51bWJlciA9IDE7XHJcblxyXG4gICAgLyoqIEN1c3RvbSBjb2xvciBmb3IgcmlwcGxlcy4gKi9cclxuICAgIEBJbnB1dCgnbWRSaXBwbGVDb2xvcicpIGNvbG9yOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFdoZXRoZXIgZm9yZWdyb3VuZCByaXBwbGVzIHNob3VsZCBiZSB2aXNpYmxlIG91dHNpZGUgdGhlIGNvbXBvbmVudCdzIGJvdW5kcy4gKi9cclxuICAgIEBJbnB1dCgnbWRSaXBwbGVVbmJvdW5kZWQnKSB1bmJvdW5kZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIFJlbmRlcmVyIGZvciB0aGUgcmlwcGxlIERPTSBtYW5pcHVsYXRpb25zLiAqL1xyXG4gICAgcHJpdmF0ZSBfcmlwcGxlUmVuZGVyZXI6IENvUmlwcGxlUmVuZGVyZXI7XHJcblxyXG4gICAgLyoqIE9wdGlvbnMgdGhhdCBhcmUgc2V0IGdsb2JhbGx5IGZvciBhbGwgcmlwcGxlcy4gKi9cclxuICAgIHByaXZhdGUgX2dsb2JhbE9wdGlvbnM6IENvUmlwcGxlR2xvYmFsT3B0aW9ucztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHJ1bGVyOiBDb1ZpZXdwb3J0UnVsZXJTZXJ2aWNlLFxyXG4gICAgICAgIC8vIFR5cGUgbmVlZHMgdG8gYmUgYGFueWAgYmVjYXVzZSBvZiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMjYzMVxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTURfUklQUExFX0dMT0JBTF9PUFRJT05TKSBnbG9iYWxPcHRpb25zOiBhbnlcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX3JpcHBsZVJlbmRlcmVyID0gbmV3IENvUmlwcGxlUmVuZGVyZXIoZWxlbWVudFJlZiwgbmdab25lLCBydWxlcik7XHJcbiAgICAgICAgdGhpcy5fZ2xvYmFsT3B0aW9ucyA9IGdsb2JhbE9wdGlvbnMgPyBnbG9iYWxPcHRpb25zIDoge307XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzWyd0cmlnZ2VyJ10gJiYgdGhpcy50cmlnZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JpcHBsZVJlbmRlcmVyLnNldFRyaWdnZXJFbGVtZW50KHRoaXMudHJpZ2dlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9yaXBwbGVSZW5kZXJlci5yaXBwbGVEaXNhYmxlZCA9IHRoaXMuX2dsb2JhbE9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZDtcclxuICAgICAgICB0aGlzLl9yaXBwbGVSZW5kZXJlci5yaXBwbGVDb25maWcgPSB0aGlzLnJpcHBsZUNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICAvLyBTZXQgdGhlIHRyaWdnZXIgZWxlbWVudCB0byBudWxsIHRvIGNsZWFudXAgYWxsIGxpc3RlbmVycy5cclxuICAgICAgICB0aGlzLl9yaXBwbGVSZW5kZXJlci5zZXRUcmlnZ2VyRWxlbWVudChudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogTGF1bmNoZXMgYSBtYW51YWwgcmlwcGxlIGF0IHRoZSBzcGVjaWZpZWQgcG9zaXRpb24uICovXHJcbiAgICBsYXVuY2gocGFnZVg6IG51bWJlciwgcGFnZVk6IG51bWJlciwgY29uZmlnOiBDb1JpcHBsZUNvbmZpZyA9IHRoaXMucmlwcGxlQ29uZmlnKTogQ29SaXBwbGVSZWYge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yaXBwbGVSZW5kZXJlci5mYWRlSW5SaXBwbGUocGFnZVgsIHBhZ2VZLCBjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBGYWRlcyBvdXQgYWxsIGN1cnJlbnRseSBzaG93aW5nIHJpcHBsZSBlbGVtZW50cy4gKi9cclxuICAgIGZhZGVPdXRBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZU91dEFsbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBSaXBwbGUgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBkaXJlY3RpdmUncyBpbnB1dCB2YWx1ZXMuICovXHJcbiAgICBnZXQgcmlwcGxlQ29uZmlnKCk6IENvUmlwcGxlQ29uZmlnIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjZW50ZXJlZDogdGhpcy5jZW50ZXJlZCxcclxuICAgICAgICAgICAgc3BlZWRGYWN0b3I6IHRoaXMuc3BlZWRGYWN0b3IgKiAodGhpcy5fZ2xvYmFsT3B0aW9ucy5iYXNlU3BlZWRGYWN0b3IgfHwgMSksXHJcbiAgICAgICAgICAgIHJhZGl1czogdGhpcy5yYWRpdXMsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { CoViewportRulerService } from "./viewport-ruler.service";
|
|
4
|
-
import { CoRippleDirective } from "./ripple.directive";
|
|
5
|
-
import { CoScrollableDirective } from "./scrollable.directive";
|
|
6
|
-
import { CoScrollDispatcherService } from "./scroll-dispatcher.service";
|
|
7
|
-
export class RippleModule {
|
|
8
|
-
}
|
|
9
|
-
RippleModule.decorators = [
|
|
10
|
-
{ type: NgModule, args: [{
|
|
11
|
-
declarations: [
|
|
12
|
-
CoRippleDirective,
|
|
13
|
-
CoScrollableDirective
|
|
14
|
-
],
|
|
15
|
-
providers: [
|
|
16
|
-
CoScrollDispatcherService,
|
|
17
|
-
CoViewportRulerService
|
|
18
|
-
],
|
|
19
|
-
exports: [
|
|
20
|
-
CoRippleDirective
|
|
21
|
-
]
|
|
22
|
-
},] }
|
|
23
|
-
];
|
|
1
|
+
// NOTE: Copied from iOneJS and adapted to CoreComponents on 9-may-2018.
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { CoViewportRulerService } from "./viewport-ruler.service";
|
|
4
|
+
import { CoRippleDirective } from "./ripple.directive";
|
|
5
|
+
import { CoScrollableDirective } from "./scrollable.directive";
|
|
6
|
+
import { CoScrollDispatcherService } from "./scroll-dispatcher.service";
|
|
7
|
+
export class RippleModule {
|
|
8
|
+
}
|
|
9
|
+
RippleModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
declarations: [
|
|
12
|
+
CoRippleDirective,
|
|
13
|
+
CoScrollableDirective
|
|
14
|
+
],
|
|
15
|
+
providers: [
|
|
16
|
+
CoScrollDispatcherService,
|
|
17
|
+
CoViewportRulerService
|
|
18
|
+
],
|
|
19
|
+
exports: [
|
|
20
|
+
CoRippleDirective
|
|
21
|
+
]
|
|
22
|
+
},] }
|
|
23
|
+
];
|
|
24
24
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9yaXBwbGUvcmlwcGxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RUFBd0U7QUFFeEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQWV0RSxNQUFNLE9BQU8sWUFBWTs7O1lBYnhCLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsaUJBQWlCO29CQUNqQixxQkFBcUI7aUJBQ3hCO2dCQUNELFNBQVMsRUFBRTtvQkFDUCx5QkFBeUI7b0JBQ3pCLHNCQUFzQjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGlCQUFpQjtpQkFDcEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIE5PVEU6IENvcGllZCBmcm9tIGlPbmVKUyBhbmQgYWRhcHRlZCB0byBDb3JlQ29tcG9uZW50cyBvbiA5LW1heS0yMDE4LlxyXG5cclxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7Q29WaWV3cG9ydFJ1bGVyU2VydmljZX0gZnJvbSBcIi4vdmlld3BvcnQtcnVsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvUmlwcGxlRGlyZWN0aXZlfSBmcm9tIFwiLi9yaXBwbGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Q29TY3JvbGxhYmxlRGlyZWN0aXZlfSBmcm9tIFwiLi9zY3JvbGxhYmxlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0NvU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2V9IGZyb20gXCIuL3Njcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2VcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBDb1JpcHBsZURpcmVjdGl2ZSxcclxuICAgICAgICBDb1Njcm9sbGFibGVEaXJlY3RpdmVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBDb1Njcm9sbERpc3BhdGNoZXJTZXJ2aWNlLFxyXG4gICAgICAgIENvVmlld3BvcnRSdWxlclNlcnZpY2VcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29SaXBwbGVEaXJlY3RpdmVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJpcHBsZU1vZHVsZSB7XHJcbn0iXX0=
|