@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,218 +0,0 @@
|
|
1
|
-
import { Injectable, } from '@angular/core';
|
2
|
-
import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
const SKY_TABBABLE_SELECTOR = [
|
5
|
-
'a[href]',
|
6
|
-
'area[href]',
|
7
|
-
'input:not([disabled])',
|
8
|
-
'button:not([disabled])',
|
9
|
-
'select:not([disabled])',
|
10
|
-
'textarea:not([disabled])',
|
11
|
-
'iframe',
|
12
|
-
'object',
|
13
|
-
'embed',
|
14
|
-
'*[contenteditable=true]:not([disabled])',
|
15
|
-
'*[tabindex]:not([disabled])',
|
16
|
-
].join(', ');
|
17
|
-
export class SkyCoreAdapterService {
|
18
|
-
constructor(rendererFactory) {
|
19
|
-
this.rendererFactory = rendererFactory;
|
20
|
-
this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
|
21
|
-
}
|
22
|
-
/**
|
23
|
-
* Set the responsive container CSS class for a given element.
|
24
|
-
*
|
25
|
-
* @param elementRef - The element that will recieve the new CSS class.
|
26
|
-
* @param breakpoint - The SkyMediaBreakpoint will determine which class
|
27
|
-
* gets set. For example a SkyMediaBreakpoint of `xs` will set a CSS class of `sky-responsive-container-xs`.
|
28
|
-
*/
|
29
|
-
setResponsiveContainerClass(elementRef, breakpoint) {
|
30
|
-
const nativeEl = elementRef.nativeElement;
|
31
|
-
this.renderer.removeClass(nativeEl, 'sky-responsive-container-xs');
|
32
|
-
this.renderer.removeClass(nativeEl, 'sky-responsive-container-sm');
|
33
|
-
this.renderer.removeClass(nativeEl, 'sky-responsive-container-md');
|
34
|
-
this.renderer.removeClass(nativeEl, 'sky-responsive-container-lg');
|
35
|
-
let newClass;
|
36
|
-
switch (breakpoint) {
|
37
|
-
case SkyMediaBreakpoints.xs: {
|
38
|
-
newClass = 'sky-responsive-container-xs';
|
39
|
-
break;
|
40
|
-
}
|
41
|
-
case SkyMediaBreakpoints.sm: {
|
42
|
-
newClass = 'sky-responsive-container-sm';
|
43
|
-
break;
|
44
|
-
}
|
45
|
-
case SkyMediaBreakpoints.md: {
|
46
|
-
newClass = 'sky-responsive-container-md';
|
47
|
-
break;
|
48
|
-
}
|
49
|
-
default: {
|
50
|
-
newClass = 'sky-responsive-container-lg';
|
51
|
-
break;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
this.renderer.addClass(nativeEl, newClass);
|
55
|
-
}
|
56
|
-
/**
|
57
|
-
* This method temporarily enables/disables pointer events.
|
58
|
-
* This is helpful to prevent iFrames from interfering with drag events.
|
59
|
-
*
|
60
|
-
* @param enable - Set to `true` to enable pointer events. Set to `false` to disable.
|
61
|
-
*/
|
62
|
-
toggleIframePointerEvents(enable) {
|
63
|
-
const iframes = document.querySelectorAll('iframe');
|
64
|
-
for (let i = 0; i < iframes.length; i++) {
|
65
|
-
// Setting to empty string will allow iframe to fall back to its prior CSS assignment.
|
66
|
-
iframes[i].style.pointerEvents = enable ? '' : 'none';
|
67
|
-
}
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Focuses on the first element found with an `autofocus` attribute inside the supplied `elementRef`.
|
71
|
-
*
|
72
|
-
* @param elementRef - The element to search within.
|
73
|
-
* @return Returns `true` if a child element with autofocus is found.
|
74
|
-
*/
|
75
|
-
applyAutoFocus(elementRef) {
|
76
|
-
const elementWithAutoFocus = elementRef.nativeElement.querySelector('[autofocus]');
|
77
|
-
// Child was found with the autofocus property. Set focus and return true.
|
78
|
-
if (elementWithAutoFocus) {
|
79
|
-
elementWithAutoFocus.focus();
|
80
|
-
return true;
|
81
|
-
}
|
82
|
-
// No children were found with autofocus property. Return false.
|
83
|
-
return false;
|
84
|
-
}
|
85
|
-
/**
|
86
|
-
* Sets focus on the first focusable child of the `elementRef` parameter.
|
87
|
-
* If no focusable children are found, and `focusOnContainerIfNoChildrenFound` is `true`,
|
88
|
-
* focus will be set on the container element.
|
89
|
-
*
|
90
|
-
* @param elementRef - The element to search within.
|
91
|
-
* @param containerSelector - A CSS selector indicating the container that should
|
92
|
-
* recieve focus if no focusable children are found.
|
93
|
-
* @param focusOnContainerIfNoChildrenFound - It set to `true`, the container will
|
94
|
-
* recieve focus if no focusable children are found.
|
95
|
-
*/
|
96
|
-
getFocusableChildrenAndApplyFocus(elementRef, containerSelector, focusOnContainerIfNoChildrenFound = false) {
|
97
|
-
const containerElement = elementRef.nativeElement.querySelector(containerSelector);
|
98
|
-
const focusableChildren = this.getFocusableChildren(containerElement);
|
99
|
-
// Focus first focusable child if available. Otherwise, set focus on container.
|
100
|
-
if (!this.focusFirstElement(focusableChildren) &&
|
101
|
-
focusOnContainerIfNoChildrenFound) {
|
102
|
-
containerElement.focus();
|
103
|
-
}
|
104
|
-
}
|
105
|
-
/**
|
106
|
-
* Returns an array of all focusable children of provided `element`.
|
107
|
-
*
|
108
|
-
* @param element - The HTMLElement to search within.
|
109
|
-
* @param options - Options for getting focusable children.
|
110
|
-
*/
|
111
|
-
getFocusableChildren(element, options) {
|
112
|
-
let elements = Array.prototype.slice.call(element.querySelectorAll(SKY_TABBABLE_SELECTOR));
|
113
|
-
// Unless ignoreTabIndex = true, filter out elements with tabindex = -1.
|
114
|
-
if (!options || !options.ignoreTabIndex) {
|
115
|
-
elements = elements.filter((el) => {
|
116
|
-
return el.tabIndex !== -1;
|
117
|
-
});
|
118
|
-
}
|
119
|
-
// Unless ignoreVisibility = true, filter out elements that are not visible.
|
120
|
-
if (!options || !options.ignoreVisibility) {
|
121
|
-
elements = elements.filter((el) => {
|
122
|
-
return this.isVisible(el);
|
123
|
-
});
|
124
|
-
}
|
125
|
-
return elements;
|
126
|
-
}
|
127
|
-
/**
|
128
|
-
* Returns the clientWidth of the provided elementRef.
|
129
|
-
* @param elementRef - The element to calculate width from.
|
130
|
-
*/
|
131
|
-
getWidth(elementRef) {
|
132
|
-
return elementRef.nativeElement.clientWidth;
|
133
|
-
}
|
134
|
-
/**
|
135
|
-
* Checks if an event target has a higher z-index than a given element.
|
136
|
-
* @param target The event target element.
|
137
|
-
* @param element The element to test against. A z-index must be explicitly set for this element.
|
138
|
-
*/
|
139
|
-
isTargetAboveElement(target, element) {
|
140
|
-
const zIndex = getComputedStyle(element).zIndex;
|
141
|
-
let el = target;
|
142
|
-
while (el) {
|
143
|
-
// Getting the computed style only works for elements that exist in the DOM.
|
144
|
-
// In certain scenarios, an element is removed after a click event; by the time the event
|
145
|
-
// bubbles up to other elements, however, the element has been removed and the computed style returns empty.
|
146
|
-
// In this case, we'll need to check the z-index directly, via the style property.
|
147
|
-
let targetZIndex = getComputedStyle(el).zIndex || el.style.zIndex;
|
148
|
-
if (targetZIndex !== '' &&
|
149
|
-
targetZIndex !== 'auto' &&
|
150
|
-
+targetZIndex > +zIndex) {
|
151
|
-
return true;
|
152
|
-
}
|
153
|
-
el = el.parentElement;
|
154
|
-
}
|
155
|
-
return false;
|
156
|
-
}
|
157
|
-
/**
|
158
|
-
* Remove inline height styles from the provided elements.
|
159
|
-
* @param elementRef - The element to search within.
|
160
|
-
* @param selector - The CSS selector to use when finding elements for removing height.
|
161
|
-
*/
|
162
|
-
resetHeight(elementRef, selector) {
|
163
|
-
const children = elementRef.nativeElement.querySelectorAll(selector);
|
164
|
-
/* istanbul ignore else */
|
165
|
-
if (children.length > 0) {
|
166
|
-
for (let i = 0; i < children.length; i++) {
|
167
|
-
// Setting style attributes with Web API requires null instead of undefined.
|
168
|
-
// tslint:disable-next-line: no-null-keyword
|
169
|
-
children[i].style.height = null;
|
170
|
-
}
|
171
|
-
}
|
172
|
-
}
|
173
|
-
/**
|
174
|
-
* Sets all element heights to match the height of the tallest element.
|
175
|
-
* @param elementRef - The element to search within.
|
176
|
-
* @param selector - The CSS selector to use when finding elements for syncing height.
|
177
|
-
*/
|
178
|
-
syncMaxHeight(elementRef, selector) {
|
179
|
-
const children = elementRef.nativeElement.querySelectorAll(selector);
|
180
|
-
/* istanbul ignore else */
|
181
|
-
if (children.length > 0) {
|
182
|
-
let maxHeight = 0;
|
183
|
-
for (let i = 0; i < children.length; i++) {
|
184
|
-
maxHeight = Math.max(maxHeight, children[i].offsetHeight);
|
185
|
-
}
|
186
|
-
for (let i = 0; i < children.length; i++) {
|
187
|
-
children[i].style.height = maxHeight + 'px';
|
188
|
-
}
|
189
|
-
}
|
190
|
-
}
|
191
|
-
focusFirstElement(list) {
|
192
|
-
if (list.length > 0) {
|
193
|
-
list[0].focus();
|
194
|
-
return true;
|
195
|
-
}
|
196
|
-
return false;
|
197
|
-
}
|
198
|
-
isVisible(element) {
|
199
|
-
const style = window.getComputedStyle(element);
|
200
|
-
const isHidden = style.display === 'none' || style.visibility === 'hidden';
|
201
|
-
if (isHidden) {
|
202
|
-
return false;
|
203
|
-
}
|
204
|
-
const hasBounds = !!(element.offsetWidth ||
|
205
|
-
element.offsetHeight ||
|
206
|
-
element.getClientRects().length);
|
207
|
-
return hasBounds;
|
208
|
-
}
|
209
|
-
}
|
210
|
-
SkyCoreAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
211
|
-
SkyCoreAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreAdapterService, providedIn: 'root' });
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyCoreAdapterService, decorators: [{
|
213
|
-
type: Injectable,
|
214
|
-
args: [{
|
215
|
-
providedIn: 'root',
|
216
|
-
}]
|
217
|
-
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZGFwdGVyLXNlcnZpY2UvYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBSXZFLE1BQU0scUJBQXFCLEdBQUc7SUFDNUIsU0FBUztJQUNULFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AseUNBQXlDO0lBQ3pDLDZCQUE2QjtDQUM5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUtiLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkIsQ0FDaEMsVUFBc0IsRUFDdEIsVUFBK0I7UUFFL0IsTUFBTSxRQUFRLEdBQWdCLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFFdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFD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UUFDcEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDO1FBQzNFLElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNsQixPQUFPLENBQUMsV0FBVztZQUNuQixPQUFPLENBQUMsWUFBWTtZQUNwQixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7bUhBalBVLHFCQUFxQjt1SEFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1icmVha3BvaW50cyc7XG5cbmltcG9ydCB7IFNreUZvY3VzYWJsZUNoaWxkcmVuT3B0aW9ucyB9IGZyb20gJy4vZm9jdXNhYmxlLWNoaWxkcmVuLW9wdGlvbnMnO1xuXG5jb25zdCBTS1lfVEFCQkFCTEVfU0VMRUNUT1IgPSBbXG4gICdhW2hyZWZdJyxcbiAgJ2FyZWFbaHJlZl0nLFxuICAnaW5wdXQ6bm90KFtkaXNhYmxlZF0pJyxcbiAgJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSknLFxuICAnc2VsZWN0Om5vdChbZGlzYWJsZWRdKScsXG4gICd0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSknLFxuICAnaWZyYW1lJyxcbiAgJ29iamVjdCcsXG4gICdlbWJlZCcsXG4gICcqW2NvbnRlbnRlZGl0YWJsZT10cnVlXTpub3QoW2Rpc2FibGVkXSknLFxuICAnKlt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pJyxcbl0uam9pbignLCAnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvcmVBZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSByZXNwb25zaXZlIGNvbnRhaW5lciBDU1MgY2xhc3MgZm9yIGEgZ2l2ZW4gZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgLSBUaGUgZWxlbWVudCB0aGF0IHdpbGwgcmVjaWV2ZSB0aGUgbmV3IENTUyBjbGFzcy5cbiAgICogQHBhcmFtIGJyZWFrcG9pbnQgLSBUaGUgU2t5TWVkaWFCcmVha3BvaW50IHdpbGwgZGV0ZXJtaW5lIHdoaWNoIGNsYXNzXG4gICAqIGdldHMgc2V0LiBGb3IgZXhhbXBsZSBhIFNreU1lZGlhQnJlYWtwb2ludCBvZiBgeHNgIHdpbGwgc2V0IGEgQ1NTIGNsYXNzIG9mIGBza3ktcmVzcG9uc2l2ZS1jb250YWluZXIteHNgLlxuICAgKi9cbiAgcHVibGljIHNldFJlc3BvbnNpdmVDb250YWluZXJDbGFzcyhcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHNcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgbmF0aXZlRWw6IEhUTUxFbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci14cycpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWwsICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsLCAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLW1kJyk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbCwgJ3NreS1yZXNwb25zaXZlLWNvbnRhaW5lci1sZycpO1xuXG4gICAgbGV0IG5ld0NsYXNzOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy54czoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXIteHMnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5zbToge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItc20nO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgU2t5TWVkaWFCcmVha3BvaW50cy5tZDoge1xuICAgICAgICBuZXdDbGFzcyA9ICdza3ktcmVzcG9uc2l2ZS1jb250YWluZXItbWQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbmV3Q2xhc3MgPSAnc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLWxnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhuYXRpdmVFbCwgbmV3Q2xhc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHRlbXBvcmFyaWx5IGVuYWJsZXMvZGlzYWJsZXMgcG9pbnRlciBldmVudHMuXG4gICAqIFRoaXMgaXMgaGVscGZ1bCB0byBwcmV2ZW50IGlGcmFtZXMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGRyYWcgZXZlbnRzLlxuICAgKlxuICAgKiBAcGFyYW0gZW5hYmxlIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgcG9pbnRlciBldmVudHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBpZnJhbWVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaWZyYW1lJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZnJhbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAvLyBTZXR0aW5nIHRvIGVtcHR5IHN0cmluZyB3aWxsIGFsbG93IGlmcmFtZSB0byBmYWxsIGJhY2sgdG8gaXRzIHByaW9yIENTUyBhc3NpZ25tZW50LlxuICAgICAgaWZyYW1lc1tpXS5zdHlsZS5wb2ludGVyRXZlbnRzID0gZW5hYmxlID8gJycgOiAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgb24gdGhlIGZpcnN0IGVsZW1lbnQgZm91bmQgd2l0aCBhbiBgYXV0b2ZvY3VzYCBhdHRyaWJ1dGUgaW5zaWRlIHRoZSBzdXBwbGllZCBgZWxlbWVudFJlZmAuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIC0gVGhlIGVsZW1lbnQgdG8gc2VhcmNoIHdpdGhpbi5cbiAgICogQHJldHVybiBSZXR1cm5zIGB0cnVlYCBpZiBhIGNoaWxkIGVsZW1lbnQgd2l0aCBhdXRvZm9jdXMgaXMgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgYXBwbHlBdXRvRm9jdXMoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsZW1lbnRXaXRoQXV0b0ZvY3VzID1cbiAgICAgIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xuXG4gICAgLy8gQ2hpbGQgd2FzIGZvdW5kIHdpdGggdGhlIGF1dG9mb2N1cyBwcm9wZXJ0eS4gU2V0IGZvY3VzIGFuZCByZXR1cm4gdHJ1ZS5cbiAgICBpZiAoZWxlbWVudFdpdGhBdXRvRm9jdXMpIHtcbiAgICAgIGVsZW1lbnRXaXRoQXV0b0ZvY3VzLmZvY3VzKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBObyBjaGlsZHJlbiB3ZXJlIGZvdW5kIHdpdGggYXV0b2ZvY3VzIHByb3BlcnR5LiBSZXR1cm4gZmFsc2UuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBjaGlsZCBvZiB0aGUgYGVsZW1lbnRSZWZgIHBhcmFtZXRlci5cbiAgICogSWYgbm8gZm9jdXNhYmxlIGNoaWxkcmVuIGFyZSBmb3VuZCwgYW5kIGBmb2N1c09uQ29udGFpbmVySWZOb0NoaWxkcmVuRm91bmRgIGlzIGB0cnVlYCxcbiAgICogZm9jdXMgd2lsbCBiZSBzZXQgb24gdGhlIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiAtIFRoZSBlbGVtZW50IHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIEBwYXJhbSBjb250YWluZXJTZWxlY3RvciAtIEEgQ1NTIHNlbGVjdG9yIGluZGljYXRpbmcgdGhlIGNvbnRhaW5lciB0aGF0IHNob3VsZFxuICAgKiByZWNpZXZlIGZvY3VzIGlmIG5vIGZvY3VzYWJsZSBjaGlsZHJlbiBhcmUgZm91bmQuXG4gICAqIEBwYXJhbSBmb2N1c09uQ29udGFpbmVySWZOb0NoaWxkcmVuRm91bmQgLSBJdCBzZXQgdG8gYHRydWVgLCB0aGUgY29udGFpbmVyIHdpbGxcbiAgICogcmVjaWV2ZSBmb2N1cyBpZiBubyBmb2N1c2FibGUgY2hpbGRyZW4gYXJlIGZvdW5kLlxuICAgKi9cbiAgcHVibGljIGdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGNvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcsXG4gICAgZm9jdXNPbkNvbnRhaW5lcklmTm9DaGlsZHJlbkZvdW5kOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyRWxlbWVudCA9XG4gICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcihjb250YWluZXJTZWxlY3Rvcik7XG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPSB0aGlzLmdldEZvY3VzYWJsZUNoaWxkcmVuKGNvbnRhaW5lckVsZW1lbnQpO1xuXG4gICAgLy8gRm9jdXMgZmlyc3QgZm9jdXNhYmxlIGNoaWxkIGlmIGF2YWlsYWJsZS4gT3RoZXJ3aXNlLCBzZXQgZm9jdXMgb24gY29udGFpbmVyLlxuICAgIGlmIChcbiAgICAgICF0aGlzLmZvY3VzRmlyc3RFbGVtZW50KGZvY3VzYWJsZUNoaWxkcmVuKSAmJlxuICAgICAgZm9jdXNPbkNvbnRhaW5lcklmTm9DaGlsZHJlbkZvdW5kXG4gICAgKSB7XG4gICAgICBjb250YWluZXJFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIGZvY3VzYWJsZSBjaGlsZHJlbiBvZiBwcm92aWRlZCBgZWxlbWVudGAuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIEhUTUxFbGVtZW50IHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgZ2V0dGluZyBmb2N1c2FibGUgY2hpbGRyZW4uXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgb3B0aW9ucz86IFNreUZvY3VzYWJsZUNoaWxkcmVuT3B0aW9uc1xuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICBsZXQgZWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChcbiAgICAgIGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChTS1lfVEFCQkFCTEVfU0VMRUNUT1IpXG4gICAgKTtcblxuICAgIC8vIFVubGVzcyBpZ25vcmVUYWJJbmRleCA9IHRydWUsIGZpbHRlciBvdXQgZWxlbWVudHMgd2l0aCB0YWJpbmRleCA9IC0xLlxuICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5pZ25vcmVUYWJJbmRleCkge1xuICAgICAgZWxlbWVudHMgPSBlbGVtZW50cy5maWx0ZXIoKGVsOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWwudGFiSW5kZXggIT09IC0xO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gVW5sZXNzIGlnbm9yZVZpc2liaWxpdHkgPSB0cnVlLCBmaWx0ZXIgb3V0IGVsZW1lbnRzIHRoYXQgYXJlIG5vdCB2aXNpYmxlLlxuICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5pZ25vcmVWaXNpYmlsaXR5KSB7XG4gICAgICBlbGVtZW50cyA9IGVsZW1lbnRzLmZpbHRlcigoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZShlbCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2xpZW50V2lkdGggb2YgdGhlIHByb3ZpZGVkIGVsZW1lbnRSZWYuXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIC0gVGhlIGVsZW1lbnQgdG8gY2FsY3VsYXRlIHdpZHRoIGZyb20uXG4gICAqL1xuICBwdWJsaWMgZ2V0V2lkdGgoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW4gZXZlbnQgdGFyZ2V0IGhhcyBhIGhpZ2hlciB6LWluZGV4IHRoYW4gYSBnaXZlbiBlbGVtZW50LlxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSBldmVudCB0YXJnZXQgZWxlbWVudC5cbiAgICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gdGVzdCBhZ2FpbnN0LiBBIHotaW5kZXggbXVzdCBiZSBleHBsaWNpdGx5IHNldCBmb3IgdGhpcyBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGlzVGFyZ2V0QWJvdmVFbGVtZW50KFxuICAgIHRhcmdldDogRXZlbnRUYXJnZXQsXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnRcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgekluZGV4OiBzdHJpbmcgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnpJbmRleDtcblxuICAgIGxldCBlbDogSFRNTEVsZW1lbnQgPSB0YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICB3aGlsZSAoZWwpIHtcbiAgICAgIC8vIEdldHRpbmcgdGhlIGNvbXB1dGVkIHN0eWxlIG9ubHkgd29ya3MgZm9yIGVsZW1lbnRzIHRoYXQgZXhpc3QgaW4gdGhlIERPTS5cbiAgICAgIC8vIEluIGNlcnRhaW4gc2NlbmFyaW9zLCBhbiBlbGVtZW50IGlzIHJlbW92ZWQgYWZ0ZXIgYSBjbGljayBldmVudDsgYnkgdGhlIHRpbWUgdGhlIGV2ZW50XG4gICAgICAvLyBidWJibGVzIHVwIHRvIG90aGVyIGVsZW1lbnRzLCBob3dldmVyLCB0aGUgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVkIGFuZCB0aGUgY29tcHV0ZWQgc3R5bGUgcmV0dXJucyBlbXB0eS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2UnbGwgbmVlZCB0byBjaGVjayB0aGUgei1pbmRleCBkaXJlY3RseSwgdmlhIHRoZSBzdHlsZSBwcm9wZXJ0eS5cbiAgICAgIGxldCB0YXJnZXRaSW5kZXg6IHN0cmluZyA9IGdldENvbXB1dGVkU3R5bGUoZWwpLnpJbmRleCB8fCBlbC5zdHlsZS56SW5kZXg7XG4gICAgICBpZiAoXG4gICAgICAgIHRhcmdldFpJbmRleCAhPT0gJycgJiZcbiAgICAgICAgdGFyZ2V0WkluZGV4ICE9PSAnYXV0bycgJiZcbiAgICAgICAgK3RhcmdldFpJbmRleCA+ICt6SW5kZXhcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgaW5saW5lIGhlaWdodCBzdHlsZXMgZnJvbSB0aGUgcHJvdmlkZWQgZWxlbWVudHMuXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIC0gVGhlIGVsZW1lbnQgdG8gc2VhcmNoIHdpdGhpbi5cbiAgICogQHBhcmFtIHNlbGVjdG9yIC0gVGhlIENTUyBzZWxlY3RvciB0byB1c2Ugd2hlbiBmaW5kaW5nIGVsZW1lbnRzIGZvciByZW1vdmluZyBoZWlnaHQuXG4gICAqL1xuICBwdWJsaWMgcmVzZXRIZWlnaHQoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgc2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gU2V0dGluZyBzdHlsZSBhdHRyaWJ1dGVzIHdpdGggV2ViIEFQSSByZXF1aXJlcyBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLlxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLW51bGwta2V5d29yZFxuICAgICAgICBjaGlsZHJlbltpXS5zdHlsZS5oZWlnaHQgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFsbCBlbGVtZW50IGhlaWdodHMgdG8gbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgdGFsbGVzdCBlbGVtZW50LlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiAtIFRoZSBlbGVtZW50IHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIEBwYXJhbSBzZWxlY3RvciAtIFRoZSBDU1Mgc2VsZWN0b3IgdG8gdXNlIHdoZW4gZmluZGluZyBlbGVtZW50cyBmb3Igc3luY2luZyBoZWlnaHQuXG4gICAqL1xuICBwdWJsaWMgc3luY01heEhlaWdodChlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBzZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IG1heEhlaWdodCA9IDA7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG1heEhlaWdodCA9IE1hdGgubWF4KG1heEhlaWdodCwgY2hpbGRyZW5baV0ub2Zmc2V0SGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2hpbGRyZW5baV0uc3R5bGUuaGVpZ2h0ID0gbWF4SGVpZ2h0ICsgJ3B4JztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRmlyc3RFbGVtZW50KGxpc3Q6IEFycmF5PEhUTUxFbGVtZW50Pik6IGJvb2xlYW4ge1xuICAgIGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGxpc3RbMF0uZm9jdXMoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzVmlzaWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgY29uc3QgaXNIaWRkZW4gPSBzdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgfHwgc3R5bGUudmlzaWJpbGl0eSA9PT0gJ2hpZGRlbic7XG4gICAgaWYgKGlzSGlkZGVuKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzQm91bmRzID0gISEoXG4gICAgICBlbGVtZW50Lm9mZnNldFdpZHRoIHx8XG4gICAgICBlbGVtZW50Lm9mZnNldEhlaWdodCB8fFxuICAgICAgZWxlbWVudC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aFxuICAgICk7XG4gICAgcmV0dXJuIGhhc0JvdW5kcztcbiAgfVxufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWNoaWxkcmVuLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9mb2N1c2FibGUtY2hpbGRyZW4tb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcHRpb25zIGZvciBnZXR0aW5nIGZvY3VzYWJsZSBjaGlsZHJlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lGb2N1c2FibGVDaGlsZHJlbk9wdGlvbnMge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhlIGBnZXRGb2N1c2FibGVDaGlsZHJlbigpYCBmdW5jdGlvbiB3aWxsIGZpbHRlciBvdXQgZWxlbWVudHMgd2l0aFxuICAgKiBhIGB0YWJJbmRleGAgb2YgYC0xYC4gU2V0dGluZyBgaWdub3JlVGFiSW5kZXggPSB0cnVlYCB3aWxsIGlnbm9yZSB0aGlzIGZpbHRlci5cbiAgICovXG4gIGlnbm9yZVRhYkluZGV4PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgdGhlIGBnZXRGb2N1c2FibGVDaGlsZHJlbigpYCBmdW5jdGlvbiB3aWxsIG9ubHkgcmV0dXJuIHZpc2libGUgZWxlbWVudHMuXG4gICAqIFNldHRpbmcgYGlnbm9yZVZpc2liaWxpdHkgPSB0cnVlYCB3aWxsIGlnbm9yZSB0aGlzIGZpbHRlci5cbiAgICovXG4gIGlnbm9yZVZpc2liaWxpdHk/OiBib29sZWFuO1xufVxuIl19
|
@@ -1,12 +0,0 @@
|
|
1
|
-
export var SkyAffixAutoFitContext;
|
2
|
-
(function (SkyAffixAutoFitContext) {
|
3
|
-
/**
|
4
|
-
* Auto-fit functionality will respect the nearest overflow parent element's dimensions.
|
5
|
-
*/
|
6
|
-
SkyAffixAutoFitContext[SkyAffixAutoFitContext["OverflowParent"] = 0] = "OverflowParent";
|
7
|
-
/**
|
8
|
-
* Auto-fit functionality will respect the browser viewport dimensions.
|
9
|
-
*/
|
10
|
-
SkyAffixAutoFitContext[SkyAffixAutoFitContext["Viewport"] = 1] = "Viewport";
|
11
|
-
})(SkyAffixAutoFitContext || (SkyAffixAutoFitContext = {}));
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtYXV0by1maXQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvYWZmaXgvYWZmaXgtYXV0by1maXQtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxzQkFVWDtBQVZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gsdUZBQWtCLENBQUE7SUFFbEI7O09BRUc7SUFDSCwyRUFBWSxDQUFBO0FBQ2QsQ0FBQyxFQVZXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFVakMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTa3lBZmZpeEF1dG9GaXRDb250ZXh0IHtcbiAgLyoqXG4gICAqIEF1dG8tZml0IGZ1bmN0aW9uYWxpdHkgd2lsbCByZXNwZWN0IHRoZSBuZWFyZXN0IG92ZXJmbG93IHBhcmVudCBlbGVtZW50J3MgZGltZW5zaW9ucy5cbiAgICovXG4gIE92ZXJmbG93UGFyZW50ID0gMCxcblxuICAvKipcbiAgICogQXV0by1maXQgZnVuY3Rpb25hbGl0eSB3aWxsIHJlc3BlY3QgdGhlIGJyb3dzZXIgdmlld3BvcnQgZGltZW5zaW9ucy5cbiAgICovXG4gIFZpZXdwb3J0ID0gMSxcbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUFmZml4QXV0b0ZpdENvbnRleHQgfSBmcm9tICcuL2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcblxuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXQgfSBmcm9tICcuL2FmZml4LW9mZnNldCc7XG5cbmltcG9ydCB7IFNreUFmZml4UGxhY2VtZW50IH0gZnJvbSAnLi9hZmZpeC1wbGFjZW1lbnQnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUFmZml4Q29uZmlnIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGljaCBwYXJlbnQgZWxlbWVudCBpcyB1c2VkIGJ5IHRoZSBhdXRvLWZpdCBmdW5jdGlvbmFsaXR5LlxuICAgKi9cbiAgYXV0b0ZpdENvbnRleHQ/OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGlzIG9wdGlvbmFsIG9mZnNldCBpcyBhZGRlZCB0byAob3Igc3VidHJhY3RlZCBmcm9tKSB0aGUgW1tTa3lBZmZpeEF1dG9GaXRDb250ZXh0XV0gZWxlbWVudCdzXG4gICAqIG9mZnNldCBkdXJpbmcgYW4gYXV0by1maXQgcGxhY2VtZW50IGNhbGN1bGF0aW9uLiBUaGlzIHZhbHVlIGlzIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBjb25zaWRlclxuICAgKiBhbm90aGVyIGBwb3NpdGlvbjogZml4ZWRgIGVsZW1lbnQgb24gdGhlIHBhZ2UgKHN1Y2ggYXMgYSBuYXZiYXIpIHdoZW4gdGhlIGF1dG8tZml0XG4gICAqIGZ1bmN0aW9uYWxpdHkgYXR0ZW1wdHMgdG8gZmluZCB0aGUgYmVzdCBwb3NzaWJsZSBwbGFjZW1lbnQuXG4gICAqIChJbiB0aGUgY2FzZSBvZiBhIG5hdmJhciwgeW91IHdvdWxkIGFkZCBhIGB0b3BgIHZhbHVlIGVxdWFsIHRvIHRoZSBuYXZiYXIncyBoZWlnaHQgaW4gcGl4ZWxzLilcbiAgICovXG4gIGF1dG9GaXRPdmVyZmxvd09mZnNldD86IFNreUFmZml4T2Zmc2V0O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGFmZml4IHNlcnZpY2Ugc2hvdWxkIHRyeSBhbmQgZmluZCB0aGUgYmVzdCBwbGFjZW1lbnQgZm9yIHRoZSBhZmZpeGVkIGVsZW1lbnRcbiAgICogaWYgdGhlIGVsZW1lbnQgd291bGQgYmUgaGlkZGVuIG90aGVyd2lzZS4gSWYgdGhpcyBzZXR0aW5nIGlzIGRpc2FibGVkLCB0aGUgYWZmaXggc2VydmljZSB3aWxsXG4gICAqIGZvcmNlIHRoZSBwbGFjZW1lbnQgb2YgdGhlIGFmZml4ZWQgZWxlbWVudC5cbiAgICovXG4gIGVuYWJsZUF1dG9GaXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGFmZml4ZWQgZWxlbWVudCB0byB0aGUgYmFzZSBlbGVtZW50LlxuICAgKi9cbiAgaG9yaXpvbnRhbEFsaWdubWVudD86IFNreUFmZml4SG9yaXpvbnRhbEFsaWdubWVudDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhZmZpeGVkIGVsZW1lbnQgc2hvdWxkIHJlbWFpbiBhZmZpeGVkIHRvIHRoZSBiYXNlIGVsZW1lbnQgd2hlbiB0aGUgd2luZG93IGlzIHNjcm9sbGVkIG9yIHJlc2l6ZWQuXG4gICAqL1xuICBpc1N0aWNreT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZW1lbnQgb2YgdGhlIGFmZml4ZWQgZWxlbWVudCBhcm91bmQgdGhlIGJhc2UgZWxlbWVudC5cbiAgICovXG4gIHBsYWNlbWVudD86IFNreUFmZml4UGxhY2VtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVydGljYWwgYWxpZ25tZW50IG9mIHRoZSBhZmZpeGVkIGVsZW1lbnQgdG8gdGhlIGJhc2UgZWxlbWVudC5cbiAgICovXG4gIHZlcnRpY2FsQWxpZ25tZW50PzogU2t5QWZmaXhWZXJ0aWNhbEFsaWdubWVudDtcbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtaG9yaXpvbnRhbC1hbGlnbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL2FmZml4L2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgYWZmaXhlZCBlbGVtZW50IHRvIHRoZSBiYXNlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFNreUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCA9ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtb2Zmc2V0LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvYWZmaXgvYWZmaXgtb2Zmc2V0LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXQgfSBmcm9tICcuL2FmZml4LW9mZnNldCc7XG5cbi8qKlxuICogVGhlIGFyZ3VtZW50cyBzdXBwbGllZCB0byB0aGUgYWZmaXggb2Zmc2V0IGNoYW5nZSBldmVudCBsaXN0ZW5lci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lBZmZpeE9mZnNldENoYW5nZSB7XG4gIG9mZnNldD86IFNreUFmZml4T2Zmc2V0O1xufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtb2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC1vZmZzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QWZmaXhPZmZzZXQge1xuICBib3R0b20/OiBudW1iZXI7XG5cbiAgbGVmdD86IG51bWJlcjtcblxuICByaWdodD86IG51bWJlcjtcblxuICB0b3A/OiBudW1iZXI7XG59XG4iXX0=
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtcGxhY2VtZW50LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvYWZmaXgvYWZmaXgtcGxhY2VtZW50LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2Uge1xuICAvKipcbiAgICogVGhlIGNoYW5nZWQgcGxhY2VtZW50IHZhbHVlLlxuICAgKi9cbiAgcGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCB8IG51bGw7XG59XG4iXX0=
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtcGxhY2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC1wbGFjZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHBsYWNlbWVudCBvZiB0aGUgYWZmaXhlZCBlbGVtZW50IGFyb3VuZCB0aGUgYmFzZSBlbGVtZW50LlxuICovXG5leHBvcnQgdHlwZSBTa3lBZmZpeFBsYWNlbWVudCA9ICdhYm92ZScgfCAnYmVsb3cnIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbiJdfQ==
|
@@ -1,18 +0,0 @@
|
|
1
|
-
export function getNextPlacement(placement) {
|
2
|
-
const placements = ['above', 'right', 'below', 'left'];
|
3
|
-
let index = placements.indexOf(placement) + 1;
|
4
|
-
if (index >= placements.length) {
|
5
|
-
index = 0;
|
6
|
-
}
|
7
|
-
return placements[index];
|
8
|
-
}
|
9
|
-
export function getInversePlacement(placement) {
|
10
|
-
const pairings = {
|
11
|
-
above: 'below',
|
12
|
-
below: 'above',
|
13
|
-
right: 'left',
|
14
|
-
left: 'right',
|
15
|
-
};
|
16
|
-
return pairings[placement];
|
17
|
-
}
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9tb2R1bGVzL2FmZml4L2FmZml4LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsU0FBNEI7SUFFNUIsTUFBTSxVQUFVLEdBQXdCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFNUUsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsSUFBSSxLQUFLLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUM5QixLQUFLLEdBQUcsQ0FBQyxDQUFDO0tBQ1g7SUFFRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxTQUE0QjtJQUU1QixNQUFNLFFBQVEsR0FBdUM7UUFDbkQsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUFmZml4UGxhY2VtZW50IH0gZnJvbSAnLi9hZmZpeC1wbGFjZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dFBsYWNlbWVudChcbiAgcGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudFxuKTogU2t5QWZmaXhQbGFjZW1lbnQge1xuICBjb25zdCBwbGFjZW1lbnRzOiBTa3lBZmZpeFBsYWNlbWVudFtdID0gWydhYm92ZScsICdyaWdodCcsICdiZWxvdycsICdsZWZ0J107XG5cbiAgbGV0IGluZGV4ID0gcGxhY2VtZW50cy5pbmRleE9mKHBsYWNlbWVudCkgKyAxO1xuICBpZiAoaW5kZXggPj0gcGxhY2VtZW50cy5sZW5ndGgpIHtcbiAgICBpbmRleCA9IDA7XG4gIH1cblxuICByZXR1cm4gcGxhY2VtZW50c1tpbmRleF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnZlcnNlUGxhY2VtZW50KFxuICBwbGFjZW1lbnQ6IFNreUFmZml4UGxhY2VtZW50XG4pOiBTa3lBZmZpeFBsYWNlbWVudCB7XG4gIGNvbnN0IHBhaXJpbmdzOiB7IFtfOiBzdHJpbmddOiBTa3lBZmZpeFBsYWNlbWVudCB9ID0ge1xuICAgIGFib3ZlOiAnYmVsb3cnLFxuICAgIGJlbG93OiAnYWJvdmUnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG4gICAgbGVmdDogJ3JpZ2h0JyxcbiAgfTtcblxuICByZXR1cm4gcGFpcmluZ3NbcGxhY2VtZW50XTtcbn1cbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtdmVydGljYWwtYWxpZ25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHZlcnRpY2FsIGFsaWdubWVudCBvZiB0aGUgYWZmaXhlZCBlbGVtZW50IHRvIHRoZSBiYXNlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFNreUFmZml4VmVydGljYWxBbGlnbm1lbnQgPSAndG9wJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbSc7XG4iXX0=
|
@@ -1,98 +0,0 @@
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, } 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 "./affix.service";
|
6
|
-
/**
|
7
|
-
* Affixes the host element to a base element.
|
8
|
-
*/
|
9
|
-
export class SkyAffixDirective {
|
10
|
-
constructor(elementRef, affixService) {
|
11
|
-
this.affixService = affixService;
|
12
|
-
/**
|
13
|
-
* Fires when the affixed element's offset changes.
|
14
|
-
*/
|
15
|
-
this.affixOffsetChange = new EventEmitter();
|
16
|
-
/**
|
17
|
-
* Fires when the affixed element's overflow container is scrolled.
|
18
|
-
*/
|
19
|
-
this.affixOverflowScroll = new EventEmitter();
|
20
|
-
/**
|
21
|
-
* Fires when the placement value changes.
|
22
|
-
*/
|
23
|
-
this.affixPlacementChange = new EventEmitter();
|
24
|
-
this.ngUnsubscribe = new Subject();
|
25
|
-
this.affixer = this.affixService.createAffixer(elementRef);
|
26
|
-
this.affixer.offsetChange
|
27
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
28
|
-
.subscribe((change) => this.affixOffsetChange.emit(change));
|
29
|
-
this.affixer.overflowScroll
|
30
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
31
|
-
.subscribe((change) => this.affixOverflowScroll.emit(change));
|
32
|
-
this.affixer.placementChange
|
33
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
34
|
-
.subscribe((change) => this.affixPlacementChange.emit(change));
|
35
|
-
}
|
36
|
-
ngOnChanges(changes) {
|
37
|
-
/* istanbul ignore else */
|
38
|
-
if (changes.affixAutoFitContext ||
|
39
|
-
changes.affixAutoFitOverflowOffset ||
|
40
|
-
changes.affixEnableAutoFit ||
|
41
|
-
changes.affixHorizontalAlignment ||
|
42
|
-
changes.affixIsSticky ||
|
43
|
-
changes.affixPlacement ||
|
44
|
-
changes.affixVerticalAlignment) {
|
45
|
-
this.updateAlignment();
|
46
|
-
}
|
47
|
-
}
|
48
|
-
ngOnDestroy() {
|
49
|
-
this.affixOffsetChange.complete();
|
50
|
-
this.affixOverflowScroll.complete();
|
51
|
-
this.affixPlacementChange.complete();
|
52
|
-
this.ngUnsubscribe.next();
|
53
|
-
this.ngUnsubscribe.complete();
|
54
|
-
this.affixer.destroy();
|
55
|
-
}
|
56
|
-
updateAlignment() {
|
57
|
-
this.affixer.affixTo(this.skyAffixTo, {
|
58
|
-
autoFitContext: this.affixAutoFitContext,
|
59
|
-
autoFitOverflowOffset: this.affixAutoFitOverflowOffset,
|
60
|
-
enableAutoFit: this.affixEnableAutoFit,
|
61
|
-
horizontalAlignment: this.affixHorizontalAlignment,
|
62
|
-
isSticky: this.affixIsSticky,
|
63
|
-
placement: this.affixPlacement,
|
64
|
-
verticalAlignment: this.affixVerticalAlignment,
|
65
|
-
});
|
66
|
-
}
|
67
|
-
}
|
68
|
-
SkyAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixDirective, deps: [{ token: i0.ElementRef }, { token: i1.SkyAffixService }], target: i0.ɵɵFactoryTarget.Directive });
|
69
|
-
SkyAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyAffixDirective, selector: "[skyAffixTo]", inputs: { skyAffixTo: "skyAffixTo", affixAutoFitContext: "affixAutoFitContext", affixAutoFitOverflowOffset: "affixAutoFitOverflowOffset", affixEnableAutoFit: "affixEnableAutoFit", affixHorizontalAlignment: "affixHorizontalAlignment", affixIsSticky: "affixIsSticky", affixPlacement: "affixPlacement", affixVerticalAlignment: "affixVerticalAlignment" }, outputs: { affixOffsetChange: "affixOffsetChange", affixOverflowScroll: "affixOverflowScroll", affixPlacementChange: "affixPlacementChange" }, usesOnChanges: true, ngImport: i0 });
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixDirective, decorators: [{
|
71
|
-
type: Directive,
|
72
|
-
args: [{
|
73
|
-
selector: '[skyAffixTo]',
|
74
|
-
}]
|
75
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyAffixService }]; }, propDecorators: { skyAffixTo: [{
|
76
|
-
type: Input
|
77
|
-
}], affixAutoFitContext: [{
|
78
|
-
type: Input
|
79
|
-
}], affixAutoFitOverflowOffset: [{
|
80
|
-
type: Input
|
81
|
-
}], affixEnableAutoFit: [{
|
82
|
-
type: Input
|
83
|
-
}], affixHorizontalAlignment: [{
|
84
|
-
type: Input
|
85
|
-
}], affixIsSticky: [{
|
86
|
-
type: Input
|
87
|
-
}], affixPlacement: [{
|
88
|
-
type: Input
|
89
|
-
}], affixVerticalAlignment: [{
|
90
|
-
type: Input
|
91
|
-
}], affixOffsetChange: [{
|
92
|
-
type: Output
|
93
|
-
}], affixOverflowScroll: [{
|
94
|
-
type: Output
|
95
|
-
}], affixPlacementChange: [{
|
96
|
-
type: Output
|
97
|
-
}] } });
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBb0IzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUF1RTVCLFlBQVksVUFBc0IsRUFBVSxZQUE2QjtRQUE3QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUF0QnpFOztXQUVHO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFcEU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXREOztXQUVHO1FBRUkseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFJbEUsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYzthQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7YUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QywwQkFBMEI7UUFDMUIsSUFDRSxPQUFPLENBQUMsbUJBQW1CO1lBQzNCLE9BQU8sQ0FBQywwQkFBMEI7WUFDbEMsT0FBTyxDQUFDLGtCQUFrQjtZQUMxQixPQUFPLENBQUMsd0JBQXdCO1lBQ2hDLE9BQU8sQ0FBQyxhQUFhO1lBQ3JCLE9BQU8sQ0FBQyxjQUFjO1lBQ3RCLE9BQU8sQ0FBQyxzQkFBc0IsRUFDOUI7WUFDQSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BDLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQ3hDLHFCQUFxQixFQUFFLElBQUksQ0FBQywwQkFBMEI7WUFDdEQsYUFBYSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDdEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUNsRCxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDNUIsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzlCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBekhVLGlCQUFpQjttR0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOytIQU1RLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0MsbUJBQW1CO3NCQUR6QixLQUFLO2dCQU9DLDBCQUEwQjtzQkFEaEMsS0FBSztnQkFPQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBT0Msd0JBQXdCO3NCQUQ5QixLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBT0MsY0FBYztzQkFEcEIsS0FBSztnQkFPQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFPQSxvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5cbmltcG9ydCB7IFNreUFmZml4SG9yaXpvbnRhbEFsaWdubWVudCB9IGZyb20gJy4vYWZmaXgtaG9yaXpvbnRhbC1hbGlnbm1lbnQnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudCB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50JztcblxuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudC1jaGFuZ2UnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeFNlcnZpY2UgfSBmcm9tICcuL2FmZml4LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeE9mZnNldENoYW5nZSB9IGZyb20gJy4vYWZmaXgtb2Zmc2V0LWNoYW5nZSc7XG5cbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeGVyIH0gZnJvbSAnLi9hZmZpeGVyJztcblxuLyoqXG4gKiBBZmZpeGVzIHRoZSBob3N0IGVsZW1lbnQgdG8gYSBiYXNlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lBZmZpeFRvXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFmZml4RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIGJhc2UgZWxlbWVudCB0byBhZmZpeCB0aGUgaG9zdCBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUFmZml4VG86IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgYXV0b0ZpdENvbnRleHRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeEF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgYXV0b0ZpdE92ZXJmbG93T2Zmc2V0YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhBdXRvRml0T3ZlcmZsb3dPZmZzZXQ6IFNreUFmZml4T2Zmc2V0O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgZW5hYmxlQXV0b0ZpdGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4RW5hYmxlQXV0b0ZpdDogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGhvcml6b250YWxBbGlnbm1lbnRgIHByb3BlcnR5IG9mIFtbU2t5QWZmaXhDb25maWddXS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZmZpeEhvcml6b250YWxBbGlnbm1lbnQ6IFNreUFmZml4SG9yaXpvbnRhbEFsaWdubWVudDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYGlzU3RpY2t5YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhJc1N0aWNreTogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYHBsYWNlbWVudGAgcHJvcGVydHkgb2YgW1tTa3lBZmZpeENvbmZpZ11dLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFmZml4UGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgYHZlcnRpY2FsQWxpZ25tZW50YCBwcm9wZXJ0eSBvZiBbW1NreUFmZml4Q29uZmlnXV0uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWZmaXhWZXJ0aWNhbEFsaWdubWVudDogU2t5QWZmaXhWZXJ0aWNhbEFsaWdubWVudDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgYWZmaXhlZCBlbGVtZW50J3Mgb2Zmc2V0IGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFmZml4T2Zmc2V0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZmZpeE9mZnNldENoYW5nZT4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgYWZmaXhlZCBlbGVtZW50J3Mgb3ZlcmZsb3cgY29udGFpbmVyIGlzIHNjcm9sbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZmZpeE92ZXJmbG93U2Nyb2xsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBwbGFjZW1lbnQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWZmaXhQbGFjZW1lbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFmZml4UGxhY2VtZW50Q2hhbmdlPigpO1xuXG4gIHByaXZhdGUgYWZmaXhlcjogU2t5QWZmaXhlcjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UpIHtcbiAgICB0aGlzLmFmZml4ZXIgPSB0aGlzLmFmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5hZmZpeGVyLm9mZnNldENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHRoaXMuYWZmaXhPZmZzZXRDaGFuZ2UuZW1pdChjaGFuZ2UpKTtcblxuICAgIHRoaXMuYWZmaXhlci5vdmVyZmxvd1Njcm9sbFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHRoaXMuYWZmaXhPdmVyZmxvd1Njcm9sbC5lbWl0KGNoYW5nZSkpO1xuXG4gICAgdGhpcy5hZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHRoaXMuYWZmaXhQbGFjZW1lbnRDaGFuZ2UuZW1pdChjaGFuZ2UpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmFmZml4QXV0b0ZpdENvbnRleHQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhBdXRvRml0T3ZlcmZsb3dPZmZzZXQgfHxcbiAgICAgIGNoYW5nZXMuYWZmaXhFbmFibGVBdXRvRml0IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4SG9yaXpvbnRhbEFsaWdubWVudCB8fFxuICAgICAgY2hhbmdlcy5hZmZpeElzU3RpY2t5IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4UGxhY2VtZW50IHx8XG4gICAgICBjaGFuZ2VzLmFmZml4VmVydGljYWxBbGlnbm1lbnRcbiAgICApIHtcbiAgICAgIHRoaXMudXBkYXRlQWxpZ25tZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWZmaXhPZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLmFmZml4T3ZlcmZsb3dTY3JvbGwuY29tcGxldGUoKTtcbiAgICB0aGlzLmFmZml4UGxhY2VtZW50Q2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBbGlnbm1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hZmZpeGVyLmFmZml4VG8odGhpcy5za3lBZmZpeFRvLCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogdGhpcy5hZmZpeEF1dG9GaXRDb250ZXh0LFxuICAgICAgYXV0b0ZpdE92ZXJmbG93T2Zmc2V0OiB0aGlzLmFmZml4QXV0b0ZpdE92ZXJmbG93T2Zmc2V0LFxuICAgICAgZW5hYmxlQXV0b0ZpdDogdGhpcy5hZmZpeEVuYWJsZUF1dG9GaXQsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiB0aGlzLmFmZml4SG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICAgIGlzU3RpY2t5OiB0aGlzLmFmZml4SXNTdGlja3ksXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMuYWZmaXhQbGFjZW1lbnQsXG4gICAgICB2ZXJ0aWNhbEFsaWdubWVudDogdGhpcy5hZmZpeFZlcnRpY2FsQWxpZ25tZW50LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { NgModule } from '@angular/core';
|
3
|
-
import { SkyAffixDirective } from './affix.directive';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class SkyAffixModule {
|
6
|
-
}
|
7
|
-
SkyAffixModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
8
|
-
SkyAffixModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixModule, declarations: [SkyAffixDirective], imports: [CommonModule], exports: [SkyAffixDirective] });
|
9
|
-
SkyAffixModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixModule, imports: [[CommonModule]] });
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixModule, decorators: [{
|
11
|
-
type: NgModule,
|
12
|
-
args: [{
|
13
|
-
imports: [CommonModule],
|
14
|
-
exports: [SkyAffixDirective],
|
15
|
-
declarations: [SkyAffixDirective],
|
16
|
-
}]
|
17
|
-
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kdWxlcy9hZmZpeC9hZmZpeC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBT3RELE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBRlYsaUJBQWlCLGFBRnRCLFlBQVksYUFDWixpQkFBaUI7NkdBR2hCLGNBQWMsWUFKaEIsQ0FBQyxZQUFZLENBQUM7NEZBSVosY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vYWZmaXguZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTa3lBZmZpeERpcmVjdGl2ZV0sXG4gIGRlY2xhcmF0aW9uczogW1NreUFmZml4RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhNb2R1bGUge31cbiJdfQ==
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import { Injectable, } from '@angular/core';
|
2
|
-
import { SkyAffixer } from './affixer';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class SkyAffixService {
|
5
|
-
constructor(rendererFactory) {
|
6
|
-
this.renderer = rendererFactory.createRenderer(undefined, undefined);
|
7
|
-
}
|
8
|
-
/**
|
9
|
-
* Creates an instance of [[SkyAffixer]].
|
10
|
-
* @param affixed The element to be affixed.
|
11
|
-
*/
|
12
|
-
createAffixer(affixed) {
|
13
|
-
return new SkyAffixer(affixed.nativeElement, this.renderer);
|
14
|
-
}
|
15
|
-
}
|
16
|
-
SkyAffixService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
|
17
|
-
SkyAffixService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixService, providedIn: 'root' });
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyAffixService, decorators: [{
|
19
|
-
type: Injectable,
|
20
|
-
args: [{
|
21
|
-
providedIn: 'root',
|
22
|
-
}]
|
23
|
-
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZHVsZXMvYWZmaXgvYWZmaXguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsVUFBVSxHQUdYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3ZDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQVksZUFBaUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLE9BQW1CO1FBQ3RDLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7NkdBYlUsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFmZml4ZXIgfSBmcm9tICcuL2FmZml4ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWZmaXhTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgW1tTa3lBZmZpeGVyXV0uXG4gICAqIEBwYXJhbSBhZmZpeGVkIFRoZSBlbGVtZW50IHRvIGJlIGFmZml4ZWQuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQWZmaXhlcihhZmZpeGVkOiBFbGVtZW50UmVmKTogU2t5QWZmaXhlciB7XG4gICAgcmV0dXJuIG5ldyBTa3lBZmZpeGVyKGFmZml4ZWQubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlcik7XG4gIH1cbn1cbiJdfQ==
|