ng-virtual-list 14.12.0 → 14.12.1
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 +1 -11
- package/esm2020/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +309 -0
- package/{esm2022 → esm2020}/lib/components/ng-list-item/base/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-list-item/const/index.mjs +40 -40
- package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-list-item/interfaces/template-context.mjs +1 -1
- package/esm2020/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +200 -0
- package/{esm2022 → esm2020}/lib/components/ng-list-item/ng-virtual-list-item.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/create-display-id.mjs +9 -9
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/get-element-by-index.mjs +19 -19
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/index.mjs +4 -4
- package/{esm2022 → esm2020}/lib/components/ng-list-item/utils/matrix-3d.mjs +12 -12
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +278 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.module.mjs +21 -21
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +94 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.module.mjs +20 -20
- package/esm2020/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +141 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/core/index.mjs +2 -2
- package/esm2020/lib/components/ng-prerender-container/core/prerender-track-box.mjs +201 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/events/index.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/interfaces/refresh-params.mjs +1 -1
- package/esm2020/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +90 -0
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/ng-prerender-container.module.mjs +20 -20
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/cache.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-prerender-container/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/const/index.mjs +8 -8
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/enums/scrollbar-states.mjs +6 -6
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scroll-bar-template-context.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/interfaces/scrollbar-drag-data.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +27 -0
- package/esm2020/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +324 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.module.mjs +19 -19
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/ng-scroll-bar.service.mjs +38 -36
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-bar/types/scrollbar-state.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +260 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/const/index.mjs +8 -8
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-direction.mjs +11 -11
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/enums/scroller-directions.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/index.mjs +3 -3
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/interfaces/scroll-to-params.mjs +1 -1
- package/esm2020/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +856 -0
- package/esm2020/lib/components/ng-scroll-view/utils/calculate-direction.mjs +17 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/calculate-velocity.mjs +11 -11
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/get-dir.mjs +9 -9
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/index.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-scroll-view/utils/matrix-3d.mjs +9 -9
- package/esm2020/lib/components/ng-scroll-view/utils/scroll-box.mjs +45 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-direction.mjs +5 -5
- package/{esm2022 → esm2020}/lib/components/ng-scroller/enums/scroller-directions.mjs +1 -1
- package/esm2020/lib/components/ng-scroller/ng-scroller.component.mjs +521 -0
- package/{esm2022 → esm2020}/lib/components/ng-scroller/ng-scroller.module.mjs +22 -22
- package/{esm2022 → esm2020}/lib/components/ng-scroller/utils/index.mjs +2 -2
- package/esm2020/lib/components/ng-scroller/utils/scroll-box.mjs +52 -0
- package/{esm2022 → esm2020}/lib/const/index.mjs +164 -164
- package/esm2020/lib/core/cache-map.mjs +100 -0
- package/{esm2022 → esm2020}/lib/core/const/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/enums/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/enums/item-display-methods.mjs +13 -13
- package/{esm2022 → esm2020}/lib/core/events/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/core/events/track-box-events.mjs +11 -11
- package/{esm2022 → esm2020}/lib/core/interfaces/get-item-position-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/get-metrics-returns.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/item.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/metrics.mjs +1 -1
- package/esm2020/lib/core/interfaces/recalculate-metrics-options.mjs +2 -0
- package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/interfaces/update-collection-returns.mjs +1 -1
- package/esm2020/lib/core/track-box.mjs +1352 -0
- package/esm2020/lib/core/tracker.mjs +209 -0
- package/{esm2022 → esm2020}/lib/core/types/cache-map-events.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/cache-map-listeners.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/cache.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/on-change-event-listener.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/types/on-tick-event-listener.mjs +1 -1
- package/{esm2022 → esm2020}/lib/core/utils/get-service-id-prop.mjs +9 -9
- package/{esm2022 → esm2020}/lib/core/utils/index.mjs +2 -2
- package/{esm2022 → esm2020}/lib/directives/index.mjs +3 -3
- package/esm2020/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +67 -0
- package/{esm2022 → esm2020}/lib/directives/locale-sensitive/locale-sensitive.module.mjs +19 -19
- package/esm2020/lib/directives/virtual-click/virtual-click.directive.mjs +66 -0
- package/{esm2022 → esm2020}/lib/directives/virtual-click/virtual-click.module.mjs +19 -19
- package/{esm2022 → esm2020}/lib/enums/alignments.mjs +11 -11
- package/{esm2022 → esm2020}/lib/enums/collapsing-modes.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/collection-modes.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/directions.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/focus-alignments.mjs +13 -13
- package/{esm2022 → esm2020}/lib/enums/index.mjs +11 -11
- package/{esm2022 → esm2020}/lib/enums/selecting-modes-types.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/selecting-modes.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/snap-to-item-aligns.mjs +21 -21
- package/{esm2022 → esm2020}/lib/enums/snapping-methods.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/spreading-modes.mjs +17 -17
- package/{esm2022 → esm2020}/lib/enums/text-directions.mjs +13 -13
- package/{esm2022 → esm2020}/lib/interfaces/animation-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/base-virtual-list-item-component.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/item-transformation.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/point.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/rect.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/render-stabilizer-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-event.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-options.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scroll-to-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/scrolling-settings.mjs +1 -1
- package/{esm2022 → esm2020}/lib/interfaces/size.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/collection.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/component.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/display-object-config.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/display-object-measures.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/item-config-map.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/item.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/render-collection.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/render-item-config.model.mjs +1 -1
- package/{esm2022 → esm2020}/lib/models/render-item-measures.model.mjs +2 -2
- package/{esm2022 → esm2020}/lib/models/render-item.model.mjs +2 -2
- package/esm2020/lib/ng-virtual-list-public.service.mjs +122 -0
- package/esm2020/lib/ng-virtual-list.component.mjs +3255 -0
- package/{esm2022 → esm2020}/lib/ng-virtual-list.module.mjs +23 -23
- package/esm2020/lib/ng-virtual-list.service.mjs +430 -0
- package/esm2020/lib/transformations/deck-of-cards-3d.mjs +57 -0
- package/esm2020/lib/transformations/deck-of-cards.mjs +54 -0
- package/esm2020/lib/transformations/event-horizon.mjs +47 -0
- package/{esm2022 → esm2020}/lib/transformations/index.mjs +12 -12
- package/esm2020/lib/transformations/linear.mjs +47 -0
- package/esm2020/lib/transformations/swipe-3d.mjs +51 -0
- package/{esm2022 → esm2020}/lib/types/alignment.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/arithmetic-expression.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/collapsing-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/collection-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/color.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/direction.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/float-or-persentage-value.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/focus-alignment.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/focus-item-params.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/gradient-color-position.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/gradient-color-positions.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/id.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/item-transform.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/scroll-direction.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/selecting-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snap-to-item-align.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snapping-distance.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/snapping-method.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/spreading-mode.mjs +1 -1
- package/{esm2022 → esm2020}/lib/types/text-direction.mjs +1 -1
- package/esm2020/lib/utils/animator/animator.mjs +80 -0
- package/{esm2022 → esm2020}/lib/utils/animator/const/index.mjs +1 -1
- package/{esm2022 → esm2020}/lib/utils/animator/ease.mjs +6 -6
- package/{esm2022 → esm2020}/lib/utils/animator/index.mjs +4 -4
- package/esm2020/lib/utils/animator/interfaces/animator-params.mjs +2 -0
- package/esm2020/lib/utils/animator/interfaces/animator-update-data.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/animator/interfaces/index.mjs +1 -1
- package/esm2020/lib/utils/animator/types/easing.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/animator/types/index.mjs +1 -1
- package/esm2020/lib/utils/buffer-interpolation.mjs +29 -0
- package/esm2020/lib/utils/cmap.mjs +34 -0
- package/esm2020/lib/utils/debounce.mjs +61 -0
- package/esm2020/lib/utils/disposable-component.mjs +29 -0
- package/esm2020/lib/utils/event-emitter/event-emitter.mjs +106 -0
- package/{esm2022 → esm2020}/lib/utils/event-emitter/index.mjs +2 -2
- package/esm2020/lib/utils/event-emitter/interfaces/event-emitter.mjs +2 -0
- package/{esm2022 → esm2020}/lib/utils/event-emitter/interfaces/index.mjs +1 -1
- package/esm2020/lib/utils/get-scroll-state-version.mjs +12 -0
- package/{esm2022 → esm2020}/lib/utils/get-selector-by-item-id.mjs +4 -4
- package/{esm2022 → esm2020}/lib/utils/index.mjs +4 -4
- package/esm2020/lib/utils/is-collapse-mode.mjs +18 -0
- package/{esm2022 → esm2020}/lib/utils/is-collection-mode.mjs +15 -15
- package/esm2020/lib/utils/is-direction.mjs +15 -0
- package/esm2020/lib/utils/is-persentage-value.mjs +14 -0
- package/esm2020/lib/utils/is-select-mode.mjs +18 -0
- package/{esm2022 → esm2020}/lib/utils/is-spreading-mode.mjs +15 -15
- package/esm2020/lib/utils/list-validators.mjs +27 -0
- package/esm2020/lib/utils/normalize-collection.mjs +42 -0
- package/esm2020/lib/utils/object.mjs +28 -0
- package/esm2020/lib/utils/parse-arithmetic-expression.mjs +53 -0
- package/esm2020/lib/utils/parse-float-or-persentage-value.mjs +17 -0
- package/esm2020/lib/utils/screen-reader-formatter.mjs +43 -0
- package/esm2020/lib/utils/scroll-event.mjs +46 -0
- package/esm2020/lib/utils/scrolling-direction.mjs +28 -0
- package/{esm2022 → esm2020}/lib/utils/snapping-method.mjs +8 -8
- package/esm2020/lib/utils/toggle-class-name.mjs +15 -0
- package/{esm2022 → esm2020}/lib/utils/validation.mjs +55 -55
- package/{esm2022 → esm2020}/ng-virtual-list.mjs +4 -4
- package/{esm2022 → esm2020}/public-api.mjs +19 -19
- package/fesm2015/ng-virtual-list.mjs +10731 -0
- package/fesm2015/ng-virtual-list.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/ng-virtual-list.mjs +10451 -10455
- package/fesm2020/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 -83
- 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 -7
- package/lib/components/ng-list-item/utils/get-element-by-index.d.ts +15 -15
- package/lib/components/ng-list-item/utils/index.d.ts +4 -4
- package/lib/components/ng-list-item/utils/matrix-3d.d.ts +7 -7
- package/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.d.ts +104 -104
- 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 -17
- package/lib/components/ng-prerender-container/ng-prerender-container.component.d.ts +40 -40
- 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 -102
- 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 -89
- package/lib/components/ng-scroll-view/const/index.d.ts +7 -7
- 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 -22
- package/lib/components/ng-scroll-view/ng-scroll-view.component.d.ts +124 -124
- package/lib/components/ng-scroll-view/utils/calculate-direction.d.ts +10 -7
- package/lib/components/ng-scroll-view/utils/calculate-velocity.d.ts +7 -7
- package/lib/components/ng-scroll-view/utils/get-dir.d.ts +7 -7
- package/lib/components/ng-scroll-view/utils/index.d.ts +5 -5
- package/lib/components/ng-scroll-view/utils/matrix-3d.d.ts +7 -7
- 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 -3
- package/lib/components/ng-scroller/ng-scroller.component.d.ts +164 -164
- 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 -153
- package/lib/core/cache-map.d.ts +46 -46
- package/lib/core/const/index.d.ts +1 -1
- package/lib/core/enums/index.d.ts +2 -2
- package/lib/core/enums/item-display-methods.d.ts +12 -12
- package/lib/core/events/index.d.ts +2 -2
- package/lib/core/events/track-box-events.d.ts +10 -10
- package/lib/core/interfaces/get-item-position-options.d.ts +10 -10
- package/lib/core/interfaces/get-metrics-returns.d.ts +11 -11
- package/lib/core/interfaces/index.d.ts +8 -8
- package/lib/core/interfaces/item.d.ts +9 -9
- package/lib/core/interfaces/metrics.d.ts +51 -51
- package/lib/core/interfaces/recalculate-metrics-options.d.ts +33 -32
- package/lib/core/interfaces/update-collection-options.d.ts +10 -10
- package/lib/core/interfaces/update-collection-returns.d.ts +14 -14
- package/lib/core/track-box.d.ts +153 -153
- package/lib/core/tracker.d.ts +55 -55
- package/lib/core/types/cache-map-events.d.ts +8 -8
- package/lib/core/types/cache-map-listeners.d.ts +9 -9
- package/lib/core/types/cache.d.ts +12 -12
- package/lib/core/types/index.d.ts +6 -6
- package/lib/core/types/on-change-event-listener.d.ts +7 -7
- package/lib/core/types/on-tick-event-listener.d.ts +7 -7
- package/lib/core/utils/get-service-id-prop.d.ts +7 -7
- package/lib/core/utils/index.d.ts +2 -2
- 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/virtual-click/virtual-click.directive.d.ts +22 -22
- package/lib/directives/virtual-click/virtual-click.module.d.ts +8 -8
- package/lib/enums/alignments.d.ts +10 -10
- package/lib/enums/collapsing-modes.d.ts +20 -20
- 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 -11
- package/lib/enums/selecting-modes-types.d.ts +20 -20
- package/lib/enums/selecting-modes.d.ts +20 -20
- package/lib/enums/snap-to-item-aligns.d.ts +20 -20
- package/lib/enums/snapping-methods.d.ts +16 -16
- package/lib/enums/spreading-modes.d.ts +16 -16
- package/lib/enums/text-directions.d.ts +12 -12
- package/lib/interfaces/animation-params.d.ts +14 -14
- package/lib/interfaces/base-virtual-list-item-component.d.ts +23 -23
- package/lib/interfaces/index.d.ts +11 -11
- package/lib/interfaces/item-transformation.d.ts +22 -22
- package/lib/interfaces/point.d.ts +16 -16
- 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 -28
- package/lib/interfaces/scroll-params.d.ts +17 -17
- 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 -35
- package/lib/models/item.model.d.ts +17 -17
- package/lib/models/render-collection.model.d.ts +9 -9
- package/lib/models/render-item-config.model.d.ts +119 -119
- package/lib/models/render-item-measures.model.d.ts +116 -116
- package/lib/models/render-item.model.d.ts +40 -40
- package/lib/ng-virtual-list-public.service.d.ts +92 -92
- package/lib/ng-virtual-list.component.d.ts +771 -770
- package/lib/ng-virtual-list.module.d.ts +12 -12
- package/lib/ng-virtual-list.service.d.ts +153 -153
- package/lib/transformations/deck-of-cards-3d.d.ts +54 -54
- package/lib/transformations/deck-of-cards.d.ts +50 -50
- package/lib/transformations/event-horizon.d.ts +26 -26
- package/lib/transformations/index.d.ts +7 -7
- package/lib/transformations/linear.d.ts +26 -26
- package/lib/transformations/swipe-3d.d.ts +38 -38
- package/lib/types/alignment.d.ts +8 -8
- package/lib/types/arithmetic-expression.d.ts +10 -10
- package/lib/types/collapsing-mode.d.ts +8 -8
- package/lib/types/collection-mode.d.ts +8 -8
- package/lib/types/color.d.ts +4 -4
- package/lib/types/direction.d.ts +8 -8
- package/lib/types/float-or-persentage-value.d.ts +7 -7
- package/lib/types/focus-alignment.d.ts +8 -8
- package/lib/types/focus-item-params.d.ts +13 -13
- 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 -20
- package/lib/types/item-transform.d.ts +9 -9
- package/lib/types/scroll-direction.d.ts +8 -8
- package/lib/types/selecting-mode.d.ts +8 -8
- package/lib/types/snap-to-item-align.d.ts +8 -8
- package/lib/types/snapping-distance.d.ts +8 -8
- package/lib/types/snapping-method.d.ts +10 -10
- package/lib/types/spreading-mode.d.ts +8 -8
- package/lib/types/text-direction.d.ts +10 -10
- package/lib/utils/animator/animator.d.ts +16 -16
- package/lib/utils/animator/const/index.d.ts +1 -1
- package/lib/utils/animator/ease.d.ts +2 -2
- package/lib/utils/animator/index.d.ts +6 -6
- package/lib/utils/animator/interfaces/animator-params.d.ts +18 -18
- package/lib/utils/animator/interfaces/animator-update-data.d.ts +13 -13
- package/lib/utils/animator/interfaces/index.d.ts +3 -3
- 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 -1
- 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 -8
- 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 -7
- package/lib/utils/is-select-mode.d.ts +8 -8
- package/lib/utils/is-spreading-mode.d.ts +8 -8
- package/lib/utils/list-validators.d.ts +2 -2
- package/lib/utils/normalize-collection.d.ts +8 -8
- package/lib/utils/object.d.ts +4 -4
- package/lib/utils/parse-arithmetic-expression.d.ts +8 -8
- package/lib/utils/parse-float-or-persentage-value.d.ts +7 -7
- package/lib/utils/screen-reader-formatter.d.ts +7 -4
- package/lib/utils/scroll-event.d.ts +48 -48
- package/lib/utils/scrolling-direction.d.ts +17 -17
- 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 +11 -5
- package/public-api.d.ts +16 -16
- package/esm2022/lib/components/ng-list-item/base/base-virtual-list-item-component.mjs +0 -315
- package/esm2022/lib/components/ng-list-item/ng-virtual-list-item.component.mjs +0 -200
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list/ng-prerender-list.component.mjs +0 -279
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-list-item/ng-prerender-list-item.component.mjs +0 -94
- package/esm2022/lib/components/ng-prerender-container/components/ng-prerender-scroller/ng-prerender-scroller.component.mjs +0 -142
- package/esm2022/lib/components/ng-prerender-container/core/prerender-track-box.mjs +0 -198
- package/esm2022/lib/components/ng-prerender-container/ng-prerender-container.component.mjs +0 -93
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar-public.service.mjs +0 -25
- package/esm2022/lib/components/ng-scroll-bar/ng-scroll-bar.component.mjs +0 -324
- package/esm2022/lib/components/ng-scroll-view/base/base-scroll-view.component.mjs +0 -262
- package/esm2022/lib/components/ng-scroll-view/ng-scroll-view.component.mjs +0 -859
- package/esm2022/lib/components/ng-scroll-view/utils/calculate-direction.mjs +0 -17
- package/esm2022/lib/components/ng-scroll-view/utils/scroll-box.mjs +0 -45
- package/esm2022/lib/components/ng-scroller/ng-scroller.component.mjs +0 -525
- package/esm2022/lib/components/ng-scroller/utils/scroll-box.mjs +0 -52
- package/esm2022/lib/core/cache-map.mjs +0 -101
- package/esm2022/lib/core/interfaces/recalculate-metrics-options.mjs +0 -2
- package/esm2022/lib/core/track-box.mjs +0 -1353
- package/esm2022/lib/core/tracker.mjs +0 -207
- package/esm2022/lib/directives/locale-sensitive/locale-sensitive.directive.mjs +0 -68
- package/esm2022/lib/directives/virtual-click/virtual-click.directive.mjs +0 -67
- package/esm2022/lib/ng-virtual-list-public.service.mjs +0 -120
- package/esm2022/lib/ng-virtual-list.component.mjs +0 -3246
- package/esm2022/lib/ng-virtual-list.service.mjs +0 -431
- package/esm2022/lib/transformations/deck-of-cards-3d.mjs +0 -57
- package/esm2022/lib/transformations/deck-of-cards.mjs +0 -54
- package/esm2022/lib/transformations/event-horizon.mjs +0 -47
- package/esm2022/lib/transformations/linear.mjs +0 -47
- package/esm2022/lib/transformations/swipe-3d.mjs +0 -51
- package/esm2022/lib/utils/animator/animator.mjs +0 -78
- package/esm2022/lib/utils/animator/interfaces/animator-params.mjs +0 -2
- package/esm2022/lib/utils/animator/interfaces/animator-update-data.mjs +0 -2
- package/esm2022/lib/utils/animator/types/easing.mjs +0 -2
- package/esm2022/lib/utils/buffer-interpolation.mjs +0 -29
- package/esm2022/lib/utils/cmap.mjs +0 -34
- package/esm2022/lib/utils/debounce.mjs +0 -61
- package/esm2022/lib/utils/disposable-component.mjs +0 -27
- package/esm2022/lib/utils/event-emitter/event-emitter.mjs +0 -105
- package/esm2022/lib/utils/event-emitter/interfaces/event-emitter.mjs +0 -2
- package/esm2022/lib/utils/get-scroll-state-version.mjs +0 -12
- package/esm2022/lib/utils/is-collapse-mode.mjs +0 -18
- package/esm2022/lib/utils/is-direction.mjs +0 -15
- package/esm2022/lib/utils/is-persentage-value.mjs +0 -14
- package/esm2022/lib/utils/is-select-mode.mjs +0 -18
- package/esm2022/lib/utils/list-validators.mjs +0 -27
- package/esm2022/lib/utils/normalize-collection.mjs +0 -42
- package/esm2022/lib/utils/object.mjs +0 -28
- package/esm2022/lib/utils/parse-arithmetic-expression.mjs +0 -53
- package/esm2022/lib/utils/parse-float-or-persentage-value.mjs +0 -17
- package/esm2022/lib/utils/screen-reader-formatter.mjs +0 -43
- package/esm2022/lib/utils/scroll-event.mjs +0 -48
- package/esm2022/lib/utils/scrolling-direction.mjs +0 -29
- package/esm2022/lib/utils/toggle-class-name.mjs +0 -15
- package/fesm2022/ng-virtual-list.mjs.map +0 -1
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, Injector } from '@angular/core';
|
|
2
|
+
import { map, tap, combineLatest, fromEvent, switchMap, of, debounceTime, BehaviorSubject, takeUntil } from 'rxjs';
|
|
3
|
+
import { DEFAULT_CLICK_DISTANCE, NAVIGATION_BY_KEYBOARD_TIMER, VISIBILITY_HIDDEN, } from '../../const';
|
|
4
|
+
import { BaseVirtualListItemComponent } from './base';
|
|
5
|
+
import { SelectingModesTypes } from '../../enums/selecting-modes-types';
|
|
6
|
+
import { getListElementByIndex } from './utils';
|
|
7
|
+
import { ATTR_AREA_SELECTED, EVENT_FOCUS_IN, EVENT_FOCUS_OUT, EVENT_KEY_DOWN, KEY_ARR_DOWN, KEY_ARR_LEFT, KEY_ARR_RIGHT, KEY_ARR_UP, KEY_SPACE, NGVL_VISIBILITY, } from './const';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "../../directives/virtual-click/virtual-click.directive";
|
|
11
|
+
/**
|
|
12
|
+
* Virtual list component.
|
|
13
|
+
* Maximum performance for extremely large lists.
|
|
14
|
+
* It is based on algorithms for virtualization of screen objects.
|
|
15
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/ng-virtual-list-item.component.ts
|
|
16
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
17
|
+
* @email djonnyx@gmail.com
|
|
18
|
+
*/
|
|
19
|
+
export class NgVirtualListItemComponent extends BaseVirtualListItemComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this._$maxClickDistance = new BehaviorSubject(DEFAULT_CLICK_DISTANCE);
|
|
23
|
+
this.$maxClickDistance = this._$maxClickDistance.asObservable();
|
|
24
|
+
this._injector = inject(Injector);
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this._service.$clickDistance.pipe(takeUntil(this._$unsubscribe), tap(v => {
|
|
28
|
+
this._$maxClickDistance.next(v);
|
|
29
|
+
})).subscribe();
|
|
30
|
+
this._service.$langTextDir.pipe(takeUntil(this._$unsubscribe), tap(v => {
|
|
31
|
+
this._langTextDir = v;
|
|
32
|
+
})).subscribe();
|
|
33
|
+
this._service.$scrollBarSize.pipe(takeUntil(this._$unsubscribe), tap(v => {
|
|
34
|
+
this._scrollBarSize = v;
|
|
35
|
+
})).subscribe();
|
|
36
|
+
const $data = this.$data, $focused = this.$focused;
|
|
37
|
+
fromEvent(this.element, EVENT_FOCUS_IN).pipe(takeUntil(this._$unsubscribe), tap(e => {
|
|
38
|
+
this._service.focusedId = this.itemId ?? null;
|
|
39
|
+
this._$focused.next(true);
|
|
40
|
+
this.updateConfig(this._data);
|
|
41
|
+
this.updatePartStr(this._data, this._isSelected, this._isCollapsed);
|
|
42
|
+
})).subscribe(),
|
|
43
|
+
fromEvent(this.element, EVENT_FOCUS_OUT).pipe(takeUntil(this._$unsubscribe), tap(e => {
|
|
44
|
+
this._$focused.next(false);
|
|
45
|
+
this.updateConfig(this._data);
|
|
46
|
+
this.updatePartStr(this._data, this._isSelected, this._isCollapsed);
|
|
47
|
+
})).subscribe();
|
|
48
|
+
$focused.pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(v => {
|
|
49
|
+
if (v) {
|
|
50
|
+
return this.keyKode();
|
|
51
|
+
}
|
|
52
|
+
return of(false);
|
|
53
|
+
})).subscribe();
|
|
54
|
+
combineLatest([$data, this._service.$selectingMode, this._service.$selectedIds, this._service.$collapsedIds]).pipe(takeUntil(this._$unsubscribe), map(([, m, selectedIds, collapsedIds]) => ({ method: m, selectedIds, collapsedIds })), tap(({ method, selectedIds, collapsedIds }) => {
|
|
55
|
+
switch (method) {
|
|
56
|
+
case SelectingModesTypes.SELECT: {
|
|
57
|
+
const id = selectedIds, isSelected = id === this.itemId;
|
|
58
|
+
this.element.setAttribute(ATTR_AREA_SELECTED, String(isSelected));
|
|
59
|
+
this.isSelected = isSelected;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
case SelectingModesTypes.MULTI_SELECT: {
|
|
63
|
+
const actualIds = selectedIds, isSelected = this.itemId !== undefined && actualIds && actualIds.includes(this.itemId);
|
|
64
|
+
this.element.setAttribute(ATTR_AREA_SELECTED, String(isSelected));
|
|
65
|
+
this.isSelected = isSelected;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case SelectingModesTypes.NONE:
|
|
69
|
+
default: {
|
|
70
|
+
this.element.removeAttribute(ATTR_AREA_SELECTED);
|
|
71
|
+
this.isSelected = false;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const actualIds = collapsedIds, isCollapsed = this.itemId !== undefined && actualIds && actualIds.includes(this.itemId);
|
|
76
|
+
this._isCollapsed = isCollapsed;
|
|
77
|
+
this.updatePartStr(this._data, this._isSelected, isCollapsed);
|
|
78
|
+
this.updateConfig(this._data);
|
|
79
|
+
this.updateMeasures(this._data);
|
|
80
|
+
})).subscribe();
|
|
81
|
+
}
|
|
82
|
+
keyKode() {
|
|
83
|
+
return fromEvent(this.element, EVENT_KEY_DOWN).pipe(takeUntil(this._$unsubscribe), switchMap(e => {
|
|
84
|
+
switch (e.key) {
|
|
85
|
+
case KEY_SPACE: {
|
|
86
|
+
e.stopImmediatePropagation();
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
if (!!this._data) {
|
|
89
|
+
this._service.select(this._data.id);
|
|
90
|
+
this._service.collapse(this._data.id);
|
|
91
|
+
}
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
case KEY_ARR_LEFT:
|
|
95
|
+
if (!this._$config.getValue().isVertical) {
|
|
96
|
+
return this.toPrevItem(e);
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
case KEY_ARR_UP:
|
|
100
|
+
if (this._$config.getValue().isVertical) {
|
|
101
|
+
return this.toPrevItem(e);
|
|
102
|
+
}
|
|
103
|
+
break;
|
|
104
|
+
case KEY_ARR_RIGHT:
|
|
105
|
+
if (!this._$config.getValue().isVertical) {
|
|
106
|
+
return this.toNextItem(e);
|
|
107
|
+
}
|
|
108
|
+
break;
|
|
109
|
+
case KEY_ARR_DOWN:
|
|
110
|
+
if (this._$config.getValue().isVertical) {
|
|
111
|
+
return this.toNextItem(e);
|
|
112
|
+
}
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
return of(null);
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
getNavigationTimeout() {
|
|
119
|
+
return this._service.snapToItem ?
|
|
120
|
+
Math.max(this._service.animationParams.snapToItem, this._service.animationParams.navigateByKeyboard ?? NAVIGATION_BY_KEYBOARD_TIMER) :
|
|
121
|
+
this._service.animationParams.navigateByKeyboard ?? NAVIGATION_BY_KEYBOARD_TIMER;
|
|
122
|
+
}
|
|
123
|
+
toNextItem(e) {
|
|
124
|
+
if (!!e && e.cancelable) {
|
|
125
|
+
e.stopImmediatePropagation();
|
|
126
|
+
e.preventDefault();
|
|
127
|
+
}
|
|
128
|
+
const index = this.focusNext();
|
|
129
|
+
if (index !== Number.MIN_SAFE_INTEGER) {
|
|
130
|
+
this._service.lastFocusedItemId = index;
|
|
131
|
+
}
|
|
132
|
+
return of(e).pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(() => {
|
|
133
|
+
return this.keyKode();
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
toPrevItem(e) {
|
|
137
|
+
if (!!e && e.cancelable) {
|
|
138
|
+
e.stopImmediatePropagation();
|
|
139
|
+
e.preventDefault();
|
|
140
|
+
}
|
|
141
|
+
const index = this.focusPrev();
|
|
142
|
+
if (index !== Number.MIN_SAFE_INTEGER) {
|
|
143
|
+
this._service.lastFocusedItemId = index;
|
|
144
|
+
}
|
|
145
|
+
return of(e).pipe(takeUntil(this._$unsubscribe), debounceTime(this.getNavigationTimeout()), switchMap(() => {
|
|
146
|
+
return this.keyKode();
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
149
|
+
focusNext() {
|
|
150
|
+
if (this._service.listElement) {
|
|
151
|
+
const tabIndex = this._data?.config?.tabIndex ?? 0, length = this._data?.config.totalItems ?? 0, l = length > 0 ? (this._service.isInfinity ? (length + 1) : length) : 0;
|
|
152
|
+
let index = tabIndex;
|
|
153
|
+
while (index <= l) {
|
|
154
|
+
index++;
|
|
155
|
+
const element = this._service.listElement.querySelector(getListElementByIndex(index));
|
|
156
|
+
if (!!element && element.getAttribute(NGVL_VISIBILITY) !== VISIBILITY_HIDDEN) {
|
|
157
|
+
const focused = this._service.focus(element);
|
|
158
|
+
if (focused) {
|
|
159
|
+
return index;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return Number.MIN_SAFE_INTEGER;
|
|
165
|
+
}
|
|
166
|
+
focusPrev() {
|
|
167
|
+
if (this._service.listElement) {
|
|
168
|
+
const tabIndex = this._data?.config?.tabIndex ?? 0, min = -(this._data?.config?.layoutIndexOffset ?? 0);
|
|
169
|
+
let index = tabIndex;
|
|
170
|
+
while (index >= min) {
|
|
171
|
+
index--;
|
|
172
|
+
const element = this._service.listElement.querySelector(getListElementByIndex(index));
|
|
173
|
+
if (!!element && element.getAttribute(NGVL_VISIBILITY) !== VISIBILITY_HIDDEN) {
|
|
174
|
+
this._service.focus(element);
|
|
175
|
+
return index;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return Number.MIN_SAFE_INTEGER;
|
|
180
|
+
}
|
|
181
|
+
updateConfig(v) {
|
|
182
|
+
this._$config.next({
|
|
183
|
+
...v?.config || {}, selected: this._isSelected, collapsed: this._isCollapsed, focused: this._$focused.getValue(),
|
|
184
|
+
});
|
|
185
|
+
this._cdr.markForCheck();
|
|
186
|
+
}
|
|
187
|
+
onClickHandler() {
|
|
188
|
+
this._service.virtualClick(this._data);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
NgVirtualListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
NgVirtualListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgVirtualListItemComponent, selector: "ng-virtual-list-item", host: { attributes: { "role": "listitem" }, classAttribute: "ngvl__item" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div #item class=\"ngvl-item\" [ngClass]=\"($classes | async)!\" [part]=\"($part | async)!\" [attr.ngvl-index]=\"($index | async)!\"\r\n [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n <div *ngIf=\"_blendColor\" class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n <div #container virtualClick [part]=\"$fxPart | async\" [maxClickDistance]=\"$maxClickDistance | async\"\r\n class=\"ngvl-item__container\" [ngClass]=\"($classes | async)!\" (onVirtualClick)=\"onClickHandler()\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer ?? null\"\r\n [ngTemplateOutletContext]=\"$templateContext | async\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.VirtualClickDirective, selector: "[virtualClick]", inputs: ["maxClickDistance"], outputs: ["onVirtualClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemComponent, decorators: [{
|
|
194
|
+
type: Component,
|
|
195
|
+
args: [{ selector: 'ng-virtual-list-item', host: {
|
|
196
|
+
'class': 'ngvl__item',
|
|
197
|
+
'role': 'listitem',
|
|
198
|
+
}, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"($data | async) as data\">\r\n <div #item class=\"ngvl-item\" [ngClass]=\"($classes | async)!\" [part]=\"($part | async)!\" [attr.ngvl-index]=\"($index | async)!\"\r\n [attr.ngvl-visibility]=\"visibility\" tabindex=\"-1\">\r\n <div *ngIf=\"_blendColor\" class=\"ngvl-item__blend-color\" [style.--blend-color]=\"_blendColor\"></div>\r\n <div #container virtualClick [part]=\"$fxPart | async\" [maxClickDistance]=\"$maxClickDistance | async\"\r\n class=\"ngvl-item__container\" [ngClass]=\"($classes | async)!\" (onVirtualClick)=\"onClickHandler()\">\r\n <ng-container [ngTemplateOutlet]=\"itemRenderer ?? null\"\r\n [ngTemplateOutletContext]=\"$templateContext | async\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [":host{display:block;position:absolute;left:0;top:0;box-sizing:border-box;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-moz-user-drag:none;text-rendering:optimizeSpeed;image-rendering:auto}.ngvl-item{position:relative;margin:0;padding:0;overflow:hidden;outline:none;width:inherit;height:inherit;box-sizing:border-box}.ngvl-item__blend-color{position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--blend-color);z-index:-1}.ngvl-item__container{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}\n"] }]
|
|
199
|
+
}], ctorParameters: function () { return []; } });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBYyxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvSCxPQUFPLEVBQ0wsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsaUJBQWlCLEdBQ3hFLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEQsT0FBTyxFQUNMLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQy9GLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGVBQWUsR0FDdEQsTUFBTSxTQUFTLENBQUM7Ozs7QUFFakI7Ozs7Ozs7R0FPRztBQVlILE1BQU0sT0FBTywwQkFBMkIsU0FBUSw0QkFBNEI7SUFNMUU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQU5GLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFTLHNCQUFzQixDQUFDLENBQUM7UUFDakYsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpELGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFJdkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVkLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDN0IsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVkLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQ3RCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRzNCLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDMUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFO1lBRVgsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUU5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoQixRQUFRLENBQUMsSUFBSSxDQUNYLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLFlBQVksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUN6QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsRUFBRTtnQkFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN2QjtZQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFLENBQUM7UUFFZCxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEgsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQ3JGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO1lBQzVDLFFBQVEsTUFBTSxFQUFFO2dCQUNkLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQy9CLE1BQU0sRUFBRSxHQUFHLFdBQTZCLEVBQUUsVUFBVSxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE1BQU07aUJBQ1A7Z0JBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDckMsTUFBTSxTQUFTLEdBQUcsV0FBd0IsRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNuSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE1BQU07aUJBQ1A7Z0JBQ0QsS0FBSyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLE9BQU8sQ0FBQyxDQUFDO29CQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO29CQUN4QixNQUFNO2lCQUNQO2FBQ0Y7WUFFRCxNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4SCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztZQUVoQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUU5RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxTQUFTLENBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNoRSxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsS0FBSyxTQUFTLENBQUMsQ0FBQztvQkFDZCxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO3dCQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO3FCQUN6QztvQkFDRCxNQUFNO2lCQUNQO2dCQUNELEtBQUssWUFBWTtvQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLEVBQUU7d0JBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDM0I7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRTt3QkFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMzQjtvQkFDRCxNQUFNO2dCQUNSLEtBQUssYUFBYTtvQkFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFO3dCQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzNCO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxZQUFZO29CQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLEVBQUU7d0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDM0I7b0JBQ0QsTUFBTTthQUNUO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGtCQUFrQixJQUFJLDRCQUE0QixDQUFDLENBQUMsQ0FBQztZQUN0SSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsSUFBSSw0QkFBNEIsQ0FBQztJQUNyRixDQUFDO0lBRU8sVUFBVSxDQUFDLENBQVE7UUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUN6QztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLENBQVE7UUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUN6QztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDZixTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsRUFDN0YsQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFFLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixPQUFPLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBaUIscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDdEcsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssaUJBQWlCLEVBQUU7b0JBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLEtBQUssQ0FBQztxQkFDZDtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hHLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQztZQUNyQixPQUFPLEtBQUssSUFBSSxHQUFHLEVBQUU7Z0JBQ25CLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBaUIscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDdEcsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssaUJBQWlCLEVBQUU7b0JBQzVFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM3QixPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRWtCLFlBQVksQ0FBQyxDQUFxQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNqQixHQUFHLENBQUMsRUFBRSxNQUFNLElBQUksRUFBMEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7U0FDekksQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOzt1SEE1T1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsK0pDbkN2QyxxekJBVWU7MkZEeUJGLDBCQUEwQjtrQkFYdEMsU0FBUzsrQkFDRSxzQkFBc0IsUUFHMUI7d0JBQ0osT0FBTyxFQUFFLFlBQVk7d0JBQ3JCLE1BQU0sRUFBRSxVQUFVO3FCQUNuQixjQUNXLEtBQUssbUJBQ0EsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBzd2l0Y2hNYXAsIG9mLCBPYnNlcnZhYmxlLCBkZWJvdW5jZVRpbWUsIEJlaGF2aW9yU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVuZGVyLWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBJZCB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBERUZBVUxUX0NMSUNLX0RJU1RBTkNFLCBOQVZJR0FUSU9OX0JZX0tFWUJPQVJEX1RJTUVSLCBWSVNJQklMSVRZX0hJRERFTixcclxufSBmcm9tICcuLi8uLi9jb25zdCc7XHJcbmltcG9ydCB7IEJhc2VWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RpbmdNb2Rlc1R5cGVzIH0gZnJvbSAnLi4vLi4vZW51bXMvc2VsZWN0aW5nLW1vZGVzLXR5cGVzJztcclxuaW1wb3J0IHsgSURpc3BsYXlPYmplY3RDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRMaXN0RWxlbWVudEJ5SW5kZXggfSBmcm9tICcuL3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBBVFRSX0FSRUFfU0VMRUNURUQsIEVWRU5UX0ZPQ1VTX0lOLCBFVkVOVF9GT0NVU19PVVQsIEVWRU5UX0tFWV9ET1dOLCBLRVlfQVJSX0RPV04sIEtFWV9BUlJfTEVGVCxcclxuICBLRVlfQVJSX1JJR0hULCBLRVlfQVJSX1VQLCBLRVlfU1BBQ0UsIE5HVkxfVklTSUJJTElUWSxcclxufSBmcm9tICcuL2NvbnN0JztcclxuXHJcbi8qKlxyXG4gKiBWaXJ0dWFsIGxpc3QgY29tcG9uZW50LlxyXG4gKiBNYXhpbXVtIHBlcmZvcm1hbmNlIGZvciBleHRyZW1lbHkgbGFyZ2UgbGlzdHMuXHJcbiAqIEl0IGlzIGJhc2VkIG9uIGFsZ29yaXRobXMgZm9yIHZpcnR1YWxpemF0aW9uIG9mIHNjcmVlbiBvYmplY3RzLlxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctbGlzdC1pdGVtL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmctdmlydHVhbC1saXN0LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZy12aXJ0dWFsLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmctdmlydHVhbC1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICAnY2xhc3MnOiAnbmd2bF9faXRlbScsXHJcbiAgICAncm9sZSc6ICdsaXN0aXRlbScsXHJcbiAgfSxcclxuICBzdGFuZGFsb25lOiBmYWxzZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZVZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfJG1heENsaWNrRGlzdGFuY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9DTElDS19ESVNUQU5DRSk7XHJcbiAgJG1heENsaWNrRGlzdGFuY2UgPSB0aGlzLl8kbWF4Q2xpY2tEaXN0YW5jZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJvdGVjdGVkIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2VydmljZS4kY2xpY2tEaXN0YW5jZS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuXyRtYXhDbGlja0Rpc3RhbmNlLm5leHQodik7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB0aGlzLl9zZXJ2aWNlLiRsYW5nVGV4dERpci5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xhbmdUZXh0RGlyID0gdjtcclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuX3NlcnZpY2UuJHNjcm9sbEJhclNpemUucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICB0aGlzLl9zY3JvbGxCYXJTaXplID0gdjtcclxuICAgICAgfSksXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIGNvbnN0ICRkYXRhID0gdGhpcy4kZGF0YSxcclxuICAgICAgJGZvY3VzZWQgPSB0aGlzLiRmb2N1c2VkO1xyXG5cclxuXHJcbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCBFVkVOVF9GT0NVU19JTikucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIHRhcChlID0+IHtcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlLmZvY3VzZWRJZCA9IHRoaXMuaXRlbUlkID8/IG51bGw7XHJcbiAgICAgICAgdGhpcy5fJGZvY3VzZWQubmV4dCh0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcodGhpcy5fZGF0YSk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlUGFydFN0cih0aGlzLl9kYXRhLCB0aGlzLl9pc1NlbGVjdGVkLCB0aGlzLl9pc0NvbGxhcHNlZCk7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKSxcclxuXHJcbiAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnQsIEVWRU5UX0ZPQ1VTX09VVCkucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl8kZm9jdXNlZC5uZXh0KGZhbHNlKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNvbmZpZyh0aGlzLl9kYXRhKTtcclxuXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZVBhcnRTdHIodGhpcy5fZGF0YSwgdGhpcy5faXNTZWxlY3RlZCwgdGhpcy5faXNDb2xsYXBzZWQpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICRmb2N1c2VkLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5nZXROYXZpZ2F0aW9uVGltZW91dCgpKSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5rZXlLb2RlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICBjb21iaW5lTGF0ZXN0KFskZGF0YSwgdGhpcy5fc2VydmljZS4kc2VsZWN0aW5nTW9kZSwgdGhpcy5fc2VydmljZS4kc2VsZWN0ZWRJZHMsIHRoaXMuX3NlcnZpY2UuJGNvbGxhcHNlZElkc10pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBtYXAoKFssIG0sIHNlbGVjdGVkSWRzLCBjb2xsYXBzZWRJZHNdKSA9PiAoeyBtZXRob2Q6IG0sIHNlbGVjdGVkSWRzLCBjb2xsYXBzZWRJZHMgfSkpLFxyXG4gICAgICB0YXAoKHsgbWV0aG9kLCBzZWxlY3RlZElkcywgY29sbGFwc2VkSWRzIH0pID0+IHtcclxuICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICAgICAgY2FzZSBTZWxlY3RpbmdNb2Rlc1R5cGVzLlNFTEVDVDoge1xyXG4gICAgICAgICAgICBjb25zdCBpZCA9IHNlbGVjdGVkSWRzIGFzIElkIHwgdW5kZWZpbmVkLCBpc1NlbGVjdGVkID0gaWQgPT09IHRoaXMuaXRlbUlkO1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfQVJFQV9TRUxFQ1RFRCwgU3RyaW5nKGlzU2VsZWN0ZWQpKTtcclxuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gaXNTZWxlY3RlZDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIFNlbGVjdGluZ01vZGVzVHlwZXMuTVVMVElfU0VMRUNUOiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFjdHVhbElkcyA9IHNlbGVjdGVkSWRzIGFzIEFycmF5PElkPiwgaXNTZWxlY3RlZCA9IHRoaXMuaXRlbUlkICE9PSB1bmRlZmluZWQgJiYgYWN0dWFsSWRzICYmIGFjdHVhbElkcy5pbmNsdWRlcyh0aGlzLml0ZW1JZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoQVRUUl9BUkVBX1NFTEVDVEVELCBTdHJpbmcoaXNTZWxlY3RlZCkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhc2UgU2VsZWN0aW5nTW9kZXNUeXBlcy5OT05FOlxyXG4gICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKEFUVFJfQVJFQV9TRUxFQ1RFRCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGFjdHVhbElkcyA9IGNvbGxhcHNlZElkcywgaXNDb2xsYXBzZWQgPSB0aGlzLml0ZW1JZCAhPT0gdW5kZWZpbmVkICYmIGFjdHVhbElkcyAmJiBhY3R1YWxJZHMuaW5jbHVkZXModGhpcy5pdGVtSWQpO1xyXG4gICAgICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlUGFydFN0cih0aGlzLl9kYXRhLCB0aGlzLl9pc1NlbGVjdGVkLCBpc0NvbGxhcHNlZCk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlQ29uZmlnKHRoaXMuX2RhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZU1lYXN1cmVzKHRoaXMuX2RhdGEpO1xyXG4gICAgICB9KSxcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGtleUtvZGUoKSB7XHJcbiAgICByZXR1cm4gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuZWxlbWVudCwgRVZFTlRfS0VZX0RPV04pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl8kdW5zdWJzY3JpYmUpLFxyXG4gICAgICBzd2l0Y2hNYXAoZSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChlLmtleSkge1xyXG4gICAgICAgICAgY2FzZSBLRVlfU1BBQ0U6IHtcclxuICAgICAgICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBpZiAoISF0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fc2VydmljZS5zZWxlY3QodGhpcy5fZGF0YSEuaWQhKTtcclxuICAgICAgICAgICAgICB0aGlzLl9zZXJ2aWNlLmNvbGxhcHNlKHRoaXMuX2RhdGEhLmlkISk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfTEVGVDpcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvUHJldkl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfVVA6XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvUHJldkl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIEtFWV9BUlJfUklHSFQ6XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5fJGNvbmZpZy5nZXRWYWx1ZSgpLmlzVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b05leHRJdGVtKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBLRVlfQVJSX0RPV046XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl8kY29uZmlnLmdldFZhbHVlKCkuaXNWZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvTmV4dEl0ZW0oZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uVGltZW91dCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLnNuYXBUb0l0ZW0gP1xyXG4gICAgICBNYXRoLm1heCh0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5zbmFwVG9JdGVtLCB0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5uYXZpZ2F0ZUJ5S2V5Ym9hcmQgPz8gTkFWSUdBVElPTl9CWV9LRVlCT0FSRF9USU1FUikgOlxyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmFuaW1hdGlvblBhcmFtcy5uYXZpZ2F0ZUJ5S2V5Ym9hcmQgPz8gTkFWSUdBVElPTl9CWV9LRVlCT0FSRF9USU1FUjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9OZXh0SXRlbShlOiBFdmVudCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoISFlICYmIGUuY2FuY2VsYWJsZSkge1xyXG4gICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzTmV4dCgpO1xyXG4gICAgaWYgKGluZGV4ICE9PSBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUikge1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmxhc3RGb2N1c2VkSXRlbUlkID0gaW5kZXg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoZSkucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuXyR1bnN1YnNjcmliZSksXHJcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmdldE5hdmlnYXRpb25UaW1lb3V0KCkpLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmtleUtvZGUoKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b1ByZXZJdGVtKGU6IEV2ZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghIWUgJiYgZS5jYW5jZWxhYmxlKSB7XHJcbiAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZm9jdXNQcmV2KCk7XHJcbiAgICBpZiAoaW5kZXggIT09IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSB7XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UubGFzdEZvY3VzZWRJdGVtSWQgPSBpbmRleDtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihlKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fJHVuc3Vic2NyaWJlKSxcclxuICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZ2V0TmF2aWdhdGlvblRpbWVvdXQoKSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMua2V5S29kZSgpO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLl9kYXRhPy5jb25maWc/LnRhYkluZGV4ID8/IDAsIGxlbmd0aCA9IHRoaXMuX2RhdGE/LmNvbmZpZy50b3RhbEl0ZW1zID8/IDAsXHJcbiAgICAgICAgbCA9IGxlbmd0aCA+IDAgPyAodGhpcy5fc2VydmljZS5pc0luZmluaXR5ID8gKGxlbmd0aCArIDEpIDogbGVuZ3RoKSA6IDA7XHJcbiAgICAgIGxldCBpbmRleCA9IHRhYkluZGV4O1xyXG4gICAgICB3aGlsZSAoaW5kZXggPD0gbCkge1xyXG4gICAgICAgIGluZGV4Kys7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oZ2V0TGlzdEVsZW1lbnRCeUluZGV4KGluZGV4KSk7XHJcbiAgICAgICAgaWYgKCEhZWxlbWVudCAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZShOR1ZMX1ZJU0lCSUxJVFkpICE9PSBWSVNJQklMSVRZX0hJRERFTikge1xyXG4gICAgICAgICAgY29uc3QgZm9jdXNlZCA9IHRoaXMuX3NlcnZpY2UuZm9jdXMoZWxlbWVudCk7XHJcbiAgICAgICAgICBpZiAoZm9jdXNlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzUHJldigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3NlcnZpY2UubGlzdEVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgdGFiSW5kZXggPSB0aGlzLl9kYXRhPy5jb25maWc/LnRhYkluZGV4ID8/IDAsIG1pbiA9IC0odGhpcy5fZGF0YT8uY29uZmlnPy5sYXlvdXRJbmRleE9mZnNldCA/PyAwKTtcclxuICAgICAgbGV0IGluZGV4ID0gdGFiSW5kZXg7XHJcbiAgICAgIHdoaWxlIChpbmRleCA+PSBtaW4pIHtcclxuICAgICAgICBpbmRleC0tO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9zZXJ2aWNlLmxpc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KGdldExpc3RFbGVtZW50QnlJbmRleChpbmRleCkpO1xyXG4gICAgICAgIGlmICghIWVsZW1lbnQgJiYgZWxlbWVudC5nZXRBdHRyaWJ1dGUoTkdWTF9WSVNJQklMSVRZKSAhPT0gVklTSUJJTElUWV9ISURERU4pIHtcclxuICAgICAgICAgIHRoaXMuX3NlcnZpY2UuZm9jdXMoZWxlbWVudCk7XHJcbiAgICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlQ29uZmlnKHY6IElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW08YW55PiB8IG51bGwpIHtcclxuICAgIHRoaXMuXyRjb25maWcubmV4dCh7XHJcbiAgICAgIC4uLnY/LmNvbmZpZyB8fCB7fSBhcyBJRGlzcGxheU9iamVjdENvbmZpZywgc2VsZWN0ZWQ6IHRoaXMuX2lzU2VsZWN0ZWQsIGNvbGxhcHNlZDogdGhpcy5faXNDb2xsYXBzZWQsIGZvY3VzZWQ6IHRoaXMuXyRmb2N1c2VkLmdldFZhbHVlKCksXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrSGFuZGxlcigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UudmlydHVhbENsaWNrKHRoaXMuX2RhdGEpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKCRkYXRhIHwgYXN5bmMpIGFzIGRhdGFcIj5cclxuICAgIDxkaXYgI2l0ZW0gY2xhc3M9XCJuZ3ZsLWl0ZW1cIiBbbmdDbGFzc109XCIoJGNsYXNzZXMgfCBhc3luYykhXCIgW3BhcnRdPVwiKCRwYXJ0IHwgYXN5bmMpIVwiIFthdHRyLm5ndmwtaW5kZXhdPVwiKCRpbmRleCB8IGFzeW5jKSFcIlxyXG4gICAgICAgIFthdHRyLm5ndmwtdmlzaWJpbGl0eV09XCJ2aXNpYmlsaXR5XCIgdGFiaW5kZXg9XCItMVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJfYmxlbmRDb2xvclwiIGNsYXNzPVwibmd2bC1pdGVtX19ibGVuZC1jb2xvclwiIFtzdHlsZS4tLWJsZW5kLWNvbG9yXT1cIl9ibGVuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiAjY29udGFpbmVyIHZpcnR1YWxDbGljayBbcGFydF09XCIkZnhQYXJ0IHwgYXN5bmNcIiBbbWF4Q2xpY2tEaXN0YW5jZV09XCIkbWF4Q2xpY2tEaXN0YW5jZSB8IGFzeW5jXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuZ3ZsLWl0ZW1fX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIigkY2xhc3NlcyB8IGFzeW5jKSFcIiAob25WaXJ0dWFsQ2xpY2spPVwib25DbGlja0hhbmRsZXIoKVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1SZW5kZXJlciA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCIkdGVtcGxhdGVDb250ZXh0IHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgVirtualListItemComponent } from './ng-virtual-list-item.component';
|
|
4
|
-
import { VirtualClickModule } from '../../directives';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class NgVirtualListItemModule {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [NgVirtualListItemComponent],
|
|
15
|
-
exports: [NgVirtualListItemComponent],
|
|
16
|
-
imports: [CommonModule, VirtualClickModule],
|
|
17
|
-
schemas: [NO_ERRORS_SCHEMA],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgVirtualListItemComponent } from './ng-virtual-list-item.component';
|
|
4
|
+
import { VirtualClickModule } from '../../directives';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgVirtualListItemModule {
|
|
7
|
+
}
|
|
8
|
+
NgVirtualListItemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
NgVirtualListItemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, declarations: [NgVirtualListItemComponent], imports: [CommonModule, VirtualClickModule], exports: [NgVirtualListItemComponent] });
|
|
10
|
+
NgVirtualListItemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, imports: [CommonModule, VirtualClickModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgVirtualListItemModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [NgVirtualListItemComponent],
|
|
15
|
+
exports: [NgVirtualListItemComponent],
|
|
16
|
+
imports: [CommonModule, VirtualClickModule],
|
|
17
|
+
schemas: [NO_ERRORS_SCHEMA],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vbmctdmlydHVhbC1saXN0LWl0ZW0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVF0RCxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsaUJBTG5CLDBCQUEwQixhQUUvQixZQUFZLEVBQUUsa0JBQWtCLGFBRGhDLDBCQUEwQjtxSEFJekIsdUJBQXVCLFlBSHhCLFlBQVksRUFBRSxrQkFBa0I7MkZBRy9CLHVCQUF1QjtrQkFObkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdWaXJ0dWFsTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25nLXZpcnR1YWwtbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpcnR1YWxDbGlja01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOZ1ZpcnR1YWxMaXN0SXRlbUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW05nVmlydHVhbExpc3RJdGVtQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBWaXJ0dWFsQ2xpY2tNb2R1bGVdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nVmlydHVhbExpc3RJdGVtTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* createDisplayId
|
|
3
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/create-display-id.ts
|
|
4
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
-
* @email djonnyx@gmail.com
|
|
6
|
-
*/
|
|
7
|
-
export const createDisplayId = (listId, id) => {
|
|
8
|
-
return `${listId}-${id}`;
|
|
9
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* createDisplayId
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/create-display-id.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export const createDisplayId = (listId, id) => {
|
|
8
|
+
return `${listId}-${id}`;
|
|
9
|
+
};
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRpc3BsYXktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9jcmVhdGUtZGlzcGxheS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFVLEVBQUUsRUFBRTtJQUMxRCxPQUFPLEdBQUcsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBjcmVhdGVEaXNwbGF5SWRcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9jcmVhdGUtZGlzcGxheS1pZC50c1xyXG4gKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gKiBAZW1haWwgZGpvbm55eEBnbWFpbC5jb21cclxuICovXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVEaXNwbGF5SWQgPSAobGlzdElkOiBudW1iZXIsIGlkOiBudW1iZXIpID0+IHtcclxuICAgIHJldHVybiBgJHtsaXN0SWR9LSR7aWR9YDtcclxufTtcclxuIl19
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export const NGVL_INDEX = 'ngvl-index',
|
|
2
|
-
/**
|
|
3
|
-
* getListElementByIndex
|
|
4
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
|
|
5
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
-
* @email djonnyx@gmail.com
|
|
7
|
-
*/
|
|
8
|
-
getListElementByIndex = (index) => {
|
|
9
|
-
return `[${NGVL_INDEX}="${index}"]`;
|
|
10
|
-
},
|
|
11
|
-
/**
|
|
12
|
-
* getListElements
|
|
13
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
|
|
14
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
15
|
-
* @email djonnyx@gmail.com
|
|
16
|
-
*/
|
|
17
|
-
getListElements = () => {
|
|
18
|
-
return `[${NGVL_INDEX}]`;
|
|
19
|
-
};
|
|
1
|
+
export const NGVL_INDEX = 'ngvl-index',
|
|
2
|
+
/**
|
|
3
|
+
* getListElementByIndex
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
|
|
5
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
getListElementByIndex = (index) => {
|
|
9
|
+
return `[${NGVL_INDEX}="${index}"]`;
|
|
10
|
+
},
|
|
11
|
+
/**
|
|
12
|
+
* getListElements
|
|
13
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/get-element-by-index.ts
|
|
14
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
15
|
+
* @email djonnyx@gmail.com
|
|
16
|
+
*/
|
|
17
|
+
getListElements = () => {
|
|
18
|
+
return `[${NGVL_INDEX}]`;
|
|
19
|
+
};
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtYnktaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9nZXQtZWxlbWVudC1ieS1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsWUFBWTtBQUNsQzs7Ozs7R0FLRztBQUNILHFCQUFxQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDdEMsT0FBTyxJQUFJLFVBQVUsS0FBSyxLQUFLLElBQUksQ0FBQztBQUN4QyxDQUFDO0FBQ0Q7Ozs7O0dBS0c7QUFDSCxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQ25CLE9BQU8sSUFBSSxVQUFVLEdBQUcsQ0FBQztBQUM3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTkdWTF9JTkRFWCA9ICduZ3ZsLWluZGV4JyxcclxuICAgIC8qKlxyXG4gICAgICogZ2V0TGlzdEVsZW1lbnRCeUluZGV4XHJcbiAgICAgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vRGpvbm55WC9uZy12aXJ0dWFsLWxpc3QvYmxvYi8xNC54L3Byb2plY3RzL25nLXZpcnR1YWwtbGlzdC9zcmMvbGliL2NvbXBvbmVudHMvbmctbGlzdC1pdGVtL3V0aWxzL2dldC1lbGVtZW50LWJ5LWluZGV4LnRzXHJcbiAgICAgKiBAYXV0aG9yIEV2Z2VuaWkgQWxleGFuZHJvdmljaCBHcmViZW5uaWtvdlxyXG4gICAgICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAgICAgKi9cclxuICAgIGdldExpc3RFbGVtZW50QnlJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGBbJHtOR1ZMX0lOREVYfT1cIiR7aW5kZXh9XCJdYDtcclxuICAgIH0sXHJcbiAgICAvKipcclxuICAgICAqIGdldExpc3RFbGVtZW50c1xyXG4gICAgICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9nZXQtZWxlbWVudC1ieS1pbmRleC50c1xyXG4gICAgICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICAgICAqIEBlbWFpbCBkam9ubnl4QGdtYWlsLmNvbVxyXG4gICAgICovXHJcbiAgICBnZXRMaXN0RWxlbWVudHMgPSAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGBbJHtOR1ZMX0lOREVYfV1gO1xyXG4gICAgfTtcclxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getListElementByIndex, getListElements, NGVL_INDEX } from './get-element-by-index';
|
|
2
|
-
import { createDisplayId } from './create-display-id';
|
|
3
|
-
import { matrix3d } from './matrix-3d';
|
|
4
|
-
export { createDisplayId, getListElementByIndex, getListElements, matrix3d, NGVL_INDEX, };
|
|
1
|
+
import { getListElementByIndex, getListElements, NGVL_INDEX } from './get-element-by-index';
|
|
2
|
+
import { createDisplayId } from './create-display-id';
|
|
3
|
+
import { matrix3d } from './matrix-3d';
|
|
4
|
+
export { createDisplayId, getListElementByIndex, getListElements, matrix3d, NGVL_INDEX, };
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLE9BQU8sRUFDSCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixRQUFRLEVBQ1IsVUFBVSxHQUNiLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMaXN0RWxlbWVudEJ5SW5kZXgsIGdldExpc3RFbGVtZW50cywgTkdWTF9JTkRFWCB9IGZyb20gJy4vZ2V0LWVsZW1lbnQtYnktaW5kZXgnO1xyXG5pbXBvcnQgeyBjcmVhdGVEaXNwbGF5SWQgfSBmcm9tICcuL2NyZWF0ZS1kaXNwbGF5LWlkJztcclxuaW1wb3J0IHsgbWF0cml4M2QgfSBmcm9tICcuL21hdHJpeC0zZCc7XHJcblxyXG5leHBvcnQge1xyXG4gICAgY3JlYXRlRGlzcGxheUlkLFxyXG4gICAgZ2V0TGlzdEVsZW1lbnRCeUluZGV4LFxyXG4gICAgZ2V0TGlzdEVsZW1lbnRzLFxyXG4gICAgbWF0cml4M2QsXHJcbiAgICBOR1ZMX0lOREVYLFxyXG59Il19
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* matrix3d
|
|
3
|
-
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/matrix-3d.ts
|
|
4
|
-
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
-
* @email djonnyx@gmail.com
|
|
6
|
-
*/
|
|
7
|
-
export const matrix3d = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY, rotationZ) => {
|
|
8
|
-
return rotationZ !== 0 ? `${__matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY)} rotateZ(${rotationZ}deg)` : __matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY);
|
|
9
|
-
};
|
|
10
|
-
const __matrix3d__ = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY) => {
|
|
1
|
+
/**
|
|
2
|
+
* matrix3d
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/14.x/projects/ng-virtual-list/src/lib/components/ng-list-item/utils/matrix-3d.ts
|
|
4
|
+
* @author Evgenii Alexandrovich Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export const matrix3d = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY, rotationZ) => {
|
|
8
|
+
return rotationZ !== 0 ? `${__matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY)} rotateZ(${rotationZ}deg)` : __matrix3d__(x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY);
|
|
9
|
+
};
|
|
10
|
+
const __matrix3d__ = (x, y, z, scaleX, scaleY, scaleZ, rotationX, rotationY) => {
|
|
11
11
|
return `matrix3d(
|
|
12
12
|
${scaleX}, 0, ${rotationX}, 0,
|
|
13
13
|
0, ${scaleY}, ${rotationY}, 0,
|
|
14
14
|
0, 0, 1, 0,
|
|
15
15
|
${x}, ${y}, ${z}, ${scaleZ}
|
|
16
|
-
)`;
|
|
17
|
-
};
|
|
16
|
+
)`;
|
|
17
|
+
};
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LTNkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdmlydHVhbC1saXN0L3NyYy9saWIvY29tcG9uZW50cy9uZy1saXN0LWl0ZW0vdXRpbHMvbWF0cml4LTNkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsU0FBaUIsRUFBRSxTQUFpQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUNuSyxPQUFPLFNBQVMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNuTSxDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLFNBQWlCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO0lBQzdJLE9BQU87WUFDRyxNQUFNLDRCQUE0QixTQUFTOzhCQUN6QixNQUFNLFVBQVUsU0FBUzs7WUFFM0MsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsZUFBZSxNQUFNO1VBQzFELENBQUM7QUFDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogbWF0cml4M2RcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL0Rqb25ueVgvbmctdmlydHVhbC1saXN0L2Jsb2IvMTQueC9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9jb21wb25lbnRzL25nLWxpc3QtaXRlbS91dGlscy9tYXRyaXgtM2QudHNcclxuICogQGF1dGhvciBFdmdlbmlpIEFsZXhhbmRyb3ZpY2ggR3JlYmVubmlrb3ZcclxuICogQGVtYWlsIGRqb25ueXhAZ21haWwuY29tXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgbWF0cml4M2QgPSAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlciwgc2NhbGVYOiBudW1iZXIsIHNjYWxlWTogbnVtYmVyLCBzY2FsZVo6IG51bWJlciwgcm90YXRpb25YOiBudW1iZXIsIHJvdGF0aW9uWTogbnVtYmVyLCByb3RhdGlvblo6IG51bWJlcikgPT4ge1xyXG4gIHJldHVybiByb3RhdGlvblogIT09IDAgPyBgJHtfX21hdHJpeDNkX18oeCwgeSwgeiwgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgcm90YXRpb25YLCByb3RhdGlvblkpfSByb3RhdGVaKCR7cm90YXRpb25afWRlZylgIDogX19tYXRyaXgzZF9fKHgsIHksIHosIHNjYWxlWCwgc2NhbGVZLCBzY2FsZVosIHJvdGF0aW9uWCwgcm90YXRpb25ZKTtcclxufTtcclxuXHJcbmNvbnN0IF9fbWF0cml4M2RfXyA9ICh4OiBudW1iZXIsIHk6IG51bWJlciwgejogbnVtYmVyLCBzY2FsZVg6IG51bWJlciwgc2NhbGVZOiBudW1iZXIsIHNjYWxlWjogbnVtYmVyLCByb3RhdGlvblg6IG51bWJlciwgcm90YXRpb25ZOiBudW1iZXIpID0+IHtcclxuICByZXR1cm4gYG1hdHJpeDNkKFxyXG4gICAgICAgICAgJHtzY2FsZVh9LCAgICAgICAgMCwgICAgICAgICAgICAgICR7cm90YXRpb25YfSwgICAwLFxyXG4gICAgICAgICAgMCwgICAgICAgICAgICAgICAgJHtzY2FsZVl9LCAgICAgICR7cm90YXRpb25ZfSwgICAwLFxyXG4gICAgICAgICAgMCwgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgIDEsICAgICAgICAgICAgICAwLFxyXG4gICAgICAgICAgJHt4fSwgICAgICAgICAgICAgJHt5fSwgICAgICAgICAgICR7en0sICAgICAgICAgICAke3NjYWxlWn1cclxuICAgICAgICApYDtcclxufTtcclxuIl19
|