@skyux/core
Version:
This library was generated with [Nx](https://nx.dev).
1 lines • 848 kB
Source Map (JSON)
{"version":3,"file":"skyux-core.mjs","sources":["../tmp-esm2022/lib/modules/adapter-service/adapter.module.js","../tmp-esm2022/lib/modules/breakpoint-observer/breakpoint.js","../tmp-esm2022/lib/modules/media-query/media-breakpoints.js","../tmp-esm2022/lib/modules/breakpoint-observer/breakpoint-utils.js","../tmp-esm2022/lib/modules/adapter-service/adapter.service.js","../tmp-esm2022/lib/modules/affix/affix-auto-fit-context.js","../tmp-esm2022/lib/modules/affix/affix-utils.js","../tmp-esm2022/lib/modules/affix/dom-utils.js","../tmp-esm2022/lib/modules/affix/affixer.js","../tmp-esm2022/lib/modules/affix/affix.service.js","../tmp-esm2022/lib/modules/affix/affix.directive.js","../tmp-esm2022/lib/modules/affix/affix.module.js","../tmp-esm2022/lib/modules/content-info-provider/content-info-provider.js","../tmp-esm2022/lib/modules/default-input-provider/default-input-provider.js","../tmp-esm2022/lib/modules/dock/dock-item.js","../tmp-esm2022/lib/modules/dock/dock-location.js","../tmp-esm2022/lib/modules/dock/dock.module.js","../tmp-esm2022/lib/modules/dynamic-component/dynamic-component-location.js","../tmp-esm2022/lib/modules/window/window-ref.js","../tmp-esm2022/lib/modules/dynamic-component/dynamic-component.service.js","../tmp-esm2022/lib/modules/mutation/mutation-observer-service.js","../tmp-esm2022/lib/modules/dock/dock-dom-adapter.service.js","../tmp-esm2022/lib/modules/dock/sort-by-stack-order.js","../tmp-esm2022/lib/modules/dock/dock.component.js","../tmp-esm2022/lib/modules/dock/dock.service.js","../tmp-esm2022/lib/modules/dynamic-component/dynamic-component.module.js","../tmp-esm2022/lib/modules/file-reader/file-reader.service.js","../tmp-esm2022/lib/modules/format/app-format.js","../tmp-esm2022/lib/modules/help/help-global-options-token.js","../tmp-esm2022/lib/modules/help/help.service.js","../tmp-esm2022/lib/modules/id/id.service.js","../tmp-esm2022/lib/modules/id/id.directive.js","../tmp-esm2022/lib/modules/id/id.module.js","../tmp-esm2022/lib/modules/layout-host/layout-host.service.js","../tmp-esm2022/lib/modules/layout-host/layout-host.directive.js","../tmp-esm2022/lib/modules/live-announcer/live-announcer.service.js","../tmp-esm2022/lib/modules/log/log.module.js","../tmp-esm2022/lib/modules/log/types/log-level.js","../tmp-esm2022/lib/modules/log/types/log-level-token.js","../tmp-esm2022/lib/modules/log/log.service.js","../tmp-esm2022/lib/modules/breakpoint-observer/breakpoint-observer.token.js","../tmp-esm2022/lib/modules/resize-observer/resize-observer.service.js","../tmp-esm2022/lib/modules/breakpoint-observer/container-breakpoint-observer.js","../tmp-esm2022/lib/modules/breakpoint-observer/media-breakpoint-observer.js","../tmp-esm2022/lib/modules/media-query/media-query.service.js","../tmp-esm2022/lib/modules/breakpoint-observer/provide-breakpoint-observer.js","../tmp-esm2022/lib/modules/breakpoint-observer/responsive-host.directive.js","../tmp-esm2022/lib/modules/media-query/media-query.module.js","../tmp-esm2022/lib/modules/shared/sky-core-resources.module.js","../tmp-esm2022/lib/modules/numeric/numeric.options.js","../tmp-esm2022/lib/modules/shared/number-format/number-format-utility.js","../tmp-esm2022/lib/modules/numeric/numeric.service.js","../tmp-esm2022/lib/modules/numeric/numeric.pipe.js","../tmp-esm2022/lib/modules/numeric/numeric.module.js","../tmp-esm2022/lib/modules/overlay/overlay-instance.js","../tmp-esm2022/lib/modules/overlay/overlay.module.js","../tmp-esm2022/lib/modules/overlay/overlay-adapter.service.js","../tmp-esm2022/lib/modules/overlay/overlay-context.js","../tmp-esm2022/lib/modules/stacking-context/stacking-context-token.js","../tmp-esm2022/lib/modules/overlay/overlay.component.js","../tmp-esm2022/lib/modules/overlay/overlay.service.js","../tmp-esm2022/lib/modules/percent-pipe/percent.pipe.js","../tmp-esm2022/lib/modules/percent-pipe/percent-pipe.module.js","../tmp-esm2022/lib/modules/resize-observer/resize-observer-media-query.service.js","../tmp-esm2022/lib/modules/screen-reader-label/screen-reader-label.directive.js","../tmp-esm2022/lib/modules/scroll-shadow/scroll-shadow.directive.js","../tmp-esm2022/lib/modules/scrollable-host/scrollable-host.service.js","../tmp-esm2022/lib/modules/title/title.service.js","../tmp-esm2022/lib/modules/trim/trim.directive.js","../tmp-esm2022/lib/modules/trim/trim.module.js","../tmp-esm2022/lib/modules/ui-config/ui-config.service.js","../tmp-esm2022/lib/modules/viewkeeper/viewkeeper.js","../tmp-esm2022/lib/modules/viewkeeper/viewkeeper-host-options.js","../tmp-esm2022/lib/modules/viewkeeper/viewkeeper.service.js","../tmp-esm2022/lib/modules/viewkeeper/viewkeeper.directive.js","../tmp-esm2022/lib/modules/viewkeeper/viewkeeper.module.js","../tmp-esm2022/version.js","../tmp-esm2022/skyux-core.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated The `SkyCoreAdapterService` no longer needs the `SkyCoreAdapterModule`.\n * The `SkyCoreAdapterModule` can be removed from your project.\n */\nexport class SkyCoreAdapterModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpDOzs7R0FHRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjsrR0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFFBQVE7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIGBTa3lDb3JlQWRhcHRlclNlcnZpY2VgIG5vIGxvbmdlciBuZWVkcyB0aGUgYFNreUNvcmVBZGFwdGVyTW9kdWxlYC5cbiAqIFRoZSBgU2t5Q29yZUFkYXB0ZXJNb2R1bGVgIGNhbiBiZSByZW1vdmVkIGZyb20geW91ciBwcm9qZWN0LlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgU2t5Q29yZUFkYXB0ZXJNb2R1bGUge31cbiJdfQ==","/**\n * A list of all breakpoints.\n * @internal\n */\nexport const SKY_BREAKPOINTS = ['xs', 'sm', 'md', 'lg'];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9icmVha3BvaW50LW9ic2VydmVyL2JyZWFrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgbGlzdCBvZiBhbGwgYnJlYWtwb2ludHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IFNLWV9CUkVBS1BPSU5UUyA9IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSBhcyBjb25zdDtcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiBhIHZpZXdwb3J0IG9yIGNvbnRhaW5lciBicmVha3BvaW50LlxuICovXG5leHBvcnQgdHlwZSBTa3lCcmVha3BvaW50ID0gKHR5cGVvZiBTS1lfQlJFQUtQT0lOVFMpW251bWJlcl07XG4iXX0=","/**\n * Represents all available media breakpoints.\n * @deprecated Use `SkyBreakpoint` instead.\n */\nexport var SkyMediaBreakpoints;\n(function (SkyMediaBreakpoints) {\n /**\n * Screen widths of 767px or less.\n */\n SkyMediaBreakpoints[SkyMediaBreakpoints[\"xs\"] = 1] = \"xs\";\n /**\n * Screen widths of 768px to 991px.\n */\n SkyMediaBreakpoints[SkyMediaBreakpoints[\"sm\"] = 2] = \"sm\";\n /**\n * Screen widths of 992px to 1199px.\n */\n SkyMediaBreakpoints[SkyMediaBreakpoints[\"md\"] = 3] = \"md\";\n /**\n * Screen widths of 1200px or greater.\n */\n SkyMediaBreakpoints[SkyMediaBreakpoints[\"lg\"] = 4] = \"lg\";\n})(SkyMediaBreakpoints || (SkyMediaBreakpoints = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtYnJlYWtwb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBb0JYO0FBcEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gseURBQU0sQ0FBQTtJQUVOOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtJQUVGOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtJQUVGOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtBQUNKLENBQUMsRUFwQlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQW9COUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYWxsIGF2YWlsYWJsZSBtZWRpYSBicmVha3BvaW50cy5cbiAqIEBkZXByZWNhdGVkIFVzZSBgU2t5QnJlYWtwb2ludGAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGVudW0gU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gIC8qKlxuICAgKiBTY3JlZW4gd2lkdGhzIG9mIDc2N3B4IG9yIGxlc3MuXG4gICAqL1xuICB4cyA9IDEsXG5cbiAgLyoqXG4gICAqIFNjcmVlbiB3aWR0aHMgb2YgNzY4cHggdG8gOTkxcHguXG4gICAqL1xuICBzbSxcblxuICAvKipcbiAgICogU2NyZWVuIHdpZHRocyBvZiA5OTJweCB0byAxMTk5cHguXG4gICAqL1xuICBtZCxcblxuICAvKipcbiAgICogU2NyZWVuIHdpZHRocyBvZiAxMjAwcHggb3IgZ3JlYXRlci5cbiAgICovXG4gIGxnLFxufVxuIl19","import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';\nimport { SKY_BREAKPOINTS } from './breakpoint';\nconst breakpointLookup = new Map([\n [SkyMediaBreakpoints.xs, 'xs'],\n [SkyMediaBreakpoints.sm, 'sm'],\n [SkyMediaBreakpoints.md, 'md'],\n [SkyMediaBreakpoints.lg, 'lg'],\n]);\nconst legacyLookup = new Map([\n ['xs', SkyMediaBreakpoints.xs],\n ['sm', SkyMediaBreakpoints.sm],\n ['md', SkyMediaBreakpoints.md],\n ['lg', SkyMediaBreakpoints.lg],\n]);\n/**\n * Whether the value is of type `SkyBreakpoint`.\n * @internal\n */\nexport function isSkyBreakpoint(value) {\n return (value !== null &&\n value !== undefined &&\n SKY_BREAKPOINTS.includes(value));\n}\n/**\n * Transforms a `SkyMediaBreakpoints` value to `SkyBreakpoint`.\n * @internal\n */\nexport function toSkyBreakpoint(breakpoint) {\n return breakpointLookup.get(breakpoint);\n}\n/**\n * Transforms a `SkyBreakpoint` value to `SkyMediaBreakpoints`.\n * @internal\n */\nexport function toSkyMediaBreakpoints(breakpoint) {\n return legacyLookup.get(breakpoint);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtwb2ludC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9icmVha3BvaW50LW9ic2VydmVyL2JyZWFrcG9pbnQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FBcUM7SUFDbkUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0lBQzlCLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztJQUM5QixDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7SUFDOUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0NBQy9CLENBQUMsQ0FBQztBQUVILE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFxQztJQUMvRCxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7SUFDOUIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztJQUM5QixDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7Q0FDL0IsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBNkQ7SUFFN0QsT0FBTyxDQUNMLEtBQUssS0FBSyxJQUFJO1FBQ2QsS0FBSyxLQUFLLFNBQVM7UUFDbkIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFzQixDQUFDLENBQ2pELENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsVUFBK0I7SUFFL0IsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFrQixDQUFDO0FBQzNELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFVBQXlCO0lBRXpCLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQXdCLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuLi9tZWRpYS1xdWVyeS9tZWRpYS1icmVha3BvaW50cyc7XG5cbmltcG9ydCB7IFNLWV9CUkVBS1BPSU5UUywgU2t5QnJlYWtwb2ludCB9IGZyb20gJy4vYnJlYWtwb2ludCc7XG5cbmNvbnN0IGJyZWFrcG9pbnRMb29rdXAgPSBuZXcgTWFwPFNreU1lZGlhQnJlYWtwb2ludHMsIFNreUJyZWFrcG9pbnQ+KFtcbiAgW1NreU1lZGlhQnJlYWtwb2ludHMueHMsICd4cyddLFxuICBbU2t5TWVkaWFCcmVha3BvaW50cy5zbSwgJ3NtJ10sXG4gIFtTa3lNZWRpYUJyZWFrcG9pbnRzLm1kLCAnbWQnXSxcbiAgW1NreU1lZGlhQnJlYWtwb2ludHMubGcsICdsZyddLFxuXSk7XG5cbmNvbnN0IGxlZ2FjeUxvb2t1cCA9IG5ldyBNYXA8U2t5QnJlYWtwb2ludCwgU2t5TWVkaWFCcmVha3BvaW50cz4oW1xuICBbJ3hzJywgU2t5TWVkaWFCcmVha3BvaW50cy54c10sXG4gIFsnc20nLCBTa3lNZWRpYUJyZWFrcG9pbnRzLnNtXSxcbiAgWydtZCcsIFNreU1lZGlhQnJlYWtwb2ludHMubWRdLFxuICBbJ2xnJywgU2t5TWVkaWFCcmVha3BvaW50cy5sZ10sXG5dKTtcblxuLyoqXG4gKiBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBvZiB0eXBlIGBTa3lCcmVha3BvaW50YC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTa3lCcmVha3BvaW50KFxuICB2YWx1ZTogU2t5QnJlYWtwb2ludCB8IFNreU1lZGlhQnJlYWtwb2ludHMgfCBudWxsIHwgdW5kZWZpbmVkLFxuKTogdmFsdWUgaXMgU2t5QnJlYWtwb2ludCB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgU0tZX0JSRUFLUE9JTlRTLmluY2x1ZGVzKHZhbHVlIGFzIFNreUJyZWFrcG9pbnQpXG4gICk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIGBTa3lNZWRpYUJyZWFrcG9pbnRzYCB2YWx1ZSB0byBgU2t5QnJlYWtwb2ludGAuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU2t5QnJlYWtwb2ludChcbiAgYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cyxcbik6IFNreUJyZWFrcG9pbnQge1xuICByZXR1cm4gYnJlYWtwb2ludExvb2t1cC5nZXQoYnJlYWtwb2ludCkgYXMgU2t5QnJlYWtwb2ludDtcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGEgYFNreUJyZWFrcG9pbnRgIHZhbHVlIHRvIGBTa3lNZWRpYUJyZWFrcG9pbnRzYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Ta3lNZWRpYUJyZWFrcG9pbnRzKFxuICBicmVha3BvaW50OiBTa3lCcmVha3BvaW50LFxuKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gIHJldHVybiBsZWdhY3lMb29rdXAuZ2V0KGJyZWFrcG9pbnQpIGFzIFNreU1lZGlhQnJlYWtwb2ludHM7XG59XG4iXX0=","import { Injectable, } from '@angular/core';\nimport { SKY_BREAKPOINTS, } from '../breakpoint-observer/breakpoint';\nimport { isSkyBreakpoint, toSkyBreakpoint, } from '../breakpoint-observer/breakpoint-utils';\nimport * as i0 from \"@angular/core\";\nconst SKY_TABBABLE_SELECTOR = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled])',\n 'button:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'iframe',\n 'object',\n 'embed',\n '*[contenteditable=true]:not([disabled])',\n '*[tabindex]:not([disabled])',\n].join(', ');\nexport class SkyCoreAdapterService {\n #renderer;\n constructor(rendererFactory) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n /**\n * Set the responsive container CSS class for a given element.\n *\n * @param elementRef - The element that will receive the new CSS class.\n * @param breakpoint - The breakpoint to determine which class gets set.\n * For example a breakpoint of \"xs\" will set a CSS class of \"sky-responsive-container-xs\".\n * @deprecated Use the `SkyResponsiveHostDirective` instead.\n */\n setResponsiveContainerClass(elementRef, breakpoint) {\n const nativeEl = elementRef.nativeElement;\n for (const breakpointType of SKY_BREAKPOINTS) {\n this.#renderer.removeClass(nativeEl, `sky-responsive-container-${breakpointType}`);\n }\n if (!isSkyBreakpoint(breakpoint)) {\n breakpoint = toSkyBreakpoint(breakpoint);\n }\n this.#renderer.addClass(nativeEl, `sky-responsive-container-${breakpoint}`);\n }\n /**\n * This method temporarily enables/disables pointer events.\n * This is helpful to prevent iFrames from interfering with drag events.\n *\n * @param enable - Set to `true` to enable pointer events. Set to `false` to disable.\n */\n toggleIframePointerEvents(enable) {\n const iframes = Array.from(document.querySelectorAll('iframe'));\n for (const iframe of iframes) {\n this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');\n }\n }\n /**\n * Focuses on the first element found with an `autofocus` attribute inside the supplied `elementRef`.\n *\n * @param elementRef - The element to search within.\n * @return Returns `true` if a child element with autofocus is found.\n */\n applyAutoFocus(elementRef) {\n if (!elementRef) {\n return false;\n }\n const elementWithAutoFocus = elementRef.nativeElement.querySelector('[autofocus]');\n // Child was found with the autofocus property. Set focus and return true.\n if (elementWithAutoFocus) {\n elementWithAutoFocus.focus();\n return true;\n }\n // No children were found with autofocus property. Return false.\n return false;\n }\n /**\n * Sets focus on the first focusable child of the `elementRef` parameter.\n * If no focusable children are found, and `focusOnContainerIfNoChildrenFound` is `true`,\n * focus will be set on the container element.\n *\n * @param elementRef - The element to search within.\n * @param containerSelector - A CSS selector indicating the container that should\n * receive focus if no focusable children are found.\n * @param focusOnContainerIfNoChildrenFound - It set to `true`, the container will\n * receive focus if no focusable children are found.\n */\n getFocusableChildrenAndApplyFocus(elementRef, containerSelector, focusOnContainerIfNoChildrenFound = false) {\n const containerElement = elementRef.nativeElement.querySelector(containerSelector);\n if (containerElement) {\n const focusableChildren = this.getFocusableChildren(containerElement);\n // Focus first focusable child if available. Otherwise, set focus on container.\n if (!this.#focusFirstElement(focusableChildren) &&\n focusOnContainerIfNoChildrenFound) {\n containerElement.focus();\n }\n }\n }\n /**\n * Returns an array of all focusable children of provided `element`.\n *\n * @param element - The HTMLElement to search within.\n * @param options - Options for getting focusable children.\n */\n getFocusableChildren(element, options) {\n if (!element) {\n return [];\n }\n let elements = Array.prototype.slice.call(element.querySelectorAll(SKY_TABBABLE_SELECTOR));\n // Unless ignoreTabIndex = true, filter out elements with tabindex = -1.\n if (!options || !options.ignoreTabIndex) {\n elements = elements.filter((el) => {\n return el.tabIndex !== -1;\n });\n }\n // Unless ignoreVisibility = true, filter out elements that are not visible.\n if (!options || !options.ignoreVisibility) {\n elements = elements.filter((el) => {\n return this.#isVisible(el);\n });\n }\n return elements;\n }\n /**\n * Returns the clientWidth of the provided elementRef.\n * @param elementRef - The element to calculate width from.\n */\n getWidth(elementRef) {\n return elementRef.nativeElement.clientWidth;\n }\n /**\n * Checks if an event target has a higher z-index than a given element.\n * @param target The event target element.\n * @param element The element to test against. A z-index must be explicitly set for this element.\n */\n isTargetAboveElement(target, element) {\n const zIndex = getComputedStyle(element).zIndex;\n let el = target;\n while (el) {\n // Getting the computed style only works for elements that exist in the DOM.\n // In certain scenarios, an element is removed after a click event; by the time the event\n // bubbles up to other elements, however, the element has been removed and the computed style returns empty.\n // In this case, we'll need to check the z-index directly, via the style property.\n const targetZIndex = getComputedStyle(el).zIndex || el.style.zIndex;\n if (targetZIndex !== '' &&\n targetZIndex !== 'auto' &&\n +targetZIndex > +zIndex) {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n }\n /**\n * Remove inline height styles from the provided elements.\n * @param elementRef - The element to search within.\n * @param selector - The CSS selector to use when finding elements for removing height.\n */\n resetHeight(elementRef, selector) {\n const children = Array.from(elementRef.nativeElement.querySelectorAll(selector));\n for (const child of children) {\n this.#renderer.removeStyle(child, 'height');\n }\n }\n /**\n * Sets all element heights to match the height of the tallest element.\n * @param elementRef - The element to search within.\n * @param selector - The CSS selector to use when finding elements for syncing height.\n */\n syncMaxHeight(elementRef, selector) {\n const children = Array.from(elementRef.nativeElement.querySelectorAll(selector));\n /* istanbul ignore else */\n if (children.length > 0) {\n let maxHeight = 0;\n for (const child of children) {\n maxHeight = Math.max(maxHeight, child.offsetHeight);\n }\n for (const child of children) {\n this.#renderer.setStyle(child, 'height', `${maxHeight}px`);\n }\n }\n }\n #focusFirstElement(list) {\n if (list.length > 0) {\n list[0].focus();\n return true;\n }\n return false;\n }\n #isVisible(element) {\n const style = window.getComputedStyle(element);\n const isHidden = style.display === 'none' || style.visibility === 'hidden';\n if (isHidden) {\n return false;\n }\n const hasBounds = !!(element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length);\n return hasBounds;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyCoreAdapterService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsZUFBZSxHQUVoQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLHlDQUF5QyxDQUFDOztBQUtqRCxNQUFNLHFCQUFxQixHQUFHO0lBQzVCLFNBQVM7SUFDVCxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLFFBQVE7SUFDUixRQUFRO0lBQ1IsT0FBTztJQUNQLHlDQUF5QztJQUN6Qyw2QkFBNkI7Q0FDOUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFLYixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFNBQVMsQ0FBWTtJQUVyQixZQUFZLGVBQWlDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSwyQkFBMkIsQ0FDaEMsVUFBc0IsRUFDdEIsVUFBK0M7UUFFL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUUxQyxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUN4QixRQUFRLEVBQ1IsNEJBQTRCLGNBQWMsRUFBRSxDQUM3QyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsNEJBQTRCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0kseUJBQXlCLENBQUMsTUFBZTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN4QixRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQ3BDLENBQUM7UUFDRixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxVQUF1QjtRQUMzQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FDeEIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEQsMEVBQTBFO1FBQzFFLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN6QixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLGlDQUFpQyxDQUN0QyxVQUFzQixFQUN0QixpQkFBMEIsRUFDMUIsaUNBQWlDLEdBQUcsS0FBSztRQUV6QyxNQUFNLGdCQUFnQixHQUNwQixVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRXRFLCtFQUErRTtZQUMvRSxJQUNFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO2dCQUMzQyxpQ0FBaUMsRUFDakMsQ0FBQztnQkFDRCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG9CQUFvQixDQUN6QixPQUFxQixFQUNyQixPQUFxQztRQUVyQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3ZDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRCxDQUFDO1FBRUYsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFlLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFlLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsVUFBc0I7UUFDcEMsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixDQUN6QixNQUFtQixFQUNuQixPQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFaEQsSUFBSSxFQUFFLEdBQUcsTUFBcUIsQ0FBQztRQUUvQixPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1YsNEVBQTRFO1lBQzVFLHlGQUF5RjtZQUN6Riw0R0FBNEc7WUFDNUcsa0ZBQWtGO1lBQ2xGLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNwRSxJQUNFLFlBQVksS0FBSyxFQUFFO2dCQUNuQixZQUFZLEtBQUssTUFBTTtnQkFDdkIsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQ3ZCLENBQUM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLFVBQXNCLEVBQUUsUUFBZ0I7UUFDekQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDekIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FDcEQsQ0FBQztRQUNGLEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxVQUFzQixFQUFFLFFBQWdCO1FBQzNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3pCLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQ3BELENBQUM7UUFDRiwwQkFBMEI7UUFDMUIsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNsQixLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFtQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFvQjtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7UUFDM0UsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNsQixPQUFPLENBQUMsV0FBVztZQUNuQixPQUFPLENBQUMsWUFBWTtZQUNwQixPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0E5T1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNLWV9CUkVBS1BPSU5UUyxcbiAgU2t5QnJlYWtwb2ludCxcbn0gZnJvbSAnLi4vYnJlYWtwb2ludC1vYnNlcnZlci9icmVha3BvaW50JztcbmltcG9ydCB7XG4gIGlzU2t5QnJlYWtwb2ludCxcbiAgdG9Ta3lCcmVha3BvaW50LFxufSBmcm9tICcuLi9icmVha3BvaW50LW9ic2VydmVyL2JyZWFrcG9pbnQtdXRpbHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLWJyZWFrcG9pbnRzJztcblxuaW1wb3J0IHsgU2t5Rm9jdXNhYmxlQ2hpbGRyZW5PcHRpb25zIH0gZnJvbSAnLi9mb2N1c2FibGUtY2hpbGRyZW4tb3B0aW9ucyc7XG5cbmNvbnN0IFNLWV9UQUJCQUJMRV9TRUxFQ1RPUiA9IFtcbiAgJ2FbaHJlZl0nLFxuICAnYXJlYVtocmVmXScsXG4gICdpbnB1dDpub3QoW2Rpc2FibGVkXSknLFxuICAnYnV0dG9uOm5vdChbZGlzYWJsZWRdKScsXG4gICdzZWxlY3Q6bm90KFtkaXNhYmxlZF0pJyxcbiAgJ3RleHRhcmVhOm5vdChbZGlzYWJsZWRdKScsXG4gICdpZnJhbWUnLFxuICAnb2JqZWN0JyxcbiAgJ2VtYmVkJyxcbiAgJypbY29udGVudGVkaXRhYmxlPXRydWVdOm5vdChbZGlzYWJsZWRdKScsXG4gICcqW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSknLFxuXS5qb2luKCcsICcpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHJlc3BvbnNpdmUgY29udGFpbmVyIENTUyBjbGFzcyBmb3IgYSBnaXZlbiBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiAtIFRoZSBlbGVtZW50IHRoYXQgd2lsbCByZWNlaXZlIHRoZSBuZXcgQ1NTIGNsYXNzLlxuICAgKiBAcGFyYW0gYnJlYWtwb2ludCAtIFRoZSBicmVha3BvaW50IHRvIGRldGVybWluZSB3aGljaCBjbGFzcyBnZXRzIHNldC5cbiAgICogRm9yIGV4YW1wbGUgYSBicmVha3BvaW50IG9mIFwieHNcIiB3aWxsIHNldCBhIENTUyBjbGFzcyBvZiBcInNreS1yZXNwb25zaXZlLWNvbnRhaW5lci14c1wiLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZWAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBzZXRSZXNwb25zaXZlQ29udGFpbmVyQ2xhc3MoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBicmVha3BvaW50OiBTa3lCcmVha3BvaW50IHwgU2t5TWVkaWFCcmVha3BvaW50cyxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgbmF0aXZlRWwgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBmb3IgKGNvbnN0IGJyZWFrcG9pbnRUeXBlIG9mIFNLWV9CUkVBS1BPSU5UUykge1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgIG5hdGl2ZUVsLFxuICAgICAgICBgc2t5LXJlc3BvbnNpdmUtY29udGFpbmVyLSR7YnJlYWtwb2ludFR5cGV9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1NreUJyZWFrcG9pbnQoYnJlYWtwb2ludCkpIHtcbiAgICAgIGJyZWFrcG9pbnQgPSB0b1NreUJyZWFrcG9pbnQoYnJlYWtwb2ludCk7XG4gICAgfVxuXG4gICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWwsIGBza3ktcmVzcG9uc2l2ZS1jb250YWluZXItJHticmVha3BvaW50fWApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHRlbXBvcmFyaWx5IGVuYWJsZXMvZGlzYWJsZXMgcG9pbnRlciBldmVudHMuXG4gICAqIFRoaXMgaXMgaGVscGZ1bCB0byBwcmV2ZW50IGlGcmFtZXMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGRyYWcgZXZlbnRzLlxuICAgKlxuICAgKiBAcGFyYW0gZW5hYmxlIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgcG9pbnRlciBldmVudHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBpZnJhbWVzID0gQXJyYXkuZnJvbTxIVE1MRWxlbWVudD4oXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpZnJhbWUnKSxcbiAgICApO1xuICAgIGZvciAoY29uc3QgaWZyYW1lIG9mIGlmcmFtZXMpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldFN0eWxlKGlmcmFtZSwgJ3BvaW50ZXItZXZlbnRzJywgZW5hYmxlID8gJycgOiAnbm9uZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIG9uIHRoZSBmaXJzdCBlbGVtZW50IGZvdW5kIHdpdGggYW4gYGF1dG9mb2N1c2AgYXR0cmlidXRlIGluc2lkZSB0aGUgc3VwcGxpZWQgYGVsZW1lbnRSZWZgLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiAtIFRoZSBlbGVtZW50IHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIEByZXR1cm4gUmV0dXJucyBgdHJ1ZWAgaWYgYSBjaGlsZCBlbGVtZW50IHdpdGggYXV0b2ZvY3VzIGlzIGZvdW5kLlxuICAgKi9cbiAgcHVibGljIGFwcGx5QXV0b0ZvY3VzKGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFlbGVtZW50UmVmKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudFdpdGhBdXRvRm9jdXMgPVxuICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1thdXRvZm9jdXNdJyk7XG5cbiAgICAvLyBDaGlsZCB3YXMgZm91bmQgd2l0aCB0aGUgYXV0b2ZvY3VzIHByb3BlcnR5LiBTZXQgZm9jdXMgYW5kIHJldHVybiB0cnVlLlxuICAgIGlmIChlbGVtZW50V2l0aEF1dG9Gb2N1cykge1xuICAgICAgZWxlbWVudFdpdGhBdXRvRm9jdXMuZm9jdXMoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIE5vIGNoaWxkcmVuIHdlcmUgZm91bmQgd2l0aCBhdXRvZm9jdXMgcHJvcGVydHkuIFJldHVybiBmYWxzZS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGNoaWxkIG9mIHRoZSBgZWxlbWVudFJlZmAgcGFyYW1ldGVyLlxuICAgKiBJZiBubyBmb2N1c2FibGUgY2hpbGRyZW4gYXJlIGZvdW5kLCBhbmQgYGZvY3VzT25Db250YWluZXJJZk5vQ2hpbGRyZW5Gb3VuZGAgaXMgYHRydWVgLFxuICAgKiBmb2N1cyB3aWxsIGJlIHNldCBvbiB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIC0gVGhlIGVsZW1lbnQgdG8gc2VhcmNoIHdpdGhpbi5cbiAgICogQHBhcmFtIGNvbnRhaW5lclNlbGVjdG9yIC0gQSBDU1Mgc2VsZWN0b3IgaW5kaWNhdGluZyB0aGUgY29udGFpbmVyIHRoYXQgc2hvdWxkXG4gICAqIHJlY2VpdmUgZm9jdXMgaWYgbm8gZm9jdXNhYmxlIGNoaWxkcmVuIGFyZSBmb3VuZC5cbiAgICogQHBhcmFtIGZvY3VzT25Db250YWluZXJJZk5vQ2hpbGRyZW5Gb3VuZCAtIEl0IHNldCB0byBgdHJ1ZWAsIHRoZSBjb250YWluZXIgd2lsbFxuICAgKiByZWNlaXZlIGZvY3VzIGlmIG5vIGZvY3VzYWJsZSBjaGlsZHJlbiBhcmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgY29udGFpbmVyU2VsZWN0b3I/OiBzdHJpbmcsXG4gICAgZm9jdXNPbkNvbnRhaW5lcklmTm9DaGlsZHJlbkZvdW5kID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPVxuICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoY29udGFpbmVyU2VsZWN0b3IpO1xuXG4gICAgaWYgKGNvbnRhaW5lckVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGZvY3VzYWJsZUNoaWxkcmVuID0gdGhpcy5nZXRGb2N1c2FibGVDaGlsZHJlbihjb250YWluZXJFbGVtZW50KTtcblxuICAgICAgLy8gRm9jdXMgZmlyc3QgZm9jdXNhYmxlIGNoaWxkIGlmIGF2YWlsYWJsZS4gT3RoZXJ3aXNlLCBzZXQgZm9jdXMgb24gY29udGFpbmVyLlxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy4jZm9jdXNGaXJzdEVsZW1lbnQoZm9jdXNhYmxlQ2hpbGRyZW4pICYmXG4gICAgICAgIGZvY3VzT25Db250YWluZXJJZk5vQ2hpbGRyZW5Gb3VuZFxuICAgICAgKSB7XG4gICAgICAgIGNvbnRhaW5lckVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBhbGwgZm9jdXNhYmxlIGNoaWxkcmVuIG9mIHByb3ZpZGVkIGBlbGVtZW50YC5cbiAgICpcbiAgICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgSFRNTEVsZW1lbnQgdG8gc2VhcmNoIHdpdGhpbi5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBnZXR0aW5nIGZvY3VzYWJsZSBjaGlsZHJlbi5cbiAgICovXG4gIHB1YmxpYyBnZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICBlbGVtZW50PzogSFRNTEVsZW1lbnQsXG4gICAgb3B0aW9ucz86IFNreUZvY3VzYWJsZUNoaWxkcmVuT3B0aW9ucyxcbiAgKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgbGV0IGVsZW1lbnRzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXG4gICAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0tZX1RBQkJBQkxFX1NFTEVDVE9SKSxcbiAgICApO1xuXG4gICAgLy8gVW5sZXNzIGlnbm9yZVRhYkluZGV4ID0gdHJ1ZSwgZmlsdGVyIG91dCBlbGVtZW50cyB3aXRoIHRhYmluZGV4ID0gLTEuXG4gICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLmlnbm9yZVRhYkluZGV4KSB7XG4gICAgICBlbGVtZW50cyA9IGVsZW1lbnRzLmZpbHRlcigoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBlbC50YWJJbmRleCAhPT0gLTE7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBVbmxlc3MgaWdub3JlVmlzaWJpbGl0eSA9IHRydWUsIGZpbHRlciBvdXQgZWxlbWVudHMgdGhhdCBhcmUgbm90IHZpc2libGUuXG4gICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLmlnbm9yZVZpc2liaWxpdHkpIHtcbiAgICAgIGVsZW1lbnRzID0gZWxlbWVudHMuZmlsdGVyKChlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI2lzVmlzaWJsZShlbCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2xpZW50V2lkdGggb2YgdGhlIHByb3ZpZGVkIGVsZW1lbnRSZWYuXG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIC0gVGhlIGVsZW1lbnQgdG8gY2FsY3VsYXRlIHdpZHRoIGZyb20uXG4gICAqL1xuICBwdWJsaWMgZ2V0V2lkdGgoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgcmV0dXJuIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW4gZXZlbnQgdGFyZ2V0IGhhcyBhIGhpZ2hlciB6LWluZGV4IHRoYW4gYSBnaXZlbiBlbGVtZW50LlxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSBldmVudCB0YXJnZXQgZWxlbWVudC5cbiAgICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgdG8gdGVzdCBhZ2FpbnN0LiBBIHotaW5kZXggbXVzdCBiZSBleHBsaWNpdGx5IHNldCBmb3IgdGhpcyBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGlzVGFyZ2V0QWJvdmVFbGVtZW50KFxuICAgIHRhcmdldDogRXZlbnRUYXJnZXQsXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHpJbmRleCA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuekluZGV4O1xuXG4gICAgbGV0IGVsID0gdGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgd2hpbGUgKGVsKSB7XG4gICAgICAvLyBHZXR0aW5nIHRoZSBjb21wdXRlZCBzdHlsZSBvbmx5IHdvcmtzIGZvciBlbGVtZW50cyB0aGF0IGV4aXN0IGluIHRoZSBET00uXG4gICAgICAvLyBJbiBjZXJ0YWluIHNjZW5hcmlvcywgYW4gZWxlbWVudCBpcyByZW1vdmVkIGFmdGVyIGEgY2xpY2sgZXZlbnQ7IGJ5IHRoZSB0aW1lIHRoZSBldmVudFxuICAgICAgLy8gYnViYmxlcyB1cCB0byBvdGhlciBlbGVtZW50cywgaG93ZXZlciwgdGhlIGVsZW1lbnQgaGFzIGJlZW4gcmVtb3ZlZCBhbmQgdGhlIGNvbXB1dGVkIHN0eWxlIHJldHVybnMgZW1wdHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlJ2xsIG5lZWQgdG8gY2hlY2sgdGhlIHotaW5kZXggZGlyZWN0bHksIHZpYSB0aGUgc3R5bGUgcHJvcGVydHkuXG4gICAgICBjb25zdCB0YXJnZXRaSW5kZXggPSBnZXRDb21wdXRlZFN0eWxlKGVsKS56SW5kZXggfHwgZWwuc3R5bGUuekluZGV4O1xuICAgICAgaWYgKFxuICAgICAgICB0YXJnZXRaSW5kZXggIT09ICcnICYmXG4gICAgICAgIHRhcmdldFpJbmRleCAhPT0gJ2F1dG8nICYmXG4gICAgICAgICt0YXJnZXRaSW5kZXggPiArekluZGV4XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubGluZSBoZWlnaHQgc3R5bGVzIGZyb20gdGhlIHByb3ZpZGVkIGVsZW1lbnRzLlxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiAtIFRoZSBlbGVtZW50IHRvIHNlYXJjaCB3aXRoaW4uXG4gICAqIEBwYXJhbSBzZWxlY3RvciAtIFRoZSBDU1Mgc2VsZWN0b3IgdG8gdXNlIHdoZW4gZmluZGluZyBlbGVtZW50cyBmb3IgcmVtb3ZpbmcgaGVpZ2h0LlxuICAgKi9cbiAgcHVibGljIHJlc2V0SGVpZ2h0KGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmZyb208SFRNTEVsZW1lbnQ+KFxuICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpLFxuICAgICk7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlU3R5bGUoY2hpbGQsICdoZWlnaHQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhbGwgZWxlbWVudCBoZWlnaHRzIHRvIG1hdGNoIHRoZSBoZWlnaHQgb2YgdGhlIHRhbGxlc3QgZWxlbWVudC5cbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgLSBUaGUgZWxlbWVudCB0byBzZWFyY2ggd2l0aGluLlxuICAgKiBAcGFyYW0gc2VsZWN0b3IgLSBUaGUgQ1NTIHNlbGVjdG9yIHRvIHVzZSB3aGVuIGZpbmRpbmcgZWxlbWVudHMgZm9yIHN5bmNpbmcgaGVpZ2h0LlxuICAgKi9cbiAgcHVibGljIHN5bmNNYXhIZWlnaHQoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgc2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbTxIVE1MRWxlbWVudD4oXG4gICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvciksXG4gICAgKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgbWF4SGVpZ2h0ID0gMDtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgICAgbWF4SGVpZ2h0ID0gTWF0aC5tYXgobWF4SGVpZ2h0LCBjaGlsZC5vZmZzZXRIZWlnaHQpO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShjaGlsZCwgJ2hlaWdodCcsIGAke21heEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNmb2N1c0ZpcnN0RWxlbWVudChsaXN0OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgbGlzdFswXS5mb2N1cygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICNpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IGlzSGlkZGVuID0gc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnIHx8IHN0eWxlLnZpc2liaWxpdHkgPT09ICdoaWRkZW4nO1xuICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc0JvdW5kcyA9ICEhKFxuICAgICAgZWxlbWVudC5vZmZzZXRXaWR0aCB8fFxuICAgICAgZWxlbWVudC5vZmZzZXRIZWlnaHQgfHxcbiAgICAgIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGhcbiAgICApO1xuICAgIHJldHVybiBoYXNCb3VuZHM7XG4gIH1cbn1cbiJdfQ==","export var SkyAffixAutoFitContext;\n(function (SkyAffixAutoFitContext) {\n /**\n * Auto-fit functionality will respect the nearest overflow parent element's dimensions.\n */\n SkyAffixAutoFitContext[SkyAffixAutoFitContext[\"OverflowParent\"] = 0] = \"OverflowParent\";\n /**\n * Auto-fit functionality will respect the browser viewport dimensions.\n */\n SkyAffixAutoFitContext[SkyAffixAutoFitContext[\"Viewport\"] = 1] = \"Viewport\";\n})(SkyAffixAutoFitContext || (SkyAffixAutoFitContext = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtYXV0by1maXQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1hdXRvLWZpdC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHNCQVVYO0FBVkQsV0FBWSxzQkFBc0I7SUFDaEM7O09BRUc7SUFDSCx1RkFBa0IsQ0FBQTtJQUVsQjs7T0FFRztJQUNILDJFQUFZLENBQUE7QUFDZCxDQUFDLEVBVlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQVVqQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNreUFmZml4QXV0b0ZpdENvbnRleHQge1xuICAvKipcbiAgICogQXV0by1maXQgZnVuY3Rpb25hbGl0eSB3aWxsIHJlc3BlY3QgdGhlIG5lYXJlc3Qgb3ZlcmZsb3cgcGFyZW50IGVsZW1lbnQncyBkaW1lbnNpb25zLlxuICAgKi9cbiAgT3ZlcmZsb3dQYXJlbnQgPSAwLFxuXG4gIC8qKlxuICAgKiBBdXRvLWZpdCBmdW5jdGlvbmFsaXR5IHdpbGwgcmVzcGVjdCB0aGUgYnJvd3NlciB2aWV3cG9ydCBkaW1lbnNpb25zLlxuICAgKi9cbiAgVmlld3BvcnQgPSAxLFxufVxuIl19","export function getNextPlacement(placement) {\n const placements = ['above', 'right', 'below', 'left'];\n let index = placements.indexOf(placement) + 1;\n if (index >= placements.length) {\n index = 0;\n }\n return placements[index];\n}\nexport function getInversePlacement(placement) {\n const pairings = {\n above: 'below',\n below: 'above',\n right: 'left',\n left: 'right',\n };\n return pairings[placement];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXgtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixTQUE0QjtJQUU1QixNQUFNLFVBQVUsR0FBd0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU1RSxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxJQUFJLEtBQUssSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxTQUE0QjtJQUU1QixNQUFNLFFBQVEsR0FBc0M7UUFDbEQsS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsSUFBSSxFQUFFLE9BQU87S0FDZCxDQUFDO0lBRUYsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUFmZml4UGxhY2VtZW50IH0gZnJvbSAnLi9hZmZpeC1wbGFjZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dFBsYWNlbWVudChcbiAgcGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCxcbik6IFNreUFmZml4UGxhY2VtZW50IHtcbiAgY29uc3QgcGxhY2VtZW50czogU2t5QWZmaXhQbGFjZW1lbnRbXSA9IFsnYWJvdmUnLCAncmlnaHQnLCAnYmVsb3cnLCAnbGVmdCddO1xuXG4gIGxldCBpbmRleCA9IHBsYWNlbWVudHMuaW5kZXhPZihwbGFjZW1lbnQpICsgMTtcbiAgaWYgKGluZGV4ID49IHBsYWNlbWVudHMubGVuZ3RoKSB7XG4gICAgaW5kZXggPSAwO1xuICB9XG5cbiAgcmV0dXJuIHBsYWNlbWVudHNbaW5kZXhdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52ZXJzZVBsYWNlbWVudChcbiAgcGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCxcbik6IFNreUFmZml4UGxhY2VtZW50IHtcbiAgY29uc3QgcGFpcmluZ3M6IFJlY29yZDxzdHJpbmcsIFNreUFmZml4UGxhY2VtZW50PiA9IHtcbiAgICBhYm92ZTogJ2JlbG93JyxcbiAgICBiZWxvdzogJ2Fib3ZlJyxcbiAgICByaWdodDogJ2xlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gIH07XG5cbiAgcmV0dXJuIHBhaXJpbmdzW3BsYWNlbWVudF07XG59XG4iXX0=","function useViewportForBounds(element) {\n return 'BODY' === element.tagName;\n}\n/**\n * Returns the offset values of a given element.\n * @param element The HTML element.\n * @param bufferOffset An optional offset to add/subtract to the element's actual offset.\n */\nexport function getElementOffset(element, bufferOffset) {\n const bufferOffsetBottom = bufferOffset?.bottom || 0;\n const bufferOffsetLeft = bufferOffset?.left || 0;\n const bufferOffsetRight = bufferOffset?.right || 0;\n const bufferOffsetTop = bufferOffset?.top || 0;\n let top;\n let left;\n let right;\n let bottom;\n const clientRect = element.getBoundingClientRect();\n left = clientRect.left;\n top = clientRect.top;\n right = clientRect.right;\n bottom = clientRect.bottom;\n bottom -= bufferOffsetBottom;\n left += bufferOffsetLeft;\n right -= bufferOffsetRight;\n top += bufferOffsetTop;\n return {\n bottom,\n left,\n right,\n top,\n };\n}\n/**\n * Returns an AffixRect that represents the outer dimensions of a given element.\n */\nexport function getOuterRect(element) {\n const rect = element.getBoundingClientRect();\n const computedStyle = window.getComputedStyle(element, undefined);\n const marginTop = parseFloat(computedStyle.marginTop);\n const marginLeft = parseFloat(computedStyle.marginLeft);\n const marginRight = parseFloat(computedStyle.marginRight);\n const marginBottom = parseFloat(computedStyle.marginBottom);\n return {\n top: rect.top - marginTop,\n left: rect.left - marginLeft,\n bottom: rect.top + rect.height + marginBottom,\n right: rect.left + rect.width + marginLeft + marginRight,\n width: rect.width + marginLeft + marginRight,\n height: rect.height + marginTop + marginBottom,\n };\n}\n/**\n * Returns the visible rect for a given element.\n */\nexport function getVisibleRectForElement(viewportRuler, element) {\n const elementRect = getOuterRect(element);\n const viewportRect = viewportRuler.getViewportRect();\n const visibleRect = {\n top: Math.max(elementRect.top, 0),\n left: Math.max(elementRect.left, 0),\n bottom: Math.min(elementRect.bottom, viewportRect.height),\n right: Math.min(elementRect.right, viewportRect.width),\n };\n return {\n ...visibleRect,\n width: visibleRect.right - visibleRect.left,\n height: visibleRect.bottom - visibleRect.top,\n };\n}\nexport function getOverflowParents(child) {\n const bodyElement = window.document.body;\n const results = [];\n let parentElement = child?.parentNode;\n while (parentElement !== undefined && parentElement instanceof HTMLElement) {\n if (parentElement.matches('body')) {\n break;\n }\n const computedStyle = window.getComputedStyle(parentElement, undefined);\n const overflowY = computedStyle.overflowY.toLowerCase();\n const largerThanTheDocumentElement = window.document.documentElement.scrollWidth < parentElement.scrollWidth ||\n window.document.documentElement.scrollHeight < parentElement.scrollHeight;\n const hasOverflowRules = overflowY === 'auto' || overflowY === 'hidden' || overflowY === 'scroll';\n if (largerThanTheDocumentElement || hasOverflowRules) {\n results.push(parentElement);\n }\n if (computedStyle.position === 'fixed') {\n break;\n }\n parentElement = parentElement.parentNode;\n }\n results.push(bodyElement);\n return results;\n}\n/**\n * Confirms offset is fully visible within a parent element.\n */\nexport function isOffsetFullyVisibleWithinParent(viewportRuler, parent, offset, bufferOffset) {\n let parentOffset;\n if (useViewportForBounds(parent)) {\n const viewportRect = viewportRuler.getViewportRect();\n parentOffset = {\n top: 0,\n left: 0,\n right: viewportRect.width,\n bottom: viewportRect.height,\n };\n }\n else if (bufferOffset) {\n parentOffset = getElementOffset(parent, bufferOffset);\n }\n else {\n parentOffset = getVisibleRectForElement(viewportRuler, parent);\n }\n return (parentOffset.top <= offset.top &&\n parentOffset.right >= offset.right &&\n parentOffset.bottom >= offset.bottom &&\n parentOffset.left <= offset.left);\n}\nexport function isOffsetPartiallyVisibleWithinParent(viewportRuler, parent, offset, bufferOffset) {\n let parentOffset;\n if (useViewportForBounds(parent)) {\n const viewportRect = viewportRuler.getViewportRect();\n parentOffset = {\n top: 0,\n left: 0,\n right: viewportRect.width,\n bottom: viewportRect.height,\n };\n }\n else if (bufferOffset) {\n parentOffset = getElementOffset(parent, bufferOffset);\n }\n else {\n parentOffset = getVisibleRectForElement(viewportRuler, parent);\n }\n return !(parentOffset.top >= offset.bottom ||\n parentOffset.right <= offset.left ||\n parentOffset.bottom <= offset.top ||\n parentOffset.left >= offset.right);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiO