ng-virtual-list 14.11.4 → 14.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -40
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +315 -0
- package/{esm2020 → esm2022}/lib/components/ng-list-item/base/index.mjs +2 -2
- package/esm2022/lib/components/ng-list-item/const/index.mjs +41 -0
- package/{esm2020 → esm2022}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -0
- package/esm2022/lib/components/ng-list-item/utils/create-display-id.mjs +10 -0
- package/esm2022/lib/components/ng-list-item/utils/get-element-by-index.mjs +20 -0
- package/esm2022/lib/components/ng-list-item/utils/index.mjs +5 -0
- package/esm2022/lib/components/ng-list-item/utils/matrix-3d.mjs +18 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +279 -0
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +142 -0
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/core/index.mjs +2 -2
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +198 -0
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/events/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +2 -2
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +93 -0
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/types/cache.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/ng-prerender-container/types/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +25 -0
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +36 -38
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +262 -0
- package/esm2022/lib/components/ng-scroll-view/const/index.mjs +9 -0
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +2 -2
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +859 -0
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +12 -0
- package/esm2022/lib/components/ng-scroll-view/utils/get-dir.mjs +10 -0
- package/esm2022/lib/components/ng-scroll-view/utils/index.mjs +6 -0
- package/esm2022/lib/components/ng-scroll-view/utils/matrix-3d.mjs +15 -0
- package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
- package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/ng-scroller/enums/scroller-directions.mjs +2 -2
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +525 -0
- package/{esm2020 → esm2022}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
- package/{esm2020 → esm2022}/lib/components/ng-scroller/utils/index.mjs +2 -2
- package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
- package/esm2022/lib/const/index.mjs +165 -0
- package/esm2022/lib/core/cache-map.mjs +101 -0
- package/esm2022/lib/core/const/index.mjs +3 -0
- package/esm2022/lib/core/enums/index.mjs +3 -0
- package/esm2022/lib/core/enums/item-display-methods.mjs +14 -0
- package/esm2022/lib/core/events/index.mjs +3 -0
- package/esm2022/lib/core/events/track-box-events.mjs +12 -0
- package/esm2022/lib/core/interfaces/get-item-position-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/get-metrics-returns.mjs +2 -0
- package/esm2022/lib/core/interfaces/index.mjs +2 -0
- package/esm2022/lib/core/interfaces/item.mjs +2 -0
- package/esm2022/lib/core/interfaces/metrics.mjs +2 -0
- package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-options.mjs +2 -0
- package/esm2022/lib/core/interfaces/update-collection-returns.mjs +2 -0
- package/esm2022/lib/core/track-box.mjs +1353 -0
- package/esm2022/lib/core/tracker.mjs +207 -0
- package/esm2022/lib/core/types/cache-map-events.mjs +2 -0
- package/esm2022/lib/core/types/cache-map-listeners.mjs +2 -0
- package/esm2022/lib/core/types/cache.mjs +2 -0
- package/esm2022/lib/core/types/index.mjs +2 -0
- package/esm2022/lib/core/types/on-change-event-listener.mjs +2 -0
- package/esm2022/lib/core/types/on-tick-event-listener.mjs +2 -0
- package/esm2022/lib/core/utils/get-service-id-prop.mjs +10 -0
- package/esm2022/lib/core/utils/index.mjs +3 -0
- package/esm2022/lib/directives/index.mjs +4 -0
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +68 -0
- package/{esm2020 → esm2022}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
- package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +67 -0
- package/esm2022/lib/directives/virtual-click/virtual-click.module.mjs +19 -0
- package/esm2022/lib/enums/alignments.mjs +12 -0
- package/esm2022/lib/enums/collapsing-modes.mjs +22 -0
- package/{esm2020 → esm2022}/lib/enums/collection-modes.mjs +17 -17
- package/{esm2020 → esm2022}/lib/enums/directions.mjs +17 -17
- package/{esm2020 → esm2022}/lib/enums/focus-alignments.mjs +13 -13
- package/esm2022/lib/enums/index.mjs +12 -0
- package/esm2022/lib/enums/selecting-modes-types.mjs +22 -0
- package/esm2022/lib/enums/selecting-modes.mjs +22 -0
- package/esm2022/lib/enums/snap-to-item-aligns.mjs +22 -0
- package/{esm2020 → esm2022}/lib/enums/snapping-methods.mjs +17 -17
- package/esm2022/lib/enums/spreading-modes.mjs +18 -0
- package/{esm2020 → esm2022}/lib/enums/text-directions.mjs +13 -13
- package/{esm2020 → esm2022}/lib/interfaces/animation-params.mjs +2 -2
- package/esm2022/lib/interfaces/base-virtual-list-item-component.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +2 -0
- package/esm2022/lib/interfaces/item-transformation.mjs +2 -0
- package/esm2022/lib/interfaces/point.mjs +2 -0
- package/{esm2020 → esm2022}/lib/interfaces/rect.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/render-stabilizer-options.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/scroll-event.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/scroll-options.mjs +2 -2
- package/esm2022/lib/interfaces/scroll-params.mjs +2 -0
- package/{esm2020 → esm2022}/lib/interfaces/scroll-to-params.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/scrolling-settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/interfaces/size.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/collection.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/component.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/display-object-config.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/display-object-measures.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/item-config-map.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/item.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/render-collection.model.mjs +2 -2
- package/esm2022/lib/models/render-item-config.model.mjs +2 -0
- package/esm2022/lib/models/render-item-measures.model.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/render-item.model.mjs +2 -2
- package/esm2022/lib/ng-virtual-list-public.service.mjs +120 -0
- package/esm2022/lib/ng-virtual-list.component.mjs +3246 -0
- package/{esm2020 → esm2022}/lib/ng-virtual-list.module.mjs +23 -23
- package/esm2022/lib/ng-virtual-list.service.mjs +431 -0
- package/esm2022/lib/transformations/deck-of-cards-3d.mjs +57 -0
- package/esm2022/lib/transformations/deck-of-cards.mjs +54 -0
- package/esm2022/lib/transformations/event-horizon.mjs +47 -0
- package/esm2022/lib/transformations/index.mjs +13 -0
- package/esm2022/lib/transformations/linear.mjs +47 -0
- package/esm2022/lib/transformations/swipe-3d.mjs +51 -0
- package/esm2022/lib/types/alignment.mjs +2 -0
- package/esm2022/lib/types/arithmetic-expression.mjs +2 -0
- package/esm2022/lib/types/collapsing-mode.mjs +2 -0
- package/esm2022/lib/types/collection-mode.mjs +2 -0
- package/esm2022/lib/types/color.mjs +2 -0
- package/esm2022/lib/types/direction.mjs +2 -0
- package/esm2022/lib/types/float-or-persentage-value.mjs +2 -0
- package/{esm2020 → esm2022}/lib/types/focus-alignment.mjs +1 -1
- package/{esm2020 → esm2022}/lib/types/focus-item-params.mjs +2 -2
- package/{esm2020 → esm2022}/lib/types/gradient-color-position.mjs +2 -2
- package/{esm2020 → esm2022}/lib/types/gradient-color-positions.mjs +1 -1
- package/{esm2020 → esm2022}/lib/types/id.mjs +1 -1
- package/esm2022/lib/types/index.mjs +2 -0
- package/esm2022/lib/types/item-transform.mjs +2 -0
- package/{esm2020 → esm2022}/lib/types/scroll-direction.mjs +2 -2
- package/esm2022/lib/types/selecting-mode.mjs +2 -0
- package/esm2022/lib/types/snap-to-item-align.mjs +2 -0
- package/esm2022/lib/types/snapping-distance.mjs +2 -0
- package/esm2022/lib/types/snapping-method.mjs +2 -0
- package/esm2022/lib/types/spreading-mode.mjs +2 -0
- package/esm2022/lib/types/text-direction.mjs +2 -0
- package/esm2022/lib/utils/animator/animator.mjs +78 -0
- package/esm2022/lib/utils/animator/const/index.mjs +2 -0
- package/esm2022/lib/utils/animator/ease.mjs +7 -0
- package/esm2022/lib/utils/animator/index.mjs +5 -0
- package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
- package/esm2022/lib/utils/animator/interfaces/index.mjs +2 -0
- package/esm2022/lib/utils/animator/types/easing.mjs +2 -0
- package/{esm2020 → esm2022}/lib/utils/animator/types/index.mjs +1 -1
- package/esm2022/lib/utils/buffer-interpolation.mjs +29 -0
- package/esm2022/lib/utils/cmap.mjs +34 -0
- package/esm2022/lib/utils/debounce.mjs +61 -0
- package/esm2022/lib/utils/disposable-component.mjs +27 -0
- package/esm2022/lib/utils/event-emitter/event-emitter.mjs +105 -0
- package/{esm2020 → esm2022}/lib/utils/event-emitter/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/event-emitter/interfaces/event-emitter.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
- package/esm2022/lib/utils/get-scroll-state-version.mjs +12 -0
- package/{esm2020 → esm2022}/lib/utils/get-selector-by-item-id.mjs +4 -4
- package/{esm2020 → esm2022}/lib/utils/index.mjs +4 -4
- package/esm2022/lib/utils/is-collapse-mode.mjs +18 -0
- package/esm2022/lib/utils/is-collection-mode.mjs +15 -0
- package/esm2022/lib/utils/is-direction.mjs +15 -0
- package/esm2022/lib/utils/is-persentage-value.mjs +14 -0
- package/esm2022/lib/utils/is-select-mode.mjs +18 -0
- package/esm2022/lib/utils/is-spreading-mode.mjs +15 -0
- package/esm2022/lib/utils/list-validators.mjs +27 -0
- package/esm2022/lib/utils/normalize-collection.mjs +42 -0
- package/esm2022/lib/utils/object.mjs +28 -0
- package/esm2022/lib/utils/parse-arithmetic-expression.mjs +53 -0
- package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +17 -0
- package/esm2022/lib/utils/screen-reader-formatter.mjs +43 -0
- package/esm2022/lib/utils/scroll-event.mjs +48 -0
- package/esm2022/lib/utils/scrolling-direction.mjs +29 -0
- package/esm2022/lib/utils/snapping-method.mjs +9 -0
- package/esm2022/lib/utils/toggle-class-name.mjs +15 -0
- package/{esm2020 → esm2022}/lib/utils/validation.mjs +55 -55
- package/{esm2020 → esm2022}/ng-virtual-list.mjs +4 -4
- package/esm2022/public-api.mjs +20 -0
- package/fesm2022/ng-virtual-list.mjs +10669 -0
- package/fesm2022/ng-virtual-list.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/ng-list-item/base/base-virtual-list-item-component.d.ts +83 -68
- package/lib/components/ng-list-item/base/index.d.ts +2 -2
- package/lib/components/ng-list-item/const/index.d.ts +3 -3
- package/lib/components/ng-list-item/interfaces/index.d.ts +2 -2
- package/lib/components/ng-list-item/interfaces/template-context.d.ts +42 -42
- package/lib/components/ng-list-item/ng-virtual-list-item.component.d.ts +30 -30
- package/lib/components/ng-list-item/ng-virtual-list-item.module.d.ts +9 -9
- package/lib/components/ng-list-item/utils/create-display-id.d.ts +7 -1
- package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -1
- package/lib/components/ng-list-item/utils/index.d.ts +4 -3
- package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -100
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.d.ts +10 -10
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.d.ts +17 -17
- package/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.d.ts +62 -62
- package/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/core/index.d.ts +2 -2
- package/lib/components/ng-prerender-container/core/prerender-track-box.d.ts +35 -35
- package/lib/components/ng-prerender-container/events/index.d.ts +6 -6
- package/lib/components/ng-prerender-container/interfaces/index.d.ts +2 -2
- package/lib/components/ng-prerender-container/interfaces/refresh-params.d.ts +17 -16
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -39
- package/lib/components/ng-prerender-container/ng-prerender-container.module.d.ts +9 -9
- package/lib/components/ng-prerender-container/types/cache.d.ts +13 -13
- package/lib/components/ng-prerender-container/types/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/const/index.d.ts +3 -3
- package/lib/components/ng-scroll-bar/enums/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/enums/scrollbar-states.d.ts +5 -5
- package/lib/components/ng-scroll-bar/interfaces/index.d.ts +3 -3
- package/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.d.ts +26 -26
- package/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.d.ts +13 -13
- package/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.d.ts +16 -16
- package/lib/components/ng-scroll-bar/ng-scroll-bar.component.d.ts +102 -97
- package/lib/components/ng-scroll-bar/ng-scroll-bar.module.d.ts +8 -8
- package/lib/components/ng-scroll-bar/ng-scroll-bar.service.d.ts +22 -22
- package/lib/components/ng-scroll-bar/types/index.d.ts +2 -2
- package/lib/components/ng-scroll-bar/types/scrollbar-state.d.ts +2 -2
- package/lib/components/ng-scroll-view/base/base-scroll-view.component.d.ts +89 -69
- package/lib/components/ng-scroll-view/const/index.d.ts +7 -5
- package/lib/components/ng-scroll-view/enums/index.d.ts +4 -4
- package/lib/components/ng-scroll-view/enums/scroller-direction.d.ts +10 -10
- package/lib/components/ng-scroll-view/enums/scroller-directions.d.ts +8 -8
- package/lib/components/ng-scroll-view/index.d.ts +5 -5
- package/lib/components/ng-scroll-view/interfaces/index.d.ts +2 -2
- package/lib/components/ng-scroll-view/interfaces/scroll-to-params.d.ts +22 -19
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -66
- package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +7 -4
- package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/index.d.ts +5 -3
- package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -0
- package/lib/components/ng-scroll-view/utils/scroll-box.d.ts +39 -39
- package/lib/components/ng-scroller/enums/index.d.ts +4 -4
- package/lib/components/ng-scroller/enums/scroller-direction.d.ts +4 -4
- package/lib/components/ng-scroller/enums/scroller-directions.d.ts +3 -2
- package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -150
- package/lib/components/ng-scroller/ng-scroller.module.d.ts +11 -11
- package/lib/components/ng-scroller/utils/index.d.ts +2 -2
- package/lib/components/ng-scroller/utils/scroll-box.d.ts +40 -40
- package/lib/const/index.d.ts +153 -112
- package/lib/core/cache-map.d.ts +46 -56
- package/lib/core/const/index.d.ts +1 -0
- package/lib/core/enums/index.d.ts +2 -0
- package/lib/core/enums/item-display-methods.d.ts +12 -0
- package/lib/core/events/index.d.ts +2 -0
- package/lib/core/events/track-box-events.d.ts +10 -0
- package/lib/core/interfaces/get-item-position-options.d.ts +10 -0
- package/lib/core/interfaces/get-metrics-returns.d.ts +11 -0
- package/lib/core/interfaces/index.d.ts +8 -0
- package/lib/core/interfaces/item.d.ts +9 -0
- package/lib/core/interfaces/metrics.d.ts +51 -0
- package/lib/core/interfaces/recalculate-metrics-options.d.ts +32 -0
- package/lib/core/interfaces/update-collection-options.d.ts +10 -0
- package/lib/core/interfaces/update-collection-returns.d.ts +14 -0
- package/lib/core/track-box.d.ts +153 -223
- package/lib/core/tracker.d.ts +55 -55
- package/lib/core/types/cache-map-events.d.ts +8 -0
- package/lib/core/types/cache-map-listeners.d.ts +9 -0
- package/lib/core/types/cache.d.ts +12 -0
- package/lib/core/types/index.d.ts +6 -0
- package/lib/core/types/on-change-event-listener.d.ts +7 -0
- package/lib/core/types/on-tick-event-listener.d.ts +7 -0
- package/lib/core/utils/get-service-id-prop.d.ts +7 -0
- package/lib/core/utils/index.d.ts +2 -0
- package/lib/directives/index.d.ts +3 -3
- package/lib/directives/locale-sensitive/locale-sensitive.directive.d.ts +29 -29
- package/lib/directives/locale-sensitive/locale-sensitive.module.d.ts +8 -8
- package/lib/directives/{item-click/item-click.directive.d.ts → virtual-click/virtual-click.directive.d.ts} +22 -22
- package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -0
- package/lib/enums/alignments.d.ts +10 -0
- package/lib/enums/collapsing-modes.d.ts +20 -0
- package/lib/enums/collection-modes.d.ts +16 -16
- package/lib/enums/directions.d.ts +16 -16
- package/lib/enums/focus-alignments.d.ts +12 -12
- package/lib/enums/index.d.ts +11 -13
- package/lib/enums/{method-for-selecting-types.d.ts → selecting-modes-types.d.ts} +20 -20
- package/lib/enums/{methods-for-selecting.d.ts → selecting-modes.d.ts} +20 -20
- package/lib/enums/snap-to-item-aligns.d.ts +20 -0
- package/lib/enums/snapping-methods.d.ts +16 -16
- package/lib/enums/spreading-modes.d.ts +16 -0
- package/lib/enums/text-directions.d.ts +12 -12
- package/lib/interfaces/animation-params.d.ts +14 -13
- package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
- package/lib/interfaces/index.d.ts +11 -10
- package/lib/interfaces/item-transformation.d.ts +22 -0
- package/lib/interfaces/point.d.ts +16 -0
- package/lib/interfaces/rect.d.ts +17 -17
- package/lib/interfaces/render-stabilizer-options.d.ts +12 -12
- package/lib/interfaces/scroll-event.d.ts +58 -58
- package/lib/interfaces/scroll-options.d.ts +28 -24
- package/lib/interfaces/scroll-params.d.ts +17 -16
- package/lib/interfaces/scroll-to-params.d.ts +7 -7
- package/lib/interfaces/scrolling-settings.d.ts +38 -38
- package/lib/interfaces/size.d.ts +16 -16
- package/lib/models/collection.model.d.ts +9 -9
- package/lib/models/component.model.d.ts +3 -3
- package/lib/models/display-object-config.model.d.ts +21 -21
- package/lib/models/display-object-measures.model.d.ts +45 -45
- package/lib/models/index.d.ts +9 -9
- package/lib/models/item-config-map.model.d.ts +35 -30
- package/lib/models/item.model.d.ts +17 -10
- package/lib/models/render-collection.model.d.ts +9 -9
- package/lib/models/render-item-config.model.d.ts +119 -69
- package/lib/models/render-item-measures.model.d.ts +116 -45
- package/lib/models/render-item.model.d.ts +40 -40
- package/lib/ng-virtual-list-public.service.d.ts +92 -93
- package/lib/ng-virtual-list.component.d.ts +770 -572
- package/lib/ng-virtual-list.module.d.ts +12 -12
- package/lib/ng-virtual-list.service.d.ts +153 -135
- package/lib/transformations/deck-of-cards-3d.d.ts +54 -0
- package/lib/transformations/deck-of-cards.d.ts +50 -0
- package/lib/transformations/event-horizon.d.ts +26 -0
- package/lib/transformations/index.d.ts +7 -0
- package/lib/transformations/linear.d.ts +26 -0
- package/lib/transformations/swipe-3d.d.ts +38 -0
- package/lib/types/alignment.d.ts +8 -0
- package/lib/types/arithmetic-expression.d.ts +10 -0
- package/lib/types/collapsing-mode.d.ts +8 -0
- package/lib/{enums → types}/collection-mode.d.ts +8 -8
- package/lib/types/color.d.ts +4 -0
- package/lib/{enums → types}/direction.d.ts +8 -8
- package/lib/types/float-or-persentage-value.d.ts +7 -0
- package/lib/types/focus-alignment.d.ts +8 -8
- package/lib/types/focus-item-params.d.ts +13 -7
- package/lib/types/gradient-color-position.d.ts +7 -7
- package/lib/types/gradient-color-positions.d.ts +8 -8
- package/lib/types/id.d.ts +7 -7
- package/lib/types/index.d.ts +20 -6
- package/lib/types/item-transform.d.ts +9 -0
- package/lib/types/scroll-direction.d.ts +8 -6
- package/lib/types/selecting-mode.d.ts +8 -0
- package/lib/types/snap-to-item-align.d.ts +8 -0
- package/lib/types/snapping-distance.d.ts +8 -0
- package/lib/{enums → types}/snapping-method.d.ts +10 -10
- package/lib/types/spreading-mode.d.ts +8 -0
- package/lib/{enums → types}/text-direction.d.ts +10 -10
- package/lib/utils/animator/animator.d.ts +16 -23
- package/lib/utils/animator/const/index.d.ts +1 -0
- package/lib/utils/animator/ease.d.ts +2 -14
- package/lib/utils/animator/index.d.ts +6 -5
- package/lib/utils/animator/interfaces/animator-params.d.ts +18 -0
- package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -0
- package/lib/utils/animator/interfaces/index.d.ts +3 -0
- package/lib/utils/animator/types/easing.d.ts +7 -7
- package/lib/utils/animator/types/index.d.ts +2 -2
- package/lib/utils/buffer-interpolation.d.ts +5 -5
- package/lib/utils/cmap.d.ts +16 -16
- package/lib/utils/debounce.d.ts +25 -25
- package/lib/utils/disposable-component.d.ts +15 -15
- package/lib/utils/event-emitter/event-emitter.d.ts +42 -42
- package/lib/utils/event-emitter/index.d.ts +4 -4
- package/lib/utils/event-emitter/interfaces/event-emitter.d.ts +37 -37
- package/lib/utils/event-emitter/interfaces/index.d.ts +2 -2
- package/lib/utils/get-scroll-state-version.d.ts +1 -0
- package/lib/utils/get-selector-by-item-id.d.ts +2 -2
- package/lib/utils/index.d.ts +6 -6
- package/lib/utils/is-collapse-mode.d.ts +8 -0
- package/lib/utils/is-collection-mode.d.ts +8 -8
- package/lib/utils/is-direction.d.ts +8 -8
- package/lib/utils/is-persentage-value.d.ts +7 -0
- package/lib/utils/is-select-mode.d.ts +8 -0
- package/lib/utils/is-spreading-mode.d.ts +8 -0
- package/lib/utils/list-validators.d.ts +2 -2
- package/lib/utils/normalize-collection.d.ts +8 -0
- package/lib/utils/object.d.ts +4 -4
- package/lib/utils/parse-arithmetic-expression.d.ts +8 -0
- package/lib/utils/parse-float-or-persentage-value.d.ts +7 -0
- package/lib/utils/screen-reader-formatter.d.ts +4 -7
- package/lib/utils/scroll-event.d.ts +48 -48
- package/lib/utils/scrolling-direction.d.ts +17 -0
- package/lib/utils/snapping-method.d.ts +3 -3
- package/lib/utils/toggle-class-name.d.ts +7 -7
- package/lib/utils/validation.d.ts +35 -35
- package/package.json +5 -11
- package/public-api.d.ts +16 -13
- package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -209
- package/esm2020/lib/components/ng-list-item/const/index.mjs +0 -30
- package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -207
- package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +0 -20
- package/esm2020/lib/components/ng-list-item/utils/create-display-id.mjs +0 -4
- package/esm2020/lib/components/ng-list-item/utils/get-element-by-index.mjs +0 -6
- package/esm2020/lib/components/ng-list-item/utils/index.mjs +0 -4
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -268
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -78
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +0 -20
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -139
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +0 -20
- package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -171
- package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -89
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -27
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -282
- package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -173
- package/esm2020/lib/components/ng-scroll-view/const/index.mjs +0 -7
- package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -376
- package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -11
- package/esm2020/lib/components/ng-scroll-view/utils/index.mjs +0 -4
- package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
- package/esm2020/lib/components/ng-scroller/const/index.mjs +0 -2
- package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +0 -448
- package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
- package/esm2020/lib/const/index.mjs +0 -125
- package/esm2020/lib/core/cache-map.mjs +0 -153
- package/esm2020/lib/core/track-box.mjs +0 -937
- package/esm2020/lib/core/tracker.mjs +0 -200
- package/esm2020/lib/directives/index.mjs +0 -4
- package/esm2020/lib/directives/item-click/item-click.directive.mjs +0 -65
- package/esm2020/lib/directives/item-click/item-click.module.mjs +0 -19
- package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -66
- package/esm2020/lib/enums/collection-mode.mjs +0 -2
- package/esm2020/lib/enums/direction.mjs +0 -2
- package/esm2020/lib/enums/index.mjs +0 -8
- package/esm2020/lib/enums/method-for-selecting-types.mjs +0 -22
- package/esm2020/lib/enums/method-for-selecting.mjs +0 -2
- package/esm2020/lib/enums/methods-for-selecting.mjs +0 -22
- package/esm2020/lib/enums/snapping-method.mjs +0 -2
- package/esm2020/lib/enums/text-direction.mjs +0 -2
- package/esm2020/lib/interfaces/base-virtual-list-item-component.mjs +0 -9
- package/esm2020/lib/interfaces/index.mjs +0 -2
- package/esm2020/lib/interfaces/scroll-params.mjs +0 -2
- package/esm2020/lib/models/render-item-config.model.mjs +0 -2
- package/esm2020/lib/models/render-item-measures.model.mjs +0 -3
- package/esm2020/lib/ng-virtual-list-public.service.mjs +0 -123
- package/esm2020/lib/ng-virtual-list.component.mjs +0 -2535
- package/esm2020/lib/ng-virtual-list.service.mjs +0 -375
- package/esm2020/lib/types/index.mjs +0 -2
- package/esm2020/lib/utils/animator/animator.mjs +0 -60
- package/esm2020/lib/utils/animator/ease.mjs +0 -19
- package/esm2020/lib/utils/animator/index.mjs +0 -4
- package/esm2020/lib/utils/animator/types/easing.mjs +0 -2
- package/esm2020/lib/utils/buffer-interpolation.mjs +0 -29
- package/esm2020/lib/utils/cmap.mjs +0 -34
- package/esm2020/lib/utils/debounce.mjs +0 -61
- package/esm2020/lib/utils/disposable-component.mjs +0 -29
- package/esm2020/lib/utils/event-emitter/event-emitter.mjs +0 -106
- package/esm2020/lib/utils/is-collection-mode.mjs +0 -15
- package/esm2020/lib/utils/is-direction.mjs +0 -15
- package/esm2020/lib/utils/is-method-for-selecting.mjs +0 -18
- package/esm2020/lib/utils/list-validators.mjs +0 -27
- package/esm2020/lib/utils/object.mjs +0 -28
- package/esm2020/lib/utils/screen-reader-formatter.mjs +0 -43
- package/esm2020/lib/utils/scroll-event.mjs +0 -46
- package/esm2020/lib/utils/snapping-method.mjs +0 -9
- package/esm2020/lib/utils/toggle-class-name.mjs +0 -15
- package/esm2020/public-api.mjs +0 -17
- package/fesm2015/ng-virtual-list.mjs +0 -8048
- package/fesm2015/ng-virtual-list.mjs.map +0 -1
- package/fesm2020/ng-virtual-list.mjs +0 -8011
- package/fesm2020/ng-virtual-list.mjs.map +0 -1
- package/lib/components/ng-scroller/const/index.d.ts +0 -1
- package/lib/directives/item-click/item-click.module.d.ts +0 -8
- package/lib/enums/method-for-selecting.d.ts +0 -8
- package/lib/utils/is-method-for-selecting.d.ts +0 -8
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgScrollBarComponent } from './ng-scroll-bar.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class NgScrollBarModule {
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
declarations: [NgScrollBarComponent],
|
|
14
|
-
exports: [NgScrollBarComponent],
|
|
15
|
-
imports: [CommonModule],
|
|
16
|
-
schemas: [NO_ERRORS_SCHEMA],
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgScrollBarComponent } from './ng-scroll-bar.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NgScrollBarModule {
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarModule, declarations: [NgScrollBarComponent], imports: [CommonModule], exports: [NgScrollBarComponent] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarModule, imports: [CommonModule] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [NgScrollBarComponent],
|
|
14
|
+
exports: [NgScrollBarComponent],
|
|
15
|
+
imports: [CommonModule],
|
|
16
|
+
schemas: [NO_ERRORS_SCHEMA],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2Nyb2xsLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC1iYXIvbmctc2Nyb2xsLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBUWpFLE1BQU0sT0FBTyxpQkFBaUI7d0dBQWpCLGlCQUFpQjt5R0FBakIsaUJBQWlCLGlCQUxiLG9CQUFvQixhQUV6QixZQUFZLGFBRFosb0JBQW9CO3lHQUluQixpQkFBaUIsWUFIbEIsWUFBWTs7NEZBR1gsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTk9fRVJST1JTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ1Njcm9sbEJhckNvbXBvbmVudCB9IGZyb20gJy4vbmctc2Nyb2xsLWJhci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1Njcm9sbEJhckNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05nU2Nyb2xsQmFyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1Njcm9sbEJhck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
-
import { ScrollbarStates } from './enums';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* NgScrollBarService
|
|
7
|
-
* Maximum performance for extremely large lists.
|
|
8
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
9
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-bar/ng-scroll-bar.service.ts
|
|
10
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
11
|
-
* @email djonnyx@gmail.com
|
|
12
|
-
*/
|
|
13
|
-
export class NgScrollBarService {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2Nyb2xsLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL25nLXNjcm9sbC1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRTFDOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVUsWUFBTyxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO1FBQ2xELFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBaUIsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBWS9DO0lBVkMsSUFBSSxLQUFLLENBQUMsQ0FBaUI7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFDRCxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLEtBQUssQ0FBQyxLQUFnQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOzsrR0FoQlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyU3RhdGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcblxyXG4vKipcclxuICogTmdTY3JvbGxCYXJTZXJ2aWNlXHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL25nLXNjcm9sbC1iYXIuc2VydmljZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nU2Nyb2xsQmFyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfJGNsaWNrID0gbmV3IFN1YmplY3Q8UG9pbnRlckV2ZW50IHwgTW91c2VFdmVudD4oKTtcclxuICByZWFkb25seSAkY2xpY2sgPSB0aGlzLl8kY2xpY2suYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgXyRzdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2Nyb2xsYmFyU3RhdGU+KFNjcm9sbGJhclN0YXRlcy5OT1JNQUwpO1xyXG4gIHJlYWRvbmx5ICRzdGF0ZSA9IHRoaXMuXyRzdGF0ZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2V0IHN0YXRlKHY6IFNjcm9sbGJhclN0YXRlKSB7XHJcbiAgICBpZiAodGhpcy5fJHN0YXRlLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgdGhpcy5fJHN0YXRlLm5leHQodik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBzdGF0ZSgpIHsgcmV0dXJuIHRoaXMuXyRzdGF0ZS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gIGNsaWNrKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl8kY2xpY2submV4dChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { ScrollbarStates } from './enums';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* NgScrollBarService
|
|
7
|
+
* Maximum performance for extremely large lists.
|
|
8
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
9
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-bar/ng-scroll-bar.service.ts
|
|
10
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
11
|
+
* @email djonnyx@gmail.com
|
|
12
|
+
*/
|
|
13
|
+
export class NgScrollBarService {
|
|
14
|
+
_$click = new Subject();
|
|
15
|
+
$click = this._$click.asObservable();
|
|
16
|
+
_$state = new BehaviorSubject(ScrollbarStates.NORMAL);
|
|
17
|
+
$state = this._$state.asObservable();
|
|
18
|
+
set state(v) {
|
|
19
|
+
if (this._$state.getValue() !== v) {
|
|
20
|
+
this._$state.next(v);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
get state() { return this._$state.getValue(); }
|
|
24
|
+
click(event) {
|
|
25
|
+
this._$click.next(event);
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarService, providedIn: 'root' });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgScrollBarService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{
|
|
33
|
+
providedIn: 'root'
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2Nyb2xsLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL25nLXNjcm9sbC1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRTFDOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUNsRCxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV0QyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQWlCLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU5QyxJQUFJLEtBQUssQ0FBQyxDQUFpQjtRQUN6QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLEtBQUssQ0FBQyxLQUFnQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQWhCVSxrQkFBa0I7NEdBQWxCLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyU3RhdGUgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyU3RhdGVzIH0gZnJvbSAnLi9lbnVtcyc7XHJcblxyXG4vKipcclxuICogTmdTY3JvbGxCYXJTZXJ2aWNlXHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL25nLXNjcm9sbC1iYXIuc2VydmljZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nU2Nyb2xsQmFyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfJGNsaWNrID0gbmV3IFN1YmplY3Q8UG9pbnRlckV2ZW50IHwgTW91c2VFdmVudD4oKTtcclxuICByZWFkb25seSAkY2xpY2sgPSB0aGlzLl8kY2xpY2suYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgXyRzdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2Nyb2xsYmFyU3RhdGU+KFNjcm9sbGJhclN0YXRlcy5OT1JNQUwpO1xyXG4gIHJlYWRvbmx5ICRzdGF0ZSA9IHRoaXMuXyRzdGF0ZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2V0IHN0YXRlKHY6IFNjcm9sbGJhclN0YXRlKSB7XHJcbiAgICBpZiAodGhpcy5fJHN0YXRlLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgdGhpcy5fJHN0YXRlLm5leHQodik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBzdGF0ZSgpIHsgcmV0dXJuIHRoaXMuXyRzdGF0ZS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gIGNsaWNrKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl8kY2xpY2submV4dChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC1iYXIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGJhclN0YXRlIH0gZnJvbSAnLi9zY3JvbGxiYXItc3RhdGUnO1xyXG5cclxuZXhwb3J0IHR5cGUge1xyXG4gICAgU2Nyb2xsYmFyU3RhdGUsXHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtYmFyL3R5cGVzL3Njcm9sbGJhci1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsYmFyU3RhdGVzIH0gZnJvbSBcIi4uL2VudW1zXCI7XHJcblxyXG5leHBvcnQgdHlwZSBTY3JvbGxiYXJTdGF0ZSA9IFNjcm9sbGJhclN0YXRlcztcclxuIl19
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { Component, inject, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, distinctUntilChanged, Subject, takeUntil, tap } from 'rxjs';
|
|
3
|
+
import { ScrollerDirection } from '../enums';
|
|
4
|
+
import { SCROLL_VIEW_INVERSION, SCROLL_VIEW_OVERSCROLL_ENABLED } from '../const';
|
|
5
|
+
import { DisposableComponent } from '../../../utils/disposable-component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* BaseScrollView
|
|
9
|
+
* Maximum performance for extremely large lists.
|
|
10
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
11
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-view/base/base-scroll-view.component.ts
|
|
12
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
13
|
+
* @email djonnyx@gmail.com
|
|
14
|
+
*/
|
|
15
|
+
export class BaseScrollView extends DisposableComponent {
|
|
16
|
+
scrollContent;
|
|
17
|
+
scrollViewport;
|
|
18
|
+
_$direction = new BehaviorSubject(ScrollerDirection.VERTICAL);
|
|
19
|
+
$direction = this._$direction.asObservable();
|
|
20
|
+
set direction(v) {
|
|
21
|
+
if (this._$direction.getValue() !== v) {
|
|
22
|
+
this._$direction.next(v);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
get direction() { return this._$direction.getValue(); }
|
|
26
|
+
_$startOffset = new BehaviorSubject(0);
|
|
27
|
+
$startOffset = this._$startOffset.asObservable();
|
|
28
|
+
set startOffset(v) {
|
|
29
|
+
if (this._$startOffset.getValue() !== v) {
|
|
30
|
+
this._$startOffset.next(v);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get startOffset() { return this._$startOffset.getValue(); }
|
|
34
|
+
_$endOffset = new BehaviorSubject(0);
|
|
35
|
+
$endOffset = this._$endOffset.asObservable();
|
|
36
|
+
set endOffset(v) {
|
|
37
|
+
if (this._$endOffset.getValue() !== v) {
|
|
38
|
+
this._$endOffset.next(v);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get endOffset() { return this._$endOffset.getValue(); }
|
|
42
|
+
_$alignmentStartOffset = new BehaviorSubject(0);
|
|
43
|
+
$alignmentStartOffset = this._$alignmentStartOffset.asObservable();
|
|
44
|
+
set alignmentStartOffset(v) {
|
|
45
|
+
if (this._$alignmentStartOffset.getValue() !== v) {
|
|
46
|
+
this._$alignmentStartOffset.next(v);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
get alignmentStartOffset() { return this._$alignmentStartOffset.getValue(); }
|
|
50
|
+
_$alignmentEndOffset = new BehaviorSubject(0);
|
|
51
|
+
$alignmentEndOffset = this._$alignmentEndOffset.asObservable();
|
|
52
|
+
set alignmentEndOffset(v) {
|
|
53
|
+
if (this._$alignmentEndOffset.getValue() !== v) {
|
|
54
|
+
this._$alignmentEndOffset.next(v);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
get alignmentEndOffset() { return this._$alignmentEndOffset.getValue(); }
|
|
58
|
+
_$isInfinity = new BehaviorSubject(false);
|
|
59
|
+
$isInfinity = this._$isInfinity.asObservable();
|
|
60
|
+
set isInfinity(v) {
|
|
61
|
+
if (this._$isInfinity.getValue() !== v) {
|
|
62
|
+
this._$isInfinity.next(v);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
get isInfinity() { return this._$isInfinity.getValue(); }
|
|
66
|
+
_$isVertical = new BehaviorSubject(true);
|
|
67
|
+
$isVertical = this._$isVertical.asObservable();
|
|
68
|
+
_$grabbing = new BehaviorSubject(false);
|
|
69
|
+
$grabbing = this._$grabbing.asObservable();
|
|
70
|
+
_inversion = inject(SCROLL_VIEW_INVERSION);
|
|
71
|
+
_overscrollEnabled = inject(SCROLL_VIEW_OVERSCROLL_ENABLED);
|
|
72
|
+
_$updateScrollBar = new Subject();
|
|
73
|
+
$updateScrollBar = this._$updateScrollBar.asObservable();
|
|
74
|
+
get scrollable() {
|
|
75
|
+
const { width, height } = this._$viewportBounds.getValue(), isVertical = this._$isVertical.getValue(), viewportSize = isVertical ? height : width, totalSize = this._totalSize;
|
|
76
|
+
return this._inversion ? (totalSize < viewportSize) : (totalSize > viewportSize);
|
|
77
|
+
}
|
|
78
|
+
_isMoving = false;
|
|
79
|
+
get isMoving() {
|
|
80
|
+
return this._isMoving;
|
|
81
|
+
}
|
|
82
|
+
_x = 0;
|
|
83
|
+
set x(v) {
|
|
84
|
+
this._x = this._actualX = v;
|
|
85
|
+
this.normalizeScrollSize();
|
|
86
|
+
}
|
|
87
|
+
get x() { return this._x; }
|
|
88
|
+
_y = 0;
|
|
89
|
+
set y(v) {
|
|
90
|
+
this._y = this._actualY = v;
|
|
91
|
+
this.normalizeScrollSize();
|
|
92
|
+
}
|
|
93
|
+
get y() { return this._y; }
|
|
94
|
+
_actualTotalSize = 0;
|
|
95
|
+
_totalSize = 0;
|
|
96
|
+
set totalSize(v) {
|
|
97
|
+
if (this._totalSize !== v) {
|
|
98
|
+
this._totalSize = v;
|
|
99
|
+
const startOffset = this._$startOffset.getValue(), endOffset = this._$alignmentEndOffset.getValue();
|
|
100
|
+
this._actualTotalSize = v + startOffset + endOffset;
|
|
101
|
+
this.normalizeScrollSize();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
get totalSize() {
|
|
105
|
+
return this._totalSize;
|
|
106
|
+
}
|
|
107
|
+
_startLayoutOffset = 0;
|
|
108
|
+
set startLayoutOffset(v) {
|
|
109
|
+
if (this._startLayoutOffset !== v) {
|
|
110
|
+
this._startLayoutOffset = v;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
get startLayoutOffset() { return this._startLayoutOffset; }
|
|
114
|
+
get actualScrollHeight() {
|
|
115
|
+
const { height: viewportHeight } = this._$viewportBounds.getValue(), totalSize = this._actualTotalSize, isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue();
|
|
116
|
+
if (this._inversion) {
|
|
117
|
+
return totalSize > viewportHeight ? isVertical ? endOffset : 0 : viewportHeight - totalSize;
|
|
118
|
+
}
|
|
119
|
+
return totalSize < viewportHeight ? isVertical ? startOffset : 0 : totalSize - viewportHeight;
|
|
120
|
+
}
|
|
121
|
+
get actualScrollWidth() {
|
|
122
|
+
const { width: viewportWidth } = this._$viewportBounds.getValue(), totalSize = this._actualTotalSize, isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue();
|
|
123
|
+
if (this._inversion) {
|
|
124
|
+
return totalSize > viewportWidth ? isVertical ? 0 : endOffset : viewportWidth - totalSize;
|
|
125
|
+
}
|
|
126
|
+
return totalSize < viewportWidth ? isVertical ? 0 : startOffset : totalSize - viewportWidth;
|
|
127
|
+
}
|
|
128
|
+
_actualX = 0;
|
|
129
|
+
get actualScrollLeft() {
|
|
130
|
+
return this._actualX;
|
|
131
|
+
}
|
|
132
|
+
_actualY = 0;
|
|
133
|
+
get actualScrollTop() {
|
|
134
|
+
return this._actualY;
|
|
135
|
+
}
|
|
136
|
+
get scrollLeft() {
|
|
137
|
+
return this._x;
|
|
138
|
+
}
|
|
139
|
+
get scrollTop() {
|
|
140
|
+
return this._y;
|
|
141
|
+
}
|
|
142
|
+
get scrollWidth() {
|
|
143
|
+
const { width: viewportWidth } = this._$viewportBounds.getValue(), { width: contentWidth } = this._$contentBounds.getValue(), isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue();
|
|
144
|
+
if (this._inversion) {
|
|
145
|
+
return contentWidth > viewportWidth ? isVertical ? 0 : endOffset : (viewportWidth - (contentWidth + this._$alignmentEndOffset.getValue()));
|
|
146
|
+
}
|
|
147
|
+
return contentWidth < viewportWidth ? isVertical ? 0 : startOffset : ((contentWidth + this._$alignmentEndOffset.getValue()) - viewportWidth);
|
|
148
|
+
}
|
|
149
|
+
get scrollHeight() {
|
|
150
|
+
const { height: viewportHeight } = this._$viewportBounds.getValue(), { height: contentHeight } = this._$contentBounds.getValue(), isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue();
|
|
151
|
+
if (this._inversion) {
|
|
152
|
+
return contentHeight > viewportHeight ? isVertical ? endOffset : 0 : (viewportHeight - (contentHeight + this._$alignmentEndOffset.getValue()));
|
|
153
|
+
}
|
|
154
|
+
return contentHeight < viewportHeight ? isVertical ? startOffset : 0 : ((contentHeight + this._$alignmentEndOffset.getValue()) - viewportHeight);
|
|
155
|
+
}
|
|
156
|
+
_$viewportBounds = new BehaviorSubject({ width: 0, height: 0 });
|
|
157
|
+
$viewportBounds = this._$viewportBounds.asObservable();
|
|
158
|
+
_$contentBounds = new BehaviorSubject({ width: 0, height: 0 });
|
|
159
|
+
$contentBounds = this._$contentBounds.asObservable();
|
|
160
|
+
_isCoordinatesOverrided = false;
|
|
161
|
+
constructor() {
|
|
162
|
+
super();
|
|
163
|
+
const $direction = this.$direction;
|
|
164
|
+
$direction.pipe(takeUntil(this._$unsubscribe), distinctUntilChanged(), tap(v => {
|
|
165
|
+
this._$isVertical.next(v === ScrollerDirection.VERTICAL);
|
|
166
|
+
})).subscribe();
|
|
167
|
+
}
|
|
168
|
+
tick() {
|
|
169
|
+
this.onResizeContent();
|
|
170
|
+
this.onResizeViewport();
|
|
171
|
+
}
|
|
172
|
+
overrideCoordinates(x, y) { }
|
|
173
|
+
normalizeScrollSize() {
|
|
174
|
+
if (this._$isInfinity.getValue()) {
|
|
175
|
+
const isVertical = this._$isVertical.getValue();
|
|
176
|
+
if (isVertical) {
|
|
177
|
+
const scrollSize = (this._totalSize - this._$viewportBounds.getValue().height);
|
|
178
|
+
if (this._y < 0) {
|
|
179
|
+
this._isCoordinatesOverrided = true;
|
|
180
|
+
const currentPosition = scrollSize;
|
|
181
|
+
this.overrideCoordinates(this._x, currentPosition);
|
|
182
|
+
this._y = currentPosition;
|
|
183
|
+
return true;
|
|
184
|
+
}
|
|
185
|
+
else if (this._y > scrollSize) {
|
|
186
|
+
this._isCoordinatesOverrided = true;
|
|
187
|
+
const currentPosition = 0;
|
|
188
|
+
this.overrideCoordinates(this._x, currentPosition);
|
|
189
|
+
this._y = currentPosition;
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
const scrollSize = (this._totalSize - this._$viewportBounds.getValue().width);
|
|
195
|
+
if (this._x < 0) {
|
|
196
|
+
this._isCoordinatesOverrided = true;
|
|
197
|
+
const currentPosition = scrollSize;
|
|
198
|
+
this.overrideCoordinates(currentPosition, this._y);
|
|
199
|
+
this._x = currentPosition;
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
else if (this._x > scrollSize) {
|
|
203
|
+
this._isCoordinatesOverrided = true;
|
|
204
|
+
const currentPosition = 0;
|
|
205
|
+
this.overrideCoordinates(currentPosition, this._y);
|
|
206
|
+
this._x = currentPosition;
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
this._isCoordinatesOverrided = false;
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
onResizeViewport() {
|
|
215
|
+
const viewport = this.scrollViewport?.nativeElement;
|
|
216
|
+
if (!!viewport) {
|
|
217
|
+
const isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue(), w = viewport.offsetWidth, h = viewport.offsetHeight, width = isVertical ? w : (w - startOffset - endOffset), height = isVertical ? (h - startOffset - endOffset) : h, bounds = this._$viewportBounds.getValue();
|
|
218
|
+
if (bounds.width === width && bounds.height === height) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
this._$viewportBounds.next({ width, height });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
onResizeContent(value = null) {
|
|
225
|
+
const content = this.scrollContent?.nativeElement;
|
|
226
|
+
if (!!content) {
|
|
227
|
+
const isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), w = content.offsetWidth, h = content.offsetHeight, width = isVertical ? w : value ?? (w - startOffset), height = isVertical ? value ?? (h - startOffset) : h, bounds = this._$contentBounds.getValue();
|
|
228
|
+
if (bounds.width === width && bounds.height === height) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
this._$contentBounds.next({ width, height });
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseScrollView, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BaseScrollView, selector: "base-scroll-view", inputs: { direction: "direction", startOffset: "startOffset", endOffset: "endOffset", alignmentStartOffset: "alignmentStartOffset", alignmentEndOffset: "alignmentEndOffset", isInfinity: "isInfinity" }, viewQueries: [{ propertyName: "scrollContent", first: true, predicate: ["scrollContent"], descendants: true }, { propertyName: "scrollViewport", first: true, predicate: ["scrollViewport"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
236
|
+
}
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseScrollView, decorators: [{
|
|
238
|
+
type: Component,
|
|
239
|
+
args: [{
|
|
240
|
+
selector: 'base-scroll-view',
|
|
241
|
+
template: '',
|
|
242
|
+
}]
|
|
243
|
+
}], ctorParameters: () => [], propDecorators: { scrollContent: [{
|
|
244
|
+
type: ViewChild,
|
|
245
|
+
args: ['scrollContent']
|
|
246
|
+
}], scrollViewport: [{
|
|
247
|
+
type: ViewChild,
|
|
248
|
+
args: ['scrollViewport']
|
|
249
|
+
}], direction: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], startOffset: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], endOffset: [{
|
|
254
|
+
type: Input
|
|
255
|
+
}], alignmentStartOffset: [{
|
|
256
|
+
type: Input
|
|
257
|
+
}], alignmentEndOffset: [{
|
|
258
|
+
type: Input
|
|
259
|
+
}], isInfinity: [{
|
|
260
|
+
type: Input
|
|
261
|
+
}] } });
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zY3JvbGwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2Jhc2UvYmFzZS1zY3JvbGwtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsR0FDbEQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sVUFBVSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFMUU7Ozs7Ozs7R0FPRztBQUtILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBRW5ELGFBQWEsQ0FBeUM7SUFHdEQsY0FBYyxDQUF5QztJQUU3QyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQTJCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pGLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELElBQ0ksU0FBUyxDQUFDLENBQTJCO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksU0FBUyxLQUFLLE9BQU8sSUFB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QztnQkFDckQsT0FBTztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO3dHQTFTUSxjQUFjOzRGQUFkLGNBQWMsNGVBRmIsRUFBRTs7NEZBRUgsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtpQkFDZjt3REFHRyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZTtnQkFJMUIsY0FBYztzQkFEYixTQUFTO3VCQUFDLGdCQUFnQjtnQkFNdkIsU0FBUztzQkFEWixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixTQUFTO3NCQURaLEtBQUs7Z0JBV0Ysb0JBQW9CO3NCQUR2QixLQUFLO2dCQVdGLGtCQUFrQjtzQkFEckIsS0FBSztnQkFXRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNjcm9sbGVyRGlyZWN0aW9uLCBTY3JvbGxlckRpcmVjdGlvbnMgfSBmcm9tICcuLi9lbnVtcyc7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNDUk9MTF9WSUVXX0lOVkVSU0lPTiwgU0NST0xMX1ZJRVdfT1ZFUlNDUk9MTF9FTkFCTEVEIH0gZnJvbSAnLi4vY29uc3QnO1xyXG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEJhc2VTY3JvbGxWaWV3XHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtdmlldy9iYXNlL2Jhc2Utc2Nyb2xsLXZpZXcuY29tcG9uZW50LnRzXHJcbiAqIEBhdXRob3IgRXZnZW5paSBBbGV4YW5kcm92aWNoIEdyZWJlbm5pa292XHJcbiAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2Jhc2Utc2Nyb2xsLXZpZXcnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZVNjcm9sbFZpZXcgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3Njcm9sbENvbnRlbnQnKVxyXG4gICAgc2Nyb2xsQ29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnc2Nyb2xsVmlld3BvcnQnKVxyXG4gICAgc2Nyb2xsVmlld3BvcnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJGRpcmVjdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2Nyb2xsZXJEaXJlY3Rpb25zIHwgYW55PihTY3JvbGxlckRpcmVjdGlvbi5WRVJUSUNBTCk7XHJcbiAgICByZWFkb25seSAkZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZGlyZWN0aW9uKHY6IFNjcm9sbGVyRGlyZWN0aW9ucyB8IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCkgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fJGRpcmVjdGlvbi5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBkaXJlY3Rpb24oKSB7IHJldHVybiB0aGlzLl8kZGlyZWN0aW9uLmdldFZhbHVlKCk7IH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRzdGFydE9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICRzdGFydE9mZnNldCA9IHRoaXMuXyRzdGFydE9mZnNldC5hc09ic2VydmFibGUoKTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgc3RhcnRPZmZzZXQodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzdGFydE9mZnNldC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzdGFydE9mZnNldCgpIHsgcmV0dXJuIHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kZW5kT2Zmc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gICAgcmVhZG9ubHkgJGVuZE9mZnNldCA9IHRoaXMuXyRlbmRPZmZzZXQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGVuZE9mZnNldCh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5fJGVuZE9mZnNldC5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRlbmRPZmZzZXQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgZW5kT2Zmc2V0KCkgeyByZXR1cm4gdGhpcy5fJGVuZE9mZnNldC5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kYWxpZ25tZW50U3RhcnRPZmZzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XHJcbiAgICByZWFkb25seSAkYWxpZ25tZW50U3RhcnRPZmZzZXQgPSB0aGlzLl8kYWxpZ25tZW50U3RhcnRPZmZzZXQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGFsaWdubWVudFN0YXJ0T2Zmc2V0KHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kYWxpZ25tZW50U3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kYWxpZ25tZW50U3RhcnRPZmZzZXQubmV4dCh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgYWxpZ25tZW50U3RhcnRPZmZzZXQoKSB7IHJldHVybiB0aGlzLl8kYWxpZ25tZW50U3RhcnRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGFsaWdubWVudEVuZE9mZnNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICRhbGlnbm1lbnRFbmRPZmZzZXQgPSB0aGlzLl8kYWxpZ25tZW50RW5kT2Zmc2V0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBhbGlnbm1lbnRFbmRPZmZzZXQodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuXyRhbGlnbm1lbnRFbmRPZmZzZXQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kYWxpZ25tZW50RW5kT2Zmc2V0Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGFsaWdubWVudEVuZE9mZnNldCgpIHsgcmV0dXJuIHRoaXMuXyRhbGlnbm1lbnRFbmRPZmZzZXQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGlzSW5maW5pdHkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHJlYWRvbmx5ICRpc0luZmluaXR5ID0gdGhpcy5fJGlzSW5maW5pdHkuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGlzSW5maW5pdHkodjogYm9vbGVhbikge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXNJbmZpbml0eS5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRpc0luZmluaXR5Lm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGlzSW5maW5pdHkoKSB7IHJldHVybiB0aGlzLl8kaXNJbmZpbml0eS5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kaXNWZXJ0aWNhbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgICByZWFkb25seSAkaXNWZXJ0aWNhbCA9IHRoaXMuXyRpc1ZlcnRpY2FsLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJGdyYWJiaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICByZWFkb25seSAkZ3JhYmJpbmcgPSB0aGlzLl8kZ3JhYmJpbmcuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9pbnZlcnNpb24gPSBpbmplY3QoU0NST0xMX1ZJRVdfSU5WRVJTSU9OKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX292ZXJzY3JvbGxFbmFibGVkID0gaW5qZWN0KFNDUk9MTF9WSUVXX09WRVJTQ1JPTExfRU5BQkxFRCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kdXBkYXRlU2Nyb2xsQmFyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByb3RlY3RlZCAkdXBkYXRlU2Nyb2xsQmFyID0gdGhpcy5fJHVwZGF0ZVNjcm9sbEJhci5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBnZXQgc2Nyb2xsYWJsZSgpIHtcclxuICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMuXyR2aWV3cG9ydEJvdW5kcy5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgdmlld3BvcnRTaXplID0gaXNWZXJ0aWNhbCA/IGhlaWdodCA6IHdpZHRoLFxyXG4gICAgICAgICAgICB0b3RhbFNpemUgPSB0aGlzLl90b3RhbFNpemU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludmVyc2lvbiA/ICh0b3RhbFNpemUgPCB2aWV3cG9ydFNpemUpIDogKHRvdGFsU2l6ZSA+IHZpZXdwb3J0U2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9pc01vdmluZyA9IGZhbHNlO1xyXG4gICAgZ2V0IGlzTW92aW5nKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc01vdmluZztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX3g6IG51bWJlciA9IDA7XHJcbiAgICBzZXQgeCh2OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl94ID0gdGhpcy5fYWN0dWFsWCA9IHY7XHJcblxyXG4gICAgICAgIHRoaXMubm9ybWFsaXplU2Nyb2xsU2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IHgoKSB7IHJldHVybiB0aGlzLl94OyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF95OiBudW1iZXIgPSAwO1xyXG4gICAgc2V0IHkodjogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5feSA9IHRoaXMuX2FjdHVhbFkgPSB2O1xyXG5cclxuICAgICAgICB0aGlzLm5vcm1hbGl6ZVNjcm9sbFNpemUoKTtcclxuICAgIH1cclxuICAgIGdldCB5KCkgeyByZXR1cm4gdGhpcy5feTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfYWN0dWFsVG90YWxTaXplOiBudW1iZXIgPSAwO1xyXG4gICAgcHJvdGVjdGVkIF90b3RhbFNpemU6IG51bWJlciA9IDA7XHJcbiAgICBzZXQgdG90YWxTaXplKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLl90b3RhbFNpemUgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fdG90YWxTaXplID0gdjtcclxuICAgICAgICAgICAgY29uc3Qgc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSwgZW5kT2Zmc2V0ID0gdGhpcy5fJGFsaWdubWVudEVuZE9mZnNldC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9hY3R1YWxUb3RhbFNpemUgPSB2ICsgc3RhcnRPZmZzZXQgKyBlbmRPZmZzZXQ7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVNjcm9sbFNpemUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnZXQgdG90YWxTaXplKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90b3RhbFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zdGFydExheW91dE9mZnNldDogbnVtYmVyID0gMDtcclxuICAgIHNldCBzdGFydExheW91dE9mZnNldCh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5fc3RhcnRMYXlvdXRPZmZzZXQgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RhcnRMYXlvdXRPZmZzZXQgPSB2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzdGFydExheW91dE9mZnNldCgpIHsgcmV0dXJuIHRoaXMuX3N0YXJ0TGF5b3V0T2Zmc2V0OyB9XHJcblxyXG4gICAgZ2V0IGFjdHVhbFNjcm9sbEhlaWdodCgpIHtcclxuICAgICAgICBjb25zdCB7IGhlaWdodDogdmlld3BvcnRIZWlnaHQgfSA9IHRoaXMuXyR2aWV3cG9ydEJvdW5kcy5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICB0b3RhbFNpemUgPSB0aGlzLl9hY3R1YWxUb3RhbFNpemUsXHJcbiAgICAgICAgICAgIGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzdGFydE9mZnNldCA9IHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ludmVyc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdG90YWxTaXplID4gdmlld3BvcnRIZWlnaHQgPyBpc1ZlcnRpY2FsID8gZW5kT2Zmc2V0IDogMCA6IHZpZXdwb3J0SGVpZ2h0IC0gdG90YWxTaXplO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdG90YWxTaXplIDwgdmlld3BvcnRIZWlnaHQgPyBpc1ZlcnRpY2FsID8gc3RhcnRPZmZzZXQgOiAwIDogdG90YWxTaXplIC0gdmlld3BvcnRIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFjdHVhbFNjcm9sbFdpZHRoKCkge1xyXG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IHZpZXdwb3J0V2lkdGggfSA9IHRoaXMuXyR2aWV3cG9ydEJvdW5kcy5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICB0b3RhbFNpemUgPSB0aGlzLl9hY3R1YWxUb3RhbFNpemUsXHJcbiAgICAgICAgICAgIGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzdGFydE9mZnNldCA9IHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ludmVyc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdG90YWxTaXplID4gdmlld3BvcnRXaWR0aCA/IGlzVmVydGljYWwgPyAwIDogZW5kT2Zmc2V0IDogdmlld3BvcnRXaWR0aCAtIHRvdGFsU2l6ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRvdGFsU2l6ZSA8IHZpZXdwb3J0V2lkdGggPyBpc1ZlcnRpY2FsID8gMCA6IHN0YXJ0T2Zmc2V0IDogdG90YWxTaXplIC0gdmlld3BvcnRXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2FjdHVhbFg6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgYWN0dWFsU2Nyb2xsTGVmdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0dWFsWDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2FjdHVhbFk6IG51bWJlciA9IDA7XHJcbiAgICBnZXQgYWN0dWFsU2Nyb2xsVG9wKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9hY3R1YWxZO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzY3JvbGxMZWZ0KCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl94O1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzY3JvbGxUb3AoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3k7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNjcm9sbFdpZHRoKCkge1xyXG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IHZpZXdwb3J0V2lkdGggfSA9IHRoaXMuXyR2aWV3cG9ydEJvdW5kcy5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICB7IHdpZHRoOiBjb250ZW50V2lkdGggfSA9IHRoaXMuXyRjb250ZW50Qm91bmRzLmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgIGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzdGFydE9mZnNldCA9IHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ludmVyc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFdpZHRoID4gdmlld3BvcnRXaWR0aCA/IGlzVmVydGljYWwgPyAwIDogZW5kT2Zmc2V0IDogKHZpZXdwb3J0V2lkdGggLSAoY29udGVudFdpZHRoICsgdGhpcy5fJGFsaWdubWVudEVuZE9mZnNldC5nZXRWYWx1ZSgpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb250ZW50V2lkdGggPCB2aWV3cG9ydFdpZHRoID8gaXNWZXJ0aWNhbCA/IDAgOiBzdGFydE9mZnNldCA6ICgoY29udGVudFdpZHRoICsgdGhpcy5fJGFsaWdubWVudEVuZE9mZnNldC5nZXRWYWx1ZSgpKSAtIHZpZXdwb3J0V2lkdGgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzY3JvbGxIZWlnaHQoKSB7XHJcbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHZpZXdwb3J0SGVpZ2h0IH0gPSB0aGlzLl8kdmlld3BvcnRCb3VuZHMuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgeyBoZWlnaHQ6IGNvbnRlbnRIZWlnaHQgfSA9IHRoaXMuXyRjb250ZW50Qm91bmRzLmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgIGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzdGFydE9mZnNldCA9IHRoaXMuXyRzdGFydE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ludmVyc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudEhlaWdodCA+IHZpZXdwb3J0SGVpZ2h0ID8gaXNWZXJ0aWNhbCA/IGVuZE9mZnNldCA6IDAgOiAodmlld3BvcnRIZWlnaHQgLSAoY29udGVudEhlaWdodCArIHRoaXMuXyRhbGlnbm1lbnRFbmRPZmZzZXQuZ2V0VmFsdWUoKSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY29udGVudEhlaWdodCA8IHZpZXdwb3J0SGVpZ2h0ID8gaXNWZXJ0aWNhbCA/IHN0YXJ0T2Zmc2V0IDogMCA6ICgoY29udGVudEhlaWdodCArIHRoaXMuXyRhbGlnbm1lbnRFbmRPZmZzZXQuZ2V0VmFsdWUoKSkgLSB2aWV3cG9ydEhlaWdodCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kdmlld3BvcnRCb3VuZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElTaXplPih7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSk7XHJcbiAgICByZWFkb25seSAkdmlld3BvcnRCb3VuZHMgPSB0aGlzLl8kdmlld3BvcnRCb3VuZHMuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kY29udGVudEJvdW5kcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVNpemU+KHsgd2lkdGg6IDAsIGhlaWdodDogMCB9KTtcclxuICAgIHJlYWRvbmx5ICRjb250ZW50Qm91bmRzID0gdGhpcy5fJGNvbnRlbnRCb3VuZHMuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF9pc0Nvb3JkaW5hdGVzT3ZlcnJpZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJGRpcmVjdGlvbiA9IHRoaXMuJGRpcmVjdGlvbjtcclxuICAgICAgICAkZGlyZWN0aW9uLnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl8kaXNWZXJ0aWNhbC5uZXh0KHYgPT09IFNjcm9sbGVyRGlyZWN0aW9uLlZFUlRJQ0FMKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aWNrKCkge1xyXG4gICAgICAgIHRoaXMub25SZXNpemVDb250ZW50KCk7XHJcbiAgICAgICAgdGhpcy5vblJlc2l6ZVZpZXdwb3J0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlQ29vcmRpbmF0ZXMoeDogbnVtYmVyLCB5OiBudW1iZXIpIHsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBub3JtYWxpemVTY3JvbGxTaXplKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kaXNJbmZpbml0eS5nZXRWYWx1ZSgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAoaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsU2l6ZSA9ICh0aGlzLl90b3RhbFNpemUgLSB0aGlzLl8kdmlld3BvcnRCb3VuZHMuZ2V0VmFsdWUoKS5oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3kgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNDb29yZGluYXRlc092ZXJyaWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gc2Nyb2xsU2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJyaWRlQ29vcmRpbmF0ZXModGhpcy5feCwgY3VycmVudFBvc2l0aW9uKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl95ID0gY3VycmVudFBvc2l0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl95ID4gc2Nyb2xsU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lzQ29vcmRpbmF0ZXNPdmVycmlkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVycmlkZUNvb3JkaW5hdGVzKHRoaXMuX3gsIGN1cnJlbnRQb3NpdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5feSA9IGN1cnJlbnRQb3NpdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFNpemUgPSAodGhpcy5fdG90YWxTaXplIC0gdGhpcy5fJHZpZXdwb3J0Qm91bmRzLmdldFZhbHVlKCkud2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3ggPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faXNDb29yZGluYXRlc092ZXJyaWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gc2Nyb2xsU2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJyaWRlQ29vcmRpbmF0ZXMoY3VycmVudFBvc2l0aW9uLCB0aGlzLl95KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl94ID0gY3VycmVudFBvc2l0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl94ID4gc2Nyb2xsU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lzQ29vcmRpbmF0ZXNPdmVycmlkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVycmlkZUNvb3JkaW5hdGVzKGN1cnJlbnRQb3NpdGlvbiwgdGhpcy5feSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5feCA9IGN1cnJlbnRQb3NpdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9pc0Nvb3JkaW5hdGVzT3ZlcnJpZGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvblJlc2l6ZVZpZXdwb3J0KCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy5zY3JvbGxWaWV3cG9ydD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoISF2aWV3cG9ydCkge1xyXG4gICAgICAgICAgICBjb25zdCBpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gdGhpcy5fJHN0YXJ0T2Zmc2V0LmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICBlbmRPZmZzZXQgPSB0aGlzLl8kZW5kT2Zmc2V0LmdldFZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICB3ID0gdmlld3BvcnQub2Zmc2V0V2lkdGgsXHJcbiAgICAgICAgICAgICAgICBoID0gdmlld3BvcnQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgd2lkdGggPSBpc1ZlcnRpY2FsID8gdyA6ICh3IC0gc3RhcnRPZmZzZXQgLSBlbmRPZmZzZXQpLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gaXNWZXJ0aWNhbCA/IChoIC0gc3RhcnRPZmZzZXQgLSBlbmRPZmZzZXQpIDogaCxcclxuICAgICAgICAgICAgICAgIGJvdW5kcyA9IHRoaXMuXyR2aWV3cG9ydEJvdW5kcy5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAoYm91bmRzLndpZHRoID09PSB3aWR0aCAmJiBib3VuZHMuaGVpZ2h0ID09PSBoZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl8kdmlld3BvcnRCb3VuZHMubmV4dCh7IHdpZHRoLCBoZWlnaHQgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvblJlc2l6ZUNvbnRlbnQodmFsdWU6IG51bWJlciB8IG51bGwgPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuc2Nyb2xsQ29udGVudD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoISFjb250ZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLl8kaXNWZXJ0aWNhbC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICAgICAgc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgICAgIHcgPSBjb250ZW50Lm9mZnNldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgaCA9IGNvbnRlbnQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgd2lkdGggPSBpc1ZlcnRpY2FsID8gdyA6IHZhbHVlID8/ICh3IC0gc3RhcnRPZmZzZXQpLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gaXNWZXJ0aWNhbCA/IHZhbHVlID8/IChoIC0gc3RhcnRPZmZzZXQpIDogaCxcclxuICAgICAgICAgICAgICAgIGJvdW5kcyA9IHRoaXMuXyRjb250ZW50Qm91bmRzLmdldFZhbHVlKCk7XHJcbiAgICAgICAgICAgIGlmIChib3VuZHMud2lkdGggPT09IHdpZHRoICYmIGJvdW5kcy5oZWlnaHQgPT09IGhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuXyRjb250ZW50Qm91bmRzLm5leHQoeyB3aWR0aCwgaGVpZ2h0IH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
import { SCROLLER_SCROLL } from "../../../const";
|
|
3
|
+
export const SCROLL_VIEW_INVERSION = new InjectionToken('ScrollViewInversion');
|
|
4
|
+
export const SCROLL_VIEW_OVERSCROLL_ENABLED = new InjectionToken('ScrollViewOverscrollEnabled');
|
|
5
|
+
export const SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO = new InjectionToken('ScrollViewNormalizeValueFromZero');
|
|
6
|
+
export const TOP = 'top', LEFT = 'left', INSTANT = 'instant', AUTO = 'auto', SMOOTH = 'smooth', DURATION = 2000, FRICTION_FORCE = .035, MAX_DURATION = 4000, ANIMATION_DURATION = 50, MASS = .005, MAX_DIST = 12500, MAX_VELOCITY_TIMESTAMP = 100, SPEED_SCALE = 15, OVERSCROLL_START_ITERATION = 2, INTERSECTION_DISTANCE = 1;
|
|
7
|
+
export const MAX_ITERATIONS_FOR_AVERAGE_CALCULATIONS = 5, INSTANT_VELOCITY_SCALE = 1000;
|
|
8
|
+
export const SCROLL_EVENT = new Event(SCROLLER_SCROLL);
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2NvbnN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFVLHFCQUFxQixDQUFDLENBQUM7QUFFeEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQVUsNkJBQTZCLENBQUMsQ0FBQztBQUV6RyxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLGNBQWMsQ0FBVSxrQ0FBa0MsQ0FBQyxDQUFDO0FBRXJILE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3BCLElBQUksR0FBRyxNQUFNLEVBQ2IsT0FBTyxHQUFHLFNBQVMsRUFDbkIsSUFBSSxHQUFHLE1BQU0sRUFDYixNQUFNLEdBQUcsUUFBUSxFQUNqQixRQUFRLEdBQUcsSUFBSSxFQUNmLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFlBQVksR0FBRyxJQUFJLEVBQ25CLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsSUFBSSxHQUFHLElBQUksRUFDWCxRQUFRLEdBQUcsS0FBSyxFQUNoQixzQkFBc0IsR0FBRyxHQUFHLEVBQzVCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLDBCQUEwQixHQUFHLENBQUMsRUFDOUIscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLENBQUMsRUFDcEQsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU0NST0xMRVJfU0NST0xMIH0gZnJvbSBcIi4uLy4uLy4uL2NvbnN0XCI7XHJcblxyXG5leHBvcnQgY29uc3QgU0NST0xMX1ZJRVdfSU5WRVJTSU9OID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdTY3JvbGxWaWV3SW52ZXJzaW9uJyk7XHJcblxyXG5leHBvcnQgY29uc3QgU0NST0xMX1ZJRVdfT1ZFUlNDUk9MTF9FTkFCTEVEID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdTY3JvbGxWaWV3T3ZlcnNjcm9sbEVuYWJsZWQnKTtcclxuXHJcbmV4cG9ydCBjb25zdCBTQ1JPTExfVklFV19OT1JNQUxJWkVfVkFMVUVfRlJPTV9aRVJPID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdTY3JvbGxWaWV3Tm9ybWFsaXplVmFsdWVGcm9tWmVybycpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRPUCA9ICd0b3AnLFxyXG4gICAgTEVGVCA9ICdsZWZ0JyxcclxuICAgIElOU1RBTlQgPSAnaW5zdGFudCcsXHJcbiAgICBBVVRPID0gJ2F1dG8nLFxyXG4gICAgU01PT1RIID0gJ3Ntb290aCcsXHJcbiAgICBEVVJBVElPTiA9IDIwMDAsXHJcbiAgICBGUklDVElPTl9GT1JDRSA9IC4wMzUsXHJcbiAgICBNQVhfRFVSQVRJT04gPSA0MDAwLFxyXG4gICAgQU5JTUFUSU9OX0RVUkFUSU9OID0gNTAsXHJcbiAgICBNQVNTID0gLjAwNSxcclxuICAgIE1BWF9ESVNUID0gMTI1MDAsXHJcbiAgICBNQVhfVkVMT0NJVFlfVElNRVNUQU1QID0gMTAwLFxyXG4gICAgU1BFRURfU0NBTEUgPSAxNSxcclxuICAgIE9WRVJTQ1JPTExfU1RBUlRfSVRFUkFUSU9OID0gMixcclxuICAgIElOVEVSU0VDVElPTl9ESVNUQU5DRSA9IDE7XHJcblxyXG5leHBvcnQgY29uc3QgTUFYX0lURVJBVElPTlNfRk9SX0FWRVJBR0VfQ0FMQ1VMQVRJT05TID0gNSxcclxuICAgIElOU1RBTlRfVkVMT0NJVFlfU0NBTEUgPSAxMDAwO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNDUk9MTF9FVkVOVCA9IG5ldyBFdmVudChTQ1JPTExFUl9TQ1JPTEwpO1xyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ScrollerDirection } from "./scroller-direction";
|
|
2
|
-
export { ScrollerDirection, };
|
|
1
|
+
import { ScrollerDirection } from "./scroller-direction";
|
|
2
|
+
export { ScrollerDirection, };
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFDSCxpQkFBaUIsR0FDcEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGVyRGlyZWN0aW9uIH0gZnJvbSBcIi4vc2Nyb2xsZXItZGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7IFNjcm9sbGVyRGlyZWN0aW9ucyB9IGZyb20gXCIuL3Njcm9sbGVyLWRpcmVjdGlvbnNcIjtcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBTY3JvbGxlckRpcmVjdGlvbixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUge1xyXG4gICAgU2Nyb2xsZXJEaXJlY3Rpb25zLFxyXG59Il19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ScrollerDirection
|
|
3
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-view/enums/scroller-direction.ts
|
|
4
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
-
* @email djonnyx@gmail.com
|
|
6
|
-
*/
|
|
7
|
-
export var ScrollerDirection;
|
|
8
|
-
(function (ScrollerDirection) {
|
|
9
|
-
ScrollerDirection["HORIZONTAL"] = "horizontal";
|
|
10
|
-
ScrollerDirection["VERTICAL"] = "vertical";
|
|
11
|
-
})(ScrollerDirection || (ScrollerDirection = {}));
|
|
1
|
+
/**
|
|
2
|
+
* ScrollerDirection
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-view/enums/scroller-direction.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export var ScrollerDirection;
|
|
8
|
+
(function (ScrollerDirection) {
|
|
9
|
+
ScrollerDirection["HORIZONTAL"] = "horizontal";
|
|
10
|
+
ScrollerDirection["VERTICAL"] = "vertical";
|
|
11
|
+
})(ScrollerDirection || (ScrollerDirection = {}));
|
|
12
12
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsZXItZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtdmlldy9lbnVtcy9zY3JvbGxlci1kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQ3pCLDhDQUF5QixDQUFBO0lBQ3pCLDBDQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNjcm9sbGVyRGlyZWN0aW9uXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1zY3JvbGwtdmlldy9lbnVtcy9zY3JvbGxlci1kaXJlY3Rpb24udHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgZW51bSBTY3JvbGxlckRpcmVjdGlvbiB7XHJcbiAgICBIT1JJWk9OVEFMID0gJ2hvcml6b250YWwnLFxyXG4gICAgVkVSVElDQUwgPSAndmVydGljYWwnLFxyXG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsZXItZGlyZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctc2Nyb2xsLXZpZXcvZW51bXMvc2Nyb2xsZXItZGlyZWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsZXJEaXJlY3Rpb24gfSBmcm9tIFwiLi9zY3JvbGxlci1kaXJlY3Rpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBTY3JvbGxlckRpcmVjdGlvbnNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2VudW1zL3Njcm9sbGVyLWRpcmVjdGlvbnMudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBTY3JvbGxlckRpcmVjdGlvbnMgPSBTY3JvbGxlckRpcmVjdGlvbiB8ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NgScrollView } from "./ng-scroll-view.component";
|
|
2
|
-
import { SCROLL_VIEW_INVERSION } from './const';
|
|
3
|
-
export { NgScrollView, SCROLL_VIEW_INVERSION, };
|
|
1
|
+
import { NgScrollView } from "./ng-scroll-view.component";
|
|
2
|
+
import { SCROLL_VIEW_INVERSION } from './const';
|
|
3
|
+
export { NgScrollView, SCROLL_VIEW_INVERSION, };
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHaEQsT0FBTyxFQUNILFlBQVksRUFDWixxQkFBcUIsR0FDeEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nU2Nyb2xsVmlldyB9IGZyb20gXCIuL25nLXNjcm9sbC12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTQ1JPTExfVklFV19JTlZFUlNJT04gfSBmcm9tICcuL2NvbnN0JztcclxuaW1wb3J0IHsgSVNjcm9sbFRvUGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB7XHJcbiAgICBOZ1Njcm9sbFZpZXcsXHJcbiAgICBTQ1JPTExfVklFV19JTlZFUlNJT04sXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIHtcclxuICAgIElTY3JvbGxUb1BhcmFtcyxcclxufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTY3JvbGxUb1BhcmFtcyB9IGZyb20gJy4vc2Nyb2xsLXRvLXBhcmFtcyc7XHJcblxyXG5leHBvcnQgdHlwZSB7XHJcbiAgICBJU2Nyb2xsVG9QYXJhbXMsXHJcbn0iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctc2Nyb2xsLXZpZXcvaW50ZXJmYWNlcy9zY3JvbGwtdG8tcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFYXNpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYW5pbWF0b3JcIjtcclxuXHJcbi8qKlxyXG4gKiBJU2Nyb2xsVG9QYXJhbXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2ludGVyZmFjZXMvc2Nyb2xsLXRvLXBhcmFtcy50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNjcm9sbFRvUGFyYW1zIHtcclxuICAgIHg/
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctc2Nyb2xsLXZpZXcvaW50ZXJmYWNlcy9zY3JvbGwtdG8tcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFYXNpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYW5pbWF0b3JcIjtcclxuXHJcbi8qKlxyXG4gKiBJU2Nyb2xsVG9QYXJhbXNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC12aWV3L2ludGVyZmFjZXMvc2Nyb2xsLXRvLXBhcmFtcy50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNjcm9sbFRvUGFyYW1zIHtcclxuICAgIHg/OiBudW1iZXI7XHJcbiAgICB5PzogbnVtYmVyO1xyXG4gICAgbGVmdD86IG51bWJlcjtcclxuICAgIHRvcD86IG51bWJlcjtcclxuICAgIHNuYXA/OiBib29sZWFuO1xyXG4gICAgbm9ybWFsaXplPzogYm9vbGVhbjtcclxuICAgIGZvcmNlPzogYm9vbGVhbjtcclxuICAgIGJsZW5kaW5nPzogYm9vbGVhbjtcclxuICAgIGJlaGF2aW9yPzogU2Nyb2xsQmVoYXZpb3IgfCBcImF1dG9cIiB8IFwiaW5zdGFudFwiIHwgXCJzbW9vdGhcIjtcclxuICAgIGVhc2U/OiBFYXNpbmc7XHJcbiAgICBmaXJlVXBkYXRlPzogYm9vbGVhbjtcclxuICAgIHVzZXJBY3Rpb24/OiBib29sZWFuO1xyXG4gICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbn1cclxuIl19
|