{"file":"runtime-428c1460.js","mappings":"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","names":[],"sources":["./src/utils/services/flyout-groups.ts","./src/global/runtime.ts"],"sourcesContent":["export const DEFAULT_GROUP_NAME = 'FLYOUT_DEFAULT_GROUP';\n\n/**\n * @internal\n */\nexport type ElementWithFlyoutClose = { closeFlyoutmenu(): Promise; hostElement: HTMLElement };\n\n/**\n * Allows to assign flyouts to groups and helps with controlling those groups.\n *\n * @internal\n */\nexport class FlyoutGroups {\n public groups: Map = new Map();\n\n /**\n * Register a new flyout component.\n * @param el Component.\n * @param groupName Flyout group name.\n */\n registerFlyout(el: any, groupName?: string): void {\n const existingEls = this.groups.get(groupName || DEFAULT_GROUP_NAME);\n const els = existingEls != null ? [...existingEls, el] : [el];\n const group = groupName || DEFAULT_GROUP_NAME;\n\n this.groups.set(group, els);\n }\n\n /**\n * Unregister a flyout component from the specified group\n * @param el Component.\n * @param groupName Flyout group name.\n */\n unregisterFlyout(el: any, groupName?: string): void {\n const group = groupName || DEFAULT_GROUP_NAME;\n const els = this.groups.get(group);\n const index = els.findIndex(x => x.hostElement === el);\n if (index >= 0) {\n const newEls = els.splice(index, 1);\n this.groups.set(group, newEls);\n }\n }\n\n /**\n * Close all flyout components, except the provided 'el'.\n * @param el Component.\n * @param groupName Flyout group name.\n */\n closeAllOtherGroupFlyouts(el: any, groupName?: string): void {\n this.groups.get(groupName || DEFAULT_GROUP_NAME)?.forEach(component => {\n if (!(component.hostElement === el.hostElement)) {\n component.closeFlyoutmenu().catch(console.warn);\n }\n });\n }\n}\n","import { returnScreenSize } from '../utils/screen';\nimport { FlyoutGroups } from '../utils/services/flyout-groups';\nimport { PatternlibSettings, PatternlibTheme } from '../utils/services/settings';\nimport { setRootAttribute } from '../utils/utils';\n\n/**\n * Method used to setup Patternlib globals.\n * @returns\n */\nexport function setupPatternlibRuntime(): void {\n // TODO: Remove with 3.0\n if (window != null) {\n const screenSize = returnScreenSize();\n setRootAttribute('breakpoint', screenSize);\n window.addEventListener('resize', function () {\n const screenSize = returnScreenSize();\n setRootAttribute('breakpoint', screenSize);\n });\n\n const context = document?.documentElement?.getAttribute('context');\n if (context == null || context === '') {\n setRootAttribute('context', 'portal');\n }\n\n window['PatternlibFlyoutGroups'] = new FlyoutGroups();\n window['Patternlib'] = PatternlibService;\n }\n}\n\n/**\n * PatternlibService class.\n */\nexport class PatternlibService {\n /**\n * Updates the root attributes.\n */\n static updateSettings(newSettings: PatternlibSettings): void {\n const theme = newSettings.theme;\n const context = newSettings.context;\n PatternlibService.updateRootAttribute(context, theme);\n }\n\n static setTheme(theme: PatternlibTheme | string): void {\n setRootAttribute('theme', theme);\n }\n\n /**\n * Pass through method for FlyoutGroups.\n */\n static registerFlyout(el: any, groupName?: string): void {\n window['PatternlibFlyoutGroups'].registerFlyout(el, groupName);\n }\n\n static unregisterFlyout(el: any, groupName?: string): void {\n window['PatternlibFlyoutGroups'].unregisterFlyout(el, groupName);\n }\n\n static closeAllOtherFlyouts(el: any, groupName?: string): void {\n window['PatternlibFlyoutGroups'].closeAllOtherGroupFlyouts(el, groupName);\n }\n\n static updateRootAttribute(context: string, theme: string): void {\n if (context != null) {\n setRootAttribute('context', context);\n }\n if (theme != null) {\n setRootAttribute('theme', theme);\n }\n }\n}\n"],"version":3}