@skyux/core 5.2.3 → 5.5.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 +6 -4
- package/bundles/skyux-core-testing.umd.js +6 -6
- package/bundles/skyux-core.umd.js +131 -127
- package/documentation.json +293 -24
- package/esm2015/index.js +60 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/adapter-service/adapter.module.js +16 -0
- package/esm2015/lib/modules/adapter-service/adapter.module.js.map +1 -0
- package/esm2015/lib/modules/adapter-service/adapter.service.js +218 -0
- package/esm2015/lib/modules/adapter-service/adapter.service.js.map +1 -0
- package/esm2015/lib/modules/adapter-service/focusable-children-options.js +2 -0
- package/esm2015/lib/modules/adapter-service/focusable-children-options.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-auto-fit-context.js +12 -0
- package/esm2015/lib/modules/affix/affix-auto-fit-context.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-config.js +2 -0
- package/esm2015/lib/modules/affix/affix-config.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-horizontal-alignment.js +2 -0
- package/esm2015/lib/modules/affix/affix-horizontal-alignment.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-offset-change.js +2 -0
- package/esm2015/lib/modules/affix/affix-offset-change.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-offset.js +2 -0
- package/esm2015/lib/modules/affix/affix-offset.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-placement-change.js +2 -0
- package/esm2015/lib/modules/affix/affix-placement-change.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-placement.js +2 -0
- package/esm2015/lib/modules/affix/affix-placement.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-utils.js +18 -0
- package/esm2015/lib/modules/affix/affix-utils.js.map +1 -0
- package/esm2015/lib/modules/affix/affix-vertical-alignment.js +2 -0
- package/esm2015/lib/modules/affix/affix-vertical-alignment.js.map +1 -0
- package/esm2015/lib/modules/affix/affix.directive.js +100 -0
- package/esm2015/lib/modules/affix/affix.directive.js.map +1 -0
- package/esm2015/lib/modules/affix/affix.module.js +18 -0
- package/esm2015/lib/modules/affix/affix.module.js.map +1 -0
- package/esm2015/lib/modules/affix/affix.service.js +24 -0
- package/esm2015/lib/modules/affix/affix.service.js.map +1 -0
- package/esm2015/lib/modules/affix/affixer.js +349 -0
- package/esm2015/lib/modules/affix/affixer.js.map +1 -0
- package/esm2015/lib/modules/affix/dom-utils.js +77 -0
- package/esm2015/lib/modules/affix/dom-utils.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-dom-adapter.service.js +80 -0
- package/esm2015/lib/modules/dock/dock-dom-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-insert-component-config.js +2 -0
- package/esm2015/lib/modules/dock/dock-insert-component-config.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-item-config.js +2 -0
- package/esm2015/lib/modules/dock/dock-item-config.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-item-reference.js +2 -0
- package/esm2015/lib/modules/dock/dock-item-reference.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-item.js +29 -0
- package/esm2015/lib/modules/dock/dock-item.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-location.js +19 -0
- package/esm2015/lib/modules/dock/dock-location.js.map +1 -0
- package/esm2015/lib/modules/dock/dock-options.js +2 -0
- package/esm2015/lib/modules/dock/dock-options.js.map +1 -0
- package/esm2015/lib/modules/dock/dock.component.js +95 -0
- package/esm2015/lib/modules/dock/dock.component.js.map +1 -0
- package/esm2015/lib/modules/dock/dock.module.js +20 -0
- package/esm2015/lib/modules/dock/dock.module.js.map +1 -0
- package/esm2015/lib/modules/dock/dock.service.js +92 -0
- package/esm2015/lib/modules/dock/dock.service.js.map +1 -0
- package/esm2015/lib/modules/dock/sort-by-stack-order.js +13 -0
- package/esm2015/lib/modules/dock/sort-by-stack-order.js.map +1 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js +27 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js.map +1 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js +2 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js.map +1 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js +17 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js.map +1 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js +83 -0
- package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js.map +1 -0
- package/esm2015/lib/modules/format/app-format.js +18 -0
- package/esm2015/lib/modules/format/app-format.js.map +1 -0
- package/esm2015/lib/modules/id/id.directive.js +34 -0
- package/esm2015/lib/modules/id/id.directive.js.map +1 -0
- package/esm2015/lib/modules/id/id.module.js +16 -0
- package/esm2015/lib/modules/id/id.module.js.map +1 -0
- package/esm2015/lib/modules/log/log.module.js +16 -0
- package/esm2015/lib/modules/log/log.module.js.map +1 -0
- package/esm2015/lib/modules/log/log.service.js +22 -0
- package/esm2015/lib/modules/log/log.service.js.map +1 -0
- package/esm2015/lib/modules/media-query/media-breakpoints.js +20 -0
- package/esm2015/lib/modules/media-query/media-breakpoints.js.map +1 -0
- package/esm2015/lib/modules/media-query/media-query-listener.js +2 -0
- package/esm2015/lib/modules/media-query/media-query-listener.js.map +1 -0
- package/esm2015/lib/modules/media-query/media-query.module.js +16 -0
- package/esm2015/lib/modules/media-query/media-query.module.js.map +1 -0
- package/esm2015/lib/modules/media-query/media-query.service.js +121 -0
- package/esm2015/lib/modules/media-query/media-query.service.js.map +1 -0
- package/esm2015/lib/modules/mutation/mutation-observer-service.js +16 -0
- package/esm2015/lib/modules/mutation/mutation-observer-service.js.map +1 -0
- package/esm2015/lib/modules/numeric/numeric-symbol.js +2 -0
- package/esm2015/lib/modules/numeric/numeric-symbol.js.map +1 -0
- package/esm2015/lib/modules/numeric/numeric.module.js +20 -0
- package/esm2015/lib/modules/numeric/numeric.module.js.map +1 -0
- package/esm2015/lib/modules/numeric/numeric.options.js +41 -0
- package/esm2015/lib/modules/numeric/numeric.options.js.map +1 -0
- package/esm2015/lib/modules/numeric/numeric.pipe.js +83 -0
- package/esm2015/lib/modules/numeric/numeric.pipe.js.map +1 -0
- package/esm2015/lib/modules/numeric/numeric.service.js +188 -0
- package/esm2015/lib/modules/numeric/numeric.service.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay-adapter.service.js +41 -0
- package/esm2015/lib/modules/overlay/overlay-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay-config.js +2 -0
- package/esm2015/lib/modules/overlay/overlay-config.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay-context.js +10 -0
- package/esm2015/lib/modules/overlay/overlay-context.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay-instance.js +55 -0
- package/esm2015/lib/modules/overlay/overlay-instance.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay.component.js +154 -0
- package/esm2015/lib/modules/overlay/overlay.component.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay.module.js +18 -0
- package/esm2015/lib/modules/overlay/overlay.module.js.map +1 -0
- package/esm2015/lib/modules/overlay/overlay.service.js +120 -0
- package/esm2015/lib/modules/overlay/overlay.service.js.map +1 -0
- package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js +20 -0
- package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js.map +1 -0
- package/esm2015/lib/modules/percent-pipe/percent.pipe.js +48 -0
- package/esm2015/lib/modules/percent-pipe/percent.pipe.js.map +1 -0
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js +163 -0
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js.map +1 -0
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js +74 -0
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-core-resources.module.js +50 -0
- package/esm2015/lib/modules/shared/sky-core-resources.module.js.map +1 -0
- package/esm2015/lib/modules/title/set-title-args.js +2 -0
- package/esm2015/lib/modules/title/set-title-args.js.map +1 -0
- package/esm2015/lib/modules/title/title.service.js +31 -0
- package/esm2015/lib/modules/title/title.service.js.map +1 -0
- package/esm2015/lib/modules/ui-config/ui-config.service.js +21 -0
- package/esm2015/lib/modules/ui-config/ui-config.service.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js +2 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js +2 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js +10 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js +2 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js +2 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js +116 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.js +254 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js +16 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js.map +1 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js +39 -0
- package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js.map +1 -0
- package/esm2015/lib/modules/window/window-ref.js +30 -0
- package/esm2015/lib/modules/window/window-ref.js.map +1 -0
- package/esm2015/skyux-core.js +2 -2
- package/esm2015/skyux-core.js.map +1 -0
- package/esm2015/testing/mock-media-query.service.js +4 -4
- package/esm2015/testing/mock-media-query.service.js.map +1 -0
- package/esm2015/testing/mock-ui-config.service.js +4 -4
- package/esm2015/testing/mock-ui-config.service.js.map +1 -0
- package/esm2015/testing/public-api.js +1 -1
- package/esm2015/testing/public-api.js.map +1 -0
- package/esm2015/testing/skyux-core-testing.js +1 -1
- package/esm2015/testing/skyux-core-testing.js.map +1 -0
- package/fesm2015/skyux-core-testing.js +6 -6
- package/fesm2015/skyux-core-testing.js.map +1 -1
- package/fesm2015/skyux-core.js +170 -166
- package/fesm2015/skyux-core.js.map +1 -1
- package/index.d.ts +57 -0
- package/{modules → lib/modules}/adapter-service/adapter.module.d.ts +0 -0
- package/{modules → lib/modules}/adapter-service/adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/adapter-service/focusable-children-options.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-auto-fit-context.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-config.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-horizontal-alignment.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-offset-change.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-offset.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-placement-change.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-placement.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-utils.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix-vertical-alignment.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix.directive.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix.module.d.ts +0 -0
- package/{modules → lib/modules}/affix/affix.service.d.ts +0 -0
- package/{modules → lib/modules}/affix/affixer.d.ts +0 -0
- package/{modules → lib/modules}/affix/dom-utils.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-dom-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-insert-component-config.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-item-config.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-item-reference.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-item.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-location.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock-options.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock.component.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock.module.d.ts +0 -0
- package/{modules → lib/modules}/dock/dock.service.d.ts +0 -0
- package/{modules → lib/modules}/dock/sort-by-stack-order.d.ts +0 -0
- package/{modules → lib/modules}/dynamic-component/dynamic-component-location.d.ts +0 -0
- package/{modules → lib/modules}/dynamic-component/dynamic-component-options.d.ts +0 -0
- package/{modules → lib/modules}/dynamic-component/dynamic-component.module.d.ts +0 -0
- package/{modules → lib/modules}/dynamic-component/dynamic-component.service.d.ts +0 -0
- package/{modules → lib/modules}/format/app-format.d.ts +0 -0
- package/{modules → lib/modules}/id/id.directive.d.ts +0 -0
- package/{modules → lib/modules}/id/id.module.d.ts +0 -0
- package/{modules → lib/modules}/log/log.module.d.ts +0 -0
- package/{modules → lib/modules}/log/log.service.d.ts +0 -0
- package/{modules → lib/modules}/media-query/media-breakpoints.d.ts +0 -0
- package/{modules → lib/modules}/media-query/media-query-listener.d.ts +0 -0
- package/{modules → lib/modules}/media-query/media-query.module.d.ts +0 -0
- package/{modules → lib/modules}/media-query/media-query.service.d.ts +4 -0
- package/{modules → lib/modules}/mutation/mutation-observer-service.d.ts +0 -0
- package/{modules → lib/modules}/numeric/numeric-symbol.d.ts +0 -0
- package/{modules → lib/modules}/numeric/numeric.module.d.ts +0 -0
- package/{modules → lib/modules}/numeric/numeric.options.d.ts +2 -2
- package/{modules → lib/modules}/numeric/numeric.pipe.d.ts +2 -2
- package/{modules → lib/modules}/numeric/numeric.service.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay-config.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay-context.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay-instance.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay.component.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay.module.d.ts +0 -0
- package/{modules → lib/modules}/overlay/overlay.service.d.ts +0 -0
- package/{modules → lib/modules}/percent-pipe/percent-pipe.module.d.ts +0 -0
- package/{modules → lib/modules}/percent-pipe/percent.pipe.d.ts +0 -0
- package/{modules → lib/modules}/scrollable-host/scrollable-host.service.d.ts +0 -0
- package/{modules → lib/modules}/shared/number-format/number-format-utility.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-core-resources.module.d.ts +0 -0
- package/{modules → lib/modules}/title/set-title-args.d.ts +0 -0
- package/{modules → lib/modules}/title/title.service.d.ts +0 -0
- package/{modules → lib/modules}/ui-config/ui-config.service.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper-boundary-info.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper-fixed-styles.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper-host-options.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper-offset.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper-options.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper.directive.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper.module.d.ts +0 -0
- package/{modules → lib/modules}/viewkeeper/viewkeeper.service.d.ts +0 -0
- package/{modules → lib/modules}/window/window-ref.d.ts +0 -0
- package/package.json +19 -5
- package/skyux-core.d.ts +1 -1
- package/LICENSE +0 -21
- package/bundles/skyux-core-testing.umd.js.map +0 -1
- package/bundles/skyux-core.umd.js.map +0 -1
- package/esm2015/modules/adapter-service/adapter.module.js +0 -16
- package/esm2015/modules/adapter-service/adapter.service.js +0 -218
- package/esm2015/modules/adapter-service/focusable-children-options.js +0 -2
- package/esm2015/modules/affix/affix-auto-fit-context.js +0 -12
- package/esm2015/modules/affix/affix-config.js +0 -2
- package/esm2015/modules/affix/affix-horizontal-alignment.js +0 -2
- package/esm2015/modules/affix/affix-offset-change.js +0 -2
- package/esm2015/modules/affix/affix-offset.js +0 -2
- package/esm2015/modules/affix/affix-placement-change.js +0 -2
- package/esm2015/modules/affix/affix-placement.js +0 -2
- package/esm2015/modules/affix/affix-utils.js +0 -18
- package/esm2015/modules/affix/affix-vertical-alignment.js +0 -2
- package/esm2015/modules/affix/affix.directive.js +0 -98
- package/esm2015/modules/affix/affix.module.js +0 -18
- package/esm2015/modules/affix/affix.service.js +0 -24
- package/esm2015/modules/affix/affixer.js +0 -349
- package/esm2015/modules/affix/dom-utils.js +0 -77
- package/esm2015/modules/dock/dock-dom-adapter.service.js +0 -79
- package/esm2015/modules/dock/dock-insert-component-config.js +0 -2
- package/esm2015/modules/dock/dock-item-config.js +0 -2
- package/esm2015/modules/dock/dock-item-reference.js +0 -2
- package/esm2015/modules/dock/dock-item.js +0 -29
- package/esm2015/modules/dock/dock-location.js +0 -19
- package/esm2015/modules/dock/dock-options.js +0 -2
- package/esm2015/modules/dock/dock.component.js +0 -95
- package/esm2015/modules/dock/dock.module.js +0 -20
- package/esm2015/modules/dock/dock.service.js +0 -91
- package/esm2015/modules/dock/sort-by-stack-order.js +0 -13
- package/esm2015/modules/dynamic-component/dynamic-component-location.js +0 -27
- package/esm2015/modules/dynamic-component/dynamic-component-options.js +0 -2
- package/esm2015/modules/dynamic-component/dynamic-component.module.js +0 -17
- package/esm2015/modules/dynamic-component/dynamic-component.service.js +0 -82
- package/esm2015/modules/format/app-format.js +0 -18
- package/esm2015/modules/id/id.directive.js +0 -34
- package/esm2015/modules/id/id.module.js +0 -16
- package/esm2015/modules/log/log.module.js +0 -16
- package/esm2015/modules/log/log.service.js +0 -22
- package/esm2015/modules/media-query/media-breakpoints.js +0 -20
- package/esm2015/modules/media-query/media-query-listener.js +0 -2
- package/esm2015/modules/media-query/media-query.module.js +0 -16
- package/esm2015/modules/media-query/media-query.service.js +0 -117
- package/esm2015/modules/mutation/mutation-observer-service.js +0 -16
- package/esm2015/modules/numeric/numeric-symbol.js +0 -2
- package/esm2015/modules/numeric/numeric.module.js +0 -20
- package/esm2015/modules/numeric/numeric.options.js +0 -41
- package/esm2015/modules/numeric/numeric.pipe.js +0 -81
- package/esm2015/modules/numeric/numeric.service.js +0 -188
- package/esm2015/modules/overlay/overlay-adapter.service.js +0 -41
- package/esm2015/modules/overlay/overlay-config.js +0 -2
- package/esm2015/modules/overlay/overlay-context.js +0 -10
- package/esm2015/modules/overlay/overlay-instance.js +0 -55
- package/esm2015/modules/overlay/overlay.component.js +0 -152
- package/esm2015/modules/overlay/overlay.module.js +0 -18
- package/esm2015/modules/overlay/overlay.service.js +0 -119
- package/esm2015/modules/percent-pipe/percent-pipe.module.js +0 -20
- package/esm2015/modules/percent-pipe/percent.pipe.js +0 -48
- package/esm2015/modules/scrollable-host/scrollable-host.service.js +0 -161
- package/esm2015/modules/shared/number-format/number-format-utility.js +0 -74
- package/esm2015/modules/shared/sky-core-resources.module.js +0 -50
- package/esm2015/modules/title/set-title-args.js +0 -2
- package/esm2015/modules/title/title.service.js +0 -30
- package/esm2015/modules/ui-config/ui-config.service.js +0 -21
- package/esm2015/modules/viewkeeper/viewkeeper-boundary-info.js +0 -2
- package/esm2015/modules/viewkeeper/viewkeeper-fixed-styles.js +0 -2
- package/esm2015/modules/viewkeeper/viewkeeper-host-options.js +0 -10
- package/esm2015/modules/viewkeeper/viewkeeper-offset.js +0 -2
- package/esm2015/modules/viewkeeper/viewkeeper-options.js +0 -2
- package/esm2015/modules/viewkeeper/viewkeeper.directive.js +0 -113
- package/esm2015/modules/viewkeeper/viewkeeper.js +0 -254
- package/esm2015/modules/viewkeeper/viewkeeper.module.js +0 -16
- package/esm2015/modules/viewkeeper/viewkeeper.service.js +0 -38
- package/esm2015/modules/window/window-ref.js +0 -30
- package/esm2015/public-api.js +0 -60
- package/public-api.d.ts +0 -57
@@ -1,161 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { fromEvent, Observable, Subject } from 'rxjs';
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../mutation/mutation-observer-service";
|
6
|
-
import * as i2 from "../window/window-ref";
|
7
|
-
function notifySubscribers(subscribers, item) {
|
8
|
-
for (const subscriber of subscribers) {
|
9
|
-
subscriber.next(item);
|
10
|
-
}
|
11
|
-
}
|
12
|
-
export class SkyScrollableHostService {
|
13
|
-
constructor(mutationObserverSvc, windowRef) {
|
14
|
-
this.mutationObserverSvc = mutationObserverSvc;
|
15
|
-
this.windowRef = windowRef;
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* Returns the given element's current scrollable host
|
19
|
-
* @param elementRef The element whose scrollable host is being requested
|
20
|
-
* @returns The current scrollable host
|
21
|
-
*/
|
22
|
-
getScrollableHost(elementRef) {
|
23
|
-
return this.findScrollableHost(elementRef.nativeElement);
|
24
|
-
}
|
25
|
-
/**
|
26
|
-
* Returns an observable which emits the given element's current scrollable host
|
27
|
-
* @param elementRef The element whose scrollable host is being requested
|
28
|
-
* @param completionObservable An observable which alerts the internal observers that they should complete
|
29
|
-
* @returns An observable which emits the current scrollable host
|
30
|
-
* @internal
|
31
|
-
*/
|
32
|
-
watchScrollableHost(elementRef) {
|
33
|
-
let subscribers = [];
|
34
|
-
let mutationObserver;
|
35
|
-
return new Observable((subscriber) => {
|
36
|
-
subscribers.push(subscriber);
|
37
|
-
let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
|
38
|
-
if (subscribers.length === 1) {
|
39
|
-
mutationObserver = this.mutationObserverSvc.create(() => {
|
40
|
-
let newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
|
41
|
-
if (newScrollableHost !== scrollableHost) {
|
42
|
-
scrollableHost = newScrollableHost;
|
43
|
-
this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
|
44
|
-
notifySubscribers(subscribers, scrollableHost);
|
45
|
-
}
|
46
|
-
});
|
47
|
-
this.observeForScrollableHostChanges(scrollableHost, mutationObserver);
|
48
|
-
}
|
49
|
-
subscriber.next(scrollableHost);
|
50
|
-
subscriber.add(() => {
|
51
|
-
const subIndex = subscribers.indexOf(subscriber);
|
52
|
-
/* sanity check */
|
53
|
-
/* istanbul ignore else */
|
54
|
-
if (subIndex >= 0) {
|
55
|
-
subscribers.splice(subIndex, 1);
|
56
|
-
}
|
57
|
-
if (subscribers.length === 0) {
|
58
|
-
mutationObserver.disconnect();
|
59
|
-
}
|
60
|
-
});
|
61
|
-
});
|
62
|
-
}
|
63
|
-
/**
|
64
|
-
* Returns an observable which emits whenever the element's scrollable host emits a scroll event. The observable will always emit the scroll events from the elements current scrollable host and will update based on any scrollable host changes. The observable will also emit once whenever the scrollable host changes.
|
65
|
-
* @param elementRef The element whose scrollable host scroll events are being requested
|
66
|
-
* @param completionObservable An observable which alerts the internal observers that they should complete
|
67
|
-
* @returns An observable which emits the scroll events from the given element's scrollable host
|
68
|
-
*/
|
69
|
-
watchScrollableHostScrollEvents(elementRef) {
|
70
|
-
let subscribers = [];
|
71
|
-
let scrollableHost;
|
72
|
-
let newScrollableHostObservable = new Subject();
|
73
|
-
let scrollableHostSubscription;
|
74
|
-
let scrollEventSubscription;
|
75
|
-
return new Observable((subscriber) => {
|
76
|
-
subscribers.push(subscriber);
|
77
|
-
if (subscribers.length === 1) {
|
78
|
-
scrollableHostSubscription = this.watchScrollableHost(elementRef).subscribe((newScrollableHost) => {
|
79
|
-
newScrollableHostObservable.next();
|
80
|
-
newScrollableHostObservable.complete();
|
81
|
-
if (scrollableHost && scrollableHost !== newScrollableHost) {
|
82
|
-
notifySubscribers(subscribers);
|
83
|
-
}
|
84
|
-
scrollableHost = newScrollableHost;
|
85
|
-
newScrollableHostObservable = new Subject();
|
86
|
-
scrollEventSubscription = fromEvent(newScrollableHost, 'scroll')
|
87
|
-
.pipe(takeUntil(newScrollableHostObservable))
|
88
|
-
.subscribe(() => {
|
89
|
-
notifySubscribers(subscribers);
|
90
|
-
});
|
91
|
-
});
|
92
|
-
}
|
93
|
-
subscriber.add(() => {
|
94
|
-
const subIndex = subscribers.indexOf(subscriber);
|
95
|
-
/* sanity check */
|
96
|
-
/* istanbul ignore else */
|
97
|
-
if (subIndex >= 0) {
|
98
|
-
subscribers.splice(subIndex, 1);
|
99
|
-
}
|
100
|
-
if (subscribers.length === 0) {
|
101
|
-
scrollableHostSubscription.unsubscribe();
|
102
|
-
scrollEventSubscription.unsubscribe();
|
103
|
-
newScrollableHostObservable.complete();
|
104
|
-
}
|
105
|
-
});
|
106
|
-
});
|
107
|
-
}
|
108
|
-
findScrollableHost(element) {
|
109
|
-
const regex = /(auto|scroll)/;
|
110
|
-
const windowObj = this.windowRef.nativeWindow;
|
111
|
-
const bodyObj = windowObj.document.body;
|
112
|
-
/* Sanity check */
|
113
|
-
if (!element) {
|
114
|
-
return windowObj;
|
115
|
-
}
|
116
|
-
let style = windowObj.getComputedStyle(element);
|
117
|
-
let parent = element;
|
118
|
-
do {
|
119
|
-
parent = parent.parentNode;
|
120
|
-
/* Sanity check for if this function is called for an element which has been removed from the DOM */
|
121
|
-
if (!(parent instanceof HTMLElement)) {
|
122
|
-
return windowObj;
|
123
|
-
}
|
124
|
-
style = windowObj.getComputedStyle(parent);
|
125
|
-
} while (!regex.test(style.overflow) &&
|
126
|
-
!regex.test(style.overflowY) &&
|
127
|
-
parent !== bodyObj);
|
128
|
-
if (parent === bodyObj) {
|
129
|
-
return windowObj;
|
130
|
-
}
|
131
|
-
return parent;
|
132
|
-
}
|
133
|
-
observeForScrollableHostChanges(element, mutationObserver) {
|
134
|
-
mutationObserver.disconnect();
|
135
|
-
if (element instanceof HTMLElement) {
|
136
|
-
mutationObserver.observe(element, {
|
137
|
-
attributes: true,
|
138
|
-
attributeFilter: ['class', 'style.overflow', 'style.overflow-y'],
|
139
|
-
childList: true,
|
140
|
-
subtree: true,
|
141
|
-
});
|
142
|
-
}
|
143
|
-
else {
|
144
|
-
mutationObserver.observe(document.documentElement, {
|
145
|
-
attributes: true,
|
146
|
-
attributeFilter: ['class', 'style.overflow', 'style.overflow-y'],
|
147
|
-
childList: true,
|
148
|
-
subtree: true,
|
149
|
-
});
|
150
|
-
}
|
151
|
-
}
|
152
|
-
}
|
153
|
-
SkyScrollableHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyScrollableHostService, deps: [{ token: i1.MutationObserverService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
154
|
-
SkyScrollableHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyScrollableHostService, providedIn: 'root' });
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyScrollableHostService, decorators: [{
|
156
|
-
type: Injectable,
|
157
|
-
args: [{
|
158
|
-
providedIn: 'root',
|
159
|
-
}]
|
160
|
-
}], ctorParameters: function () { return [{ type: i1.MutationObserverService }, { type: i2.SkyAppWindowRef }]; } });
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3Njcm9sbGFibGUtaG9zdC9zY3JvbGxhYmxlLWhvc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSTNDLFNBQVMsaUJBQWlCLENBQUMsV0FBa0MsRUFBRSxJQUFjO0lBQzNFLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1FBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkI7QUFDSCxDQUFDO0FBS0QsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLG1CQUE0QyxFQUM1QyxTQUEwQjtRQUQxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWlCO0lBQ2pDLENBQUM7SUFFSjs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsVUFBc0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUIsQ0FDeEIsVUFBc0I7UUFFdEIsSUFBSSxXQUFXLEdBQXVDLEVBQUUsQ0FBQztRQUN6RCxJQUFJLGdCQUFrQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNuQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTdCLElBQUksY0FBYyxHQUFHLElBQUks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QUFLLE9BQU8sRUFDbEI7UUFFRixJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDdEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sK0JBQStCLENBQ3JDLE9BQTZCLEVBQzdCLGdCQUFrQztRQUVsQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDbEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDaEMsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztnQkFDaEUsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7Z0JBQ2pELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixlQUFlLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2hFLFNBQVMsRUFBRSxJQUFJO2dCQUNmLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztzSEFsTFUsd0JBQXdCOzBIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs0RkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpYmVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICcuLi93aW5kb3cvd2luZG93LXJlZic7XG5cbmZ1bmN0aW9uIG5vdGlmeVN1YnNjcmliZXJzKHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPHVua25vd24+W10sIGl0ZW0/OiB1bmtub3duKSB7XG4gIGZvciAoY29uc3Qgc3Vic2NyaWJlciBvZiBzdWJzY3JpYmVycykge1xuICAgIHN1YnNjcmliZXIubmV4dChpdGVtKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmXG4gICkge31cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZ2l2ZW4gZWxlbWVudCdzIGN1cnJlbnQgc2Nyb2xsYWJsZSBob3N0XG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFRoZSBlbGVtZW50IHdob3NlIHNjcm9sbGFibGUgaG9zdCBpcyBiZWluZyByZXF1ZXN0ZWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgc2Nyb2xsYWJsZSBob3N0XG4gICAqL1xuICBwdWJsaWMgZ2V0U2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IEhUTUxFbGVtZW50IHwgV2luZG93IHtcbiAgICByZXR1cm4gdGhpcy5maW5kU2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgd2hpY2ggZW1pdHMgdGhlIGdpdmVuIGVsZW1lbnQncyBjdXJyZW50IHNjcm9sbGFibGUgaG9zdFxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBUaGUgZWxlbWVudCB3aG9zZSBzY3JvbGxhYmxlIGhvc3QgaXMgYmVpbmcgcmVxdWVzdGVkXG4gICAqIEBwYXJhbSBjb21wbGV0aW9uT2JzZXJ2YWJsZSBBbiBvYnNlcnZhYmxlIHdoaWNoIGFsZXJ0cyB0aGUgaW50ZXJuYWwgb2JzZXJ2ZXJzIHRoYXQgdGhleSBzaG91bGQgY29tcGxldGVcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBzY3JvbGxhYmxlIGhvc3RcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2F0Y2hTY3JvbGxhYmxlSG9zdChcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICk6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQgfCBXaW5kb3c+IHtcbiAgICBsZXQgc3Vic2NyaWJlcnM6IFN1YnNjcmliZXI8SFRNTEVsZW1lbnQgfCBXaW5kb3c+W10gPSBbXTtcbiAgICBsZXQgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcjtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgc3Vic2NyaWJlcnMucHVzaChzdWJzY3JpYmVyKTtcblxuICAgICAgbGV0IHNjcm9sbGFibGVIb3N0ID0gdGhpcy5maW5kU2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIGlmIChzdWJzY3JpYmVycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgbXV0YXRpb25PYnNlcnZlciA9IHRoaXMubXV0YXRpb25PYnNlcnZlclN2Yy5jcmVhdGUoKCkgPT4ge1xuICAgICAgICAgIGxldCBuZXdTY3JvbGxhYmxlSG9zdCA9IHRoaXMuZmluZFNjcm9sbGFibGVIb3N0KFxuICAgICAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChuZXdTY3JvbGxhYmxlSG9zdCAhPT0gc2Nyb2xsYWJsZUhvc3QpIHtcbiAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVGb3JTY3JvbGxhYmxlSG9zdENoYW5nZXMoXG4gICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgICAgICBtdXRhdGlvbk9ic2VydmVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycywgc2Nyb2xsYWJsZUhvc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUZvclNjcm9sbGFibGVIb3N0Q2hhbmdlcyhzY3JvbGxhYmxlSG9zdCwgbXV0YXRpb25PYnNlcnZlcik7XG4gICAgICB9XG4gICAgICBzdWJzY3JpYmVyLm5leHQoc2Nyb2xsYWJsZUhvc3QpO1xuXG4gICAgICBzdWJzY3JpYmVyLmFkZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YkluZGV4ID0gc3Vic2NyaWJlcnMuaW5kZXhPZihzdWJzY3JpYmVyKTtcblxuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHN1YkluZGV4ID49IDApIHtcbiAgICAgICAgICBzdWJzY3JpYmVycy5zcGxpY2Uoc3ViSW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1YnNjcmliZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgd2hpY2ggZW1pdHMgd2hlbmV2ZXIgdGhlIGVsZW1lbnQncyBzY3JvbGxhYmxlIGhvc3QgZW1pdHMgYSBzY3JvbGwgZXZlbnQuIFRoZSBvYnNlcnZhYmxlIHdpbGwgYWx3YXlzIGVtaXQgdGhlIHNjcm9sbCBldmVudHMgZnJvbSB0aGUgZWxlbWVudHMgY3VycmVudCBzY3JvbGxhYmxlIGhvc3QgYW5kIHdpbGwgdXBkYXRlIGJhc2VkIG9uIGFueSBzY3JvbGxhYmxlIGhvc3QgY2hhbmdlcy4gVGhlIG9ic2VydmFibGUgd2lsbCBhbHNvIGVtaXQgb25jZSB3aGVuZXZlciB0aGUgc2Nyb2xsYWJsZSBob3N0IGNoYW5nZXMuXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFRoZSBlbGVtZW50IHdob3NlIHNjcm9sbGFibGUgaG9zdCBzY3JvbGwgZXZlbnRzIGFyZSBiZWluZyByZXF1ZXN0ZWRcbiAgICogQHBhcmFtIGNvbXBsZXRpb25PYnNlcnZhYmxlIEFuIG9ic2VydmFibGUgd2hpY2ggYWxlcnRzIHRoZSBpbnRlcm5hbCBvYnNlcnZlcnMgdGhhdCB0aGV5IHNob3VsZCBjb21wbGV0ZVxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHRoZSBzY3JvbGwgZXZlbnRzIGZyb20gdGhlIGdpdmVuIGVsZW1lbnQncyBzY3JvbGxhYmxlIGhvc3RcbiAgICovXG4gIHB1YmxpYyB3YXRjaFNjcm9sbGFibGVIb3N0U2Nyb2xsRXZlbnRzKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgbGV0IHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPHZvaWQ+W10gPSBbXTtcbiAgICBsZXQgc2Nyb2xsYWJsZUhvc3Q6IEhUTUxFbGVtZW50IHwgV2luZG93O1xuXG4gICAgbGV0IG5ld1Njcm9sbGFibGVIb3N0T2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgbGV0IHNjcm9sbGFibGVIb3N0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgbGV0IHNjcm9sbEV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICBzdWJzY3JpYmVycy5wdXNoKHN1YnNjcmliZXIpO1xuXG4gICAgICBpZiAoc3Vic2NyaWJlcnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHNjcm9sbGFibGVIb3N0U3Vic2NyaXB0aW9uID0gdGhpcy53YXRjaFNjcm9sbGFibGVIb3N0KFxuICAgICAgICAgIGVsZW1lbnRSZWZcbiAgICAgICAgKS5zdWJzY3JpYmUoKG5ld1Njcm9sbGFibGVIb3N0KSA9PiB7XG4gICAgICAgICAgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlLm5leHQoKTtcbiAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUuY29tcGxldGUoKTtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUhvc3QgJiYgc2Nyb2xsYWJsZUhvc3QgIT09IG5ld1Njcm9sbGFibGVIb3N0KSB7XG4gICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG4gICAgICAgICAgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgICBzY3JvbGxFdmVudFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChuZXdTY3JvbGxhYmxlSG9zdCwgJ3Njcm9sbCcpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHN1YnNjcmliZXIuYWRkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc3ViSW5kZXggPSBzdWJzY3JpYmVycy5pbmRleE9mKHN1YnNjcmliZXIpO1xuXG4gICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoc3ViSW5kZXggPj0gMCkge1xuICAgICAgICAgIHN1YnNjcmliZXJzLnNwbGljZShzdWJJbmRleCwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3Vic2NyaWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgc2Nyb2xsYWJsZUhvc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBzY3JvbGxFdmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIG5ld1Njcm9sbGFibGVIb3N0T2JzZXJ2YWJsZS5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNjcm9sbGFibGVIb3N0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBXaW5kb3cge1xuICAgIGNvbnN0IHJlZ2V4ID0gLyhhdXRvfHNjcm9sbCkvO1xuICAgIGNvbnN0IHdpbmRvd09iaiA9IHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdztcbiAgICBjb25zdCBib2R5T2JqID0gd2luZG93T2JqLmRvY3VtZW50LmJvZHk7XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB3aW5kb3dPYmo7XG4gICAgfVxuXG4gICAgbGV0IHN0eWxlID0gd2luZG93T2JqLmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgbGV0IHBhcmVudDogSFRNTEVsZW1lbnQgPSBlbGVtZW50O1xuXG4gICAgZG8ge1xuICAgICAgcGFyZW50ID0gPEhUTUxFbGVtZW50PnBhcmVudC5wYXJlbnROb2RlO1xuXG4gICAgICAvKiBTYW5pdHkgY2hlY2sgZm9yIGlmIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZvciBhbiBlbGVtZW50IHdoaWNoIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NICovXG4gICAgICBpZiAoIShwYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICAgIH1cblxuICAgICAgc3R5bGUgPSB3aW5kb3dPYmouZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xuICAgIH0gd2hpbGUgKFxuICAgICAgIXJlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cpICYmXG4gICAgICAhcmVnZXgudGVzdChzdHlsZS5vdmVyZmxvd1kpICYmXG4gICAgICBwYXJlbnQgIT09IGJvZHlPYmpcbiAgICApO1xuXG4gICAgaWYgKHBhcmVudCA9PT0gYm9keU9iaikge1xuICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgV2luZG93LFxuICAgIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXJcbiAgKSB7XG4gICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlLm92ZXJmbG93JywgJ3N0eWxlLm92ZXJmbG93LXknXSxcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlLm92ZXJmbG93JywgJ3N0eWxlLm92ZXJmbG93LXknXSxcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -1,74 +0,0 @@
|
|
1
|
-
/* tslint:disable:no-null-keyword */
|
2
|
-
// This file is mostly ported from the Angular 4.x NumberPipe in order to maintain the old
|
3
|
-
// behavior of using the `Intl` API for formatting numbers rather than having to register every
|
4
|
-
// supported locale.
|
5
|
-
// https://github.com/angular/angular/blob/4.4.x/packages/common/src/pipes/number_pipe.ts
|
6
|
-
import { SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
|
7
|
-
function isNumeric(value) {
|
8
|
-
return !isNaN(value - parseFloat(value));
|
9
|
-
}
|
10
|
-
function parseIntAutoRadix(text) {
|
11
|
-
const result = parseInt(text, 10);
|
12
|
-
/* istanbul ignore next */
|
13
|
-
if (isNaN(result)) {
|
14
|
-
throw new Error('Invalid integer literal when parsing ' + text);
|
15
|
-
}
|
16
|
-
return result;
|
17
|
-
}
|
18
|
-
// Need to add the following to classes which contain static methods.
|
19
|
-
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
20
|
-
// @dynamic
|
21
|
-
export class SkyNumberFormatUtility {
|
22
|
-
/* istanbul ignore next */
|
23
|
-
constructor() { }
|
24
|
-
static formatNumber(locale, value, style, digits, currency = null, currencyAsSymbol = false, currencySign) {
|
25
|
-
if (value == null) {
|
26
|
-
return null;
|
27
|
-
}
|
28
|
-
// Convert strings to numbers
|
29
|
-
value = typeof value === 'string' && isNumeric(value) ? +value : value;
|
30
|
-
if (typeof value !== 'number') {
|
31
|
-
throw Error(`SkyInvalidPipeArgument: '${value}'`);
|
32
|
-
}
|
33
|
-
let minInt = undefined;
|
34
|
-
let minFraction = undefined;
|
35
|
-
let maxFraction = undefined;
|
36
|
-
if (style !== SkyIntlNumberFormatStyle.Currency) {
|
37
|
-
// rely on Intl default for currency
|
38
|
-
minInt = 1;
|
39
|
-
minFraction = 0;
|
40
|
-
maxFraction = 3;
|
41
|
-
}
|
42
|
-
if (digits) {
|
43
|
-
const parts = digits.match(this._NUMBER_FORMAT_REGEXP);
|
44
|
-
if (parts === null) {
|
45
|
-
throw new Error(`${digits} is not a valid digit info for number pipes`);
|
46
|
-
}
|
47
|
-
/* istanbul ignore else */
|
48
|
-
if (parts[1] != null) {
|
49
|
-
// min integer digits
|
50
|
-
minInt = parseIntAutoRadix(parts[1]);
|
51
|
-
}
|
52
|
-
/* istanbul ignore else */
|
53
|
-
if (parts[3] != null) {
|
54
|
-
// min fraction digits
|
55
|
-
minFraction = parseIntAutoRadix(parts[3]);
|
56
|
-
}
|
57
|
-
/* istanbul ignore else */
|
58
|
-
if (parts[5] != null) {
|
59
|
-
// max fraction digits
|
60
|
-
maxFraction = parseIntAutoRadix(parts[5]);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
return SkyIntlNumberFormatter.format(value, locale, style, {
|
64
|
-
minimumIntegerDigits: minInt,
|
65
|
-
minimumFractionDigits: minFraction,
|
66
|
-
maximumFractionDigits: maxFraction,
|
67
|
-
currency: currency,
|
68
|
-
currencyAsSymbol: currencyAsSymbol,
|
69
|
-
currencySign: currencySign,
|
70
|
-
});
|
71
|
-
}
|
72
|
-
}
|
73
|
-
SkyNumberFormatUtility._NUMBER_FORMAT_REGEXP = /^(\d+)?\.((\d+)(-(\d+))?)?$/;
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9zaGFyZWQvbnVtYmVyLWZvcm1hdC9udW1iZXItZm9ybWF0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBRXBDLDBGQUEwRjtBQUMxRiwrRkFBK0Y7QUFDL0Ysb0JBQW9CO0FBQ3BCLHlGQUF5RjtBQUV6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0UsU0FBUyxTQUFTLENBQUMsS0FBVTtJQUMzQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZO0lBQ3JDLE1BQU0sTUFBTSxHQUFXLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFMUMsMEJBQTBCO0lBQzFCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDakU7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLDJEQUEyRDtBQUMzRCxXQUFXO0FBQ1gsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQywwQkFBMEI7SUFDMUIsZ0JBQWUsQ0FBQztJQUVULE1BQU0sQ0FBQyxZQUFZLENBQ3hCLE1BQWMsRUFDZCxLQUFzQixFQUN0QixLQUErQixFQUMvQixNQUFzQixFQUN0QixXQUEwQixJQUFJLEVBQzlCLG1CQUE0QixLQUFLLEVBQ2pDLFlBQXdDO1FBRXhDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsNkJBQTZCO1FBQzdCLEtBQUssR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3ZFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxNQUFNLEdBQXVCLFNBQVMsQ0FBQztRQUMzQyxJQUFJLFdBQVcsR0FBdUIsU0FBUyxDQUFDO1FBQ2hELElBQUksV0FBVyxHQUF1QixTQUFTLENBQUM7UUFDaEQsSUFBSSxLQUFLLEtBQUssd0JBQXdCLENBQUMsUUFBUSxFQUFFO1lBQy9DLG9DQUFvQztZQUNwQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ1gsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNoQixXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBRXZELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLE1BQU0sNkNBQTZDLENBQUMsQ0FBQzthQUN6RTtZQUVELDBCQUEwQjtZQUMxQixJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3BCLHFCQUFxQjtnQkFDckIsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1lBRUQsMEJBQTBCO1lBQzFCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDcEIsc0JBQXNCO2dCQUN0QixXQUFXLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7WUFFRCwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUNwQixzQkFBc0I7Z0JBQ3RCLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQztTQUNGO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsS0FBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDbkUsb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixxQkFBcUIsRUFBRSxXQUFXO1lBQ2xDLHFCQUFxQixFQUFFLFdBQVc7WUFDbEMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcEVjLDRDQUFxQixHQUFXLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6bm8tbnVsbC1rZXl3b3JkICovXG5cbi8vIFRoaXMgZmlsZSBpcyBtb3N0bHkgcG9ydGVkIGZyb20gdGhlIEFuZ3VsYXIgNC54IE51bWJlclBpcGUgaW4gb3JkZXIgdG8gbWFpbnRhaW4gdGhlIG9sZFxuLy8gYmVoYXZpb3Igb2YgdXNpbmcgdGhlIGBJbnRsYCBBUEkgZm9yIGZvcm1hdHRpbmcgbnVtYmVycyByYXRoZXIgdGhhbiBoYXZpbmcgdG8gcmVnaXN0ZXIgZXZlcnlcbi8vIHN1cHBvcnRlZCBsb2NhbGUuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNC40LngvcGFja2FnZXMvY29tbW9uL3NyYy9waXBlcy9udW1iZXJfcGlwZS50c1xuXG5pbXBvcnQgeyBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUsIFNreUludGxOdW1iZXJGb3JtYXR0ZXIgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmZ1bmN0aW9uIGlzTnVtZXJpYyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNOYU4odmFsdWUgLSBwYXJzZUZsb2F0KHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW50QXV0b1JhZGl4KHRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IHJlc3VsdDogbnVtYmVyID0gcGFyc2VJbnQodGV4dCwgMTApO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmIChpc05hTihyZXN1bHQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGludGVnZXIgbGl0ZXJhbCB3aGVuIHBhcnNpbmcgJyArIHRleHQpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gTmVlZCB0byBhZGQgdGhlIGZvbGxvd2luZyB0byBjbGFzc2VzIHdoaWNoIGNvbnRhaW4gc3RhdGljIG1ldGhvZHMuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wYWNrYWdyL25nLXBhY2thZ3IvaXNzdWVzLzY0MVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IHtcbiAgcHJpdmF0ZSBzdGF0aWMgX05VTUJFUl9GT1JNQVRfUkVHRVhQOiBSZWdFeHAgPSAvXihcXGQrKT9cXC4oKFxcZCspKC0oXFxkKykpPyk/JC87XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0TnVtYmVyKFxuICAgIGxvY2FsZTogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgc3R5bGU6IFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSxcbiAgICBkaWdpdHM/OiBzdHJpbmcgfCBudWxsLFxuICAgIGN1cnJlbmN5OiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbiAgICBjdXJyZW5jeUFzU3ltYm9sOiBib29sZWFuID0gZmFsc2UsXG4gICAgY3VycmVuY3lTaWduPzogJ2FjY291bnRpbmcnIHwgJ3N0YW5kYXJkJ1xuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ29udmVydCBzdHJpbmdzIHRvIG51bWJlcnNcbiAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgaXNOdW1lcmljKHZhbHVlKSA/ICt2YWx1ZSA6IHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBFcnJvcihgU2t5SW52YWxpZFBpcGVBcmd1bWVudDogJyR7dmFsdWV9J2ApO1xuICAgIH1cblxuICAgIGxldCBtaW5JbnQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgbWluRnJhY3Rpb246IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgbWF4RnJhY3Rpb246IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAoc3R5bGUgIT09IFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSkge1xuICAgICAgLy8gcmVseSBvbiBJbnRsIGRlZmF1bHQgZm9yIGN1cnJlbmN5XG4gICAgICBtaW5JbnQgPSAxO1xuICAgICAgbWluRnJhY3Rpb24gPSAwO1xuICAgICAgbWF4RnJhY3Rpb24gPSAzO1xuICAgIH1cblxuICAgIGlmIChkaWdpdHMpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gZGlnaXRzLm1hdGNoKHRoaXMuX05VTUJFUl9GT1JNQVRfUkVHRVhQKTtcblxuICAgICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtkaWdpdHN9IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm8gZm9yIG51bWJlciBwaXBlc2ApO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHBhcnRzWzFdICE9IG51bGwpIHtcbiAgICAgICAgLy8gbWluIGludGVnZXIgZGlnaXRzXG4gICAgICAgIG1pbkludCA9IHBhcnNlSW50QXV0b1JhZGl4KHBhcnRzWzFdKTtcbiAgICAgIH1cblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChwYXJ0c1szXSAhPSBudWxsKSB7XG4gICAgICAgIC8vIG1pbiBmcmFjdGlvbiBkaWdpdHNcbiAgICAgICAgbWluRnJhY3Rpb24gPSBwYXJzZUludEF1dG9SYWRpeChwYXJ0c1szXSk7XG4gICAgICB9XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAocGFydHNbNV0gIT0gbnVsbCkge1xuICAgICAgICAvLyBtYXggZnJhY3Rpb24gZGlnaXRzXG4gICAgICAgIG1heEZyYWN0aW9uID0gcGFyc2VJbnRBdXRvUmFkaXgocGFydHNbNV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBTa3lJbnRsTnVtYmVyRm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSBhcyBudW1iZXIsIGxvY2FsZSwgc3R5bGUsIHtcbiAgICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBtaW5JbnQsXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG1pbkZyYWN0aW9uLFxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBtYXhGcmFjdGlvbixcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSxcbiAgICAgIGN1cnJlbmN5QXNTeW1ib2w6IGN1cnJlbmN5QXNTeW1ib2wsXG4gICAgICBjdXJyZW5jeVNpZ246IGN1cnJlbmN5U2lnbixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -1,50 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* NOTICE: DO NOT MODIFY THIS FILE!
|
3
|
-
* The contents of this file were automatically generated by
|
4
|
-
* the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-core' schematic.
|
5
|
-
* To update this file, simply rerun the command.
|
6
|
-
*/
|
7
|
-
import { NgModule } from '@angular/core';
|
8
|
-
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, } from '@skyux/i18n';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
const RESOURCES = {
|
11
|
-
'EN-US': {
|
12
|
-
skyux_numeric_billions_symbol: { message: 'B' },
|
13
|
-
skyux_numeric_millions_symbol: { message: 'M' },
|
14
|
-
skyux_numeric_thousands_symbol: { message: 'K' },
|
15
|
-
skyux_numeric_trillions_symbol: { message: 'T' },
|
16
|
-
},
|
17
|
-
};
|
18
|
-
export class SkyCoreResourcesProvider {
|
19
|
-
getString(localeInfo, name) {
|
20
|
-
return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
|
21
|
-
}
|
22
|
-
}
|
23
|
-
/**
|
24
|
-
* Import into any component library module that needs to use resource strings.
|
25
|
-
*/
|
26
|
-
export class SkyCoreResourcesModule {
|
27
|
-
}
|
28
|
-
SkyCoreResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
29
|
-
SkyCoreResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreResourcesModule, exports: [SkyI18nModule] });
|
30
|
-
SkyCoreResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreResourcesModule, providers: [
|
31
|
-
{
|
32
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
33
|
-
useClass: SkyCoreResourcesProvider,
|
34
|
-
multi: true,
|
35
|
-
},
|
36
|
-
], imports: [SkyI18nModule] });
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreResourcesModule, decorators: [{
|
38
|
-
type: NgModule,
|
39
|
-
args: [{
|
40
|
-
exports: [SkyI18nModule],
|
41
|
-
providers: [
|
42
|
-
{
|
43
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
44
|
-
useClass: SkyCoreResourcesProvider,
|
45
|
-
multi: true,
|
46
|
-
},
|
47
|
-
],
|
48
|
-
}]
|
49
|
-
}] });
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWNvcmUtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvc2hhcmVkL3NreS1jb3JlLXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixHQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRTtRQUNQLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUMvQyw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDL0MsOEJBQThCLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ2hELDhCQUE4QixFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtLQUNqRDtDQUNGLENBQUM7QUFFRixNQUFNLE9BQU8sd0JBQXdCO0lBQzVCLFNBQVMsQ0FBQyxVQUE0QixFQUFFLElBQVk7UUFDekQsT0FBTyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQVdILE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixZQVR2QixhQUFhO3FIQVNaLHNCQUFzQixhQVJ0QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixZQVBTLGFBQWE7NEZBU1osc0JBQXNCO2tCQVZsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIG1vZHVsZXMvc2hhcmVkL3NreS1jb3JlJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X251bWVyaWNfYmlsbGlvbnNfc3ltYm9sOiB7IG1lc3NhZ2U6ICdCJyB9LFxuICAgIHNreXV4X251bWVyaWNfbWlsbGlvbnNfc3ltYm9sOiB7IG1lc3NhZ2U6ICdNJyB9LFxuICAgIHNreXV4X251bWVyaWNfdGhvdXNhbmRzX3N5bWJvbDogeyBtZXNzYWdlOiAnSycgfSxcbiAgICBza3l1eF9udW1lcmljX3RyaWxsaW9uc19zeW1ib2w6IHsgbWVzc2FnZTogJ1QnIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5Q29yZVJlc291cmNlc1Byb3ZpZGVyIGltcGxlbWVudHMgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIge1xuICBwdWJsaWMgZ2V0U3RyaW5nKGxvY2FsZUluZm86IFNreUFwcExvY2FsZUluZm8sIG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldExpYlN0cmluZ0ZvckxvY2FsZShSRVNPVVJDRVMsIGxvY2FsZUluZm8ubG9jYWxlLCBuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogU2t5Q29yZVJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29yZVJlc291cmNlc01vZHVsZSB7fVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXRpdGxlLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3RpdGxlL3NldC10aXRsZS1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreUFwcFNldFRpdGxlQXJncyB7XG4gIHRpdGxlUGFydHM6IHN0cmluZ1tdO1xufVxuIl19
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
4
|
-
/**
|
5
|
-
* Provides a method for setting a formatted title on the current window.
|
6
|
-
*/
|
7
|
-
export class SkyAppTitleService {
|
8
|
-
constructor(title) {
|
9
|
-
this.title = title;
|
10
|
-
}
|
11
|
-
/**
|
12
|
-
* Sets the title on the current window.
|
13
|
-
* @param args An array of title parts. The parts will be concatenated with a hyphen between
|
14
|
-
* each part.
|
15
|
-
*/
|
16
|
-
setTitle(args) {
|
17
|
-
if (args && args.titleParts) {
|
18
|
-
this.title.setTitle(args.titleParts.join(' - '));
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
SkyAppTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAppTitleService, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
23
|
-
SkyAppTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAppTitleService, providedIn: 'root' });
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAppTitleService, decorators: [{
|
25
|
-
type: Injectable,
|
26
|
-
args: [{
|
27
|
-
providedIn: 'root',
|
28
|
-
}]
|
29
|
-
}], ctorParameters: function () { return [{ type: i1.Title }]; } });
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvdGl0bGUvdGl0bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztJQUVwQzs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLElBQXdCO1FBQ3RDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7O2dIQVpVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgU2t5QXBwU2V0VGl0bGVBcmdzIH0gZnJvbSAnLi9zZXQtdGl0bGUtYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIHNldHRpbmcgYSBmb3JtYXR0ZWQgdGl0bGUgb24gdGhlIGN1cnJlbnQgd2luZG93LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXBwVGl0bGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aXRsZTogVGl0bGUpIHt9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRpdGxlIG9uIHRoZSBjdXJyZW50IHdpbmRvdy5cbiAgICogQHBhcmFtIGFyZ3MgQW4gYXJyYXkgb2YgdGl0bGUgcGFydHMuIFRoZSBwYXJ0cyB3aWxsIGJlIGNvbmNhdGVuYXRlZCB3aXRoIGEgaHlwaGVuIGJldHdlZW5cbiAgICogZWFjaCBwYXJ0LlxuICAgKi9cbiAgcHVibGljIHNldFRpdGxlKGFyZ3M6IFNreUFwcFNldFRpdGxlQXJncyk6IHZvaWQge1xuICAgIGlmIChhcmdzICYmIGFyZ3MudGl0bGVQYXJ0cykge1xuICAgICAgdGhpcy50aXRsZS5zZXRUaXRsZShhcmdzLnRpdGxlUGFydHMuam9pbignIC0gJykpO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { of as observableOf } from 'rxjs';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class SkyUIConfigService {
|
5
|
-
getConfig(key, defaultConfig) {
|
6
|
-
return observableOf(defaultConfig);
|
7
|
-
}
|
8
|
-
/* istanbul ignore next */
|
9
|
-
setConfig(key, value) {
|
10
|
-
return observableOf({});
|
11
|
-
}
|
12
|
-
}
|
13
|
-
SkyUIConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyUIConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
14
|
-
SkyUIConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyUIConfigService, providedIn: 'root' });
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyUIConfigService, decorators: [{
|
16
|
-
type: Injectable,
|
17
|
-
args: [{
|
18
|
-
providedIn: 'root',
|
19
|
-
}]
|
20
|
-
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3VpLWNvbmZpZy91aS1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUt0RCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3RCLFNBQVMsQ0FBQyxHQUFXLEVBQUUsYUFBbUI7UUFDL0MsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELDBCQUEwQjtJQUNuQixTQUFTLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdEMsT0FBTyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7Z0hBUlUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVVJQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyBnZXRDb25maWcoa2V5OiBzdHJpbmcsIGRlZmF1bHRDb25maWc/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YoZGVmYXVsdENvbmZpZyk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgc2V0Q29uZmlnKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHt9KTtcbiAgfVxufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1ib3VuZGFyeS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItYm91bmRhcnktaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Vmlld2tlZXBlck9mZnNldCB9IGZyb20gJy4vdmlld2tlZXBlci1vZmZzZXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreVZpZXdrZWVwZXJCb3VuZGFyeUluZm8ge1xuICBlbEhlaWdodDogbnVtYmVyO1xuXG4gIHNwYWNlckVsOiBIVE1MRWxlbWVudDtcblxuICBzcGFjZXJJZDogc3RyaW5nO1xuXG4gIGJvdW5kYXJ5Qm90dG9tOiBudW1iZXI7XG5cbiAgYm91bmRhcnlPZmZzZXQ6IFNreVZpZXdrZWVwZXJPZmZzZXQ7XG5cbiAgYm91bmRhcnlFbDogSFRNTEVsZW1lbnQ7XG5cbiAgc2Nyb2xsTGVmdDogbnVtYmVyO1xuXG4gIHNjcm9sbFRvcDogbnVtYmVyO1xufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1maXhlZC1zdHlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1maXhlZC1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2t5Vmlld2tlZXBlckZpeGVkU3R5bGVzIHtcbiAgZWxGaXhlZExlZnQ6IG51bWJlcjtcblxuICBlbEZpeGVkVG9wOiBudW1iZXI7XG5cbiAgZWxGaXhlZFdpZHRoOiBudW1iZXI7XG59XG4iXX0=
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class SkyViewkeeperHostOptions {
|
4
|
-
}
|
5
|
-
SkyViewkeeperHostOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyViewkeeperHostOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
6
|
-
SkyViewkeeperHostOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyViewkeeperHostOptions });
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyViewkeeperHostOptions, decorators: [{
|
8
|
-
type: Injectable
|
9
|
-
}] });
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1ob3N0LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1ob3N0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHdCQUF3Qjs7c0hBQXhCLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVZpZXdrZWVwZXJPcHRpb25zIH0gZnJvbSAnLi92aWV3a2VlcGVyLW9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5Vmlld2tlZXBlckhvc3RPcHRpb25zIGltcGxlbWVudHMgU2t5Vmlld2tlZXBlck9wdGlvbnMge1xuICBwdWJsaWMgYm91bmRhcnlFbD86IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBlbD86IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBzY3JvbGxhYmxlSG9zdD86IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBzZXRXaWR0aD86IGJvb2xlYW47XG5cbiAgcHVibGljIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuXG4gIHB1YmxpYyB2ZXJ0aWNhbE9mZnNldEVsPzogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIHZpZXdwb3J0TWFyZ2luVG9wPzogbnVtYmVyO1xufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1vZmZzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vZmZzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2t5Vmlld2tlZXBlck9mZnNldCB7XG4gIHRvcDogbnVtYmVyO1xuXG4gIGxlZnQ6IG51bWJlcjtcbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhIHZpZXdrZWVwZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5Vmlld2tlZXBlck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhhdCBkZWZpbmVzIHRoZSBib3VuZHMgaW4gd2hpY2ggdG8ga2VlcCB0aGUgZWxlbWVudCBpbiB2aWV3LiBXaGVuIHRoZVxuICAgKiBib3VuZGFyeSBlbGVtZW50IGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3LCB0aGUgdmlld2tlZXBlciBlbGVtZW50IHdpbGwgYmUgc2Nyb2xsZWRcbiAgICogb3V0IG9mIHZpZXcuXG4gICAqL1xuICBib3VuZGFyeUVsPzogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRvIGtlZXAgaW4gdmlldy5cbiAgICovXG4gIGVsPzogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNjcm9sbGFibGUgcGFyZW50IHdoaWNoIHRoZSB2aWV3a2VlcGVyIHJlc2lkZXMgaW4gYW5kIHNob3VsZCBsaXN0ZW4gdG8gYW5kIGJlXG4gICAqIHBvc2l0aW9uZWQgd2l0aGluLlxuICAgKi9cbiAgc2Nyb2xsYWJsZUhvc3Q/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gc2V0IHRoZSB3aWR0aCBvZiB0aGUgdmlld2tlZXBlciBlbGVtZW50IHRvIHRoZSB3aWR0aCBvZiBpdHNcbiAgICogaG9zdCBlbGVtZW50LiBPdGhlcndpc2UsIGlmIHRoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYW4gZXhwbGljaXQgd2lkdGggc3BlY2lmaWVkLFxuICAgKiB0aGUgZWxlbWVudCB3b3VsZCBjb2xsYXBzZSBob3Jpem9udGFsbHkgYXMgYSByZXN1bHQgb2YgZml4aW5nIHRoZSBlbGVtZW50IHRvIHRoZSB0b3BcbiAgICogb2YgdGhlIHZpZXdwb3J0LlxuICAgKi9cbiAgc2V0V2lkdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXNlcnZlZCBzcGFjZSBpbiBwaXhlbHMgYWJvdmUgdGhlIHZpZXdrZWVwZXIgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB1bmRlciB3aGljaCB0aGUgdmlld2tlZXBlciBlbGVtZW50IHNob3VsZCBiZSBmaXhlZC4gVHlwaWNhbGx5IHRoaXMgaXNcbiAgICogYW5vdGhlciB2aWV3a2VlcGVyIGVsZW1lbnQgdGhhdCBpcyBhYm92ZSB0aGUgY3VycmVudCB2aWV3a2VlcGVyIGVsZW1lbnQgaW4gdGhlIHNhbWVcbiAgICogYm91bmRhcnkgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsT2Zmc2V0RWw/OiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogUmVzZXJ2ZWQgc3BhY2UgaW4gcGl4ZWxzIGF0IHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxuICAgKi9cbiAgdmlld3BvcnRNYXJnaW5Ub3A/OiBudW1iZXI7XG59XG4iXX0=
|
@@ -1,113 +0,0 @@
|
|
1
|
-
import { Directive, Input, Optional, } from '@angular/core';
|
2
|
-
import { Subject } from 'rxjs';
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../mutation/mutation-observer-service";
|
6
|
-
import * as i2 from "./viewkeeper.service";
|
7
|
-
import * as i3 from "../scrollable-host/scrollable-host.service";
|
8
|
-
export class SkyViewkeeperDirective {
|
9
|
-
constructor(el, mutationObserverSvc, viewkeeperSvc, scrollableHostService) {
|
10
|
-
this.el = el;
|
11
|
-
this.mutationObserverSvc = mutationObserverSvc;
|
12
|
-
this.viewkeeperSvc = viewkeeperSvc;
|
13
|
-
this.scrollableHostService = scrollableHostService;
|
14
|
-
this.viewkeepers = [];
|
15
|
-
this.scrollableHostWatchUnsubscribe = undefined;
|
16
|
-
}
|
17
|
-
set skyViewkeeper(value) {
|
18
|
-
this._skyViewkeeper = value;
|
19
|
-
this.detectElements();
|
20
|
-
}
|
21
|
-
get skyViewkeeper() {
|
22
|
-
return this._skyViewkeeper;
|
23
|
-
}
|
24
|
-
ngOnInit() {
|
25
|
-
this.observer = this.mutationObserverSvc.create(() => this.detectElements());
|
26
|
-
this.observer.observe(this.el.nativeElement, {
|
27
|
-
childList: true,
|
28
|
-
subtree: true,
|
29
|
-
});
|
30
|
-
}
|
31
|
-
ngOnDestroy() {
|
32
|
-
this.observer.disconnect();
|
33
|
-
this.destroyViewkeepers();
|
34
|
-
}
|
35
|
-
destroyViewkeepers() {
|
36
|
-
for (const viewkeeper of this.viewkeepers) {
|
37
|
-
this.viewkeeperSvc.destroy(viewkeeper);
|
38
|
-
}
|
39
|
-
this.viewkeepers = [];
|
40
|
-
}
|
41
|
-
getViewkeeperEls() {
|
42
|
-
let viewkeeperEls;
|
43
|
-
if (this.skyViewkeeper) {
|
44
|
-
viewkeeperEls = [];
|
45
|
-
for (const item of this.skyViewkeeper) {
|
46
|
-
let matchingEls = Array.from(this.el.nativeElement.querySelectorAll(item));
|
47
|
-
viewkeeperEls = [...viewkeeperEls, ...matchingEls];
|
48
|
-
}
|
49
|
-
}
|
50
|
-
return viewkeeperEls;
|
51
|
-
}
|
52
|
-
viewkeeperElsChanged(viewkeeperEls) {
|
53
|
-
if (!viewkeeperEls !== !this.currentViewkeeperEls) {
|
54
|
-
return true;
|
55
|
-
}
|
56
|
-
if (viewkeeperEls && this.currentViewkeeperEls) {
|
57
|
-
if (viewkeeperEls.length !== this.currentViewkeeperEls.length) {
|
58
|
-
return true;
|
59
|
-
}
|
60
|
-
for (let i = 0, n = viewkeeperEls.length; i < n; i++) {
|
61
|
-
if (viewkeeperEls[i] !== this.currentViewkeeperEls[i]) {
|
62
|
-
return true;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
}
|
66
|
-
return false;
|
67
|
-
}
|
68
|
-
detectElements() {
|
69
|
-
let viewkeeperEls = this.getViewkeeperEls();
|
70
|
-
if (this.viewkeeperElsChanged(viewkeeperEls)) {
|
71
|
-
if (this.scrollableHostWatchUnsubscribe) {
|
72
|
-
this.scrollableHostWatchUnsubscribe.next();
|
73
|
-
this.scrollableHostWatchUnsubscribe = new Subject();
|
74
|
-
}
|
75
|
-
else {
|
76
|
-
this.scrollableHostWatchUnsubscribe = new Subject();
|
77
|
-
}
|
78
|
-
this.scrollableHostService
|
79
|
-
.watchScrollableHost(this.el)
|
80
|
-
.pipe(takeUntil(this.scrollableHostWatchUnsubscribe))
|
81
|
-
.subscribe((scrollableHost) => {
|
82
|
-
this.destroyViewkeepers();
|
83
|
-
let previousViewkeeperEl;
|
84
|
-
for (const viewkeeperEl of viewkeeperEls) {
|
85
|
-
this.viewkeepers.push(this.viewkeeperSvc.create({
|
86
|
-
boundaryEl: this.el.nativeElement,
|
87
|
-
scrollableHost: scrollableHost instanceof HTMLElement
|
88
|
-
? scrollableHost
|
89
|
-
: undefined,
|
90
|
-
el: viewkeeperEl,
|
91
|
-
setWidth: true,
|
92
|
-
verticalOffsetEl: previousViewkeeperEl,
|
93
|
-
}));
|
94
|
-
previousViewkeeperEl = viewkeeperEl;
|
95
|
-
}
|
96
|
-
});
|
97
|
-
this.currentViewkeeperEls = viewkeeperEls;
|
98
|
-
}
|
99
|
-
}
|
100
|
-
}
|
101
|
-
SkyViewkeeperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyViewkeeperDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }, { token: i2.SkyViewkeeperService }, { token: i3.SkyScrollableHostService, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
102
|
-
SkyViewkeeperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyViewkeeperDirective, selector: "[skyViewkeeper]", inputs: { skyViewkeeper: "skyViewkeeper" }, ngImport: i0 });
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyViewkeeperDirective, decorators: [{
|
104
|
-
type: Directive,
|
105
|
-
args: [{
|
106
|
-
selector: '[skyViewkeeper]',
|
107
|
-
}]
|
108
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MutationObserverService }, { type: i2.SkyViewkeeperService }, { type: i3.SkyScrollableHostService, decorators: [{
|
109
|
-
type: Optional
|
110
|
-
}] }]; }, propDecorators: { skyViewkeeper: [{
|
111
|
-
type: Input
|
112
|
-
}] } });
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2tlZXBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBR0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVkzQyxNQUFNLE9BQU8sc0JBQXNCO0lBc0JqQyxZQUNVLEVBQWMsRUFDZCxtQkFBNEMsRUFDNUMsYUFBbUMsRUFDdkIscUJBQStDO1FBSDNELE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUN2QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQTBCO1FBWjdELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQU1sQyxtQ0FBOEIsR0FBOEIsU0FBUyxDQUFDO0lBTzNFLENBQUM7SUExQkosSUFDVyxhQUFhLENBQUMsS0FBZTtRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQW1CTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJ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SSxDQUFDLEVBQUUsQ0FBQyxhQUFhO3dCQUNqQyxjQUFjLEVBQ1osY0FBYyxZQUFZLFdBQVc7NEJBQ25DLENBQUMsQ0FBQyxjQUFjOzRCQUNoQixDQUFDLENBQUMsU0FBUzt3QkFDZixFQUFFLEVBQUUsWUFBWTt3QkFDaEIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsZ0JBQWdCLEVBQUUsb0JBQW9CO3FCQUN2QyxDQUFDLENBQ0gsQ0FBQztvQkFFRixvQkFBb0IsR0FBRyxZQUFZLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQzs7b0hBbklVLHNCQUFzQjt3R0FBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OzBCQTJCSSxRQUFROzRDQXhCQSxhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlJztcbmltcG9ydCB7IFNreVNjcm9sbGFibGVIb3N0U2VydmljZSB9IGZyb20gJy4uL3Njcm9sbGFibGUtaG9zdC9zY3JvbGxhYmxlLWhvc3Quc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVZpZXdrZWVwZXIgfSBmcm9tICcuL3ZpZXdrZWVwZXInO1xuXG5pbXBvcnQgeyBTa3lWaWV3a2VlcGVyU2VydmljZSB9IGZyb20gJy4vdmlld2tlZXBlci5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVZpZXdrZWVwZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Vmlld2tlZXBlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lWaWV3a2VlcGVyKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3NreVZpZXdrZWVwZXIgPSB2YWx1ZTtcblxuICAgIHRoaXMuZGV0ZWN0RWxlbWVudHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5Vmlld2tlZXBlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVZpZXdrZWVwZXI7XG4gIH1cblxuICBwcml2YXRlIF9za3lWaWV3a2VlcGVyOiBzdHJpbmdbXTtcblxuICBwcml2YXRlIHZpZXdrZWVwZXJzOiBTa3lWaWV3a2VlcGVyW10gPSBbXTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgY3VycmVudFZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W107XG5cbiAgcHJpdmF0ZSBzY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2tlZXBlclN2YzogU2t5Vmlld2tlZXBlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JvbGxhYmxlSG9zdFNlcnZpY2U6IFNreVNjcm9sbGFibGVIb3N0U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXIgPSB0aGlzLm11dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+XG4gICAgICB0aGlzLmRldGVjdEVsZW1lbnRzKClcbiAgICApO1xuXG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblxuICAgIHRoaXMuZGVzdHJveVZpZXdrZWVwZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lWaWV3a2VlcGVycygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHZpZXdrZWVwZXIgb2YgdGhpcy52aWV3a2VlcGVycykge1xuICAgICAgdGhpcy52aWV3a2VlcGVyU3ZjLmRlc3Ryb3kodmlld2tlZXBlcik7XG4gICAgfVxuXG4gICAgdGhpcy52aWV3a2VlcGVycyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWaWV3a2VlcGVyRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIGxldCB2aWV3a2VlcGVyRWxzOiBIVE1MRWxlbWVudFtdO1xuXG4gICAgaWYgKHRoaXMuc2t5Vmlld2tlZXBlcikge1xuICAgICAgdmlld2tlZXBlckVscyA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5za3lWaWV3a2VlcGVyKSB7XG4gICAgICAgIGxldCBtYXRjaGluZ0VscyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgKHRoaXMuZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvckFsbChpdGVtKVxuICAgICAgICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICAgICAgdmlld2tlZXBlckVscyA9IFsuLi52aWV3a2VlcGVyRWxzLCAuLi5tYXRjaGluZ0Vsc107XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpZXdrZWVwZXJFbHM7XG4gIH1cblxuICBwcml2YXRlIHZpZXdrZWVwZXJFbHNDaGFuZ2VkKHZpZXdrZWVwZXJFbHM6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICBpZiAoIXZpZXdrZWVwZXJFbHMgIT09ICF0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmlld2tlZXBlckVscyAmJiB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzKSB7XG4gICAgICBpZiAodmlld2tlZXBlckVscy5sZW5ndGggIT09IHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHZpZXdrZWVwZXJFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGlmICh2aWV3a2VlcGVyRWxzW2ldICE9PSB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyRWxzW2ldKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdEVsZW1lbnRzKCk6IHZvaWQge1xuICAgIGxldCB2aWV3a2VlcGVyRWxzID0gdGhpcy5nZXRWaWV3a2VlcGVyRWxzKCk7XG5cbiAgICBpZiAodGhpcy52aWV3a2VlcGVyRWxzQ2hhbmdlZCh2aWV3a2VlcGVyRWxzKSkge1xuICAgICAgaWYgKHRoaXMuc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsYWJsZUhvc3RXYXRjaFVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNjcm9sbGFibGVIb3N0U2VydmljZVxuICAgICAgICAud2F0Y2hTY3JvbGxhYmxlSG9zdCh0aGlzLmVsKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5zY3JvbGxhYmxlSG9zdFdhdGNoVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxhYmxlSG9zdCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveVZpZXdrZWVwZXJzKCk7XG5cbiAgICAgICAgICBsZXQgcHJldmlvdXNWaWV3a2VlcGVyRWw6IEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgZm9yIChjb25zdCB2aWV3a2VlcGVyRWwgb2Ygdmlld2tlZXBlckVscykge1xuICAgICAgICAgICAgdGhpcy52aWV3a2VlcGVycy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJTdmMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBib3VuZGFyeUVsOiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUhvc3Q6XG4gICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlSG9zdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgID8gc2Nyb2xsYWJsZUhvc3RcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZWw6IHZpZXdrZWVwZXJFbCxcbiAgICAgICAgICAgICAgICBzZXRXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbE9mZnNldEVsOiBwcmV2aW91c1ZpZXdrZWVwZXJFbCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHByZXZpb3VzVmlld2tlZXBlckVsID0gdmlld2tlZXBlckVsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY3VycmVudFZpZXdrZWVwZXJFbHMgPSB2aWV3a2VlcGVyRWxzO1xuICAgIH1cbiAgfVxufVxuIl19
|