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,139 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, combineLatest, from, takeUntil, tap } from 'rxjs';
|
|
3
|
-
import { TextDirections } from '../../../../enums';
|
|
4
|
-
import { BaseScrollView } from '../../../ng-scroll-view/base/base-scroll-view.component';
|
|
5
|
-
import { SCROLL_VIEW_INVERSION } from '../../../ng-scroll-view';
|
|
6
|
-
import { BEHAVIOR_INSTANT, DEFAULT_SCROLLBAR_ENABLED, LEFT_PROP_NAME, TOP_PROP_NAME } from '../../../../const';
|
|
7
|
-
import { NgScrollBarComponent } from '../../../ng-scroll-bar/ng-scroll-bar.component';
|
|
8
|
-
import { ScrollBox } from '../../../ng-scroller/utils';
|
|
9
|
-
import { SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO } from '../../../ng-scroll-view/const';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/common";
|
|
12
|
-
import * as i2 from "../../../../directives/locale-sensitive/locale-sensitive.directive";
|
|
13
|
-
/**
|
|
14
|
-
* NgPrerenderScrollerComponent.
|
|
15
|
-
* Maximum performance for extremely large lists.
|
|
16
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
17
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-prerender-container/ng-prerender-scroller/ng-prerender-scroller.component.ts
|
|
18
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
19
|
-
* @email djonnyx@gmail.com
|
|
20
|
-
*/
|
|
21
|
-
export class NgPrerenderScrollerComponent extends BaseScrollView {
|
|
22
|
-
constructor() {
|
|
23
|
-
super();
|
|
24
|
-
this._$langTextDir = new BehaviorSubject(TextDirections.LTR);
|
|
25
|
-
this.$langTextDir = this._$langTextDir.asObservable();
|
|
26
|
-
this._$scrollbarEnabled = new BehaviorSubject(DEFAULT_SCROLLBAR_ENABLED);
|
|
27
|
-
this.$scrollbarEnabled = this._$scrollbarEnabled.asObservable();
|
|
28
|
-
this._$classes = new BehaviorSubject({});
|
|
29
|
-
this.$classes = this._$classes.asObservable();
|
|
30
|
-
this._$actualClasses = new BehaviorSubject({});
|
|
31
|
-
this.$actualClasses = this._$actualClasses.asObservable();
|
|
32
|
-
this._$containerClasses = new BehaviorSubject({});
|
|
33
|
-
this.$containerClasses = this._$containerClasses.asObservable();
|
|
34
|
-
this._$thumbSize = new BehaviorSubject(0);
|
|
35
|
-
this.$thumbSize = this._$thumbSize.asObservable();
|
|
36
|
-
this._$scrollbarShow = new BehaviorSubject(false);
|
|
37
|
-
this.$scrollbarShow = this._$scrollbarShow.asObservable();
|
|
38
|
-
this._scrollBox = new ScrollBox();
|
|
39
|
-
const $classes = this.$classes, $direction = this.$direction;
|
|
40
|
-
combineLatest(([$classes, $direction])).pipe(takeUntil(this._$unsubscribe), tap(([classes, direction]) => {
|
|
41
|
-
this._$actualClasses.next({ ...classes, [direction]: true });
|
|
42
|
-
})).subscribe();
|
|
43
|
-
const $contentBounds = this.$contentBounds, $viewportBounds = this.$viewportBounds, $isVertical = this.$isVertical, $scrollbarEnabled = this.$scrollbarEnabled;
|
|
44
|
-
combineLatest([$direction, $scrollbarEnabled, $isVertical, $contentBounds, $viewportBounds]).pipe(takeUntil(this._$unsubscribe), tap(([direction, scrollbarEnabled]) => {
|
|
45
|
-
this._$containerClasses.next({ [direction]: true, enabled: scrollbarEnabled, scrollable: scrollbarEnabled });
|
|
46
|
-
})).subscribe();
|
|
47
|
-
const $startOffset = this.$startOffset, $endOffset = this.$endOffset, $thumbSize = this.$thumbSize;
|
|
48
|
-
from([$endOffset, $startOffset, $thumbSize, $isVertical]).pipe(takeUntil(this._$unsubscribe), tap(() => {
|
|
49
|
-
this.updateScrollBar();
|
|
50
|
-
})).subscribe();
|
|
51
|
-
const $updateScrollBar = this.$updateScrollBar;
|
|
52
|
-
$updateScrollBar.pipe(takeUntil(this._$unsubscribe), tap(() => {
|
|
53
|
-
this.updateScrollBarHandler(true);
|
|
54
|
-
})).subscribe();
|
|
55
|
-
}
|
|
56
|
-
set scrollbarEnabled(v) {
|
|
57
|
-
if (this._$scrollbarEnabled.getValue() !== v) {
|
|
58
|
-
this._$scrollbarEnabled.next(v);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
get scrollbarEnabled() { return this._$scrollbarEnabled.getValue(); }
|
|
62
|
-
set classes(v) {
|
|
63
|
-
if (this._$classes.getValue() !== v) {
|
|
64
|
-
this._$classes.next(v);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
get classes() { return this._$classes.getValue(); }
|
|
68
|
-
set x(v) {
|
|
69
|
-
if (v !== undefined && !Number.isNaN(v)) {
|
|
70
|
-
this._x = this._actualX = v;
|
|
71
|
-
this.updateScrollBar();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
get x() { return this._x; }
|
|
75
|
-
set y(v) {
|
|
76
|
-
if (v !== undefined && !Number.isNaN(v)) {
|
|
77
|
-
this._y = this._actualY = v;
|
|
78
|
-
this.updateScrollBar();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
get y() { return this._y; }
|
|
82
|
-
onResizeViewport() {
|
|
83
|
-
const viewport = this.scrollViewport?.nativeElement;
|
|
84
|
-
if (viewport) {
|
|
85
|
-
this._$viewportBounds.next({ width: viewport.offsetWidth, height: viewport.offsetHeight });
|
|
86
|
-
this.updateScrollBar();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
onResizeContent() {
|
|
90
|
-
const content = this.scrollContent?.nativeElement;
|
|
91
|
-
if (content) {
|
|
92
|
-
this._$contentBounds.next({ width: content.offsetWidth, height: content.offsetHeight });
|
|
93
|
-
this.updateScrollBar();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
updateScrollBarHandler(update = false) {
|
|
97
|
-
const direction = this._$direction.getValue(), isVertical = this._$isVertical.getValue(), startOffset = this._$startOffset.getValue(), endOffset = this._$endOffset.getValue(), scrollContent = this.scrollContent?.nativeElement, scrollViewport = this.scrollViewport?.nativeElement, { thumbSize, thumbPosition, } = this._scrollBox.calculateScroll({
|
|
98
|
-
direction,
|
|
99
|
-
viewportWidth: scrollViewport.offsetWidth, viewportHeight: scrollViewport.offsetHeight,
|
|
100
|
-
contentWidth: scrollContent.offsetWidth, contentHeight: scrollContent.offsetHeight,
|
|
101
|
-
startOffset,
|
|
102
|
-
endOffset,
|
|
103
|
-
positionX: this._x,
|
|
104
|
-
positionY: this._y,
|
|
105
|
-
minSize: 1,
|
|
106
|
-
});
|
|
107
|
-
this._$thumbSize.next(thumbSize);
|
|
108
|
-
if (update) {
|
|
109
|
-
this.scrollBar?.scroll({
|
|
110
|
-
[isVertical ? TOP_PROP_NAME : LEFT_PROP_NAME]: thumbPosition, fireUpdate: false, behavior: BEHAVIOR_INSTANT,
|
|
111
|
-
userAction: false, blending: true,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
this._$scrollbarShow.next(this.scrollable);
|
|
115
|
-
}
|
|
116
|
-
updateScrollBar() {
|
|
117
|
-
this._$updateScrollBar.next();
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
NgPrerenderScrollerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
-
NgPrerenderScrollerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgPrerenderScrollerComponent, selector: "ng-prerender-scroller", inputs: { scrollbarEnabled: "scrollbarEnabled", classes: "classes" }, providers: [
|
|
122
|
-
{ provide: SCROLL_VIEW_INVERSION, useValue: false },
|
|
123
|
-
{ provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
|
|
124
|
-
], viewQueries: [{ propertyName: "scrollBar", first: true, predicate: ["scrollBar"], descendants: true, read: NgScrollBarComponent }], usesInheritance: true, ngImport: i0, template: "<div localeSensitive [langTextDir]=\"($langTextDir | async)!\" [listDir]=\"($direction | async)\" class=\"ngvl__container\"\r\n [ngClass]=\"($containerClasses | async)!\">\r\n <div #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent part=\"list\" class=\"ngvl__list\" [ngClass]=\"($actualClasses | async)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal{grid-template-rows:1fr 0;transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled{grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller{overflow:hidden}.ngvl__container.vertical{grid-template-columns:1fr 0;transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled{grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller{overflow:hidden}.ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__list.prepared{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.LocaleSensitiveDirective, selector: "[localeSensitive]", inputs: ["langTextDir", "listDir"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerComponent, decorators: [{
|
|
126
|
-
type: Component,
|
|
127
|
-
args: [{ selector: 'ng-prerender-scroller', providers: [
|
|
128
|
-
{ provide: SCROLL_VIEW_INVERSION, useValue: false },
|
|
129
|
-
{ provide: SCROLL_VIEW_NORMALIZE_VALUE_FROM_ZERO, useValue: true },
|
|
130
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div localeSensitive [langTextDir]=\"($langTextDir | async)!\" [listDir]=\"($direction | async)\" class=\"ngvl__container\"\r\n [ngClass]=\"($containerClasses | async)!\">\r\n <div #scrollViewport part=\"scroller\" class=\"ngvl__scroller\">\r\n <div #scrollContent part=\"list\" class=\"ngvl__list\" [ngClass]=\"($actualClasses | async)\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.ngvl__container{position:relative;overflow:hidden;display:grid;width:100%;height:100%;cursor:grab}.ngvl__container.grabbing{cursor:grabbing}.ngvl__container.horizontal{grid-template-rows:1fr 0;transition:grid-template-rows .1s ease-out}.ngvl__container.horizontal.scrollable.enabled{grid-template-rows:1fr auto}.ngvl__container.horizontal .ngvl__list{display:inline-flex}.ngvl__container.horizontal .ngvl__scroller{overflow:hidden}.ngvl__container.vertical{grid-template-columns:1fr 0;transition:grid-template-columns .1s ease-out}.ngvl__container.vertical.scrollable.enabled{grid-template-columns:1fr auto}.ngvl__container.vertical .ngvl__scroller{overflow:hidden}.ngvl__scroller{display:block;position:relative;overflow:hidden;width:100%;height:100%}.ngvl__list{position:absolute;list-style:none;padding:0;margin:0;width:100%;height:100%;opacity:0}.ngvl__list.prepared{opacity:1}\n"] }]
|
|
131
|
-
}], ctorParameters: function () { return []; }, propDecorators: { scrollBar: [{
|
|
132
|
-
type: ViewChild,
|
|
133
|
-
args: ['scrollBar', { read: NgScrollBarComponent }]
|
|
134
|
-
}], scrollbarEnabled: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], classes: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLXNjcm9sbGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb21wb25lbnRzL25nLXByZXJlbmRlci1zY3JvbGxlci9uZy1wcmVyZW5kZXItc2Nyb2xsZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1wcmVyZW5kZXItY29udGFpbmVyL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLXNjcm9sbGVyL25nLXByZXJlbmRlci1zY3JvbGxlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFpQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFD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S0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzNHLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7YUFDcEMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLGVBQWU7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7O3lIQTFKUSw0QkFBNEI7NkdBQTVCLDRCQUE0QixzSEFOMUI7UUFDUCxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1FBQ25ELEVBQUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7S0FDckUsNkdBSStCLG9CQUFvQixvREM3QnhELHFiQU9NOzJGRHFCTyw0QkFBNEI7a0JBVnhDLFNBQVM7K0JBQ0ksdUJBQXVCLGFBR3RCO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7d0JBQ25ELEVBQUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7cUJBQ3JFLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUkvQyxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFO2dCQVNsRCxnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBV0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZyb20sIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRleHREaXJlY3Rpb24sIFRleHREaXJlY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBCYXNlU2Nyb2xsVmlldyB9IGZyb20gJy4uLy4uLy4uL25nLXNjcm9sbC12aWV3L2Jhc2UvYmFzZS1zY3JvbGwtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTQ1JPTExfVklFV19JTlZFUlNJT04gfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGwtdmlldyc7XHJcbmltcG9ydCB7IEJFSEFWSU9SX0lOU1RBTlQsIERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQsIExFRlRfUFJPUF9OQU1FLCBUT1BfUFJPUF9OQU1FIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uc3QnO1xyXG5pbXBvcnQgeyBOZ1Njcm9sbEJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL25nLXNjcm9sbC1iYXIvbmctc2Nyb2xsLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY3JvbGxCb3ggfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGxlci91dGlscyc7XHJcbmltcG9ydCB7IFNDUk9MTF9WSUVXX05PUk1BTElaRV9WQUxVRV9GUk9NX1pFUk8gfSBmcm9tICcuLi8uLi8uLi9uZy1zY3JvbGwtdmlldy9jb25zdCc7XHJcblxyXG4vKipcclxuICogTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudC5cclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLXNjcm9sbGVyL25nLXByZXJlbmRlci1zY3JvbGxlci5jb21wb25lbnQudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmctcHJlcmVuZGVyLXNjcm9sbGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZy1wcmVyZW5kZXItc2Nyb2xsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4uLy4uLy4uL25nLXNjcm9sbGVyL25nLXNjcm9sbGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFNDUk9MTF9WSUVXX0lOVkVSU0lPTiwgdXNlVmFsdWU6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBTQ1JPTExfVklFV19OT1JNQUxJWkVfVkFMVUVfRlJPTV9aRVJPLCB1c2VWYWx1ZTogdHJ1ZSB9LFxyXG4gICAgXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudCBleHRlbmRzIEJhc2VTY3JvbGxWaWV3IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3Njcm9sbEJhcicsIHsgcmVhZDogTmdTY3JvbGxCYXJDb21wb25lbnQgfSlcclxuICAgIHNjcm9sbEJhcjogTmdTY3JvbGxCYXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kbGFuZ1RleHREaXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRleHREaXJlY3Rpb24+KFRleHREaXJlY3Rpb25zLkxUUik7XHJcbiAgICByZWFkb25seSAkbGFuZ1RleHREaXIgPSB0aGlzLl8kbGFuZ1RleHREaXIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kc2Nyb2xsYmFyRW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oREVGQVVMVF9TQ1JPTExCQVJfRU5BQkxFRCk7XHJcbiAgICByZWFkb25seSAkc2Nyb2xsYmFyRW5hYmxlZCA9IHRoaXMuXyRzY3JvbGxiYXJFbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBzY3JvbGxiYXJFbmFibGVkKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAodGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2Nyb2xsYmFyRW5hYmxlZC5uZXh0KHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBzY3JvbGxiYXJFbmFibGVkKCkgeyByZXR1cm4gdGhpcy5fJHNjcm9sbGJhckVuYWJsZWQuZ2V0VmFsdWUoKTsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfJGNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0+KHt9KTtcclxuICAgIHJlYWRvbmx5ICRjbGFzc2VzID0gdGhpcy5fJGNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGNsYXNzZXModjogeyBbY05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSkge1xyXG4gICAgICAgIGlmICh0aGlzLl8kY2xhc3Nlcy5nZXRWYWx1ZSgpICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRjbGFzc2VzLm5leHQodik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IGNsYXNzZXMoKSB7IHJldHVybiB0aGlzLl8kY2xhc3Nlcy5nZXRWYWx1ZSgpOyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF8kYWN0dWFsQ2xhc3NlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBbY05hbWU6IHN0cmluZ106IGJvb2xlYW4gfT4oe30pO1xyXG4gICAgcmVhZG9ubHkgJGFjdHVhbENsYXNzZXMgPSB0aGlzLl8kYWN0dWFsQ2xhc3Nlcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgXyRjb250YWluZXJDbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtjTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9Pih7fSk7XHJcbiAgICByZWFkb25seSAkY29udGFpbmVyQ2xhc3NlcyA9IHRoaXMuXyRjb250YWluZXJDbGFzc2VzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJHRodW1iU2l6ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcclxuICAgIHJlYWRvbmx5ICR0aHVtYlNpemUgPSB0aGlzLl8kdGh1bWJTaXplLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHByb3RlY3RlZCBfJHNjcm9sbGJhclNob3cgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHJlYWRvbmx5ICRzY3JvbGxiYXJTaG93ID0gdGhpcy5fJHNjcm9sbGJhclNob3cuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0IHgodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCAmJiAhTnVtYmVyLmlzTmFOKHYpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ggPSB0aGlzLl9hY3R1YWxYID0gdjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0IHgoKSB7IHJldHVybiB0aGlzLl94OyB9XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0IHkodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCAmJiAhTnVtYmVyLmlzTmFOKHYpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3kgPSB0aGlzLl9hY3R1YWxZID0gdjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgZ2V0IHkoKSB7IHJldHVybiB0aGlzLl95OyB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uUmVzaXplVmlld3BvcnQoKSB7XHJcbiAgICAgICAgY29uc3Qgdmlld3BvcnQgPSB0aGlzLnNjcm9sbFZpZXdwb3J0Py5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICh2aWV3cG9ydCkge1xyXG4gICAgICAgICAgICB0aGlzLl8kdmlld3BvcnRCb3VuZHMubmV4dCh7IHdpZHRoOiB2aWV3cG9ydC5vZmZzZXRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydC5vZmZzZXRIZWlnaHQgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBvblJlc2l6ZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuc2Nyb2xsQ29udGVudD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoY29udGVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl8kY29udGVudEJvdW5kcy5uZXh0KHsgd2lkdGg6IGNvbnRlbnQub2Zmc2V0V2lkdGgsIGhlaWdodDogY29udGVudC5vZmZzZXRIZWlnaHQgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Njcm9sbEJveCA9IG5ldyBTY3JvbGxCb3goKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICBjb25zdCAkY2xhc3NlcyA9IHRoaXMuJGNsYXNzZXMsXHJcbiAgICAgICAgICAgICRkaXJlY3Rpb24gPSB0aGlzLiRkaXJlY3Rpb247XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoKFskY2xhc3NlcywgJGRpcmVjdGlvbl0pKS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKChbY2xhc3NlcywgZGlyZWN0aW9uXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fJGFjdHVhbENsYXNzZXMubmV4dCh7IC4uLmNsYXNzZXMsIFtkaXJlY3Rpb25dOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICBjb25zdCAkY29udGVudEJvdW5kcyA9IHRoaXMuJGNvbnRlbnRCb3VuZHMsXHJcbiAgICAgICAgICAgICR2aWV3cG9ydEJvdW5kcyA9IHRoaXMuJHZpZXdwb3J0Qm91bmRzLFxyXG4gICAgICAgICAgICAkaXNWZXJ0aWNhbCA9IHRoaXMuJGlzVmVydGljYWwsXHJcbiAgICAgICAgICAgICRzY3JvbGxiYXJFbmFibGVkID0gdGhpcy4kc2Nyb2xsYmFyRW5hYmxlZDtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdChbJGRpcmVjdGlvbiwgJHNjcm9sbGJhckVuYWJsZWQsICRpc1ZlcnRpY2FsLCAkY29udGVudEJvdW5kcywgJHZpZXdwb3J0Qm91bmRzXSkucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCgoW2RpcmVjdGlvbiwgc2Nyb2xsYmFyRW5hYmxlZF0pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuXyRjb250YWluZXJDbGFzc2VzLm5leHQoeyBbZGlyZWN0aW9uXTogdHJ1ZSwgZW5hYmxlZDogc2Nyb2xsYmFyRW5hYmxlZCwgc2Nyb2xsYWJsZTogc2Nyb2xsYmFyRW5hYmxlZCB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgJHN0YXJ0T2Zmc2V0ID0gdGhpcy4kc3RhcnRPZmZzZXQsXHJcbiAgICAgICAgICAgICRlbmRPZmZzZXQgPSB0aGlzLiRlbmRPZmZzZXQsXHJcbiAgICAgICAgICAgICR0aHVtYlNpemUgPSB0aGlzLiR0aHVtYlNpemU7XHJcblxyXG4gICAgICAgIGZyb20oWyRlbmRPZmZzZXQsICRzdGFydE9mZnNldCwgJHRodW1iU2l6ZSwgJGlzVmVydGljYWxdKS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0ICR1cGRhdGVTY3JvbGxCYXIgPSB0aGlzLiR1cGRhdGVTY3JvbGxCYXI7XHJcblxyXG4gICAgICAgICR1cGRhdGVTY3JvbGxCYXIucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNjcm9sbEJhckhhbmRsZXIodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVTY3JvbGxCYXJIYW5kbGVyKHVwZGF0ZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5fJGRpcmVjdGlvbi5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBpc1ZlcnRpY2FsID0gdGhpcy5fJGlzVmVydGljYWwuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgc3RhcnRPZmZzZXQgPSB0aGlzLl8kc3RhcnRPZmZzZXQuZ2V0VmFsdWUoKSxcclxuICAgICAgICAgICAgZW5kT2Zmc2V0ID0gdGhpcy5fJGVuZE9mZnNldC5nZXRWYWx1ZSgpLFxyXG4gICAgICAgICAgICBzY3JvbGxDb250ZW50ID0gdGhpcy5zY3JvbGxDb250ZW50Py5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LFxyXG4gICAgICAgICAgICBzY3JvbGxWaWV3cG9ydCA9IHRoaXMuc2Nyb2xsVmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHRodW1iU2l6ZSxcclxuICAgICAgICAgICAgICAgIHRodW1iUG9zaXRpb24sXHJcbiAgICAgICAgICAgIH0gPSB0aGlzLl9zY3JvbGxCb3guY2FsY3VsYXRlU2Nyb2xsKHtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbixcclxuICAgICAgICAgICAgICAgIHZpZXdwb3J0V2lkdGg6IHNjcm9sbFZpZXdwb3J0Lm9mZnNldFdpZHRoLCB2aWV3cG9ydEhlaWdodDogc2Nyb2xsVmlld3BvcnQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgY29udGVudFdpZHRoOiBzY3JvbGxDb250ZW50Lm9mZnNldFdpZHRoLCBjb250ZW50SGVpZ2h0OiBzY3JvbGxDb250ZW50Lm9mZnNldEhlaWdodCxcclxuICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0LFxyXG4gICAgICAgICAgICAgICAgZW5kT2Zmc2V0LFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb25YOiB0aGlzLl94LFxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb25ZOiB0aGlzLl95LFxyXG4gICAgICAgICAgICAgICAgbWluU2l6ZTogMSxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuXyR0aHVtYlNpemUubmV4dCh0aHVtYlNpemUpO1xyXG4gICAgICAgIGlmICh1cGRhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxCYXI/LnNjcm9sbCh7XHJcbiAgICAgICAgICAgICAgICBbaXNWZXJ0aWNhbCA/IFRPUF9QUk9QX05BTUUgOiBMRUZUX1BST1BfTkFNRV06IHRodW1iUG9zaXRpb24sIGZpcmVVcGRhdGU6IGZhbHNlLCBiZWhhdmlvcjogQkVIQVZJT1JfSU5TVEFOVCxcclxuICAgICAgICAgICAgICAgIHVzZXJBY3Rpb246IGZhbHNlLCBibGVuZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuXyRzY3JvbGxiYXJTaG93Lm5leHQodGhpcy5zY3JvbGxhYmxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlU2Nyb2xsQmFyKCkge1xyXG4gICAgICAgIHRoaXMuXyR1cGRhdGVTY3JvbGxCYXIubmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgbG9jYWxlU2Vuc2l0aXZlIFtsYW5nVGV4dERpcl09XCIoJGxhbmdUZXh0RGlyIHwgYXN5bmMpIVwiIFtsaXN0RGlyXT1cIigkZGlyZWN0aW9uIHwgYXN5bmMpXCIgY2xhc3M9XCJuZ3ZsX19jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiKCRjb250YWluZXJDbGFzc2VzIHwgYXN5bmMpIVwiPlxyXG4gICAgPGRpdiAjc2Nyb2xsVmlld3BvcnQgcGFydD1cInNjcm9sbGVyXCIgY2xhc3M9XCJuZ3ZsX19zY3JvbGxlclwiPlxyXG4gICAgICAgIDxkaXYgI3Njcm9sbENvbnRlbnQgcGFydD1cImxpc3RcIiBjbGFzcz1cIm5ndmxfX2xpc3RcIiBbbmdDbGFzc109XCIoJGFjdHVhbENsYXNzZXMgfCBhc3luYylcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgPrerenderScrollerComponent } from './ng-prerender-scroller.component';
|
|
4
|
-
import { LocaleSensitiveModule } from '../../../../directives';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NgPrerenderScrollerModule {
|
|
7
|
-
}
|
|
8
|
-
NgPrerenderScrollerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
NgPrerenderScrollerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, declarations: [NgPrerenderScrollerComponent], imports: [CommonModule, LocaleSensitiveModule], exports: [NgPrerenderScrollerComponent] });
|
|
10
|
-
NgPrerenderScrollerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, imports: [CommonModule, LocaleSensitiveModule] });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderScrollerModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [NgPrerenderScrollerComponent],
|
|
15
|
-
exports: [NgPrerenderScrollerComponent],
|
|
16
|
-
imports: [CommonModule, LocaleSensitiveModule],
|
|
17
|
-
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLXNjcm9sbGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb21wb25lbnRzL25nLXByZXJlbmRlci1zY3JvbGxlci9uZy1wcmVyZW5kZXItc2Nyb2xsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVEvRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBTG5CLDRCQUE0QixhQUVqQyxZQUFZLEVBQUUscUJBQXFCLGFBRG5DLDRCQUE0Qjt1SEFJN0IseUJBQXlCLFlBSHhCLFlBQVksRUFBRSxxQkFBcUI7MkZBR3BDLHlCQUF5QjtrQkFOckMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdQcmVyZW5kZXJTY3JvbGxlckNvbXBvbmVudCB9IGZyb20gJy4vbmctcHJlcmVuZGVyLXNjcm9sbGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvY2FsZVNlbnNpdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW05nUHJlcmVuZGVyU2Nyb2xsZXJDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW05nUHJlcmVuZGVyU2Nyb2xsZXJDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTG9jYWxlU2Vuc2l0aXZlTW9kdWxlXSxcclxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nUHJlcmVuZGVyU2Nyb2xsZXJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { CMap } from "../../../utils/cmap";
|
|
2
|
-
import { DEFAULT_DYNAMIC_SIZE, DEFAULT_ITEM_SIZE, TRACK_BY_PROPERTY_NAME } from "../../../const";
|
|
3
|
-
import { EventEmitter } from "../../../utils/event-emitter/event-emitter";
|
|
4
|
-
import { PrerenderTrackBoxEvents } from "../events";
|
|
5
|
-
const createItemData = (data, isVertical, bounds, boundsSize, dynamic, itemSize, id, index) => {
|
|
6
|
-
return {
|
|
7
|
-
index,
|
|
8
|
-
id,
|
|
9
|
-
measures: {
|
|
10
|
-
position: 0,
|
|
11
|
-
scrollSize: 0,
|
|
12
|
-
size: itemSize,
|
|
13
|
-
boundsSize,
|
|
14
|
-
absoluteStartPosition: 0,
|
|
15
|
-
absoluteStartPositionPercent: 0,
|
|
16
|
-
absoluteEndPosition: 0,
|
|
17
|
-
absoluteEndPositionPercent: 0,
|
|
18
|
-
delta: 0,
|
|
19
|
-
x: 0,
|
|
20
|
-
y: 0,
|
|
21
|
-
width: (isVertical ? bounds.width : itemSize),
|
|
22
|
-
height: (isVertical ? itemSize : bounds.height),
|
|
23
|
-
},
|
|
24
|
-
data,
|
|
25
|
-
previouseData: data,
|
|
26
|
-
nextData: data,
|
|
27
|
-
config: {
|
|
28
|
-
new: false,
|
|
29
|
-
odd: false,
|
|
30
|
-
even: false,
|
|
31
|
-
collapsable: false,
|
|
32
|
-
sticky: 0,
|
|
33
|
-
selectable: false,
|
|
34
|
-
snap: false,
|
|
35
|
-
snapped: false,
|
|
36
|
-
snappedOut: false,
|
|
37
|
-
isVertical,
|
|
38
|
-
dynamic,
|
|
39
|
-
isSnappingMethodAdvanced: false,
|
|
40
|
-
tabIndex: 0,
|
|
41
|
-
zIndex: "0",
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* PrerenderTrackBox
|
|
47
|
-
* Maximum performance for extremely large lists.
|
|
48
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
49
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-prerender-container/core/prerender-track-box.ts
|
|
50
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
51
|
-
* @email djonnyx@gmail.com
|
|
52
|
-
*/
|
|
53
|
-
export class PrerenderTrackBox extends EventEmitter {
|
|
54
|
-
constructor() {
|
|
55
|
-
super(...arguments);
|
|
56
|
-
this._map = new CMap();
|
|
57
|
-
this._items = new Array();
|
|
58
|
-
this._container = null;
|
|
59
|
-
this._componentClass = null;
|
|
60
|
-
this._components = new Array();
|
|
61
|
-
this._componentsResizeObserver = new ResizeObserver(() => {
|
|
62
|
-
const components = this._components;
|
|
63
|
-
if (!!components) {
|
|
64
|
-
for (const comp of components) {
|
|
65
|
-
const { width, height } = comp.instance.getBounds();
|
|
66
|
-
this._map?.set(comp.instance.itemId, { width, height });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
this.dispatch(PrerenderTrackBoxEvents.RESIZE, (this._map?.toObject() || {}));
|
|
70
|
-
});
|
|
71
|
-
this._active = true;
|
|
72
|
-
}
|
|
73
|
-
get active() { return this._active; }
|
|
74
|
-
refresh(componentClass, bounds, params) {
|
|
75
|
-
const isVertical = params.isVertical ?? true, dynamic = params.dynamic ?? DEFAULT_DYNAMIC_SIZE, itemsSize = params.itemSize ?? DEFAULT_ITEM_SIZE, trackBy = params.trackBy ?? TRACK_BY_PROPERTY_NAME, itemRenderer = params.itemRenderer, boundsSize = isVertical ? bounds.height : bounds.width, items = this._items, components = this._components, resizeObserver = this._componentsResizeObserver;
|
|
76
|
-
if (!items || !components || !this._container) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
let totalSize = 0, j = 0;
|
|
80
|
-
for (let i = items.length - 1, l = 0; i >= l; i--) {
|
|
81
|
-
if (totalSize > boundsSize) {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
const item = items[i];
|
|
85
|
-
if (!!item) {
|
|
86
|
-
const id = item[trackBy], index = items.length - i - 1;
|
|
87
|
-
let comp;
|
|
88
|
-
if (components.length <= j) {
|
|
89
|
-
comp = this._container.createComponent(componentClass);
|
|
90
|
-
comp.instance.renderer = itemRenderer;
|
|
91
|
-
if (!!resizeObserver) {
|
|
92
|
-
resizeObserver.observe(comp.instance.element);
|
|
93
|
-
}
|
|
94
|
-
components.push(comp);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
comp = components[j];
|
|
98
|
-
}
|
|
99
|
-
comp.instance.item = createItemData(item, isVertical, bounds, boundsSize, dynamic, itemsSize, id, index);
|
|
100
|
-
comp.instance.show();
|
|
101
|
-
const { width, height } = comp.instance.getBounds(), w = isVertical ? width : width < itemsSize ? itemsSize : width, h = isVertical ? height < itemsSize ? itemsSize : height : height;
|
|
102
|
-
totalSize += isVertical ? h : w;
|
|
103
|
-
j++;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
create(container) {
|
|
108
|
-
this._container = container;
|
|
109
|
-
}
|
|
110
|
-
reset(componentClass, items, bounds, params) {
|
|
111
|
-
this._items = items;
|
|
112
|
-
this._componentClass = componentClass;
|
|
113
|
-
this.refresh(componentClass, bounds, params);
|
|
114
|
-
}
|
|
115
|
-
getCache() {
|
|
116
|
-
return !!this._map ? this._map.toObject() : {};
|
|
117
|
-
}
|
|
118
|
-
clear() {
|
|
119
|
-
if (!!this._map) {
|
|
120
|
-
this._map.clear();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
on() {
|
|
124
|
-
if (this._active) {
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
this._active = true;
|
|
128
|
-
const components = this._components;
|
|
129
|
-
if (!!components) {
|
|
130
|
-
const observer = this._componentsResizeObserver;
|
|
131
|
-
for (const comp of components) {
|
|
132
|
-
if (!!comp && !!observer) {
|
|
133
|
-
observer.observe(comp.instance.element);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
off() {
|
|
139
|
-
if (!this._active) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
this._active = false;
|
|
143
|
-
if (!!this._componentsResizeObserver) {
|
|
144
|
-
this._componentsResizeObserver?.disconnect();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
dispose() {
|
|
148
|
-
super.dispose();
|
|
149
|
-
if (!!this._map) {
|
|
150
|
-
this._map.clear();
|
|
151
|
-
this._map = null;
|
|
152
|
-
}
|
|
153
|
-
if (!!this._items) {
|
|
154
|
-
this._items = null;
|
|
155
|
-
}
|
|
156
|
-
if (!!this._componentClass) {
|
|
157
|
-
this._componentClass = null;
|
|
158
|
-
}
|
|
159
|
-
if (!!this._container) {
|
|
160
|
-
this._container = null;
|
|
161
|
-
}
|
|
162
|
-
if (!!this._components) {
|
|
163
|
-
this._components = null;
|
|
164
|
-
}
|
|
165
|
-
if (!!this._componentsResizeObserver) {
|
|
166
|
-
this._componentsResizeObserver.disconnect();
|
|
167
|
-
this._componentsResizeObserver = null;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcmVuZGVyLXRyYWNrLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb3JlL3ByZXJlbmRlci10cmFjay1ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQTZCLE1BQU0sV0FBVyxDQUFDO0FBRS9FLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBc0IsRUFBRSxVQUFtQixFQUFFLE1BQWEsRUFBRSxVQUFrQixFQUNsRyxPQUFnQixFQUFFLFFBQWdCLEVBQUUsRUFBTSxFQUFFLEtBQWEsRUFBMEIsRUFBRTtJQUNyRixPQUFPO1FBQ0gsS0FBSztRQUNMLEVBQUU7UUFDRixRQUFRLEVBQUU7WUFDTixRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxVQUFVO1lBQ1YscUJBQXFCLEVBQUUsQ0FBQztZQUN4Qiw0QkFBNEIsRUFBRSxDQUFDO1lBQy9CLG1CQUFtQixFQUFFLENBQUM7WUFDdEIsMEJBQTBCLEVBQUUsQ0FBQztZQUM3QixLQUFLLEVBQUUsQ0FBQztZQUNSLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBUTtZQUNwRCxNQUFNLEVBQUUsQ0FBQyxV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VSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNsQyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztTQUN6QztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0sIElWaXJ0dWFsTGlzdENvbGxlY3Rpb24sIElWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IElkIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENNYXAgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY21hcFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJDYWNoZSB9IGZyb20gXCIuLi90eXBlcy9jYWNoZVwiO1xyXG5pbXBvcnQgeyBCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL25nLWxpc3QtaXRlbS9iYXNlXCI7XHJcbmltcG9ydCB7IElQcmVyZW5kZXJUcmFja0JveFJlZnJlc2hQYXJhbXMgfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQgeyBERUZBVUxUX0RZTkFNSUNfU0laRSwgREVGQVVMVF9JVEVNX1NJWkUsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUgfSBmcm9tIFwiLi4vLi4vLi4vY29uc3RcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50JDEgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZXZlbnQtZW1pdHRlci9ldmVudC1lbWl0dGVyXCI7XHJcbmltcG9ydCB7IFByZXJlbmRlclRyYWNrQm94RXZlbnRzLCBQcmVyZW5kZXJUcmFja0JveEhhbmRsZXJzIH0gZnJvbSBcIi4uL2V2ZW50c1wiO1xyXG5cclxuY29uc3QgY3JlYXRlSXRlbURhdGEgPSAoZGF0YTogSVZpcnR1YWxMaXN0SXRlbSwgaXNWZXJ0aWNhbDogYm9vbGVhbiwgYm91bmRzOiBJU2l6ZSwgYm91bmRzU2l6ZTogbnVtYmVyLFxyXG4gICAgZHluYW1pYzogYm9vbGVhbiwgaXRlbVNpemU6IG51bWJlciwgaWQ6IElkLCBpbmRleDogbnVtYmVyKTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGluZGV4LFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIG1lYXN1cmVzOiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBzY3JvbGxTaXplOiAwLFxyXG4gICAgICAgICAgICBzaXplOiBpdGVtU2l6ZSxcclxuICAgICAgICAgICAgYm91bmRzU2l6ZSxcclxuICAgICAgICAgICAgYWJzb2x1dGVTdGFydFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZVN0YXJ0UG9zaXRpb25QZXJjZW50OiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZUVuZFBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBhYnNvbHV0ZUVuZFBvc2l0aW9uUGVyY2VudDogMCxcclxuICAgICAgICAgICAgZGVsdGE6IDAsXHJcbiAgICAgICAgICAgIHg6IDAsXHJcbiAgICAgICAgICAgIHk6IDAsXHJcbiAgICAgICAgICAgIHdpZHRoOiAoaXNWZXJ0aWNhbCA/IGJvdW5kcy53aWR0aCA6IGl0ZW1TaXplKSBhcyBhbnksXHJcbiAgICAgICAgICAgIGhlaWdodDogKGlzVmVydGljYWwgPyBpdGVtU2l6ZSA6IGJvdW5kcy5oZWlnaHQpIGFzIGFueSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgcHJldmlvdXNlRGF0YTogZGF0YSxcclxuICAgICAgICBuZXh0RGF0YTogZGF0YSxcclxuICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgbmV3OiBmYWxzZSxcclxuICAgICAgICAgICAgb2RkOiBmYWxzZSxcclxuICAgICAgICAgICAgZXZlbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNvbGxhcHNhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgc3RpY2t5OiAwLFxyXG4gICAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgc25hcDogZmFsc2UsXHJcbiAgICAgICAgICAgIHNuYXBwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzbmFwcGVkT3V0OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNWZXJ0aWNhbCxcclxuICAgICAgICAgICAgZHluYW1pYyxcclxuICAgICAgICAgICAgaXNTbmFwcGluZ01ldGhvZEFkdmFuY2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgdGFiSW5kZXg6IDAsXHJcbiAgICAgICAgICAgIHpJbmRleDogXCIwXCIsXHJcbiAgICAgICAgfSxcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXJlbmRlclRyYWNrQm94XHJcbiAqIE1heGltdW0gcGVyZm9ybWFuY2UgZm9yIGV4dHJlbWVseSBsYXJnZSBsaXN0cy5cclxuICogSXQgaXMgYmFzZWQgb24gYWxnb3JpdGhtcyBmb3IgdmlydHVhbGl6YXRpb24gb2Ygc2NyZWVuIG9iamVjdHMuXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9Eam9ubnlYL25nLXZpcnR1YWwtbGlzdC9ibG9iLzE0LngvcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci9jb3JlL3ByZXJlbmRlci10cmFjay1ib3gudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUHJlcmVuZGVyVHJhY2tCb3ggZXh0ZW5kcyBFdmVudEVtaXR0ZXI8UHJlcmVuZGVyVHJhY2tCb3hFdmVudHMsIFByZXJlbmRlclRyYWNrQm94SGFuZGxlcnM+IHtcclxuICAgIHByaXZhdGUgX21hcDogQ01hcDxJZCwgSVNpemU+IHwgbnVsbCA9IG5ldyBDTWFwPElkLCBJU2l6ZT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogSVZpcnR1YWxMaXN0Q29sbGVjdGlvbiB8IG51bGwgPSBuZXcgQXJyYXk8SVZpcnR1YWxMaXN0SXRlbT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIF9jb21wb25lbnRDbGFzczogQ29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIF9jb21wb25lbnRzOiBBcnJheTxDb21wb25lbnRSZWY8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4+IHwgbnVsbCA9IG5ldyBBcnJheTxDb21wb25lbnRSZWY8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50c1Jlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9jb21wb25lbnRzO1xyXG4gICAgICAgIGlmICghIWNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjb21wIG9mIGNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gY29tcC5pbnN0YW5jZS5nZXRCb3VuZHMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX21hcD8uc2V0KGNvbXAuaW5zdGFuY2UuaXRlbUlkISwgeyB3aWR0aCwgaGVpZ2h0IH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goUHJlcmVuZGVyVHJhY2tCb3hFdmVudHMuUkVTSVpFLCAodGhpcy5fbWFwPy50b09iamVjdCgpIHx8IHt9KSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuX2FjdGl2ZTsgfVxyXG5cclxuICAgIHByaXZhdGUgcmVmcmVzaChjb21wb25lbnRDbGFzczogQ29tcG9uZW50JDE8QmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudD4sIGJvdW5kczogSVNpemUsIHBhcmFtczogSVByZXJlbmRlclRyYWNrQm94UmVmcmVzaFBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IGlzVmVydGljYWwgPSBwYXJhbXMuaXNWZXJ0aWNhbCA/PyB0cnVlLFxyXG4gICAgICAgICAgICBkeW5hbWljID0gcGFyYW1zLmR5bmFtaWMgPz8gREVGQVVMVF9EWU5BTUlDX1NJWkUsXHJcbiAgICAgICAgICAgIGl0ZW1zU2l6ZSA9IHBhcmFtcy5pdGVtU2l6ZSA/PyBERUZBVUxUX0lURU1fU0laRSxcclxuICAgICAgICAgICAgdHJhY2tCeSA9IHBhcmFtcy50cmFja0J5ID8/IFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXJlciA9IHBhcmFtcy5pdGVtUmVuZGVyZXIsXHJcbiAgICAgICAgICAgIGJvdW5kc1NpemUgPSBpc1ZlcnRpY2FsID8gYm91bmRzLmhlaWdodCA6IGJvdW5kcy53aWR0aCxcclxuICAgICAgICAgICAgaXRlbXMgPSB0aGlzLl9pdGVtcywgY29tcG9uZW50cyA9IHRoaXMuX2NvbXBvbmVudHMsXHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyID0gdGhpcy5fY29tcG9uZW50c1Jlc2l6ZU9ic2VydmVyO1xyXG5cclxuICAgICAgICBpZiAoIWl0ZW1zIHx8ICFjb21wb25lbnRzIHx8ICF0aGlzLl9jb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdG90YWxTaXplID0gMCwgaiA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGl0ZW1zLmxlbmd0aCAtIDEsIGwgPSAwOyBpID49IGw7IGktLSkge1xyXG4gICAgICAgICAgICBpZiAodG90YWxTaXplID4gYm91bmRzU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBpZiAoISFpdGVtKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpZCA9IGl0ZW1bdHJhY2tCeV0sIGluZGV4ID0gaXRlbXMubGVuZ3RoIC0gaSAtIDE7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29tcDogQ29tcG9uZW50UmVmPEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQ+O1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoIDw9IGopIHtcclxuICAgICAgICAgICAgICAgICAgICBjb21wID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRDbGFzcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcC5pbnN0YW5jZS5yZW5kZXJlciA9IGl0ZW1SZW5kZXJlcjtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISFyZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbXAuaW5zdGFuY2UuZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb21wKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcCA9IGNvbXBvbmVudHNbal07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb21wLmluc3RhbmNlLml0ZW0gPSBjcmVhdGVJdGVtRGF0YShpdGVtLCBpc1ZlcnRpY2FsLCBib3VuZHMsIGJvdW5kc1NpemUsIGR5bmFtaWMsIGl0ZW1zU2l6ZSwgaWQsIGluZGV4KTtcclxuICAgICAgICAgICAgICAgIGNvbXAuaW5zdGFuY2Uuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBjb21wLmluc3RhbmNlLmdldEJvdW5kcygpLFxyXG4gICAgICAgICAgICAgICAgICAgIHcgPSBpc1ZlcnRpY2FsID8gd2lkdGggOiB3aWR0aCA8IGl0ZW1zU2l6ZSA/IGl0ZW1zU2l6ZSA6IHdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGggPSBpc1ZlcnRpY2FsID8gaGVpZ2h0IDwgaXRlbXNTaXplID8gaXRlbXNTaXplIDogaGVpZ2h0IDogaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdG90YWxTaXplICs9IGlzVmVydGljYWwgPyBoIDogdztcclxuICAgICAgICAgICAgICAgIGorKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KGNvbXBvbmVudENsYXNzOiBDb21wb25lbnQkMTxCYXNlVmlydHVhbExpc3RJdGVtQ29tcG9uZW50PiwgaXRlbXM6IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24sXHJcbiAgICAgICAgYm91bmRzOiBJU2l6ZSwgcGFyYW1zOiBJUHJlcmVuZGVyVHJhY2tCb3hSZWZyZXNoUGFyYW1zKSB7XHJcbiAgICAgICAgdGhpcy5faXRlbXMgPSBpdGVtcztcclxuICAgICAgICB0aGlzLl9jb21wb25lbnRDbGFzcyA9IGNvbXBvbmVudENsYXNzO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaChjb21wb25lbnRDbGFzcywgYm91bmRzLCBwYXJhbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENhY2hlKCk6IFByZXJlbmRlckNhY2hlIHtcclxuICAgICAgICByZXR1cm4gISF0aGlzLl9tYXAgPyB0aGlzLl9tYXAudG9PYmplY3QoKSA6IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyKCkge1xyXG4gICAgICAgIGlmICghIXRoaXMuX21hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tYXAuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLl9jb21wb25lbnRzO1xyXG4gICAgICAgIGlmICghIWNvbXBvbmVudHMpIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY29tcCBvZiBjb21wb25lbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoISFjb21wICYmICEhb2JzZXJ2ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGNvbXAuaW5zdGFuY2UuZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2ZmKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudHNSZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgZGlzcG9zZSgpIHtcclxuICAgICAgICBzdXBlci5kaXNwb3NlKCk7XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX21hcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9tYXAuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5fbWFwID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2l0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudENsYXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudENsYXNzID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbnRhaW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5fY29tcG9uZW50cykge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghIXRoaXMuX2NvbXBvbmVudHNSZXNpemVPYnNlcnZlcikge1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRzUmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, } from "@angular/core";
|
|
2
|
-
import { filter, of, switchMap, takeUntil } from "rxjs";
|
|
3
|
-
import { DEFAULT_DIRECTION, DEFAULT_DYNAMIC_SIZE, DEFAULT_ITEM_SIZE, DEFAULT_SCROLLBAR_ENABLED, TRACK_BY_PROPERTY_NAME, } from "../../const";
|
|
4
|
-
import { NgPrerenderList } from "./components/ng-prerender-list/ng-prerender-list.component";
|
|
5
|
-
import { DisposableComponent } from "../../utils/disposable-component";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./components/ng-prerender-list/ng-prerender-list.component";
|
|
8
|
-
/**
|
|
9
|
-
* Prerender container.
|
|
10
|
-
* Maximum performance for extremely large lists.
|
|
11
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
12
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/ng-prerender-container/ng-prerender-container.component.ts
|
|
13
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
14
|
-
* @email djonnyx@gmail.com
|
|
15
|
-
*/
|
|
16
|
-
export class NgPrerenderContainer extends DisposableComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this._list = null;
|
|
20
|
-
this.enabled = false;
|
|
21
|
-
this.direction = DEFAULT_DIRECTION;
|
|
22
|
-
this.isVertical = true;
|
|
23
|
-
this.scrollbarEnabled = DEFAULT_SCROLLBAR_ENABLED;
|
|
24
|
-
this.startOffset = 0;
|
|
25
|
-
this.endOffset = 0;
|
|
26
|
-
this.dynamic = DEFAULT_DYNAMIC_SIZE;
|
|
27
|
-
this.itemSize = DEFAULT_ITEM_SIZE;
|
|
28
|
-
this.trackBy = TRACK_BY_PROPERTY_NAME;
|
|
29
|
-
}
|
|
30
|
-
get active() {
|
|
31
|
-
return this._list?.active ?? false;
|
|
32
|
-
}
|
|
33
|
-
ngAfterViewInit() {
|
|
34
|
-
const $list = of(this._list);
|
|
35
|
-
this.$render = $list.pipe(takeUntil(this._$unsubscribe), filter(v => !!v), switchMap(v => v.$render));
|
|
36
|
-
}
|
|
37
|
-
clear() {
|
|
38
|
-
const list = this._list;
|
|
39
|
-
if (!!list) {
|
|
40
|
-
list.clear();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
on(items = null) {
|
|
44
|
-
const list = this._list;
|
|
45
|
-
if (!!list) {
|
|
46
|
-
list.on(items);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
off() {
|
|
50
|
-
const list = this._list;
|
|
51
|
-
if (!!list) {
|
|
52
|
-
list.off();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
NgPrerenderContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
NgPrerenderContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgPrerenderContainer, selector: "ng-prerender-container", inputs: { enabled: "enabled", direction: "direction", isVertical: "isVertical", scrollbarEnabled: "scrollbarEnabled", startOffset: "startOffset", endOffset: "endOffset", bounds: "bounds", dynamic: "dynamic", itemSize: "itemSize", trackBy: "trackBy", itemRenderer: "itemRenderer" }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "_list", first: true, predicate: ["list"], descendants: true, read: NgPrerenderList }], usesInheritance: true, ngImport: i0, template: "<ng-prerender-list #list [bounds]=\"bounds!\" [direction]=\"direction\" [dynamic]=\"dynamic\" [isVertical]=\"isVertical\"\r\n [itemSize]=\"itemSize\" [trackBy]=\"trackBy\" [itemRenderer]=\"itemRenderer\" [startOffset]=\"startOffset\"\r\n [endOffset]=\"endOffset\" [scrollbarEnabled]=\"scrollbarEnabled\" [enabled]=\"enabled\"></ng-prerender-list>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"], dependencies: [{ kind: "component", type: i1.NgPrerenderList, selector: "ng-prerender-list", inputs: ["enabled", "direction", "isVertical", "items", "scrollbarEnabled", "startOffset", "endOffset", "bounds", "dynamic", "itemSize", "trackBy", "itemRenderer", "itemComponentClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgPrerenderContainer, decorators: [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'ng-prerender-container', host: {
|
|
61
|
-
'style': 'position: relative;'
|
|
62
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-prerender-list #list [bounds]=\"bounds!\" [direction]=\"direction\" [dynamic]=\"dynamic\" [isVertical]=\"isVertical\"\r\n [itemSize]=\"itemSize\" [trackBy]=\"trackBy\" [itemRenderer]=\"itemRenderer\" [startOffset]=\"startOffset\"\r\n [endOffset]=\"endOffset\" [scrollbarEnabled]=\"scrollbarEnabled\" [enabled]=\"enabled\"></ng-prerender-list>", styles: [":host{position:relative;display:block;width:400px;overflow:hidden}:host(.horizontal){height:48px}:host(.vertical){height:320px}.ngvl__snapped-container{position:relative;width:100%;opacity:0}.ngvl__snapped-container.prepared{opacity:1}.ngvl__list-snapper{-webkit-tap-highlight-color:transparent;pointer-events:none;position:absolute;list-style:none;left:0;top:0;z-index:1}.ngvl__list-scroller{-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;width:100%;height:100%;z-index:0}.ngvl__screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n", ":host{visibility:hidden;height:0!important;width:0!important;overflow:hidden}\n"] }]
|
|
63
|
-
}], ctorParameters: function () { return []; }, propDecorators: { _list: [{
|
|
64
|
-
type: ViewChild,
|
|
65
|
-
args: ['list', { read: NgPrerenderList }]
|
|
66
|
-
}], enabled: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], direction: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], isVertical: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], scrollbarEnabled: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], startOffset: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], endOffset: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], bounds: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], dynamic: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], itemSize: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], trackBy: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], itemRenderer: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEdBQ3ZGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUNILGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixHQUNoSCxNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFFN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUV2RTs7Ozs7OztHQU9HO0FBV0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTJDekQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQTFDSixVQUFLLEdBQTJCLElBQUksQ0FBQztRQUc3QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLGNBQVMsR0FBYyxpQkFBaUIsQ0FBQztRQUd6QyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRzNCLHFCQUFnQixHQUFZLHlCQUF5QixDQUFDO1FBR3RELGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFNdEIsWUFBTyxHQUFZLG9CQUFvQixDQUFDO1FBR3hDLGFBQVEsR0FBVyxpQkFBaUIsQ0FBQztRQUdyQyxZQUFPLEdBQVcsc0JBQXNCLENBQUM7SUFhekMsQ0FBQztJQU5ELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFNRCxlQUFlO1FBQ1gsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDaEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUs7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxFQUFFLENBQUMsUUFBdUMsSUFBSTtRQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBRUQsR0FBRztRQUNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7SUFDTCxDQUFDOztpSEE1RVEsb0JBQW9CO3FHQUFwQixvQkFBb0IsbWRBQ0YsZUFBZSxvRENqQzlDLDhWQUV3RzsyRkQ4QjNGLG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDSSx3QkFBd0IsUUFHNUI7d0JBQ0YsT0FBTyxFQUFFLHFCQUFxQjtxQkFDakMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFNBQVM7MEVBSWxDLEtBQUs7c0JBRFosU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQUk1QyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtcclxuICAgIERFRkFVTFRfRElSRUNUSU9OLCBERUZBVUxUX0RZTkFNSUNfU0laRSwgREVGQVVMVF9JVEVNX1NJWkUsIERFRkFVTFRfU0NST0xMQkFSX0VOQUJMRUQsIFRSQUNLX0JZX1BST1BFUlRZX05BTUUsXHJcbn0gZnJvbSBcIi4uLy4uL2NvbnN0XCI7XHJcbmltcG9ydCB7IElTaXplIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBOZ1ByZXJlbmRlckxpc3QgfSBmcm9tIFwiLi9jb21wb25lbnRzL25nLXByZXJlbmRlci1saXN0L25nLXByZXJlbmRlci1saXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBQcmVyZW5kZXJDYWNoZSB9IGZyb20gXCIuL3R5cGVzXCI7XHJcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcclxuXHJcbi8qKlxyXG4gKiBQcmVyZW5kZXIgY29udGFpbmVyLlxyXG4gKiBNYXhpbXVtIHBlcmZvcm1hbmNlIGZvciBleHRyZW1lbHkgbGFyZ2UgbGlzdHMuXHJcbiAqIEl0IGlzIGJhc2VkIG9uIGFsZ29yaXRobXMgZm9yIHZpcnR1YWxpemF0aW9uIG9mIHNjcmVlbiBvYmplY3RzLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL25nLXByZXJlbmRlci1jb250YWluZXIvbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmctcHJlcmVuZGVyLWNvbnRhaW5lcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vLi4vbmctdmlydHVhbC1saXN0LmNvbXBvbmVudC5zY3NzJywgJy4vbmctcHJlcmVuZGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdzdHlsZSc6ICdwb3NpdGlvbjogcmVsYXRpdmU7J1xyXG4gICAgfSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdQcmVyZW5kZXJDb250YWluZXIgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHJlYWQ6IE5nUHJlcmVuZGVyTGlzdCB9KVxyXG4gICAgcHJpdmF0ZSBfbGlzdDogTmdQcmVyZW5kZXJMaXN0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGlyZWN0aW9uOiBEaXJlY3Rpb24gPSBERUZBVUxUX0RJUkVDVElPTjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbGJhckVuYWJsZWQ6IGJvb2xlYW4gPSBERUZBVUxUX1NDUk9MTEJBUl9FTkFCTEVEO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzdGFydE9mZnNldDogbnVtYmVyID0gMDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZW5kT2Zmc2V0OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBib3VuZHMhOiBJU2l6ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZHluYW1pYzogYm9vbGVhbiA9IERFRkFVTFRfRFlOQU1JQ19TSVpFO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpdGVtU2l6ZTogbnVtYmVyID0gREVGQVVMVF9JVEVNX1NJWkU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHRyYWNrQnk6IHN0cmluZyA9IFRSQUNLX0JZX1BST1BFUlRZX05BTUU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGl0ZW1SZW5kZXJlciE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgJHJlbmRlciE6IE9ic2VydmFibGU8UHJlcmVuZGVyQ2FjaGU+O1xyXG5cclxuICAgIGdldCBhY3RpdmUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3Q/LmFjdGl2ZSA/PyBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBjb25zdCAkbGlzdCA9IG9mKHRoaXMuX2xpc3QpO1xyXG5cclxuICAgICAgICB0aGlzLiRyZW5kZXIgPSAkbGlzdC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICAgICAgZmlsdGVyKHYgPT4gISF2KSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHYgPT4gdiEuJHJlbmRlciksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5fbGlzdDtcclxuICAgICAgICBpZiAoISFsaXN0KSB7XHJcbiAgICAgICAgICAgIGxpc3QuY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb24oaXRlbXM6IElWaXJ0dWFsTGlzdENvbGxlY3Rpb24gfCBudWxsID0gbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLl9saXN0O1xyXG4gICAgICAgIGlmICghIWxpc3QpIHtcclxuICAgICAgICAgICAgbGlzdC5vbihpdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9mZigpIHtcclxuICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5fbGlzdDtcclxuICAgICAgICBpZiAoISFsaXN0KSB7XHJcbiAgICAgICAgICAgIGxpc3Qub2ZmKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPG5nLXByZXJlbmRlci1saXN0ICNsaXN0IFtib3VuZHNdPVwiYm91bmRzIVwiIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCIgW2R5bmFtaWNdPVwiZHluYW1pY1wiIFtpc1ZlcnRpY2FsXT1cImlzVmVydGljYWxcIlxyXG4gIFtpdGVtU2l6ZV09XCJpdGVtU2l6ZVwiIFt0cmFja0J5XT1cInRyYWNrQnlcIiBbaXRlbVJlbmRlcmVyXT1cIml0ZW1SZW5kZXJlclwiIFtzdGFydE9mZnNldF09XCJzdGFydE9mZnNldFwiXHJcbiAgW2VuZE9mZnNldF09XCJlbmRPZmZzZXRcIiBbc2Nyb2xsYmFyRW5hYmxlZF09XCJzY3JvbGxiYXJFbmFibGVkXCIgW2VuYWJsZWRdPVwiZW5hYmxlZFwiPjwvbmctcHJlcmVuZGVyLWxpc3Q+Il19
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { NgScrollBarService } from './ng-scroll-bar.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* NgScrollBarService
|
|
6
|
-
* Maximum performance for extremely large lists.
|
|
7
|
-
* It is based on algorithms for virtualization of screen objects.
|
|
8
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.ts
|
|
9
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
10
|
-
* @email djonnyx@gmail.com
|
|
11
|
-
*/
|
|
12
|
-
export class NgScrollBarPublicService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this._internalService = inject(NgScrollBarService);
|
|
15
|
-
}
|
|
16
|
-
get $click() { return this._internalService.$click; }
|
|
17
|
-
get $state() { return this._internalService.$state; }
|
|
18
|
-
}
|
|
19
|
-
NgScrollBarPublicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
-
NgScrollBarPublicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, providedIn: 'root' });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgScrollBarPublicService, decorators: [{
|
|
22
|
-
type: Injectable,
|
|
23
|
-
args: [{
|
|
24
|
-
providedIn: 'root'
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc2Nyb2xsLWJhci1wdWJsaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctc2Nyb2xsLWJhci9uZy1zY3JvbGwtYmFyLXB1YmxpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU3RDs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQUlVLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBS3ZEO0lBSEMsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVyRCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDOztxSEFMMUMsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nU2Nyb2xsQmFyU2VydmljZSB9IGZyb20gJy4vbmctc2Nyb2xsLWJhci5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBOZ1Njcm9sbEJhclNlcnZpY2VcclxuICogTWF4aW11bSBwZXJmb3JtYW5jZSBmb3IgZXh0cmVtZWx5IGxhcmdlIGxpc3RzLlxyXG4gKiBJdCBpcyBiYXNlZCBvbiBhbGdvcml0aG1zIGZvciB2aXJ0dWFsaXphdGlvbiBvZiBzY3JlZW4gb2JqZWN0cy5cclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLXNjcm9sbC1iYXIvbmctc2Nyb2xsLWJhci1wdWJsaWMuc2VydmljZS50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nU2Nyb2xsQmFyUHVibGljU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfaW50ZXJuYWxTZXJ2aWNlID0gaW5qZWN0KE5nU2Nyb2xsQmFyU2VydmljZSk7XHJcblxyXG4gIGdldCAkY2xpY2soKSB7IHJldHVybiB0aGlzLl9pbnRlcm5hbFNlcnZpY2UuJGNsaWNrOyB9XHJcblxyXG4gIGdldCAkc3RhdGUoKSB7IHJldHVybiB0aGlzLl9pbnRlcm5hbFNlcnZpY2UuJHN0YXRlOyB9XHJcbn1cclxuIl19
|