@interopio/groups-ui-react 4.3.0 → 4.5.0-next.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/types/internal.ts","../../../../node_modules/callback-registry/lib/index.js","../../src/webGroupsManager.ts","../../src/defaultComponents/buttons/BaseButton.tsx","../../src/defaultComponents/utils/common.ts","../../src/defaultComponents/buttons/StandardButton.tsx","../../src/defaultComponents/buttons/CloseButton.tsx","../../../../node_modules/color2k/dist/index.exports.import.es.mjs","../../src/defaultComponents/channelSelector/utils.ts","../../src/defaultComponents/channelSelector/BaseChannelSelector.tsx","../../src/defaultComponents/channelSelector/FlatChannelSelector.tsx","../../src/defaultComponents/buttons/ExtractButton.tsx","../../src/defaultComponents/buttons/FeedbackButton.tsx","../../src/defaultComponents/buttons/CloneButton.tsx","../../src/defaultComponents/buttons/StickyButton.tsx","../../src/defaultComponents/buttons/LockButtons.tsx","../../src/defaultComponents/buttons/MaximizeButton.tsx","../../src/defaultComponents/buttons/MinimizeButton.tsx","../../src/defaultComponents/buttons/RestoreButton.tsx","../../src/defaultComponents/buttons/UnlockButton.tsx","../../src/defaultComponents/buttons/CustomButton.tsx","../../src/defaultComponents/buttons/DownloadsButton.tsx","../../src/defaultComponents/flatCaptionBar/FlatButtons.tsx","../../src/utils.ts","../../../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../src/defaultComponents/captionEditor/useEditableCaption.ts","../../src/defaultComponents/utils/useDragMove.ts","../../src/defaultComponents/flatCaptionBar/FlatCaption.tsx","../../src/defaultComponents/captionEditor/useCaptionEditor.ts","../../src/defaultComponents/captionEditor/useCommitEditingRequested.tsx","../../src/defaultComponents/captionEditor/CaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatMoveArea.tsx","../../src/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionBar.tsx","../../src/defaultComponents/groupCaptionBar/GroupMoveArea.tsx","../../src/defaultComponents/groupCaptionBar/GroupButtons.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaption.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionEditor.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionBar.tsx","../../src/defaultComponents/channelSelector/TabChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/TabMultiChannelSelector.tsx","../../src/defaultComponents/tabs/TabCaption.tsx","../../src/defaultComponents/tabs/TabCaptionEditor.tsx","../../src/defaultComponents/tabs/TabCloseButton.tsx","../../src/defaultComponents/tabs/Tab.tsx","../../src/defaultComponents/buttons/OverflowButton.tsx","../../src/defaultComponents/tabs/TabHeaderButtons.tsx","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../../node_modules/use-sync-external-store/shim/index.js","../../src/GroupWrapper.tsx","../../src/Portal.tsx","../../src/webGroupsStore.ts","../../src/defaultComponents/loadingAnimation/FrameLoadingAnimation.tsx","../../src/GroupElementCreationWrapper.tsx","../../src/useIOConnectWindow.ts","../../src/useGroupComponentVisibility.ts","../../src/defaultComponents/tabs/useCommitTabCaptionEditingRequested.ts","../../src/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.ts","../../src/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.ts","../../src/defaultComponents/htmlButtonsBar/buttons.tsx","../../src/defaultComponents/popups/TabOverflowPopup.tsx","../../../components-react/dist/esm/index.js","../../src/defaultComponents/hooks/useExternalWindowPopup.ts","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\r\n\r\ntype NonMethodKeys<T> = ({ [P in keyof T]: T[P] extends Function ? never : P })[keyof T];\r\ntype NonMethods<T> = Pick<T, NonMethodKeys<T>>;\r\n\r\nexport interface PortalProps {\r\n\tparentElement: HTMLElement;\r\n\tchildren?: React.ReactNode;\r\n}\r\n\r\nexport enum StandardButtonTarget {\r\n\tDefault = \"default\",\r\n\tFrame = \"frame\"\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tonClick: () => void;\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget?: StandardButtonTarget;\r\n\tisPressed?: boolean;\r\n\tdownloadsState?: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface ToggleButtonProps extends ButtonProps {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface GroupWrapperProps {\r\n\tonCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;\r\n\tonUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;\r\n\r\n\tonCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;\r\n\tonUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateWindowContentOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateFrameLoadingAnimationRequested?: (options: CreateFrameLoadingAnimationRequestOptions) => void;\r\n\tonCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\tonUpdateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\r\n\tonCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabHeaderButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\r\n\tonCreateTabOverflowPopupRequested?: (options: CreateTabOverflowPopupRequestOptions) => void;\r\n\r\n\tonCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonUpdateFrameRequested?: (options: UpdateFrameRequestOptions) => void;\r\n\tonUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;\r\n\tonUpdateCustomButtonsRequested?: (options: UpdateCustomButtonsRequestOptions) => void;\r\n\r\n\tonCreateHtmlButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\tonRemoveHtmlButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveWindowContentOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameLoadingAnimationRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabOverflowPopupRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonShowCaptionEditorRequested?: (targetType: TargetType, targetId: string, text: string) => void;\r\n\tonCommitCaptionEditingRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;\r\n\r\n\tonShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tstyles?: {\r\n\t\ttabs?: {\r\n\t\t\theader?: StylesOptions;\r\n\t\t\tmoveArea?: StylesOptions;\r\n\t\t},\r\n\t\tframe?: {\r\n\t\t\telement?: StylesOptions;\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {\r\n\tmoveAreaId: string;\r\n\tcaption: string;\r\n\tvisible: boolean;\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n}\r\n\r\nexport interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {\r\n\r\n}\r\n\r\nexport interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {\r\n\r\n}\r\n\r\nexport interface CreateFrameCaptionBarRequestOptions extends CreateButtonsOptions {\r\n\tcaption: string;\r\n\tmoveAreaId: string;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface CreateTabRequestOptions extends CreateElementRequestOptions {\r\n\tcaption: string;\r\n\tselected: boolean;\r\n\tflashing: boolean;\r\n\tpinned: boolean;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {\r\n\tbuttonId: StandardButtons;\r\n\tbuttonTarget: StandardButtonTarget;\r\n\tvisible: boolean;\r\n\ttooltip: string;\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface UpdateCustomButtonsRequestOptions extends CreateElementRequestOptions {\r\n\tcustomButtons: UpdateCustomButtonOptions[];\r\n}\r\n\r\nexport interface UpdateCustomButtonOptions {\r\n\tbuttonId: string;\r\n\ttooltip: string;\r\n\timageData: string;\r\n}\r\n\r\nexport interface CreateStandardButtonsOptions {\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget: StandardButtonTarget;\r\n\tdownloadsState: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface CreateStandardToggleButtonsOptions extends CreateStandardButtonsOptions {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface CreateButtonsOptions extends CreateFrameElementRequestOptions {\r\n\toverflow: CreateStandardButtonsOptions,\r\n\tfeedback: CreateStandardButtonsOptions,\r\n\tclone: CreateStandardButtonsOptions,\r\n\tsticky: CreateStandardToggleButtonsOptions,\r\n\textract: CreateStandardButtonsOptions,\r\n\tlock: CreateStandardButtonsOptions,\r\n\tunlock: CreateStandardButtonsOptions,\r\n downloads: CreateStandardButtonsOptions,\r\n\tminimize: CreateStandardButtonsOptions,\r\n\trestore: CreateStandardButtonsOptions,\r\n\tmaximize: CreateStandardButtonsOptions,\r\n\tclose: CreateStandardButtonsOptions,\r\n\tcustomButtons: UpdateCustomButtonOptions[],\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface RemoveRequestOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface BaseElementOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface CreateElementRequestOptions extends BaseElementOptions {\r\n\tparentElement: HTMLElement;\r\n\ttargetType: TargetType;\r\n\telementId: string;\r\n}\r\n\r\nexport interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {\r\n\tselectedWindow: string;\r\n}\r\n\r\nexport interface OverflowedTabInfo {\r\n\ttitle: string;\r\n\twindowId: string;\r\n}\r\n\r\nexport interface CreateTabOverflowPopupRequestOptions extends CreateElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface CreateFrameLoadingAnimationRequestOptions extends CreateFrameElementRequestOptions {\r\n\tshow: boolean;\r\n}\r\n\r\nexport interface UpdateFrameRequestOptions extends CreateFrameElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport enum TargetType {\r\n\tGroup = \"group\",\r\n\tFrame = \"frame\",\r\n\tTabBar = \"tabBar\",\r\n\tTab = \"tab\",\r\n\tHtmlButtons = \"html\"\r\n}\r\n\r\nexport enum StandardButtons {\r\n\tOverflow = \"overflow\",\r\n\tFeedback = \"feedback\",\r\n\tClone = \"clone\",\r\n\tSticky = \"sticky\",\r\n\tExtract = \"extract\",\r\n\tLock = \"lock\",\r\n\tUnlock = \"unlock\",\r\n Downloads = \"downloads\",\r\n\tMinimize = \"minimize\",\r\n\tMaximize = \"maximize\",\r\n\tRestore = \"restore\",\r\n\tClose = \"close\",\r\n}\r\n\r\nexport interface ElementCreationWrapperState {\r\n\tgroupCaptionBar?: CreateGroupCaptionBarRequestOptions;\r\n\tgroupOverlay?: CreateElementRequestOptions;\r\n\tframeCaptionBars: { [targetId: string]: CreateFrameCaptionBarRequestOptions };\r\n\tframeWindowOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\twindowContentOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tframeLoadingAnimations: { [targetId: string]: CreateFrameLoadingAnimationRequestOptions };\r\n\taboveWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbelowWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\taboveTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbeforeTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabElements: { [targetId: string]: CreateTabRequestOptions };\r\n\tafterTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabHeaderButtons: { [targetId: string]: CreateButtonsOptions };\r\n\ttabOverflowPopups: { [targetId: string]: CreateTabOverflowPopupRequestOptions };\r\n\tbelowTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\thtmlButtons: { [targetId: string]: CreateButtonsOptions };\r\n}\r\n\r\nexport type IndexableElementCreationWrapperState = Omit<Omit<ElementCreationWrapperState, \"groupCaptionBar\">, \"groupOverlay\">;\r\n\r\nexport interface ExternalLibraryFactory {\r\n\treadonly groupId: string;\r\n\tfocusPage(): void;\r\n\tfocusFrame(frameId: string): void;\r\n\tfocusGroup(): void;\r\n\tonStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;\r\n\tonCustomButtonClick(targetType: TargetType, targetId: string, buttonId: string): void;\r\n\tonTabCloseButtonClick(targetId: string): void;\r\n\tonTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonMoveAreaChanged(targetType: TargetType, targetId: string): void;\r\n\tonCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tshowCaptionEditor(targetType: TargetType, targetId: string, text: string): void;\r\n\tstartDragMove(): void;\r\n\tonCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;\r\n\tonCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tcommitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;\r\n\r\n\tupdateTabHeaderStyles(styles: StylesOptions): void;\r\n\tupdateTabMoveAreaStyles(styles: StylesOptions): void;\r\n\tupdateFrameStyles(styles: StylesOptions): void;\r\n\r\n\tselectTab(windowId: string): void;\r\n\topenTabOverflowPopup(frameId: string, location: Location): void\r\n\tresizeTabOverflowPopup(frameId: string, size: Size): void;\r\n\r\n\taddTabContainerClass(windowId: string, className: string): void;\r\n\tremoveTabContainerClass(windowId: string, className: string): void;\r\n}\r\n\r\nexport interface WebGroupsManager {\r\n\tinit: (factory?: any) => void;\r\n\tnotifyMoveAreaChanged(): void;\r\n\tregisterPopup(element: HTMLElement): string;\r\n\tremovePopup(element: HTMLElement): void;\r\n\tremovePopupById(elementId: string): void;\r\n\tsubscribeForWindowFocused(cb: () => any): () => void;\r\n\tunmount(): void;\r\n\texternalLibraryFactory: ExternalLibraryFactory;\r\n}\r\n\r\nexport interface Size {\r\n\twidth: number;\r\n\theight: number;\r\n}\r\n\r\nexport interface Location {\r\n\tleft: number;\r\n\ttop: number;\r\n}\r\n\r\nexport interface StylesOptions {\r\n\tcss?: Partial<NonMethods<CSSStyleDeclaration>>;\r\n\tclasses?: string[]\r\n}\r\n\r\nexport interface Bounds extends Size, Location {\r\n}\r\n\r\nexport type PopupTargetLocation = \"top\" | \"bottom\" | \"left\" | \"right\" | \"none\";\r\n\r\nexport interface ExternalWindowPopup {\r\n browserWindow?: Window;\r\n ioConnectWindow?: any;\r\n}\r\n\r\nexport interface ShowExternalWindowPopupConfig {\r\n targetBounds: Bounds;\r\n size: Size;\r\n targetLocation: PopupTargetLocation;\r\n}\r\n","\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map","import { Bounds, Location, Size, StandardButtons, StylesOptions, TargetType, WebGroupsManager } from \"./types/internal\";\r\nimport callbackRegistry from \"callback-registry\";\r\n\r\ndeclare const window: Window & { webGroupsManager: WebGroupsManager };\r\n\r\nclass WebGroupsManagerDecorator {\r\n private readonly registry = callbackRegistry();\r\n public readonly skipFocusStyle = \"t42-skip-focus\";\r\n\r\n public init(io: any, componentFactory: any) {\r\n if (window.webGroupsManager) {\r\n window.webGroupsManager.init(componentFactory);\r\n } else {\r\n throw new Error(`Could not find the webGroupsManager the groups library should be loaded as a group application`);\r\n }\r\n }\r\n\r\n public getGroupId() {\r\n return window.webGroupsManager.externalLibraryFactory.groupId;\r\n }\r\n\r\n public notifyMoveAreaChanged() {\r\n window.webGroupsManager.notifyMoveAreaChanged();\r\n }\r\n\r\n public registerPopup(element: HTMLElement): string {\r\n return window.webGroupsManager.registerPopup(element);\r\n }\r\n\r\n public removePopup(element: HTMLElement): void {\r\n return window.webGroupsManager.removePopup(element);\r\n }\r\n\r\n public removePopupById(elementId: string): void {\r\n return window.webGroupsManager.removePopupById(elementId);\r\n }\r\n\r\n public subscribeForWindowFocused(cb: () => any): () => void {\r\n return window.webGroupsManager.subscribeForWindowFocused(cb);\r\n }\r\n\r\n public unmount(): void {\r\n return window.webGroupsManager.unmount();\r\n }\r\n\r\n public requestPageFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusPage();\r\n }\r\n\r\n public requestFrameFocus(frameId: string): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusFrame(frameId);\r\n }\r\n\r\n public requestGroupFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusGroup();\r\n }\r\n\r\n public onCloseButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Close);\r\n }\r\n\r\n public onRestoreButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Restore);\r\n }\r\n\r\n public onMaximizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Maximize);\r\n }\r\n\r\n public onDownloadsButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(\r\n targetType,\r\n targetId,\r\n StandardButtons.Downloads\r\n );\r\n }\r\n\r\n public onMinimizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Minimize);\r\n }\r\n\r\n public onLockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Lock);\r\n }\r\n\r\n public onUnlockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Unlock);\r\n }\r\n\r\n public onOverflowButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Overflow);\r\n }\r\n\r\n public onFeedbackButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Feedback);\r\n }\r\n\r\n public onCloneButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Clone);\r\n }\r\n\r\n public onStickyButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Sticky);\r\n }\r\n\r\n public onExtractButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Extract);\r\n }\r\n\r\n public closeTab(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabCloseButtonClick(targetId);\r\n }\r\n\r\n public clickCustomButton(targetId: string, buttonId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onCustomButtonClick(TargetType.Frame, targetId, buttonId);\r\n }\r\n\r\n public onGroupMoveAreaChanged(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onMoveAreaChanged(TargetType.Group, targetId);\r\n }\r\n\r\n public onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onFrameChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public startDragMove() {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.startDragMove !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.startDragMove();\r\n }\r\n\r\n public showCaptionEditor(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.showCaptionEditor !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.showCaptionEditor(targetType, targetId, text);\r\n }\r\n\r\n public onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged(targetType, targetId, visible);\r\n }\r\n\r\n public onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.commitCaptionEditing !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.commitCaptionEditing(targetType, targetId, text);\r\n }\r\n\r\n public onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void {\r\n return this.registry.add(`${targetType}-${targetId}`, callback);\r\n }\r\n\r\n public requestCommitCaptionEditing(targetType: TargetType, targetId: string) {\r\n this.registry.execute(`${targetType}-${targetId}`);\r\n }\r\n\r\n public updateTabHeaderStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabHeaderStyles(styles);\r\n }\r\n\r\n public updateTabMoveAreaStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabMoveAreaStyles(styles);\r\n }\r\n\r\n public updateFrameStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateFrameStyles(styles);\r\n }\r\n public selectTab(windowId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.selectTab(windowId);\r\n }\r\n\r\n public addTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.addTabContainerClass !== \"function\") {\r\n console.warn(\"The method addTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.addTabContainerClass(windowId, className);\r\n }\r\n\r\n public removeTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.removeTabContainerClass !== \"function\") {\r\n console.warn(\"The method removeTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.removeTabContainerClass(windowId, className);\r\n }\r\n\r\n public openTabOverflowPopup(frameId: string, location: Location): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method openTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup(frameId, location);\r\n }\r\n\r\n public resizeTabOverflowPopup(frameId: string, size: Size): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method resizeTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup(frameId, size);\r\n }\r\n}\r\n\r\nexport default new WebGroupsManagerDecorator();","import React from \"react\";\r\nimport { BaseButtonProps } from \"../../types/defaultComponents\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nconst BaseButton: React.FC<BaseButtonProps> = ({ outerElement, innerElement }) => {\r\n return <li {...outerElement} data-testid=\"outer-element\" className={`${webGroupsManager.skipFocusStyle} ${outerElement.className}`}>\r\n <div {...innerElement}>\r\n </div>\r\n </li>\r\n}\r\n\r\nexport default BaseButton;","import { StandardButtons, StandardButtonTarget } from \"../../types/internal\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\n\r\nexport function getStandardButtonInnerClassName(buttonId: StandardButtons, target?: StandardButtonTarget): string {\r\n let classNames = `t42-standard-button t42-standard-button-${buttonId}`;\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-standard-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getStandardButtonOuterClassName(buttonId: StandardButtons, target?: StandardButtonTarget, isPressed?: boolean): string {\r\n let classNames = `t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-${buttonId}`;\r\n if (isPressed === true) {\r\n classNames = classNames.concat(` active`);\r\n }\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-caption-bar-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getDownloadButtonClassName(downloadState?: DownloadsButtonProps['downloadsState']): string {\r\n const defaultClass = 't42-standard-button-downloads';\r\n\r\n if (!downloadState) {\r\n return '';\r\n }\r\n \r\n switch(true) {\r\n case downloadState.state === 'not-started':\r\n return `${defaultClass}-download-not-started`;\r\n case downloadState.state === 'in-progress':\r\n return `${defaultClass}-download-in-progress`;\r\n case downloadState.state === 'paused':\r\n return `${defaultClass}-download-paused`;\r\n default:\r\n return `${defaultClass}-download-ready`;\r\n }\r\n}","import React from \"react\";\r\nimport { StandardButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst StandardButton: React.FC<StandardButtonProps> = ({ buttonId, target, isPressed, tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(buttonId, target) }}\r\n outerElement={{ className: getStandardButtonOuterClassName(buttonId, target, isPressed), title: tooltip, onClick }} />\r\n}\r\n\r\nexport default StandardButton;","import React from \"react\";\r\nimport { CloseButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst CloseButton: React.FC<CloseButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Close}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloseButton;","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.exports.import.es.mjs.map\n","import { parseToRgba, readableColorIsBlack } from \"color2k\";\r\n\r\nexport function IsBlackReadable(color: string) {\r\n try {\r\n const rgba = parseToRgba(color);\r\n const r = rgba[0];\r\n const g = rgba[1];\r\n const b = rgba[2];\r\n const backgroundWeight = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;\r\n return backgroundWeight > 0.5;\r\n } catch {\r\n // Fallback to other implementation\r\n }\r\n\r\n try {\r\n return readableColorIsBlack(color);\r\n } catch (error) {\r\n // tslint:disable-next-line: no-console\r\n console.error(`Error while checking readable color for '${color}'`, error);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getChannelDirection(channelRestrictions: { read: boolean, write: boolean }): string {\r\n if (!channelRestrictions) {\r\n return \"\";\r\n }\r\n if (typeof channelRestrictions.read === \"boolean\" && typeof channelRestrictions.write === \"boolean\") {\r\n if (channelRestrictions.read && channelRestrictions.write) {\r\n return \"\";\r\n }\r\n if (channelRestrictions.read) {\r\n return \"subscribe\";\r\n }\r\n if (channelRestrictions.write) {\r\n return \"publish\"\r\n }\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport { BaseChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport { IsBlackReadable } from \"./utils\";\r\n\r\nconst BaseChannelSelector: React.FC<BaseChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannel, selectedChannelColor, direction, channelLabel }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n current?.addEventListener(\"mousedown\", handler);\r\n return ()=> {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref]);\r\n\r\n let className = contentClass;\r\n\r\n if (selectedChannel && selectedChannelColor) {\r\n className = `${contentClass} ${IsBlackReadable(selectedChannelColor) ? \"t42-channel-selector-content-dark\" : \"t42-channel-selector-content-light\"}`;\r\n }\r\n\r\n const style = {\r\n background: selectedChannelColor\r\n };\r\n\r\n return <div title={selectedChannel ?? \"\"} ref={ref}\r\n style={style}\r\n onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`} >\r\n {channelLabel ?\r\n <div className={`${className} ${direction ? \"icon\" : \"\"}`}>\r\n {channelLabel}\r\n {direction && <i className={`icon-${direction}`}></i>}\r\n </div> : <div className={className}>\r\n </div>}\r\n </div >\r\n};\r\n\r\nexport default BaseChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst FlatChannelSelector: React.FC<FlatChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatChannelSelector;","import React from \"react\";\r\nimport { ExtractButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst ExtractButton: React.FC<ExtractButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Extract}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default ExtractButton;","import React from \"react\";\r\nimport { FeedbackButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst FeedbackButton: React.FC<FeedbackButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Feedback}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default FeedbackButton;","import React from \"react\";\r\nimport { CloneButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n \r\nconst CloneButton: React.FC<CloneButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Clone}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloneButton;","import React from \"react\";\nimport { StickyButtonProps } from \"../../types/defaultComponents\";\nimport { StandardButtons } from \"../../types/internal\";\nimport StandardButton from \"./StandardButton\";\n\nconst StickyButton: React.FC<StickyButtonProps> = (props) => {\n return <StandardButton\n buttonId={StandardButtons.Sticky}\n {...props}\n />\n}\n\nexport default StickyButton;","import React from \"react\";\r\nimport { LockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst LockButton: React.FC<LockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Lock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default LockButton;","import React from \"react\";\r\nimport { MaximizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MaximizeButton: React.FC<MaximizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Maximize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MaximizeButton;","import React from \"react\";\r\nimport { MinimizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MinimizeButton: React.FC<MinimizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Minimize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MinimizeButton;","import React from \"react\";\r\nimport { RestoreButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst RestoreButton: React.FC<RestoreButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Restore}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default RestoreButton;","import React from \"react\";\r\nimport { UnlockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst UnlockButton: React.FC<UnlockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Unlock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default UnlockButton;","import React from \"react\";\nimport BaseButton from \"./BaseButton\";\nimport { CustomButtonProps } from \"../../types/defaultComponents\";\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ onClick, tooltip, imageData }) => {\n return <BaseButton\n innerElement={{ className: \"t42-custom-button\", style: {backgroundImage: `url(\"${imageData}\")`} }}\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button\", title: tooltip, onClick }} />\n}\n\nexport default CustomButton;","import React from \"react\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getDownloadButtonClassName, getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst defaultDonwloadState = { progress: -1, state: \"not-started\" } as NonNullable<DownloadsButtonProps['downloadsState']>;\r\n\r\nconst DownloadsButton: React.FC<DownloadsButtonProps> = (props) => {\r\n const { downloadsState = defaultDonwloadState } = props;\r\n\r\n const innerElementClassNames = [\r\n getStandardButtonInnerClassName(StandardButtons.Downloads, props.target),\r\n getDownloadButtonClassName(downloadsState)\r\n ].filter(Boolean).join(' ');\r\n\r\n const innerElementStyles = downloadsState.progress >= 0 ? ({ '--progress': downloadsState.progress } as React.CSSProperties) : undefined;\r\n\r\n return (\r\n <BaseButton\r\n innerElement={{\r\n className: innerElementClassNames,\r\n style: innerElementStyles\r\n }}\r\n outerElement={{\r\n className: getStandardButtonOuterClassName(StandardButtons.Downloads, props.target, props.isPressed),\r\n title: props.tooltip,\r\n onClick: props.onClick\r\n }}\r\n />\r\n )\r\n};\r\n\r\nexport default DownloadsButton;\r\n","import React from \"react\";\r\nimport { FlatButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport DownloadsButton from \"../buttons/DownloadsButton\";\r\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, downloads, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-frame-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-frame-caption-bar-element\">\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {downloads?.visible && <DownloadsButton {...downloads} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default FlatButtons;","import { Bounds } from \"./types/internal\";\r\n\r\nexport const waitForWindow = (io: any, windowId: string): Promise<any> => {\r\n return new Promise((res, rej) => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n res(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n res(windowInCollection);\r\n unsub();\r\n }\r\n });\r\n}\r\n\r\nexport const getElementBounds = (element: HTMLElement): Bounds => {\r\n const bounds = element.getBoundingClientRect();\r\n\r\n return {\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height\r\n }\r\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import React, { useLayoutEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseEditableCaptionOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useEditableCaption(ref: React.RefObject<HTMLElement>, options: UseEditableCaptionOptions): void {\r\n useLayoutEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useEditableCaption;\r\n\r\n","import { useEffect, useRef } from \"react\";\nimport webGroupsManager from \"../../webGroupsManager\";\n\nexport interface DragMoveOptions {\n threshold?: number; // Minimum movement in pixels to start drag\n}\n\nexport function useDragMove(option?: DragMoveOptions) {\n const { threshold = 3 } = option || {};\n const initialPos = useRef<{ x: number; y: number } | null>(null);\n\n const onMoveRef = useRef<(ev: MouseEvent) => void>();\n const onUpRef = useRef<(ev: MouseEvent) => void>();\n\n const cleanup = () => {\n document.removeEventListener(\"mousemove\", onMoveRef.current!, true);\n document.removeEventListener(\"mouseup\", onUpRef.current!, true);\n initialPos.current = null;\n document.body.style.pointerEvents = \"auto\";\n };\n\n if (!onMoveRef.current) {\n onMoveRef.current = (ev: MouseEvent) => {\n if (!initialPos.current) return;\n\n const dx = ev.pageX - initialPos.current.x;\n const dy = ev.pageY - initialPos.current.y;\n if (Math.abs(dx) >= threshold || Math.abs(dy) >= threshold) {\n document.body.style.pointerEvents = \"none\";\n cleanup();\n webGroupsManager.startDragMove();\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n if (!onUpRef.current) {\n onUpRef.current = (ev: MouseEvent) => {\n cleanup();\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n const startDrag = (ev: React.MouseEvent) => {\n if (ev.button !== 0) return;\n initialPos.current = { x: ev.pageX, y: ev.pageY };\n\n document.addEventListener(\"mousemove\", onMoveRef.current!, true);\n document.addEventListener(\"mouseup\", onUpRef.current!, true);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n useEffect(() => {\n return () => {\n if (onMoveRef.current) document.removeEventListener(\"mousemove\", onMoveRef.current, true);\n if (onUpRef.current) document.removeEventListener(\"mouseup\", onUpRef.current, true);\n document.body.style.pointerEvents = \"auto\";\n initialPos.current = null;\n };\n }, []);\n\n return { startDrag };\n}","import React, { useRef, MouseEvent } from \"react\";\r\nimport { FlatCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst FlatCaption: React.FC<FlatCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"t42-caption t42-title t42-frame-caption-bar-element\"\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n >\r\n {caption}\r\n </div >\r\n );\r\n};\r\n\r\nexport default FlatCaption;","import React, { useEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseCaptionEditorOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useCaptionEditor(ref: React.RefObject<HTMLElement>, options: UseCaptionEditorOptions): void {\r\n useEffect(() => {\r\n if (!ref?.current) {\r\n return;\r\n }\r\n options.notifyEditorVisibilityChanged(true);\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n options.notifyEditorVisibilityChanged(false);\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useCaptionEditor;","import React, { useEffect } from \"react\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nfunction useCommitEditingRequested(targetType: TargetType, targetId: string, text: string): void {\r\n useEffect(() => {\r\n const unsub = webGroupsManager.onCommitCaptionEditingRequested(targetType, targetId, () => {\r\n webGroupsManager.commitCaptionEditing(targetType, targetId, text);\r\n });\r\n return () => {\r\n unsub();\r\n }\r\n }, [targetType, targetId, text]);\r\n}\r\n\r\nexport default useCommitEditingRequested;\r\n\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { CaptionEditorProps, } from \"../../types/defaultComponents\";\r\nimport useCaptionEditor from \"./useCaptionEditor\";\r\nimport useCommitEditingRequested from \"./useCommitEditingRequested\";\r\n\r\nconst CaptionEditor: React.FC<CaptionEditorProps> = ({ className,\r\n commitChanges,\r\n hideEditor,\r\n notifyBoundsChanged,\r\n caption,\r\n notifyEditorVisibilityChanged,\r\n targetType,\r\n targetId }) => {\r\n const [captionInEditor, setCaptionInEditor] = useState(caption);\r\n const [inputWidth, setInputWidth] = useState(0);\r\n const ref = useRef<HTMLInputElement>(null);\r\n const measurementRef = useRef<HTMLSpanElement>(null);\r\n\r\n const onBlur = () => {\r\n commitChanges(captionInEditor);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setCaptionInEditor(e.target.value);\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Escape\") {\r\n hideEditor();\r\n } else if (e.key === \"Enter\") {\r\n commitChanges(captionInEditor);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useCaptionEditor(ref, { notifyBoundsChanged, notifyEditorVisibilityChanged });\r\n useCommitEditingRequested(targetType, targetId, captionInEditor);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const onMouseDown = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n const element = ref.current;\r\n element.addEventListener(\"mousedown\", onMouseDown);\r\n\r\n if (ref.current) {\r\n // Focus element on the next tick to have properly focused page\r\n setTimeout(() => {\r\n element?.focus();\r\n element?.select();\r\n }, 0);\r\n }\r\n\r\n return () => {\r\n element?.removeEventListener(\"mousedown\", onMouseDown);\r\n }\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (!measurementRef.current) {\r\n return;\r\n }\r\n\r\n setInputWidth(measurementRef.current.scrollWidth);\r\n }, [measurementRef, captionInEditor]);\r\n\r\n return <>\r\n <input ref={ref}\r\n style={{\r\n width: `${inputWidth}px`\r\n }}\r\n onKeyDown={onKeyDown}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n value={captionInEditor} className={className} />\r\n <span ref={measurementRef} style={{ visibility: \"hidden\", position: \"absolute\", top: -30000, left: -30000 }}>{captionInEditor}</span>\r\n </>;\r\n}\r\n\r\nexport default CaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst FlatCaptionEditor: React.FC<FlatCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.frameId} targetType={TargetType.Frame} className={\"t42-caption-editor t42-frame-caption-bar-element\"} />\r\n}\r\n\r\nexport default FlatCaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst FlatMoveArea: React.FC<FlatMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-frame-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatMoveArea;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { BaseMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"../BaseChannelSelector\";\r\nimport { getChannelDirection } from \"../utils\";\r\n\r\nconst BaseMultiChannelSelector: React.FC<BaseMultiChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannels, channelLabel, channelRestrictions }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const len = selectedChannels.length;\r\n const showBaseChannelSelector = len < 2;\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (showBaseChannelSelector) {\r\n return;\r\n }\r\n\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n ref.current?.addEventListener(\"mousedown\", handler);\r\n return () => {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref, showBaseChannelSelector]);\r\n\r\n if (showBaseChannelSelector) {\r\n return <BaseChannelSelector\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannels[0]?.name}\r\n selectedChannelColor={selectedChannels[0]?.color}\r\n outsideClass={outsideClass}\r\n contentClass={contentClass}\r\n channelLabel={channelLabel}\r\n direction={getChannelDirection(channelRestrictions)} />;\r\n }\r\n\r\n const colors = selectedChannels.map((channel) => channel.color) ?? [];\r\n const title = colors.join(\", \");\r\n const lenMax4 = Math.min(len, 4);\r\n const cssClass = `t42-multi-channel-selector-content t42-multi-channel-selector-${lenMax4}`;\r\n let style: any = {};\r\n colors.forEach((color: string, index: number) => {\r\n const colorVarName = `--t42-multi-channel-selector-${lenMax4}-color-${index + 1}`;\r\n style[colorVarName] = color;\r\n });\r\n\r\n return (\r\n <div id=\"basem\" title={title} ref={ref} onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`}>\r\n <div className={cssClass} style={style} >\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BaseMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst FlatMultiChannelSelector: React.FC<FlatMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatCaptionBarProps } from \"../../types/api\";\r\nimport FlatChannelSelector from \"../channelSelector/FlatChannelSelector\";\r\nimport FlatButtons from \"./FlatButtons\";\r\nimport FlatCaption from \"./FlatCaption\";\r\nimport FlatCaptionEditor from \"./FlatCaptionEditor\";\r\nimport FlatMoveArea from \"./FlatMoveArea\";\r\nimport FlatMultiChannelSelector from \"../channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nconst FlatCaptionBar: React.FC<FlatCaptionBarProps> = ({ moveAreaId, caption, showCaptionEditor, channels, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return (\r\n <div className=\"t42-react-caption-bar\">\r\n {channels?.visible && channels.channelsMode !== \"multi\" && <FlatChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannel={channels?.selectedChannel}\r\n selectedChannelColor={channels?.selectedChannelColor}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n {channels?.visible && channels.channelsMode === \"multi\" && <FlatMultiChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannels={channels?.selectedChannels}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n <FlatMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor.show ? <FlatCaptionEditor {...captionEditor} caption={captionEditor.text!} frameId={rest.frameId} /> : <FlatCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </FlatMoveArea>\r\n <FlatButtons {...rest} />\r\n </div>);\r\n};\r\n\r\nexport default FlatCaptionBar;\r\n","import React from \"react\";\r\nimport { GroupMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst GroupMoveArea: React.FC<GroupMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-group-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\nexport default GroupMoveArea;","import React from \"react\";\r\nimport { GroupButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\n\r\nconst GroupButtons: React.FC<GroupButtonsProps> = ({ minimize, restore, maximize, close }) => {\r\n return <div className=\"t42-buttons-container t42-group-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-group-caption-bar-element\">\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default GroupButtons;","import React, { MouseEvent, useRef } from \"react\";\r\nimport { GroupCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst GroupCaption: React.FC<GroupCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n className=\"t42-caption t42-title t42-group-caption-bar-element\"\r\n >\r\n {caption}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GroupCaption;\r\n","import React from \"react\";\r\nimport { GroupCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst GroupCaptionEditor: React.FC<GroupCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.groupId} targetType={TargetType.Group} className=\"t42-caption-editor t42-group-caption-bar-element\" />\r\n}\r\n\r\nexport default GroupCaptionEditor;\r\n","import React from \"react\";\r\nimport { GroupCaptionBarProps } from \"../../types/api\";\r\nimport GroupMoveArea from \"./GroupMoveArea\";\r\nimport GroupButtons from \"./GroupButtons\";\r\nimport GroupCaption from \"./GroupCaption\";\r\nimport GroupCaptionEditor from \"./GroupCaptionEditor\";\r\n\r\nconst GroupCaptionBar: React.FC<GroupCaptionBarProps> = ({ moveAreaId, showCaptionEditor, targetType, targetId, caption, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return <div className=\"t42-react-caption-bar\">\r\n <GroupMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor?.show ?\r\n <GroupCaptionEditor {...captionEditor} groupId={targetId} caption={captionEditor.text!} /> :\r\n <GroupCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </GroupMoveArea>\r\n <GroupButtons {...rest} />\r\n </div>\r\n}\r\n\r\nexport default GroupCaptionBar;","import React from \"react\";\r\nimport { TabChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst TabChannelSelector: React.FC<TabChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabChannelSelector;","import React from \"react\";\r\nimport { TabMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst TabMultiChannelSelector: React.FC<TabMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabMultiChannelSelector;\r\n","import React, { useRef } from \"react\";\r\nimport { TabCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst TabCaption: React.FC<TabCaptionProps> = ({ caption, selected, notifyBoundsChanged }) => {\r\n const normalClassName = \"t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption t42-tab-caption t42-selected-tab-caption\";\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className={selected ? selectedClassName : normalClassName}>{caption}</div>\r\n}\r\n\r\nexport default TabCaption;","import React from \"react\";\r\nimport { TabCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst TabCaptionEditor: React.FC<TabCaptionEditorProps> = (props) => {\r\n const normalClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption t42-selected-tab-caption t42-selected-tab-element\";\r\n\r\n return <CaptionEditor {...props}\r\n targetType={TargetType.Tab}\r\n targetId={props.windowId}\r\n className={props.selected ? selectedClassName : normalClassName} />\r\n}\r\n\r\nexport default TabCaptionEditor;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { TabCloseButtonProps } from \"../../types/defaultComponents\";\r\n\r\nconst TabCloseButton: React.FC<TabCloseButtonProps> = ({ selected, close }) => {\r\n const normalClassName = \"t42-tab-close-button t42-tab-bar-element\";\r\n const selectedClassName = \"t42-tab-close-button t42-tab-bar-element t42-selected-tab-close-button t42-selected-tab-element\";\r\n\r\n const normalContentClassName = \"t42-tab-close-button-content\";\r\n const selectedContentClassName = \"t42-tab-close-button-content t42-selected-tab-close-button-content\";\r\n\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n ref.current?.addEventListener(\"mousedown\", (e) => {\r\n e.stopPropagation();\r\n });\r\n }, [ref]);\r\n\r\n return <div ref={ref} onClick={close} className={selected ? selectedClassName : normalClassName} title=\"close\">\r\n <div className={selected ? selectedContentClassName : normalContentClassName}>\r\n </div>\r\n </div>\r\n}\r\n\r\nexport default TabCloseButton;","import React from \"react\";\r\nimport { TabElementProps } from \"../../types/api\";\r\nimport TabChannelSelector from \"../channelSelector/TabChannelSelector\";\r\nimport TabMultiChannelSelector from \"../channelSelector/multi/TabMultiChannelSelector\";\r\nimport TabCaption from \"./TabCaption\";\r\nimport TabCaptionEditor from \"./TabCaptionEditor\";\r\nimport TabCloseButton from \"./TabCloseButton\";\r\n\r\nconst Tab: React.FC<TabElementProps> = ({ caption, selected, close, channels, captionEditor, notifyCaptionBoundsChanged, windowId, pinned }) => {\r\n return <div className=\"t42-react-tab\">\r\n {channels.visible && channels.channelsMode !== \"multi\" && <TabChannelSelector {...channels} />}\r\n {channels.visible && channels.channelsMode === \"multi\" && <TabMultiChannelSelector {...channels} />}\r\n {captionEditor.show ?\r\n <TabCaptionEditor {...captionEditor} caption={captionEditor.text!} selected={selected} windowId={windowId} /> :\r\n <TabCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} selected={selected} />}\r\n {pinned ? <></> : <TabCloseButton selected={selected} close={close} />}\r\n </div>\r\n};\r\n\r\nexport default Tab;\r\n","import React from \"react\";\r\nimport { OverflowButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\n\r\nconst OverflowButton: React.FC<OverflowButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(StandardButtons.Overflow) }}\r\n outerElement={{\r\n onMouseDown: (e) => e.stopPropagation(),\r\n onPointerDown: (e) => e.stopPropagation(),\r\n className: getStandardButtonOuterClassName(StandardButtons.Overflow), title: tooltip, onClick\r\n }} />\r\n}\r\n\r\nexport default OverflowButton;","import React from \"react\";\r\nimport { TabHeaderButtonsProps } from \"../../types/api\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport OverflowButton from \"../buttons/OverflowButton\";\r\n\r\nconst TabHeaderButtons: React.FC<TabHeaderButtonsProps> = ({ overflow, extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-tab-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {overflow?.visible && <OverflowButton {...overflow} />}\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n};\r\n\r\n\r\nexport default TabHeaderButtons;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React from \"react\";\r\nimport { GroupWrapperProps } from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass GroupWrapper extends React.Component<GroupWrapperProps> {\r\n containerRef: HTMLElement | null;\r\n\r\n componentDidMount() {\r\n const componentFactory = {\r\n createGroupCaptionBar: this.props.onCreateGroupCaptionBarRequested,\r\n updateGroupCaptionBar: this.props.onUpdateGroupCaptionBarRequested,\r\n createGroupOverlay: this.props.onCreateGroupOverlayRequested,\r\n\r\n createFrameCaptionBar: this.props.onCreateFrameCaptionBarRequested,\r\n updateFrameCaptionBar: this.props.onUpdateFrameCaptionBarRequested,\r\n createFrameWindowOverlay: this.props.onCreateFrameWindowOverlayRequested,\r\n updateFrameWindowOverlay: this.props.onUpdateFrameWindowOverlayRequested,\r\n createAboveWindow: this.props.onCreateAboveWindowRequested,\r\n destroyAboveWindow: this.props.onRemoveAboveWindowRequested,\r\n createWindowContentOverlay: this.props.onCreateWindowContentOverlayRequested,\r\n destroyWindowContentOverlay: this.props.onRemoveWindowContentOverlayRequested,\r\n createFrameLoadingAnimation: this.props.onCreateFrameLoadingAnimationRequested,\r\n destroyFrameLoadingAnimation: this.props.onRemoveFrameLoadingAnimationRequested,\r\n createBelowWindow: this.props.onCreateBelowWindowRequested,\r\n destroyBelowWindow: this.props.onRemoveBelowWindowRequested,\r\n\r\n createAboveTabs: this.props.onCreateAboveTabsRequested,\r\n updateAboveTabs: this.props.onUpdateAboveTabsRequested,\r\n createBeforeTabs: this.props.onCreateBeforeTabsComponentRequested,\r\n updateBeforeTabs: this.props.onUpdateBeforeTabsComponentRequested,\r\n\r\n createTab: this.props.onCreateTabRequested,\r\n updateTab: this.props.onUpdateTabRequested,\r\n\r\n createAfterTabs: this.props.onCreateAfterTabsComponentRequested,\r\n updateAfterTabs: this.props.onUpdateAfterTabsComponentRequested,\r\n createTabBarButtonsContainerElement: this.props.onCreateTabHeaderButtonsRequested,\r\n createBelowTabs: this.props.onCreateBelowTabsRequested,\r\n updateBelowTabs: this.props.onUpdateBelowTabsRequested,\r\n \r\n createHtmlButtonsContainerElement: this.props.onCreateHtmlButtonsRequested,\r\n destroyHtmlButtonsContainerElement: this.props.onRemoveHtmlButtonsRequested,\r\n\r\n createTabOverflowPopup:this.props.onCreateTabOverflowPopupRequested,\r\n destroyTabOverflowPopup: this.props.onRemoveTabOverflowPopupRequested,\r\n \r\n updateFrame: this.props.onUpdateFrameRequested,\r\n updateStandardButton: this.props.onUpdateStandardButtonRequested,\r\n updateCustomButtons: this.props.onUpdateCustomButtonsRequested,\r\n\r\n destroyFrameCaptionBar: this.props.onRemoveFrameCaptionBarRequested, // needed to prevent a memory leak\r\n destroyFrameWindowOverlay: this.props.onRemoveFrameWindowOverlayRequested,\r\n\r\n destroyAboveTabs: this.props.onRemoveAboveTabsRequested,\r\n destroyBeforeTabs: this.props.onRemoveBeforeTabsComponentRequested,\r\n destroyTab: this.props.onRemoveTabRequested,\r\n destroyAfterTabs: this.props.onRemoveAfterTabsComponentRequested,\r\n destroyTabBarButtonsContainerElement: this.props.onRemoveTabHeaderButtonsRequested,\r\n destroyBelowTabs: this.props.onRemoveBelowTabsRequested,\r\n\r\n showCaptionEditor: this.props.onShowCaptionEditorRequested,\r\n commitCaptionEditing: this.props.onCommitCaptionEditingRequested,\r\n hideCaptionEditor: this.props.onHideCaptionEditorRequested,\r\n\r\n showLoadingAnimation: this.props.onShowLoadingAnimationRequested,\r\n hideLoadingAnimation: this.props.onHideLoadingAnimationRequested,\r\n };\r\n\r\n webGroupsManager.init(undefined, componentFactory);\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<GroupWrapperProps>, prevState: Readonly<{}>, snapshot?: any): void {\r\n if (this.props.styles?.tabs?.header !== prevProps.styles?.tabs?.header) {\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n }\r\n\r\n if (this.props.styles?.tabs?.moveArea !== prevProps.styles?.tabs?.moveArea) {\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n }\r\n\r\n if (this.props.styles?.frame?.element !== prevProps.styles?.frame?.element) {\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // TODO\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"t42-group-container\" ref={(r) => this.containerRef = r}>\r\n <div id=\"t42-frames-container\">\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default GroupWrapper;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { PortalProps } from \"./types/internal\";\r\n\r\nclass Portal extends React.Component<PortalProps> {\r\n render() {\r\n return ReactDOM.createPortal(this.props.children, this.props.parentElement);\r\n }\r\n}\r\n\r\nexport default Portal;","import {\r\n CreateElementRequestOptions,\r\n CreateFrameCaptionBarRequestOptions,\r\n CreateFrameElementRequestOptions,\r\n CreateGroupCaptionBarRequestOptions,\r\n CreateButtonsOptions,\r\n CreateTabRequestOptions,\r\n ElementCreationWrapperState,\r\n RemoveRequestOptions,\r\n TargetType,\r\n UpdateFrameCaptionBarRequestOptions,\r\n UpdateGroupCaptionBarRequestOptions,\r\n UpdateStandardButtonRequestOptions,\r\n UpdateFrameRequestOptions,\r\n CreateFrameLoadingAnimationRequestOptions,\r\n UpdateCustomButtonsRequestOptions,\r\n CreateTabOverflowPopupRequestOptions,\r\n OverflowedTabInfo,\r\n IndexableElementCreationWrapperState,\r\n BaseElementOptions\r\n} from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass WebGroupsStore {\r\n\r\n private listeners = new Set<() => void>();\r\n private state: ElementCreationWrapperState = {\r\n groupCaptionBar: undefined,\r\n groupOverlay: undefined,\r\n frameCaptionBars: {}, // dict frameId to create caption bar options\r\n frameWindowOverlays: {}, // dict frameId to create options\r\n aboveWindowZones: {}, // dict frameId to create options\r\n windowContentOverlays: {},//dict frameId to create options\r\n belowWindowZones: {}, // dict frameId to create options\r\n aboveTabsZones: {}, // dict frameId to create options\r\n beforeTabsZones: {}, // dict frameId to create before tabs zones options\r\n tabElements: {}, // dict windowId to create tab elements options\r\n afterTabsZones: {}, // dict frameId to after tabs zones options\r\n tabHeaderButtons: {}, // dict frameId to crate tab header buttons options\r\n tabOverflowPopups: {}, // dict frameId to create tab overflow popup options,\r\n belowTabsZones: {}, // dict frameId to create options\r\n frameLoadingAnimations: {}, // dict frameId to create options\r\n htmlButtons: {}, // dict frameId to crate html buttons options\r\n }\r\n\r\n public subscribe = (cb: () => void) => {\r\n this.listeners.add(cb);\r\n return () => {\r\n this.listeners.delete(cb);\r\n };\r\n }\r\n\r\n public getSnapshot = () => {\r\n return this.state;\r\n }\r\n\r\n public onCreateGroupCaptionBarRequested = (options: CreateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateGroupOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.groupOverlay) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupOverlay: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameCaptionBarRequested = (options: CreateFrameCaptionBarRequestOptions) => {\r\n this.onCreateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n this.onCreateElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onCreateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n this.onCreateElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onUpdateGroupCaptionBarRequested = (options: UpdateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: Object.assign({}, s.groupCaptionBar, options)\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameCaptionBarRequested = (options: UpdateFrameCaptionBarRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onUpdateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onUpdateFrame = (options: UpdateFrameRequestOptions) => {\r\n this.setState(s => {\r\n const newState = { ...s };\r\n\r\n const updateSelectionWindow = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"tabElements\") {\r\n return;\r\n }\r\n const newStateRecord = newState[stateProp]![targetId] as any;\r\n\r\n if (newStateRecord && newStateRecord?.selectedWindow !== selectedWindow) {\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: { ...newState[stateProp]![targetId], selectedWindow }\r\n }\r\n }\r\n };\r\n\r\n const updateHiddenTabs = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldState = newState[stateProp]![targetId] as any;\r\n const oldHiddenToTheLeft = oldState?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = oldState?.hiddenTabsToTheRight;\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: {\r\n ...newState[stateProp]![targetId],\r\n hiddenTabsToTheLeft: hiddenTabsToTheLeft || oldHiddenToTheLeft,\r\n hiddenTabsToTheRight: hiddenTabsToTheRight || oldHiddenToTheRight\r\n }\r\n }\r\n };\r\n\r\n updateSelectionWindow(\"frameCaptionBars\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameWindowOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"windowContentOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"beforeTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"afterTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"tabHeaderButtons\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameLoadingAnimations\", options.targetId, options.selectedWindow);\r\n\r\n updateHiddenTabs(\"afterTabsZones\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n updateHiddenTabs(\"tabHeaderButtons\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n\r\n return newState;\r\n });\r\n }\r\n\r\n public onUpdateStandardButton = (options: UpdateStandardButtonRequestOptions) => {\r\n const targetState = { targetId: options.targetId };\r\n switch (options.targetType) {\r\n case TargetType.Group:\r\n const currentGroupState = this.state.groupCaptionBar || targetState as CreateGroupCaptionBarRequestOptions;\r\n const newGroupOptions = {\r\n ...currentGroupState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateGroupCaptionBarRequested(newGroupOptions);\r\n break;\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || targetState as CreateFrameCaptionBarRequestOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabButtonsState = this.state.tabHeaderButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newTabButtonsOptions = {\r\n ...currentTabButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabButtonsOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onUpdateCustomButtons = (options: UpdateCustomButtonsRequestOptions) => {\r\n switch (options.targetType) {\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || { targetId: options.targetId } as CreateButtonsOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n ...options\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabBarState = this.state.tabHeaderButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newTabBarOptions = {\r\n ...currentTabBarState,\r\n ...options\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabBarOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n ...options\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onRemoveFrameCaptionBarRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onShowCaptionEditorRequested = (targetType: TargetType, targetId: string, text: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onShowGroupCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onShowFlatCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onShowTabCaptionEditorRequested(targetId, text);\r\n }\r\n }\r\n\r\n public onCommitCaptionEditingRequested = (targetType: TargetType, targetId: string) => {\r\n webGroupsManager.requestCommitCaptionEditing(targetType, targetId);\r\n }\r\n\r\n public onHideCaptionEditorRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onHideGroupCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onHideFlatCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onHideTabCaptionEditorRequested(targetId)\r\n }\r\n }\r\n\r\n public onShowLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onShowLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n public onHideLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onHideLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n private onShowGroupCaptionEditorRequested = (_: string, text: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideGroupCaptionEditorRequested = (_: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowFlatCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideFlatCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowTabCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideTabCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: true,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: false,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onCreateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onUpdateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: { ...s[key][options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onRemoveElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: RemoveRequestOptions) => {\r\n const stateValue = this.state[key];\r\n if (!stateValue || !stateValue[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newRecordObj = Object.keys(s[key]!).reduce<IndexableElementCreationWrapperState[T]>((acc, targetId: keyof IndexableElementCreationWrapperState[T]) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = (s[key] as IndexableElementCreationWrapperState[T])[targetId];\r\n }\r\n return acc;\r\n }, {} as ElementCreationWrapperState[T]);\r\n\r\n return {\r\n ...s,\r\n [key]: newRecordObj\r\n }\r\n });\r\n }\r\n\r\n private setState = (cb: (s: ElementCreationWrapperState) => ElementCreationWrapperState) => {\r\n this.state = cb(this.state);\r\n\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\nexport default new WebGroupsStore();","import React from \"react\";\nimport { FrameLoadingAnimationProps } from \"../../types/api\";\n\nconst FrameLoadingAnimation: React.FC<FrameLoadingAnimationProps> = ({show}) => {\n return (\n show ?\n (\n <div className=\"loader-wrapper active\">\n <div className=\"loader\"></div>\n <div className=\"loader-text\">Loading...</div>\n </div>\n ) : <></>\n );\n}\n\nexport default FrameLoadingAnimation;","import React from \"react\";\r\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport GroupWrapper from \"./GroupWrapper\";\r\nimport Portal from \"./Portal\";\r\nimport { ChannelProps, GroupProps } from \"./types/api\";\r\nimport { Bounds, ElementCreationWrapperState, TargetType } from \"./types/internal\";\r\nimport { CustomButtonProps } from \"./types/defaultComponents\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\n\r\nconst GroupElementCreationWrapper: React.FC<GroupProps> = ({ components, styles }) => {\r\n\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n const LoadingAnimation = components?.frame?.LoadingAnimation ?? FrameLoadingAnimation;\r\n\r\n const renderGroupCaptionBar = () => {\r\n const GroupCaptionBarCustomElement = components?.group?.CaptionBar;\r\n if (!GroupCaptionBarCustomElement || (!state.groupCaptionBar || !state.groupCaptionBar.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupCaptionBar;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Group, options.targetId, text);\r\n }\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Group, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Group, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Group, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n\r\n return (\r\n <Portal parentElement={parentElement}>\r\n <GroupCaptionBarCustomElement {...options}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n );\r\n }\r\n\r\n const renderGroupOverlay = () => {\r\n const GroupOverlayCustomElement = components?.group?.Overlay;\r\n if (!GroupOverlayCustomElement || (!state.groupOverlay || !state.groupOverlay.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupOverlay;\r\n\r\n return <Portal parentElement={parentElement}><GroupOverlayCustomElement {...options} /></Portal>;\r\n }\r\n\r\n const renderFrameCaptionBar = () => {\r\n const FrameCaptionBarCustomElement = components?.flat?.CaptionBar;\r\n \r\n return Object.values(state.frameCaptionBars).map((fcb) => {\r\n if (!FrameCaptionBarCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Frame, options.targetId, text);\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.lock\r\n };\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.unlock\r\n };\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.downloads\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onFrameChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor,\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Frame, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Frame, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Frame, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameCaptionBarCustomElement {...options}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n channels={channels}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameWindowOverlay = () => {\r\n const FrameWindowOverlayCustomElement = components?.frame?.Overlay;\r\n return Object.values(state.frameWindowOverlays).map((fcb) => {\r\n if (!FrameWindowOverlayCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameWindowOverlayCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveWindow = () => {\r\n const AboveWindowCustomElement = components?.frame?.AboveWindow;\r\n return Object.values(state.aboveWindowZones).map((awz) => {\r\n if (!AboveWindowCustomElement || !awz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = awz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <AboveWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderWindowContentOverlays = () => {\r\n const WindowContentCustomElement = components?.frame?.WindowContentOverlay;\r\n return Object.values(state.windowContentOverlays).map((wco) => {\r\n if (!WindowContentCustomElement || !wco.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wco;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <WindowContentCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameLoadingAnimations = () => {\r\n const LoadingAnimationCustomElement = LoadingAnimation;\r\n return Object.values(state.frameLoadingAnimations).map((wla) => {\r\n if (!LoadingAnimationCustomElement || !wla.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wla;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <LoadingAnimationCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderBelowWindow = () => {\r\n const BelowWindowCustomElement = components?.frame?.BelowWindow;\r\n return Object.values(state.belowWindowZones).map((bwz) => {\r\n if (!BelowWindowCustomElement || !bwz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = bwz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <BelowWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveTabs = () => {\r\n const AboveTabsCustomElement = components?.tabs?.Above;\r\n\r\n return Object.values(state.aboveTabsZones).map((te) => {\r\n if (!AboveTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AboveTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderBeforeTabsZones = () => {\r\n const BeforeTabsCustomElement = components?.tabs?.Before;\r\n\r\n return Object.values(state.beforeTabsZones).map((te) => {\r\n if (!BeforeTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BeforeTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabElements = () => {\r\n const TabCustomElement = components?.tabs?.Element;\r\n\r\n return Object.values(state.tabElements).map((te) => {\r\n if (!TabCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n\r\n const onCloseClick = () => {\r\n webGroupsManager.closeTab(options.targetId);\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onTabChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels: ChannelProps = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor ?? options.selectedChannel, // TODO remove the null check when the variable has been added\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n };\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Tab, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Tab, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Tab, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n\r\n const addContainerClass = (className: string) => {\r\n webGroupsManager.addTabContainerClass(options.targetId, className);\r\n }\r\n\r\n const removeContainerClass = (className: string) => {\r\n webGroupsManager.removeTabContainerClass(options.targetId, className);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabCustomElement {...options}\r\n close={onCloseClick}\r\n channels={channels}\r\n windowId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged}\r\n addContainerClass={addContainerClass}\r\n removeContainerClass={removeContainerClass}\r\n />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAfterTabsZones = () => {\r\n const AfterTabsCustomElement = components?.tabs?.After;\r\n\r\n return Object.values(state.afterTabsZones).map((te) => {\r\n if (!AfterTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AfterTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabHeaderButtons = () => {\r\n const TabButtonsCustomElement = components?.tabs?.Buttons;\r\n\r\n return Object.values(state.tabHeaderButtons).map((te) => {\r\n if (!TabButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.downloads,\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderTabOverflowPopups = () => {\r\n const TabOverflowCustomElement = components?.tabs?.OverflowPopup;\r\n\r\n return Object.values(state.tabOverflowPopups).map((top) => {\r\n if (!TabOverflowCustomElement || !top.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = top;\r\n\r\n const select = (windowId: string) => {\r\n webGroupsManager.selectTab(windowId);\r\n };\r\n\r\n const resize = (bounds: Bounds) => {\r\n webGroupsManager.resizeTabOverflowPopup(options.targetId, bounds);\r\n }\r\n\r\n const close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n };\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabOverflowCustomElement {...options}\r\n resize={resize}\r\n select={select}\r\n close={close}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderBelowTabs = () => {\r\n const BelowTabsCustomElement = components?.tabs?.Below;\r\n\r\n return Object.values(state.belowTabsZones).map((te) => {\r\n if (!BelowTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BelowTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderHtmlButtons = () => {\r\n const HtmlButtonsCustomElement = components?.html?.Buttons;\r\n\r\n return Object.values(state.htmlButtons).map((te) => {\r\n if (!HtmlButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.downloads\r\n };\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><HtmlButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n return <>\r\n {renderGroupCaptionBar()}\r\n {renderGroupOverlay()}\r\n {renderFrameCaptionBar()}\r\n {renderFrameWindowOverlay()}\r\n {renderAboveWindow()}\r\n {renderWindowContentOverlays()}\r\n {renderFrameLoadingAnimations()}\r\n {renderBelowWindow()}\r\n {renderAboveTabs()}\r\n {renderBeforeTabsZones()}\r\n {renderTabElements()}\r\n {renderAfterTabsZones()}\r\n {renderTabHeaderButtons()}\r\n {renderTabOverflowPopups()}\r\n {renderBelowTabs()}\r\n {renderHtmlButtons()}\r\n <GroupWrapper\r\n onCreateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onCreateGroupCaptionBarRequested : undefined}\r\n onCreateGroupOverlayRequested={components?.group?.Overlay ? webGroupsStore.onCreateGroupOverlayRequested : undefined}\r\n onCreateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onCreateFrameCaptionBarRequested : undefined}\r\n onCreateFrameWindowOverlayRequested={components?.frame?.Overlay ? webGroupsStore.onCreateFrameWindowOverlayRequested : undefined}\r\n onCreateAboveWindowRequested={components?.frame?.AboveWindow ? webGroupsStore.onCreateAboveWindowRequested : undefined}\r\n onCreateWindowContentOverlayRequested={components?.frame?.WindowContentOverlay ? webGroupsStore.onCreateWindowContentOverlayRequested : undefined}\r\n onCreateFrameLoadingAnimationRequested={LoadingAnimation ? webGroupsStore.onCreateFrameLoadingAnimationRequested : undefined}\r\n onCreateBelowWindowRequested={components?.frame?.BelowWindow ? webGroupsStore.onCreateBelowWindowRequested : undefined}\r\n onCreateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onCreateAboveTabsComponentRequested : undefined}\r\n onCreateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onCreateBeforeTabsComponentRequested : undefined}\r\n onCreateTabRequested={components?.tabs?.Element ? webGroupsStore.onCreateTabElementRequested : undefined}\r\n onCreateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onCreateAfterTabsComponentRequested : undefined}\r\n onCreateTabHeaderButtonsRequested={components?.tabs?.Buttons ? webGroupsStore.onCreateTabHeaderButtonsRequested : undefined}\r\n onCreateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onCreateBelowTabsComponentRequested : undefined}\r\n onCreateHtmlButtonsRequested={components?.html?.Buttons ? webGroupsStore.onCreateHtmlButtonsRequested : undefined}\r\n onCreateTabOverflowPopupRequested={components?.tabs?.OverflowPopup ? webGroupsStore.onCreateTabOverflowPopupRequested : undefined}\r\n onUpdateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onUpdateGroupCaptionBarRequested : undefined}\r\n onUpdateFrameWindowOverlayRequested={components?.group?.Overlay ? webGroupsStore.onUpdateFrameWindowOverlayRequested : undefined}\r\n onUpdateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onUpdateFrameCaptionBarRequested : undefined}\r\n onUpdateFrameRequested={webGroupsStore.onUpdateFrame}\r\n onUpdateStandardButtonRequested={webGroupsStore.onUpdateStandardButton}\r\n onUpdateCustomButtonsRequested={webGroupsStore.onUpdateCustomButtons}\r\n onUpdateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onUpdateAboveTabsRequested : undefined}\r\n onUpdateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onUpdateBeforeTabsRequested : undefined}\r\n onUpdateTabRequested={components?.tabs?.Element ? webGroupsStore.onUpdateTabElementRequested : undefined}\r\n onUpdateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onUpdateAfterTabsRequested : undefined}\r\n onUpdateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onUpdateBelowTabsRequested : undefined}\r\n onRemoveFrameCaptionBarRequested={webGroupsStore.onRemoveFrameCaptionBarRequested}\r\n onRemoveFrameWindowOverlayRequested={webGroupsStore.onRemoveFrameWindowOverlayRequested}\r\n onRemoveAboveWindowRequested={webGroupsStore.onRemoveAboveWindowRequested}\r\n onRemoveWindowContentOverlayRequested={webGroupsStore.onRemoveWindowContentOverlayRequested}\r\n onRemoveFrameLoadingAnimationRequested={webGroupsStore.onRemoveFrameLoadingAnimationRequested}\r\n onRemoveBelowWindowRequested={webGroupsStore.onRemoveBelowWindowRequested}\r\n onRemoveAboveTabsRequested={webGroupsStore.onRemoveAboveTabsRequested}\r\n onRemoveBeforeTabsComponentRequested={webGroupsStore.onRemoveBeforeTabsComponentRequested}\r\n onRemoveTabRequested={webGroupsStore.onRemoveTabElementRequested}\r\n onRemoveAfterTabsComponentRequested={webGroupsStore.onRemoveAfterTabsComponentRequested}\r\n onRemoveTabHeaderButtonsRequested={webGroupsStore.onRemoveTabHeaderButtonsRequested}\r\n onRemoveBelowTabsRequested={webGroupsStore.onRemoveBelowTabsRequested}\r\n onRemoveHtmlButtonsRequested={webGroupsStore.onRemoveHtmlButtonsRequested}\r\n onRemoveTabOverflowPopupRequested={webGroupsStore.onRemoveTabOverflowPopupRequested}\r\n onShowCaptionEditorRequested={webGroupsStore.onShowCaptionEditorRequested}\r\n onCommitCaptionEditingRequested={webGroupsStore.onCommitCaptionEditingRequested}\r\n onHideCaptionEditorRequested={webGroupsStore.onHideCaptionEditorRequested}\r\n onShowLoadingAnimationRequested={webGroupsStore.onShowLoadingAnimationRequested}\r\n onHideLoadingAnimationRequested={webGroupsStore.onHideLoadingAnimationRequested}\r\n styles={styles}\r\n />\r\n </>\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { IOConnectContext } from \"@interopio/react-hooks\";\r\n\r\nfunction useIOConnectWindow (windowId: string) {\r\n const [IOConnectWindow, setIOConnectWindow] = useState<any>(undefined);\r\n\r\n const io = (window as any).io || useContext(IOConnectContext);\r\n useEffect(() => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n setIOConnectWindow(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n setIOConnectWindow(windowInCollection);\r\n unsub();\r\n }\r\n\r\n return unsub;\r\n }, [windowId]);\r\n\r\n return IOConnectWindow;\r\n}\r\n\r\nexport default useIOConnectWindow;\r\n\r\n","import { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport { GroupComponentVisibilityState } from \"./types/api\";\r\nimport { ElementCreationWrapperState } from \"./types/internal\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\n\r\nfunction useGroupComponentVisibility(): GroupComponentVisibilityState {\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n return {\r\n groupCaptionBarVisible: state.groupCaptionBar?.visible\r\n };\r\n}\r\n\r\nexport default useGroupComponentVisibility;\r\n\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitTabCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Tab, targetId, text);\r\n}\r\n\r\nexport default useCommitTabCaptionEditingRequested;","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitGroupCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Group, targetId, text);\r\n}\r\n\r\nexport default useCommitGroupCaptionEditingRequested;\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitFlatCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Frame, targetId, text);\r\n}\r\n\r\nexport default useCommitFlatCaptionEditingRequested;","import React from \"react\";\nimport { HtmlButtonsProps } from \"../../types/api\";\nimport CloseButton from \"../buttons/CloseButton\";\nimport ExtractButton from \"../buttons/ExtractButton\";\nimport FeedbackButton from \"../buttons/FeedbackButton\";\nimport CloneButton from \"../buttons/CloneButton\";\nimport LockButton from \"../buttons/LockButtons\";\nimport MaximizeButton from \"../buttons/MaximizeButton\";\nimport MinimizeButton from \"../buttons/MinimizeButton\";\nimport RestoreButton from \"../buttons/RestoreButton\";\nimport StickyButton from \"../buttons/StickyButton\";\nimport UnlockButton from \"../buttons/UnlockButton\";\nimport CustomButton from \"../buttons/CustomButton\";\nimport DownloadsButton from \"../buttons/DownloadsButton\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({\n extract,\n downloads,\n minimize,\n maximize,\n restore,\n close,\n lock,\n unlock,\n feedback,\n clone,\n sticky,\n customButtons,\n}) => {\n return (\n <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {customButtons.map((customButton) => {\n return (\n customButton.visible && (\n <CustomButton\n key={customButton.buttonId}\n {...customButton}\n />\n )\n );\n })}\n </ul>\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {feedback?.visible && <FeedbackButton {...feedback} />}\n {clone?.visible && <CloneButton {...clone} />}\n {sticky?.visible && <StickyButton {...sticky} />}\n {extract?.visible && <ExtractButton {...extract} />}\n {lock?.visible && <LockButton {...lock} />}\n {unlock?.visible && <UnlockButton {...unlock} />}\n {downloads?.visible && <DownloadsButton {...downloads} />}\n {minimize?.visible && <MinimizeButton {...minimize} />}\n {restore?.visible && <RestoreButton {...restore} />}\n {maximize?.visible && <MaximizeButton {...maximize} />}\n {close?.visible && <CloseButton {...close} />}\n </ul>\n </div>\n );\n};\n\nexport default HtmlButtons;\n\n","import React, { useEffect } from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\nimport { getElementBounds } from '../../utils';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n resize,\r\n select\r\n}) => {\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n if (!ref.current) return;\r\n if (typeof resize !== \"function\") return;\r\n const bounds = getElementBounds(ref.current);\r\n resize(bounds);\r\n }, [ref]);\r\n\r\n const createSection = (tabs: OverflowedTabInfo[], title: string) => {\r\n return (\r\n <ul>\r\n <li className=\"title\">{title}</li>\r\n {tabs.map((tab) => (\r\n <li key={tab.windowId} onClick={() => handleTabClick(tab.windowId)}>\r\n <span>{tab.title}</span>\r\n <div className=\"t42-tab-close-button-content\" onClick={(e) => {\r\n e.stopPropagation();\r\n handleTabClose(tab.windowId)\r\n }}></div>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n };\r\n\r\n const handleTabClick = (windowId: string) => {\r\n select(windowId);\r\n };\r\n\r\n const handleTabClose = (windowId: string) => {\r\n close(windowId);\r\n };\r\n\r\n return (\r\n <div ref={ref} className=\"t42-wg-tab-overflow-popup\">\r\n {hiddenTabsToTheLeft.length > 0 && createSection(hiddenTabsToTheLeft, \"Open left\")}\r\n {hiddenTabsToTheLeft.length > 0 && hiddenTabsToTheRight.length > 0 && <hr />}\r\n {hiddenTabsToTheRight.length > 0 && createSection(hiddenTabsToTheRight, \"Open right\")}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabOverflowPopup;","import{jsx as e,jsxs as t,Fragment as n}from\"react/jsx-runtime\";import*as o from\"react\";import i,{forwardRef as r,useCallback as a,createContext as s,useContext as l,useState as c,useMemo as u,useRef as d,useEffect as f,useImperativeHandle as h,useLayoutEffect as p,useId as m,memo as g}from\"react\";import*as v from\"react-dom\";import{createPortal as y}from\"react-dom\";import{IOConnectContext as w}from\"@interopio/react-hooks\";function b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var k,C={exports:{}};\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/k=C,function(){var e={}.hasOwnProperty;function t(){for(var e=\"\",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=o(e,n(i)))}return e}function n(n){if(\"string\"==typeof n||\"number\"==typeof n)return n;if(\"object\"!=typeof n)return\"\";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes(\"[native code]\"))return n.toString();var i=\"\";for(var r in n)e.call(n,r)&&n[r]&&(i=o(i,r));return i}function o(e,t){return t?e?e+\" \"+t:e+t:e}k.exports?(t.default=t,k.exports=t):window.classNames=t}();var S=b(C.exports);function x({className:t,size:n=\"16\",variant:o=\"workspace\",...i}){const r=S(\"icon\",n&&[`icon-size-${n}`],t);return e(\"span\",{className:r,\"aria-label\":`icon-${o}`,role:\"presentation\",...i,children:e(\"i\",{className:`icon-${o}`})})}const N=r(({className:t,variant:n=\"default\",icon:o=\"workspace\",size:i=\"16\",tooltip:r,iconSize:s=\"16\",onClick:l,disabled:c,children:u,...d},f)=>{const h=S(\"io-btn-icon\",\"default\"!==n&&[`io-btn-icon-${n}`],[`io-btn-icon-size-${i}`],t),p=a(e=>{if(!c)return l?l(e):void 0;e.preventDefault()},[l,c]);return e(\"button\",{className:h,type:\"button\",ref:f,\"aria-label\":\"icon button\",\"aria-disabled\":c,title:r,onClick:p,disabled:c,...d,children:u??(o&&e(x,{variant:o,size:s}))})});N.displayName=\"ButtonIcon\";const I={default:void 0,info:\"info\",success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function A({className:n,variant:o=\"default\",size:i=\"normal\",text:r,close:a=!1,closeButtonOnClick:s,append:l,...c}){const u=S(\"io-alert\",`io-alert-${o}`,\"large\"===i&&\"io-alert-lg\",n),d=I[o];return t(\"div\",{\"data-testid\":\"io-alert\",className:u,role:\"alert\",\"aria-label\":\"alert\",...c,children:[d&&e(x,{\"data-testid\":\"io-alert-icon\",variant:d,className:\"icon-severity\"}),r&&e(\"p\",{\"data-testid\":\"io-alert-text\",className:\"io-text-smaller\",children:r}),\"large\"===i&&l,a&&e(N,{\"data-testid\":\"io-alert-close-button\",className:\"ms-auto\",size:\"16\",iconSize:\"10\",icon:\"close\",onClick:s})]})}function P({className:t,variant:n=\"default\",children:o,...i}){const r=S(\"io-badge\",\"default\"!==n&&[`io-badge-${n}`],t);return e(\"div\",{className:r,...i,children:o})}function E({className:t,tag:n=\"h2\",size:o=\"normal\",text:i=\"Title\",...r}){const a=n,s=S(\"small\"===o&&\"io-title-semibold\",\"normal\"===o&&\"io-title\",\"large\"===o&&\"io-title-large\",t);return e(a,{className:s,...r,children:i})}function T({className:n,title:o,titleSize:i=\"normal\",tag:r,hint:a,children:s,...l}){const c=S(\"io-block\",n),u=o?\"block-title\":void 0;return t(\"section\",{className:c,\"aria-label\":o?void 0:\"Block\",\"aria-labelledby\":u,...l,children:[o&&e(E,{id:u,tag:r,text:o,size:i}),s,a&&e(\"p\",{className:\"io-text-smaller\",children:a})]})}const D=e=>\"Enter\"===e.key||\" \"===e.key;var B=Object.freeze({__proto__:null,isClickKeypress:D,keyboardNavigation:({event:e,currentIndex:t,moveFocus:n,min:o,max:i,onClose:r})=>{switch(e.key){case\"ArrowUp\":n(Math.max(t-1,o));break;case\"ArrowDown\":n(Math.min(t+1,i));break;case\"Home\":n(o);break;case\"End\":n(i);break;case\"Escape\":if(r){r();break}return;default:return}e.stopPropagation(),e.preventDefault()},onClickA11y:(e,t)=>void 0===e?{}:{tabIndex:0,onClick:e,onKeyDown:n=>{D(n)&&(n.preventDefault(),e?.(n)),t?.(n)}}});const L=r(({className:n,variant:o=\"default\",size:i=\"normal\",icon:r,iconSize:s=\"12\",iconRight:l=!1,text:c,onClick:u,disabled:d,children:f,...h},p)=>{const m=S(\"io-btn\",(\"primary\"===o||\"critical\"===o||\"outline\"===o||\"link\"===o)&&[`io-btn-${o}`],\"large\"===i&&\"io-btn-lg\",n),g=a(e=>{if(!d)return u?u(e):void 0;e.preventDefault()},[u,d]),v=a(e=>{d||D(e)&&(e.preventDefault(),g(e))},[g,d]);return t(\"button\",{className:m,ref:p,type:\"button\",\"aria-disabled\":d,onClick:g,onKeyDown:v,disabled:d,tabIndex:0,...h,children:[r&&!l&&e(x,{variant:r,size:s}),f??c,r&&l&&e(x,{variant:r,size:s})]})});L.displayName=\"Button\";const R=s({}),F=r(({icon:t=\"chevron-down\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(R),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),h=a(e=>{o?.(e),e.defaultPrevented||D(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(L,{icon:t,iconRight:!0,onClick:f,onKeyDown:h,disabled:c,ref:d,...i})});F.displayName=\"DropdownButton\";const O=r(({size:t=\"32\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(R),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),h=a(e=>{o?.(e),e.defaultPrevented||D(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(N,{size:t,onClick:f,onKeyDown:h,disabled:c,ref:d,...i})});function M({className:t,...n}){const o=S(\"io-dropdown-content\",t);return e(\"div\",{className:o,...n})}O.displayName=\"DropdownButtonIcon\";const $=s({}),_=r((n,o)=>{const{className:i,prepend:r,append:a,isSelected:s,onClick:c,description:u,disabled:d=!1,children:f,tooltip:h,...p}=n,{variant:m=\"default\",selected:g,checkIcon:v,handleItemClick:y}=l($),w=s??g?.some(e=>e.children===f),b=\"default\"!==m&&!!v,k=b||r,C=S(\"io-list-item\",k&&\"io-list-item-left\",a&&\"io-list-item-right\",\"default\"!==m&&w&&\"selected\",u&&\"io-list-item-description\",d&&\"io-list-item-disabled\",i);return t(\"li\",{className:C,ref:o,role:\"menuitem\",\"aria-roledescription\":\"menuitem\",tabIndex:0,onClick:e=>{d?e.preventDefault():(y?.(e,{children:f}),c?.(e))},...p,children:[k&&t(\"div\",{className:\"io-list-left-column\",children:[b&&e(x,{variant:v.variant,title:w?v.tooltip:void 0,\"data-testid\":\"list-item-check-icon\"}),r]}),e(\"span\",{className:\"io-list-text\",title:h,\"data-testid\":\"list-item-title\",children:f}),a&&e(\"div\",{className:\"io-list-right-column\",children:a}),u&&e(\"div\",{className:\"io-list-text-description\",children:u})]})});_.displayName=\"ListItem\";const z=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=S(\"io-list-item-header\",n);return t(\"div\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});z.displayName=\"ListItemHeader\";const H=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=S(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-title\",n);return t(\"li\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,\"data-testid\":\"list-item-title\",children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});H.displayName=\"ListItemTitle\";const j=r(({className:t,children:n,...o},i)=>{const r=S(\"io-list-item\",\"io-list-with-sub-items\",t);return e(\"li\",{className:r,ref:i,...o,children:n})});j.displayName=\"ListItemWithSubItems\";const V=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=S(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-section\",n);return t(\"li\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});function W({className:t,...n}){const o=S(\"io-separator\",t);return e(\"hr\",{className:o,...n})}V.displayName=\"ListItemSection\";const K=t=>e(W,{...t});K.displayName=\"ListItemSeparator\";const U=r((t,n)=>{const{className:o,variant:i=\"default\",checkIcon:r,children:s,...l}=t,[d,f]=c([]),h=S(\"io-list\",\"default\"!==i&&\"io-list-selectable\",o),p=u(()=>{if(r)return\"object\"==typeof r?r:{variant:r}},[r]),m=a((e,t)=>{if(\"default\"===i)return;const n=d.some(e=>e.children?.toString()===t.children?.toString());\"single\"===i?f([t]):(()=>{const e=n?d.filter(e=>e.children!==t.children):[...d,t];f(e)})()},[d,i]),g=u(()=>({variant:i,selected:d,checkIcon:p,handleItemClick:m}),[i,d,p,m]);return e($.Provider,{value:g,children:e(\"ul\",{className:h,ref:n,...l,children:s})})});U.displayName=\"List\";const J=U;J.Item=_,J.ItemTitle=H,J.ItemSection=V,J.ItemHeader=z,J.ItemWithSubItems=j,J.ItemSeparator=K;const q=r((t,n)=>e(J,{...t,ref:n}));q.displayName=\"DropdownList\";const G=r((t,n)=>{const{handleClose:o}=l(R),{onClick:i,onKeyDown:r,...s}=t,c=d(null),u=a(e=>{c.current=e,\"function\"==typeof n?n(e):n&&(n.current=e)},[n]);return e(_,{...s,ref:u,onClick:e=>{i?.(e),o?.()},onKeyDown:e=>{if(r?.(e),e.defaultPrevented||!D(e))return;e.preventDefault(),e.stopPropagation();const t=(\"function\"==typeof n?null:n?.current)||c.current;t?.click()}})});G.displayName=\"DropdownItem\";const Y=r((t,n)=>e(H,{...t,ref:n}));Y.displayName=\"DropdownItemTitle\";const Q=r((t,n)=>e(V,{...t,ref:n}));Q.displayName=\"DropdownItemSection\";const X=r((t,n)=>e(W,{...t}));X.displayName=\"DropdownSeparator\";function Z(e,t,n){const o=a(n=>{const o=t.some(e=>n.key===e);o&&(n.preventDefault(),e())},[e,t]);f(()=>{const e=n?.current||document;return e.addEventListener(\"keydown\",o),()=>{e.removeEventListener(\"keydown\",o)}},[o,n])}const ee=r(({className:t,variant:n=\"outline\",align:o=\"down\",disabled:i,isOpen:r,onOpenChange:s,children:l,...p},m)=>{const g=d(null),v=d(null);h(m,()=>v.current,[]);const{isOpen:y,handleOpen:w,handleClose:b}=((e,t)=>{const[n,o]=c(!1),i=void 0!==e,r=i?e:n,s=a(e=>{i||o(e),t?.(e)},[i,t]),l=a(()=>s(!0),[s]),u=a(()=>s(!1),[s]);return{isOpen:r,setOpen:s,handleOpen:l,handleClose:u}})(r,s);((e,t,n=!0)=>{f(()=>{if(!n)return;const o=n=>{const o=n.target;o&&e.current&&!e.current.contains(o)&&(n.composedPath&&n.composedPath().some(t=>t===e.current||e.current&&t.nodeType===Node.ELEMENT_NODE&&e.current.contains(t))||t())},i=requestAnimationFrame(()=>{document.addEventListener(\"mousedown\",o,!0)});return()=>{cancelAnimationFrame(i),document.removeEventListener(\"mousedown\",o,!0)}},[e,t,n])})(v,b,y),Z(()=>{y&&b()},[\"Escape\"],v),Z(()=>{y||i||g.current!==document.activeElement||w()},[\"ArrowDown\",\"ArrowUp\"],v);const k=u(()=>({variant:n,align:o,disabled:i,isOpen:y,handleOpen:w,handleClose:b,handleToggle:y?b:w,setTriggerRef:e=>g.current=e}),[n,o,i,y,w,b]),C=S(\"io-dropdown\",y&&\"io-dropdown-open\",\"default\"!==n&&`io-dropdown-${n}`,t);return e(R.Provider,{value:k,children:e(\"div\",{className:C,ref:v,...p,children:l})})});function te({className:t,variant:n=\"default\",align:o=\"left\",children:i,...r}){const a=S(\"io-btn-group\",\"default\"!==n&&`io-btn-group-${n}`,\"right\"===o&&\"io-btn-group-right\",t);return e(\"div\",{className:a,\"data-testid\":\"button-group\",...r,children:i})}function ne({className:t,draggable:n=!1,children:o,...i}){const r=S(\"io-header\",n&&[\"draggable\"],t);return e(\"header\",{className:r,...i,children:o})}function oe({className:t,children:n,...o}){const i=S(\"io-dialog-header\",t);return e(ne,{\"data-testid\":\"io-dialog-header\",className:i,...o,children:n})}function ie({className:t,children:n,...o}){const i=S(\"io-dialog-body\",t);return e(\"div\",{\"data-testid\":\"io-dialog-body\",className:i,...o,children:n})}function re({className:t,children:n,...o}){const i=S(\"io-footer\",t);return e(\"footer\",{className:i,...o,children:n})}function ae({className:t,...n}){const o=S(\"io-dialog-footer\",t);return e(re,{\"data-testid\":\"io-dialog-footer\",className:o,...n})}function se({className:n,variant:o=\"default\",title:i=\"Dialog Title\",isOpen:r=!1,draggable:a=!1,closeFn:s,children:l,...c}){const u=d(null),f=S(\"io-dialog\",\"centered\"===o&&\"io-dialog-center\",n);return p(()=>{const e=u?.current;e&&(r?e.showModal():\"function\"==typeof e.close&&e.close())},[r]),t(\"dialog\",{\"data-testid\":\"io-dialog\",className:f,ref:u,\"data-modal\":!0,onClose:()=>{r&&s&&s()},onClick:e=>{r&&s&&\"DIALOG\"===e.target.nodeName&&s()},onKeyDown:e=>{const t=e.target instanceof HTMLDialogElement&&\"DIALOG\"===e.target.nodeName;r&&s&&\" \"===e.key&&t&&s()},...c,children:[t(oe,{draggable:a,children:[e(\"h3\",{\"data-testid\":\"io-dialog-title\",children:i}),e(te,{children:e(N,{className:\"non-draggable\",\"data-testid\":\"io-dialog-close-button\",size:\"24\",icon:\"close\",iconSize:\"12\",onClick:s,tabIndex:-1})})]}),l]})}function le(){return\"undefined\"!=typeof window}function ce(e){return fe(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function ue(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function de(e){var t;return null==(t=(fe(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function fe(e){return!!le()&&(e instanceof Node||e instanceof ue(e).Node)}function he(e){return!!le()&&(e instanceof Element||e instanceof ue(e).Element)}function pe(e){return!!le()&&(e instanceof HTMLElement||e instanceof ue(e).HTMLElement)}function me(e){return!(!le()||\"undefined\"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof ue(e).ShadowRoot)}function ge(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Ie(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&\"inline\"!==i&&\"contents\"!==i}function ve(e){return/^(table|td|th)$/.test(ce(e))}function ye(e){try{if(e.matches(\":popover-open\"))return!0}catch(e){}try{return e.matches(\":modal\")}catch(e){return!1}}ee.Button=F,ee.ButtonIcon=O,ee.Content=M,ee.List=q,ee.Item=G,ee.ItemTitle=Y,ee.ItemSection=Q,ee.Separator=X,te.Button=L,te.ButtonIcon=N,te.Dropdown=ee,ne.Title=E,ne.ButtonGroup=te,ne.Button=L,ne.ButtonIcon=N,ne.Dropdown=ee,oe.Title=E,oe.ButtonGroup=te,oe.Button=L,oe.ButtonIcon=N,oe.Dropdown=ee,ie.Content=function({className:t,children:n,...o}){const i=S(\"io-dialog-content\",t);return e(\"div\",{className:i,...o,children:n})},re.ButtonGroup=te,re.Button=L,re.ButtonIcon=N,re.Dropdown=ee,ae.ButtonGroup=te,ae.Button=L,ae.ButtonIcon=N,ae.Dropdown=ee,se.Header=oe,se.Body=ie,se.Footer=ae;const we=/transform|translate|scale|rotate|perspective|filter/,be=/paint|layout|strict|content/,ke=e=>!!e&&\"none\"!==e;let Ce;function Se(e){const t=he(e)?Ie(e):e;return ke(t.transform)||ke(t.translate)||ke(t.scale)||ke(t.rotate)||ke(t.perspective)||!xe()&&(ke(t.backdropFilter)||ke(t.filter))||we.test(t.willChange||\"\")||be.test(t.contain||\"\")}function xe(){return null==Ce&&(Ce=\"undefined\"!=typeof CSS&&CSS.supports&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")),Ce}function Ne(e){return/^(html|body|#document)$/.test(ce(e))}function Ie(e){return ue(e).getComputedStyle(e)}function Ae(e){return he(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Pe(e){if(\"html\"===ce(e))return e;const t=e.assignedSlot||e.parentNode||me(e)&&e.host||de(e);return me(t)?t.host:t}function Ee(e){const t=Pe(e);return Ne(t)?e.ownerDocument?e.ownerDocument.body:e.body:pe(t)&&ge(t)?t:Ee(t)}function Te(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=Ee(e),r=i===(null==(o=e.ownerDocument)?void 0:o.body),a=ue(i);if(r){const e=De(a);return t.concat(a,a.visualViewport||[],ge(i)?i:[],e&&n?Te(e):[])}return t.concat(i,Te(i,[],n))}function De(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Be(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function Le(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&me(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function Re(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function Fe(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+\"/\"+n}).join(\" \"):navigator.userAgent}function Oe(e){return!(0!==e.mozInputSource||!e.isTrusted)||(_e()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function Me(e){return!Fe().includes(\"jsdom/\")&&(!_e()&&0===e.width&&0===e.height||_e()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function $e(){return/apple/i.test(navigator.vendor)}function _e(){const e=/android/i;return e.test(Re())||e.test(Fe())}function ze(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function He(e){return(null==e?void 0:e.ownerDocument)||document}function je(e,t){if(null==t)return!1;if(\"composedPath\"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function Ve(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}function We(e){return pe(e)&&e.matches(\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\")}function Ke(e){e.preventDefault(),e.stopPropagation()}function Ue(e){return!!e&&(\"combobox\"===e.getAttribute(\"role\")&&We(e))}const Je=Math.min,qe=Math.max,Ge=Math.round,Ye=Math.floor,Qe=e=>({x:e,y:e}),Xe={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function Ze(e,t,n){return qe(e,Je(t,n))}function et(e,t){return\"function\"==typeof e?e(t):e}function tt(e){return e.split(\"-\")[0]}function nt(e){return e.split(\"-\")[1]}function ot(e){return\"x\"===e?\"y\":\"x\"}function it(e){return\"y\"===e?\"height\":\"width\"}function rt(e){const t=e[0];return\"t\"===t||\"b\"===t?\"y\":\"x\"}function at(e){return ot(rt(e))}function st(e){return e.includes(\"start\")?e.replace(\"start\",\"end\"):e.replace(\"end\",\"start\")}const lt=[\"left\",\"right\"],ct=[\"right\",\"left\"],ut=[\"top\",\"bottom\"],dt=[\"bottom\",\"top\"];function ft(e,t,n,o){const i=nt(e);let r=function(e,t,n){switch(e){case\"top\":case\"bottom\":return n?t?ct:lt:t?lt:ct;case\"left\":case\"right\":return t?ut:dt;default:return[]}}(tt(e),\"start\"===n,o);return i&&(r=r.map(e=>e+\"-\"+i),t&&(r=r.concat(r.map(st)))),r}function ht(e){const t=tt(e);return Xe[t]+e.slice(t.length)}function pt(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}\n/*!\n* tabbable 6.4.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/var mt=[\"input:not([inert]):not([inert] *)\",\"select:not([inert]):not([inert] *)\",\"textarea:not([inert]):not([inert] *)\",\"a[href]:not([inert]):not([inert] *)\",\"button:not([inert]):not([inert] *)\",\"[tabindex]:not(slot):not([inert]):not([inert] *)\",\"audio[controls]:not([inert]):not([inert] *)\",\"video[controls]:not([inert]):not([inert] *)\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert]):not([inert] *)',\"details>summary:first-of-type:not([inert]):not([inert] *)\",\"details:not([inert]):not([inert] *)\"].join(\",\"),gt=\"undefined\"==typeof Element,vt=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,yt=!gt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},wt=function(e,t){var n;void 0===t&&(t=!0);var o=null==e||null===(n=e.getAttribute)||void 0===n?void 0:n.call(e,\"inert\");return\"\"===o||\"true\"===o||t&&e&&(\"function\"==typeof e.closest?e.closest(\"[inert]\"):wt(e.parentNode))},bt=function(e,t,n){for(var o=[],i=Array.from(e);i.length;){var r=i.shift();if(!wt(r,!1))if(\"SLOT\"===r.tagName){var a=r.assignedElements(),s=a.length?a:r.children,l=bt(s,!0,n);n.flatten?o.push.apply(o,l):o.push({scopeParent:r,candidates:l})}else{vt.call(r,mt)&&n.filter(r)&&(t||!e.includes(r))&&o.push(r);var c=r.shadowRoot||\"function\"==typeof n.getShadowRoot&&n.getShadowRoot(r),u=!wt(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(r));if(c&&u){var d=bt(!0===c?r.children:c.children,!0,n);n.flatten?o.push.apply(o,d):o.push({scopeParent:r,candidates:d})}else i.unshift.apply(i,r.children)}}return o},kt=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},Ct=function(e){if(!e)throw new Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,\"contenteditable\");return\"\"===n||\"true\"===n}(e))&&!kt(e)?0:e.tabIndex},St=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return\"INPUT\"===e.tagName},Nt=function(e){return function(e){return xt(e)&&\"radio\"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||yt(e),o=function(e){return n.querySelectorAll('input[type=\"radio\"][name=\"'+e+'\"]')};if(\"undefined\"!=typeof window&&void 0!==window.CSS&&\"function\"==typeof window.CSS.escape)t=o(window.CSS.escape(e.name));else try{t=o(e.name)}catch(e){return console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\",e.message),!1}var i=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]}(t,e.form);return!i||i===e}(e)},It=function(e){var t=e.getBoundingClientRect(),n=t.width,o=t.height;return 0===n&&0===o},At=function(e,t){var n=t.displayCheck,o=t.getShadowRoot;if(\"full-native\"===n&&\"checkVisibility\"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if(\"hidden\"===getComputedStyle(e).visibility)return!0;var i=vt.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(vt.call(i,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==n&&\"full-native\"!==n&&\"legacy-full\"!==n){if(\"non-zero-area\"===n)return It(e)}else{if(\"function\"==typeof o){for(var r=e;e;){var a=e.parentElement,s=yt(e);if(a&&!a.shadowRoot&&!0===o(a))return It(e);e=e.assignedSlot?e.assignedSlot:a||s===e.ownerDocument?a:s.host}e=r}if(function(e){var t,n,o,i,r=e&&yt(e),a=null===(t=r)||void 0===t?void 0:t.host,s=!1;if(r&&r!==e)for(s=!!(null!==(n=a)&&void 0!==n&&null!==(o=n.ownerDocument)&&void 0!==o&&o.contains(a)||null!=e&&null!==(i=e.ownerDocument)&&void 0!==i&&i.contains(e));!s&&a;){var l,c,u;s=!(null===(c=a=null===(l=r=yt(a))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(a))}return s}(e))return!e.getClientRects().length;if(\"legacy-full\"!==n)return!0}return!1},Pt=function(e,t){return!(t.disabled||function(e){return xt(e)&&\"hidden\"===e.type}(t)||At(t,e)||function(e){return\"DETAILS\"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return\"SUMMARY\"===e.tagName})}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(\"FIELDSET\"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var o=t.children.item(n);if(\"LEGEND\"===o.tagName)return!!vt.call(t,\"fieldset[disabled] *\")||!o.contains(e)}return!0}t=t.parentElement}return!1}(t))},Et=function(e,t){return!(Nt(t)||Ct(t)<0||!Pt(e,t))},Tt=function(e){var t=parseInt(e.getAttribute(\"tabindex\"),10);return!!(isNaN(t)||t>=0)},Dt=function(e){var t=[],n=[];return e.forEach(function(e,o){var i=!!e.scopeParent,r=i?e.scopeParent:e,a=function(e,t){var n=Ct(e);return n<0&&t&&!kt(e)?0:n}(r,i),s=i?Dt(e.candidates):r;0===a?i?t.push.apply(t,s):t.push(r):n.push({documentOrder:o,tabIndex:a,item:e,isScope:i,content:s})}),n.sort(St).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},Bt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?bt([e],t.includeContainer,{filter:Et.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Tt}):function(e,t,n){if(wt(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(mt));return t&&vt.call(e,mt)&&o.unshift(e),o.filter(n)}(e,t.includeContainer,Et.bind(null,t)),Dt(n)};function Lt(e,t,n){let{reference:o,floating:i}=e;const r=rt(t),a=at(t),s=it(a),l=tt(t),c=\"y\"===r,u=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[s]/2-i[s]/2;let h;switch(l){case\"top\":h={x:u,y:o.y-i.height};break;case\"bottom\":h={x:u,y:o.y+o.height};break;case\"right\":h={x:o.x+o.width,y:d};break;case\"left\":h={x:o.x-i.width,y:d};break;default:h={x:o.x,y:o.y}}switch(nt(t)){case\"start\":h[a]-=f*(n&&c?-1:1);break;case\"end\":h[a]+=f*(n&&c?-1:1)}return h}async function Rt(e,t){var n;void 0===t&&(t={});const{x:o,y:i,platform:r,rects:a,elements:s,strategy:l}=e,{boundary:c=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:d=\"floating\",altBoundary:f=!1,padding:h=0}=et(t,e),p=function(e){return\"number\"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}(h),m=s[f?\"floating\"===d?\"reference\":\"floating\":d],g=pt(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(m)))||n?m:m.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),v=\"floating\"===d?{x:o,y:i,width:a.floating.width,height:a.floating.height}:a.reference,y=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),w=await(null==r.isElement?void 0:r.isElement(y))&&await(null==r.getScale?void 0:r.getScale(y))||{x:1,y:1},b=pt(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:v,offsetParent:y,strategy:l}):v);return{top:(g.top-b.top+p.top)/w.y,bottom:(b.bottom-g.bottom+p.bottom)/w.y,left:(g.left-b.left+p.left)/w.x,right:(b.right-g.right+p.right)/w.x}}const Ft=new Set([\"left\",\"top\"]);function Ot(e){const t=Ie(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=pe(e),r=i?e.offsetWidth:n,a=i?e.offsetHeight:o,s=Ge(n)!==r||Ge(o)!==a;return s&&(n=r,o=a),{width:n,height:o,$:s}}function Mt(e){return he(e)?e:e.contextElement}function $t(e){const t=Mt(e);if(!pe(t))return Qe(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:r}=Ot(t);let a=(r?Ge(n.width):n.width)/o,s=(r?Ge(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const _t=Qe(0);function zt(e){const t=ue(e);return xe()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:_t}function Ht(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),r=Mt(e);let a=Qe(1);t&&(o?he(o)&&(a=$t(o)):a=$t(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==ue(e))&&t}(r,n,o)?zt(r):Qe(0);let l=(i.left+s.x)/a.x,c=(i.top+s.y)/a.y,u=i.width/a.x,d=i.height/a.y;if(r){const e=ue(r),t=o&&he(o)?ue(o):o;let n=e,i=De(n);for(;i&&o&&t!==n;){const e=$t(i),t=i.getBoundingClientRect(),o=Ie(i),r=t.left+(i.clientLeft+parseFloat(o.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(o.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=r,c+=a,n=ue(i),i=De(n)}}return pt({width:u,height:d,x:l,y:c})}function jt(e,t){const n=Ae(e).scrollLeft;return t?t.left+n:Ht(de(e)).left+n}function Vt(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-jt(e,n),y:n.top+t.scrollTop}}function Wt(e,t,n){let o;if(\"viewport\"===t)o=function(e,t){const n=ue(e),o=de(e),i=n.visualViewport;let r=o.clientWidth,a=o.clientHeight,s=0,l=0;if(i){r=i.width,a=i.height;const e=xe();(!e||e&&\"fixed\"===t)&&(s=i.offsetLeft,l=i.offsetTop)}const c=jt(o);if(c<=0){const e=o.ownerDocument,t=e.body,n=getComputedStyle(t),i=\"CSS1Compat\"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(o.clientWidth-t.clientWidth-i);a<=25&&(r-=a)}else c<=25&&(r+=c);return{width:r,height:a,x:s,y:l}}(e,n);else if(\"document\"===t)o=function(e){const t=de(e),n=Ae(e),o=e.ownerDocument.body,i=qe(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=qe(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+jt(e);const s=-n.scrollTop;return\"rtl\"===Ie(o).direction&&(a+=qe(t.clientWidth,o.clientWidth)-i),{width:i,height:r,x:a,y:s}}(de(e));else if(he(t))o=function(e,t){const n=Ht(e,!0,\"fixed\"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,r=pe(e)?$t(e):Qe(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:i*r.x,y:o*r.y}}(t,n);else{const n=zt(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return pt(o)}function Kt(e,t){const n=Pe(e);return!(n===t||!he(n)||Ne(n))&&(\"fixed\"===Ie(n).position||Kt(n,t))}function Ut(e,t,n){const o=pe(t),i=de(t),r=\"fixed\"===n,a=Ht(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const l=Qe(0);function c(){l.x=jt(i)}if(o||!o&&!r)if((\"body\"!==ce(t)||ge(i))&&(s=Ae(t)),o){const e=Ht(t,!0,r,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&c();r&&!o&&i&&c();const u=!i||o||r?Qe(0):Vt(i,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function Jt(e){return\"static\"===Ie(e).position}function qt(e,t){if(!pe(e)||\"fixed\"===Ie(e).position)return null;if(t)return t(e);let n=e.offsetParent;return de(e)===n&&(n=n.ownerDocument.body),n}function Gt(e,t){const n=ue(e);if(ye(e))return n;if(!pe(e)){let t=Pe(e);for(;t&&!Ne(t);){if(he(t)&&!Jt(t))return t;t=Pe(t)}return n}let o=qt(e,t);for(;o&&ve(o)&&Jt(o);)o=qt(o,t);return o&&Ne(o)&&Jt(o)&&!Se(o)?n:o||function(e){let t=Pe(e);for(;pe(t)&&!Ne(t);){if(Se(t))return t;if(ye(t))return null;t=Pe(t)}return null}(e)||n}const Yt={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const r=\"fixed\"===i,a=de(o),s=!!t&&ye(t.floating);if(o===a||s&&r)return n;let l={scrollLeft:0,scrollTop:0},c=Qe(1);const u=Qe(0),d=pe(o);if((d||!d&&!r)&&((\"body\"!==ce(o)||ge(a))&&(l=Ae(o)),d)){const e=Ht(o);c=$t(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const f=!a||d||r?Qe(0):Vt(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+f.x,y:n.y*c.y-l.scrollTop*c.y+u.y+f.y}},getDocumentElement:de,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[...\"clippingAncestors\"===n?ye(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let o=Te(e,[],!1).filter(e=>he(e)&&\"body\"!==ce(e)),i=null;const r=\"fixed\"===Ie(e).position;let a=r?Pe(e):e;for(;he(a)&&!Ne(a);){const t=Ie(a),n=Se(a);n||\"fixed\"!==t.position||(i=null),(r?!n&&!i:!n&&\"static\"===t.position&&i&&(\"absolute\"===i.position||\"fixed\"===i.position)||ge(a)&&!n&&Kt(e,a))?o=o.filter(e=>e!==a):i=t,a=Pe(a)}return t.set(e,o),o}(t,this._c):[].concat(n),o],a=Wt(t,r[0],i);let s=a.top,l=a.right,c=a.bottom,u=a.left;for(let e=1;e<r.length;e++){const n=Wt(t,r[e],i);s=qe(n.top,s),l=Je(n.right,l),c=Je(n.bottom,c),u=qe(n.left,u)}return{width:l-u,height:c-s,x:u,y:s}},getOffsetParent:Gt,getElementRects:async function(e){const t=this.getOffsetParent||Gt,n=this.getDimensions,o=await n(e.floating);return{reference:Ut(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Ot(e);return{width:t,height:n}},getScale:$t,isElement:he,isRTL:function(e){return\"rtl\"===Ie(e).direction}};function Qt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Xt(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:a=\"function\"==typeof ResizeObserver,layoutShift:s=\"function\"==typeof IntersectionObserver,animationFrame:l=!1}=o,c=Mt(e),u=i||r?[...c?Te(c):[],...t?Te(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(\"scroll\",n,{passive:!0}),r&&e.addEventListener(\"resize\",n)});const d=c&&s?function(e,t){let n,o=null;const i=de(e);function r(){var e;clearTimeout(n),null==(e=o)||e.disconnect(),o=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),r();const c=e.getBoundingClientRect(),{left:u,top:d,width:f,height:h}=c;if(s||t(),!f||!h)return;const p={rootMargin:-Ye(d)+\"px \"+-Ye(i.clientWidth-(u+f))+\"px \"+-Ye(i.clientHeight-(d+h))+\"px \"+-Ye(u)+\"px\",threshold:qe(0,Je(1,l))||1};let m=!0;function g(t){const o=t[0].intersectionRatio;if(o!==l){if(!m)return a();o?a(!1,o):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==o||Qt(c,e.getBoundingClientRect())||a(),m=!1}try{o=new IntersectionObserver(g,{...p,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(g,p)}o.observe(e)}(!0),r}(c,n):null;let f,h=-1,p=null;a&&(p=new ResizeObserver(e=>{let[o]=e;o&&o.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),n()}),c&&!l&&p.observe(c),t&&p.observe(t));let m=l?Ht(e):null;return l&&function t(){const o=Ht(e);m&&!Qt(m,o)&&n();m=o,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(\"scroll\",n),r&&e.removeEventListener(\"resize\",n)}),null==d||d(),null==(e=p)||e.disconnect(),p=null,l&&cancelAnimationFrame(f)}}const Zt=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(t){var n,o;const{x:i,y:r,placement:a,middlewareData:s}=t,l=await async function(e,t){const{placement:n,platform:o,elements:i}=e,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),a=tt(n),s=nt(n),l=\"y\"===rt(n),c=Ft.has(a)?-1:1,u=r&&l?-1:1,d=et(t,e);let{mainAxis:f,crossAxis:h,alignmentAxis:p}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&\"number\"==typeof p&&(h=\"end\"===s?-1*p:p),l?{x:h*u,y:f*c}:{x:f*c,y:h*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(o=s.arrow)&&o.alignmentOffset?{}:{x:i+l.x,y:r+l.y,data:{...l,placement:a}}}}},en=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:o,placement:i,platform:r}=t,{mainAxis:a=!0,crossAxis:s=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=et(e,t),u={x:n,y:o},d=await r.detectOverflow(t,c),f=rt(tt(i)),h=ot(f);let p=u[h],m=u[f];if(a){const e=\"y\"===h?\"bottom\":\"right\";p=Ze(p+d[\"y\"===h?\"top\":\"left\"],p,p-d[e])}if(s){const e=\"y\"===f?\"bottom\":\"right\";m=Ze(m+d[\"y\"===f?\"top\":\"left\"],m,m-d[e])}const g=l.fn({...t,[h]:p,[f]:m});return{...g,data:{x:g.x-n,y:g.y-o,enabled:{[h]:a,[f]:s}}}}}},tn=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(t){var n,o;const{placement:i,middlewareData:r,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:h=\"bestFit\",fallbackAxisSideDirection:p=\"none\",flipAlignment:m=!0,...g}=et(e,t);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const v=tt(i),y=rt(s),w=tt(s)===s,b=await(null==l.isRTL?void 0:l.isRTL(c.floating)),k=f||(w||!m?[ht(s)]:function(e){const t=ht(e);return[st(e),t,st(t)]}(s)),C=\"none\"!==p;!f&&C&&k.push(...ft(s,m,p,b));const S=[s,...k],x=await l.detectOverflow(t,g),N=[];let I=(null==(o=r.flip)?void 0:o.overflows)||[];if(u&&N.push(x[v]),d){const e=function(e,t,n){void 0===n&&(n=!1);const o=nt(e),i=at(e),r=it(i);let a=\"x\"===i?o===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===o?\"bottom\":\"top\";return t.reference[r]>t.floating[r]&&(a=ht(a)),[a,ht(a)]}(i,a,b);N.push(x[e[0]],x[e[1]])}if(I=[...I,{placement:i,overflows:N}],!N.every(e=>e<=0)){var A,P;const e=((null==(A=r.flip)?void 0:A.index)||0)+1,t=S[e];if(t){if(!(\"alignment\"===d&&y!==rt(t))||I.every(e=>rt(e.placement)!==y||e.overflows[0]>0))return{data:{index:e,overflows:I},reset:{placement:t}}}let n=null==(P=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:P.placement;if(!n)switch(h){case\"bestFit\":{var E;const e=null==(E=I.filter(e=>{if(C){const t=rt(e.placement);return t===y||\"y\"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:E[0];e&&(n=e);break}case\"initialPlacement\":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},nn=(e,t,n)=>{const o=new Map,i={platform:Yt,...n},r={...i.platform,_c:o};return(async(e,t,n)=>{const{placement:o=\"bottom\",strategy:i=\"absolute\",middleware:r=[],platform:a}=n,s=a.detectOverflow?a:{...a,detectOverflow:Rt},l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Lt(c,o,l),f=o,h=0;const p={};for(let n=0;n<r.length;n++){const m=r[n];if(!m)continue;const{name:g,fn:v}=m,{x:y,y:w,data:b,reset:k}=await v({x:u,y:d,initialPlacement:o,placement:f,strategy:i,middlewareData:p,rects:c,platform:s,elements:{reference:e,floating:t}});u=null!=y?y:u,d=null!=w?w:d,p[g]={...p[g],...b},k&&h<50&&(h++,\"object\"==typeof k&&(k.placement&&(f=k.placement),k.rects&&(c=!0===k.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):k.rects),({x:u,y:d}=Lt(c,f,l))),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}})(e,t,{...i,platform:r})};var on=\"undefined\"!=typeof document?p:function(){};function rn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\"function\"==typeof e&&e.toString()===t.toString())return!0;let n,o,i;if(e&&t&&\"object\"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;0!==o--;)if(!rn(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(o=n;0!==o--;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=n;0!==o--;){const n=i[o];if((\"_owner\"!==n||!e.$$typeof)&&!rn(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function an(e){if(\"undefined\"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function sn(e,t){const n=an(e);return Math.round(t*n)/n}function ln(e){const t=o.useRef(e);return on(()=>{t.current=e}),t}const cn=(e,t)=>{const n=Zt(e);return{name:n.name,fn:n.fn,options:[e,t]}},un=(e,t)=>{const n=en(e);return{name:n.name,fn:n.fn,options:[e,t]}},dn=(e,t)=>{const n=tn(e);return{name:n.name,fn:n.fn,options:[e,t]}};function fn(e){return o.useMemo(()=>e.every(e=>null==e)?null:t=>{e.forEach(e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)})},e)}const hn={...o},pn=hn.useInsertionEffect||(e=>e());function mn(e){const t=o.useRef(()=>{if(\"production\"!==process.env.NODE_ENV)throw new Error(\"Cannot call an event handler while rendering.\")});return pn(()=>{t.current=e}),o.useCallback(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return null==t.current?void 0:t.current(...n)},[])}const gn=\"ArrowUp\",vn=\"ArrowDown\",yn=\"ArrowLeft\",wn=\"ArrowRight\";function bn(e,t,n){return Math.floor(e/t)!==n}function kn(e,t){return t<0||t>=e.current.length}function Cn(e,t){return xn(e,{disabledIndices:t})}function Sn(e,t){return xn(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function xn(e,t){let{startingIndex:n=-1,decrement:o=!1,disabledIndices:i,amount:r=1}=void 0===t?{}:t;const a=e.current;let s=n;do{s+=o?-r:r}while(s>=0&&s<=a.length-1&&An(a,s,i));return s}function Nn(e,t,n,o,i){if(-1===e)return-1;const r=n.indexOf(e),a=t[e];switch(i){case\"tl\":return r;case\"tr\":return a?r+a.width-1:r;case\"bl\":return a?r+(a.height-1)*o:r;case\"br\":return n.lastIndexOf(e)}}function In(e,t){return t.flatMap((t,n)=>e.includes(t)?[n]:[])}function An(e,t,n){if(n)return n.includes(t);const o=e[t];return null==o||o.hasAttribute(\"disabled\")||\"true\"===o.getAttribute(\"aria-disabled\")}var Pn=\"undefined\"!=typeof document?p:f;function En(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}const Tn=o.createContext({register:()=>{},unregister:()=>{},map:new Map,elementsRef:{current:[]}});function Dn(e){const{children:t,elementsRef:n,labelsRef:i}=e,[r,a]=o.useState(()=>new Map),s=o.useCallback(e=>{a(t=>new Map(t).set(e,null))},[]),l=o.useCallback(e=>{a(t=>{const n=new Map(t);return n.delete(e),n})},[]);return Pn(()=>{const e=new Map(r);Array.from(e.keys()).sort(En).forEach((t,n)=>{e.set(t,n)}),function(e,t){if(e.size!==t.size)return!1;for(const[n,o]of e.entries())if(o!==t.get(n))return!1;return!0}(r,e)||a(e)},[r]),o.createElement(Tn.Provider,{value:o.useMemo(()=>({register:s,unregister:l,map:r,elementsRef:n,labelsRef:i}),[s,l,r,n,i])},t)}function Bn(e){void 0===e&&(e={});const{label:t}=e,{register:n,unregister:i,map:r,elementsRef:a,labelsRef:s}=o.useContext(Tn),[l,c]=o.useState(null),u=o.useRef(null),d=o.useCallback(e=>{if(u.current=e,null!==l&&(a.current[l]=e,s)){var n;const o=void 0!==t;s.current[l]=o?t:null!=(n=null==e?void 0:e.textContent)?n:null}},[l,a,s,t]);return Pn(()=>{const e=u.current;if(e)return n(e),()=>{i(e)}},[n,i]),Pn(()=>{const e=u.current?r.get(u.current):null;null!=e&&c(e)},[r]),o.useMemo(()=>({ref:d,index:null==l?-1:l}),[l,d])}function Ln(){return Ln=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Ln.apply(this,arguments)}let Rn=!1,Fn=0;const On=()=>\"floating-ui-\"+Math.random().toString(36).slice(2,6)+Fn++;const Mn=hn.useId||function(){const[e,t]=o.useState(()=>Rn?On():void 0);return Pn(()=>{null==e&&t(On())},[]),o.useEffect(()=>{Rn=!0},[]),e};let $n;function _n(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=$n)&&e.has(i)||(null==(r=$n)||r.add(i),console.warn(i))}function zn(){const e=new Map;return{emit(t,n){var o;null==(o=e.get(t))||o.forEach(e=>e(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var o;e.set(t,(null==(o=e.get(t))?void 0:o.filter(e=>e!==n))||[])}}}\"production\"!==process.env.NODE_ENV&&($n=new Set);const Hn=o.createContext(null),jn=o.createContext(null),Vn=()=>{var e;return(null==(e=o.useContext(Hn))?void 0:e.id)||null},Wn=()=>o.useContext(jn);function Kn(e){const{children:t,id:n}=e,i=Vn();return o.createElement(Hn.Provider,{value:o.useMemo(()=>({id:n,parentId:i}),[n,i])},t)}function Un(e){const{children:t}=e,n=o.useRef([]),i=o.useCallback(e=>{n.current=[...n.current,e]},[]),r=o.useCallback(e=>{n.current=n.current.filter(t=>t!==e)},[]),a=o.useState(()=>zn())[0];return o.createElement(jn.Provider,{value:o.useMemo(()=>({nodesRef:n,addNode:i,removeNode:r,events:a}),[i,r,a])},t)}function Jn(e){return\"data-floating-ui-\"+e}function qn(e){const t=d(e);return Pn(()=>{t.current=e}),t}const Gn=Jn(\"safe-polygon\");function Yn(e,t,n){return n&&!ze(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}let Qn=0;function Xn(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:o=!0,sync:i=!1}=t;o&&cancelAnimationFrame(Qn);const r=()=>null==e?void 0:e.focus({preventScroll:n});i?r():Qn=requestAnimationFrame(r)}function Zn(e,t){let n=e.filter(e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)}),o=n;for(;o.length;)o=e.filter(e=>{var t;return null==(t=o)?void 0:t.some(t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)})}),n=n.concat(o);return n}let eo=new WeakMap,to=new WeakSet,no={},oo=0;const io=e=>e&&(e.host||io(e.parentNode));function ro(e,t,n,o){const i=\"data-floating-ui-inert\",r=o?\"inert\":n?\"aria-hidden\":null,a=((e,t)=>t.map(t=>{if(e.contains(t))return t;const n=io(t);return e.contains(n)?n:null}).filter(e=>null!=e))(t,e),s=new Set,l=new Set(a),c=[];no[i]||(no[i]=new WeakMap);const u=no[i];return a.forEach(function e(t){if(!t||s.has(t))return;s.add(t),t.parentNode&&e(t.parentNode)}),function e(t){if(!t||l.has(t))return;[].forEach.call(t.children,t=>{if(\"script\"!==ce(t))if(s.has(t))e(t);else{const e=r?t.getAttribute(r):null,n=null!==e&&\"false\"!==e,o=(eo.get(t)||0)+1,a=(u.get(t)||0)+1;eo.set(t,o),u.set(t,a),c.push(t),1===o&&n&&to.add(t),1===a&&t.setAttribute(i,\"\"),!n&&r&&t.setAttribute(r,\"true\")}})}(t),s.clear(),oo++,()=>{c.forEach(e=>{const t=(eo.get(e)||0)-1,n=(u.get(e)||0)-1;eo.set(e,t),u.set(e,n),t||(!to.has(e)&&r&&e.removeAttribute(r),to.delete(e)),n||e.removeAttribute(i)}),oo--,oo||(eo=new WeakMap,eo=new WeakMap,to=new WeakSet,no={})}}function ao(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=He(e[0]).body;return ro(e.concat(Array.from(o.querySelectorAll(\"[aria-live]\"))),o,t,n)}const so=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function lo(e,t){const n=Bt(e,so());\"prev\"===t&&n.reverse();const o=n.indexOf(Be(He(e)));return n.slice(o+1)[0]}function co(e,t){const n=t||e.currentTarget,o=e.relatedTarget;return!o||!Le(n,o)}const uo={border:0,clip:\"rect(0 0 0 0)\",height:\"1px\",margin:\"-1px\",overflow:\"hidden\",padding:0,position:\"fixed\",whiteSpace:\"nowrap\",width:\"1px\",top:0,left:0};function fo(e){\"Tab\"===e.key&&(e.target,clearTimeout(void 0))}const ho=o.forwardRef(function(e,t){const[n,i]=o.useState();Pn(()=>($e()&&i(\"button\"),document.addEventListener(\"keydown\",fo),()=>{document.removeEventListener(\"keydown\",fo)}),[]);const r={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[Jn(\"focus-guard\")]:\"\",style:uo};return o.createElement(\"span\",Ln({},e,r))}),po=o.createContext(null),mo=\"data-floating-ui-focusable\";function go(e){return e?e.hasAttribute(mo)?e:e.querySelector(\"[\"+mo+\"]\")||e:null}let vo=[];function yo(e){vo=vo.filter(e=>e.isConnected);let t=e;if(t&&\"body\"!==ce(t)){if(!function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==vt.call(e,mt)&&Et(t,e)}(t,so())){const e=Bt(t,so())[0];e&&(t=e)}vo.push(t),vo.length>20&&(vo=vo.slice(-20))}}function wo(){return vo.slice().reverse().find(e=>e.isConnected)}const bo=o.forwardRef(function(e,t){return o.createElement(\"button\",Ln({},e,{type:\"button\",ref:t,tabIndex:-1,style:uo}))});function ko(e){const{context:t,children:n,disabled:i=!1,order:r=[\"content\"],guards:a=!0,initialFocus:s=0,returnFocus:l=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:h,refs:p,nodeId:m,onOpenChange:g,events:v,dataRef:y,floatingId:w,elements:{domReference:b,floating:k}}=t,C=\"number\"==typeof s&&s<0,S=Ue(b)&&C,x=\"undefined\"==typeof HTMLElement||!(\"inert\"in HTMLElement.prototype)||a,N=qn(r),I=qn(s),A=qn(l),P=Wn(),E=o.useContext(po),T=o.useRef(null),D=o.useRef(null),B=o.useRef(!1),L=o.useRef(!1),R=o.useRef(-1),F=null!=E,O=go(k),M=mn(function(e){return void 0===e&&(e=O),e?Bt(e,so()):[]}),$=mn(e=>{const t=M(e);return N.current.map(e=>b&&\"reference\"===e?b:O&&\"floating\"===e?O:t).filter(Boolean).flat()});function _(e){return!i&&d&&u?o.createElement(bo,{ref:\"start\"===e?T:D,onClick:e=>g(!1,e.nativeEvent)},\"string\"==typeof d?d:\"Dismiss\"):null}o.useEffect(()=>{if(i)return;if(!u)return;function e(e){if(\"Tab\"===e.key){Le(O,Be(He(O)))&&0===M().length&&!S&&Ke(e);const t=$(),n=Ve(e);\"reference\"===N.current[0]&&n===b&&(Ke(e),e.shiftKey?Xn(t[t.length-1]):Xn(t[1])),\"floating\"===N.current[1]&&n===O&&e.shiftKey&&(Ke(e),Xn(t[0]))}}const t=He(O);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}},[i,b,O,u,N,S,M,$]),o.useEffect(()=>{if(!i&&k)return k.addEventListener(\"focusin\",e),()=>{k.removeEventListener(\"focusin\",e)};function e(e){const t=Ve(e),n=M().indexOf(t);-1!==n&&(R.current=n)}},[i,k,M]),o.useEffect(()=>{if(!i&&f)return k&&pe(b)?(b.addEventListener(\"focusout\",t),b.addEventListener(\"pointerdown\",e),k.addEventListener(\"focusout\",t),()=>{b.removeEventListener(\"focusout\",t),b.removeEventListener(\"pointerdown\",e),k.removeEventListener(\"focusout\",t)}):void 0;function e(){L.current=!0,setTimeout(()=>{L.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const n=!(Le(b,t)||Le(k,t)||Le(t,k)||Le(null==E?void 0:E.portalNode,t)||null!=t&&t.hasAttribute(Jn(\"focus-guard\"))||P&&(Zn(P.nodesRef.current,m).find(e=>{var n,o;return Le(null==(n=e.context)?void 0:n.elements.floating,t)||Le(null==(o=e.context)?void 0:o.elements.domReference,t)})||function(e,t){var n;let o=[],i=null==(n=e.find(e=>e.id===t))?void 0:n.parentId;for(;i;){const t=e.find(e=>e.id===i);i=null==t?void 0:t.parentId,t&&(o=o.concat(t))}return o}(P.nodesRef.current,m).find(e=>{var n,o;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(o=e.context)?void 0:o.elements.domReference)===t})));if(c&&n&&Be(He(O))===He(O).body){pe(O)&&O.focus();const e=R.current,t=M(),n=t[e]||t[t.length-1]||O;pe(n)&&n.focus()}!S&&u||!t||!n||L.current||t===wo()||(B.current=!0,g(!1,e,\"focus-out\"))})}},[i,b,k,O,u,m,P,E,g,f,c,M,S]),o.useEffect(()=>{var e;if(i)return;const t=Array.from((null==E||null==(e=E.portalNode)?void 0:e.querySelectorAll(\"[\"+Jn(\"portal\")+\"]\"))||[]);if(k){const e=[k,...t,T.current,D.current,N.current.includes(\"reference\")||S?b:null].filter(e=>null!=e),n=u||S?ao(e,x,!x):ao(e);return()=>{n()}}},[i,b,k,u,N,E,S,x]),Pn(()=>{if(i||!pe(O))return;const e=Be(He(O));queueMicrotask(()=>{const t=$(O),n=I.current,o=(\"number\"==typeof n?t[n]:n.current)||O,i=Le(O,e);C||i||!h||Xn(o,{preventScroll:o===O})})},[i,h,O,C,$,I]),Pn(()=>{if(i||!O)return;let e=!1;const t=He(O),n=Be(t);let o=y.current.openEvent;function r(t){let{open:n,reason:i,event:r,nested:a}=t;n&&(o=r),\"escape-key\"===i&&p.domReference.current&&yo(p.domReference.current),\"hover\"===i&&\"mouseleave\"===r.type&&(B.current=!0),\"outside-press\"===i&&(a?(B.current=!1,e=!0):B.current=!(Oe(r)||Me(r)))}yo(n),v.on(\"openchange\",r);const a=t.createElement(\"span\");return a.setAttribute(\"tabindex\",\"-1\"),a.setAttribute(\"aria-hidden\",\"true\"),Object.assign(a.style,uo),F&&b&&b.insertAdjacentElement(\"afterend\",a),()=>{v.off(\"openchange\",r);const n=Be(t),i=Le(k,n)||P&&Zn(P.nodesRef.current,m).some(e=>{var t;return Le(null==(t=e.context)?void 0:t.elements.floating,n)});(i||o&&[\"click\",\"mousedown\"].includes(o.type))&&p.domReference.current&&yo(p.domReference.current);const s=\"boolean\"==typeof A.current?wo()||a:A.current.current||a;queueMicrotask(()=>{A.current&&!B.current&&pe(s)&&(s===n||n===t.body||i)&&s.focus({preventScroll:e}),a.remove()})}},[i,k,O,A,y,p,v,P,m,F,b]),o.useEffect(()=>{queueMicrotask(()=>{B.current=!1})},[i]),Pn(()=>{if(!i&&E)return E.setFocusManagerState({modal:u,closeOnFocusOut:f,open:h,onOpenChange:g,refs:p}),()=>{E.setFocusManagerState(null)}},[i,E,u,h,g,p,f]),Pn(()=>{if(i)return;if(!O)return;if(\"function\"!=typeof MutationObserver)return;if(C)return;const e=()=>{const e=O.getAttribute(\"tabindex\"),t=M(),n=Be(He(k)),o=t.indexOf(n);-1!==o&&(R.current=o),N.current.includes(\"floating\")||n!==p.domReference.current&&0===t.length?\"0\"!==e&&O.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&O.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(O,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[i,k,O,p,N,M,C]);const z=!i&&x&&(!u||!S)&&(F||u);return o.createElement(o.Fragment,null,z&&o.createElement(ho,{\"data-type\":\"inside\",ref:null==E?void 0:E.beforeInsideRef,onFocus:e=>{if(u){const e=$();Xn(\"reference\"===r[0]?e[0]:e[e.length-1])}else if(null!=E&&E.preserveTabOrder&&E.portalNode)if(B.current=!1,co(e,E.portalNode)){const e=lo(document.body,\"next\")||b;null==e||e.focus()}else{var t;null==(t=E.beforeOutsideRef.current)||t.focus()}}}),!S&&_(\"start\"),n,_(\"end\"),z&&o.createElement(ho,{\"data-type\":\"inside\",ref:null==E?void 0:E.afterInsideRef,onFocus:e=>{if(u)Xn($()[0]);else if(null!=E&&E.preserveTabOrder&&E.portalNode)if(f&&(B.current=!0),co(e,E.portalNode)){const e=lo(document.body,\"prev\")||b;null==e||e.focus()}else{var t;null==(t=E.afterOutsideRef.current)||t.focus()}}}))}function Co(e){return pe(e.target)&&\"BUTTON\"===e.target.tagName}function So(e){return We(e)}const xo={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},No={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},Io=e=>{var t,n;return{escapeKey:\"boolean\"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:\"boolean\"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Ao(e){const{open:t=!1,onOpenChange:n,elements:i}=e,r=Mn(),a=o.useRef({}),[s]=o.useState(()=>zn()),l=null!=Vn();if(\"production\"!==process.env.NODE_ENV){const e=i.reference;e&&!he(e)&&function(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=$n)&&e.has(i)||(null==(r=$n)||r.add(i),console.error(i))}(\"Cannot pass a virtual element to the `elements.reference` option,\",\"as it must be a real DOM element. Use `refs.setPositionReference()`\",\"instead.\")}const[c,u]=o.useState(i.reference),d=mn((e,t,o)=>{a.current.openEvent=e?t:void 0,s.emit(\"openchange\",{open:e,event:t,reason:o,nested:l}),null==n||n(e,t,o)}),f=o.useMemo(()=>({setPositionReference:u}),[]),h=o.useMemo(()=>({reference:c||i.reference||null,floating:i.floating||null,domReference:i.reference}),[c,i.reference,i.floating]);return o.useMemo(()=>({dataRef:a,open:t,onOpenChange:d,elements:h,events:s,floatingId:r,refs:f}),[t,d,h,s,r,f])}function Po(e){void 0===e&&(e={});const{nodeId:t}=e,n=Ao({...e,elements:{reference:null,floating:null,...e.elements}}),i=e.rootContext||n,r=i.elements,[a,s]=o.useState(null),[l,c]=o.useState(null),u=(null==r?void 0:r.domReference)||a,d=o.useRef(null),f=Wn();Pn(()=>{u&&(d.current=u)},[u]);const h=function(e){void 0===e&&(e={});const{placement:t=\"bottom\",strategy:n=\"absolute\",middleware:i=[],platform:r,elements:{reference:a,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,f]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=o.useState(i);rn(h,i)||p(i);const[m,g]=o.useState(null),[y,w]=o.useState(null),b=o.useCallback(e=>{e!==x.current&&(x.current=e,g(e))},[]),k=o.useCallback(e=>{e!==N.current&&(N.current=e,w(e))},[]),C=a||m,S=s||y,x=o.useRef(null),N=o.useRef(null),I=o.useRef(d),A=null!=c,P=ln(c),E=ln(r),T=ln(u),D=o.useCallback(()=>{if(!x.current||!N.current)return;const e={placement:t,strategy:n,middleware:h};E.current&&(e.platform=E.current),nn(x.current,N.current,e).then(e=>{const t={...e,isPositioned:!1!==T.current};B.current&&!rn(I.current,t)&&(I.current=t,v.flushSync(()=>{f(t)}))})},[h,t,n,E,T]);on(()=>{!1===u&&I.current.isPositioned&&(I.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);const B=o.useRef(!1);on(()=>(B.current=!0,()=>{B.current=!1}),[]),on(()=>{if(C&&(x.current=C),S&&(N.current=S),C&&S){if(P.current)return P.current(C,S,D);D()}},[C,S,D,P,A]);const L=o.useMemo(()=>({reference:x,floating:N,setReference:b,setFloating:k}),[b,k]),R=o.useMemo(()=>({reference:C,floating:S}),[C,S]),F=o.useMemo(()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=sn(R.floating,d.x),o=sn(R.floating,d.y);return l?{...e,transform:\"translate(\"+t+\"px, \"+o+\"px)\",...an(R.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:o}},[n,l,R.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:D,refs:L,elements:R,floatingStyles:F}),[d,D,L,R,F])}({...e,elements:{...r,...l&&{reference:l}}}),p=o.useCallback(e=>{const t=he(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),h.refs.setReference(t)},[h.refs]),m=o.useCallback(e=>{(he(e)||null===e)&&(d.current=e,s(e)),(he(h.refs.reference.current)||null===h.refs.reference.current||null!==e&&!he(e))&&h.refs.setReference(e)},[h.refs]),g=o.useMemo(()=>({...h.refs,setReference:m,setPositionReference:p,domReference:d}),[h.refs,m,p]),y=o.useMemo(()=>({...h.elements,domReference:u}),[h.elements,u]),w=o.useMemo(()=>({...h,...i,refs:g,elements:y,nodeId:t}),[h,g,y,t,i]);return Pn(()=>{i.dataRef.current.floatingContext=w;const e=null==f?void 0:f.nodesRef.current.find(e=>e.id===t);e&&(e.context=w)}),o.useMemo(()=>({...h,context:w,refs:g,elements:y}),[h,g,y,w])}const Eo=\"active\",To=\"selected\";function Do(e,t,n){const o=new Map,i=\"item\"===n;let r=e;if(i&&e){const{[Eo]:t,[To]:n,...o}=e;r=o}return{...\"floating\"===n&&{tabIndex:-1,[mo]:\"\"},...r,...t.map(t=>{const o=t?t[n]:null;return\"function\"==typeof o?e?o(e):null:o}).concat(e).reduce((e,t)=>t?(Object.entries(t).forEach(t=>{let[n,r]=t;var a;i&&[Eo,To].includes(n)||(0===n.indexOf(\"on\")?(o.has(n)||o.set(n,[]),\"function\"==typeof r&&(null==(a=o.get(n))||a.push(r),e[n]=function(){for(var e,t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];return null==(e=o.get(n))?void 0:e.map(e=>e(...i)).find(e=>void 0!==e)})):e[n]=r)}),e):e,{})}}let Bo=!1;function Lo(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function Ro(e,t){return Lo(t,e===gn||e===vn,e===yn||e===wn)}function Fo(e,t,n){return Lo(t,e===vn,n?e===yn:e===wn)||\"Enter\"===e||\" \"===e||\"\"===e}function Oo(e,t,n){return Lo(t,n?e===wn:e===yn,e===gn)}function Mo(e,t){const{open:n,onOpenChange:i,elements:r}=e,{listRef:a,activeIndex:s,onNavigate:l=()=>{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:h=!1,rtl:p=!1,virtual:m=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:v=!0,openOnArrowKeyDown:y=!0,disabledIndices:w,orientation:b=\"vertical\",cols:k=1,scrollItemIntoView:C=!0,virtualItemRef:S,itemSizes:x,dense:N=!1}=t;\"production\"!==process.env.NODE_ENV&&(d&&(f||_n(\"`useListNavigation` looping must be enabled to allow escaping.\"),m||_n(\"`useListNavigation` must be virtual to allow escaping.\")),\"vertical\"===b&&k>1&&_n(\"In grid list navigation mode (`cols` > 1), the `orientation` should\",'be either \"horizontal\" or \"both\".'));const I=qn(go(r.floating)),A=Vn(),P=Wn(),E=mn(l),T=Ue(r.domReference),D=o.useRef(g),B=o.useRef(null!=u?u:-1),L=o.useRef(null),R=o.useRef(!0),F=o.useRef(E),O=o.useRef(!!r.floating),M=o.useRef(n),$=o.useRef(!1),_=o.useRef(!1),z=qn(w),H=qn(n),j=qn(C),V=qn(u),[W,K]=o.useState(),[U,J]=o.useState(),q=mn(function(e,t,n){function o(e){m?(K(e.id),null==P||P.events.emit(\"virtualfocus\",e),S&&(S.current=e)):Xn(e,{preventScroll:!0,sync:!(!Re().toLowerCase().startsWith(\"mac\")||navigator.maxTouchPoints||!$e())&&(Bo||$.current)})}void 0===n&&(n=!1);const i=e.current[t.current];i&&o(i),requestAnimationFrame(()=>{const r=e.current[t.current]||i;if(!r)return;i||o(r);const a=j.current;a&&Y&&(n||!R.current)&&(null==r.scrollIntoView||r.scrollIntoView(\"boolean\"==typeof a?{block:\"nearest\",inline:\"nearest\"}:a))})});Pn(()=>{document.createElement(\"div\").focus({get preventScroll(){return Bo=!0,!1}})},[]),Pn(()=>{c&&(n&&r.floating?D.current&&null!=u&&(_.current=!0,B.current=u,E(u)):O.current&&(B.current=-1,F.current(null)))},[c,n,r.floating,u,E]),Pn(()=>{if(c&&n&&r.floating)if(null==s){if($.current=!1,null!=V.current)return;if(O.current&&(B.current=-1,q(a,B)),(!M.current||!O.current)&&D.current&&(null!=L.current||!0===D.current&&null==L.current)){let e=0;const t=()=>{if(null==a.current[0]){if(e<2){(e?requestAnimationFrame:queueMicrotask)(t)}e++}else B.current=null==L.current||Fo(L.current,b,p)||h?Cn(a,z.current):Sn(a,z.current),L.current=null,E(B.current)};t()}}else kn(a,s)||(B.current=s,q(a,B,_.current),_.current=!1)},[c,n,r.floating,s,V,h,a,b,p,E,q,z]),Pn(()=>{var e;if(!c||r.floating||!P||m||!O.current)return;const t=P.nodesRef.current,n=null==(e=t.find(e=>e.id===A))||null==(e=e.context)?void 0:e.elements.floating,o=Be(He(r.floating)),i=t.some(e=>e.context&&Le(e.context.elements.floating,o));n&&!i&&R.current&&n.focus({preventScroll:!0})},[c,r.floating,P,A,m]),Pn(()=>{if(c&&P&&m&&!A)return P.events.on(\"virtualfocus\",e),()=>{P.events.off(\"virtualfocus\",e)};function e(e){J(e.id),S&&(S.current=e)}},[c,P,m,A,S]),Pn(()=>{F.current=E,O.current=!!r.floating}),Pn(()=>{n||(L.current=null)},[n]),Pn(()=>{M.current=n},[n]);const G=null!=s,Y=o.useMemo(()=>{function e(e){if(!n)return;const t=a.current.indexOf(e);-1!==t&&E(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...v&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;R.current&&\"touch\"!==t&&(B.current=-1,q(a,B),E(null),m||Xn(I.current,{preventScroll:!0}))}}}},[n,I,q,v,a,E,m]),Q=mn(e=>{if(R.current=!1,$.current=!0,229===e.which)return;if(!H.current&&e.currentTarget===I.current)return;if(h&&Oo(e.key,b,p))return Ke(e),i(!1,e.nativeEvent,\"list-navigation\"),void(pe(r.domReference)&&(m?null==P||P.events.emit(\"virtualfocus\",r.domReference):r.domReference.focus()));const t=B.current,o=Cn(a,w),s=Sn(a,w);if(T||(\"Home\"===e.key&&(Ke(e),B.current=o,E(B.current)),\"End\"===e.key&&(Ke(e),B.current=s,E(B.current))),k>1){const t=x||Array.from({length:a.current.length},()=>({width:1,height:1})),n=function(e,t,n){const o=[];let i=0;return e.forEach((e,r)=>{let{width:a,height:s}=e;if(a>t&&\"production\"!==process.env.NODE_ENV)throw new Error(\"[Floating UI]: Invalid grid - item width at index \"+r+\" is greater than grid columns\");let l=!1;for(n&&(i=0);!l;){const e=[];for(let n=0;n<a;n++)for(let o=0;o<s;o++)e.push(i+n+o*t);i%t+a<=t&&e.every(e=>null==o[e])?(e.forEach(e=>{o[e]=r}),l=!0):i++}}),[...o]}(t,k,N),i=n.findIndex(e=>null!=e&&!An(a.current,e,w)),r=n.reduce((e,t,n)=>null==t||An(a.current,t,w)?e:n,-1),l=n[function(e,t){let{event:n,orientation:o,loop:i,rtl:r,cols:a,disabledIndices:s,minIndex:l,maxIndex:c,prevIndex:u,stopEvent:d=!1}=t,f=u;if(n.key===gn){if(d&&Ke(n),-1===u)f=c;else if(f=xn(e,{startingIndex:f,amount:a,decrement:!0,disabledIndices:s}),i&&(u-a<l||f<0)){const e=u%a,t=c%a,n=c-(t-e);f=t===e?c:t>e?n:n-a}kn(e,f)&&(f=u)}if(n.key===vn&&(d&&Ke(n),-1===u?f=l:(f=xn(e,{startingIndex:u,amount:a,disabledIndices:s}),i&&u+a>c&&(f=xn(e,{startingIndex:u%a-a,amount:a,disabledIndices:s}))),kn(e,f)&&(f=u)),\"both\"===o){const t=Ye(u/a);n.key===(r?yn:wn)&&(d&&Ke(n),u%a!==a-1?(f=xn(e,{startingIndex:u,disabledIndices:s}),i&&bn(f,a,t)&&(f=xn(e,{startingIndex:u-u%a-1,disabledIndices:s}))):i&&(f=xn(e,{startingIndex:u-u%a-1,disabledIndices:s})),bn(f,a,t)&&(f=u)),n.key===(r?wn:yn)&&(d&&Ke(n),u%a!==0?(f=xn(e,{startingIndex:u,decrement:!0,disabledIndices:s}),i&&bn(f,a,t)&&(f=xn(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s}))):i&&(f=xn(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s})),bn(f,a,t)&&(f=u));const o=Ye(c/a)===t;kn(e,f)&&(f=i&&o?n.key===(r?wn:yn)?c:xn(e,{startingIndex:u-u%a-1,disabledIndices:s}):u)}return f}({current:n.map(e=>null!=e?a.current[e]:null)},{event:e,orientation:b,loop:f,rtl:p,cols:k,disabledIndices:In([...w||a.current.map((e,t)=>An(a.current,t)?t:void 0),void 0],n),minIndex:i,maxIndex:r,prevIndex:Nn(B.current>s?o:B.current,t,n,k,e.key===vn?\"bl\":e.key===(p?yn:wn)?\"tr\":\"tl\"),stopEvent:!0})];if(null!=l&&(B.current=l,E(B.current)),\"both\"===b)return}if(Ro(e.key,b)){if(Ke(e),n&&!m&&Be(e.currentTarget.ownerDocument)===e.currentTarget)return B.current=Fo(e.key,b,p)?o:s,void E(B.current);Fo(e.key,b,p)?B.current=f?t>=s?d&&t!==a.current.length?-1:o:xn(a,{startingIndex:t,disabledIndices:w}):Math.min(s,xn(a,{startingIndex:t,disabledIndices:w})):B.current=f?t<=o?d&&-1!==t?a.current.length:s:xn(a,{startingIndex:t,decrement:!0,disabledIndices:w}):Math.max(o,xn(a,{startingIndex:t,decrement:!0,disabledIndices:w})),kn(a,B.current)?E(null):E(B.current)}}),X=o.useMemo(()=>m&&n&&G&&{\"aria-activedescendant\":U||W},[m,n,G,U,W]),Z=o.useMemo(()=>({\"aria-orientation\":\"both\"===b?void 0:b,...!Ue(r.domReference)&&X,onKeyDown:Q,onPointerMove(){R.current=!0}}),[X,Q,r.domReference,b]),ee=o.useMemo(()=>{function e(e){\"auto\"===g&&Oe(e.nativeEvent)&&(D.current=!0)}return{...X,onKeyDown(e){R.current=!1;const t=e.key.startsWith(\"Arrow\"),o=[\"Home\",\"End\"].includes(e.key),r=t||o,s=function(e,t,n){return Lo(t,n?e===yn:e===wn,e===vn)}(e.key,b,p),l=Oo(e.key,b,p),c=Ro(e.key,b),d=(h?s:c)||\"Enter\"===e.key||\"\"===e.key.trim();if(m&&n){const t=null==P?void 0:P.nodesRef.current.find(e=>null==e.parentId),n=P&&t?function(e,t){let n,o=-1;return function t(i,r){r>o&&(n=i,o=r),Zn(e,i).forEach(e=>{t(e.id,r+1)})}(t,0),e.find(e=>e.id===n)}(P.nodesRef.current,t.id):null;if(r&&n&&S){const t=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(s||l){var f,g;const o=(null==(f=n.context)?void 0:f.elements.domReference)===e.currentTarget,i=l&&!o?null==(g=n.context)?void 0:g.elements.domReference:s?a.current.find(e=>(null==e?void 0:e.id)===W):null;i&&(Ke(e),i.dispatchEvent(t),J(void 0))}var v;if((c||o)&&n.context)if(n.context.open&&n.parentId&&e.currentTarget!==n.context.elements.domReference)return Ke(e),void(null==(v=n.context.elements.domReference)||v.dispatchEvent(t))}return Q(e)}(n||y||!t)&&(d&&(L.current=h&&c?null:e.key),h?s&&(Ke(e),n?(B.current=Cn(a,z.current),E(B.current)):i(!0,e.nativeEvent,\"list-navigation\")):c&&(null!=u&&(B.current=u),Ke(e),!n&&y?i(!0,e.nativeEvent,\"list-navigation\"):Q(e),n&&E(B.current)))},onFocus(){n&&!m&&E(null)},onPointerDown:function(e){D.current=g,\"auto\"===g&&Me(e.nativeEvent)&&(D.current=!0)},onMouseDown:e,onClick:e}},[W,X,Q,z,g,a,h,E,i,n,y,b,p,u,P,m,S]);return o.useMemo(()=>c?{reference:ee,floating:Z,item:Y}:{},[c,ee,Z,Y])}const $o=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function _o(e,t){const[n,o]=e;let i=!1;const r=t.length;for(let e=0,a=r-1;e<r;a=e++){const[r,s]=t[e]||[0,0],[l,c]=t[a]||[0,0];s>=o!=c>=o&&n<=(l-r)*(o-s)/(c-s)+r&&(i=!i)}return i}function zo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:o=!0}=e;let i,r=!1,a=null,s=null,l=performance.now();const c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:h,tree:p}=e;return function(e){function m(){clearTimeout(i),f()}if(clearTimeout(i),!d.domReference||!d.floating||null==u||null==n||null==c)return;const{clientX:g,clientY:v}=e,y=[g,v],w=Ve(e),b=\"mouseleave\"===e.type,k=Le(d.floating,w),C=Le(d.domReference,w),S=d.domReference.getBoundingClientRect(),x=d.floating.getBoundingClientRect(),N=u.split(\"-\")[0],I=n>x.right-x.width/2,A=c>x.bottom-x.height/2,P=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(y,S),E=x.width>S.width,T=x.height>S.height,D=(E?S:x).left,B=(E?S:x).right,L=(T?S:x).top,R=(T?S:x).bottom;if(k&&(r=!0,!b))return;if(C&&(r=!1),C&&!b)return void(r=!0);if(b&&he(e.relatedTarget)&&Le(d.floating,e.relatedTarget))return;if(p&&Zn(p.nodesRef.current,h).some(e=>{let{context:t}=e;return null==t?void 0:t.open}))return;if(\"top\"===N&&c>=S.bottom-1||\"bottom\"===N&&c<=S.top+1||\"left\"===N&&n>=S.right-1||\"right\"===N&&n<=S.left+1)return m();let F=[];switch(N){case\"top\":F=[[D,S.top+1],[D,x.bottom-1],[B,x.bottom-1],[B,S.top+1]];break;case\"bottom\":F=[[D,x.top+1],[D,S.bottom-1],[B,S.bottom-1],[B,x.top+1]];break;case\"left\":F=[[x.right-1,R],[x.right-1,L],[S.left+1,L],[S.left+1,R]];break;case\"right\":F=[[S.right-1,R],[S.right-1,L],[x.left+1,L],[x.left+1,R]]}if(!_o([g,v],F)){if(r&&!P)return m();if(!b&&o){const t=function(e,t){const n=performance.now(),o=n-l;if(null===a||null===s||0===o)return a=e,s=t,l=n,null;const i=e-a,r=t-s,c=Math.sqrt(i*i+r*r);return a=e,s=t,l=n,c/o}(e.clientX,e.clientY);if(null!==t&&t<.1)return m()}_o([g,v],function(e){let[n,o]=e;switch(N){case\"top\":return[[E?n+t/2:I?n+4*t:n-4*t,o+t+1],[E?n-t/2:I?n+4*t:n-4*t,o+t+1],...[[x.left,I||E?x.bottom-t:x.top],[x.right,I?E?x.bottom-t:x.top:x.bottom-t]]];case\"bottom\":return[[E?n+t/2:I?n+4*t:n-4*t,o-t],[E?n-t/2:I?n+4*t:n-4*t,o-t],...[[x.left,I||E?x.top+t:x.bottom],[x.right,I?E?x.top+t:x.bottom:x.top+t]]];case\"left\":{const e=[n+t+1,T?o+t/2:A?o+4*t:o-4*t],i=[n+t+1,T?o-t/2:A?o+4*t:o-4*t];return[...[[A||T?x.right-t:x.left,x.top],[A?T?x.right-t:x.left:x.right-t,x.bottom]],e,i]}case\"right\":return[[n-t,T?o+t/2:A?o+4*t:o-4*t],[n-t,T?o-t/2:A?o+4*t:o-4*t],...[[A||T?x.left+t:x.right,x.top],[A?T?x.left+t:x.right:x.left+t,x.bottom]]]}}([n,c]))?!r&&o&&(i=window.setTimeout(m,40)):m()}}};return c.__options={blockPointerEvents:n},c}const Ho=s({getItemProps:()=>({}),activeIndex:null,setActiveIndex:()=>{},setHasFocusInside:()=>{},isOpen:!1,setIsOpen:()=>{}}),jo=r(({className:t,disabled:n,children:o,...i},r)=>{const a=l(Ho),s=Bn(),c=Wn(),u=s.index===a.activeIndex,d=S(\"io-dropdown-menu-item\",n&&\"io-dropdown-menu-item-disabled\",t);return e(\"div\",{ref:fn([s.ref,r]),role:\"menuitem\",className:d,tabIndex:u?0:-1,\"aria-disabled\":n,...i,...a.getItemProps({onClick(e){if(n)return e.preventDefault(),void e.stopPropagation();i.onClick?.(e),a.setIsOpen(!1),c?.events.emit(\"click\")},onFocus(e){n||(i.onFocus?.(e),a.setHasFocusInside(!0))}}),children:o})});jo.displayName=\"DropdownMenuItem\";const Vo=r(({className:n,variant:i=\"default\",icon:r,iconRight:a,text:s=\"\",disabled:h,children:p,...m},g)=>{const[v,y]=c(!1),[w,b]=c(!1),[k,C]=c(null),x=d([]),N=d([]),I=l(Ho),A=Wn(),P=function(){const e=Mn(),t=Wn(),n=Vn();return Pn(()=>{const o={id:e,parentId:n};return null==t||t.addNode(o),()=>{null==t||t.removeNode(o)}},[t,e,n]),e}(),E=Vn(),T=Bn(),D=null!=E,{floatingStyles:B,refs:R,context:F}=Po({nodeId:P,open:v,onOpenChange:y,placement:D?\"right-start\":\"bottom-start\",middleware:[cn({mainAxis:D?0:4,alignmentAxis:D?-4:0}),dn(),un()],whileElementsMounted:Xt}),O=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,events:a,elements:s}=e,{enabled:l=!0,delay:c=0,handleClose:u=null,mouseOnly:d=!1,restMs:f=0,move:h=!0}=t,p=Wn(),m=Vn(),g=qn(u),v=qn(c),y=qn(n),w=o.useRef(),b=o.useRef(-1),k=o.useRef(),C=o.useRef(-1),S=o.useRef(!0),x=o.useRef(!1),N=o.useRef(()=>{}),I=o.useRef(!1),A=o.useCallback(()=>{var e;const t=null==(e=r.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(\"mouse\"))&&\"mousedown\"!==t},[r]);o.useEffect(()=>{if(l)return a.on(\"openchange\",e),()=>{a.off(\"openchange\",e)};function e(e){let{open:t}=e;t||(clearTimeout(b.current),clearTimeout(C.current),S.current=!0,I.current=!1)}},[l,a]),o.useEffect(()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){A()&&i(!1,e,\"hover\")}const t=He(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}},[s.floating,n,i,l,g,A]);const P=o.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=Yn(v.current,\"close\",w.current);o&&!k.current?(clearTimeout(b.current),b.current=window.setTimeout(()=>i(!1,e,n),o)):t&&(clearTimeout(b.current),i(!1,e,n))},[v,i]),E=mn(()=>{N.current(),k.current=void 0}),T=mn(()=>{if(x.current){const e=He(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(Gn),x.current=!1}}),D=mn(()=>!!r.current.openEvent&&[\"click\",\"mousedown\"].includes(r.current.openEvent.type));o.useEffect(()=>{if(l&&he(s.domReference)){var e;const i=s.domReference;return n&&i.addEventListener(\"mouseleave\",a),null==(e=s.floating)||e.addEventListener(\"mouseleave\",a),h&&i.addEventListener(\"mousemove\",t,{once:!0}),i.addEventListener(\"mouseenter\",t),i.addEventListener(\"mouseleave\",o),()=>{var e;n&&i.removeEventListener(\"mouseleave\",a),null==(e=s.floating)||e.removeEventListener(\"mouseleave\",a),h&&i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseenter\",t),i.removeEventListener(\"mouseleave\",o)}}function t(e){if(clearTimeout(b.current),S.current=!1,d&&!ze(w.current)||f>0&&!Yn(v.current,\"open\"))return;const t=Yn(v.current,\"open\",w.current);t?b.current=window.setTimeout(()=>{y.current||i(!0,e,\"hover\")},t):n||i(!0,e,\"hover\")}function o(e){if(D())return;N.current();const t=He(s.floating);if(clearTimeout(C.current),I.current=!1,g.current&&r.current.floatingContext){n||clearTimeout(b.current),k.current=g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){T(),E(),D()||P(e,!0,\"safe-polygon\")}});const o=k.current;return t.addEventListener(\"mousemove\",o),void(N.current=()=>{t.removeEventListener(\"mousemove\",o)})}(\"touch\"!==w.current||!Le(s.floating,e.relatedTarget))&&P(e)}function a(e){D()||r.current.floatingContext&&(null==g.current||g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){T(),E(),D()||P(e)}})(e))}},[s,l,e,d,f,h,P,E,T,i,n,y,p,v,g,r,D]),Pn(()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&A()){x.current=!0;const e=s.floating;if(he(s.domReference)&&e){var t;const n=He(s.floating).body;n.setAttribute(Gn,\"\");const o=s.domReference,i=null==p||null==(t=p.nodesRef.current.find(e=>e.id===m))||null==(t=t.context)?void 0:t.elements.floating;return i&&(i.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",o.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",o.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}},[l,n,m,s,p,g,A]),Pn(()=>{n||(w.current=void 0,I.current=!1,E(),T())},[n,E,T]),o.useEffect(()=>()=>{E(),clearTimeout(b.current),clearTimeout(C.current),T()},[l,s.domReference,E,T]);const B=o.useMemo(()=>{function e(e){w.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){S.current||y.current||i(!0,t,\"hover\")}d&&!ze(w.current)||n||0===f||I.current&&e.movementX**2+e.movementY**2<2||(clearTimeout(C.current),\"touch\"===w.current?o():(I.current=!0,C.current=window.setTimeout(o,f)))}}},[d,i,n,y,f]),L=o.useMemo(()=>({onMouseEnter(){clearTimeout(b.current)},onMouseLeave(e){D()||P(e.nativeEvent,!1)}}),[P,D]);return o.useMemo(()=>l?{reference:B,floating:L}:{},[l,B,L])}(F,{enabled:D,delay:{open:75},handleClose:zo({blockPointerEvents:!0})}),M=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,elements:{domReference:a}}=e,{enabled:s=!0,event:l=\"click\",toggle:c=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0,stickIfOpen:f=!0}=t,h=o.useRef(),p=o.useRef(!1),m=o.useMemo(()=>({onPointerDown(e){h.current=e.pointerType},onMouseDown(e){const t=h.current;0===e.button&&\"click\"!==l&&(ze(t,!0)&&u||(!n||!c||r.current.openEvent&&f&&\"mousedown\"!==r.current.openEvent.type?(e.preventDefault(),i(!0,e.nativeEvent,\"click\")):i(!1,e.nativeEvent,\"click\")))},onClick(e){const t=h.current;\"mousedown\"===l&&h.current?h.current=void 0:ze(t,!0)&&u||(!n||!c||r.current.openEvent&&f&&\"click\"!==r.current.openEvent.type?i(!0,e.nativeEvent,\"click\"):i(!1,e.nativeEvent,\"click\"))},onKeyDown(e){h.current=void 0,e.defaultPrevented||!d||Co(e)||(\" \"!==e.key||So(a)||(e.preventDefault(),p.current=!0),\"Enter\"===e.key&&i(!n||!c,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Co(e)||So(a)||\" \"===e.key&&p.current&&(p.current=!1,i(!n||!c,e.nativeEvent,\"click\"))}}),[r,a,l,u,d,i,n,f,c]);return o.useMemo(()=>s?{reference:m}:{},[s,m])}(F,{event:\"mousedown\",toggle:!D,ignoreMouse:D}),$=function(e,t){var n;void 0===t&&(t={});const{open:i,floatingId:r}=e,{enabled:a=!0,role:s=\"dialog\"}=t,l=null!=(n=$o.get(s))?n:s,c=Mn(),u=null!=Vn(),d=o.useMemo(()=>\"tooltip\"===l||\"label\"===s?{[\"aria-\"+(\"label\"===s?\"labelledby\":\"describedby\")]:i?r:void 0}:{\"aria-expanded\":i?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===l?\"dialog\":l,\"aria-controls\":i?r:void 0,...\"listbox\"===l&&{role:\"combobox\"},...\"menu\"===l&&{id:c},...\"menu\"===l&&u&&{role:\"menuitem\"},...\"select\"===s&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===s&&{\"aria-autocomplete\":\"list\"}},[l,r,u,i,c,s]),f=o.useMemo(()=>{const e={id:r,...l&&{role:l}};return\"tooltip\"===l||\"label\"===s?e:{...e,...\"menu\"===l&&{\"aria-labelledby\":c}}},[l,r,c,s]),h=o.useCallback(e=>{let{active:t,selected:n}=e;const o={role:\"option\",...t&&{id:r+\"-option\"}};switch(s){case\"select\":return{...o,\"aria-selected\":t&&n};case\"combobox\":return{...o,...t&&{\"aria-selected\":!0}}}return{}},[r,s]);return o.useMemo(()=>a?{reference:d,floating:f,item:h}:{},[a,d,f,h])}(F,{role:\"menu\"}),_=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,elements:r,dataRef:a}=e,{enabled:s=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:u=\"pointerdown\",referencePress:d=!1,referencePressEvent:f=\"pointerdown\",ancestorScroll:h=!1,bubbles:p,capture:m}=t,g=Wn(),v=mn(\"function\"==typeof c?c:()=>!1),y=\"function\"==typeof c?v:c,w=o.useRef(!1),b=o.useRef(!1),{escapeKey:k,outsidePress:C}=Io(p),{escapeKey:S,outsidePress:x}=Io(m),N=o.useRef(!1),I=mn(e=>{var t;if(!n||!s||!l||\"Escape\"!==e.key)return;if(N.current)return;const o=null==(t=a.current.floatingContext)?void 0:t.nodeId,r=g?Zn(g.nodesRef.current,o):[];if(!k&&(e.stopPropagation(),r.length>0)){let e=!0;if(r.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)}),!e)return}i(!1,function(e){return\"nativeEvent\"in e}(e)?e.nativeEvent:e,\"escape-key\")}),A=mn(e=>{var t;const n=()=>{var t;I(e),null==(t=Ve(e))||t.removeEventListener(\"keydown\",n)};null==(t=Ve(e))||t.addEventListener(\"keydown\",n)}),P=mn(e=>{var t;const n=w.current;w.current=!1;const o=b.current;if(b.current=!1,\"click\"===u&&o)return;if(n)return;if(\"function\"==typeof y&&!y(e))return;const s=Ve(e),l=\"[\"+Jn(\"inert\")+\"]\",c=He(r.floating).querySelectorAll(l);let d=he(s)?s:null;for(;d&&!Ne(d);){const e=Pe(d);if(Ne(e)||!he(e))break;d=e}if(c.length&&he(s)&&!s.matches(\"html,body\")&&!Le(s,r.floating)&&Array.from(c).every(e=>!Le(d,e)))return;if(pe(s)&&D){const t=s.clientWidth>0&&s.scrollWidth>s.clientWidth,n=s.clientHeight>0&&s.scrollHeight>s.clientHeight;let o=n&&e.offsetX>s.clientWidth;if(n&&\"rtl\"===Ie(s).direction&&(o=e.offsetX<=s.offsetWidth-s.clientWidth),o||t&&e.offsetY>s.clientHeight)return}const f=null==(t=a.current.floatingContext)?void 0:t.nodeId,h=g&&Zn(g.nodesRef.current,f).some(t=>{var n;return je(e,null==(n=t.context)?void 0:n.elements.floating)});if(je(e,r.floating)||je(e,r.domReference)||h)return;const p=g?Zn(g.nodesRef.current,f):[];if(p.length>0){let e=!0;if(p.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)}),!e)return}i(!1,e,\"outside-press\")}),E=mn(e=>{var t;const n=()=>{var t;P(e),null==(t=Ve(e))||t.removeEventListener(u,n)};null==(t=Ve(e))||t.addEventListener(u,n)});o.useEffect(()=>{if(!n||!s)return;a.current.__escapeKeyBubbles=k,a.current.__outsidePressBubbles=C;let e=-1;function t(e){i(!1,e,\"ancestor-scroll\")}function o(){window.clearTimeout(e),N.current=!0}function c(){e=window.setTimeout(()=>{N.current=!1},xe()?5:0)}const d=He(r.floating);l&&(d.addEventListener(\"keydown\",S?A:I,S),d.addEventListener(\"compositionstart\",o),d.addEventListener(\"compositionend\",c)),y&&d.addEventListener(u,x?E:P,x);let f=[];return h&&(he(r.domReference)&&(f=Te(r.domReference)),he(r.floating)&&(f=f.concat(Te(r.floating))),!he(r.reference)&&r.reference&&r.reference.contextElement&&(f=f.concat(Te(r.reference.contextElement)))),f=f.filter(e=>{var t;return e!==(null==(t=d.defaultView)?void 0:t.visualViewport)}),f.forEach(e=>{e.addEventListener(\"scroll\",t,{passive:!0})}),()=>{l&&(d.removeEventListener(\"keydown\",S?A:I,S),d.removeEventListener(\"compositionstart\",o),d.removeEventListener(\"compositionend\",c)),y&&d.removeEventListener(u,x?E:P,x),f.forEach(e=>{e.removeEventListener(\"scroll\",t)}),window.clearTimeout(e)}},[a,r,l,y,u,n,i,h,s,k,C,I,S,A,P,x,E]),o.useEffect(()=>{w.current=!1},[y,u]);const T=o.useMemo(()=>({onKeyDown:I,[xo[f]]:e=>{d&&i(!1,e.nativeEvent,\"reference-press\")}}),[I,i,d,f]),D=o.useMemo(()=>({onKeyDown:I,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[No[u]]:()=>{w.current=!0}}),[I,u]);return o.useMemo(()=>s?{reference:T,floating:D}:{},[s,T,D])}(F,{bubbles:!0}),z=Mo(F,{listRef:x,activeIndex:k,nested:D,onNavigate:C}),{getReferenceProps:H,getFloatingProps:j,getItemProps:V}=function(e){void 0===e&&(e=[]);const t=e.map(e=>null==e?void 0:e.reference),n=e.map(e=>null==e?void 0:e.floating),i=e.map(e=>null==e?void 0:e.item),r=o.useCallback(t=>Do(t,e,\"reference\"),t),a=o.useCallback(t=>Do(t,e,\"floating\"),n),s=o.useCallback(t=>Do(t,e,\"item\"),i);return o.useMemo(()=>({getReferenceProps:r,getFloatingProps:a,getItemProps:s}),[r,a,s])}([O,M,$,_,z]);f(()=>{if(A)return A.events.on(\"click\",e),A.events.on(\"menuopen\",t),()=>{A.events.off(\"click\",e),A.events.off(\"menuopen\",t)};function e(){y(!1)}function t(e){e.nodeId!==P&&e.parentId===E&&y(!1)}},[A,P,E]),f(()=>{v&&A&&A.events.emit(\"menuopen\",{parentId:E,nodeId:P})},[A,v,P,E]);const W={activeIndex:k,setActiveIndex:C,getItemProps:V,setHasFocusInside:b,isOpen:v,setIsOpen:y},K=u(()=>W,[k,C,V,b,v]),U=S(\"io-dropdown-menu-button\",D&&\"io-dropdown-menu-item\",v&&!D&&\"active\",n),J=fn([R.setReference,T.ref,g]),q=I.activeIndex===T.index?0:-1;return t(Kn,{id:P,children:[e(L,{className:U,ref:J,variant:D?\"link\":i,tabIndex:D?q:void 0,role:D?\"menuitem\":void 0,\"data-open\":v?\"\":void 0,\"data-nested\":D?\"\":void 0,\"data-focus-inside\":w?\"\":void 0,text:s,icon:D?\"chevron-right\":r,iconSize:\"10\",iconRight:!!D||a,disabled:h,...H(I.getItemProps({onFocus(e){m.onFocus?.(e),b(!1),I.setHasFocusInside(!0)},...m}))}),e(Ho.Provider,{value:K,children:e(Dn,{elementsRef:x,labelsRef:N,children:v&&e(ko,{context:F,modal:!1,initialFocus:D?-1:0,returnFocus:!D,children:e(\"div\",{ref:R.setFloating,className:\"io-dropdown-menu\",style:B,...j(),children:p})})})})]})});Vo.displayName=\"DropdownMenu\";const Wo=r(({...t},n)=>null===Vn()?e(Un,{children:e(Vo,{ref:n,...t})}):e(Vo,{ref:n,...t}));function Ko({className:t,variant:n=\"default\",size:o=\"16\",src:i,alt:r,...a}){const s=S(\"io-image-icon\",\"grayscale\"===n&&[`io-image-icon-${n}`],o&&[`io-image-icon-${o}`],t);return e(\"img\",{className:s,style:{width:`${o}px`,filter:\"grayscale\"===n?\"grayscale(100%)\":\"none\"},src:i,alt:r,...a})}function Uo({className:n,size:o=\"large\",variant:i=\"default\",align:r=\"up\",text:a,...s}){const l=S(\"io-loader\",{[`io-loader-${i}`]:\"default\"!==i},\"normal\"===o&&\"io-loader-md\",\"small\"===o&&\"io-loader-sm\",r&&[`direction-${r}`],n);return t(\"div\",{className:l,role:\"status\",\"aria-live\":\"polite\",...s,children:[e(\"div\",{className:\"io-loader-icon\"}),a&&e(\"div\",{className:\"io-loader-text\",children:a})]})}function Jo({className:t,children:n,...o}){const i=S(\"io-panel-header\",t);return e(ne,{className:i,...o,children:n})}Wo.displayName=\"DropdownMenu\",Wo.Item=jo,Wo.Separator=W,Jo.Title=E,Jo.ButtonGroup=te,Jo.Button=L,Jo.ButtonIcon=N,Jo.Dropdown=ee;const qo=r(({className:t,children:n,...o},i)=>{const r=S(\"io-panel-body\",t);return e(\"div\",{className:r,ref:i,\"data-testid\":\"panel-body\",...o,children:n})});function Go({className:t,...n}){const o=S(\"io-panel-footer\",t);return e(re,{className:o,...n})}function Yo({className:t,children:n,...o}){const i=S(\"io-panel\",t);return e(\"div\",{className:i,\"data-testid\":\"panel\",...o,children:n})}function Qo({className:t,variant:n=\"default\",children:o,...i}){const r=S(\"io-pill\",\"default\"!==n&&[`io-pill-${n}`],t);return e(\"div\",{className:r,role:\"status\",...i,children:o})}function Xo({className:t,variant:n=\"active\",value:o=0,...i}){const r=S(\"io-progress\",n,t);let a;return a=o<0?0:o>100?100:o,e(\"div\",{className:r,role:\"progressbar\",\"aria-valuenow\":a,\"aria-valuemin\":0,\"aria-valuemax\":100,...i,children:e(\"div\",{className:\"io-progress-bar\",style:{width:`${a}%`}})})}\n/*!\n * OverlayScrollbars\n * Version: 2.14.0\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */qo.displayName=\"PanelBody\",Go.ButtonGroup=te,Go.Button=L,Go.ButtonIcon=N,Go.Dropdown=ee,Yo.Header=Jo,Yo.Body=qo,Yo.Footer=Go,Qo.Icon=x;const Zo=(e,t)=>{const{o:n,i:o,u:i}=e;let r,a=n;const s=(e,t)=>{const n=a,s=e,l=t||(o?!o(n,s):n!==s);return(l||i)&&(a=s,r=n),[a,l,r]};return[t?e=>s(t(a,r),e):s,e=>[a,!!e,r]]},ei=\"undefined\"!=typeof window&&\"undefined\"!=typeof HTMLElement&&!!window.document?window:{},ti=Math.max,ni=Math.min,oi=Math.round,ii=Math.abs,ri=Math.sign,ai=ei.cancelAnimationFrame,si=ei.requestAnimationFrame,li=ei.setTimeout,ci=ei.clearTimeout,ui=e=>void 0!==ei[e]?ei[e]:void 0,di=ui(\"MutationObserver\"),fi=ui(\"IntersectionObserver\"),hi=ui(\"ResizeObserver\"),pi=ui(\"ScrollTimeline\"),mi=e=>void 0===e,gi=e=>null===e,vi=e=>\"number\"==typeof e,yi=e=>\"string\"==typeof e,wi=e=>\"boolean\"==typeof e,bi=e=>\"function\"==typeof e,ki=e=>Array.isArray(e),Ci=e=>\"object\"==typeof e&&!ki(e)&&!gi(e),Si=e=>{const t=!!e&&e.length,n=vi(t)&&t>-1&&t%1==0;return!!(ki(e)||!bi(e)&&n)&&(!(t>0&&Ci(e))||t-1 in e)},xi=e=>!!e&&e.constructor===Object,Ni=e=>e instanceof HTMLElement,Ii=e=>e instanceof Element;function Ai(e,t){if(Si(e))for(let n=0;n<e.length&&!1!==t(e[n],n,e);n++);else e&&Ai(Object.keys(e),n=>t(e[n],n,e));return e}const Pi=(e,t)=>e.indexOf(t)>=0,Ei=(e,t)=>e.concat(t),Ti=(e,t,n)=>(!yi(t)&&Si(t)?Array.prototype.push.apply(e,t):e.push(t),e),Di=e=>Array.from(e||[]),Bi=e=>ki(e)?e:!yi(e)&&Si(e)?Di(e):[e],Li=e=>!!e&&!e.length,Ri=e=>Di(new Set(e)),Fi=(e,t,n)=>{Ai(e,e=>!e||e.apply(void 0,t||[])),n||(e.length=0)},Oi=\"paddingTop\",Mi=\"paddingRight\",$i=\"paddingLeft\",_i=\"paddingBottom\",zi=\"marginLeft\",Hi=\"marginRight\",ji=\"marginBottom\",Vi=\"overflowX\",Wi=\"overflowY\",Ki=\"width\",Ui=\"height\",Ji=\"visible\",qi=\"hidden\",Gi=\"scroll\",Yi=(e,t,n,o)=>{if(e&&t){let o=!0;return Ai(n,n=>{e[n]!==t[n]&&(o=!1)}),o}return!1},Qi=(e,t)=>Yi(e,t,[\"w\",\"h\"]),Xi=(e,t)=>Yi(e,t,[\"x\",\"y\"]),Zi=(e,t)=>Yi(e,t,[\"t\",\"r\",\"b\",\"l\"]),er=(e,...t)=>e.bind(0,...t),tr=e=>{let t;const n=e?li:si,o=e?ci:ai;return[i=>{o(t),t=n(()=>i(),bi(e)?e():e)},()=>o(t)]},nr=e=>{const t=bi(e)?e():e;if(vi(t)){const e=t?li:si,n=t?ci:ai;return o=>{const i=e(()=>o(),t);return()=>{n(i)}}}return t&&t._},or=(e,t)=>{const{p:n,v:o,S:i,m:r}=t||{};let a,s,l,c;const u=function(t){s&&s(),a&&a(),c=s=a=l=void 0,e.apply(this,t)},d=e=>r&&l?r(l,e):e,f=()=>{s&&l&&u(d(l)||l)},h=function(){const e=Di(arguments),t=nr(n);if(t){const n=\"function\"==typeof i?i():i,r=nr(o),h=d(e)||e,p=u.bind(0,h);s&&s(),n&&!c?(p(),c=!0,s=t(()=>c=void 0)):(s=t(p),r&&!a&&(a=r(f))),l=h}else u(e)};return h.O=f,h},ir=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),rr=e=>e?Object.keys(e):[],ar=(e,t,n,o,i,r,a)=>{const s=[t,n,o,i,r,a];return\"object\"==typeof e&&!gi(e)||bi(e)||(e={}),Ai(s,t=>{Ai(t,(n,o)=>{const i=t[o];if(e===i)return!0;const r=ki(i);if(i&&xi(i)){const t=e[o];let n=t;r&&!ki(t)?n=[]:r||xi(t)||(n={}),e[o]=ar(n,i)}else e[o]=r?i.slice():i})}),e},sr=(e,t)=>Ai(ar({},e),(e,t,n)=>{void 0===e?delete n[t]:e&&xi(e)&&(n[t]=sr(e))}),lr=e=>!rr(e).length,cr=()=>{},ur=(e,t,n)=>ti(e,ni(t,n)),dr=e=>Ri((ki(e)?e:(e||\"\").split(\" \")).filter(e=>e)),fr=(e,t)=>e&&e.getAttribute(t),hr=(e,t)=>e&&e.hasAttribute(t),pr=(e,t,n)=>{Ai(dr(t),t=>{e&&e.setAttribute(t,String(n||\"\"))})},mr=(e,t)=>{Ai(dr(t),t=>e&&e.removeAttribute(t))},gr=(e,t)=>{const n=dr(fr(e,t)),o=er(pr,e,t),i=(e,t)=>{const o=new Set(n);return Ai(dr(e),e=>{o[t](e)}),Di(o).join(\" \")};return{C:e=>o(i(e,\"delete\")),$:e=>o(i(e,\"add\")),H:e=>{const t=dr(e);return t.reduce((e,t)=>e&&n.includes(t),t.length>0)}}},vr=(e,t,n)=>(gr(e,t).C(n),er(yr,e,t,n)),yr=(e,t,n)=>(gr(e,t).$(n),er(vr,e,t,n)),wr=(e,t,n,o)=>(o?yr:vr)(e,t,n),br=(e,t,n)=>gr(e,t).H(n),kr=e=>gr(e,\"class\"),Cr=(e,t)=>{kr(e).C(t)},Sr=(e,t)=>(kr(e).$(t),er(Cr,e,t)),xr=(e,t)=>{const n=t?Ii(t)&&t:document;return n?Di(n.querySelectorAll(e)):[]},Nr=(e,t)=>Ii(e)&&e.matches(t),Ir=e=>Nr(e,\"body\"),Ar=e=>e?Di(e.childNodes):[],Pr=e=>e&&e.parentElement,Er=(e,t)=>Ii(e)&&e.closest(t),Tr=e=>document.activeElement,Dr=(e,t,n)=>{const o=Er(e,t),i=e&&((e,t)=>{const n=t?Ii(t)&&t:document;return n&&n.querySelector(e)})(n,o),r=Er(i,t)===o;return!(!o||!i)&&(o===e||i===e||r&&Er(Er(e,n),t)!==o)},Br=e=>{Ai(Bi(e),e=>{const t=Pr(e);e&&t&&t.removeChild(e)})},Lr=(e,t)=>er(Br,e&&t&&Ai(Bi(t),t=>{t&&e.appendChild(t)}));let Rr;const Fr=e=>{const t=document.createElement(\"div\");return pr(t,\"class\",e),t},Or=e=>{const t=Fr(),n=Rr,o=e.trim();return t.innerHTML=n?n.createHTML(o):o,Ai(Ar(t),e=>Br(e))},Mr=(e,t)=>e.getPropertyValue(t)||e[t]||\"\",$r=e=>{const t=e||0;return isFinite(t)?t:0},_r=e=>$r(parseFloat(e||\"\")),zr=e=>Math.round(1e4*e)/1e4,Hr=e=>`${zr($r(e))}px`;function jr(e,t){e&&t&&Ai(t,(t,n)=>{try{const o=e.style,i=gi(t)||wi(t)?\"\":vi(t)?Hr(t):t;0===n.indexOf(\"--\")?o.setProperty(n,i):o[n]=i}catch(e){}})}function Vr(e,t,n){const o=yi(t);let i=o?\"\":{};if(e){const r=ei.getComputedStyle(e,n)||e.style;i=o?Mr(r,t):Di(t).reduce((e,t)=>(e[t]=Mr(r,t),e),i)}return i}const Wr=(e,t,n)=>{const o=t?`${t}-`:\"\",i=n?`-${n}`:\"\",r=`${o}top${i}`,a=`${o}right${i}`,s=`${o}bottom${i}`,l=`${o}left${i}`,c=Vr(e,[r,a,s,l]);return{t:_r(c[r]),r:_r(c[a]),b:_r(c[s]),l:_r(c[l])}},Kr=(e,t)=>\"translate\"+(Ci(e)?`(${e.x},${e.y})`:`${t?\"X\":\"Y\"}(${e})`),Ur={w:0,h:0},Jr=(e,t)=>t?{w:t[`${e}Width`],h:t[`${e}Height`]}:Ur,qr=e=>Jr(\"inner\",e||ei),Gr=er(Jr,\"offset\"),Yr=er(Jr,\"client\"),Qr=er(Jr,\"scroll\"),Xr=e=>{const t=parseFloat(Vr(e,Ki))||0,n=parseFloat(Vr(e,Ui))||0;return{w:t-oi(t),h:n-oi(n)}},Zr=e=>e.getBoundingClientRect(),ea=e=>!(!e||!e[Ui]&&!e[Ki]),ta=(e,t)=>{const n=ea(e);return!ea(t)&&n},na=(e,t,n,o)=>{Ai(dr(t),t=>{e&&e.removeEventListener(t,n,o)})},oa=(e,t,n,o)=>{var i;const r=null==(i=o&&o.I)||i,a=o&&o.A||!1,s=o&&o.T||!1,l={passive:r,capture:a};return er(Fi,dr(t).map(t=>{const o=s?i=>{na(e,t,o,a),n&&n(i)}:n;return e&&e.addEventListener(t,o,l),er(na,e,t,o,a)}))},ia=e=>e.stopPropagation(),ra=e=>e.preventDefault(),aa=e=>ia(e)||ra(e),sa=(e,t)=>{const{x:n,y:o}=vi(t)?{x:t,y:t}:t||{};vi(n)&&(e.scrollLeft=n),vi(o)&&(e.scrollTop=o)},la=e=>({x:e.scrollLeft,y:e.scrollTop}),ca=(e,t)=>{const{D:n,M:o}=e,{w:i,h:r}=t,a=(e,t,n)=>{let o=ri(e)*n,i=ri(t)*n;if(o===i){const n=ii(e),r=ii(t);i=n>r?0:i,o=n<r?0:o}return o=o===i?0:o,[o+0,i+0]},[s,l]=a(n.x,o.x,i),[c,u]=a(n.y,o.y,r);return{D:{x:s,y:c},M:{x:l,y:u}}},ua=({D:e,M:t})=>{const n=(e,t)=>0===e&&e<=t;return{x:n(e.x,t.x),y:n(e.y,t.y)}},da=({D:e,M:t},n)=>{const o=(e,t,n)=>ur(0,1,(e-n)/(e-t)||0);return{x:o(e.x,t.x,n.x),y:o(e.y,t.y,n.y)}},fa=e=>{e&&e.focus&&e.focus({preventScroll:!0,focusVisible:!1})},ha=(e,t)=>{Ai(Bi(t),e)},pa=e=>{const t=new Map,n=(e,n)=>{if(e){const o=t.get(e);ha(e=>{o&&o[e?\"delete\":\"clear\"](e)},n)}else t.forEach(e=>{e.clear()}),t.clear()},o=(e,i)=>{if(yi(e)){const o=t.get(e)||new Set;return t.set(e,o),ha(e=>{bi(e)&&o.add(e)},i),er(n,e,i)}wi(i)&&i&&n();const r=rr(e),a=[];return Ai(r,t=>{const n=e[t];n&&Ti(a,o(t,n))}),er(Fi,a)};return o(e||{}),[o,n,(e,n)=>{Ai(Di(t.get(e)),e=>{n&&!Li(n)?e.apply(0,n):e()})}]},ma={},ga={},va=(e,t,n)=>rr(e).map(o=>{const{static:i,instance:r}=e[o],[a,s,l]=n||[],c=n?r:i;if(c){const e=n?c(a,s,t):c(t);return(l||ga)[o]=e}}),ya=e=>ga[e],wa=\"data-overlayscrollbars\",ba=\"os-environment\",ka=`${ba}-scrollbar-hidden`,Ca=`${wa}-initialize`,Sa=\"noClipping\",xa=`${wa}-body`,Na=wa,Ia=`${wa}-viewport`,Aa=Vi,Pa=Wi,Ea=\"measuring\",Ta=\"scrollbarHidden\",Da=`${wa}-padding`,Ba=`${wa}-content`,La=\"os-size-observer\",Ra=`${La}-appear`,Fa=`${La}-listener`,Oa=\"os-scrollbar\",Ma=`${Oa}-rtl`,$a=`${Oa}-horizontal`,_a=`${Oa}-vertical`,za=`${Oa}-track`,Ha=`${Oa}-handle`,ja=`${Oa}-visible`,Va=`${Oa}-cornerless`,Wa=`${Oa}-interaction`,Ka=`${Oa}-unusable`,Ua=`${Oa}-auto-hide`,Ja=`${Ua}-hidden`,qa=`${Oa}-wheel`,Ga=`${za}-interactive`,Ya=`${Ha}-interactive`,Qa=e=>0===e.indexOf(Ji),Xa=(e,t)=>{if(\"auto\"===e)return t?Gi:qi;const n=e||qi;return[qi,Gi,Ji].includes(n)?n:qi},Za=(e,t)=>{const{overflowX:n,overflowY:o}=Vr(e,[Vi,Wi]);return{x:Xa(n,t.x),y:Xa(o,t.y)}},es=\"__osScrollbarsHidingPlugin\",ts=e=>JSON.stringify(e,(e,t)=>{if(bi(t))throw 0;return t}),ns=(e,t)=>e?`${t}`.split(\".\").reduce((e,t)=>e&&ir(e,t)?e[t]:void 0,e):void 0,os=[33,99],is=[222,666,!0],rs={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[[\"img\",\"load\"]],debounce:{mutation:[0,33],resize:null,event:os,env:is},attributes:null,ignoreMutation:null,flowDirectionStyles:null},overflow:{x:\"scroll\",y:\"scroll\"},scrollbars:{theme:\"os-theme-dark\",visibility:\"auto\",autoHide:\"never\",autoHideDelay:1300,autoHideSuspend:!1,dragScroll:!0,clickScroll:!1,pointers:[\"mouse\",\"touch\",\"pen\"]}},as=(e,t)=>{const n={};return Ai(Ei(rr(t),rr(e)),o=>{const i=e[o],r=t[o];if(Ci(i)&&Ci(r))ar(n[o]={},as(i,r)),lr(n[o])&&delete n[o];else if(ir(t,o)&&r!==i){let e=!0;if(ki(i)||ki(r))try{ts(i)===ts(r)&&(e=!1)}catch(e){}e&&(n[o]=r)}}),n},ss=(e,t,n)=>o=>[ns(e,o),n||void 0!==ns(t,o)];let ls;let cs;const us=()=>{const e=(e,t,n)=>{Lr(document.body,e),Lr(document.body,e);const o=Yr(e),i=Gr(e),r=Xr(t);return n&&Br(e),{x:i.h-o.h+r.h,y:i.w-o.w+r.w}},t=Or(`<div class=\"${ba}\"><div></div><style>${`.${ba}{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.${ba} div{width:200%;height:200%;margin:10px 0}.${ka}{scrollbar-width:none!important}.${ka}::-webkit-scrollbar,.${ka}::-webkit-scrollbar-corner{appearance:none!important;display:none!important;width:0!important;height:0!important}`}</style></div>`)[0],n=t.firstChild,o=t.lastChild,i=ls;i&&(o.nonce=i);const[r,,a]=pa(),[s,l]=Zo({o:e(t,n),i:Xi},er(e,t,n,!0)),[c]=l(),u=(e=>{let t=!1;const n=Sr(e,ka);try{t=\"none\"===Vr(e,\"scrollbar-width\")||\"none\"===Vr(e,\"display\",\"::-webkit-scrollbar\")}catch(e){}return n(),t})(t),d={x:0===c.x,y:0===c.y},f={elements:{host:null,padding:!u,viewport:e=>u&&Ir(e)&&e,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},h=ar({},rs),p=er(ar,{},h),m=er(ar,{},f),g={P:c,k:d,U:u,J:!!pi,G:er(r,\"r\"),K:m,Z:e=>ar(f,e)&&m(),tt:p,nt:e=>ar(h,e)&&p(),ot:ar({},f),st:ar({},h)};if(mr(t,\"style\"),Br(t),oa(ei,\"resize\",()=>{a(\"r\",[])}),bi(ei.matchMedia)&&!u&&(!d.x||!d.y)){const e=t=>{const n=ei.matchMedia(`(resolution: ${ei.devicePixelRatio}dppx)`);oa(n,\"change\",()=>{t(),e(t)},{T:!0})};e(()=>{const[e,t]=s();ar(g.P,e),a(\"r\",[t])})}return g},ds=()=>(cs||(cs=us()),cs),fs=(e,t,n,o)=>{let i=!1;const{et:r,ct:a,rt:s,it:l,lt:c,ut:u}=o||{},[d,f]=((e,t,n)=>{let o=!1;const i=!!n&&new WeakMap,r=r=>{if(i&&n){const a=n.map(t=>{const[n,o]=t||[];return[o&&n?(r||xr)(n,e):[],o]});Ai(a,n=>Ai(n[0],r=>{const a=n[1],s=i.get(r)||[];if(e.contains(r)&&a){const e=oa(r,a,n=>{o?(e(),i.delete(r)):t(n)});i.set(r,Ti(s,e))}else Fi(s),i.delete(r)}))}};return r(),[()=>{o=!0},r]})(e,()=>i&&n(!0),s),h=a||[],p=Ei(r||[],h),m=(i,r)=>{if(!Li(r)){const a=c||cr,s=u||cr,d=[],p=[];let m=!1,g=!1;if(Ai(r,n=>{const{attributeName:i,target:r,type:c,oldValue:u,addedNodes:f,removedNodes:v}=n,y=\"attributes\"===c,w=\"childList\"===c,b=e===r,k=y&&i,C=k&&fr(r,i||\"\"),S=yi(C)?C:null,x=k&&u!==S,N=Pi(h,i)&&x;if(t&&(w||!b)){const t=y&&x,c=t&&l&&Nr(r,l),h=(c?!a(r,i,u,S):!y||t)&&!s(n,!!c,e,o);Ai(f,e=>Ti(d,e)),Ai(v,e=>Ti(d,e)),g=g||h}!t&&b&&x&&!a(r,i,u,S)&&(Ti(p,i),m=m||N)}),f(e=>Ri(d).reduce((t,n)=>(Ti(t,xr(e,n)),Nr(n,e)?Ti(t,n):t),[])),t)return!i&&g&&n(!1),[!1];if(!Li(p)||m){const e=[Ri(p),m];return i||n.apply(0,e),e}}},g=new di(er(m,!1));return[()=>(g.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:p,subtree:t,childList:t,characterData:t}),i=!0,()=>{i&&(d(),g.disconnect(),i=!1)}),()=>{if(i)return m(!0,g.takeRecords())}]};let hs=null;const ps=(e,t,n)=>{const{ft:o}=n||{},i=ya(\"__osSizeObserverPlugin\"),[r]=Zo({o:!1,u:!0});return()=>{const n=[],a=Or(`<div class=\"${La}\"><div class=\"${Fa}\"></div></div>`)[0],s=a.firstChild,l=e=>{let n=!1,o=!1;if(ki(e)&&!Li(e)){const t=e[0],[i,,a]=r(t.contentRect),s=ea(i);o=ta(i,a),n=!o&&!s}else o=!0===e;n||t({_t:!0,ft:o})};if(hi){if(!wi(hs)){const t=new hi(cr);t.observe(e,{get box(){hs=!0}}),hs=hs||!1,t.disconnect()}const t=or(l,{p:0,v:0}),o=e=>t(e),i=new hi(o);if(i.observe(hs?e:s),Ti(n,[()=>{i.disconnect()},!hs&&Lr(e,a)]),hs){const t=new hi(o);t.observe(e,{box:\"border-box\"}),Ti(n,()=>t.disconnect())}}else{if(!i)return cr;{const[t,r]=i(s,l,o);Ti(n,Ei([Sr(a,Ra),oa(a,\"animationstart\",t),Lr(e,a)],r))}}return er(Fi,n)}},ms=(e,t)=>{let n;const o=Fr(\"os-trinsic-observer\"),[i]=Zo({o:!1}),r=(e,n)=>{if(e){const o=i((e=>0===e.h||e.isIntersecting||e.intersectionRatio>0)(e)),[,r]=o;return r&&!n&&t(o)&&[o]}},a=(e,t)=>r(t.pop(),e);return[()=>{const t=[];if(fi)n=new fi(er(a,!1),{root:e}),n.observe(o),Ti(t,()=>{n.disconnect()});else{const e=()=>{const e=Gr(o);r(e)};Ti(t,ps(o,e)()),e()}return er(Fi,Ti(t,Lr(e,o)))},()=>n&&a(!0,n.takeRecords())]},gs=(e,t,n,o)=>{let i,r,a,s,l,c,u,d;const f=`[${Na}]`,h=`[${Ia}]`,p=[\"id\",\"class\",\"style\",\"open\",\"wrap\",\"cols\",\"rows\"],{dt:m,vt:g,L:v,gt:y,ht:w,V:b,bt:k,wt:C,yt:S,St:x}=e,N=e=>\"rtl\"===Vr(e,\"direction\"),I={Ot:!1,B:N(m)},A=ds(),P=ya(es),[E]=Zo({i:Qi,o:{w:0,h:0}},()=>{const o=P&&P.R(e,t,I,A,n).Y,i=!(k&&b)&&br(g,Na,Sa),r=!b&&C(\"arrange\"),a=r&&la(y),s=a&&x(),l=S(Ea,i),c=r&&o&&o(),u=Qr(v),d=Xr(v);return c&&c(),sa(y,a),s&&s(),i&&l(),{w:u.w+d.w,h:u.h+d.h}}),T=(()=>{let e,t,n;const i=or(o,{p:()=>e,v:()=>t,S:()=>n,m(e,t){const[n]=e,[o]=t;return[Ei(rr(n),rr(o)).reduce((e,t)=>(e[t]=n[t]||o[t],e),{})]}}),r=(o,r)=>{if(ki(r)){const[o,i,a]=r;e=o,t=i,n=a}else vi(r)?(e=r,t=!1,n=!1):(e=!1,t=!1,n=!1);i(o)};return r.O=i.O,r})(),D=e=>{const t=N(m);ar(e,{Ct:d!==t}),ar(I,{B:t}),d=t},B=(e,t)=>{const[n,i]=e,r={$t:i};return ar(I,{Ot:n}),t||o(r),r},L=({_t:e,ft:t})=>{const n=t?o:T,i={_t:e||t,ft:t};D(i),n(i,r)},R=(e,t)=>{const[,n]=E(),o={xt:n};return D(o),n&&!t&&T(o,e?a:i),o},F=(e,t,n)=>{const o={Ht:t};return D(o),t&&!n&&T(o,i),o},[O,M]=w?ms(g,B):[],$=!b&&ps(g,L,{ft:!0}),[_,z]=fs(g,!1,F,{ct:p,et:p}),H=b&&hi&&new hi(e=>{const t=e[e.length-1].contentRect;L({_t:!0,ft:ta(t,u)}),u=t});return[()=>{H&&H.observe(g);const e=$&&$(),t=O&&O(),n=_(),o=A.G(e=>{const[,t]=E();T({Et:e,xt:t,_t:k},s)});return()=>{H&&H.disconnect(),e&&e(),t&&t(),c&&c(),n(),o()}},({zt:e,It:t,At:n})=>{const o={},[u]=e(\"update.ignoreMutation\"),[d,m]=e(\"update.attributes\"),[g,y]=e(\"update.elementEvents\"),[k,C]=e(\"update.debounce\"),S=t||n;if(y||m){l&&l(),c&&c();const[e,t]=fs(w||v,!0,R,{et:Ei(p,d||[]),rt:g,it:f,ut:(e,t)=>{const{target:n,attributeName:o}=e;return!(t||!o||b)&&Dr(n,f,h)||!!Er(n,`.${Oa}`)||!!(e=>bi(u)&&u(e))(e)}});c=e(),l=t}if(C&&(T.O(),ki(k)||vi(k)?(i=k,r=!1,a=os,s=is):xi(k)?(i=k.mutation,r=k.resize,a=k.event,s=k.env):(i=!1,r=!1,a=!1,s=!1)),S){const e=z(),t=M&&M(),n=l&&l();e&&ar(o,F(e[0],e[1],S)),t&&ar(o,B(t[0],S)),n&&ar(o,R(n[0],S))}return D(o),o},I]},vs=(e,t)=>bi(t)?t.apply(0,e):t,ys=(e,t,n,o)=>{const i=mi(o)?n:o;return vs(e,i)||t.apply(0,e)},ws=(e,t,n,o)=>{const i=mi(o)?n:o,r=vs(e,i);return!!r&&(Ni(r)?r:t.apply(0,e))},bs=(e,t,n,o)=>{const i=\"--os-viewport-percent\",r=\"--os-scroll-percent\",a=\"--os-scroll-direction\",{K:s}=ds(),{scrollbars:l}=s(),{slot:c}=l,{dt:u,vt:d,L:f,Tt:h,gt:p,bt:m,V:g}=t,{scrollbars:v}=h?{}:e,{slot:y}=v||{},w=[],b=[],k=[],C=ws([u,d,f],()=>g&&m?u:d,c,y),S=e=>{if(pi){let t=null,o=[];const i=new pi({source:p,axis:e}),r=()=>{t&&t.cancel(),t=null},a=a=>{const{Dt:s}=n,l=ua(s)[e],c=\"x\"===e,u=[Kr(0,c),Kr(`calc(-100% + 100cq${c?\"w\":\"h\"})`,c)],d=l?u:u.reverse();return o[0]===d[0]&&o[1]===d[1]||(o=d,r(),t=a.Mt.animate({clear:[\"left\"],transform:d},{timeline:i})),r};return{kt:a}}},x={x:S(\"x\"),y:S(\"y\")},N=(e,t,n)=>{const o=n?Sr:Cr;Ai(e,e=>{o(e.Lt,t)})},I=(e,t)=>{Ai(e,e=>{const[n,o]=t(e);jr(n,o)})},A=(e,t,n)=>{const o=wi(n),i=!o||!n;(!o||n)&&N(b,e,t),i&&N(k,e,t)},P=e=>{const t=e?\"x\":\"y\",n=Fr(`${Oa} ${e?$a:_a}`),i=Fr(za),r=Fr(Ha),a={Lt:n,Ut:i,Mt:r},s=x[t];return Ti(e?b:k,a),Ti(w,[Lr(n,i),Lr(i,r),er(Br,n),s&&s.kt(a),o(a,A,e)]),a},E=er(P,!0),T=er(P,!1);return E(),T(),[{Pt:()=>{const e=(()=>{const{Rt:e,Vt:t}=n,o=(e,t)=>ur(0,1,e/(e+t)||0);return{x:o(t.x,e.x),y:o(t.y,e.y)}})(),t=e=>t=>[t.Lt,{[i]:zr(e)+\"\"}];I(b,t(e.x)),I(k,t(e.y))},Nt:()=>{if(!pi){const{Dt:e}=n,t=da(e,la(p)),o=e=>t=>[t.Lt,{[r]:zr(e)+\"\"}];I(b,o(t.x)),I(k,o(t.y))}},qt:()=>{const{Dt:e}=n,t=ua(e),o=e=>t=>[t.Lt,{[a]:e?\"0\":\"1\"}];I(b,o(t.x)),I(k,o(t.y)),pi&&(b.forEach(x.x.kt),k.forEach(x.y.kt))},Bt:()=>{if(g&&!m){const{Rt:e,Dt:t}=n,o=ua(t),i=da(t,la(p)),r=t=>{const{Lt:n}=t,r=Pr(n)===f&&n,a=(e,t,n)=>{const o=t*e;return Hr(n?o:-o)};return[r,r&&{transform:Kr({x:a(i.x,e.x,o.x),y:a(i.y,e.y,o.y)})}]};I(b,r),I(k,r)}},Ft:A,jt:{Xt:b,Yt:E,Wt:er(I,b)},Jt:{Xt:k,Yt:T,Wt:er(I,k)}},()=>(Lr(C,b[0].Lt),Lr(C,k[0].Lt),er(Fi,w))]},ks=(e,t,n,o)=>(i,r,a)=>{const{vt:s,L:l,V:c,gt:u,Gt:d,St:f}=t,{Lt:h,Ut:p,Mt:m}=i,[g,v]=tr(333),[y,w]=tr(444),b=e=>{bi(u.scrollBy)&&u.scrollBy({behavior:\"smooth\",left:e.x,top:e.y})};let k=!0;return er(Fi,[oa(m,\"pointermove pointerleave\",o),oa(h,\"pointerenter\",()=>{r(Wa,!0)}),oa(h,\"pointerleave pointercancel\",()=>{r(Wa,!1)}),!c&&oa(h,\"mousedown\",()=>{const e=Tr();(hr(e,Ia)||hr(e,Na)||e===document.body)&&li(er(fa,l),25)}),oa(h,\"wheel\",e=>{const{deltaX:t,deltaY:n,deltaMode:o}=e;k&&0===o&&Pr(h)===s&&b({x:t,y:n}),k=!1,r(qa,!0),g(()=>{k=!0,r(qa)}),ra(e)},{I:!1,A:!0}),oa(h,\"pointerdown\",()=>{const e=oa(d,\"click\",e=>{t(),aa(e)},{T:!0,A:!0,I:!1}),t=oa(d,\"pointerup pointercancel\",()=>{t(),setTimeout(e,150)},{A:!0,I:!0})},{A:!0,I:!0}),(()=>{const t=\"pointerup pointercancel lostpointercapture\",o=\"client\"+(a?\"X\":\"Y\"),i=a?Ki:Ui,r=a?\"left\":\"top\",s=a?\"w\":\"h\",l=a?\"x\":\"y\",c=(e,t)=>o=>{const{Rt:i}=n,r=Gr(p)[s]-Gr(m)[s],a=t*o/r*i[l];sa(u,{[l]:e+a})},h=[];return oa(p,\"pointerdown\",n=>{const a=Er(n.target,`.${Ha}`)===m,g=a?m:p,v=e.scrollbars,k=v[a?\"dragScroll\":\"clickScroll\"],{button:C,isPrimary:S,pointerType:x}=n,{pointers:N}=v;if(0===C&&S&&k&&(N||[]).includes(x)){Fi(h),w();const e=!a&&(n.shiftKey||\"instant\"===k),v=er(Zr,m),C=er(Zr,p),S=(e,t)=>(e||v())[r]-(t||C())[r],x=oi(Zr(u)[i])/Gr(u)[s]||1,N=c(la(u)[l],1/x),I=n[o],A=v(),P=C(),E=A[i],T=S(A,P)+E/2,D=I-P[r],B=a?0:D-T,L=e=>{Fi(O),g.releasePointerCapture(e.pointerId)},R=a||e,F=f(),O=[oa(d,t,L),oa(d,\"selectstart\",e=>ra(e),{I:!1}),oa(p,t,L),R&&oa(p,\"pointermove\",e=>N(B+(e[o]-I))),R&&(()=>{const e=la(u);F();const t=la(u),n={x:t.x-e.x,y:t.y-e.y};(ii(n.x)>3||ii(n.y)>3)&&(f(),sa(u,e),b(n),y(F))})];if(g.setPointerCapture(n.pointerId),e)N(B);else if(!a){const e=ya(\"__osClickScrollPlugin\");if(e){const t=e(N,B,E,e=>{e?F():Ti(O,F)});Ti(O,t),Ti(h,er(t,!0))}}}})})(),v,w])},Cs=e=>{const t=ds(),{K:n,U:o}=t,{elements:i}=n(),{padding:r,viewport:a,content:s}=i,l=Ni(e),c=l?{}:e,{elements:u}=c,{padding:d,viewport:f,content:h}=u||{},p=l?e:c.target,m=Ir(p),g=p.ownerDocument,v=g.documentElement,y=()=>g.defaultView||ei,w=er(ys,[p]),b=er(ws,[p]),k=er(Fr,\"\"),C=er(w,k,a),S=er(b,k,s),x=C(f),N=x===p,I=N&&m,A=!N&&S(h),P=!N&&x===A,E=I?v:x,T=I?E:p,D=!N&&b(k,r,d),B=!P&&A,L=[B,E,D,T].map(e=>Ni(e)&&!Pr(e)&&e),R=e=>e&&Pi(L,e),F=!R(E)&&(e=>{const t=Gr(e),n=Qr(e),o=Vr(e,Vi),i=Vr(e,Wi);return n.w-t.w>0&&!Qa(o)||n.h-t.h>0&&!Qa(i)})(E)?E:p,O=I?v:E,M={dt:p,vt:T,L:E,rn:D,ht:B,gt:O,Kt:I?g:E,ln:m?v:F,Gt:g,bt:m,Tt:l,V:N,an:y,wt:e=>br(E,Ia,e),yt:(e,t)=>wr(E,Ia,e,t),St:()=>wr(O,Ia,\"scrolling\",!0)},{dt:$,vt:_,rn:z,L:H,ht:j}=M,V=[()=>{mr(_,[Na,Ca]),mr($,Ca),m&&mr(v,[Ca,Na])}];let W=Ar([j,H,z,_,$].find(e=>e&&!R(e)));const K=I?$:j||H,U=er(Fi,V);return[M,()=>{const e=y(),t=Tr(),n=e=>{Lr(Pr(e),Ar(e)),Br(e)},i=e=>oa(e,\"focusin focusout focus blur\",aa,{A:!0,I:!1}),r=\"tabindex\",a=fr(H,r),s=i(t);return pr(_,Na,N?\"\":\"host\"),pr(z,Da,\"\"),pr(H,Ia,\"\"),pr(j,Ba,\"\"),N||(pr(H,r,a||\"-1\"),m&&pr(v,xa,\"\")),Lr(K,W),Lr(_,z),Lr(z||_,!N&&H),Lr(H,j),Ti(V,[s,()=>{const e=Tr(),t=R(H),o=t&&e===H?$:e,s=i(o);mr(z,Da),mr(j,Ba),mr(H,Ia),m&&mr(v,xa),a?pr(H,r,a):mr(H,r),R(j)&&n(j),t&&n(H),R(z)&&n(z),fa(o),s()}]),o&&!N&&(yr(H,Ia,Ta),Ti(V,er(mr,H,Ia))),fa(!N&&m&&t===$&&e.top===e?H:t),s(),W=0,U},U]},Ss=({ht:e})=>({Qt:t,un:n,At:o})=>{const{$t:i}=t||{},{Ot:r}=n;e&&(i||o)&&jr(e,{[Ui]:r&&\"100%\"})},xs=({vt:e,rn:t,L:n,V:o},i)=>{const[r,a]=Zo({i:Zi,o:Wr()},er(Wr,e,\"padding\",\"\"));return({zt:e,Qt:s,un:l,At:c})=>{let[u,d]=a(c);const{U:f}=ds(),{_t:h,xt:p,Ct:m}=s||{},{B:g}=l,[v,y]=e(\"paddingAbsolute\");(h||d||(c||p))&&([u,d]=r(c));const w=!o&&(y||m||d);if(w){const e=!v||!t&&!f,o=u.r+u.l,r=u.t+u.b,a={[Hi]:e&&!g?-o:0,[ji]:e?-r:0,[zi]:e&&g?-o:0,top:e?-u.t:0,right:e?g?-u.r:\"auto\":0,left:e?g?\"auto\":-u.l:0,[Ki]:e&&`calc(100% + ${o}px)`},s={[Oi]:e?u.t:0,[Mi]:e?u.r:0,[_i]:e?u.b:0,[$i]:e?u.l:0};jr(t||n,a),jr(n,s),ar(i,{rn:u,fn:!e,F:t?s:ar({},a,s)})}return{_n:w}}},Ns=(e,t)=>{const n=ds(),{vt:o,rn:i,L:r,V:a,Kt:s,gt:l,bt:c,yt:u,an:d}=e,{U:f}=n,h=c&&a,p=er(ti,0),m={display:()=>!1,direction:e=>\"ltr\"!==e,flexDirection:e=>e.endsWith(\"-reverse\"),writingMode:e=>\"horizontal-tb\"!==e},g=rr(m),v={i:Qi,o:{w:0,h:0}},y={i:Xi,o:{}},w=e=>{u(Ea,!h&&e)},b=()=>Vr(r,g),k=(e,t)=>{const n=!rr(e).length,o=!t&&g.some(t=>{const n=e[t];return yi(n)&&m[t](n)});if(n&&!o||!(e=>!!e&&(e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length))(e))(r))return{D:{x:0,y:0},M:{x:1,y:1}};w(!0);const i=la(l),a=oa(s,Gi,e=>{const t=la(l);e.isTrusted&&t.x===i.x&&t.y===i.y&&ia(e)},{A:!0,T:!0}),c=u(\"noContent\",!0);sa(l,{x:0,y:0}),c();const d=la(l),f=Qr(l);sa(l,{x:f.w,y:f.h});const h=la(l),p={x:h.x-d.x,y:h.y-d.y};sa(l,{x:-f.w,y:-f.h});const v=la(l),y={x:v.x-d.x,y:v.y-d.y},b={x:ii(p.x)>=ii(y.x)?h.x:v.x,y:ii(p.y)>=ii(y.y)?h.y:v.y};return sa(l,i),si(()=>a()),{D:d,M:b}},C=(e,t)=>{const n=ei.devicePixelRatio%1!=0?1:0,o={w:p(e.w-t.w),h:p(e.h-t.h)};return{w:o.w>n?o.w:0,h:o.h>n?o.h:0}},S=(e,t)=>{const n=(e,t,n,o)=>{const i=e===Ji?qi:(e=>e.replace(`${Ji}-`,\"\"))(e),r=Qa(e),a=Qa(n);if(!t&&!o)return qi;if(r&&a)return Ji;if(r){return t&&o?i:t?Ji:qi}return t?i:a&&o?Ji:qi};return{x:n(t.x,e.x,t.y,e.y),y:n(t.y,e.y,t.x,e.x)}},x=e=>{const t=e=>[Ji,qi,Gi].map(t=>_(Xa(t),e)),n=t(!0).concat(t()).join(\" \");u(n),u(rr(e).map(t=>_(e[t],\"x\"===t)).join(\" \"),!0)},[N,I]=Zo(v,er(Xr,r)),[A,P]=Zo(v,er(Qr,r)),[E,T]=Zo(v),[D]=Zo(y),[B,L]=Zo(v),[R]=Zo(y),[F]=Zo({i:(e,t)=>Yi(e,t,Ri(Ei(rr(e),rr(t)))),o:{}}),[O,M]=Zo({i:(e,t)=>Xi(e.D,t.D)&&Xi(e.M,t.M),o:{D:{x:0,y:0},M:{x:0,y:0}}}),$=ya(es),_=(e,t)=>`${t?Aa:Pa}${(e=>{const t=String(e||\"\");return t?t[0].toUpperCase()+t.slice(1):\"\"})(e)}`;return({zt:a,Qt:s,un:l,At:c},{_n:m})=>{const{_t:g,Ht:v,xt:y,Ct:_,ft:z,Et:H}=s||{},j=$&&$.R(e,t,l,n,a),{X:V,Y:W,W:K}=j||{},[U,J]=((e,t)=>{const{k:n}=t,[o,i]=e(\"showNativeOverlaidScrollbars\");return[o&&n.x&&n.y,i]})(a,n),[q,G]=a(\"overflow\"),Y=Qa(q.x),Q=Qa(q.y),X=g||m||y||_||H||J;let Z=I(c),ee=P(c),te=T(c),ne=L(c);if(J&&f&&u(Ta,!U),X){br(o,Na,Sa)&&w(!0);const e=W&&W(),[t]=Z=N(c),[n]=ee=A(c),i=Yr(r),a=h&&qr(d()),s={w:p(n.w+t.w),h:p(n.h+t.h)},l={w:p((a?a.w:i.w+p(i.w-n.w))+t.w),h:p((a?a.h:i.h+p(i.h-n.h))+t.h)};e&&e(),ne=B(l),te=E(C(s,l),c)}const[oe,ie]=ne,[re,ae]=te,[se,le]=ee,[ce,ue]=Z,[de,fe]=D({x:re.w>0,y:re.h>0}),he=Y&&Q&&(de.x||de.y)||Y&&de.x&&!de.y||Q&&de.y&&!de.x,pe=m||_||H||ue||le||ie||ae||G||J||X||v&&h,[me]=a(\"update.flowDirectionStyles\"),[ge,ve]=F(me?me(r):b(),c),ye=_||z||ve||fe||c,[we,be]=ye?O(k(ge,!!me),c):M();let ke=S(de,q);w(!1),pe&&(x(ke),ke=Za(r,de),K&&V&&(V(ke,se,ce),jr(r,K(ke))));const[Ce,Se]=R(ke);return wr(o,Na,Sa,he),wr(i,Da,Sa,he),ar(t,{cn:Ce,Vt:{x:oe.w,y:oe.h},Rt:{x:re.w,y:re.h},j:de,Dt:ca(we,re)}),{sn:Se,tn:ie,nn:ae,en:be||ae}}},Is=e=>{const[t,n,o]=Cs(e),i={rn:{t:0,r:0,b:0,l:0},fn:!1,F:{[Hi]:0,[ji]:0,[zi]:0,[Oi]:0,[Mi]:0,[_i]:0,[$i]:0},Vt:{x:0,y:0},Rt:{x:0,y:0},cn:{x:qi,y:qi},j:{x:!1,y:!1},Dt:{D:{x:0,y:0},M:{x:0,y:0}}},{dt:r,gt:a,V:s,St:l}=t,{U:c,k:u}=ds(),d=!c&&(u.x||u.y),f=[Ss(t),xs(t,i),Ns(t,i)];return[n,e=>{const t={},n=d&&la(a),o=n&&l();return Ai(f,n=>{ar(t,n(e,t)||{})}),sa(a,n),o&&o(),s||sa(r,0),t},i,t,o]},As=(e,t,n,o,i)=>{let r=!1;const a=ss(t,{}),[s,l,c,u,d]=Is(e),[f,h,p]=gs(u,c,a,e=>{w({},e)}),[m,g,,v]=((e,t,n,o,i,r)=>{let a,s,l,c,u,d=cr,f=0;const h=[\"mouse\",\"pen\"],p=e=>h.includes(e.pointerType),[m,g]=tr(),[v,y]=tr(100),[w,b]=tr(100),[k,C]=tr(()=>f),[S,x]=bs(e,i,o,ks(t,i,o,e=>p(e)&&R())),{vt:N,Kt:I,bt:A}=i,{Ft:P,Pt:E,Nt:T,qt:D,Bt:B}=S,L=(e,t)=>{if(C(),e)P(Ja);else{const e=er(P,Ja,!0);f>0&&!t?k(e):e()}},R=()=>{(l?a:c)||(L(!0),v(()=>{L(!1)}))},F=e=>{P(Ua,e,!0),P(Ua,e,!1)},O=e=>{p(e)&&(a=l,l&&L(!0))},M=[C,y,b,g,()=>d(),oa(N,\"pointerover\",O,{T:!0}),oa(N,\"pointerenter\",O),oa(N,\"pointerleave\",e=>{p(e)&&(a=!1,l&&L(!1))}),oa(N,\"pointermove\",e=>{p(e)&&s&&R()}),oa(I,\"scroll\",e=>{m(()=>{T(),R()}),r(e),B()})],$=ya(es);return[()=>er(Fi,Ti(M,x())),({zt:e,At:t,Qt:i,Zt:r})=>{const{tn:a,nn:h,sn:p,en:m}=r||{},{Ct:g,ft:v}=i||{},{B:y}=n,{k:b,U:k}=ds(),{cn:C,j:S}=o,[x,N]=e(\"showNativeOverlaidScrollbars\"),[R,O]=e(\"scrollbars.theme\"),[M,_]=e(\"scrollbars.visibility\"),[z,H]=e(\"scrollbars.autoHide\"),[j,V]=e(\"scrollbars.autoHideSuspend\"),[W]=e(\"scrollbars.autoHideDelay\"),[K,U]=e(\"scrollbars.dragScroll\"),[J,q]=e(\"scrollbars.clickScroll\"),[G,Y]=e(\"overflow\"),Q=v&&!t,X=S.x||S.y,Z=a||h||m||g||t,ee=p||_||Y,te=x&&b.x&&b.y,ne=!k&&!$,oe=te||ne,ie=(e,t,n)=>{const o=e.includes(Gi)&&(M===Ji||\"auto\"===M&&t===Gi);return P(ja,o,n),o};if(f=W,Q&&(j&&X?(F(!1),d(),w(()=>{d=oa(I,\"scroll\",er(F,!0),{T:!0})})):F(!0)),(N||ne)&&P(\"os-theme-none\",oe),O&&(P(u),P(R,!0),u=R),V&&!j&&F(!0),H&&(s=\"move\"===z,l=\"leave\"===z,c=\"never\"===z,L(c,!0)),U&&P(Ya,K),q&&P(Ga,!!J),ee){const e=ie(G.x,C.x,!0),t=ie(G.y,C.y,!1);P(Va,!(e&&t))}Z&&(T(),E(),B(),m&&D(),P(Ka,!S.x,!0),P(Ka,!S.y,!1),P(Ma,y&&!A))},{},S]})(e,t,p,c,u,i),y=e=>rr(e).some(t=>!!e[t]),w=(e,i)=>{if(n())return!1;const{dn:a,At:s,It:c,pn:u}=e,d=a||{},f=!!s||!r,m={zt:ss(t,d,f),dn:d,At:f};if(u)return g(m),!1;const v=i||h(ar({},m,{It:c})),w=l(ar({},m,{un:p,Qt:v}));g(ar({},m,{Qt:v,Zt:w}));const b=y(v),k=y(w),C=b||k||!lr(d)||f;return r=!0,C&&o(e,{Qt:v,Zt:w}),C};return[()=>{const{ln:e,gt:t,St:n}=u,o=la(e),i=[f(),s(),m()],r=n();return sa(t,o),r(),er(Fi,i)},w,()=>({vn:p,gn:c}),{hn:u,bn:v},d]},Ps=new WeakMap,Es=e=>Ps.get(e),Ts=(e,t,n)=>{const{tt:o}=ds(),i=Ni(e),r=i?e:e.target,a=Es(r);if(t&&!a){let a=!1;const s=[],l={},c=e=>{const t=sr(e),n=ya(\"__osOptionsValidationPlugin\");return n?n(t,!0):t},u=ar({},o(),c(t)),[d,f,h]=pa(),[p,m,g]=pa(n),v=(e,t)=>{g(e,t),h(e,t)},[y,w,b,k,C]=As(e,u,()=>a,({dn:e,At:t},{Qt:n,Zt:o})=>{const{_t:i,Ct:r,$t:a,xt:s,Ht:l,ft:c}=n,{tn:u,nn:d,sn:f,en:h}=o;v(\"updated\",[x,{updateHints:{sizeChanged:!!i,directionChanged:!!r,heightIntrinsicChanged:!!a,overflowEdgeChanged:!!u,overflowAmountChanged:!!d,overflowStyleChanged:!!f,scrollCoordinatesChanged:!!h,contentMutation:!!s,hostMutation:!!l,appear:!!c},changedOptions:e||{},force:!!t}])},e=>v(\"scroll\",[x,e])),S=e=>{(e=>{Ps.delete(e)})(r),Fi(s),a=!0,v(\"destroyed\",[x,e]),f(),m()},x={options(e,t){if(e){const n=t?o():{},i=as(u,ar(n,c(e)));lr(i)||(ar(u,i),w({dn:i}))}return ar({},u)},on:p,off:(e,t)=>{e&&t&&m(e,t)},state(){const{vn:e,gn:t}=b(),{B:n}=e,{Vt:o,Rt:i,cn:r,j:s,rn:l,fn:c,Dt:u}=t;return ar({},{overflowEdge:o,overflowAmount:i,overflowStyle:r,hasOverflow:s,scrollCoordinates:{start:u.D,end:u.M},padding:l,paddingAbsolute:c,directionRTL:n,destroyed:a})},elements(){const{dt:e,vt:t,rn:n,L:o,ht:i,gt:r,Kt:a}=k.hn,{jt:s,Jt:l}=k.bn,c=e=>{const{Mt:t,Ut:n,Lt:o}=e;return{scrollbar:o,track:n,handle:t}},u=e=>{const{Xt:t,Yt:n}=e,o=c(t[0]);return ar({},o,{clone:()=>{const e=c(n());return w({pn:!0}),e}})};return ar({},{target:e,host:t,padding:n||o,viewport:o,content:i||o,scrollOffsetElement:r,scrollEventElement:a,scrollbarHorizontal:u(s),scrollbarVertical:u(l)})},update:e=>w({At:e,It:!0}),destroy:er(S,!1),plugin:e=>l[rr(e)[0]]};return Ti(s,[C]),((e,t)=>{Ps.set(e,t)})(r,x),va(ma,Ts,[x,d,l]),((e,t)=>{const{nativeScrollbarsOverlaid:n,body:o}=t||{},{k:i,U:r,K:a}=ds(),{nativeScrollbarsOverlaid:s,body:l}=a().cancel,c=null!=n?n:s,u=mi(o)?l:o,d=(i.x||i.y)&&c,f=e&&(gi(u)?!r:u);return!!d||!!f})(k.hn.bt,!i&&e.cancel)?(S(!0),x):(Ti(s,y()),v(\"initialized\",[x]),x.update(),x)}return a};Ts.plugin=e=>{const t=ki(e),n=t?e:[e],o=n.map(e=>va(e,Ts)[0]);return(e=>{Ai(e,e=>Ai(e,(t,n)=>{ma[n]=e[n]}))})(n),t?o:o[0]},Ts.valid=e=>{const t=e&&e.elements,n=bi(t)&&t();return xi(n)&&!!Es(n.target)},Ts.env=()=>{const{P:e,k:t,U:n,J:o,ot:i,st:r,K:a,Z:s,tt:l,nt:c}=ds();return ar({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,scrollTimeline:o,staticDefaultInitialization:i,staticDefaultOptions:r,getDefaultInitialization:a,setDefaultInitialization:s,getDefaultOptions:l,setDefaultOptions:c})},Ts.nonce=e=>{ls=e},Ts.trustedTypePolicy=e=>{Rr=e};const Ds=()=>{if(typeof window>\"u\"){const e=()=>{};return[e,e]}let e,t;const n=window,o=\"function\"==typeof n.requestIdleCallback,i=n.requestAnimationFrame,r=n.cancelAnimationFrame,a=o?n.requestIdleCallback:i,s=o?n.cancelIdleCallback:r,l=()=>{s(e),r(t)};return[(n,r)=>{l(),e=a(o?()=>{l(),t=i(n)}:n,\"object\"==typeof r?r:{timeout:2233})},l]},Bs=e=>{const{options:t,events:n,defer:o}=e||{},[i,r]=u(Ds,[]),a=d(null),s=d(o),l=d(t),c=d(n);return f(()=>{s.current=o},[o]),f(()=>{const{current:e}=a;l.current=t,Ts.valid(e)&&e.options(t||{},!0)},[t]),f(()=>{const{current:e}=a;c.current=n,Ts.valid(e)&&e.on(n||{},!0)},[n]),f(()=>()=>{var e;r(),null==(e=a.current)||e.destroy()},[]),u(()=>[e=>{const t=a.current;if(Ts.valid(t))return;const n=s.current,o=l.current||{},r=c.current||{},u=()=>a.current=Ts(e,o,r);n?i(u,n):u()},()=>a.current],[])};r((e,t)=>{const{element:n=\"div\",options:o,events:r,defer:a,children:s,...l}=e,c=n,u=d(null),p=d(null),[m,g]=Bs({options:o,events:r,defer:a});return f(()=>{const{current:e}=u,{current:t}=p;if(!e)return;return m(\"body\"===n?{target:e,cancel:{body:null}}:{target:e,elements:{viewport:t,content:t}}),()=>{var e;return null==(e=g())?void 0:e.destroy()}},[m,n]),h(t,()=>({osInstance:g,getElement:()=>u.current}),[]),i.createElement(c,{\"data-overlayscrollbars-initialize\":\"\",ref:u,...l},\"body\"===n?s:i.createElement(\"div\",{\"data-overlayscrollbars-contents\":\"\",ref:p},s))});const Ls=r((t,n)=>{const{children:o,element:i=\"div\",elementProps:r,wrapperClassName:s}=t,l=d(null),c=d(null),[u,h]=Bs({options:{scrollbars:{autoHide:\"leave\",autoHideDelay:0}},defer:!0}),p=a(e=>{c.current=e,\"function\"==typeof n?n(e):null!==n&&(n.current=e)},[n]);return f(()=>{if(c.current&&l.current)return u({target:l.current,elements:{viewport:c.current,content:c.current}}),()=>h()?.destroy()},[u,h]),e(\"div\",{\"data-overlayscrollbars-initialize\":\"\",ref:l,className:S(\"io-overlay-scrollbars-container\",s),children:e(i,{\"data-overlayscrollbars-contents\":\"\",ref:p,...r,children:o})})});function Rs({text:t=\"Label\",...n}){return e(\"label\",{...n,children:t})}var Fs=i[\"undefined\"!=typeof document&&void 0!==document.createElement?\"useLayoutEffect\":\"useEffect\"],Os=0,Ms=()=>Os++,$s=0;function _s(e,t){void 0===t&&(t=\"🅰\");var[n,o]=c($s?Ms:void 0);return Fs(()=>{void 0===n&&o(Os++),$s=1},[]),e||(void 0===n?n:t+n)}function zs(){return(\"function\"==typeof m?m:_s)()??\"\"}const Hs=r(({id:n,className:o,type:i=\"text\",name:r=\"input\",align:s=\"up\",label:l,iconPrepend:c,iconPrependOnClick:u,iconAppend:d,iconAppendOnClick:f,placeholder:h,disabled:p,readOnly:m,errorMessage:g,errorDataTestId:v,...y},w)=>{const b=zs(),k=n||`input-${b}`,C=S(\"io-control-input\",c&&\"io-control-leading-icon\",d&&\"io-control-trailing-icon\",p&&\"io-control-disabled\",m&&\"io-control-readonly\",g&&\"io-control-error\",s&&[`direction-${s}`],o),N=a(e=>{p?e.preventDefault():u&&u(e)},[u,p]),I=a(e=>{p?e.preventDefault():f&&f(e)},[f,p]);return t(\"div\",{className:C,children:[l&&e(Rs,{htmlFor:k,text:l}),c&&e(x,{variant:c,onClick:e=>N(e)}),e(\"input\",{id:k,className:\"io-input\",ref:w,type:i,name:r,tabIndex:0,placeholder:h??(()=>{switch(i){case\"email\":return\"Enter your email here...\";case\"number\":return\"Enter number here...\";case\"password\":return\"Enter your password here...\";case\"tel\":return\"Enter your phone number here...\";case\"file\":return\"Select a file...\";default:return\"Enter text here...\"}})(),\"aria-label\":l,disabled:p,readOnly:m,...g?{\"aria-invalid\":!0,\"aria-describedby\":`${k}-error`}:{},...y}),d&&e(x,{variant:d,onClick:e=>I(e)}),g&&t(\"div\",{\"data-testid\":v,id:`${k}-error`,className:\"io-input-error\",children:[e(x,{variant:\"close\"}),g]})]})});Hs.displayName=\"Input\";const js=r(({id:n,className:o,name:i=\"textarea\",align:r=\"up\",label:a,rows:s=4,placeholder:l=\"Enter text here...\",disabled:c,readOnly:u,...d},f)=>{const h=zs(),p=n||`textarea-${h}`,m=S(\"io-control-textarea\",c&&\"io-control-disabled\",u&&\"io-control-readonly\",r&&[`direction-${r}`],o);return t(\"div\",{className:m,children:[a&&e(Rs,{htmlFor:p,text:a}),e(\"textarea\",{id:p,className:\"io-textarea\",ref:f,name:i,tabIndex:0,placeholder:l,\"aria-label\":a,disabled:c,readOnly:u,rows:s,...d})]})});js.displayName=\"Textarea\";const Vs=r(({id:n,className:o,name:i=\"checkbox\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=zs(),f=n||`checkbox-${d}`,h=S(\"io-control-checkbox\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:h,children:[e(\"input\",{type:\"checkbox\",id:f,className:\"io-checkbox\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(Rs,{htmlFor:f,text:a,\"data-testid\":c[\"data-testid\"]?`${c[\"data-testid\"]}-label`:void 0})]})});Vs.displayName=\"Checkbox\";const Ws=r(({id:n,className:o,name:i=\"radio\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=zs(),f=n||`radio-${d}`,h=S(\"io-control-radio\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:h,children:[e(\"input\",{type:\"radio\",id:f,className:\"io-radio\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(Rs,{htmlFor:f,text:a})]})});Ws.displayName=\"Radio\";const Ks=()=>{const e=l(w),[t,n]=c(null),o=a(t=>e?.themes?.select(t),[e]);return f(()=>{if(!e)return;let t=!1;const o=e=>{t||n(e)};return e.themes?.onChanged(o),e.themes?.getCurrent().then(o).catch(console.warn),()=>{t=!0}},[e]),{currentTheme:t,selectTheme:o}};function Us(e,t=500){const[n,o]=c(e);return f(()=>{const n=setTimeout(()=>{o(e)},t);return()=>clearTimeout(n)},[e,t]),n}function Js(e=!0){const t=l(w),n=t?.windows.my(),o=e=>{e.isFocused||n?.hide().catch(e=>{console.error(\"Error hiding window:\",e)})};return f(()=>{if(!e)return;const t=n?.onFocusChanged(o);return()=>t?.()},[]),t}const qs=()=>void 0!==window.glue42gd||void 0!==window.glue42alert||void 0!==window.glue42dialog||void 0!==window.iodesktop;function Gs(){return u(()=>\"object\"==typeof window&&qs(),[])}function Ys(){const e=d(!1);return f(()=>(e.current=!0,()=>{e.current=!1}),[]),a(()=>e.current,[])}function Qs(e){const[t,n]=c(!1);function o({key:t}){t===e&&n(!0)}const i=({key:t})=>{t===e&&n(!1)};return f(()=>(window.addEventListener(\"keydown\",o),window.addEventListener(\"keyup\",i),()=>{window.removeEventListener(\"keydown\",o),window.removeEventListener(\"keyup\",i)}),[]),t}function Xs(e,t){f(()=>{const n=n=>{n.code===e&&t()};return document.addEventListener(\"keyup\",n),()=>document.removeEventListener(\"keyup\",n)},[e,t])}function Zs({shouldMinimizeToTray:e=!1}){const t=l(w);f(()=>{if(!t?.windows||!e)return;const n=t.windows.my();if(!n)return;const o=n.onMinimized(e=>{(async()=>{try{await e.configure({showInTaskbar:!1})}catch(e){console.error(\"Failed to hide window from taskbar:\",e)}})()}),i=n.onNormal(e=>{(async()=>{try{await e.configure({showInTaskbar:!0})}catch(e){console.error(\"Failed to show window in taskbar:\",e)}})()});return()=>{o(),i()}},[t,e])}const el=e=>({x:e.clientX,y:e.clientY});function tl({onClick:e,onDrag:t,dragThreshold:n=5}){const o=d(null),i=d(null),r=d(!1),s=d(e),l=d(t);f(()=>{s.current=e},[e]),f(()=>{l.current=t},[t]);const c=a(()=>{o.current=null,i.current=null,r.current=!1},[]),u=a(e=>{e.isPrimary&&0===e.button&&(e.currentTarget instanceof Element&&e.currentTarget.setPointerCapture(e.pointerId),o.current=el(e),i.current=e.pointerId,r.current=!1)},[]),h=a(e=>{if(!e.isPrimary||i.current!==e.pointerId)return;if(\"mouse\"===e.pointerType&&!(1&e.buttons))return;if(!o.current||r.current)return;const t=el(e),a=t.x-o.current.x,s=t.y-o.current.y;a*a+s*s>=n*n&&(r.current=!0,Promise.resolve(l.current()).catch(e=>{console.warn(\"onDrag error\",e)}))},[n]),p=a(e=>{i.current===e.pointerId&&(e.currentTarget instanceof Element&&e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),o.current?(r.current||Promise.resolve(s.current()).catch(e=>{console.warn(\"onClick error\",e)}),c()):c())},[c]);return{onPointerDown:u,onPointerMove:h,onPointerUp:p,onPointerCancel:a(e=>{i.current===e.pointerId&&(e.currentTarget instanceof Element&&e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),c())},[c])}}const nl=()=>{const e=l(w),t=e?.windows,n=e?.workspaces,o=d(null),[i,r]=c(null),[s,u]=c(null),[h,p]=c(!1),[m,g]=c(!1),[v,y]=c(null),b=d(void 0),k=Ys(),{currentTheme:C}=Ks();f(()=>{o.current=i;const e=i?.ioConnectWindow.onVisibilityChanged(()=>{i?.ioConnectWindow.isVisible||p(!1)});return()=>{e?.()}},[i]);const S=a(async(e,o)=>{const i={windowId:e?.ioConnectWindow.id,...o},r=window.glue42gd.windowId;if((()=>{const e=qs()&&!!window.workspacesManager,t=!qs()&&!!window.ioworkspaces;return e||t})()){if(!n)return;const e=(await(n?.getAllFrames())).find(e=>e.id===r);await(e?.showPopup(i))}else if(qs()&&window.webGroupsManager){const e=t.groups.list().find(e=>e.id===r);await(e?.showPopup(i))}else{const e=t.my();if(!e)return void console.warn(\"Cannot access my window to show popup\");await e.showPopup({...i})}},[t,n]),x=a(e=>{try{const t=e.document;C?.name&&(t.documentElement.className=C.name);const n=t.createElement(\"div\");return n.id=\"io-popup-window-container\",t.body.innerHTML=\"\",t.body.appendChild(n),t}catch(e){const t=`Failed to setup popup document: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),k()&&y(t),null}},[C,k]),N=a(async e=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),k()&&y(e),null}k()&&(g(!0),y(null));try{const n=new Promise((e,t)=>{setTimeout(()=>t(new Error(\"Popup creation timeout after 5 seconds\")),5e3)}),o=t.createPopup({...e}),i=await Promise.race([o,n]);if(!k())return await i.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null;r(i);const a=i.browserWindow;if(a?.document){const e=x(a);k()&&e&&u(e)}return i}catch(e){const t=`Failed to create popup: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),k()&&(y(t),r(null),u(null)),null}finally{k()&&g(!1)}},[t,x,k]),I=a(()=>{if(!i||!t)return!1;try{return t.list().some(e=>e.id===i.ioConnectWindow.id)}catch(e){return console.warn(\"usePopupWindow: Failed to verify popup existence\",e),!1}},[i,t]),A=a(async()=>{if(!i)return null;if(I())return i;console.warn(\"usePopupWindow: Popup window was destroyed, recreating...\");const e=i.ioConnectWindow.bounds,t=await N({left:e.left,top:e.top,width:e.width,height:e.height});if(!t){const e=\"Failed to recreate destroyed popup window\";console.error(\"usePopupWindow:\",e),k()&&y(e)}return t},[i,I,N,k]),P=a(async e=>{if(i)return await A();const t=await N(e);return t?k()?t:(await t.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null):(console.warn(\"usePopupWindow: Failed to create popup, operation aborted\"),null)},[i,A,N,k]);f(()=>{if(i?.browserWindow&&s)try{C?.name&&(s.documentElement.className=C.name)}catch(e){console.warn(\"usePopupWindow: Failed to update popup theme\",e)}},[i,s,C]);const E=a(()=>{y(null)},[]),T=a(async e=>{if(i){if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(k()&&y(e))}try{const t=e||b.current;if(!t)return void console.warn(\"usePopupWindow: No show options available\");const n=await A();if(!n||!k())return;await S(n,t),k()&&p(!0)}catch(e){const t=`Failed to show popup: ${JSON.stringify(e)}`;console.error(\"usePopupWindow:\",t,e),k()&&y(t)}}else console.warn(\"usePopupWindow: Cannot show popup - popup not created yet\")},[i,t,S,k,A]),D=a(async e=>{await(i?.ioConnectWindow.moveResize({...e}))},[i]),B=a(async()=>{if(k()&&(p(!1),o.current))try{await o.current.ioConnectWindow.hide()}catch(e){console.error(\"usePopupWindow: Failed to hide popup\",e)}},[o,k]);Z(()=>{h&&B().catch(e=>{console.error(\"Failed to hide popup on Escape key press in parent window\",e)})},[\"Escape\"]),f(()=>{if(!i?.browserWindow||!h)return;const e=e=>{\"Escape\"===e.key&&(e.preventDefault(),B().catch(e=>{console.error(\"Failed to hide popup on Escape key press in popup window\",e)}))};return i.browserWindow.document.addEventListener(\"keydown\",e),()=>{i.browserWindow.document.removeEventListener(\"keydown\",e)}},[i,h,B]);const L=a(async()=>{if(o.current)try{await o.current.ioConnectWindow.close(),o.current=null}catch(e){const t=`Failed to close popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),k()&&y(t)}finally{k()&&(r(null),u(null),p(!1),b.current=void 0)}},[o,k]),R=a(async(e,n,o)=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(k()&&y(e))}k()&&(g(!0),y(null));try{let e=await P(n);if(!e){const t=await N(n);if(!t)return void console.warn(\"usePopupWindow: Failed to create popup, operation aborted\");if(!k())return await t.ioConnectWindow.close().catch(()=>{}),void console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\");e=t}o&&(b.current=o),await S(e,o),k()&&p(!0)}catch(e){const t=`Failed to create and show popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),k()&&y(t)}finally{k()&&g(!1)}},[N,t,S,k,P]);return{popup:i,loading:m,error:v,clearError:E,isOpen:!!i,isVisible:h,createPopup:N,showPopup:T,createAndShowPopup:R,hidePopup:B,closePopup:L,getContainer:()=>s?.getElementById(\"io-popup-window-container\")||null,resizePopup:D}};function ol(e,t=!0){const n=l(w),o=n?.windows.my(),i=a(async()=>{o&&await o.show().catch(e=>console.log(\"Error showing window:\",e))},[o]),r=a(async()=>{o&&await o.hide().catch(e=>console.log(\"Error hiding window:\",e))},[o]);f(()=>{if(!o)return;(e?i():r()).catch(console.error),e&&t&&o.focus().catch(console.error)},[e,t,o,i,r])}const il=()=>{const e=l(w),[t,n]=c([]);return f(()=>{e&&e.themes?.list().then(n).catch(console.warn)},[e]),t};function rl(e,t){const n=d(e);p(()=>{n.current=e},[e]),f(()=>{if(!t&&0!==t)return;const e=setTimeout(()=>n.current(),t);return()=>{clearTimeout(e)}},[t])}const al=\"Window reference is not available\";async function sl(e){const[t,n]=await Promise.all([e.getDockingConfig(),e.getDockingPlacement()]),o=n;return{enabled:t.enabled??!0,docked:o.docked??!1,claimScreenArea:o.claimScreenArea??t.claimScreenArea??!1,position:o.position??\"top\",allowedPositions:t.allowedPositions??[\"top\"],width:t.width,height:t.height,floatingWidth:o.floatingWidth,floatingHeight:o.floatingHeight}}function ll(e){return e instanceof Error?e.message:String(e)}function cl(){const e=l(w),t=e?.windows,[n,o]=c(!0),[i,r]=c(null),[s,u]=c(null);f(()=>{if(!t)return void o(!1);let e;return(async()=>{o(!0),r(null);const n=t.my();try{if(!n)throw new Error(\"No window found\");const t=await sl(n);u(t),e=n.onDockingChanged(()=>{(async e=>{try{const t=await sl(e);u(t)}catch(e){r(ll(e))}})(n)})}catch(e){r(ll(e))}finally{o(!1)}})(),()=>{e?.()}},[t]);const d=a(async()=>{const e=t?.my();if(!e)return r(al),null;o(!0),r(null);try{const t=await sl(e);return u(t),t}catch(e){return r(ll(e)),null}finally{o(!1)}},[t]),h=a(async e=>{const n=t?.my();if(n){o(!0),r(null);try{await n.setDockingConfig(e);const t=await sl(n);u(t)}catch(e){r(ll(e))}finally{o(!1)}}else r(al)},[t]),p=a(async e=>{const n=t?.my();if(!n)return r(al),null;o(!0),r(null);try{const t=await n.dock(e);return{docked:t.docked,position:t.position,claimScreenArea:t.claimScreenArea}}catch(e){return r(ll(e)),null}finally{o(!1)}},[t]),m=a(async e=>{const n=t?.my();if(n){o(!0),r(null);try{await n.undock(e)}catch(e){r(ll(e))}finally{o(!1)}}else r(al)},[t]);return{loading:n,error:i,dockingConfig:s,getDockingConfig:d,setDockingConfig:h,dock:p,undock:m}}const ul=r(({id:n,className:o,name:i=\"toggle\",align:r=\"left\",label:a,checked:s,disabled:l,onKeyDown:c,\"data-testid\":u=\"toggle\",...d},f)=>{const h=zs(),p=n||`toggle-${h}`,m=S(\"io-control-toggle\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return e(\"div\",{className:m,children:t(\"label\",{className:\"io-toggle\",htmlFor:p,tabIndex:l?-1:0,onKeyDown:c,\"data-testid\":`${u}-label`,children:[e(\"input\",{type:\"checkbox\",id:p,className:\"io-checkbox\",ref:f,name:i,checked:s,disabled:l,\"aria-checked\":s,tabIndex:-1,\"data-testid\":u,...d}),e(\"span\",{className:\"slider\",\"data-testid\":`${u}-slider`}),a]})})});function dl(e){return{name:e.name,title:e.title,hidden:e.isHidden,userProperties:e.customProperties}}function fl(e){return{name:e.name,title:e.title,hidden:e.hidden,userProperties:e.userProperties}}ul.displayName=\"Toggle\";const hl={getMyApplication:async function(e){if(e)try{const t=e.apps;if(t){const e=t.my?.appName;if(!e)return;const n=await t.registry.get({name:e});if(!n)return;return dl(n)}const n=e.appManager?.myApplication;if(!n)return;return fl(n)}catch(e){return void console.error(\"Failed to get my application\",e)}},getApplications:async function(e){if(!e)return[];try{const t=e.apps?.registry;if(t){const e=await t.getMany()??[];return e.map(e=>dl(e))}const n=e.appManager?.applications()??[];return n.map(e=>fl(e))}catch(e){console.error(\"Failed to get applications\",e)}return[]},startApplication:async function(e,t,n){if(e)try{const o=e.apps;if(o){await(o.registry?.get({name:t}))||console.error(`Application \"${t}\" not found in registry`);const e=o.instances;return e?void await e.start({name:t,...n}):void console.error(\"io.apps.instances API is not available\")}const i=e.appManager?.application(t);if(!i)return void console.error(`Application \"${t}\" not found`);await i.start(n)}catch(e){return void console.error(`Failed to start application \"${t}\"`,e)}},stopApplication:async function(e,t,n){if(e)try{const o=e.apps;if(o){const e=o.instances;return e?void await e.stop({id:t.id,force:n?.force,reason:n?.reason,timeout:n?.timeout}):void console.error(\"io.apps.instances API is not available\")}const i=e.appManager.instances().find(e=>e.id===t.id);if(!i)return void console.error(`Instance \"${t.id}\" not found`);await i.stop()}catch(e){return void console.error(`Failed to stop application instance \"${t.id}\"`,e)}},onAppAdded:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onAdded(({app:e})=>{const n=dl(e);t(n)})}const o=e.appManager?.onAppAdded(e=>{const n=fl(e);t(n)});return o}catch(e){return void console.error(\"Failed to subscribe to app added events\",e)}},onAppRemoved:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onRemoved(({appName:e})=>{t({name:e})})}const o=e.appManager?.onAppRemoved(e=>{t({name:e.name})});return o}catch(e){return void console.error(\"Failed to subscribe to app removed events\",e)}},onAppChanged:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onUpdated(e=>{const n=dl(e.app);t(n)})}const o=e.appManager?.onAppChanged(e=>{const n=fl(e);t(n)});return o}catch(e){return void console.error(\"Failed to subscribe to app changed events\",e)}},restartPlatform:async function(e,t=!0){if(!e)return;const n={autoSave:t,showDialog:!0};try{if(e.platform?.restart)return void await e.platform.restart(n);await(e.appManager?.restart(n))}catch(e){console.error(\"Failed to restart platform\",e)}},shutdownPlatform:async function(e,t=!0){if(!e)return;const n={autoSave:t,showDialog:!0};try{if(e.platform?.shutdown)return void await e.platform.shutdown(n);await(e.appManager?.exit(n))}catch(e){console.error(\"Failed to shutdown platform\",e)}}};const pl={minimizeWindow:async function(e){if(e)try{const t=e.windows?.my();await(t?.minimize())}catch(e){console.error(\"Failed to minimize window\",e)}},closeWindow:async function(e,t){if(e)try{const n=e.windows?.my();await(n?.close(t))}catch(e){console.error(\"Failed to close window\",e)}},restartPlatform:hl.restartPlatform,shutdownPlatform:hl.shutdownPlatform},ml=s({theme:\"dark\"}),gl=({children:t})=>{const n=l(w),[o,i]=c({theme:\"dark\"});return f(()=>{const e=window.iodesktop??window.glue42gd;if(!e||!(\"theme\"in e))return;async function t(e){const t=await(n.themes?.list()),o=t?.map(({name:e})=>e)??[\"dark\",\"light\"];document.documentElement.classList.remove(...o),document.documentElement.classList.add(e)}t(e.theme);const o=n.themes?.onChanged(({name:e})=>{i({theme:e}),t(e)});return o},[n.themes]),e(ml.Provider,{value:o,children:t})},vl=\"io-connect-platform\",yl=\"___platform_prefs___\",wl=\"_launchpad_collapsedSections\",bl=\"_launchpad_favorites\",kl=\"_launchpad_recent\",Cl=\"_launchpad_isLayoutsPanelOpen\",Sl=\"_launchpad_isCollapsed\",xl=\"_launchpad_isPinned\",Nl=\"_launchpad_isDocked\",Il=\"_launchpad_minimizeToTray\",Al=\"_launchpad_autoCloseStartingAppsAndWorkspaces\",Pl=\"_launchpad_pinnedPosition\",El=\"_launchpad_allowDocking\",Tl=\"_launchpad_dockedAlwaysOnTop\",Dl=\"_launchpad_dockedClaimsSpace\",Bl=\"_launchpad_showExtendedArea\",Ll=\"_launchpad_hideLabelsInExtendedArea\",Rl=\"_launchpad_showFavoritesInExtendedArea\",Fl=\"_launchpad_hideFavoritesSection\",Ol=\"_launchpad_showRecentAppsInExtendedArea\",Ml=\"_layouts_restoreLastSaved\",$l=\"_layouts_saveCurrentOnExit\",_l=\"_layouts_showUnsavedChangesPrompt\",zl=\"_layouts_showDeletePrompt\",Hl=\"_downloads_askForEachDownload\",jl=\"_downloads_location\",Vl=\"_system_scheduleRestart\",Wl=\"_system_scheduleRestartTime\",Kl=\"_system_scheduleRestartFrequency\",Ul=\"_system_scheduleRestartDay\",Jl=\"_system_scheduleShutdown\",ql=\"_system_scheduleShutdownTime\",Gl=\"_system_scheduleShutdownFrequency\",Yl=\"_system_scheduleShutdownDay\",Ql={[wl]:[],[bl]:[],[kl]:[],[Cl]:!1,[Sl]:!1,[xl]:!1,[Nl]:!1,[Il]:!1,[Al]:!0,[Pl]:\"Left\",[El]:!0,[Tl]:!1,[Dl]:!1,[Bl]:!0,[Ll]:!0,[Rl]:!0,[Fl]:!1,[Ol]:!0,[Ml]:!0,[$l]:!0,[_l]:!0,[zl]:!0,[Hl]:!0,[jl]:\"\",[Vl]:!1,[Wl]:\"12:00 AM\",[Kl]:\"daily\",[Ul]:\"Monday\",[Jl]:!1,[ql]:\"12:00 AM\",[Gl]:\"daily\",[Yl]:\"Monday\"},Xl=e=>\"string\"==typeof e?e:e?.message?\"string\"==typeof e.message?e.message:JSON.stringify(e.message):JSON.stringify(e),Zl=\"warning\",ec={success:5e3,warning:1e4};var tc=function(e){return{ok:!0,result:e}},nc=function(e){return{ok:!1,error:e}},oc=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:tc(e(t.result,n.result))},ic=function(e,t){return!0===t.ok?t:nc(e(t.error))},rc=function(){return rc=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},rc.apply(this,arguments)};function ac(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if(\"object\"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!ac(e[n],t[n]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(n=0;n<o.length;n++){if(!t.hasOwnProperty(o[n]))return!1;if(!ac(e[o[n]],t[o[n]]))return!1}return!0}}var sc=function(e){return Array.isArray(e)},lc=function(e){return\"object\"==typeof e&&null!==e&&!sc(e)},cc=function(e,t){return\"expected \"+e+\", got \"+function(e){switch(typeof e){case\"string\":return\"a string\";case\"number\":return\"a number\";case\"boolean\":return\"a boolean\";case\"undefined\":return\"undefined\";case\"object\":return e instanceof Array?\"an array\":null===e?\"null\":\"an object\";default:return JSON.stringify(e)}}(t)},uc=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},dc=function(e,t){var n=t.at,o=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}(t,[\"at\"]);return rc({at:e+(n||\"\")},o)},fc=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return ic(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return function(e){return!0===e.ok?Promise.resolve(e.result):Promise.reject(e.error)}(n.run(e))},this.runWithException=function(e){return function(e){if(!0===e.ok)return e.result;throw e.error}(n.run(e))},this.map=function(t){return new e(function(e){return function(e,t){return!0===t.ok?tc(e(t.result)):t}(t,n.decode(e))})},this.andThen=function(t){return new e(function(e){return function(e,t){return!0===t.ok?e(t.result):t}(function(n){return t(n).decode(e)},n.decode(e))})},this.where=function(t,o){return n.andThen(function(n){return t(n)?e.succeed(n):e.fail(o)})}}return e.string=function(){return new e(function(e){return\"string\"==typeof e?tc(e):nc({message:cc(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?tc(e):nc({message:cc(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?tc(e):nc({message:cc(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return ac(e,t)?tc(t):nc({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(lc(e)&&t){var n={};for(var o in t)if(t.hasOwnProperty(o)){var i=t[o].decode(e[o]);if(!0!==i.ok)return void 0===e[o]?nc({message:\"the key '\"+o+\"' is required but was not present\"}):nc(dc(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return tc(n)}return lc(e)?tc(e):nc({message:cc(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(sc(e)&&t){return e.reduce(function(e,n,o){return oc(function(e,t){return e.concat([t])},e,function(e,n){return ic(function(e){return dc(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},tc([]))}return sc(e)?tc(e):nc({message:cc(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(sc(e)){if(e.length!==t.length)return nc({message:\"expected a tuple of length \"+t.length+\", got one of length \"+e.length});for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e[o]);if(!i.ok)return nc(dc(\"[\"+o+\"]\",i.error));n[o]=i.result}return tc(n)}return nc({message:cc(\"a tuple of length \"+t.length,e)})})},e.union=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e.oneOf.apply(e,[t,n].concat(o))},e.intersection=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return new e(function(e){return[t,n].concat(o).reduce(function(t,n){return oc(Object.assign,t,n.decode(e))},tc({}))})},e.anyJson=function(){return new e(function(e){return tc(e)})},e.unknownJson=function(){return new e(function(e){return tc(e)})},e.dict=function(t){return new e(function(e){if(lc(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return nc(dc(\".\"+o,i.error));n[o]=i.result}return tc(n)}return nc({message:cc(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?tc(void 0):t.decode(e)})},e.oneOf=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new e(function(e){for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e);if(!0===i.ok)return i;n[o]=i.error}var r=n.map(function(e){return\"at error\"+(e.at||\"\")+\": \"+e.message}).join('\", \"');return nc({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return tc(function(e,t){return!0===t.ok?t.result:e}(t,n.decode(e)))})},e.valueAt=function(t,n){return new e(function(e){for(var o=e,i=0;i<t.length;i++){if(void 0===o)return nc({at:uc(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!lc(o))return nc({at:uc(t.slice(0,i+1)),message:cc(\"an object\",o)});if(\"number\"==typeof t[i]&&!sc(o))return nc({at:uc(t.slice(0,i+1)),message:cc(\"an array\",o)});o=o[t[i]]}return ic(function(e){return void 0===o?{at:uc(t),message:\"path does not exist\"}:dc(uc(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return tc(t)})},e.fail=function(t){return new e(function(e){return nc({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),hc=fc.string,pc=fc.number,mc=fc.boolean,gc=fc.anyJson;fc.unknownJson;var vc=fc.constant,yc=fc.object,wc=fc.array;fc.tuple,fc.dict;var bc=fc.optional,kc=fc.oneOf;fc.union,fc.intersection,fc.withDefault,fc.valueAt,fc.succeed;var Cc=fc.fail;fc.lazy;const Sc=hc().where(e=>e.length>0,\"Expected a non-empty string\"),xc=kc(vc(\"add\"),vc(\"align-bottom\"),vc(\"align-bottom-solid\"),vc(\"align-left\"),vc(\"align-left-bottom\"),vc(\"align-left-bottom-solid\"),vc(\"align-left-solid\"),vc(\"align-left-top\"),vc(\"align-left-top-solid\"),vc(\"align-right\"),vc(\"align-right-bottom\"),vc(\"align-right-bottom-solid\"),vc(\"align-right-solid\"),vc(\"align-right-top\"),vc(\"align-right-top-solid\"),vc(\"align-top\"),vc(\"align-top-solid\"),vc(\"always-on-top\"),vc(\"always-on-top-on\"),vc(\"application\"),vc(\"arrow-down-long\"),vc(\"arrow-down-to-bracket\"),vc(\"arrow-left-long\"),vc(\"arrow-right-from-bracket\"),vc(\"arrow-right-long\"),vc(\"arrow-right\"),vc(\"arrow-up\"),vc(\"arrow-up-long\"),vc(\"ban\"),vc(\"bell\"),vc(\"bell-solid\"),vc(\"bookmark\"),vc(\"bullseye-pointer\"),vc(\"certificate\"),vc(\"check\"),vc(\"check-light\"),vc(\"check-solid\"),vc(\"chevron-down\"),vc(\"chevron-left\"),vc(\"chevron-right\"),vc(\"chevron-up\"),vc(\"circle-info\"),vc(\"circle-xmark\"),vc(\"circle-xmark-full\"),vc(\"clock\"),vc(\"clock-rotate-left\"),vc(\"clone\"),vc(\"close\"),vc(\"cog\"),vc(\"cog-solid\"),vc(\"collapse\"),vc(\"copy\"),vc(\"download\"),vc(\"delete-left\"),vc(\"dev-tools\"),vc(\"ellipsis\"),vc(\"ellipsis-vertical\"),vc(\"expand\"),vc(\"envelope\"),vc(\"envelope-open\"),vc(\"exclamation-mark\"),vc(\"expand\"),vc(\"feedback\"),vc(\"filter\"),vc(\"floppy\"),vc(\"floppy-disk-pen\"),vc(\"folder\"),vc(\"folder-open\"),vc(\"globe\"),vc(\"group\"),vc(\"hidden\"),vc(\"home\"),vc(\"house\"),vc(\"info\"),vc(\"keyboard\"),vc(\"layout\"),vc(\"link\"),vc(\"list-ul\"),vc(\"lock\"),vc(\"logo\"),vc(\"minimize\"),vc(\"minimize-down\"),vc(\"paper-plane-top\"),vc(\"paperclip\"),vc(\"pause\"),vc(\"pen-line\"),vc(\"pen-to-square\"),vc(\"pin\"),vc(\"play\"),vc(\"pop-in\"),vc(\"pop-in-widget\"),vc(\"pop-out\"),vc(\"power-off\"),vc(\"publish\"),vc(\"refresh\"),vc(\"resize\"),vc(\"restore\"),vc(\"rotate-right\"),vc(\"search\"),vc(\"search-filled\"),vc(\"sleep\"),vc(\"sliders\"),vc(\"snooze\"),vc(\"spinner\"),vc(\"square\"),vc(\"square-arrow-down\"),vc(\"square-arrow-up\"),vc(\"star\"),vc(\"star-full\"),vc(\"sticky-off\"),vc(\"sticky-off-hover\"),vc(\"sticky-on\"),vc(\"sticky-on-hover\"),vc(\"subscribe\"),vc(\"system-close\"),vc(\"system-maximize\"),vc(\"system-minimize\"),vc(\"thumbs-down\"),vc(\"thumbs-up\"),vc(\"trash\"),vc(\"trash-can\"),vc(\"triangle-exclamation\"),vc(\"unlock\"),vc(\"unpin\"),vc(\"up-to-line\"),vc(\"user\"),vc(\"user-gear\"),vc(\"visible\"),vc(\"workspace\")),Nc=yc({id:Sc,title:Sc,description:bc(hc()),icon:bc(xc),iconSrc:bc(Sc),contextMenuActions:bc(wc(gc())),type:Sc}),Ic=yc({name:Sc,type:Sc}),Ac=kc(vc(\"Left\"),vc(\"Right\")),Pc=kc(vc(\"daily\"),vc(\"weekly\")),Ec=kc(vc(\"Sunday\"),vc(\"Monday\"),vc(\"Tuesday\"),vc(\"Wednesday\"),vc(\"Thursday\"),vc(\"Friday\"),vc(\"Saturday\")),Tc=yc({customPrefs:bc(gc()),_launchpad_collapsedSections:bc(wc(Sc)),_launchpad_favorites:bc(wc(Nc)),_launchpad_recent:bc(wc(Ic)),_launchpad_isLayoutsPanelOpen:bc(mc()),_launchpad_isCollapsed:bc(mc()),_launchpad_isPinned:bc(mc()),_launchpad_isDocked:bc(mc()),_launchpad_minimizeToTray:bc(mc()),_launchpad_autoCloseStartingAppsAndWorkspaces:bc(mc()),_launchpad_pinnedPosition:bc(Ac),_launchpad_allowDocking:bc(mc()),_launchpad_dockedAlwaysOnTop:bc(mc()),_launchpad_dockedClaimsSpace:bc(mc()),_launchpad_showExtendedArea:bc(mc()),_launchpad_hideLabelsInExtendedArea:bc(mc()),_launchpad_showFavoritesInExtendedArea:bc(mc()),_launchpad_hideFavoritesSection:bc(mc()),_launchpad_showRecentAppsInExtendedArea:bc(mc()),_layouts_restoreLastSaved:bc(mc()),_layouts_saveCurrentOnExit:bc(mc()),_layouts_showUnsavedChangesPrompt:bc(mc()),_layouts_showDeletePrompt:bc(mc()),_downloads_askForEachDownload:bc(mc()),_downloads_location:bc(hc()),_system_scheduleRestart:bc(mc()),_system_scheduleRestartTime:bc(Sc),_system_scheduleRestartFrequency:bc(Pc),_system_scheduleRestartDay:bc(Ec),_system_scheduleShutdown:bc(mc()),_system_scheduleShutdownTime:bc(Sc),_system_scheduleShutdownFrequency:bc(Pc),_system_scheduleShutdownDay:bc(Ec)}),Dc=async e=>{const{io:t,variant:n,text:o,error:i}=e,r=Xl(i);try{if(n===Zl&&t.logger.warn(r?`${o} ${r}`:o),!(\"modals\"in t)||!t.modals)throw new Error(\"Modals are not enabled.\");const e={text:o,variant:n,ttl:ec[n]};await t.modals.alerts.request(e)}catch(e){console.warn(\"Failed to request alert. \",{error:e})}},Bc=s(void 0),Lc=({children:t,launchpadMode:n})=>{const[o,i]=c(),[r,a]=c(!1),[s,d]=c(),h=l(w),p=u(()=>({prefs:o,isInitialSetupCompleted:r,initialSetupError:s}),[o,r,s]);return f(()=>{if(!h)return;let e=!1;const t=h.contexts.subscribe(yl,t=>{if(e)return;const n=Tc.run(t);if(!n.ok)return void h.logger.warn(`The received data for context ${yl} is with an invalid shape: ${Xl(n.error.message)}`);const o=n.result;i(o),h.prefs.updateFor(vl,o).catch(e=>{h.logger.warn(`Failed to update platform prefs. Error: ${Xl(e)}`)})});return()=>{e=!0,t.then(e=>{e()})}},[h]),f(()=>{if(!h)return;(async()=>{try{const e=await h.contexts.get(yl),t=Tc.run(e);if(!t.ok)throw new Error(`The data in context ${yl} is with an invalid shape: ${Xl(t.error.message)}`);const o=t.result;if(Object.keys(o).length>0)return;const i=(await h.prefs.get(vl))?.data??{},r=Tc.run(i);if(!r.ok)throw new Error(`The stored platform prefs in io.prefs are with an invalid shape: ${Xl(r.error.message)}`);const a={[xl]:\"pinned\"===n||(i[xl]??!1),[Nl]:\"docked\"===n||(i[Nl]??!1)},s={...Ql,...r.result,...a};await h.contexts.set(yl,s)}catch(e){d({message:Xl(e)}),await Dc({io:h,variant:Zl,text:\"Initial platform prefs setup failed.\",error:e})}finally{a(!0)}})().catch(console.error)},[h,n]),e(Bc.Provider,{value:p,children:t})};function Rc(){const e=l(Bc);if(void 0===e)throw new Error(\"usePlatformPrefs must be used within a PlatformPrefsProvider\");return e}function Fc({prefKey:e}){const t=l(w),n=l(Bc),o=n?.prefs?.[e],i=n?.isInitialSetupCompleted??!1,[r,s]=c(!i),[u,h]=c(),p=d(0);f(()=>{i&&0===p.current&&s(!1)},[i]);const m=a(async n=>{if(!t)return;const o=++p.current;s(!0),h(void 0);const i=async n=>{n&&await Dc({io:t,variant:Zl,text:`Failed to update prefKey \"${e}\".`,error:n}),o===p.current&&(s(!1),n&&h({message:Xl(n)}))};let r;if(n instanceof Function)try{r=n((await t.contexts.get(yl))[e])}catch(e){return i(e)}else r=n;try{const n=Tc.runWithException({[e]:r});await t.contexts.update(yl,n)}catch(e){return i(e)}await i()},[t,e]);if(void 0===n)throw new Error(\"usePlatformPref must be used within a PlatformPrefsProvider\");return{error:u,isLoading:r,update:m,value:o}}const Oc=s(void 0),Mc=()=>{const e=l(Oc);if(!e)throw new Error(\"usePanelManagerContext must be used within a PanelManagerContext.Provider\");return e},$c=n=>{const{General:o,Launchpad:i,Docking:r,ExtendedArea:a,Layouts:s,Downloads:l,System:c}=Ju();return t(Ls,{element:qo,elementProps:n,children:[e(o,{}),e(i,{}),e(r,{}),e(a,{}),e(s,{}),e(l,{}),e(c,{})]})},_c=({title:t=\"General\",...n})=>{const{Theme:o}=Ju();return e(T,{title:t,...n,children:e(o,{})})},zc=({className:n,title:o=\"Theme\",...i})=>{const{currentTheme:r,selectTheme:a}=Ks(),s=il();return t(\"div\",{className:S(\"flex jc-between ai-center\",n),\"data-testid\":\"theme-container\",...i,children:[e(\"label\",{className:\"io-text-clipper\",\"data-testid\":\"theme-label\",children:o}),t(ee,{variant:\"light\",\"data-testid\":\"theme-dropdown\",children:[e(ee.Button,{text:r?.displayName??\"Dark\",\"data-testid\":\"theme-dropdown-button\"}),e(ee.Content,{\"data-testid\":\"theme-dropdown-content\",children:e(ee.List,{children:s.map(({displayName:t,name:n})=>e(ee.Item,{onClick:()=>a(n),\"data-testid\":`theme-dropdown-item-${n}`,children:t},n))})})]})]})},Hc=({prefKey:t,...n})=>{const{isLoading:o,value:i=!1,update:r}=Fc({prefKey:t});return e(ul,{checked:i,disabled:o,onChange:e=>r(e.target.checked),...n})},jc=({align:t=\"right\",label:n=\"Minimize to tray\",...o})=>e(Hc,{align:t,label:n,prefKey:Il,...o}),Vc=({prefKey:n,options:o,disabled:i,...r})=>{const{isLoading:a,value:s=\"Select option\",update:l}=Fc({prefKey:n});return t(ee,{variant:\"light\",disabled:a||i,...r,children:[e(ee.Button,{children:s}),e(ee.Content,{children:e(ee.List,{children:o.map(t=>e(ee.Item,{onClick:()=>(async e=>{if(e!==s)try{await l(e)}catch(e){console.error(\"Failed to update platform preference:\",e)}})(t),children:t},t))})})]})},Wc=({className:n,label:o=\"Pinned position\",...i})=>e(T,{className:S(\"io-block-list-gap\",n),...i,children:t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e(Vc,{className:n,prefKey:Pl,options:[\"Left\",\"Right\"],...i})]})}),Kc=({align:t=\"right\",label:n='Hide \"Favorites\"',...o})=>e(Hc,{align:t,label:n,prefKey:Fl,...o}),Uc=({align:t=\"right\",label:n=\"Allow docking to top\",...o})=>e(Hc,{align:t,label:n,prefKey:El,...o}),Jc=({align:t=\"right\",label:n=\"Always on top\",...o})=>e(Hc,{align:t,label:n,prefKey:Tl,...o}),qc=({align:t=\"right\",label:n=\"Claim occupied space\",...o})=>e(Hc,{align:t,label:n,prefKey:Dl,...o}),Gc=({align:t=\"right\",label:n=\"Show the extended Launchpad area\",...o})=>e(Hc,{align:t,label:n,prefKey:Bl,...o}),Yc=({align:t=\"right\",label:n=\"Hide labels\",...o})=>{const{value:i}=Fc({prefKey:Bl});return e(Hc,{align:t,label:n,prefKey:Ll,disabled:!i,...o})},Qc=({align:t=\"right\",label:n='Show \"Favorites\"',...o})=>{const{value:i}=Fc({prefKey:Bl});return e(Hc,{align:t,label:n,prefKey:Rl,disabled:!i,...o})},Xc=({align:t=\"right\",label:n='Show \"Recent\"',...o})=>{const{value:i}=Fc({prefKey:Bl});return e(Hc,{align:t,label:n,prefKey:Ol,disabled:!i,...o})},Zc=({title:n=\"Layouts\",...o})=>{const{LayoutsSaveCurrentOnExit:i,LayoutsShowDeletePrompt:r,LayoutsShowUnsavedChangesPrompt:a}=Ju();return t(T,{title:n,...o,children:[e(i,{}),e(a,{}),e(r,{})]})},eu=({align:t=\"right\",label:n=\"Save current on exit\",...o})=>e(Hc,{align:t,label:n,prefKey:$l,...o}),tu=({align:t=\"right\",label:n=\"Show prompt for unsaved changes\",...o})=>e(Hc,{align:t,label:n,prefKey:_l,\"data-testid\":\"layouts-show-unsaved-changes-prompt-toggle-button\",...o}),nu=({align:t=\"right\",label:n=\"Show prompt for deleting\",...o})=>e(Hc,{align:t,label:n,prefKey:zl,\"data-testid\":\"layouts-show-delete-prompt-toggle\",...o}),ou=({title:t=\"Downloads\",...n})=>{const{DownloadsLocation:o}=Ju();return e(T,{title:t,...n,children:e(o,{})})};function iu({title:n=\"Downloads\"}){const{ItemSearch:o,HeaderButtons:i}=Eu();return t(\"div\",{className:\"io-dm-header\",children:[t(ne,{draggable:!0,children:[e(ne.Title,{tag:\"h1\",text:n,size:\"large\"}),e(i,{className:\"non-draggable\"})]}),e(o,{})]})}const ru=window.glue42gd;const au=s({configuration:{},items:[],removeItem:()=>{},pauseResumeItem:()=>{},cancelItem:()=>{},clearItems:()=>{},showItemInFolder:()=>{},isSettingsVisible:!1,showSettings:()=>{},hideSettings:()=>{},searchQuery:\"\",setSearch:()=>{},itemsCount:0,setCount:()=>{},setDownloadLocation:()=>{},setDownloadLocationWithDialog:()=>{},sortItems:()=>[],downloadLocationList:[],isDownloadLocationDialogVisible:!1}),su=()=>l(au);function lu({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const l=S(\"io-header-search\",n),c=d(null),{searchQuery:u,setSearch:f,itemsCount:h}=su(),p=u.length>0,m=a(()=>{f(\"\"),c.current&&c.current.focus()},[f]);return t(\"div\",{className:l,children:[e(Hs,{ref:c,value:u,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?m:void 0,placeholder:o,onChange:e=>f(e.target.value),...s}),p&&e(\"p\",{className:\"io-header-search-count\",children:`${h} results`})]})}function cu({className:n,...o}){const{MoreButton:i,CloseButton:r,ExternalButton:a}=Eu();return t(te,{className:n,align:\"right\",...o,children:[e(i,{}),e(a,{}),e(r,{})]})}function uu({icon:n=\"ellipsis-vertical\",...o}){const{items:i,clearItems:r,showSettings:a}=su(),s=0===i.length;return t(ee,{variant:\"light\",...o,children:[e(ee.ButtonIcon,{icon:n,variant:\"circle\",size:\"32\"}),e(ee.Content,{children:t(ee.List,{children:[e(ee.Item,{onClick:e=>(e=>{s?e.stopPropagation():r()})(e),disabled:s,children:\"Clear All\"}),e(ee.Item,{onClick:a,children:\"Settings\"})]})})]})}function du({className:t,icon:n=\"pop-out\",...o}){const i=l(w),r=a(()=>{hl.startApplication(i,\"io-connect-download-manager\").catch(e=>{console.error(\"Failed to open Download Manager\",e)})},[i]);return e(N,{className:S(\"io-dm-compact-mode-only\",t),icon:n,variant:\"circle\",size:\"32\",onClick:r,...o})}function fu({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const a=l(w);return e(N,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):pl.closeWindow(a).catch(e=>{console.error(\"Failed to close window:\",e)})},...r})}function hu(e,t=!1,n=!1,o=!1){const i=e.getDate(),r=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"][e.getMonth()],a=e.getFullYear(),s=e.getHours(),l=e.getMinutes();let c=\"\";return c=l<10?`0${l}`:`${l}`,t?\"Today\"===t?n?\"Today\":`Today at ${s}:${c}`:\"Yesterday\"===t?n?\"Yesterday\":`Yesterday at ${s}:${c}`:`${s}:${c}`:o?n?`${r} ${i}`:`${r} ${i} at ${s}:${c}`:n?`${r} ${i}, ${a}`:`${r} ${i}, ${a} at ${s}:${c}`}function pu(e,t={showTime:!0}){const n=new Date(1e3*e),o=new Date,i=Math.round((o-n)/1e3),r=Math.round(i/60),a=o.toDateString()===n.toDateString(),s=new Date(o.setDate(o.getDate()-1)).toDateString()===n.toDateString(),l=o.getFullYear()===n.getFullYear();return t.showTime?i<5?\"Just Now\":i<60?`${i} seconds ago`:i<90?\"about a minute ago\":r<60?`${r} minutes ago`:a?hu(n,\"Today\",!1,!0):s?hu(n,\"Yesterday\",!1,!0):l?hu(n,!1,!1,!0):hu(n):a?\"Today\":s?\"Yesterday\":l?hu(n,!1,!0,!0):hu(n,!1,!0)}function mu({className:t,...n}){const o=S(\"io-dm-body\",\"io-panel-body\",t),{DownloadListEmpty:i,ItemGroup:r,Item:a}=Eu(),{items:s,searchQuery:l,setCount:c,sortItems:d}=su(),h=d(s),p=Us(l),m=u(()=>h.filter(e=>e.displayInfo.filename.toLowerCase().includes(p.toLowerCase())||e.displayInfo.url.toLowerCase().includes(p.toLowerCase())),[h,p]),g=u(()=>m.map(e=>({...e,displayInfo:{...e.displayInfo,startTime:pu(e.displayInfo.startTime,{showTime:!1})}})),[m]),v=u(()=>Object.values(g.reduce((e={},t)=>(e[t.displayInfo.startTime]=e[t.displayInfo.startTime]?.concat([])??[],e[t.displayInfo.startTime].push(t),e),{})),[g]);return f(()=>{c(m.length)},[m,c]),e(Ls,{elementProps:{className:o,...n},children:v&&0!==v.length?v.map(t=>e(r,{title:String(t[0].displayInfo.startTime)??null,children:t.map(t=>e(a,{item:t},t.id))},t[0].id??\"\")):e(i,{})})}function gu({className:n,icon:o=\"download\",text:i=\"No downloads to display.\",...r}){const a=S(\"io-dm-no-items\",n);return t(\"div\",{className:a,...r,children:[e(x,{variant:o}),e(\"p\",{children:i})]})}function vu({className:n,title:o,children:i,...r}){const a=S(\"io-dm-item-group\",n);return t(\"div\",{className:a,...r,children:[o&&e(\"p\",{className:\"io-dm-items-group-title\",children:o}),i]})}function yu({className:o,item:i,...r}){const{ItemHeader:a,ItemBody:s,ItemFooter:l}=Eu(),{state:c,url:u,filename:d,receivedBytes:f,totalBytes:h,speed:p,timeRemaining:m}=i.displayInfo;if(!i)return e(n,{});const g=S(\"io-dm-item\",i.displayInfo.state&&[c],o);return t(\"div\",{className:g,...r,children:[e(a,{itemID:i.id,filename:d,state:c}),e(s,{state:c,url:u,bytesReceived:f,bytesTotal:h,speed:p,timeRemaining:m}),e(l,{itemID:i.id,state:c})]})}function wu({bytesReceived:t=0,bytesTotal:n=0,...o}){const i=a(()=>t&&n?Math.round(t/n*100):0,[t,n]);return e(Xo,{value:i(),...o})}function bu({className:n,itemID:o,filename:i,state:r,pauseResume:s,showInFolder:l,cancel:c,remove:u,...d}){const f=S(\"io-dm-item-header\",n),{pauseResumeItem:h,showItemInFolder:p,cancelItem:m,removeItem:g}=su(),v=\"progressing\"===r||\"paused\"===r,y=\"interrupted\"===r||\"cancelled\"===r,w=v?\"Cancel Download\":\"Remove Download\",b=c??m,k=u??g,C=function(e,t,n,o){return\"paused\"===e||\"progressing\"===e?{statusIcon:\"paused\"===e?\"play\":\"pause\",onStatusActionClick:()=>n(t)}:\"completed\"===e?{statusIcon:\"folder\",onStatusActionClick:()=>o(t)}:null}(r,o,s??h,l??p),x=a(()=>{v?b(o):k(o)},[v,b,o,k]);return t(\"div\",{className:f,...d,children:[e(E,{text:i,style:{textDecoration:y?\"line-through\":\"none\"}}),t(te,{children:[C&&e(N,{icon:C.statusIcon,iconSize:\"12\",onClick:C.onStatusActionClick,className:\"io-dm-compact-mode-only\"}),e(N,{icon:\"close\",iconSize:\"12\",title:w,onClick:x})]})]})}function ku({className:n,state:o,url:i,bytesReceived:r=0,bytesTotal:a=0,speed:s=0,timeRemaining:l=0,...c}){const u=S(\"io-dm-item-body\",n),d=e=>{const t=[\"Bytes\",\"KB\",\"MB\",\"GB\",\"TB\"];if(0===e)return\"0\";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e}${t[n]}`:`${(e/1024**n).toFixed(1)}${t[n]}`};return t(\"div\",{className:u,...c,children:[e(\"p\",{className:\"io-text-small\",children:i}),(h=o,\"cancelled\"===h||\"interrupted\"===h||\"completed\"===h?null:e(wu,{variant:\"paused\"===h?\"paused\":\"active\",bytesReceived:r,bytesTotal:a})),e(\"p\",{className:\"io-text-default-lh16\",children:\"completed\"===o?`${d(r??0)} - Done`:\"cancelled\"===o||\"interrupted\"===o?`${d(r??0)}/${d(a??0)} - Failed`:`${d(r??0)}/${d(a??0)} (${f=s,(f?`${(f/1e6/8).toFixed(2)}MB/s`:0)??0}) - ${(e=>{const t=Math.floor(e/3600),n=Math.floor(e%3600/60);let o=\"\";return t>0&&(o+=`${t} hour${t>1?\"s\":\"\"}, `),n>0&&(o+=`${n} min${n>1?\"s\":\"\"}, `),((e=Math.floor(e%60))>0||\"\"===o)&&(o+=`${e} sec${1===e?\"\":\"s\"}`),`${o.trim()} left`})(l)??0}`})]});var f,h}const Cu={success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function Su({className:n,variant:o,text:i}){const r=S(\"io-dm-item-status\",`io-dm-item-status-${o}`,n);return t(\"div\",{className:r,children:[o&&e(x,{variant:Cu[o],className:\"icon-severity\",size:\"10\"}),i&&e(\"p\",{className:\"io-text-smaller\",children:i})]})}function xu({className:o,itemID:i,state:r,pauseResume:s,showInFolder:l,cancel:c,...u}){const d=S(\"io-dm-item-footer\",o),{pauseResumeItem:f,showItemInFolder:h,cancelItem:p}=su(),m=a(e=>{s?s(e):f(e)},[s,f]),g=a(e=>{l?l(e):h(e)},[l,h]),v=a(e=>{c?c(e):p(e)},[c,p]);return e(\"div\",{className:d,...u,children:(()=>{switch(r){case\"progressing\":return t(te,{align:\"right\",children:[e(te.Button,{variant:\"primary\",text:\"Pause\",onClick:()=>m(i)}),e(te.Button,{variant:\"link\",text:\"Cancel\",onClick:()=>v(i)})]});case\"paused\":return e(te,{align:\"right\",children:e(te.Button,{variant:\"primary\",text:\"Resume\",onClick:()=>m(i)})});case\"completed\":return t(n,{children:[e(Su,{variant:\"success\",text:\"Complete\"}),e(te,{align:\"right\",children:e(te.Button,{variant:\"primary\",text:\"Show in Folder\",onClick:()=>g(i)})})]});case\"cancelled\":return e(Su,{variant:\"warning\",text:\"Cancelled\"});case\"interrupted\":return t(n,{children:[e(Su,{variant:\"critical\",text:\"Failed\"}),e(te,{align:\"right\",children:e(te.Button,{variant:\"primary\",text:\"Retry\",onClick:()=>m(i)})})]});default:return null}})()})}function Nu({className:n,title:o=\"Download Settings\",...i}){const r=S(\"io-dm-settings-panel\",n),{configuration:{downloadFolder:a},hideSettings:s,setDownloadLocation:l,setDownloadLocationWithDialog:c,isDownloadLocationDialogVisible:u,downloadLocationList:d}=su();return t(Yo,{className:r,...i,children:[t(Yo.Header,{children:[e(Yo.Header.Title,{size:\"large\",text:o,tag:\"h1\"}),e(Yo.Header.ButtonGroup,{children:e(N,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>{s()},disabled:u})})]}),e(Yo.Body,{children:t(te,{children:[t(ee,{variant:\"light\",disabled:u,children:[e(ee.Button,{children:e(\"span\",{className:\"io-dm-settings-panel-download-location\",children:a??d[0]})}),d.length>1&&e(ee.Content,{children:e(ee.List,{children:d.map((t,n)=>!t||0===n||n>3?null:e(ee.Item,{onClick:()=>{l(t)},children:t},t))})})]}),e(L,{className:\"io-btn io-dm-settings-panel-download-location-btn\",text:\"Browse\",onClick:()=>{c()},disabled:u})]})})]})}const Iu={Header:iu,ItemSearch:lu,HeaderButtons:cu,MoreButton:uu,ExternalButton:du,CloseButton:fu,Body:mu,DownloadListEmpty:gu,ItemGroup:vu,Item:yu,ItemProgress:wu,ItemHeader:bu,ItemBody:ku,ItemFooter:xu,Settings:Nu},Au=s(Iu),Pu=g(({children:t,components:n})=>{const o=u(()=>({...Iu,...n}),[n]);return e(Au.Provider,{value:o,children:t})});Pu.displayName=\"ComponentsStore\";const Eu=()=>l(Au);function Tu({className:n,...o}){const i=S(\"io-dm\",n),{Header:r,Body:a,Settings:s}=Eu(),{isSettingsVisible:l}=su();return t(Yo,{className:i,...o,children:[e(r,{}),e(a,{}),l&&e(s,{})]})}var Du=Object.freeze({__proto__:null,Body:mu,CloseButton:fu,DownloadListEmpty:gu,DownloadManager:function({components:t,...n}){return e(Pu,{components:t,children:e(Tu,{...n})})},DownloadManagerProvider:({children:t})=>{const{configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:h,hideSettings:p,searchQuery:m,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:k,isDownloadLocationDialogVisible:C,downloadLocationList:S}=function(){const[e,t]=c({}),[n,o]=c([]),[i,r]=c(0),[a,s]=c([]),[l,u]=c(\"\"),[d,h]=c(!1),[p,m]=c(!1),[g,v]=c({filePaths:[],canceled:!1});f(()=>{if(!ru)return;const e=ru.downloads.onUpdate(e=>o(t=>y(t,e))),n=ru.downloads.onConfigurationChanged(e=>{t(e)});return ru.downloads.list().then(o).catch(console.error),ru.downloads.getSavePathList().then(e=>{e.pathList&&s(e.pathList)}).catch(console.error),()=>{e(),n()}},[]),f(()=>{m(!1)},[g]);const y=(e,t)=>{const n=e.findIndex(e=>e.id===t.id);if(-1===n)return[t,...e];const o=[...e];return o[n]=t,o};return{items:n,setCount:e=>{r(e)},sortItems:(e,t=!0)=>e.sort((e,n)=>t?e.displayInfo.startTime<n.displayInfo.startTime?1:-1:e.displayInfo.startTime>n.displayInfo.startTime?1:-1),setSearch:e=>{u(e)},cancelItem:async e=>{try{await ru.downloads.cancel(e)}catch(e){console.error(e)}},removeItem:async e=>{try{o(t=>t.filter(t=>t.id!==e)),await ru.downloads.removeItem(e)}catch(e){console.error(e)}},clearItems:async()=>{try{o([]),await ru.downloads.clearDownloadList()}catch(e){console.error(e)}},itemsCount:i,searchQuery:l,showSettings:()=>{h(!0)},hideSettings:()=>{h(!1)},configuration:e,isSettingsVisible:d,pauseResumeItem:async e=>{try{await ru.downloads.pauseResume(e)}catch(e){console.error(e)}},showItemInFolder:async e=>{try{await ru.downloads.showInFolder(e)}catch(e){console.error(e)}},setDownloadLocation:async e=>{try{await ru.downloads.setSavePath(e),s(t=>{if(t.includes(e)){const n=t.filter(t=>t!==e);return[e,...n]}return[e,...t]})}catch(e){console.error(e)}},downloadLocationList:a,isDownloadLocationDialogVisible:p,setDownloadLocationWithDialog:async()=>{m(!0);try{const e=await ru.downloads.showOpenDialog();if(v(e),!e?.filePaths||0===e.filePaths.length)return;await ru.downloads.setSavePath(e.filePaths[0]),s(t=>{if(t.includes(e.filePaths[0])){const n=t.filter(t=>t!==e.filePaths[0]);return[e.filePaths[0],...n]}return[e.filePaths[0],...t]})}catch(e){console.error(e)}}}}(),x=u(()=>({configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:h,hideSettings:p,searchQuery:m,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:k,isDownloadLocationDialogVisible:C,downloadLocationList:S}),[n,o,i,r,a,l,s,d,h,p,m,g,v,y,w,b,k,C,S]);return e(au.Provider,{value:x,children:t})},ExternalButton:du,Header:iu,HeaderButtons:cu,Item:yu,ItemBody:ku,ItemFooter:xu,ItemGroup:vu,ItemHeader:bu,ItemProgress:wu,ItemSearch:lu,MoreButton:uu,Settings:Nu,useDownloadManagerContext:su});const Bu=({className:n,label:o=\"Location\",...i})=>{const{configuration:{downloadFolder:r},setDownloadLocationWithDialog:a,isDownloadLocationDialogVisible:s,downloadLocationList:l}=su();return t(T,{className:S(\"io-preferences-download-section\",n),...i,children:[t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e(L,{text:\"Change\",onClick:a,disabled:s})]}),e(\"p\",{children:r??l?.[0]??\"Not set\"})]})},Lu=({align:t=\"right\",label:n=\"Ask where to save each file before downloading\",...o})=>e(Hc,{align:t,label:n,prefKey:Hl,...o}),Ru=({title:n=\"System\",...o})=>{const{SystemRestartSection:i,SystemShutdownSection:r}=Ju();return t(T,{title:n,...o,children:[e(i,{}),e(r,{})]})},Fu=\"T42.GD.Execute\",Ou=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],Mu=(e,t)=>e in t;function $u({time:e,frequency:t,day:n}){const[o,i]=e.split(\":\"),r=Number.parseInt(o,10),a=Number.parseInt(i,10);let s=\"*\";return\"weekly\"===t&&n&&(s=function(e){const t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};if(!Mu(e,t))throw new Error(`Invalid day: ${e}`);return t[e]}(n).toString()),`${a} ${r} * * ${s}`}function _u(e){const t=l(w),{value:n,update:o}=Fc({prefKey:zu(e)}),{value:i,update:r}=Fc({prefKey:zu(e,\"Time\")}),{value:s,update:c}=Fc({prefKey:zu(e,\"Frequency\")}),{value:u,update:d}=Fc({prefKey:zu(e,\"Day\")}),h=a(async()=>{try{await t.interop.invoke(Fu,{command:`cancel-${e}`})}catch(e){console.error(e)}},[t,e]),p=a(async()=>{try{const n=$u({time:i??\"12:00\",frequency:s??\"daily\",day:\"weekly\"===s?u:\"*\"});await t.interop.invoke(Fu,{command:`schedule-${e}`,args:{cronTime:n,discardUnsavedLayoutChanges:!1}})}catch(t){console.error(`Failed to update cron job for ${e}:`,t)}},[t,e,i,s,u]);f(()=>{t&&n&&p()},[t,n,i,s,u,p]);return{enabled:n??!1,time:i??\"12:00\",frequency:s??\"daily\",day:u??\"Monday\",setEnabled:async e=>{e||await h();try{await o(e)}catch(e){console.error(\"Failed to update enabled state:\",e)}},setTime:async e=>{try{await r(e)}catch(e){console.error(\"Failed to update time:\",e)}},setFrequency:async e=>{try{await c(e),\"daily\"===e&&await d(void 0)}catch(e){console.error(\"Failed to update frequency:\",e)}},setDay:async e=>{var t;if(t=e,Ou.includes(t))try{await d(e)}catch(e){console.error(\"Failed to update day:\",e)}else console.error(\"Invalid day provided\")}}}function zu(e,t){const n=\"restart\"===e?\"_system_scheduleRestart\":\"_system_scheduleShutdown\";return t?`${n}${t}`:n}function Hu({className:n,variant:o,...i}){const r=S(\"io-block-list-gap\",o,n),{enabled:a,time:s,frequency:l,day:c,setEnabled:u,setTime:d,setFrequency:f,setDay:h}=_u(o);return t(T,{className:r,...i,children:[e(ul,{label:`Schedule ${o}`,align:\"right\",onChange:e=>u(e.target.checked),checked:a}),t(\"div\",{className:\"scheduler-controls\",children:[e(\"div\",{className:\"io-control-input io-control-leading-icon direction-up\",children:e(\"input\",{type:\"time\",className:\"io-input\",value:s,onChange:e=>d(e.target.value)})}),t(Wo,{text:l.charAt(0).toUpperCase()+l.slice(1),icon:\"chevron-down\",iconRight:!0,children:[e(Wo.Item,{onClick:()=>f(\"daily\"),children:\"Daily\"}),e(Wo.Item,{onClick:()=>f(\"weekly\"),children:\"Weekly\"})]}),\"weekly\"===l&&e(Wo,{text:c,icon:\"chevron-down\",iconRight:!0,children:Ou.map(t=>e(Wo.Item,{onClick:()=>h(t),children:t},t))})]})]})}function ju({className:t,...n}){return e(Hu,{...n,className:t,variant:\"restart\"})}function Vu({className:t,...n}){return e(Hu,{...n,className:t,variant:\"shutdown\"})}const Wu={Body:$c,General:_c,Theme:zc,Launchpad:({title:n=\"Launchpad\",...o})=>{const{MinimizeToTray:i,PinnedPosition:r,HideFavoritesFromLaunchpad:a}=Ju();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{})]})},MinimizeToTray:jc,PinnedPosition:Wc,HideFavoritesFromLaunchpad:Kc,Docking:({title:n=\"Docking\",...o})=>{const{AllowDocking:i,DockedAlwaysOnTop:r,DockedClaimsSpace:a}=Ju();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{})]})},AllowDocking:Uc,DockedAlwaysOnTop:Jc,DockedClaimsSpace:qc,ExtendedArea:({title:n=\"Extended Area\",...o})=>{const{ShowExtendedArea:i,HideLabelsInExtendedArea:r,ShowFavoritesInExtendedArea:a,ShowRecentAppsInExtendedArea:s}=Ju();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{}),e(s,{})]})},ShowExtendedArea:Gc,HideLabelsInExtendedArea:Yc,ShowFavoritesInExtendedArea:Qc,ShowRecentAppsInExtendedArea:Xc,Layouts:Zc,LayoutsSaveCurrentOnExit:eu,LayoutsShowUnsavedChangesPrompt:tu,LayoutsShowDeletePrompt:nu,Downloads:ou,DownloadsLocation:Bu,DownloadsAskForEachDownload:Lu,System:Ru,SystemRestartSection:ju,SystemShutdownSection:Vu},Ku=s(Wu),Uu=g(({children:t,components:n})=>{const o=u(()=>({...Wu,...n}),[n]);return e(Ku.Provider,{value:o,children:t})});Uu.displayName=\"PreferencesPanelComponentsStoreProvider\";const Ju=()=>l(Ku),qu=({className:n,onClose:o,title:i=\"Platform Preferences\",children:r,...a})=>t(Yo,{className:S(\"io-preferences-panel\",n),\"data-testid\":\"preferences-panel\",...a,children:[t(Yo.Header,{\"data-testid\":\"preferences-panel-header\",children:[e(Yo.Header.Title,{size:\"large\",text:i,tag:\"h1\",\"data-testid\":\"preferences-panel-title\"}),e(Yo.Header.ButtonGroup,{children:e(Yo.Header.ButtonIcon,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:o,\"data-testid\":\"preferences-panel-close-button\"})})]}),r]}),Gu=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Ju();return e(qu,{title:n,onClose:t,...o,children:e(i,{})})},Yu=({components:t,...n})=>e(Uu,{components:t,children:e(Gu,{...n})});function Qu({className:n,title:o=\"General\",...i}){const r=S(\"io-notifications-settings-panel-general\",n),{AllowNotifications:a,AllowNotificationToasts:s,ShowNotificationBadge:l,CloseNotificationOnClick:c,PanelAutoHide:u,HideToastsAfter:d}=Od(),f=Gs();return e(\"div\",{className:r,...i,children:t(T,{title:o,children:[f&&e(a,{}),f&&e(s,{}),e(l,{}),f&&e(u,{}),f&&e(c,{}),f&&e(d,{})]})})}function Xu(e){if(e&&e.errorHandling&&\"function\"!=typeof e.errorHandling&&\"log\"!==e.errorHandling&&\"silent\"!==e.errorHandling&&\"throw\"!==e.errorHandling)throw new Error('Invalid options passed to createRegistry. Prop errorHandling should be [\"log\" | \"silent\" | \"throw\" | (err) => void], but '+typeof e.errorHandling+\" was passed\");var t=e&&\"function\"==typeof e.errorHandling&&e.errorHandling,n={};function o(n,o){var i=n instanceof Error?n:new Error(n);if(t)t(i);else{var r='[ERROR] callback-registry: User callback for key \"'+o+'\" failed: '+i.stack;if(e)switch(e.errorHandling){case\"log\":return console.error(r);case\"silent\":return;case\"throw\":throw new Error(r)}console.error(r)}}return{add:function(e,t,i){var r=n[e];return r||(r=[],n[e]=r),r.push(t),i&&setTimeout(function(){i.forEach(function(i){var r;if(null===(r=n[e])||void 0===r?void 0:r.includes(t))try{Array.isArray(i)?t.apply(void 0,i):t.apply(void 0,[i])}catch(t){o(t,e)}})},0),function(){var o=n[e];o&&(o=o.reduce(function(e,n,o){return n===t&&e.length===o||e.push(n),e},[]),0===o.length?delete n[e]:n[e]=o)}},execute:function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var r=n[e];if(!r||0===r.length)return[];var a=[];return r.forEach(function(n){try{var i=n.apply(void 0,t);a.push(i)}catch(t){a.push(void 0),o(t,e)}}),a},clear:function(){n={}},clearKey:function(e){n[e]&&delete n[e]}}}Xu.default=Xu;var Zu=b(Xu);var ed=new class{subscribed=!1;io=void 0;registry=Zu();logger=void 0;isPanelVisible=void 0;notifications=[];bulkActionsSupported=!1;initPromise=void 0;init(e){return void 0!==this.initPromise||(this.initPromise=(async()=>{if(!this.subscribed){this.subscribed=!0,this.io=e,this.logger=this.io.logger.subLogger(\"notifications\");try{await this.initializeLogger()}catch(e){console.error(\"Failed to initialize logger with app configuration\",e)}this.getBulkActionsSupport();try{await this.subscribe()}catch(e){throw this.logger?.error(\"Error during subscription:\",e),e}}})()),this.initPromise}async initializeLogger(){const e=await hl.getMyApplication(this.io),t=e?.userProperties?.logger?.publishLevel??\"error\",n=e?.userProperties?.logger?.consoleLevel??\"info\";this.logger?.publishLevel(t),this.logger?.consoleLevel(n)}onPanelVisibilityChanged(e){return this.registry.add(\"on-panel-visibility-changed\",e)}onConfigurationChanged(e){return this.registry.add(\"on-configuration-changed\",e)}onNotificationsChanged(e){return this.registry.add(\"on-notifications-changed\",e)}onCounterChanged(e){return this.registry.add(\"on-counter-changed\",e)}async getNotificationsList(){const e=await(this.io?.notifications.list());if(!e)throw new Error(\"io.notifications.list is not supported in this environment.\");return e.map(e=>this.attachHandlers(e))}async getConfiguration(){if(this.io)return await this.io.notifications.getConfiguration();throw new Error(\"io.notifications.getConfiguration is not supported in this environment.\")}showPanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.show()}hidePanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.hide()}clearAll(){return this.logger?.trace(\"clearing all notifications\"),this.io?.notifications.clearAll()}clearAllOld(){return this.logger?.trace(\"clearing all old notifications\"),this.io?.notifications.clearOld()}clearMany(e){const t=this.io?.notifications;return this.isBulkActionSupported(\"clearMany\")?e.length<1?(this.logger?.trace(\"no ids provided to clear notifications\"),Promise.resolve()):(this.logger?.trace(`clearing notifications with ids ${JSON.stringify(e.join(\", \"))}`),t.clearMany?.(e)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}close(e){return this.logger?.trace(`closing notification with id ${e}`),this.io?.notifications.clear(e)}snooze(e,t){return this.logger?.trace(`snoozing notification with id ${e} for ${t}ms`),this.io?.notifications.snooze(e,t)}snoozeMany(e,t){const n=this.io?.notifications;return this.isBulkActionSupported(\"snoozeMany\")?e.length<1?(this.logger?.trace(\"no ids provided to snooze notifications\"),Promise.resolve()):(this.logger?.trace(`snoozing notifications with ids ${JSON.stringify(e.join(\", \"))} for ${t}ms`),n.snoozeMany?.(e,t)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}setState(e,t){return this.logger?.trace(`setting state of ${e} to ${t}`),this.io?.notifications.setState(e,t)}setStates(e,t){const n=this.io?.notifications;return this.isBulkActionSupported(\"setStates\")?e.length<1?(this.logger?.trace(`no ids provided to change state to ${t} for notifications`),Promise.resolve()):(this.logger?.trace(`setting state of ${JSON.stringify(e.join(\", \"))} to ${t}`),n.setStates?.(e,t)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}getBulkActionsSupport(){this.bulkActionsSupported=this.isBulkActionSupported(\"clearMany\")&&this.isBulkActionSupported(\"setStates\")&&this.isBulkActionSupported(\"snoozeMany\")}setFilter(e){return this.logger?.trace(`setting filter to ${JSON.stringify(e)}`),this.io?.notifications.setFilter(e)}configure(e){return this.io?.notifications.configure(e)}async resyncNotifications(){try{const e=await this.getNotificationsList();this.notifications=e,this.registry.execute(\"on-notifications-changed\",[...this.notifications]),this.logger?.trace(`resynced notifications array with ${this.notifications.length} notifications`)}catch(e){this.logger?.error(\"Error resyncing notifications list:\",e)}}async subscribe(){this.io?.notifications.onRaised(e=>{this.logger?.trace(`received event indicating notification raise: ${JSON.stringify(e)}`),this.attachHandlers(e),this.notifications.unshift(e),this.registry.execute(\"on-notifications-changed\",[...this.notifications])}),this.io?.notifications.onStateChanged(({id:e},t)=>{this.logger?.trace(`received event for notification state is changed - \"${e}\" - \"${t?.toString()}\"`),this.notifications=this.notifications.map(n=>n.id===e?(this.logger?.trace(`${n.id} - the state is changed from \"${n.state}\" to \"${t?.toString()}\"`),{...n,state:t}):n),this.registry.execute(\"on-notifications-changed\",this.notifications)});const e=this.io?.notifications;e?.onDataChanged&&e.onDataChanged((e,t)=>{const n=e.id;this.logger?.trace(`received event for notification data is changed - \"${n}\" - \"${JSON.stringify(t)}\"`),this.notifications=this.notifications.map(e=>e.id===n?(this.logger?.trace(`${e.id} - the data is changed from \"${JSON.stringify(e.data)}\" to \"${JSON.stringify(t)}\"`),{...e,data:t}):e),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications.onClosed(({id:e})=>{this.logger?.trace(`received event for notification is closed - \"${e}\".`),this.notifications=this.notifications.filter(t=>t.id!==e),this.registry.execute(\"on-notifications-changed\",this.notifications)});try{const e=await this.getNotificationsList(),t=new Set(e.map(e=>e.id)),n=this.notifications.filter(e=>!t.has(e.id));this.notifications=[...n,...e],this.logger?.trace(`initialized with ${e.length} fetched + ${n.length} from events = ${this.notifications.length} total`)}catch(e){this.logger?.error(\"Error fetching initial notifications list:\",e),this.logger?.trace(`continuing with ${this.notifications.length} notifications from events`)}this.io?.notifications.onConfigurationChanged(e=>{this.logger?.trace(`received event for configuration changed - ${JSON.stringify(e)}.`),this.registry.execute(\"on-configuration-changed\",e)}),this.isDesktopEnvironment()&&this.io?.notifications.panel.onVisibilityChanged(e=>{this.logger?.trace(`received event for panel visibility changed to \"${e}\".`),this.isPanelVisible=e,e&&this.resyncNotifications().catch(e=>{this.logger?.error(\"Error resyncing notifications on panel visibility:\",e)}),this.registry.execute(\"on-panel-visibility-changed\",e)})}isDesktopEnvironment(){return\"object\"==typeof globalThis.window&&(Boolean(globalThis.window.iodesktop)||Boolean(globalThis.window.glue42gd))}isBulkActionSupported(e){const t=this.io?.notifications;return\"function\"==typeof t?.[e]}attachHandlers(e){e.actions?.forEach(t=>{Object.assign(t,{onClick:async n=>{try{this.logger?.info(`${e.id}/${t.action} - was clicked.`),await(this.io?.notifications.click(e.id,t.action,n))}catch(e){this.logger?.error(\"Error while clicking on action:\",e)}}})});const t={snooze:async(t=1e4)=>{this.logger?.trace(`${e.id} - request to change the state from ${e.state} to Snoozed with duration ${t}ms`),await(this.io?.notifications.snooze(e.id,t))},updateState:async t=>(this.logger?.trace(`${e.id} - request to change the state from ${e.state} to ${t}`),this.io?.notifications.setState(e.id,t)),updateData:async t=>{this.logger?.trace(`${e.id} - request to change the data to ${JSON.stringify(t)}`);const n=this.io?.notifications;n?.updateData?await n.updateData(e.id,t):this.logger?.warn(\"'updateData' method is not supported\")},onClick:async t=>{try{this.logger?.info(`${e.id} - was clicked.`),await(this.io?.notifications.click(e.id,void 0,t))}catch(t){this.logger?.error(`Error while clicking on Notification: ${e.id}`,t)}},onShow:()=>{},close:async()=>(this.logger?.info(`${e.id} - was closed.`),this.close(e.id))};return Object.assign(e,t)}};function td(e){const t=l(w),n=Gs(),[o,i]=c([]),[r,s]=c(0),d=\"Platform\",h=a((e=\"asc\")=>{if(null===n)return[];const t=[...o].sort((t,n)=>{const o=(t.title??t.name).toLowerCase(),i=(n.title??n.name).toLowerCase();return\"asc\"===e?o.localeCompare(i):i.localeCompare(o)});if(!n){const e=t.findIndex(e=>e.name===d);if(-1!==e){const[n]=t.splice(e,1);t.unshift(n)}}return t},[o,n]),p=u(()=>h(\"asc\"),[h]),m=u(()=>h(\"desc\"),[h]);f(()=>{if(null===n||n)return;const e={title:\"System\",name:d,hidden:!1,userProperties:{hidden:!1}};i(t=>t.some(t=>t.name===e.name)?t:[...t,e])},[n]),f(()=>{if(!t)return;let e,n,o,r=!1;const a=e=>{i(t=>[...t.filter(t=>t.name!==e.name),{title:e.title??e.name,name:e.name,hidden:e.hidden,userProperties:e.userProperties}])},s=e=>{i(t=>t.filter(t=>t.name!==e.name))},l=e=>{i(t=>t.find(t=>t.name===e.name)?t.map(t=>t.name===e.name?{...t,title:e.title??t.title,hidden:e.hidden??t.hidden,userProperties:e.userProperties??t.userProperties}:t):t)};return(async()=>{const c=await hl.getApplications(t);if(r)return;i(e=>{const t=new Map;return e.forEach(e=>t.set(e.name,e)),c.forEach(e=>{t.set(e.name,{title:e.title??e.name,name:e.name,hidden:e.hidden,userProperties:e.userProperties})}),Array.from(t.values())});const[u,d,f]=await Promise.all([hl.onAppAdded(t,a),hl.onAppRemoved(t,s),hl.onAppChanged(t,l)]);if(r)return u?.(),d?.(),void f?.();e=u,n=d,o=f})().catch(e=>{console.error(\"Failed to initialize apps\",e)}),()=>{r=!0,e?.(),n?.(),o?.()}},[t]);return{apps:u(()=>{if(!e?.sourceFilter||!Array.isArray(o))return o;const{allowed:t=[],blocked:n=[]}=e.sourceFilter,i=t.includes(\"*\"),r=n.includes(\"*\");let a=0;const l=o.map(e=>{const n=i||t.includes(e.name),o=!r&&n;return o&&a++,{...e,allowed:o}});return s(a),l},[e,o]),allowedApps:r,sortedAppsAsc:p,sortedAppsDesc:m,sortAppsAlphabetically:h}}function nd(e,t,n){const o=u(()=>{if(!t.toastStacking)return[];const o=\"application\"===(i=t.stackBy)?\"source\":\"severity\"===i?\"severity\":\"source\";var i;const r=e.filter(e=>\"Active\"===e.state),a=new Map;for(const e of r){const t=e[o]??\"\";if(e.source&&n?.sourceFilter?.muted?.includes(e.source)||n?.sourceFilter?.muted?.includes(\"*\"))continue;a.has(t)||a.set(t,{key:t,items:[]});const i=a.get(t);i&&i.items.unshift(e)}return Array.from(a.values()).filter(e=>e.items.some(e=>\"Active\"===e.state||\"Stale\"===e.state))},[e,t.toastStacking,t.stackBy,n?.sourceFilter?.muted]);return{notificationStacks:o}}function od(e){const[t,n]=c([]);return{selectedNotifications:t,selectNotification:(e,o)=>{const i=t;n(o?[...i,e]:i.filter(t=>t!==e))},selectAllNotifications:(t,o)=>{if(o){let o=[];switch(t){case\"read\":o=e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state).map(e=>e.id);break;case\"unread\":o=e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state).map(e=>e.id);break;case\"snoozed\":o=e.filter(e=>\"Snoozed\"===e.state).map(e=>e.id);break;default:o=e.map(e=>e.id)}n(o)}else n([])}}}const id=e=>({enabledNotifications:e.enable,enabledToasts:e.enableToasts,toastStacking:\"stacked\"===e.toasts?.mode,stackBy:e.toasts?.stackBy,toastExpiry:e.toastExpiry,showNotificationBadge:e.showNotificationBadge,placement:e.placement,snooze:e.snooze,closeNotificationOnClick:e.closeNotificationOnClick,autoHidePanel:e.autoHidePanel}),rd=e=>Array.from(e.reduce((e,t)=>e.set(t.id,t),new Map).values());function ad(){const e=l(w),[t,n]=c({}),[o,i]=c({}),[r,a]=c([]),[s,u]=c(0),[d,h]=c(!0),{apps:p,allowedApps:m}=td(t),{notificationStacks:g}=nd(r,{toastStacking:o.toastStacking??!1,stackBy:o.stackBy??\"source\"},{sourceFilter:t.sourceFilter}),{selectedNotifications:v,selectNotification:y,selectAllNotifications:b}=od(r);f(()=>{(async()=>{await ed.init(e),await(async()=>{try{const e=await ed.getConfiguration();n(e),i(t=>({...t,...id(e)}))}catch(e){console.error(\"Error fetching configuration:\",e)}})(),await(async()=>{try{const e=await ed.getNotificationsList();a(rd(e))}catch(e){console.error(\"Error fetching notifications:\",e)}})()})().catch(e=>{console.error(\"Error in useNotifications fetch:\",e)}),k()},[e]),f(()=>{const e=ed.onNotificationsChanged(e=>{a(rd(e))}),t=ed.onConfigurationChanged(e=>{const t=id(e);n(t=>({...t,...e})),i(e=>({...e,...t}))}),o=ed.onCounterChanged(e=>{u(e)});return()=>{e(),t(),o()}},[]);const k=()=>{h(ed.bulkActionsSupported)},C=async e=>{await ed.setFilter(e)};return{close:e=>ed.close(e),clearAll:()=>ed.clearAll(),settings:o,hidePanel:async()=>{await ed.hidePanel()},showPanel:async()=>{await ed.showPanel()},saveFilter:C,clearAllOld:()=>ed.clearAllOld(),saveSetting:async e=>{const n=((e,t)=>{const n=(e=>({enabledNotifications:e=>({enable:e}),enabledToasts:e=>({enableToasts:e}),toastStacking:t=>({toasts:{mode:t?\"stacked\":\"single\",stackBy:e.toasts?.stackBy}}),stackBy:t=>({toasts:{mode:e.toasts?.mode,stackBy:t}}),showNotificationBadge:e=>({showNotificationBadge:e}),toastExpiry:e=>({toastExpiry:e}),placement:e=>({placement:e}),snooze:e=>({snooze:e}),closeNotificationOnClick:e=>({closeNotificationOnClick:e}),autoHidePanel:e=>({autoHidePanel:e})}))(t),o=Object.keys(e)[0],i=e[o];return o&&void 0!==i&&n[o]?n[o](i):{}})(e,t);n&&await ed.configure(n)},allApps:p,saveAllFilter:async e=>{\"subscribe\"in e?await C({allowed:e.subscribe?[\"*\"]:[],blocked:e.subscribe?[]:[\"*\"]}):\"mute\"in e&&await C({muted:e.mute?[\"*\"]:[]})},configuration:t,notifications:r,notificationStacks:g,notificationsCount:s,allApplications:t.allApplications??0,allowedApplications:m,isBulkActionsSupported:d,selectedNotifications:v,selectNotification:y,selectAllNotifications:b,clearMany:async e=>{await ed.clearMany(e)},snooze:async(e,t)=>{await ed.snooze(e,t)},snoozeMany:async(e,t)=>{await ed.snoozeMany(e,t)},setState:async(e,t)=>{await ed.setState(e,t)},setStates:async(e,t)=>{await ed.setStates(e,t)},setCount:e=>{u(e)},getNotificationsList:async()=>await ed.getNotificationsList()}}const sd=s({allApps:[],settings:{},configuration:{},notifications:[],notificationsCount:0,onClose:()=>{},allApplications:0,clearAll:()=>{},showPanel:()=>{},hidePanel:()=>{},saveFilter:()=>{},clearAllOld:()=>{},notificationStacks:[],saveSetting:()=>{},allowedApplications:0,saveAllFilter:()=>{},isBulkActionsSupported:!1,selectedNotifications:[],selectNotification:()=>{},selectAllNotifications:()=>{},clearMany:()=>{},snooze:()=>{},snoozeMany:()=>{},setState:()=>{},setStates:()=>{},setCount:()=>{}}),ld=()=>l(sd);function cd({label:t=\"Allow notifications\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs(),l=a(e=>{r({enabledNotifications:e.target.checked})},[r]);return s?e(ul,{label:t,align:n,onChange:l,checked:i.enabledNotifications??!1,...o}):null}function ud({label:t=\"Allow notification toasts\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs(),l=s&&!i.enabledNotifications,c=a(e=>{r({enabledToasts:e.target.checked})},[r]);return s?e(ul,{label:t,align:n,onChange:c,checked:i.enabledToasts??!1,disabled:l,...o}):null}function dd({label:t=\"Show notification badge\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs()&&!i.enabledNotifications,l=a(e=>{r({showNotificationBadge:e.target.checked})},[r]);return e(ul,{label:t,align:n,onChange:l,checked:i.showNotificationBadge??!1,disabled:s,...o})}function fd({label:t=\"Close notification on click\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs(),l=s&&!i.enabledNotifications,c=a(e=>{r({closeNotificationOnClick:e.target.checked})},[r]);return s?e(ul,{label:t,align:n,onChange:c,checked:i.closeNotificationOnClick??!1,disabled:l,...o}):null}function hd({label:t=\"Auto hide panel\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs(),l=a(e=>{r({autoHidePanel:e.target.checked})},[r]);return s?e(ul,{label:t,align:n,onChange:l,checked:i.autoHidePanel??!1,...o}):null}const pd=(e,t)=>e?`${e} ${t}${1!==e?\"s\":\"\"}`:\"\",md=e=>{const t=Math.floor(e/60),n=e%60,o=pd(t,\"minute\"),i=pd(n,\"second\");return o+(o&&i?\" \":\"\")+i};function gd({className:n,title:o=\"Hide toasts after\",items:i=[15,30,45,60],...r}){const s=S(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ld(),u=Gs(),d=u&&!l.enabledNotifications,f=a((e=15e3)=>{l.toastExpiry!==e&&c({toastExpiry:1e3*e})},[l.toastExpiry,c]);return u?t(\"div\",{className:s,...r,children:[e(\"div\",{className:\"io-text-clipper \"+(d?\"io-text-disabled\":\"\"),children:e(\"span\",{children:o})}),t(ee,{variant:\"light\",disabled:d,children:[e(ee.Button,{text:md((l.toastExpiry??0)/1e3)}),e(ee.Content,{children:e(ee.List,{variant:\"single\",children:i.map(t=>e(ee.Item,{onClick:()=>{f(t)},children:md(t)},t))})})]})]}):null}function vd({className:n,title:o=\"Stacking\",...i}){const r=S(\"io-notifications-settings-panel-stacking\",n),{ToastStacking:a,ToastStackBy:s}=Od();return Gs()?e(\"div\",{className:r,...i,children:t(T,{title:o,children:[e(a,{}),e(s,{})]})}):null}function yd({label:t=\"Allow toast stacking\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ld(),s=Gs(),l=s&&!i.enabledNotifications,c=a(e=>{r({toastStacking:e.target.checked})},[r]);return s?e(ul,{label:t,align:n,onChange:c,checked:i.toastStacking??!1,disabled:l,...o}):null}const wd={application:\"Application\",severity:\"Priority\"},bd=Object.fromEntries(Object.entries(wd).map(([e,t])=>[t,e]));function kd({className:n,title:o=\"Group by\",...i}){const r=S(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ld(),c=Gs(),u=c&&!s.enabledNotifications,d=a((e=\"severity\")=>{s.stackBy!==e&&l({stackBy:e.toLowerCase()})},[s.stackBy,l]);if(!c)return null;const f=Object.values(wd);return t(\"div\",{className:r,...i,children:[e(\"div\",{className:S(\"io-text-clipper\",{\"io-text-disabled\":u}),children:e(\"span\",{children:o})}),t(ee,{variant:\"light\",disabled:u,children:[e(ee.Button,{text:wd[s.stackBy??\"severity\"]}),e(ee.Content,{children:e(ee.List,{variant:\"single\",children:f.map(t=>e(ee.Item,{onClick:()=>{const e=bd[t];d(e)},children:t},t))})})]})]})}function Cd({className:n,title:o=\"Placement\",...i}){const r=S(\"io-notifications-settings-panel-placement\",n),{PlacementPanel:a,PlacementToasts:s}=Od();return Gs()?e(\"div\",{className:r,...i,children:t(T,{title:o,children:[e(a,{}),e(s,{})]})}):null}const Sd=e=>e.replace(/(^|-)\\w/g,e=>e.toUpperCase().replace(\"-\",\" \"));function xd({className:n,title:o=\"Panel position\",...i}){const r=S(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ld(),c=Gs(),u=a(e=>{e||(e=\"right\"),s.placement?.panel!==e&&l({placement:{...s.placement,panel:e.toLowerCase()}})},[s.placement,l]);if(!c)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(ee,{variant:\"light\",children:[e(ee.Button,{text:s.placement?.panel?Sd(s.placement?.panel):\"Right\"}),e(ee.Content,{children:e(ee.List,{variant:\"single\",children:[\"Right\",\"Left\"].map(t=>e(ee.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function Nd({className:n,title:o=\"Toasts position\",...i}){const r=S(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ld(),c=Gs(),u=a(e=>{if(e||(e=\"bottom-right\"),s.placement?.toasts===e)return;const t=e.replace(/\\s+/g,\"-\").toLowerCase();l({placement:{...s.placement,toasts:t}})},[s.placement,l]);if(!c)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(ee,{variant:\"light\",children:[e(ee.Button,{text:s.placement?.toasts?Sd(s.placement?.toasts):\"Bottom Right\"}),e(ee.Content,{children:e(ee.List,{variant:\"single\",children:[\"Top Right\",\"Top Left\",\"Bottom Right\",\"Bottom Left\"].map(t=>e(ee.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function Id({className:t,title:n=\"Snooze\",...o}){const i=S(\"io-notifications-settings-panel-snooze\",t),{SnoozeDuration:r}=Od(),{settings:a}=ld();return Gs()&&a.snooze?.enabled?e(\"div\",{className:i,...o,children:e(T,{title:n,children:e(r,{})})}):null}function Ad({className:n,title:o=\"Default duration\",items:i=[60,120,180,300],...r}){const s=S(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ld(),u=Gs(),d=u&&!l.enabledNotifications,f=a((e=6e4)=>{l.snooze&&l.snooze?.duration!==e&&c({snooze:{...l.snooze,duration:1e3*e}})},[l.snooze,c]);return u&&l.snooze?.enabled?t(\"div\",{className:s,...r,children:[e(\"div\",{className:S(\"io-text-clipper\",{\"io-text-disabled\":d}),children:e(\"span\",{children:o})}),t(ee,{variant:\"light\",disabled:d,children:[e(ee.Button,{text:md((l.snooze?.duration??0)/1e3)}),e(ee.Content,{children:e(ee.List,{variant:\"single\",children:i.map(t=>e(ee.Item,{onClick:()=>{f(t)},children:md(t)},t))})})]})]}):null}function Pd({className:n,title:o,...i}){const r=S(\"io-notifications-settings-panel-subscriptions\",n),{SubscribeAll:a,SubscribeApp:s,SubscribeMuteAll:l,SubscribeMuteApp:c}=Od(),{sortAppsAlphabetically:u}=td(),d=Gs(),f=u(),h=\"io-notifications-subscriptions-grid \"+(d?\"with-three-columns\":\"with-two-columns\");return e(\"div\",{className:r,...i,children:t(T,{title:o??(d?\"Subscribe & Mute\":\"Subscribe\"),children:[t(\"div\",{className:h,children:[e(\"p\",{className:\"io-text-section\",children:\"Sources\"}),e(\"p\",{className:\"io-text-section\",children:\"Subscribe\"}),d&&e(\"p\",{className:\"io-text-section\",children:\"Mute\"})]}),t(\"div\",{className:h,children:[e(\"p\",{children:\"All Sources\"}),e(a,{label:\"\"}),d&&e(l,{label:\"\"})]}),f.map(n=>!n||n.hidden||n?.userProperties?.hidden?null:t(\"div\",{className:h,children:[e(\"p\",{children:n.title??n.name}),e(s,{app:n,label:\"\"}),d&&e(c,{app:n,label:\"\"})]},n.name))]})})}function Ed({label:t=\"All apps\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ld(),l=Gs()&&!i.enabledNotifications,c=a(e=>{s({subscribe:e.target.checked})},[s]);return e(ul,{align:n,label:t,onChange:c,checked:(r.sourceFilter?.allowed?.includes(\"*\")&&0===r.sourceFilter?.blocked?.length)??!1,disabled:l,...o})}function Td({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ld(),u=Gs()&&!s.enabledNotifications,d=a((e,t)=>{const n={...l.sourceFilter},o=n.allowed?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.allowed?.splice(o,1),r.forEach(e=>{e.name!==t.name&&n.allowed?.push(e.name)})),e?(n.allowed=[...new Set([...n.allowed??[],t.name])],n.blocked=n.blocked?.filter(e=>e!==t.name)):(n.allowed=n.allowed?.filter(e=>e!==t.name),n.blocked=[...new Set([...n.blocked??[],t.name])]),n.allowed?.length&&n.blocked?.includes(\"*\")&&n.blocked.splice(n.blocked.indexOf(\"*\"),1),c(n)},[r,l.sourceFilter,c]);return e(ul,{id:`subscribe-${o.name}`,label:t,align:n,onChange:e=>d(e.target.checked,o),checked:(l.sourceFilter?.allowed?.includes(\"*\")&&!l.sourceFilter?.blocked?.includes(o.name)||l.sourceFilter?.allowed?.includes(o.name))??!1,disabled:u,...i})}function Dd({label:t=\"Mute all\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ld(),l=Gs(),c=l&&(!i.enabledNotifications||-1===r.sourceFilter?.allowed?.indexOf(\"*\")),u=a(e=>{s({mute:e.target.checked})},[s]);return l?e(ul,{align:n,label:t,onChange:u,checked:r.sourceFilter?.muted?.includes(\"*\")??!1,disabled:c??!1,...o}):null}function Bd({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ld(),u=Gs(),d=u&&(!s.enabledNotifications||l.sourceFilter?.blocked?.includes(\"*\")||l.sourceFilter?.blocked?.includes(o.name)||0===l.sourceFilter?.allowed?.length||-1===l.sourceFilter?.allowed?.indexOf(o.name)&&-1===l.sourceFilter?.allowed?.indexOf(\"*\")&&0===l.sourceFilter?.blocked?.length),f=a((e,t)=>{const n={...l.sourceFilter},o=n?.muted?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.muted?.splice(o,1),r.forEach(e=>{e.name===t.name||e.hidden||n.muted?.push(e.name)})),e?n.muted?.push(t.name):n.muted=n.muted?.filter(e=>e!==t.name),c(n)},[r,l.sourceFilter,c]);return!u||o.hidden?null:e(ul,{id:`mute-${o.name}`,label:t,align:n,onChange:e=>f(e.target.checked,o),checked:(l.sourceFilter?.muted?.includes(\"*\")||l.sourceFilter?.muted?.includes(o.name))??!1,disabled:d??!1,...i})}const Ld={Body:n=>{const{General:o,Placement:i,Stacking:r,Snooze:a,Subscriptions:s}=Od();return t(Ls,{element:qo,elementProps:n,children:[e(o,{}),e(r,{}),e(i,{}),e(a,{}),e(s,{})]})},General:Qu,AllowNotifications:cd,AllowNotificationToasts:ud,ShowNotificationBadge:dd,CloseNotificationOnClick:fd,PanelAutoHide:hd,HideToastsAfter:gd,Stacking:vd,ToastStacking:yd,ToastStackBy:kd,Placement:Cd,PlacementPanel:xd,PlacementToasts:Nd,Snooze:Id,SnoozeDuration:Ad,Subscriptions:Pd,SubscribeAll:Ed,SubscribeApp:Td,SubscribeMuteAll:Dd,SubscribeMuteApp:Bd},Rd=s(Ld),Fd=g(({children:t,components:n})=>{const o=u(()=>({...Ld,...n}),[n]);return e(Rd.Provider,{value:o,children:t})});Fd.displayName=\"NotificationsSettingsPanelComponentsStoreProvider\";const Od=()=>l(Rd),Md=({className:n,onClose:o,title:i=\"Notification Settings\",...r})=>{const{Body:a}=Od();return t(Yo,{className:S(\"io-notifications-settings-panel\",n),\"data-testid\":\"notifications-settings-panel\",...r,children:[t(Yo.Header,{children:[e(Yo.Header.Title,{size:\"large\",text:i,tag:\"h1\"}),e(Yo.Header.ButtonGroup,{children:e(Yo.Header.ButtonIcon,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),e(a,{})]})},$d=({components:t,...n})=>e(Fd,{components:t,children:e(Md,{...n})}),_d=({name:n,value:o})=>t(\"div\",{className:\"io-profile-section-item\",children:[e(\"div\",{className:\"io-profile-section-item-name\",children:n}),e(\"div\",{className:\"io-profile-section-item-value\",children:o})]}),zd=({className:n,items:o,title:i})=>t(\"div\",{className:S(\"io-profile-section-body\",n),children:[i&&e(E,{className:\"io-profile-section-title\",text:i}),o.map(({name:t,value:n})=>e(_d,{name:t,value:n},t))]}),Hd=({className:n,items:o,title:i})=>t(\"section\",{className:S(\"io-profile-section\",n),children:[e(zd,{items:o,title:i}),e(W,{className:\"mt-8\"})]}),jd=({title:t=\"License\",...n})=>e(Hd,{title:t,...n}),Vd=({title:t=\"Version\",...n})=>e(Hd,{title:t,...n}),Wd=({title:t=\"Plugins\",...n})=>e(Hd,{title:t,...n}),Kd=({className:n})=>{const o=qs()?\"io.Connect Desktop\":\"io.Connect Browser\";return t(\"div\",{className:S(\"io-trademark-container\",n),children:[e(\"h4\",{className:\"io-trademark-title\",children:o}),t(\"p\",{className:\"io-trademark-text\",children:[o,\"® is a registered trademark of\",\" \",e(\"a\",{href:\"https://www.interop.io\",rel:\"noreferrer\",target:\"_blank\",children:\"Interop Inc©\"}),\" \",(new Date).getFullYear(),\". All rights reserved.\"]})]})},Ud=({avatarInitials:n=(qs()?\"CD\":\"CB\"),className:o,items:i,onLogout:r,title:a})=>t(\"section\",{className:S(\"io-profile-section\",o),children:[t(\"div\",{className:\"io-user-details-container\",children:[e(\"div\",{className:\"io-user-avatar\",children:n}),e(zd,{className:\"mt-12\",items:i,title:a})]}),r&&e(L,{className:\"io-log-out-button\",onClick:r,variant:\"primary\",icon:\"arrow-right-from-bracket\",children:\"Log out\"}),e(W,{className:\"mt-8\"})]}),Jd={LicenseSection:jd,ProductsInfoSection:Vd,PluginsSection:Wd,Trademark:Kd,UserSection:Ud},qd=s(Jd),Gd=g(({children:t,components:n})=>{const o=u(()=>({...Jd,...n}),[n]);return e(qd.Provider,{value:o,children:t})});Gd.displayName=\"ProfilePanelComponentsStoreProvider\";const Yd=e=>{const t=new Date(e);return[{day:\"numeric\"},{month:\"short\"},{year:\"numeric\"}].map(e=>t.toLocaleDateString(\"en\",e)).join(\" \")},Qd=e=>{if(!e)return{items:[]};const t=[...e.email?[{name:\"Email\",value:e.email}]:[],...e.type?[{name:\"User Type\",value:e.type}]:[],...e.role?[{name:\"User Role\",value:e.role}]:[],{name:\"User ID\",value:e.id}];if(e.firstName||e.lastName){const n=[e.firstName,e.lastName].filter(e=>!!e);return{avatarInitials:n.map(e=>e.charAt(0)).join(\"\"),items:t,title:n.join(\" \")}}return e.username?{avatarInitials:e.username.charAt(0),items:t,title:e.username}:e.email?{avatarInitials:e.email.charAt(0),items:t}:{items:t}},Xd=e=>{const t=new Date(2023,5,6),n=e.expiration<t.getTime()?1e3:1;return{items:[{name:\"Type\",value:e.type},{name:\"Expiration Date\",value:Yd(e.expiration*n)}]}},Zd=e=>({items:e.map(e=>({name:e.name,value:e.version}))}),ef=e=>{const t={\"@interopio/workspaces-ui-react\":\"Workspaces React Frame\",\"@interopio/workspaces-ui-web-components\":\"Workspaces Web Components Frame\"};return{items:[{name:\"io.Connect Browser platform\",value:e.platform.apiVersion},{name:\"io.Connect Browser client\",value:e.client.apiVersion},...e.workspaces?[{name:\"Workspaces API\",value:e.workspaces.apiVersion}]:[],...e.workspaces?.container&&Mu(e.workspaces.container.type,t)?[{name:t[e.workspaces.container.type],value:e.workspaces.container.version}]:[],...e.home?[{name:\"Home UI\",value:e.home.version}]:[],...e.search?[{name:\"Search API\",value:e.search.apiVersion}]:[],...e.modals?[{name:\"Modals API\",value:e.modals.apiVersion}]:[]]}},tf=()=>{const e=window.glue42gd??window.iodesktop;if(!e)throw new Error(\"both window.glue42gd and window.iodesktop are not available\");const{user:t,env:n}=e,o=[{name:\"Environment\",value:n.env},{name:\"Region\",value:n.region}];return t?{avatarInitials:t.charAt(0),items:o,title:t}:{items:o}},nf=e=>{const t=Object.entries(e??{}).map(([e,t])=>({name:e,value:t}));return{items:t}},of=(e=[])=>({items:e.map(({product:e,version:t})=>({name:e,value:t}))}),rf=e=>qs()?(async e=>{const{licInfo:t,productInfo:n}=(await e.interop.invoke(\"T42.GD.GetInfo\")).returned;return{user:tf(),license:nf(t),productsInfo:of(n)}})(e):(async()=>{if(!window.iobrowser)throw new Error(\"window.iobrowser is not available\");const e=await window.iobrowser.system.getProfileData();return{user:Qd(e.user),license:Xd(e.license),plugins:Zd(e.plugins),productsInfo:ef(e.productsInfo)}})(),af=({className:n,onClose:o,onLogout:i,title:r=\"Profile\",...a})=>{const{LicenseSection:s,ProductsInfoSection:u,PluginsSection:d,Trademark:h,UserSection:p}=l(qd),m=l(w),[g,v]=c(null);return f(()=>{if(!m)return;(async()=>{const e=await rf(m);v(e)})().catch(console.error)},[m]),t(Yo,{className:S(\"io-profile-panel\",n),\"data-testid\":\"profile-panel\",...a,children:[t(Yo.Header,{children:[e(Yo.Header.Title,{size:\"large\",text:r}),e(Yo.Header.ButtonGroup,{children:e(Yo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),t(Ls,{element:Yo.Body,children:[g?.user.items.length||g?.user.title?e(p,{avatarInitials:g.user.avatarInitials,items:g.user.items,onLogout:i,title:g.user.title}):null,t(\"div\",{className:\"io-profile-sections-container\",children:[g?.license.items.length?e(s,{items:g.license.items}):null,g?.productsInfo.items.length?e(u,{items:g.productsInfo.items}):null,g?.plugins?.items.length?e(d,{items:g.plugins.items}):null]}),e(h,{className:\"mt-auto\"})]})]})},sf=({components:t,...n})=>e(Gd,{components:t,children:e(af,{...n})}),lf=document.querySelector(\"#root\")??document.body,cf={preferences:Yu,\"notification-settings\":$d,profile:sf};var uf=Object.freeze({__proto__:null,ActivePanelRenderer:()=>{const{panel:t,deselectPanel:n}=Mc();Z(()=>{t&&n()},[\"Escape\"]);const o=t?cf[t]:null;return o?y(e(\"div\",{className:\"io-panel-overlay\",children:e(o,{onClose:n})}),lf):null},PanelManagerProvider:({children:t})=>{const[n,o]=c(null),i=a(e=>{o(e)},[]),r=a(()=>{o(null)},[]),s=u(()=>({panel:n,selectPanel:i,deselectPanel:r}),[n,i,r]);return e(Oc.Provider,{value:s,children:t})},usePanelManagerContext:Mc});function df({actions:t,onActionClick:n}){return e(te,{\"data-testid\":\"io-alert-action-buttons-group\",children:t.map(t=>e(L,{\"data-testid\":`io-alert-action-button-${t.id}`,onClick:e=>n(e,t),children:t.title},t.id))})}function ff({data:t,onClick:n}){const o=!!t.config.actions?.length&&e(df,{actions:t.config.actions,onActionClick:(e,t)=>{e.stopPropagation();const o={name:t.title,settings:t.clickInterop};n({interopAction:o,shouldCloseAlert:!0})}});return e(A,{append:o,close:t.config.showCloseButton??!0,closeButtonOnClick:e=>{e.stopPropagation();const o=t.config.onCloseInterop?{name:\"io-alert-close\",settings:t.config.onCloseInterop}:void 0;n({interopAction:o,shouldCloseAlert:!0})},onClick:()=>{const e=t.config.clickInterop?{name:\"io-alert-click\",settings:t.config.clickInterop}:void 0;n({interopAction:e,shouldCloseAlert:!0})},size:\"large\",text:t.config.text,variant:t.config.variant,...t.config.data})}function hf({Alert:t=ff,messagePort:n}){const[o,i]=c(null);return f(()=>{const e=n.subscribe(({data:e})=>{i(e)});return e},[n]),o?e(t,{data:o,onClick:({interopAction:e,shouldCloseAlert:t})=>{n.postMessage({id:o.id,interopAction:e,shouldCloseAlert:t})}}):null}var pf=Object.freeze({__proto__:null,Actions:df,Alerts:hf,DefaultAlert:ff});const mf=s({theme:\"dark\"}),gf=()=>l(mf);var vf=Object.freeze({__proto__:null,Alert:function(){const{theme:t}=gf();f(()=>(document.documentElement.classList.add(t),()=>{document.documentElement.classList.remove(t)}),[t]);const{postMessage:n,subscribe:o}=globalThis.glue42alert??{};return n&&o?e(hf,{messagePort:{postMessage:n,subscribe:o}}):null},AlertsProvider:({children:t})=>{const[n,o]=c(\"dark\");f(()=>{if(!globalThis.glue42alert)return;globalThis.glue42alert.onThemeChanged(e=>{o(e)}),o(globalThis.glue42alert?.getTheme()??\"dark\")},[]);const i=u(()=>({theme:n}),[n]);return e(mf.Provider,{value:i,children:t})},useAlertsContext:gf});const yf=\"var(--io-neutrals-0)\",wf=\"var(--io-neutrals-900)\";function bf(e){let t,n,o;if(e.startsWith(\"#\")){let i=e.slice(1);3===i.length&&(i=i.split(\"\").map(e=>e+e).join(\"\")),t=parseInt(i.substring(0,2),16),n=parseInt(i.substring(2,4),16),o=parseInt(i.substring(4,6),16)}else{if(!e.startsWith(\"rgb\")){const t=document.createElement(\"canvas\").getContext(\"2d\");if(!t)return wf;t.fillStyle=e;return bf(t.fillStyle)}{const i=e.match(/\\d+/g)?.map(Number);if(!i||i.length<3)return wf;[t,n,o]=i}}return(.2126*t+.7152*n+.0722*o)/255>.5?wf:yf}function kf({className:t,channel:n,...o}){const i=S(\"io-channel-badge\",t),r=u(()=>bf(n.color),[n.color]);return e(\"div\",{className:i,style:{color:r,backgroundColor:n.color},\"data-testid\":`channel-selector-badge-${n.color}`,...o,children:e(\"span\",{className:\"io-channel-selector-badge-label\",\"data-testid\":\"channel-selector-label\",children:n.label})})}function Cf(){return e(x,{variant:\"check\",\"data-testid\":\"channel-selector-channel-selected\"})}function Sf({channel:o,handleChannelRestricted:i,lockedChannelRestriction:r}){const a=(e,t)=>n=>{n.stopPropagation(),D(n)&&(n.preventDefault(),t||i({...o,[e]:!o[e]}))};return t(n,{children:[e(\"div\",{children:o.isSelected&&e(\"span\",{\"data-testid\":\"channel-selector-channel-selected\",children:\"Active\"})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-publish-toggle-container\",children:e(ul,{label:\"Publish\",checked:o.write,onChange:()=>{i({...o,write:!o.write})},onKeyDown:a(\"write\",!o.isSelected||r?.write),onClick:e=>e.stopPropagation(),disabled:!o.isSelected||r?.write})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-subscribe-toggle-container\",children:e(ul,{label:\"Subscribe\",checked:o.read,onChange:()=>{i({...o,read:!o.read})},onKeyDown:a(\"read\",!o.isSelected||r?.read),disabled:!o.isSelected||r?.read})})]})}const xf=s({});function Nf({channel:t,isSelected:n,onChannelSelect:o,onChannelRestrict:i,...r}){const{variant:s,selectedChannels:c,lockedChannelRestrictions:u}=l(xf),d=n||t.isSelected||c?.includes(t),f=u?.find(e=>e.name===t.name),h=a(()=>o?.({...t,isSelected:!d}),[t,o,d]),p=a(e=>{const n=e.target;n.closest(\".io-toggle\")||n.classList.contains(\"io-toggle\")||D(e)&&(e.preventDefault(),o?.({...t,isSelected:!d}))},[t,o,d]),m=a(e=>{i?.(e)},[i]);return e(_,{prepend:e(kf,{channel:t}),append:\"single\"===s||\"multi\"===s?d&&e(Cf,{}):e(Sf,{channel:t,handleChannelRestricted:m,lockedChannelRestriction:f}),isSelected:d,onClick:h,onKeyDown:p,...r,children:t.name},t.name)}function If({variant:t,onVariantChange:n,disabled:o=!1}){const i=\"directionalSingle\"===t||\"directionalMulti\"===t,r=a(()=>{n?.(!i)},[i,n]),s=a(e=>{e.stopPropagation()},[]),l=a(e=>{e.stopPropagation(),D(e)&&(e.preventDefault(),o||r())},[o,r]);return e(ul,{label:\"Directional\",align:\"right\",checked:i,onChange:r,onClick:s,onKeyDown:l,disabled:o,\"data-testid\":`channel-selector-toggle-${t}`})}const Af=r(({className:n,variant:o=\"single\",variantToggle:i=!1,channels:r=[],lockedChannelRestrictions:a=[],onVariantChange:s,onChannelSelect:l,onChannelRestrict:c,...d},f)=>{const h=S(\"io-list-channels\",\"io-channel-selector-panel\",(\"directionalSingle\"===o||\"directionalMulti\"===o)&&\"io-list-channels-directional io-channel-selector-panel-directional\",n),p=u(()=>({variant:o,selectedChannels:r.filter(e=>e.isSelected),lockedChannelRestrictions:a,onVariantChange:s,onChannelSelect:l,onChannelRestrict:c}),[r,o,a,s,l,c]);return e(xf.Provider,{value:p,children:e(\"div\",{className:h,ref:f,children:t(J,{...d,children:[e(J.ItemTitle,{\"data-testid\":\"channel-selector-title\",append:i&&e(If,{variant:o,onVariantChange:s}),children:{single:\"Select Channel\",directionalSingle:\"Select Directional Channel\",multi:\"Select Channels\",directionalMulti:\"Select Directional Channels\"}[o]}),r?.map(t=>e(Nf,{channel:t,isSelected:t.isSelected,onChannelSelect:l,onChannelRestrict:c,\"data-testid\":`channel-selector-channel-${t.name}`},t.name))]})})})});Af.displayName=\"ChannelSelector\";const Pf=r(({className:t,title:n,ariaLabel:o,onClick:i,onKeyDown:r,children:a,disabled:s=!1,...l},c)=>e(\"div\",{ref:c,className:S(t,{disabled:s}),title:n,role:\"button\",tabIndex:s?-1:0,\"aria-label\":o,\"aria-disabled\":s,onClick:e=>{!s&&i&&i(e)},onKeyDown:e=>{!s&&r&&r(e)},...l,children:a}));Pf.displayName=\"ChannelSelectorButtonWrapper\";function Ef(e,t){const n=l(w),o=n.windows,i=n.channels,[r,s]=c({channels:[]});f(()=>{if(!e)return;(async()=>{try{const t=await i.getRestrictions(e);s(t)}catch(e){console.error(\"Failed to fetch channel restrictions:\",e)}})().catch(console.error);const t=o.findById(e);if(!t||\"function\"!=typeof t.onChannelRestrictionsChanged)return;return t.onChannelRestrictionsChanged(s)},[e,i,o]);const u=a(({name:n,read:o,write:r})=>{e&&![\"single\",\"multi\"].includes(t)&&void 0!==o&&void 0!==r&&i.restrict({name:n,read:o,write:r,windowId:e}).catch(console.error)},[e,t,i]),d=a(e=>e.map(e=>{const t=r.channels.find(t=>t.name===e.name);return{...e,read:t?.read??!0,write:t?.write??!0}}),[r.channels]);return{channelRestrictions:r,onChannelRestricted:u,applyChannelRestrictions:d}}function Tf(e){const t=l(w).windows,[n,o]=c([]);return f(()=>{if(!e)return;(async()=>{try{const n=t.findById(e);if(!n)return void o([]);const i=await(n.application?.getConfiguration()),r=i?.details?.channelSelector?.preventModifyingRestrictionsFor;if(!r)return void o([]);o(r)}catch(e){console.error(\"Failed to fetch locked channel restrictions:\",e)}})().catch(console.error)},[e,t]),{lockedChannelRestrictions:n}}var Df=Object.freeze({__proto__:null,Channel:Nf,ChannelBadge:kf,ChannelDirectionalAppend:Sf,ChannelSelector:Af,ChannelSelectorButton:function({channels:n,variant:o,className:i,onClick:r,onKeyDown:a,...s}){const c=d(null),u=l(xf),f=n||u.selectedChannels||[],h=o||u.variant||\"single\",p=f.filter(e=>e.isSelected);if((\"multi\"===h||\"directionalMulti\"===h)&&p.length>1){const t=`io-channel-selector-button io-channel-selector-multi-${Math.min(p.length,4)}`,n=p.map(e=>e.name).join(\", \"),o=function(e){const t={},n=Math.min(e.length,4);return e.slice(0,n).forEach((e,o)=>{t[`--io-channel-selector-multi-${n}-color-${o+1}`]=e.color}),t}(p);return e(Pf,{ref:c,className:i,title:n,ariaLabel:`Selected channels - ${n}`,onClick:r,onKeyDown:a,...s,children:e(\"div\",{className:t,style:o})})}const m=p[0];if(!m)return e(Pf,{ref:c,className:i,title:\"No channel selected\",ariaLabel:\"No channel selected\",onClick:r,onKeyDown:a,...s,children:e(x,{variant:\"link\"})});const g=\"directionalSingle\"===h||\"directionalMulti\"===h,v=g?(y=m).isSelected?y.read&&y.write?\"readwrite\":y.read?\"read\":y.write?\"write\":null:null:null;var y;return t(Pf,{ref:c,className:S(g?\"io-channel-selector-button io-channel-selector-button-directional\":\"io-channel-selector-button\",i),title:m.name,ariaLabel:`Selected channel - ${m.name}`,onClick:r,onKeyDown:a,style:{color:bf(m.color),backgroundColor:m.color},...s,children:[e(\"span\",{children:m.label}),v&&\"readwrite\"!==v&&e(x,{variant:\"read\"===v?\"subscribe\":\"publish\"})]})},ChannelSingleAppend:Cf,useChannelRestrictionLocks:Tf,useChannelRestrictions:Ef,useIOCDChannels:function(e){const t=\"T42.ChannelSelector.Execute\",n=l(w),o=n?.windows,i=n?.channels,r=n?.interop,s=Gs(),u=o?.my(),h=d(),[m,g]=c(\"\"),[v,y]=c(\"single\"),[b,k]=c(null),[C,S]=c(!1),[x,N]=c(),{channelRestrictions:I,onChannelRestricted:A,applyChannelRestrictions:P}=Ef(m,v),{lockedChannelRestrictions:E}=Tf(m),T=a(async(e,t,n)=>{if(\"will-show\"===e.command)try{S(!0),h.current=n;const{windowId:t,channels:i,variant:r}=e;y(r),g(t);const a=await(o?.findById(t)?.getChannel())??\"\",s=P(function(e,t){return e.map((e,n)=>{const o=!!t&&t.split(\"+++\").includes(e.name);return{...e,color:e.meta?.color,label:e.meta?.label??String.fromCharCode(n+65),isSelected:o,read:e.read??!0,write:e.write??!0}})}(i,a));k(s)}catch(e){console.error(\"Error in channel selector handler:\",e),N(e)}finally{S(!1)}},[o,P]),D=a(async({name:e,isSelected:t})=>{if(i){k(n=>n?n.map(n=>\"single\"===v||\"directionalSingle\"===v?{...n,isSelected:n.name===e&&t}:n.name===e?{...n,isSelected:t}:n):[]);try{t?await i.join(e,m):await i.leave({windowId:m,channel:e})}catch(e){N(e),console.error(\"Error selecting channel:\",e)}\"single\"===v&&s&&u&&u?.hide().catch(console.error)}},[i,v,u,m,s]);return Z(()=>{s&&u&&u?.hide().catch(console.error)},[\"Escape\"]),f(()=>{if(null===s||!s)return;const e=u?.onClosing(async e=>(e({showDialog:!1}),Promise.resolve()));return e},[u,s]),f(()=>{if(!r)return;return r.registerAsync(t,(e,t,n)=>{T(e,t,n).catch(e=>{console.error(\"Error in channel selector handler:\",e),N(e)})}).catch(console.error),()=>{r.unregister(t)}},[r,T]),f(()=>{k(e=>e?P(e):null)},[I,P]),p(()=>{if(e?.current&&b?.length){const{height:t,width:n,x:o,y:i}=e.current.getBoundingClientRect();h.current&&t>0&&h.current({height:t,width:n,x:o,y:i})}},[b,e]),{windowId:m,error:x,variant:v,channels:b,channelRestrictions:I,lockedChannelRestrictions:E,onChannelSelected:D,onChannelRestricted:A,isLoading:C}}});function Bf({messagePort:t,templates:n}){const[o,i]=c(null);return f(()=>{const e=t.subscribe(({data:e})=>{if(null===e)return i(null);const{templateName:t}=e.config,o=n.find(e=>e.name===t);if(!o)return console.warn(`A template with the provided name \"${t}\" isn't available.`);i({...e,Dialog:o.Dialog})});return e},[t,n]),o?e(o.Dialog,{onCompletion:e=>t.postMessage({id:o.id,response:e}),size:o.config.size,variables:o.config.variables}):null}function Lf({actionButtons:t,actionButtonElementsRefs:n,isAutofocusButton:o,isButtonDisabled:i,onButtonClick:r}){return e(te,{\"data-testid\":\"io-dialog-action-buttons-group\",align:\"right\",children:t.map((t,a)=>{const{id:s,text:l,variant:c}=t,u=o(s);return e(L,{\"data-testid\":`io-dialog-action-button-${s}`,id:s,ref:e=>{0===a&&(n.current=[]),n.current[a]=e},className:u?\"io-focus-button\":void 0,disabled:i(s),onClick:()=>r(t),variant:c,children:l},s)})})}function Rf({actionButtons:n,children:o,onCompletion:i,size:r,title:a=(qs()?\"io.Connect Desktop\":\"io.Connect Browser\"),validationErrors:s=[]}){const{actionButtonElementsRefs:l,autofocusButtonId:f,hasAutofocusButtonLostInitialFocus:h}=(e=>{const t=d([]),n=u(()=>e.find(e=>e.autofocus)?.id??null,[e]),o=d(n),[i,r]=c(!o.current);return p(()=>{if(i)return;if(n!==o.current)return void r(!0);const e=t.current.find(e=>e?.id===n);if(!e)return;e.focus();const a=()=>{r(!0)};return e.addEventListener(\"blur\",a),()=>{e.removeEventListener(\"blur\",a)}},[n,i]),{actionButtonElementsRefs:t,autofocusButtonId:n,hasAutofocusButtonLostInitialFocus:i}})(n),m=()=>{i({isClosed:!0})},g={...r};return t(se,{className:\"io-dialog-template\",closeFn:m,isOpen:!0,onCancel:e=>{e.preventDefault(),m()},onKeyDown:e=>{!D(e)||s.length||e.target instanceof HTMLButtonElement||\" \"===e.key&&e.target instanceof HTMLInputElement||i({isEnterPressed:!0})},style:g,title:a,draggable:!0,children:[e(se.Body,{children:o}),e(se.Footer,{children:e(Lf,{actionButtonElementsRefs:l,actionButtons:n,isAutofocusButton:e=>f===e&&!h,isButtonDisabled:e=>s.some(t=>t.disabledButtonIds.some(t=>t===e)),onButtonClick:({id:e,text:t})=>{i({responseButtonClicked:{id:e,text:t}})}})})]})}function Ff({children:t}){return e(\"h3\",{\"data-testid\":\"io-dialog-heading\",className:\"io-dialog-template-heading\",children:t})}function Of({onCompletion:n,size:o,variables:i}){const{actionButtons:r,heading:a,text:s,title:l}=i;return e(Rf,{actionButtons:r,onCompletion:n,size:o,title:l,children:t(\"div\",{children:[e(Ff,{children:a}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:s})]})})}function Mf({onCompletion:n,size:o,variables:i}){const{actionButtons:r,checkbox:s,heading:l,text:u,title:d}=i,[f,h]=c(s.initialValue),p=a(()=>h(e=>!e),[]),m=[{id:s.id,type:\"checkbox\",checked:f}];return t(Rf,{actionButtons:r,onCompletion:e=>n({...e,inputs:m}),size:o,title:d,children:[t(\"div\",{children:[e(Ff,{children:l}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:u})]}),e(Vs,{\"data-testid\":`io-dialog-checkbox-${s.id}`,checked:f,id:s.id,label:s.label,name:s.id,onChange:p})]})}function $f({onCompletion:n,size:o,variables:i}){const{actionButtons:r,heading:a,input:s,title:l}=i,[u,f]=c(s.initialValue??\"\"),h=d(null),m=(g=u,!(v=s.validation)||new RegExp(v.regexPattern).test(g)?null:{disabledButtonIds:v.disabledButtonIds,message:v.errorMessage});var g,v;const y=[{id:s.id,type:\"text\",value:u}];return p(()=>{h.current?.select()},[]),t(Rf,{actionButtons:r,onCompletion:e=>n({...e,inputs:y}),size:o,title:l,validationErrors:m?[m]:[],children:[e(Ff,{children:a}),e(Hs,{\"data-testid\":`io-dialog-input-${s.id}`,ref:h,errorDataTestId:`io-dialog-input-${s.id}-error-message`,errorMessage:m?.message,id:s.id,label:s.label,name:s.id,onChange:e=>f(e.target.value),placeholder:s.placeholder,type:\"text\",value:u})]})}const _f=hc().where(e=>e.length>0,\"Expected a non-empty string\"),zf=pc().where(e=>e>=0,\"Expected a non-negative number\"),Hf=yc({width:zf,height:zf}),jf=gc().andThen(e=>((e,t)=>{const n=typeof e;return\"function\"===n?gc():Cc(`The argument provided as \"${t}\" must be a function, received: ${n}`)})(e,\"onCompletion\")),Vf=yc({autofocus:bc(mc()),id:_f,text:_f,variant:kc(vc(\"default\"),vc(\"primary\"),vc(\"critical\"),vc(\"outline\"),vc(\"link\"))}),Wf=yc({disabledButtonIds:wc(_f),errorMessage:_f,regexPattern:_f}),Kf=yc({actionButtons:wc(Vf),heading:hc(),text:hc(),title:bc(hc())}),Uf=yc({templateName:vc(\"noInputsConfirmationDialog\"),onCompletion:jf,size:bc(Hf),variables:Kf}),Jf=yc({actionButtons:wc(Vf),checkbox:yc({id:_f,initialValue:bc(mc()),label:bc(hc())}),heading:hc(),text:hc(),title:bc(hc())}),qf=yc({templateName:vc(\"singleCheckboxDialog\"),onCompletion:jf,size:bc(Hf),variables:Jf}),Gf=yc({actionButtons:wc(Vf),heading:hc(),input:yc({id:_f,initialValue:bc(hc()),label:bc(hc()),placeholder:bc(hc()),validation:bc(Wf)}),title:bc(hc())}),Yf=yc({templateName:vc(\"singleTextInputDialog\"),onCompletion:jf,size:bc(Hf),variables:Gf}),Qf=[{name:\"noInputsConfirmationDialog\",Dialog:Of,validate:Uf.runWithException},{name:\"singleCheckboxDialog\",Dialog:Mf,validate:qf.runWithException},{name:\"singleTextInputDialog\",Dialog:$f,validate:Yf.runWithException}];var Xf=Object.freeze({__proto__:null,DEFAULT_DIALOG_TEMPLATES:Qf,Dialogs:Bf,NoInputsConfirmationDialog:Of,SingleCheckboxDialog:Mf,SingleTextInputDialog:$f});function Zf({className:n,draggable:o,title:i,children:r,...a}){const s=S(\"io-dialog-header\",o&&\"draggable\",n);return t(oe,{className:s,...a,children:[e(\"h3\",{children:i}),r]})}function eh({children:t,...n}){return e(ie,{...n,children:e(ie.Content,{children:t})})}function th({children:t,...n}){return e(ae,{...n,children:t})}const nh=s({config:{message:\"\"},theme:\"dark\",setResult:()=>{}}),oh=()=>l(nh),ih=t=>{const{id:n,onButtonFocused:o,...i}=t,{config:r}=oh();return e(L,{variant:\"outline\",onFocus:()=>o&&o(n),autoFocus:(a=n,a===r.defaultAction),...i});var a},rh=({timerDuration:t,callback:n})=>{const[o,i]=c(t);f(()=>{if(o<=0)return n();{const e=setInterval(()=>{i(e=>e-1)},1e3);return()=>{clearInterval(e)}}},[o,n]);return e(\"p\",{children:`This dialog will close in: ${o} seconds`})};function ah({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}function sh({className:n,placeHolder:o,maxInputLength:i,errorMessage:r,onInput:a,onEnterKeyDown:s}){const[l,u]=c(\"\"),h=d(null),p=S(\"io-control-input\",n);f(()=>{h.current&&h.current.focus()},[]);return t(\"div\",{className:p,children:[e(\"input\",{className:\"io-input\",ref:h,type:\"text\",maxLength:i,placeholder:o,tabIndex:0,value:l,onChange:e=>{const t=e.target.value,n=e.target.parentElement;u(t);const o=a(t);n&&(0===t.length?n.className=\"\":(n.className=\"was-validated\",o?e.target.setCustomValidity(\"\"):e.target.setCustomValidity(\"Invalid input pattern\")))},onKeyDown:e=>{\"Enter\"===e.key&&(e.preventDefault(),s())}}),r&&l.length>0?e(\"small\",{children:e(\"strong\",{children:r})}):null]})}function lh({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}var ch=Object.freeze({__proto__:null,Dialog:function({config:n,setResult:o,header:i,body:r,footer:s}){if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const[l,u]=c(!1),d=Qs(\"Escape\"),h=Qs(\"Enter\"),[p,m]=c(n.defaultAction),{theme:g}=oh();f(()=>{u(\"SingleInputDialog\"===n?.type)},[n]);const v=a(()=>{o({action:\"expired\"})},[o]);f(()=>(document.documentElement.classList.add(g),()=>{document.documentElement.classList.remove(g)}),[g]),f(()=>{d&&o({action:\"closed\"})},[d,o]),f(()=>{h&&!p&&o({action:\"clicked\",button:n.defaultAction})},[h,p,n.defaultAction,o]);const y=e=>{e.preventDefault(),o({action:\"clicked\",button:p})},w=()=>{b(\"\")},b=e=>{m(e)};return n.timerDuration&&!n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration),t(ah,{children:[i??e(Zf,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(te,{children:e(N,{id:\"close\",icon:\"close\",iconSize:\"12\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:w,tabIndex:-1})})})}),r??e(eh,{children:t(\"div\",{children:[n?.messageTitle&&e(\"h1\",{children:n?.messageTitle}),e(\"p\",{children:n.message}),n?.showTimer&&n?.timerDuration&&e(rh,{timerDuration:n.timerDuration,callback:v})]})}),s??e(th,{children:t(te,{align:\"right\",children:[n.showAffirmativeButton&&e(ih,{id:\"affirmative\",variant:\"primary\",onClick:y,onButtonFocused:b,onBlur:w,disabled:l,children:n.affirmativeButtonName}),n.showNegativeButton&&e(ih,{id:\"negative\",onClick:y,onButtonFocused:b,onBlur:w,children:n.negativeButtonName}),n.showCancelButton&&e(ih,{id:\"cancel\",onClick:y,onButtonFocused:b,onBlur:w,children:n.cancelButtonName})]})})]})},DialogBody:eh,DialogButton:ih,DialogFooter:th,DialogHeader:Zf,DialogRenderer:Bf,DialogsProvider:({children:t})=>{const[n,o]=c({message:\"\",messageTitle:\"\",operation:\"systemShutdown\",type:\"\"}),[i,r]=c(\"dark\");f(()=>{if(!globalThis.glue42dialog)return;(async()=>{const e=await globalThis.glue42dialog.getConfig();o(e)})(),globalThis.glue42dialog.onThemeChanged(e=>{r(e)}),r(globalThis.glue42dialog.getTheme()??\"dark\")},[]);const s=a(e=>{globalThis.glue42dialog?.setResult(e)},[]),l=u(()=>({config:n,theme:i,setResult:s}),[n,i,s]);return e(nh.Provider,{value:l,children:t})},SingleInputDialog:({config:n,setResult:o,header:i,body:r,footer:s})=>{if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const l=Qs(\"Escape\"),u=Qs(\"Enter\"),[d,h]=c(n.defaultAction),{theme:p}=oh(),[m,g]=c(\"\"),[v,y]=c(\"\"),[w,b]=c(!1),k=a(()=>{o({action:\"expired\"})},[o]),C=a(()=>{\"affirmative\"===n?.defaultAction?w&&m.length>0&&o({action:\"clicked\",button:n.defaultAction,value:m}):o({action:\"clicked\",button:n.defaultAction})},[n.defaultAction,m,o,w]);f(()=>{document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(p)},[p]),f(()=>{l&&o({action:\"closed\"})},[l,o]),f(()=>{u&&!d&&C()},[u,C,d]);const S=e=>{e.preventDefault(),o(\"affirmative\"===d&&m?{action:\"clicked\",button:d,value:m}:{action:\"clicked\",button:d})},x=()=>{I(\"\")},I=e=>{h(e)};n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration);return t(lh,{children:[i??e(Zf,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(te,{children:e(N,{id:\"close\",icon:\"close\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:x})})})}),r??e(eh,{children:t(\"div\",{style:{width:\"100%\"},children:[n.message&&e(\"p\",{children:n.message}),e(sh,{onInput:e=>{let t=!0;try{t=!!e.match(n.inputPattern??\"\"),b(t)}catch(e){console.log(`Failed to validate regular expression pattern: ${n.inputPattern??\"\"}`)}return t?(g(e),y(\"\")):y(n.inputPatternErrorMessage??\"Invalid input pattern\"),t},errorMessage:v,onEnterKeyDown:C,maxInputLength:n.inputMaxLength,placeHolder:n.inputPlaceholder}),n?.showTimer&&n?.timerDuration&&e(rh,{timerDuration:n.timerDuration,callback:k})]})}),s??e(th,{children:t(te,{align:\"right\",children:[n.showAffirmativeButton&&e(ih,{id:\"affirmative\",variant:\"primary\",onClick:S,onButtonFocused:I,onBlur:x,disabled:!w,children:n.affirmativeButtonName}),n.showNegativeButton&&e(ih,{id:\"negative\",onClick:S,onButtonFocused:I,onBlur:x,children:n.negativeButtonName}),n.showCancelButton&&e(ih,{id:\"cancel\",onClick:S,onButtonFocused:I,onBlur:x,children:n.cancelButtonName})]})})]})},useDialogsContext:oh});var uh=new class{feedback=globalThis.issueReporting;registry=Zu();config;subscribed=!1;init(){this.subscribed||(this.subscribed=!0,globalThis.onerror=(e,t,n,o,i)=>{this.feedback.send(\"error\",e,t,n,o,i)},this.feedback.on(\"setTheme\",e=>{const t=e.newTheme;this.registry.execute(\"on-theme-changed\",t)}),this.feedback.on(\"submitEnded\",e=>{const t=this.convertSubmitResultToPublic(e);this.registry.execute(\"on-submit-finished\",t)}))}getConfig=async()=>(this.config=await this.feedback.invoke(\"config\"),this.convertConfigToPublic(this.config));onThemeChanged=e=>this.registry.add(\"on-theme-changed\",e);onSubmitFinished=e=>this.registry.add(\"on-submit-finished\",e);submitReport=e=>new Promise(t=>{const n=this.convertFeedbackToInternal(e),o=this.onSubmitFinished(e=>{o(),t(e)});this.feedback.send(\"submit\",n)});closeReport=e=>this.feedback.send(\"cancel\",e);setBounds=(e,t,n,o)=>this.feedback.send(\"setBounds\",e,t,n,o);openUrl=e=>this.feedback.send(\"openUrl\",e);convertConfigToPublic(e){return{version:e.version,buildVersion:e.buildVersion,region:e.region,env:e.env,theme:e.theme,isError:e.isError,errorMessage:e.errorMessage,mailingList:e.mailList,createJiraTicket:e.jiraEnabled,sendEmail:e.mailEnabled,attachments:e.attachments,applicationTitle:e.applicationTitle,allowEditRecipients:e.allowEditRecipients,attachmentsViewMode:e.attachmentsViewMode,selectedCategories:e.selectedCategories,technicalInfo:e.technicalInfo,environmentInfo:e.environmentDetails,showEnvironmentInfo:e.showEnvironmentInfo,context:e.context,sendEmailClient:e.mailClientConfig?.type??\"Outlook\"}}convertSubmitResultToPublic(e){return{description:e.description,jiraProcessed:e.jiraProcessed,jiraSucceeded:e.jiraSucceeded,jiraDetails:e.jiraDetails,jiraTicketUrl:e.jiraTicketUrl,emailProcessed:e.mailProcessed,emailSucceeded:e.mailSucceeded,emailDetails:e.mailDetails}}convertFeedbackToInternal(e){return{createTicket:e?.createJiraTicket,description:e?.description,summary:e?.summary,sendMail:e?.sendEmail,appendEnvironmentInfo:e?.appendEnvironmentInfo,appendTechnicalInfo:e?.appendTechnicalInfo,mailingList:e?.mailingList,attachments:e?.attachments,attachmentsMode:e?.attachmentsViewMode}}};const dh={env:\"\",region:\"\",version:\"\",buildVersion:\"\",theme:\"\",isError:!1,mailingList:\"\",createJiraTicket:!0,sendEmail:!1,attachments:[],applicationTitle:\"\",allowEditRecipients:!0,attachmentsViewMode:\"category\",environmentInfo:\"\",selectedCategories:[],errorMessage:\"\",showEnvironmentInfo:!1,context:{},technicalInfo:\"\",sendEmailClient:\"Outlook\"},fh={type:\"primary\",title:\"\",text:\"\"};function hh(){const[e,t]=c(dh),[n,o]=c([]),[i,r]=c(!1),s=d(),l=function(){const[e,t]=c(!1),[n,o]=c(!1),[i,r]=c(fh),[s,l]=c(\"\"),u=a(()=>{t(!1),o(!1),r(fh),l(\"\")},[]);return{inProgress:e,setInProgress:t,completed:n,setCompleted:o,status:i,setStatus:r,jiraTicketURL:s,setJiraTicketURL:l,reset:u}}(),{openUrl:u,getConfig:h,submitReport:p,closeReport:m,setBounds:g,onThemeChanged:v}=uh;f(()=>{uh.init()},[]);const y=a(e=>{const t=document.documentElement;t.className=\"\",t.classList.add(e)},[]);f(()=>{(async()=>{try{const e=await h(),n=[...new Set(e.attachments.map(({category:e})=>e))];t(e),y(e.theme??\"dark\"),r(e.sendEmail),o(n)}catch(e){console.error(\"Failed to get Feedback Config:\",e)}})()},[h,y]),f(()=>v(e=>{y(e)}),[v,y]),f(()=>(l.inProgress&&\"Outlook\"===e.sendEmailClient&&(s.current=setTimeout(()=>{l.setStatus({title:\"Sending an email. Go to Outlook to allow access.\",type:\"primary\"})},100)),()=>clearTimeout(s.current)),[l.inProgress,l.setStatus,e.sendEmailClient]),f(()=>{l.inProgress||clearTimeout(s.current)},[l.inProgress]);const w=a(e=>{(e.jiraProcessed||e.jiraSucceeded)&&(l.setStatus({title:e.jiraDetails??\"Jira ticket created successfully.\",type:\"success\"}),l.setJiraTicketURL(e.jiraTicketUrl??\"\")),(e.emailProcessed||e.emailSucceeded)&&l.setStatus({title:e.emailDetails??\"Email sent successfully.\",type:\"success\"})},[l.setStatus,l.setJiraTicketURL]),b=a(async t=>{const n={createJiraTicket:e.createJiraTicket??!1,sendEmail:e.sendEmail??!1,mailingList:e.mailingList,attachments:e.attachments,attachmentsViewMode:e.attachmentsViewMode,...t},o=function(e){return e.createJiraTicket||e.sendEmail?e.sendEmail&&!e.mailingList?{message:\"No email recipient. Provide at least one valid email address in the Email List field.\"}:null:{message:\"Can't send feedback. Feedback via Jira and email has been disabled.\"}}(n);if(o)throw l.setStatus({title:o.message,type:\"error\"}),new Error(o.message);n.createJiraTicket&&n.sendEmail?(l.setStatus({title:\"Submitting an issue to Jira and sending an email...\",type:\"primary\"}),l.setInProgress(!0)):n.createJiraTicket?(l.setStatus({title:\"Submitting an issue to Jira...\",type:\"primary\"}),l.setInProgress(!0)):(l.setStatus({title:\"Sending an email...\",type:\"primary\"}),l.setInProgress(!0));try{const e=await p(t);return clearTimeout(s.current),w(e),l.setInProgress(!1),l.setCompleted(!0),e}catch(e){throw clearTimeout(s.current),console.log(\"An error occurred while submitting your feedback:\",e),e}},[p,e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.mailingList,e.sendEmail,w,l.setInProgress,l.setStatus,l.setCompleted]),k=a(t=>{t.preventDefault();const o=new FormData(t.currentTarget),i=function(e,t,n,o){return\"file\"===n?function(e,t){return t.filter(t=>\"on\"===e.get(t.id)).map(e=>e.id)}(e,t):function(e,t,n){const o=n.filter(t=>\"on\"===e.get(t));return t.filter(e=>o.includes(e.category)).map(e=>e.id)}(e,t,o)}(o,e.attachments,e.attachmentsViewMode,n),r={createJiraTicket:e.createJiraTicket??!1,sendEmail:e.sendEmail??!1,description:o.get(\"description\"),mailingList:o.get(\"mailingList\"),attachments:i,attachmentsViewMode:e.attachmentsViewMode};b(r).catch(e=>{console.error(\"Failed to submit feedback:\",e)})},[n,e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.sendEmail,b]);return{config:e,onThemeChanged:v,openUrl:u,submit:p,setBounds:g,close:m,showMailingList:i,setShowMailingList:r,attachmentCategories:n,submitInProgress:l.inProgress,setSubmitInProgress:l.setInProgress,submitStatus:l.status,setSubmitStatus:l.setStatus,submitCompleted:l.completed,setSubmitCompleted:l.setCompleted,jiraTicketURL:l.jiraTicketURL,setJiraTicketURL:l.setJiraTicketURL,submitFeedback:k}}const ph=s({config:dh,onThemeChanged:()=>{},openUrl:()=>{},submit:()=>Promise.resolve({}),setBounds:()=>{},close:()=>{},showMailingList:!0,setShowMailingList:()=>{},attachmentCategories:[],submitInProgress:!1,setSubmitInProgress:()=>{},submitStatus:{type:\"success\",title:\"\",text:\"\"},setSubmitStatus:()=>{},submitCompleted:!1,setSubmitCompleted:()=>{},jiraTicketURL:\"\",setJiraTicketURL:()=>{},submitFeedback:()=>{}}),mh=()=>l(ph);function gh({...n}){const{config:o,close:i}=mh(),{applicationTitle:r}=o;return t(ne,{draggable:!0,...n,children:[e(ne.Title,{tag:\"h1\",text:r?`Feedback Form - ${r}`:\"Feedback Form\",size:\"large\"}),e(ne.ButtonGroup,{className:\"non-draggable\",children:e(ne.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>i()})})]})}function vh({className:n,handleSubmit:o,...i}){const r=S(\"io-panel-body\",n),{config:a,submitFeedback:s}=mh(),{IntroField:l,DescriptionField:c,TechInfoField:u,EnvInfoField:d,FileAttachmentsField:f,CategoryAttachmentsField:h,MailListField:p}=Fh(),m=o??s,g=`Your feedback will be submitted to the ${a.buildVersion} team and some additional information will be automatically included to help us examine your issue.`;return t(\"form\",{className:r,id:\"feedback\",onSubmit:m,...i,children:[e(l,{children:e(\"p\",{children:g})}),e(p,{}),e(c,{}),e(u,{readOnly:!0}),e(d,{readOnly:!0}),\"file\"===a.attachmentsViewMode?e(f,{}):e(h,{})]})}function yh({...n}){const{FooterButtons:o}=Fh(),{openUrl:i,submitInProgress:r,submitStatus:a,jiraTicketURL:s}=mh();return e(re,{...n,children:t(\"div\",r?{className:\"flex ai-center jc-between\",children:[e(T,{children:e(\"p\",{children:a.title})}),e(Uo,{align:\"right\",size:\"small\"})]}:{className:\"flex ai-center jc-between\",children:[t(T,{children:[e(\"p\",{className:\"error\"===a.type?\"io-text-error\":\"\",children:a.title}),s&&e(\"a\",{href:s,onClick:e=>{e.preventDefault(),i(s)},children:s})]}),e(o,{})]})})}function wh({className:t,...n}){const{CloseButton:o}=Fh(),{close:i}=mh(),r=S(\"non-draggable\",t);return e(te,{className:r,...n,children:e(o,{onClick:()=>i()})})}function bh({className:n,...o}){const{SubmitButton:i,CancelButton:r,CloseButton:a}=Fh(),{close:s,submitCompleted:l}=mh();return l?e(te,{className:n,...o,children:e(a,{text:\"Close\",onClick:()=>s()})}):t(te,{className:n,...o,children:[e(i,{}),e(r,{onClick:()=>s()})]})}function kh({text:t=\"Submit\",...n}){return e(L,{form:\"feedback\",type:\"submit\",variant:\"primary\",text:t,...n})}function Ch({text:t=\"Cancel\",...n}){return e(L,{variant:\"link\",text:t,...n})}function Sh({...t}){return e(L,{variant:\"primary\",...t})}function xh({showField:t=!0,className:n,title:o,hint:i,children:r,...a}){return t?e(T,{className:n,title:o,hint:i,...a,children:r}):null}function Nh({showField:t=!0,className:n,title:o=\"Description\",hint:i,readOnly:r=!1,disabled:a,...s}){return t?e(T,{className:n,hint:i,title:\"\",...s,children:e(js,{id:\"description\",name:\"description\",label:o,readOnly:r,disabled:a})}):null}function Ih({showField:t,className:n,title:o=\"Technical Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=mh(),u=t??c.errorMessage,d=r??c.errorMessage;return u&&d?e(T,{className:n,hint:i,...l,children:e(js,{id:\"errorMessage\",name:\"errorMessage\",label:o,value:d,readOnly:a,disabled:s})}):null}function Ah({showField:t,className:n,title:o=\"Environment Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=mh(),u=t??c.showEnvironmentInfo,d=r??c.environmentInfo;return u&&d?e(T,{className:n,hint:i,...l,children:e(js,{id:\"environmentInfo\",name:\"environmentInfo\",label:o,value:d,readOnly:a,disabled:s})}):null}function Ph({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,attachments:l,selectedCategories:c,...u}){const d=S(\"io-block-list-gap\",n),{config:f}=mh(),h=l??f.attachments,p=c??f.selectedCategories,m=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!h||h.length<=0?e(T,{title:\"Attachments\",children:e(\"p\",{children:\"No Attachments\"})}):e(T,{className:d,title:o,hint:i,...u,children:e(\"div\",{className:\"file-attachments\",children:h.map(t=>e(Vs,{id:t.id,name:t.id,label:t.name,readOnly:r,disabled:s,defaultChecked:m(t.category)},t.id))})}):null}function Eh({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,categories:l,selectedCategories:c,...u}){const{config:d,attachmentCategories:f}=mh(),h=l??f,p=c??d.selectedCategories,m=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!h||h.length<=0?e(\"p\",{children:\"No Attachments\"}):e(T,{className:n,title:o,hint:i,...u,children:e(\"div\",{className:\"category-attachments\",children:h.map(t=>e(ul,{id:t,name:t,align:\"right\",label:t,readOnly:r,disabled:s,defaultChecked:m(t)},t))})}):null}function Th({className:n,title:o,hint:i,showField:r=!0,showJiraTicketField:a,jiraTicketLabel:s=\"Create Jira Ticket\",showSendEmailField:l,sendEmailLabel:c=\"Send Email\",readOnly:u=!1,disabled:d,...f}){const h=S(\"io-block-list-gap\",n),{config:p,showMailingList:m,setShowMailingList:g}=mh();if(!r)return null;const v=a??p.createJiraTicket,y=l??p.sendEmail;return t(T,{className:h,hint:i,title:o,...f,children:[v&&e(ul,{id:\"createJiraTicket\",name:\"createJiraTicket\",label:s,align:\"right\",readOnly:u,disabled:d,defaultChecked:v}),y&&e(ul,{onChange:()=>{g(!m)},id:\"sendEmail\",name:\"sendEmail\",label:c,align:\"right\",readOnly:u,disabled:d,defaultChecked:y})]})}function Dh({showField:t=!0,className:n,title:o=\"Email List\",hint:i=\"Separate with commas or semicolons.\",placeholder:r=\"john.doe@somedomain.com; jane.doe@otherdomain.com\",readOnly:a,disabled:s,...l}){const{config:c,showMailingList:u}=mh(),d=t??c.sendEmail,f=a??!1===c.allowEditRecipients;return d&&u?e(T,{className:n,hint:i,...l,children:e(Hs,{id:\"mailingList\",name:\"mailingList\",label:o,placeholder:r,readOnly:f,disabled:s,defaultValue:c.mailingList??\"\"})}):null}const Bh={Header:gh,Body:vh,Footer:yh,HeaderButtons:wh,FooterButtons:bh,SubmitButton:kh,CancelButton:Ch,CloseButton:Sh,IntroField:xh,DescriptionField:Nh,TechInfoField:Ih,EnvInfoField:Ah,FileAttachmentsField:Ph,CategoryAttachmentsField:Eh,SettingsField:Th,MailListField:Dh},Lh=s(Bh),Rh=g(({children:t,components:n})=>{const o=u(()=>({...Bh,...n}),[n]);return e(Lh.Provider,{value:o,children:t})});function Fh(e){return{...l(Lh),...e}}function Oh({className:n,...o}){const i=S(\"io-feedback\",n),{Header:r,Body:a,Footer:s}=Fh();return t(Yo,{className:i,...o,children:[e(r,{}),e(a,{}),e(s,{})]})}Rh.displayName=\"ComponentsStore\";var Mh=Object.freeze({__proto__:null,Body:vh,CancelButton:Ch,CategoryAttachmentsField:Eh,CloseButton:Sh,DescriptionField:Nh,EnvInfoField:Ah,Feedback:function({components:t,...n}){return e(Rh,{components:t,children:e(Oh,{...n})})},FeedbackProvider:({children:t})=>{const{config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:a,close:s,showMailingList:l,setShowMailingList:c,attachmentCategories:d,submitInProgress:f,setSubmitInProgress:h,submitStatus:p,setSubmitStatus:m,submitCompleted:g,setSubmitCompleted:v,jiraTicketURL:y,setJiraTicketURL:w,submitFeedback:b}=hh(),k=u(()=>({config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:a,close:s,showMailingList:l,setShowMailingList:c,attachmentCategories:d,submitInProgress:f,setSubmitInProgress:h,submitStatus:p,setSubmitStatus:m,submitCompleted:g,setSubmitCompleted:v,jiraTicketURL:y,setJiraTicketURL:w,submitFeedback:b}),[n,o,i,r,a,s,l,d,f,p,g,y,b,w,h,m,v,c]);return e(ph.Provider,{value:k,children:t})},FileAttachmentsField:Ph,Footer:yh,FooterButtons:bh,Header:gh,HeaderButtons:wh,IntroField:xh,MailListField:Dh,SettingsField:Th,SubmitButton:kh,TechInfoField:Ih,useFeedbackContext:mh});function $h({isOpen:t,onClose:n,container:o}){return t?y(e($d,{onClose:n}),o??document.querySelector(\"#root\")??document.body):null}const _h=s({searchQuery:\"\",setSearch:()=>{},isPanelVisible:!1,sortNotificationsBy:\"newest\",setSortBy:()=>{},viewNotificationsBy:\"all\",setViewBy:()=>{},isBulkActionsVisible:!1,showBulkActions:()=>{},hideBulkActions:()=>{}}),zh=()=>l(_h);function Hh({title:n,onOpenSettings:o,onClose:i,...r}){const{HeaderCaptionTitle:a,HeaderCaptionCount:s,HeaderCaptionButtonSettings:l,HeaderCaptionButtonClose:c,HeaderActions:u,HeaderBulkActions:d,HeaderSearch:f}=Bp(),{isBulkActionsSupported:h,notificationsCount:p}=ld(),{isBulkActionsVisible:m}=zh(),g=Gs();return t(Jo,{...r,children:[t(\"div\",{className:\"io-panel-header-caption\",children:[e(a,{title:n}),e(s,{}),t(Jo.ButtonGroup,{children:[g&&e(l,{onClick:o}),e(c,{onClick:i})]})]}),e(f,{}),h?t(\"div\",{className:`io-panel-header-actions-wrapper ${m&&p>0?\"io-panel-header-bulk-actions-opened\":\"\"} `,children:[e(u,{}),e(d,{})]}):e(u,{})]})}function jh({text:n=\"Notifications\",counter:o,...i}){const{notificationsCount:r}=ld();return e(E,{text:n,size:\"large\",...i,children:(o??!0)&&t(\"span\",{children:[\"(\",r,\")\"]})})}const Vh=\"newest\",Wh=\"oldest\",Kh=\"severity\",Uh=[\"None\",\"Low\",\"Medium\",\"High\",\"Critical\"],Jh={key:Vh,descending:!0},qh=e=>[...e].sort((e,t)=>(t.timestamp||0)-(e.timestamp||0)),Gh=e=>[...e].sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)),Yh=(e,t)=>{const n=Uh[0];return[...e].sort((e,o)=>{const i=Uh.indexOf(e.severity||n),r=Uh.indexOf(o.severity||n);return(t?-1:1)*(i-r)})},Qh={[Vh]:qh,[Wh]:Gh,[Kh]:Yh},Xh={severity:\"Priority\",newest:\"Newest\",oldest:\"Oldest\"};function Zh({...t}){const[n,o]=c([]),{NotificationsList:i,Notification:r}=Bp(),{notifications:a,setCount:s,notificationsCount:l}=ld(),{sortNotificationsBy:h,viewNotificationsBy:p,searchQuery:m}=zh(),g=d(null),v=Us(m),y=u(()=>{const e=((e,t)=>{if(!e)return[];switch(t){case\"all\":default:return e;case\"unread\":return e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state);case\"read\":return e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state);case\"snoozed\":return e.filter(e=>\"Snoozed\"===e.state)}})(a,p);return e.filter(e=>e.title.toLowerCase().includes(v.toLowerCase())||e.source?.toLowerCase().includes(v.toLowerCase())||e.body?.toLowerCase().includes(v.toLowerCase()))},[v,a,p]);return f(()=>{switch(h){case\"newest\":o(qh(y));break;case\"oldest\":o(Gh(y));break;case\"severity\":o(Yh(y,!0));break;default:o(y)}s(y.length)},[y,h,s]),f(()=>{g.current&&g.current?.scrollTo({top:0,behavior:\"smooth\"})},[v,l,h,p]),e(Ls,{ref:g,element:qo,elementProps:t,children:e(i,{notifications:n,Notification:r})})}function ep({...t}){const{FooterButtons:n}=Bp();return e(Go,{...t,children:e(n,{})})}function tp({className:n,...o}){const{FooterButtonClearAll:i,FooterButtonClearAllOld:r}=Bp(),{notifications:a}=ld(),[s,l]=c(!1);return f(()=>{a.filter(e=>\"Stale\"===e.state||\"Acknowledged\"===e.state).length>0?l(!0):l(!1)},[a]),t(te,{className:n,align:\"right\",...o,children:[e(r,{disabled:!s}),e(i,{disabled:a.length<=0})]})}function np({text:t=\"Clear All\",...n}){const{clearAll:o}=ld();return e(L,{text:t,onClick:()=>{o()},...n})}function op({text:t=\"Clear Old\",...n}){const{clearAllOld:o}=ld();return e(L,{text:t,onClick:()=>{o()},...n})}function ip(e){const t=Gs(),{onClose:n,settings:o}=ld(),{isPanelVisible:i}=zh(),{id:r,onClick:s,updateState:l}=e,c=a(async()=>{if(!s)return;if(!t){try{await s({close:!0})}catch(e){console.error(e)}return void n(r)}const e=o?.toastStacking??!1;let a;a=i?o?.closeNotificationOnClick??!0:!e&&null;try{null!==a?await s({close:a}):(await s({close:!1}),await l(\"Acknowledged\"))}catch(e){console.error(e)}},[t,r,i,s,n,l,o?.closeNotificationOnClick,o?.toastStacking]),u=a(async e=>{const t=e.target;t.closest(\"button\")||t.closest(\"[role='button']\")||t.closest(\"a\")||t.closest(\".io-dropdown-menu\")||await c()},[c]);return{handleClick:c,handleWrapperClick:u}}function rp({className:n,notification:o,onClick:i,...r}){const a=S(\"io-notification-header\",n),{HeaderCount:s,HeaderBadge:l,HeaderTitle:c,HeaderTimestamp:u,HeaderButtonSnooze:d,HeaderButtonClose:f}=Cp(),{handleWrapperClick:h}=ip(o);return t(\"div\",{className:a,onClick:async e=>{await h(e),i?.(e)},...r,children:[e(l,{notification:o}),e(s,{notification:o}),e(c,{notification:o}),e(u,{notification:o}),t(te,{children:[e(d,{notification:o}),e(f,{notification:o})]})]})}function ap({notification:t,...n}){const{settings:o,notificationStacks:i}=ld(),{isPanelVisible:r}=zh(),{toastStacking:a,stackBy:s}=o,l=\"application\"===s?\"source\":s??\"source\";let c=0;if(a){const e=i.find(e=>e.key===t[l]);c=e?.items.length??0}return r||!a||c<=1?null:e(Qo,{...n,children:c>9?\"9+\":c})}function sp({className:t,notification:n,...o}){if(!n?.severity||\"None\"===n.severity)return null;const i=S(\"io-notification-header-badge\",t);return e(Qo,{className:i,...o,children:n.severity})}function lp({className:n,state:o,severity:i=\"None\",icon:r,...a}){const s=S(\"io-notification-header-icon\",n),{isPanelVisible:l}=zh();return t(\"div\",{className:s,...a,children:[r&&e(\"span\",{className:\"io-notification-header-icon-image\",children:e(\"img\",{src:r,alt:`io-notification-header-icon-${r}`})}),e(\"span\",{className:`io-notification-header-icon-badge color-${i.toLowerCase()}`,children:l&&\"Acknowledged\"!==o&&\"New\"})]})}function cp({className:t,notification:{appTitle:n},...o}){const i=S(\"io-notification-header-title\",t);return e(\"div\",{className:i,...o,children:n})}function up({className:t,notification:{timestamp:n,state:o,snooze:i},...r}){const a=S(\"io-notification-timestamp\",t);return e(\"small\",i&&\"Snoozed\"===o?{className:a,...r,children:\"Snoozed\"}:{className:a,...r,children:pu(n??0)??\"Just Now\"})}function dp({notification:{id:t,state:n},...o}){const{settings:i,snooze:r}=ld(),s=a(e=>{e.stopPropagation(),r&&r(t,i.snooze?.duration??0)},[t,r,i.snooze?.duration]);return r&&\"Snoozed\"!==n&&i.snooze?.enabled?e(L,{icon:\"snooze\",variant:\"link\",text:\"Snooze\",tabIndex:-1,onClick:s,...o}):null}function fp({notification:{id:t,updateState:n},...o}){const i=Gs(),{onClose:r}=ld(),{isPanelVisible:s}=zh(),l=a(e=>{e.stopPropagation(),!i||s?r(t):n(\"Acknowledged\").catch(console.error)},[i,t,r,s,n]);return e(N,{icon:\"close\",iconSize:\"10\",tabIndex:-1,onClick:l,...o})}function hp({className:n,notification:o,...i}){const r=S(\"io-notification-body\",n),{BodyIcon:a,BodyTitle:s,BodyDescription:l}=Cp(),{icon:c,title:u,body:d}=o,{handleClick:f}=ip(o);return t(\"div\",{className:r,role:\"button\",tabIndex:0,onKeyDown:async e=>{D(e)&&await f()},onClick:f,...i,children:[e(a,{icon:c}),t(\"div\",{className:\"io-notification-body-content\",children:[e(s,{text:u}),e(l,{text:d})]})]})}function pp({className:t,icon:n,altText:o=\"notification icon\",...i}){if(!n)return null;const r=S(\"io-notification-body-icon\",t);return e(\"div\",{className:r,...i,children:e(\"img\",{src:n,alt:o})})}function mp({text:t,...n}){return e(E,{text:t,...n})}function gp({className:t,text:n,...o}){const i=S(\"io-notification-body-description\",t);return e(\"p\",{className:i,...o,children:n})}function vp({className:n,notification:o}){const i=S(\"io-notification-footer\",n),{FooterButton:r}=Cp(),{handleWrapperClick:a}=ip(o),s=u(()=>function(e){const t=[],n={};if(!e)return;e.forEach(e=>{const{displayId:o,displayPath:i}=e,r={...e,children:[]};if(i&&i.length>0){let e;i.forEach((t,o)=>{0===o?e=n[t]:e&&(e=e.children?.find(e=>e.displayId===t))}),e&&e.children?.push(r)}else o?(t.push(r),n[o]=r):t.push(r);o&&(n[o]=r)});const o=e=>{e.forEach(e=>{0===e.children?.length?delete e.children:e.children&&o(e.children)})};return o(t),t}(o.actions),[o.actions]),l=(t,n)=>t.children?e(Wo,{text:t.title,children:t.children.map(l)},`${t.title}-${n}`):((t,n)=>e(Wo.Item,{children:e(r,{variant:\"link\",className:\"io-dropdown-menu-item io-dropdown-menu-button\",notificationAction:t})},`${t.title}-${n}`))(t,n);return e(\"div\",{className:i,onClick:a,children:e(te,{align:\"right\",children:s?.map((n,o)=>n.children?t(te,{variant:\"append\",children:[e(r,{notificationAction:n,variant:0===o?\"primary\":\"default\"}),e(Wo,{variant:0===o?\"primary\":\"default\",icon:\"ellipsis\",children:n.children.map(l)})]},`${n.title}-${o}`):e(r,{notificationAction:n,variant:0===o?\"primary\":\"link\"},`${n.title}-${o}`))})})}function yp({notificationAction:t,...n}){const o=a(e=>{e.stopPropagation(),t.onClick({close:!0})},[t]);return e(L,{text:t.title,onClick:o,...n})}const wp={Header:rp,HeaderCount:ap,HeaderBadge:sp,HeaderIcon:lp,HeaderTitle:cp,HeaderTimestamp:up,HeaderButtonSnooze:dp,HeaderButtonClose:fp,Body:hp,BodyIcon:pp,BodyTitle:mp,BodyDescription:gp,Footer:vp,FooterButton:yp},bp=s(wp),kp=g(({children:t,components:n})=>{const o=u(()=>({...wp,...n}),[n]);return e(bp.Provider,{value:o,children:t})});function Cp(e){return{...l(bp),...e}}function Sp({className:n,notification:o,...i}){const{Header:r,Body:a,Footer:s}=Cp(),{severity:l}=o,c=S(\"io-notification\",`severity-${l?.toLowerCase()??\"none\"}`,\"Acknowledged\"!==o.state&&\"state-new\",n);return t(\"div\",{className:c,...i,children:[e(r,{notification:o}),e(a,{notification:o}),e(s,{notification:o})]})}function xp({components:t,notification:n,...o}){return e(kp,{components:t,children:e(Sp,{notification:n,...o})})}function Np({className:n,notifications:o,...i}){const[r,s]=c(!1),l=o.length>=3?\"large\":\"normal\",u=2===o.length?\"small\":l,d=o[0].severity,f=S(\"io-notification-stack\",r&&\"io-notification-stack-open\",\"normal\"!==u&&[`io-notification-stack-${u}`],d&&\"None\"!==d&&[`io-notification-stack-${d.toLowerCase()}`],n),h=a(()=>{s(!0)},[]),p=a(e=>{e.stopPropagation(),o.forEach(e=>{e.close()})},[o]);return t(\"div\",{className:f,onClick:h,...i,children:[r&&\"normal\"!==u&&e(\"div\",{className:\"io-notification-stack-btn\",children:e(L,{icon:\"close\",onClick:e=>p(e),children:e(\"span\",{className:\"io-btn-text\",children:\"Clear Stack\"})})}),o.map(t=>e(xp,{notification:t},t.id))]})}function Ip({...t}){const{notificationStacks:o}=ld();return e(n,{children:o.map(n=>e(Np,{notifications:n.items,...t},n.key))})}kp.displayName=\"ComponentsStoreProvider\";const Ap=({notification:n,Notification:o,...i})=>{const{configuration:r,isBulkActionsSupported:a,selectedNotifications:s,selectNotification:l}=ld(),{isPanelVisible:c,isBulkActionsVisible:u}=zh(),d=r.sourceFilter?.muted??[],f=n.source&&d.includes(n.source)||d.includes(\"*\");if(!c&&f)return null;const h=c&&a&&u,p=s.includes(n.id);return h?t(\"div\",{className:S(\"io-notification-list-bulk-action-item\",{selected:p}),children:[e(Vs,{checked:p,onChange:e=>l(n.id,e.target.checked)}),e(o,{notification:n,...i})]}):e(o,{notification:n,...i})};function Pp({className:n,Notification:o,notifications:i=[],noNotificationText:r=\"No notifications to display\",...a}){const s=S(\"io-notification-list\",n),{settings:l}=ld(),{isPanelVisible:c}=zh(),{toastStacking:u}=l,d=u&&!c,f=i.length>0;return t(\"div\",{className:s,...a,children:[d&&e(Ip,{}),!d&&(f?i.map(t=>e(Ap,{notification:t,Notification:o,...a},t.id)):e(\"div\",{className:\"io-notification-list-no-notifications\",children:r}))]})}const Ep={Header:Hh,HeaderCaptionTitle:jh,HeaderCaptionCount:function({variant:t=\"primary\",...n}){const{notificationsCount:o=0}=ld();return 0===o?null:e(P,{variant:t,...n,children:o>99?\"99+\":o})},HeaderCaptionButtonSettings:function({icon:t=\"cog\",size:n=\"32\",variant:o=\"circle\",...i}){return Gs()?e(N,{icon:t,size:n,variant:o,...i}):null},HeaderCaptionButtonClose:function({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const{hidePanel:a}=ld(),s=Gs();return e(N,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):s&&a()},...r})},HeaderActions:function({className:n,...o}){const i=S(\"io-panel-header-actions\",n),{HeaderActionSort:r,HeaderActionView:a,HeaderActionClear:s,HeaderActionEdit:l}=Bp();return t(\"div\",{className:i,...o,children:[t(te,{children:[e(r,{}),e(a,{})]}),t(te,{children:[e(s,{}),e(l,{})]})]})},HeaderActionSort:function({text:n=\"Sort by\",...o}){const{sortNotificationsBy:i,setSortBy:r}=zh(),{onNotificationsSort:s}=(()=>{const{notifications:e}=ld(),[t,n]=c(Jh),{key:o,descending:i}=t,r=u(()=>Qh[o](e,i),[e,o,i]),s=a(e=>{n(t=>({key:e,descending:t.key!==e?Jh.descending:!t.descending}))},[]);return{onNotificationsSort:s,sortedNotifications:r}})();return t(ee,{variant:\"light\",...o,children:[t(ee.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:Xh[i].toLowerCase()})]}),e(ee.Content,{children:e(ee.List,{variant:\"single\",checkIcon:\"check\",children:[\"Newest\",\"Oldest\",\"Priority\"].map(t=>{const n=\"Priority\"===t?\"severity\":t.toLowerCase();return e(ee.Item,{isSelected:i===n,onClick:()=>{r(n),s(n)},children:t},t)})})})]})},HeaderActionView:function({text:n=\"View\",...o}){const{settings:i}=ld(),{viewNotificationsBy:r,setViewBy:a}=zh(),s=i.snooze?.enabled?[\"All\",\"Read\",\"Unread\",\"Snoozed\"]:[\"All\",\"Read\",\"Unread\"];return t(ee,{variant:\"light\",...o,children:[t(ee.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:r})]}),e(ee.Content,{children:e(ee.List,{variant:\"single\",checkIcon:\"check\",children:s.map(t=>e(ee.Item,{isSelected:r===t.toLowerCase(),onClick:()=>a(t.toLowerCase()),children:t},t))})})]})},HeaderActionClear:function({text:t=\"Clear All\",...n}){const{clearAll:o,notificationsCount:i}=ld();return e(L,{variant:\"link\",text:t,onClick:o,disabled:0===i,...n})},HeaderActionEdit:function({tooltip:t=\"Bulk Edit\",...n}){const{isBulkActionsSupported:o,notificationsCount:i}=ld(),{showBulkActions:r}=zh();return o?e(N,{icon:\"pen-to-square\",title:t,size:\"32\",onClick:r,disabled:0===i,...n}):null},HeaderBulkActions:function({className:n,...o}){const i=S(\"io-panel-header-bulk-actions\",n),{HeaderBulkActionSelect:r,HeaderBulkActionSelectDropdown:a,HeaderBulkActionMarkAsRead:s,HeaderBulkActionMarkAsUnread:l,HeaderBulkActionSnooze:c,HeaderBulkActionClear:u,HeaderBulkActionClose:d}=Bp(),{isBulkActionsSupported:f}=ld();return f?e(\"div\",{className:i,...o,children:t(te,{children:[e(r,{}),e(a,{}),e(s,{}),e(l,{}),e(c,{}),e(u,{}),e(d,{})]})}):null},HeaderBulkActionSelect:function({...t}){const{isBulkActionsSupported:n,selectedNotifications:o,selectAllNotifications:i,notificationsCount:r}=ld();return n?e(Vs,{checked:r===o.length&&r>0,onChange:e=>i(\"all\",e.target.checked),disabled:0===r,...t}):null},HeaderBulkActionSelectDropdown:function({...n}){const{isBulkActionsSupported:o,selectAllNotifications:i,notificationsCount:r}=ld();return o?t(ee,{variant:\"light\",...n,children:[e(ee.ButtonIcon,{variant:\"default\",icon:\"chevron-down\",size:\"16\",iconSize:\"10\",disabled:0===r}),e(M,{children:t(ee.List,{variant:\"single\",checkIcon:\"check\",children:[e(ee.ItemSection,{children:\"Select\"}),[\"All\",\"Read\",\"Unread\",\"Snoozed\"].map(t=>e(ee.Item,{onClick:()=>i(t.toLowerCase(),!0),children:t},t))]})})]}):null},HeaderBulkActionMarkAsRead:function({icon:t=\"envelope-open\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as read\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,setStates:c,notificationsCount:u}=ld(),d=a(()=>{c(l,\"Seen\")},[l,c]);return s?e(N,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionMarkAsUnread:function({icon:t=\"envelope\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as unread\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,setStates:c,notificationsCount:u}=ld(),d=a(()=>{c(l,\"Active\")},[l,c]);return s?e(N,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionSnooze:function({icon:t=\"snooze\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Snooze\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,snoozeMany:c,settings:u,notificationsCount:d}=ld(),f=a(()=>{c(l,u.snooze?.duration??0)},[l,c,u.snooze?.duration]);return s&&u.snooze?.enabled?e(N,{icon:t,size:n,variant:o,title:i,onClick:f,disabled:0===d,...r}):null},HeaderBulkActionClear:function({icon:t=\"trash\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Clear\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,clearMany:c,notificationsCount:u}=ld(),d=a(()=>{c(l)},[l,c]);return s?e(N,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionClose:function({text:t=\"Done\",variant:n=\"primary\",...o}){const{isBulkActionsSupported:i,notificationsCount:r}=ld(),{hideBulkActions:a}=zh();return i?e(L,{variant:n,text:t,onClick:a,disabled:0===r,...o}):null},HeaderSearch:function({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const l=S(\"io-panel-header-search\",n),c=d(null),{notificationsCount:u}=ld(),{searchQuery:f,setSearch:h}=zh(),p=f.length>0,m=a(()=>{h(\"\"),c.current&&c.current.focus()},[h]);return t(\"div\",{className:l,children:[e(Hs,{ref:c,value:f,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?m:void 0,placeholder:o,onChange:e=>h(e.target.value),...s}),p&&e(\"p\",{className:\"io-panel-header-search-count\",children:`${u} results`})]})},Body:Zh,Footer:ep,FooterButtons:tp,FooterButtonClearAll:np,FooterButtonClearAllOld:op,Notification:xp,NotificationsList:Pp},Tp=s(Ep),Dp=g(({children:t,components:n})=>{const o=u(()=>({...Ep,...n}),[n]);return e(Tp.Provider,{value:o,children:t})});function Bp(e){return{...l(Tp),...e}}Dp.displayName=\"ComponentsStoreProvider\";function Lp(){const e=l(w),{settings:t}=ld(),n=Gs(),o=a(async()=>{const o=e.windows.my();if(!e||!o||!n)return;const i=o.placementSettings;await o.place({...i,snapped:!0,top:12,left:\"left\"===t.placement?.panel?12:void 0,right:\"right\"===t.placement?.panel?12:void 0,bottom:12,width:400,horizontalAlignment:t.placement?.panel})},[e,n,t.placement?.panel]);f(()=>{e&&t.placement?.panel&&n&&o().catch(console.error)},[e,n,o,t.placement?.panel])}function Rp({className:o,onClose:i,title:r=\"Notifications\",...a}){const{Header:s,Body:l}=Bp(),{settings:u}=ld(),{isPanelVisible:d}=zh(),[h,p]=c(!1),m=Gs(),g=S(\"io-notifications-panel\",\"left\"===u.placement?.panel&&\"io-panel-left\",\"right\"===u.placement?.panel&&\"io-panel-right\",o);return Lp(),f(()=>{d||p(!1)},[d]),t(n,{children:[t(Yo,{className:g,...a,children:[e(s,{title:r,onClose:i,onOpenSettings:()=>p(!0)}),e(l,{})]}),m&&d&&e($h,{isOpen:h,onClose:()=>p(!1)})]})}const Fp=({className:t,notifications:n,maxToasts:o=1,...i})=>{const r=S(\"io-toasts-body\",t),{NotificationsList:a,Notification:s}=_p(),[l,u]=c([]);return f(()=>{const e=o<0?n.length:o,t=n.filter(e=>\"Active\"===e.state).slice(0,e);for(const e of t)e.onShow();u(t)},[n,o]),e(\"div\",{className:r,...i,children:e(a,{Notification:s,notifications:l,noNotificationText:\"\"})})};Fp.displayName=\"Body\";const Op={Body:Fp,Notification:xp,NotificationsList:Pp},Mp=s(Op),$p=g(({children:t,components:n})=>{const o=u(()=>({...Op,...n}),[n]);return e(Mp.Provider,{value:o,children:t})});function _p(e){return{...l(Mp),...e}}$p.displayName=\"ComponentsStoreProvider\";function zp(){const e=l(w),{settings:t}=ld(),n=t.placement?.toasts,o=a(async()=>{const t=e.windows.my();if(!e||!t)return;const o=t.placementSettings;await t.place({...o,snapped:!0,left:\"top-left\"===n||\"bottom-left\"===n?12:void 0,right:\"top-right\"===n||\"bottom-right\"===n?12:void 0,width:400,verticalAlignment:\"top-left\"===n||\"top-right\"===n?\"top\":\"bottom\",horizontalAlignment:\"top-right\"===n||\"bottom-right\"===n?\"right\":\"left\"})},[e,n]);f(()=>{e&&n&&o().catch(console.error)},[e,o,n])}function Hp({className:n,maxToasts:o=10,...i}){const{Header:r,Body:s,Footer:u}=_p(),{notifications:h,settings:p}=ld(),m=d(null),g=function(e){const t=l(w),n=d(null),o=d(0),[i,r]=c(!1),s=a(async e=>{if(!t)return;const n=t.windows.my();if(!n)return;let i=1080;try{i=(await t.displays.getPrimary()).workArea.height}catch(e){console.warn(\"Could not get primary display, using fallback height:\",e)}const a=Math.min(Math.max(e,92),i);if(r(e>=i),!(Math.abs(a-o.current)<5)){o.current=a;try{const e=n.placementSettings;await n.place({...e,height:a})}catch(e){console.error(\"Error updating toasts window height:\",e)}}},[t]);return f(()=>{if(!e.current||!t)return;const o=e.current,i=new ResizeObserver(e=>{const t=e.at(-1);if(!t)return;const{height:i}=t.contentRect,r=getComputedStyle(o),a=Number.parseInt(r.paddingTop,10),l=Number.parseInt(r.paddingBottom,10),c=(Number.isNaN(a)?0:a)+i+(Number.isNaN(l)?0:l);n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{s(c).catch(console.error)},100)});return i.observe(o),()=>{i.disconnect(),n.current&&clearTimeout(n.current)}},[t,s]),i}(m),v=p.placement?.toasts,y=S(\"io-toasts\",(\"top-left\"===v||\"top-right\"===v)&&\"io-toasts-top\",(\"top-right\"===v||\"bottom-right\"===v)&&\"io-toasts-right\",(\"bottom-left\"===v||\"bottom-right\"===v)&&\"io-toasts-bottom\",(\"top-left\"===v||\"bottom-left\"===v)&&\"io-toasts-left\",g&&\"io-toasts-max-height\",n);return zp(),t(\"div\",{className:y,...i,children:[r&&e(r,{}),e(\"div\",{ref:m,children:e(s,{notifications:h,maxToasts:o})}),u&&e(u,{})]})}var jp=Object.freeze({__proto__:null,Notification:xp,NotificationBody:hp,NotificationBodyDescription:gp,NotificationBodyIcon:pp,NotificationBodyTitle:mp,NotificationFooter:vp,NotificationFooterButton:yp,NotificationHeader:rp,NotificationHeaderBadge:sp,NotificationHeaderButtonClose:fp,NotificationHeaderButtonSnooze:dp,NotificationHeaderCount:ap,NotificationHeaderIcon:lp,NotificationHeaderTimestamp:up,NotificationHeaderTitle:cp,NotificationStack:Np,NotificationsList:Pp,NotificationsPanelProvider:({children:t})=>{const{searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:h,showBulkActions:p,hideBulkActions:m}=function(){const e=l(w),[t,n]=c(!1),[o,i]=c(\"newest\"),[r,a]=c(\"all\"),[s,u]=c(\"\"),[d,h]=c(!1),p=Gs(),{isBulkActionsSupported:m}=ld();return f(()=>{const e=ed.onPanelVisibilityChanged(e=>n(e));return()=>{e()}},[]),f(()=>{null!==p&&p&&(async()=>{const t=await e.notifications.panel.isVisible();n(t)})()},[e.notifications.panel,p]),f(()=>{t||(h(!1),a(\"all\"))},[t]),{isPanelVisible:t,sortNotificationsBy:o,setSortBy:e=>{i(e)},viewNotificationsBy:r,setViewBy:e=>{a(e)},searchQuery:s,setSearch:e=>{u(e)},isBulkActionsVisible:d,showBulkActions:()=>{m&&h(!0)},hideBulkActions:()=>{m&&h(!1)}}}(),g=u(()=>({searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:h,showBulkActions:p,hideBulkActions:m}),[n,o,i,r,a,s,d,h,p,m]);return e(_h.Provider,{value:g,children:t})},NotificationsProvider:({children:t})=>{const{notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:l,allowedApplications:c,clearAll:d,clearAllOld:f,close:h,hidePanel:p,showPanel:m,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:k,selectAllNotifications:C,clearMany:S,snooze:x,snoozeMany:N,setState:I,setStates:A,setCount:P}=ad(),E=u(()=>({notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:l,allowedApplications:c,clearAll:d,clearAllOld:f,onClose:h,hidePanel:p,showPanel:m,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:k,selectAllNotifications:C,clearMany:S,snooze:x,snoozeMany:N,setState:I,setStates:A,setCount:P}),[n,o,i,r,a,s,l,c,d,f,h,p,m,g,v,y,w,b,k,C,S,x,N,I,A,P]);return e(sd.Provider,{value:E,children:t})},Panel:function({components:t,settings:n,...o}){return e(Fd,{components:n,children:e(Dp,{components:t,children:e(Rp,{...o})})})},PanelBody:Zh,PanelFooter:ep,PanelFooterButtonClearAll:np,PanelFooterButtonClearAllOld:op,PanelFooterButtons:tp,PanelHeader:Hh,PanelHeaderCaptionTitle:jh,SettingsAllowNotificationToasts:ud,SettingsAllowNotifications:cd,SettingsCloseNotificationOnClick:fd,SettingsGeneral:Qu,SettingsHideToastsAfter:gd,SettingsPanel:$d,SettingsPanelAutoHide:hd,SettingsPlacement:Cd,SettingsPlacementPanel:xd,SettingsPlacementToasts:Nd,SettingsShowNotificationBadge:dd,SettingsSnooze:Id,SettingsSnoozeDuration:Ad,SettingsStacking:vd,SettingsSubscribeAll:Ed,SettingsSubscribeApp:Td,SettingsSubscribeMuteAll:Dd,SettingsSubscribeMuteApp:Bd,SettingsSubscriptions:Pd,SettingsToastStackBy:kd,SettingsToastStacking:yd,Toasts:function({components:t,...n}){return e($p,{components:t,children:e(Hp,{...n})})},useAddRemoveApps:td,useHidePanelOnFocusLost:function(e=!0){const t=l(w),n=Gs();return f(()=>{if(!t||!e||null===n||!n)return;const o=t.windows.my()?.onFocusChanged(e=>{e.isFocused||t.notifications.panel.hide().catch(e=>{console.error(\"Error hiding panel:\",e)})});return()=>o?.()},[t,n,e]),t},useHidePanelOnKeyUp:function(e=\"Escape\"){const{hidePanel:t}=ld();Xs(e,t)},useNotificationStacking:nd,useNotificationsContext:ld,useNotificationsPanelContext:zh,usePanelWindowPlacement:Lp,useSelectNotifications:od,useShowHidePanelWindow:function(e=!0){const t=l(w),n=t?.windows.my(),o=Gs(),{isPanelVisible:i}=zh();return f(()=>{t&&n&&o&&(i?n.show().then(()=>{e&&n.focus().catch(e=>{console.error(\"Error focusing window:\",e)})}).catch(e=>console.error(\"Error showing window:\",e)):n.hide().catch(e=>console.error(\"Error hiding window:\",e)))},[t,n,o,i,e]),{myWindow:n}},useToastsWindowPlacement:zp});var Vp=Object.freeze({__proto__:null,AllowDocking:Uc,AutoClose:({align:t=\"right\",label:n=\"Auto-close on starting apps and workspaces\",...o})=>e(Hc,{align:t,label:n,prefKey:Al,disabled:!0,...o}),DockedAlwaysOnTop:Jc,DockedClaimsSpace:qc,Downloads:ou,DownloadsAskForEachDownload:Lu,DownloadsLocation:Bu,General:_c,HideFavoritesFromLaunchpad:Kc,HideLabelsInExtendedArea:Yc,Layouts:Zc,LayoutsRestoreLastSaved:({align:t=\"right\",label:n=\"Restore last saved on startup\",...o})=>e(Hc,{align:t,label:n,prefKey:Ml,...o}),LayoutsSaveCurrentOnExit:eu,LayoutsShowDeletePrompt:nu,LayoutsShowUnsavedChangesPrompt:tu,MinimizeToTray:jc,Panel:Yu,PanelBody:$c,PinnedPosition:Wc,ShowExtendedArea:Gc,ShowFavoritesInExtendedArea:Qc,ShowRecentAppsInExtendedArea:Xc,System:Ru,SystemRestartSection:ju,SystemShutdownSection:Vu,Theme:zc});const Wp=n=>{const{General:o,Layouts:i}=Yp();return t(Ls,{element:qo,elementProps:n,children:[e(o,{}),e(i,{})]})},Kp=({title:t=\"General\",...n})=>{const{Theme:o}=Yp();return e(T,{title:t,\"data-testid\":\"preferences-panel-general-block\",...n,children:e(o,{})})},Up=({title:t=\"Layouts\",...n})=>{const{LayoutsShowDeletePrompt:o}=Yp();return e(T,{title:t,\"data-testid\":\"preferences-panel-layouts-block\",...n,children:e(o,{})})},Jp={Body:Wp,General:Kp,Theme:zc,Layouts:Up,LayoutsShowUnsavedChangesPrompt:tu,LayoutsShowDeletePrompt:nu},qp=s(Jp),Gp=g(({children:t,components:n})=>{const o=u(()=>({...Jp,...n}),[n]);return e(qp.Provider,{value:o,children:t})});Gp.displayName=\"PreferencesPanelComponentsStoreProvider\";const Yp=()=>l(qp),Qp=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Yp();return e(qu,{title:n,onClose:t,...o,children:e(i,{})})};var Xp=Object.freeze({__proto__:null,General:Kp,Layouts:Up,LayoutsShowDeletePrompt:nu,LayoutsShowUnsavedChangesPrompt:tu,Panel:({components:t,...n})=>e(Gp,{components:t,children:e(Qp,{...n})}),PanelBody:Wp,Theme:zc}),Zp=Object.freeze({__proto__:null,LicenseSection:jd,Panel:sf,PluginsSection:Wd,ProductsInfoSection:Vd,Trademark:Kd,UserSection:Ud});export{A as Alert,P as Badge,T as Block,L as Button,te as ButtonGroup,N as ButtonIcon,Vs as Checkbox,se as Dialog,ee as Dropdown,Wo as DropdownMenu,re as Footer,ne as Header,B as IOA11y,uf as IOActivePanelRenderer,pf as IOAlertTemplates,vf as IOAlerts,Df as IOChannelSelector,Xf as IODialogTemplates,ch as IODialogs,Du as IODownloadManager,Mh as IOFeedback,jp as IONotifications,Xp as IOPreferencesBrowser,Vp as IOPreferencesDesktop,Zp as IOProfile,x as Icon,Ko as ImageIcon,Hs as Input,Rs as Label,J as List,Uo as Loader,Ls as OverlayScrollbarsContainer,Yo as Panel,Qo as Pill,Lc as PlatformPrefsProvider,Xo as Progress,Ws as Radio,W as Separator,js as Textarea,ml as ThemeContext,gl as ThemeProvider,E as Title,ul as Toggle,hl as appManagerUtils,pl as ioDesktopUtils,Ks as useCurrentTheme,Us as useDebounce,Js as useHideWindowOnFocusLost,zs as useId,Gs as useIsIODesktop,Ys as useIsMounted,Z as useKeyDown,Qs as useKeyPress,Xs as useKeyUp,Zs as useMinimizeToTray,Fc as usePlatformPref,Rc as usePlatformPrefs,tl as usePointerActions,nl as usePopupWindow,ol as useShowHideWindow,il as useThemes,rl as useTimeout,cl as useWindowDocking};\n//# sourceMappingURL=index.js.map\n","import { useCallback } from \"react\";\r\nimport { ExternalWindowPopupResult } from \"../../types/api\";\r\nimport { usePopupWindow } from \"@interopio/components-react\";\r\nimport { Size } from \"../../types/internal\";\r\n\r\nexport default function useExternalWindowPopup(): ExternalWindowPopupResult {\r\n const { getContainer, closePopup, createPopup, hidePopup, showPopup, isOpen, isVisible, popup } = usePopupWindow();\r\n\r\n const resizePopup = useCallback(async (size: Size) => {\r\n await popup?.ioConnectWindow.moveResize({ ...size });\r\n }, [popup]);\r\n\r\n return {\r\n getContainer,\r\n closePopup,\r\n createPopup,\r\n hidePopup,\r\n showPopup: showPopup as ExternalWindowPopupResult[\"showPopup\"],\r\n isOpen,\r\n isVisible,\r\n resizePopup,\r\n popup\r\n }\r\n}","import CloseButton from \"./defaultComponents/buttons/CloseButton\";\r\nimport FlatCaptionBar from \"./defaultComponents/flatCaptionBar/FlatCaptionBar\";\r\nimport GroupCaptionBar from \"./defaultComponents/groupCaptionBar/GroupCaptionBar\";\r\nimport MaximizeButton from \"./defaultComponents/buttons/MaximizeButton\";\r\nimport MinimizeButton from \"./defaultComponents/buttons/MinimizeButton\";\r\nimport Tab from \"./defaultComponents/tabs/Tab\";\r\nimport TabHeaderButtons from \"./defaultComponents/tabs/TabHeaderButtons\";\r\nimport TabCaption from \"./defaultComponents/tabs/TabCaption\";\r\nimport TabCloseButton from \"./defaultComponents/tabs/TabCloseButton\";\r\nimport GroupElementCreationWrapper from \"./GroupElementCreationWrapper\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport GroupMoveArea from \"./defaultComponents/groupCaptionBar/GroupMoveArea\";\r\nimport GroupButtons from \"./defaultComponents/groupCaptionBar/GroupButtons\";\r\nimport FlatMoveArea from \"./defaultComponents/flatCaptionBar/FlatMoveArea\";\r\nimport FlatButtons from \"./defaultComponents/flatCaptionBar/FlatButtons\";\r\nimport FlatCaption from \"./defaultComponents/flatCaptionBar/FlatCaption\";\r\nimport GroupCaption from \"./defaultComponents/groupCaptionBar/GroupCaption\";\r\nimport FlatChannelSelector from \"./defaultComponents/channelSelector/FlatChannelSelector\";\r\nimport TabChannelSelector from \"./defaultComponents/channelSelector/TabChannelSelector\";\r\nimport RestoreButton from \"./defaultComponents/buttons/RestoreButton\";\r\nimport LockButton from \"./defaultComponents/buttons/LockButtons\";\r\nimport UnlockButton from \"./defaultComponents/buttons/UnlockButton\";\r\nimport ExtractButton from \"./defaultComponents/buttons/ExtractButton\";\r\nimport FeedbackButton from \"./defaultComponents/buttons/FeedbackButton\";\r\nimport CloneButton from \"./defaultComponents/buttons/CloneButton\";\r\nimport StickyButton from \"./defaultComponents/buttons/StickyButton\";\r\nimport OverflowButton from \"./defaultComponents/buttons/OverflowButton\";\r\nimport useIOConnectWindow from \"./useIOConnectWindow\";\r\nimport CustomButton from \"./defaultComponents/buttons/CustomButton\";\r\nimport { waitForWindow } from \"./utils\";\r\nimport useGroupComponentVisibility from \"./useGroupComponentVisibility\";\r\nimport type {\r\n CloseButtonProps,\r\n ExtractButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n FlatCaptionProps,\r\n FlatChannelSelectorProps,\r\n FlatMoveAreaProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupMoveAreaProps,\r\n LockButtonProps,\r\n MaximizeButtonProps,\r\n MinimizeButtonProps,\r\n RestoreButtonProps,\r\n TabCaptionEditorProps,\r\n TabCaptionProps,\r\n TabChannelSelectorProps,\r\n TabCloseButtonProps,\r\n UnlockButtonProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n OverflowButtonProps\r\n} from \"./types/defaultComponents\";\r\nimport type {\r\n AboveTabsProps,\r\n AboveWindowProps,\r\n AfterTabsProps,\r\n BeforeTabsProps,\r\n BelowTabsProps,\r\n BelowWindowProps,\r\n FlatCaptionBarProps,\r\n FrameLoadingAnimationProps,\r\n FrameWindowOverlayProps,\r\n GroupCaptionBarProps,\r\n GroupComponentVisibilityState,\r\n GroupOverlayProps,\r\n GroupProps,\r\n HtmlButtonsProps,\r\n MoveAreaProps,\r\n OpenTabOverflowPopupOptions,\r\n TabElementProps,\r\n TabHeaderButtonsProps,\r\n TabOverflowPopupProps,\r\n WindowContentOverlayProps,\r\n} from \"./types/api\";\r\nimport GroupCaptionEditor from \"./defaultComponents/groupCaptionBar/GroupCaptionEditor\";\r\nimport FlatCaptionEditor from \"./defaultComponents/flatCaptionBar/FlatCaptionEditor\";\r\nimport TabCaptionEditor from \"./defaultComponents/tabs/TabCaptionEditor\";\r\nimport { TargetType } from \"./types/internal\";\r\nimport type { Location } from \"./types/internal\";\r\nimport useCommitTabCaptionEditingRequested from \"./defaultComponents/tabs/useCommitTabCaptionEditingRequested\";\r\nimport useCommitGroupCaptionEditingRequested from \"./defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested\";\r\nimport useCommitFlatCaptionEditingRequested from \"./defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested\";\r\nimport useEditableCaption from \"./defaultComponents/captionEditor/useEditableCaption\";\r\nimport useCaptionEditor from \"./defaultComponents/captionEditor/useCaptionEditor\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\nimport HtmlButtons from \"./defaultComponents/htmlButtonsBar/buttons\";\r\nimport TabOverflowPopup from \"./defaultComponents/popups/TabOverflowPopup\";\r\nimport TabMultiChannelSelector from \"./defaultComponents/channelSelector/multi/TabMultiChannelSelector\";\r\nimport FlatMultiChannelSelector from \"./defaultComponents/channelSelector/multi/FlatMultiChannelSelector\";\r\nimport { useDragMove } from \"./defaultComponents/utils/useDragMove\";\r\nimport useExternalWindowPopup from \"./defaultComponents/hooks/useExternalWindowPopup\";\r\n\r\nexport {\r\n GroupCaptionBar,\r\n GroupMoveArea,\r\n GroupButtons,\r\n GroupCaptionEditor,\r\n Tab,\r\n TabChannelSelector,\r\n TabCaption,\r\n TabCloseButton,\r\n TabCaptionEditor,\r\n FeedbackButton,\r\n CloneButton,\r\n StickyButton,\r\n ExtractButton,\r\n LockButton,\r\n UnlockButton,\r\n MinimizeButton,\r\n RestoreButton,\r\n MaximizeButton,\r\n CustomButton,\r\n CloseButton,\r\n FlatCaptionBar,\r\n FlatChannelSelector,\r\n FlatCaption,\r\n FlatMoveArea,\r\n FlatButtons,\r\n FlatCaptionEditor,\r\n TabHeaderButtons,\r\n FrameLoadingAnimation,\r\n HtmlButtons,\r\n TabOverflowPopup,\r\n OverflowButton,\r\n TabMultiChannelSelector,\r\n FlatMultiChannelSelector,\r\n useIOConnectWindow,\r\n useGroupComponentVisibility,\r\n waitForWindow,\r\n useEditableCaption,\r\n useCaptionEditor,\r\n useDragMove,\r\n useCommitGroupCaptionEditingRequested,\r\n useCommitFlatCaptionEditingRequested,\r\n useCommitTabCaptionEditingRequested,\r\n useExternalWindowPopup,\r\n}\r\n\r\nexport const getGroupId: () => string = () => webGroupsManager?.getGroupId();\r\nexport const requestPageFocus: () => void = () => webGroupsManager?.requestPageFocus();\r\nexport const requestFrameFocus: (frameId: string) => void = (frameId) => webGroupsManager?.requestFrameFocus(frameId);\r\nexport const requestGroupFocus: () => void = () => webGroupsManager?.requestGroupFocus();\r\nexport const openTabOverflowPopup: (options: OpenTabOverflowPopupOptions) => void = ({ frameId, location }: OpenTabOverflowPopupOptions) => webGroupsManager.openTabOverflowPopup(frameId, location);\r\n\r\nexport const onCommitGroupCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Group, targetId, cb);\r\nexport const onCommitFlatCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Frame, targetId, cb);\r\nexport const onCommitTabCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Tab, targetId, cb);\r\n\r\nexport { GroupCaption };\r\n\r\nexport type {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupComponentVisibilityState,\r\n TabElementProps,\r\n TabChannelSelectorProps,\r\n TabCaptionProps,\r\n TabCloseButtonProps,\r\n TabHeaderButtonsProps,\r\n TabCaptionEditorProps,\r\n HtmlButtonsProps,\r\n FlatCaptionBarProps,\r\n FlatCaptionProps,\r\n FrameWindowOverlayProps,\r\n FlatMoveAreaProps,\r\n FlatChannelSelectorProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n OverflowButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n ExtractButtonProps,\r\n LockButtonProps,\r\n UnlockButtonProps,\r\n MinimizeButtonProps,\r\n MaximizeButtonProps,\r\n RestoreButtonProps,\r\n CloseButtonProps,\r\n FrameLoadingAnimationProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n AboveWindowProps,\r\n BelowWindowProps,\r\n AboveTabsProps,\r\n BelowTabsProps,\r\n BeforeTabsProps,\r\n AfterTabsProps,\r\n WindowContentOverlayProps,\r\n TabOverflowPopupProps,\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n"],"names":["StandardButtonTarget","TargetType","StandardButtons","_a","index","_i","io","x","hash","r","b","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","require$$0","is","useState","useEffect","useLayoutEffect","shim","shimModule","require$$1","React","_d","_c","_f","_e","_h","_l","_n","_p","_o","_r","ReactDOM","_","useSyncExternalStore","te","_s","_t","_u","e","t","o","n","a","s","l","k","C","c","u","d","f","h","i","p","m","S","N","P","E","T","D","L","R","F","O","M","$","z","g","y","w","v","H","j","V","W","K","U","J","q","Y","G","Q","X","Z","ee","I","A","B","ne","oe","ie","re","ae","se","le","ce","ue","de","fe","he","pe","me","ge","ve","ye","we","be","ke","Ce","Se","_b","usePopupWindow"],"mappings":"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","x_google_ignoreList":[1,7,24,49,50,51]}
1
+ {"version":3,"file":"index.js","sources":["../../src/types/internal.ts","../../../../node_modules/callback-registry/lib/index.js","../../src/webGroupsManager.ts","../../src/defaultComponents/buttons/BaseButton.tsx","../../src/defaultComponents/utils/common.ts","../../src/defaultComponents/buttons/StandardButton.tsx","../../src/defaultComponents/buttons/CloseButton.tsx","../../../../node_modules/color2k/dist/index.exports.import.es.mjs","../../src/defaultComponents/channelSelector/utils.ts","../../src/defaultComponents/channelSelector/BaseChannelSelector.tsx","../../src/defaultComponents/channelSelector/FlatChannelSelector.tsx","../../src/defaultComponents/buttons/ExtractButton.tsx","../../src/defaultComponents/buttons/FeedbackButton.tsx","../../src/defaultComponents/buttons/CloneButton.tsx","../../src/defaultComponents/buttons/StickyButton.tsx","../../src/defaultComponents/buttons/LockButtons.tsx","../../src/defaultComponents/buttons/MaximizeButton.tsx","../../src/defaultComponents/buttons/MinimizeButton.tsx","../../src/defaultComponents/buttons/RestoreButton.tsx","../../src/defaultComponents/buttons/UnlockButton.tsx","../../src/defaultComponents/buttons/CustomButton.tsx","../../src/defaultComponents/buttons/DownloadsButton.tsx","../../src/defaultComponents/flatCaptionBar/FlatButtons.tsx","../../src/utils.ts","../../../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../src/defaultComponents/captionEditor/useEditableCaption.ts","../../src/defaultComponents/utils/useDragMove.ts","../../src/defaultComponents/flatCaptionBar/FlatCaption.tsx","../../src/defaultComponents/captionEditor/useCaptionEditor.ts","../../src/defaultComponents/captionEditor/useCommitEditingRequested.tsx","../../src/defaultComponents/captionEditor/CaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatMoveArea.tsx","../../src/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionBar.tsx","../../src/defaultComponents/groupCaptionBar/GroupMoveArea.tsx","../../src/defaultComponents/groupCaptionBar/GroupButtons.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaption.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionEditor.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionBar.tsx","../../src/defaultComponents/channelSelector/TabChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/TabMultiChannelSelector.tsx","../../src/defaultComponents/tabs/TabCaption.tsx","../../src/defaultComponents/tabs/TabCaptionEditor.tsx","../../src/defaultComponents/tabs/TabCloseButton.tsx","../../src/defaultComponents/tabs/Tab.tsx","../../src/defaultComponents/buttons/OverflowButton.tsx","../../src/defaultComponents/tabs/TabHeaderButtons.tsx","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../../node_modules/use-sync-external-store/shim/index.js","../../src/GroupWrapper.tsx","../../src/Portal.tsx","../../src/webGroupsStore.ts","../../src/defaultComponents/loadingAnimation/FrameLoadingAnimation.tsx","../../src/GroupElementCreationWrapper.tsx","../../src/useIOConnectWindow.ts","../../src/useGroupComponentVisibility.ts","../../src/defaultComponents/tabs/useCommitTabCaptionEditingRequested.ts","../../src/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.ts","../../src/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.ts","../../src/defaultComponents/htmlButtonsBar/buttons.tsx","../../src/defaultComponents/popups/TabOverflowPopup.tsx","../../../components-react/dist/esm/index.js","../../src/defaultComponents/hooks/useExternalWindowPopup.ts","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\r\n\r\ntype NonMethodKeys<T> = ({ [P in keyof T]: T[P] extends Function ? never : P })[keyof T];\r\ntype NonMethods<T> = Pick<T, NonMethodKeys<T>>;\r\n\r\nexport interface PortalProps {\r\n\tparentElement: HTMLElement;\r\n\tchildren?: React.ReactNode;\r\n}\r\n\r\nexport enum StandardButtonTarget {\r\n\tDefault = \"default\",\r\n\tFrame = \"frame\"\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tonClick: () => void;\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget?: StandardButtonTarget;\r\n\tisPressed?: boolean;\r\n\tdownloadsState?: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface ToggleButtonProps extends ButtonProps {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface GroupWrapperProps {\r\n\tonCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;\r\n\tonUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;\r\n\r\n\tonCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;\r\n\tonUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateWindowContentOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateFrameLoadingAnimationRequested?: (options: CreateFrameLoadingAnimationRequestOptions) => void;\r\n\tonCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\tonUpdateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\r\n\tonCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabHeaderButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\r\n\tonCreateTabOverflowPopupRequested?: (options: CreateTabOverflowPopupRequestOptions) => void;\r\n\r\n\tonCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonUpdateFrameRequested?: (options: UpdateFrameRequestOptions) => void;\r\n\tonUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;\r\n\tonUpdateCustomButtonsRequested?: (options: UpdateCustomButtonsRequestOptions) => void;\r\n\r\n\tonCreateHtmlButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\tonRemoveHtmlButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveWindowContentOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameLoadingAnimationRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabOverflowPopupRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonShowCaptionEditorRequested?: (targetType: TargetType, targetId: string, text: string) => void;\r\n\tonCommitCaptionEditingRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;\r\n\r\n\tonShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tstyles?: {\r\n\t\ttabs?: {\r\n\t\t\theader?: StylesOptions;\r\n\t\t\tmoveArea?: StylesOptions;\r\n\t\t},\r\n\t\tframe?: {\r\n\t\t\telement?: StylesOptions;\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {\r\n\tmoveAreaId: string;\r\n\tcaption: string;\r\n\tvisible: boolean;\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n}\r\n\r\nexport interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {\r\n\r\n}\r\n\r\nexport interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {\r\n\r\n}\r\n\r\nexport interface CreateFrameCaptionBarRequestOptions extends CreateButtonsOptions {\r\n\tcaption: string;\r\n\tmoveAreaId: string;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface CreateTabRequestOptions extends CreateElementRequestOptions {\r\n\tcaption: string;\r\n\tselected: boolean;\r\n\tflashing: boolean;\r\n\tpinned: boolean;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {\r\n\tbuttonId: StandardButtons;\r\n\tbuttonTarget: StandardButtonTarget;\r\n\tvisible: boolean;\r\n\ttooltip: string;\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface UpdateCustomButtonsRequestOptions extends CreateElementRequestOptions {\r\n\tcustomButtons: UpdateCustomButtonOptions[];\r\n}\r\n\r\nexport interface UpdateCustomButtonOptions {\r\n\tbuttonId: string;\r\n\ttooltip: string;\r\n\timageData: string;\r\n}\r\n\r\nexport interface CreateStandardButtonsOptions {\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget: StandardButtonTarget;\r\n\tdownloadsState: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface CreateStandardToggleButtonsOptions extends CreateStandardButtonsOptions {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface CreateButtonsOptions extends CreateFrameElementRequestOptions {\r\n\toverflow: CreateStandardButtonsOptions,\r\n\tfeedback: CreateStandardButtonsOptions,\r\n\tclone: CreateStandardButtonsOptions,\r\n\tsticky: CreateStandardToggleButtonsOptions,\r\n\textract: CreateStandardButtonsOptions,\r\n\tlock: CreateStandardButtonsOptions,\r\n\tunlock: CreateStandardButtonsOptions,\r\n downloads: CreateStandardButtonsOptions,\r\n\tminimize: CreateStandardButtonsOptions,\r\n\trestore: CreateStandardButtonsOptions,\r\n\tmaximize: CreateStandardButtonsOptions,\r\n\tclose: CreateStandardButtonsOptions,\r\n\tcustomButtons: UpdateCustomButtonOptions[],\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface RemoveRequestOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface BaseElementOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface CreateElementRequestOptions extends BaseElementOptions {\r\n\tparentElement: HTMLElement;\r\n\ttargetType: TargetType;\r\n\telementId: string;\r\n}\r\n\r\nexport interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {\r\n\tselectedWindow: string;\r\n}\r\n\r\nexport interface OverflowedTabInfo {\r\n\ttitle: string;\r\n\twindowId: string;\r\n}\r\n\r\nexport interface CreateTabOverflowPopupRequestOptions extends CreateElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface CreateFrameLoadingAnimationRequestOptions extends CreateFrameElementRequestOptions {\r\n\tshow: boolean;\r\n}\r\n\r\nexport interface UpdateFrameRequestOptions extends CreateFrameElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport enum TargetType {\r\n\tGroup = \"group\",\r\n\tFrame = \"frame\",\r\n\tTabBar = \"tabBar\",\r\n\tTab = \"tab\",\r\n\tHtmlButtons = \"html\"\r\n}\r\n\r\nexport enum StandardButtons {\r\n\tOverflow = \"overflow\",\r\n\tFeedback = \"feedback\",\r\n\tClone = \"clone\",\r\n\tSticky = \"sticky\",\r\n\tExtract = \"extract\",\r\n\tLock = \"lock\",\r\n\tUnlock = \"unlock\",\r\n Downloads = \"downloads\",\r\n\tMinimize = \"minimize\",\r\n\tMaximize = \"maximize\",\r\n\tRestore = \"restore\",\r\n\tClose = \"close\",\r\n}\r\n\r\nexport interface ElementCreationWrapperState {\r\n\tgroupCaptionBar?: CreateGroupCaptionBarRequestOptions;\r\n\tgroupOverlay?: CreateElementRequestOptions;\r\n\tframeCaptionBars: { [targetId: string]: CreateFrameCaptionBarRequestOptions };\r\n\tframeWindowOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\twindowContentOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tframeLoadingAnimations: { [targetId: string]: CreateFrameLoadingAnimationRequestOptions };\r\n\taboveWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbelowWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\taboveTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbeforeTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabElements: { [targetId: string]: CreateTabRequestOptions };\r\n\tafterTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabHeaderButtons: { [targetId: string]: CreateButtonsOptions };\r\n\ttabOverflowPopups: { [targetId: string]: CreateTabOverflowPopupRequestOptions };\r\n\tbelowTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\thtmlButtons: { [targetId: string]: CreateButtonsOptions };\r\n}\r\n\r\nexport type IndexableElementCreationWrapperState = Omit<Omit<ElementCreationWrapperState, \"groupCaptionBar\">, \"groupOverlay\">;\r\n\r\nexport interface ExternalLibraryFactory {\r\n\treadonly groupId: string;\r\n\tfocusPage(): void;\r\n\tfocusFrame(frameId: string): void;\r\n\tfocusGroup(): void;\r\n\tonStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;\r\n\tonCustomButtonClick(targetType: TargetType, targetId: string, buttonId: string): void;\r\n\tonTabCloseButtonClick(targetId: string): void;\r\n\tonTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonMoveAreaChanged(targetType: TargetType, targetId: string): void;\r\n\tonCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tshowCaptionEditor(targetType: TargetType, targetId: string, text: string): void;\r\n\tstartDragMove(): void;\r\n\tonCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;\r\n\tonCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tcommitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;\r\n\r\n\tupdateTabHeaderStyles(styles: StylesOptions): void;\r\n\tupdateTabMoveAreaStyles(styles: StylesOptions): void;\r\n\tupdateFrameStyles(styles: StylesOptions): void;\r\n\r\n\tselectTab(windowId: string): void;\r\n\topenTabOverflowPopup(frameId: string, location: Location): void\r\n\tresizeTabOverflowPopup(frameId: string, size: Size): void;\r\n\r\n\taddTabContainerClass(windowId: string, className: string): void;\r\n\tremoveTabContainerClass(windowId: string, className: string): void;\r\n}\r\n\r\nexport interface WebGroupsManager {\r\n\tinit: (factory?: any) => void;\r\n\tnotifyMoveAreaChanged(): void;\r\n\tregisterPopup(element: HTMLElement): string;\r\n\tremovePopup(element: HTMLElement): void;\r\n\tremovePopupById(elementId: string): void;\r\n\tsubscribeForWindowFocused(cb: () => any): () => void;\r\n\tunmount(): void;\r\n\texternalLibraryFactory: ExternalLibraryFactory;\r\n}\r\n\r\nexport interface Size {\r\n\twidth: number;\r\n\theight: number;\r\n}\r\n\r\nexport interface Location {\r\n\tleft: number;\r\n\ttop: number;\r\n}\r\n\r\nexport interface StylesOptions {\r\n\tcss?: Partial<NonMethods<CSSStyleDeclaration>>;\r\n\tclasses?: string[]\r\n}\r\n\r\nexport interface Bounds extends Size, Location {\r\n}\r\n\r\nexport type PopupTargetLocation = \"top\" | \"bottom\" | \"left\" | \"right\" | \"none\";\r\n\r\nexport interface ExternalWindowPopup {\r\n browserWindow?: Window;\r\n ioConnectWindow?: any;\r\n}\r\n\r\nexport interface ShowExternalWindowPopupConfig {\r\n targetBounds: Bounds;\r\n size: Size;\r\n targetLocation: PopupTargetLocation;\r\n}\r\n","\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map","import { Bounds, Location, Size, StandardButtons, StylesOptions, TargetType, WebGroupsManager } from \"./types/internal\";\r\nimport callbackRegistry from \"callback-registry\";\r\n\r\ndeclare const window: Window & { webGroupsManager: WebGroupsManager };\r\n\r\nclass WebGroupsManagerDecorator {\r\n private readonly registry = callbackRegistry();\r\n public readonly skipFocusStyle = \"t42-skip-focus\";\r\n\r\n public init(io: any, componentFactory: any) {\r\n if (window.webGroupsManager) {\r\n window.webGroupsManager.init(componentFactory);\r\n } else {\r\n throw new Error(`Could not find the webGroupsManager the groups library should be loaded as a group application`);\r\n }\r\n }\r\n\r\n public getGroupId() {\r\n return window.webGroupsManager.externalLibraryFactory.groupId;\r\n }\r\n\r\n public notifyMoveAreaChanged() {\r\n window.webGroupsManager.notifyMoveAreaChanged();\r\n }\r\n\r\n public registerPopup(element: HTMLElement): string {\r\n return window.webGroupsManager.registerPopup(element);\r\n }\r\n\r\n public removePopup(element: HTMLElement): void {\r\n return window.webGroupsManager.removePopup(element);\r\n }\r\n\r\n public removePopupById(elementId: string): void {\r\n return window.webGroupsManager.removePopupById(elementId);\r\n }\r\n\r\n public subscribeForWindowFocused(cb: () => any): () => void {\r\n return window.webGroupsManager.subscribeForWindowFocused(cb);\r\n }\r\n\r\n public unmount(): void {\r\n return window.webGroupsManager.unmount();\r\n }\r\n\r\n public requestPageFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusPage();\r\n }\r\n\r\n public requestFrameFocus(frameId: string): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusFrame(frameId);\r\n }\r\n\r\n public requestGroupFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusGroup();\r\n }\r\n\r\n public onCloseButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Close);\r\n }\r\n\r\n public onRestoreButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Restore);\r\n }\r\n\r\n public onMaximizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Maximize);\r\n }\r\n\r\n public onDownloadsButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(\r\n targetType,\r\n targetId,\r\n StandardButtons.Downloads\r\n );\r\n }\r\n\r\n public onMinimizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Minimize);\r\n }\r\n\r\n public onLockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Lock);\r\n }\r\n\r\n public onUnlockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Unlock);\r\n }\r\n\r\n public onOverflowButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Overflow);\r\n }\r\n\r\n public onFeedbackButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Feedback);\r\n }\r\n\r\n public onCloneButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Clone);\r\n }\r\n\r\n public onStickyButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Sticky);\r\n }\r\n\r\n public onExtractButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Extract);\r\n }\r\n\r\n public closeTab(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabCloseButtonClick(targetId);\r\n }\r\n\r\n public clickCustomButton(targetId: string, buttonId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onCustomButtonClick(TargetType.Frame, targetId, buttonId);\r\n }\r\n\r\n public onGroupMoveAreaChanged(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onMoveAreaChanged(TargetType.Group, targetId);\r\n }\r\n\r\n public onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onFrameChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public startDragMove() {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.startDragMove !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.startDragMove();\r\n }\r\n\r\n public showCaptionEditor(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.showCaptionEditor !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.showCaptionEditor(targetType, targetId, text);\r\n }\r\n\r\n public onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged(targetType, targetId, visible);\r\n }\r\n\r\n public onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.commitCaptionEditing !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.commitCaptionEditing(targetType, targetId, text);\r\n }\r\n\r\n public onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void {\r\n return this.registry.add(`${targetType}-${targetId}`, callback);\r\n }\r\n\r\n public requestCommitCaptionEditing(targetType: TargetType, targetId: string) {\r\n this.registry.execute(`${targetType}-${targetId}`);\r\n }\r\n\r\n public updateTabHeaderStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabHeaderStyles(styles);\r\n }\r\n\r\n public updateTabMoveAreaStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabMoveAreaStyles(styles);\r\n }\r\n\r\n public updateFrameStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateFrameStyles(styles);\r\n }\r\n public selectTab(windowId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.selectTab(windowId);\r\n }\r\n\r\n public addTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.addTabContainerClass !== \"function\") {\r\n console.warn(\"The method addTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.addTabContainerClass(windowId, className);\r\n }\r\n\r\n public removeTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.removeTabContainerClass !== \"function\") {\r\n console.warn(\"The method removeTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.removeTabContainerClass(windowId, className);\r\n }\r\n\r\n public openTabOverflowPopup(frameId: string, location: Location): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method openTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup(frameId, location);\r\n }\r\n\r\n public resizeTabOverflowPopup(frameId: string, size: Size): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method resizeTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup(frameId, size);\r\n }\r\n}\r\n\r\nexport default new WebGroupsManagerDecorator();","import React from \"react\";\r\nimport { BaseButtonProps } from \"../../types/defaultComponents\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nconst BaseButton: React.FC<BaseButtonProps> = ({ outerElement, innerElement }) => {\r\n return <li {...outerElement} data-testid=\"outer-element\" className={`${webGroupsManager.skipFocusStyle} ${outerElement.className}`}>\r\n <div {...innerElement}>\r\n </div>\r\n </li>\r\n}\r\n\r\nexport default BaseButton;","import { StandardButtons, StandardButtonTarget } from \"../../types/internal\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\n\r\nexport function getStandardButtonInnerClassName(buttonId: StandardButtons, target?: StandardButtonTarget): string {\r\n let classNames = `t42-standard-button t42-standard-button-${buttonId}`;\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-standard-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getStandardButtonOuterClassName(buttonId: StandardButtons, target?: StandardButtonTarget, isPressed?: boolean): string {\r\n let classNames = `t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-${buttonId}`;\r\n if (isPressed === true) {\r\n classNames = classNames.concat(` active`);\r\n }\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-caption-bar-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getDownloadButtonClassName(downloadState?: DownloadsButtonProps['downloadsState']): string {\r\n const defaultClass = 't42-standard-button-downloads';\r\n\r\n if (!downloadState) {\r\n return '';\r\n }\r\n \r\n switch(true) {\r\n case downloadState.state === 'not-started':\r\n return `${defaultClass}-download-not-started`;\r\n case downloadState.state === 'in-progress':\r\n return `${defaultClass}-download-in-progress`;\r\n case downloadState.state === 'paused':\r\n return `${defaultClass}-download-paused`;\r\n default:\r\n return `${defaultClass}-download-ready`;\r\n }\r\n}","import React from \"react\";\r\nimport { StandardButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst StandardButton: React.FC<StandardButtonProps> = ({ buttonId, target, isPressed, tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(buttonId, target) }}\r\n outerElement={{ className: getStandardButtonOuterClassName(buttonId, target, isPressed), title: tooltip, onClick }} />\r\n}\r\n\r\nexport default StandardButton;","import React from \"react\";\r\nimport { CloseButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst CloseButton: React.FC<CloseButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Close}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloseButton;","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.exports.import.es.mjs.map\n","import { parseToRgba, readableColorIsBlack } from \"color2k\";\r\n\r\nexport function IsBlackReadable(color: string) {\r\n try {\r\n const rgba = parseToRgba(color);\r\n const r = rgba[0];\r\n const g = rgba[1];\r\n const b = rgba[2];\r\n const backgroundWeight = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;\r\n return backgroundWeight > 0.5;\r\n } catch {\r\n // Fallback to other implementation\r\n }\r\n\r\n try {\r\n return readableColorIsBlack(color);\r\n } catch (error) {\r\n // tslint:disable-next-line: no-console\r\n console.error(`Error while checking readable color for '${color}'`, error);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getChannelDirection(channelRestrictions: { read: boolean, write: boolean }): string {\r\n if (!channelRestrictions) {\r\n return \"\";\r\n }\r\n if (typeof channelRestrictions.read === \"boolean\" && typeof channelRestrictions.write === \"boolean\") {\r\n if (channelRestrictions.read && channelRestrictions.write) {\r\n return \"\";\r\n }\r\n if (channelRestrictions.read) {\r\n return \"subscribe\";\r\n }\r\n if (channelRestrictions.write) {\r\n return \"publish\"\r\n }\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport { BaseChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport { IsBlackReadable } from \"./utils\";\r\n\r\nconst BaseChannelSelector: React.FC<BaseChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannel, selectedChannelColor, direction, channelLabel }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n current?.addEventListener(\"mousedown\", handler);\r\n return ()=> {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref]);\r\n\r\n let className = contentClass;\r\n\r\n if (selectedChannel && selectedChannelColor) {\r\n className = `${contentClass} ${IsBlackReadable(selectedChannelColor) ? \"t42-channel-selector-content-dark\" : \"t42-channel-selector-content-light\"}`;\r\n }\r\n\r\n const style = {\r\n background: selectedChannelColor\r\n };\r\n\r\n return <div title={selectedChannel ?? \"\"} ref={ref}\r\n style={style}\r\n onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`} >\r\n {channelLabel ?\r\n <div className={`${className} ${direction ? \"icon\" : \"\"}`}>\r\n {channelLabel}\r\n {direction && <i className={`icon-${direction}`}></i>}\r\n </div> : <div className={className}>\r\n </div>}\r\n </div >\r\n};\r\n\r\nexport default BaseChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst FlatChannelSelector: React.FC<FlatChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatChannelSelector;","import React from \"react\";\r\nimport { ExtractButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst ExtractButton: React.FC<ExtractButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Extract}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default ExtractButton;","import React from \"react\";\r\nimport { FeedbackButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst FeedbackButton: React.FC<FeedbackButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Feedback}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default FeedbackButton;","import React from \"react\";\r\nimport { CloneButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n \r\nconst CloneButton: React.FC<CloneButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Clone}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloneButton;","import React from \"react\";\nimport { StickyButtonProps } from \"../../types/defaultComponents\";\nimport { StandardButtons } from \"../../types/internal\";\nimport StandardButton from \"./StandardButton\";\n\nconst StickyButton: React.FC<StickyButtonProps> = (props) => {\n return <StandardButton\n buttonId={StandardButtons.Sticky}\n {...props}\n />\n}\n\nexport default StickyButton;","import React from \"react\";\r\nimport { LockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst LockButton: React.FC<LockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Lock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default LockButton;","import React from \"react\";\r\nimport { MaximizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MaximizeButton: React.FC<MaximizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Maximize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MaximizeButton;","import React from \"react\";\r\nimport { MinimizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MinimizeButton: React.FC<MinimizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Minimize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MinimizeButton;","import React from \"react\";\r\nimport { RestoreButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst RestoreButton: React.FC<RestoreButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Restore}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default RestoreButton;","import React from \"react\";\r\nimport { UnlockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst UnlockButton: React.FC<UnlockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Unlock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default UnlockButton;","import React from \"react\";\nimport BaseButton from \"./BaseButton\";\nimport { CustomButtonProps } from \"../../types/defaultComponents\";\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ onClick, tooltip, imageData }) => {\n return <BaseButton\n innerElement={{ className: \"t42-custom-button\", style: {backgroundImage: `url(\"${imageData}\")`} }}\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button\", title: tooltip, onClick }} />\n}\n\nexport default CustomButton;","import React from \"react\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getDownloadButtonClassName, getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst defaultDonwloadState = { progress: -1, state: \"not-started\" } as NonNullable<DownloadsButtonProps['downloadsState']>;\r\n\r\nconst DownloadsButton: React.FC<DownloadsButtonProps> = (props) => {\r\n const { downloadsState = defaultDonwloadState } = props;\r\n\r\n const innerElementClassNames = [\r\n getStandardButtonInnerClassName(StandardButtons.Downloads, props.target),\r\n getDownloadButtonClassName(downloadsState)\r\n ].filter(Boolean).join(' ');\r\n\r\n const innerElementStyles = downloadsState.progress >= 0 ? ({ '--progress': downloadsState.progress } as React.CSSProperties) : undefined;\r\n\r\n return (\r\n <BaseButton\r\n innerElement={{\r\n className: innerElementClassNames,\r\n style: innerElementStyles\r\n }}\r\n outerElement={{\r\n className: getStandardButtonOuterClassName(StandardButtons.Downloads, props.target, props.isPressed),\r\n title: props.tooltip,\r\n onClick: props.onClick\r\n }}\r\n />\r\n )\r\n};\r\n\r\nexport default DownloadsButton;\r\n","import React from \"react\";\r\nimport { FlatButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport DownloadsButton from \"../buttons/DownloadsButton\";\r\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, downloads, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-frame-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-frame-caption-bar-element\">\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {downloads?.visible && <DownloadsButton {...downloads} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default FlatButtons;","import { Bounds } from \"./types/internal\";\r\n\r\nexport const waitForWindow = (io: any, windowId: string): Promise<any> => {\r\n return new Promise((res, rej) => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n res(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n res(windowInCollection);\r\n unsub();\r\n }\r\n });\r\n}\r\n\r\nexport const getElementBounds = (element: HTMLElement): Bounds => {\r\n const bounds = element.getBoundingClientRect();\r\n\r\n return {\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height\r\n }\r\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import React, { useLayoutEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseEditableCaptionOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useEditableCaption(ref: React.RefObject<HTMLElement>, options: UseEditableCaptionOptions): void {\r\n useLayoutEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useEditableCaption;\r\n\r\n","import { useEffect, useRef } from \"react\";\nimport webGroupsManager from \"../../webGroupsManager\";\n\nexport interface DragMoveOptions {\n threshold?: number; // Minimum movement in pixels to start drag\n}\n\nexport function useDragMove(option?: DragMoveOptions) {\n const { threshold = 3 } = option || {};\n const initialPos = useRef<{ x: number; y: number } | null>(null);\n\n const onMoveRef = useRef<(ev: MouseEvent) => void>();\n const onUpRef = useRef<(ev: MouseEvent) => void>();\n\n const cleanup = () => {\n document.removeEventListener(\"mousemove\", onMoveRef.current!, true);\n document.removeEventListener(\"mouseup\", onUpRef.current!, true);\n initialPos.current = null;\n document.body.style.pointerEvents = \"auto\";\n };\n\n if (!onMoveRef.current) {\n onMoveRef.current = (ev: MouseEvent) => {\n if (!initialPos.current) return;\n\n const dx = ev.pageX - initialPos.current.x;\n const dy = ev.pageY - initialPos.current.y;\n if (Math.abs(dx) >= threshold || Math.abs(dy) >= threshold) {\n document.body.style.pointerEvents = \"none\";\n cleanup();\n webGroupsManager.startDragMove();\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n if (!onUpRef.current) {\n onUpRef.current = (ev: MouseEvent) => {\n cleanup();\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n const startDrag = (ev: React.MouseEvent) => {\n if (ev.button !== 0) return;\n initialPos.current = { x: ev.pageX, y: ev.pageY };\n\n document.addEventListener(\"mousemove\", onMoveRef.current!, true);\n document.addEventListener(\"mouseup\", onUpRef.current!, true);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n useEffect(() => {\n return () => {\n if (onMoveRef.current) document.removeEventListener(\"mousemove\", onMoveRef.current, true);\n if (onUpRef.current) document.removeEventListener(\"mouseup\", onUpRef.current, true);\n document.body.style.pointerEvents = \"auto\";\n initialPos.current = null;\n };\n }, []);\n\n return { startDrag };\n}","import React, { useRef, MouseEvent } from \"react\";\r\nimport { FlatCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst FlatCaption: React.FC<FlatCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"t42-caption t42-title t42-frame-caption-bar-element\"\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n >\r\n {caption}\r\n </div >\r\n );\r\n};\r\n\r\nexport default FlatCaption;","import React, { useEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseCaptionEditorOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useCaptionEditor(ref: React.RefObject<HTMLElement>, options: UseCaptionEditorOptions): void {\r\n useEffect(() => {\r\n if (!ref?.current) {\r\n return;\r\n }\r\n options.notifyEditorVisibilityChanged(true);\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n options.notifyEditorVisibilityChanged(false);\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useCaptionEditor;","import React, { useEffect } from \"react\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nfunction useCommitEditingRequested(targetType: TargetType, targetId: string, text: string): void {\r\n useEffect(() => {\r\n const unsub = webGroupsManager.onCommitCaptionEditingRequested(targetType, targetId, () => {\r\n webGroupsManager.commitCaptionEditing(targetType, targetId, text);\r\n });\r\n return () => {\r\n unsub();\r\n }\r\n }, [targetType, targetId, text]);\r\n}\r\n\r\nexport default useCommitEditingRequested;\r\n\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { CaptionEditorProps, } from \"../../types/defaultComponents\";\r\nimport useCaptionEditor from \"./useCaptionEditor\";\r\nimport useCommitEditingRequested from \"./useCommitEditingRequested\";\r\n\r\nconst CaptionEditor: React.FC<CaptionEditorProps> = ({ className,\r\n commitChanges,\r\n hideEditor,\r\n notifyBoundsChanged,\r\n caption,\r\n notifyEditorVisibilityChanged,\r\n targetType,\r\n targetId }) => {\r\n const [captionInEditor, setCaptionInEditor] = useState(caption);\r\n const [inputWidth, setInputWidth] = useState(0);\r\n const ref = useRef<HTMLInputElement>(null);\r\n const measurementRef = useRef<HTMLSpanElement>(null);\r\n\r\n const onBlur = () => {\r\n commitChanges(captionInEditor);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setCaptionInEditor(e.target.value);\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Escape\") {\r\n hideEditor();\r\n } else if (e.key === \"Enter\") {\r\n commitChanges(captionInEditor);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useCaptionEditor(ref, { notifyBoundsChanged, notifyEditorVisibilityChanged });\r\n useCommitEditingRequested(targetType, targetId, captionInEditor);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const onMouseDown = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n const element = ref.current;\r\n element.addEventListener(\"mousedown\", onMouseDown);\r\n\r\n if (ref.current) {\r\n // Focus element on the next tick to have properly focused page\r\n setTimeout(() => {\r\n element?.focus();\r\n element?.select();\r\n }, 0);\r\n }\r\n\r\n return () => {\r\n element?.removeEventListener(\"mousedown\", onMouseDown);\r\n }\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (!measurementRef.current) {\r\n return;\r\n }\r\n\r\n setInputWidth(measurementRef.current.scrollWidth);\r\n }, [measurementRef, captionInEditor]);\r\n\r\n return <>\r\n <input ref={ref}\r\n style={{\r\n width: `${inputWidth}px`\r\n }}\r\n onKeyDown={onKeyDown}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n value={captionInEditor} className={className} />\r\n <span ref={measurementRef} style={{ visibility: \"hidden\", position: \"absolute\", top: -30000, left: -30000 }}>{captionInEditor}</span>\r\n </>;\r\n}\r\n\r\nexport default CaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst FlatCaptionEditor: React.FC<FlatCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.frameId} targetType={TargetType.Frame} className={\"t42-caption-editor t42-frame-caption-bar-element\"} />\r\n}\r\n\r\nexport default FlatCaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst FlatMoveArea: React.FC<FlatMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-frame-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatMoveArea;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { BaseMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"../BaseChannelSelector\";\r\nimport { getChannelDirection } from \"../utils\";\r\n\r\nconst BaseMultiChannelSelector: React.FC<BaseMultiChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannels, channelLabel, channelRestrictions }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const len = selectedChannels.length;\r\n const showBaseChannelSelector = len < 2;\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (showBaseChannelSelector) {\r\n return;\r\n }\r\n\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n ref.current?.addEventListener(\"mousedown\", handler);\r\n return () => {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref, showBaseChannelSelector]);\r\n\r\n if (showBaseChannelSelector) {\r\n return <BaseChannelSelector\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannels[0]?.name}\r\n selectedChannelColor={selectedChannels[0]?.color}\r\n outsideClass={outsideClass}\r\n contentClass={contentClass}\r\n channelLabel={channelLabel}\r\n direction={getChannelDirection(channelRestrictions)} />;\r\n }\r\n\r\n const colors = selectedChannels.map((channel) => channel.color) ?? [];\r\n const title = colors.join(\", \");\r\n const lenMax4 = Math.min(len, 4);\r\n const cssClass = `t42-multi-channel-selector-content t42-multi-channel-selector-${lenMax4}`;\r\n let style: any = {};\r\n colors.forEach((color: string, index: number) => {\r\n const colorVarName = `--t42-multi-channel-selector-${lenMax4}-color-${index + 1}`;\r\n style[colorVarName] = color;\r\n });\r\n\r\n return (\r\n <div id=\"basem\" title={title} ref={ref} onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`}>\r\n <div className={cssClass} style={style} >\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BaseMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst FlatMultiChannelSelector: React.FC<FlatMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatCaptionBarProps } from \"../../types/api\";\r\nimport FlatChannelSelector from \"../channelSelector/FlatChannelSelector\";\r\nimport FlatButtons from \"./FlatButtons\";\r\nimport FlatCaption from \"./FlatCaption\";\r\nimport FlatCaptionEditor from \"./FlatCaptionEditor\";\r\nimport FlatMoveArea from \"./FlatMoveArea\";\r\nimport FlatMultiChannelSelector from \"../channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nconst FlatCaptionBar: React.FC<FlatCaptionBarProps> = ({ moveAreaId, caption, showCaptionEditor, channels, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return (\r\n <div className=\"t42-react-caption-bar\">\r\n {channels?.visible && channels.channelsMode !== \"multi\" && <FlatChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannel={channels?.selectedChannel}\r\n selectedChannelColor={channels?.selectedChannelColor}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n {channels?.visible && channels.channelsMode === \"multi\" && <FlatMultiChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannels={channels?.selectedChannels}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n <FlatMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor.show ? <FlatCaptionEditor {...captionEditor} caption={captionEditor.text!} frameId={rest.frameId} /> : <FlatCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </FlatMoveArea>\r\n <FlatButtons {...rest} />\r\n </div>);\r\n};\r\n\r\nexport default FlatCaptionBar;\r\n","import React from \"react\";\r\nimport { GroupMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst GroupMoveArea: React.FC<GroupMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-group-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\nexport default GroupMoveArea;","import React from \"react\";\r\nimport { GroupButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\n\r\nconst GroupButtons: React.FC<GroupButtonsProps> = ({ minimize, restore, maximize, close }) => {\r\n return <div className=\"t42-buttons-container t42-group-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-group-caption-bar-element\">\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default GroupButtons;","import React, { MouseEvent, useRef } from \"react\";\r\nimport { GroupCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst GroupCaption: React.FC<GroupCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n className=\"t42-caption t42-title t42-group-caption-bar-element\"\r\n >\r\n {caption}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GroupCaption;\r\n","import React from \"react\";\r\nimport { GroupCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst GroupCaptionEditor: React.FC<GroupCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.groupId} targetType={TargetType.Group} className=\"t42-caption-editor t42-group-caption-bar-element\" />\r\n}\r\n\r\nexport default GroupCaptionEditor;\r\n","import React from \"react\";\r\nimport { GroupCaptionBarProps } from \"../../types/api\";\r\nimport GroupMoveArea from \"./GroupMoveArea\";\r\nimport GroupButtons from \"./GroupButtons\";\r\nimport GroupCaption from \"./GroupCaption\";\r\nimport GroupCaptionEditor from \"./GroupCaptionEditor\";\r\n\r\nconst GroupCaptionBar: React.FC<GroupCaptionBarProps> = ({ moveAreaId, showCaptionEditor, targetType, targetId, caption, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return <div className=\"t42-react-caption-bar\">\r\n <GroupMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor?.show ?\r\n <GroupCaptionEditor {...captionEditor} groupId={targetId} caption={captionEditor.text!} /> :\r\n <GroupCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </GroupMoveArea>\r\n <GroupButtons {...rest} />\r\n </div>\r\n}\r\n\r\nexport default GroupCaptionBar;","import React from \"react\";\r\nimport { TabChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst TabChannelSelector: React.FC<TabChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabChannelSelector;","import React from \"react\";\r\nimport { TabMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst TabMultiChannelSelector: React.FC<TabMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabMultiChannelSelector;\r\n","import React, { useRef } from \"react\";\r\nimport { TabCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst TabCaption: React.FC<TabCaptionProps> = ({ caption, selected, notifyBoundsChanged }) => {\r\n const normalClassName = \"t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption t42-tab-caption t42-selected-tab-caption\";\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className={selected ? selectedClassName : normalClassName}>{caption}</div>\r\n}\r\n\r\nexport default TabCaption;","import React from \"react\";\r\nimport { TabCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst TabCaptionEditor: React.FC<TabCaptionEditorProps> = (props) => {\r\n const normalClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption t42-selected-tab-caption t42-selected-tab-element\";\r\n\r\n return <CaptionEditor {...props}\r\n targetType={TargetType.Tab}\r\n targetId={props.windowId}\r\n className={props.selected ? selectedClassName : normalClassName} />\r\n}\r\n\r\nexport default TabCaptionEditor;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { TabCloseButtonProps } from \"../../types/defaultComponents\";\r\n\r\nconst TabCloseButton: React.FC<TabCloseButtonProps> = ({ selected, close }) => {\r\n const normalClassName = \"t42-tab-close-button t42-tab-bar-element\";\r\n const selectedClassName = \"t42-tab-close-button t42-tab-bar-element t42-selected-tab-close-button t42-selected-tab-element\";\r\n\r\n const normalContentClassName = \"t42-tab-close-button-content\";\r\n const selectedContentClassName = \"t42-tab-close-button-content t42-selected-tab-close-button-content\";\r\n\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n ref.current?.addEventListener(\"mousedown\", (e) => {\r\n e.stopPropagation();\r\n });\r\n }, [ref]);\r\n\r\n return <div ref={ref} onClick={close} className={selected ? selectedClassName : normalClassName} title=\"close\">\r\n <div className={selected ? selectedContentClassName : normalContentClassName}>\r\n </div>\r\n </div>\r\n}\r\n\r\nexport default TabCloseButton;","import React from \"react\";\r\nimport { TabElementProps } from \"../../types/api\";\r\nimport TabChannelSelector from \"../channelSelector/TabChannelSelector\";\r\nimport TabMultiChannelSelector from \"../channelSelector/multi/TabMultiChannelSelector\";\r\nimport TabCaption from \"./TabCaption\";\r\nimport TabCaptionEditor from \"./TabCaptionEditor\";\r\nimport TabCloseButton from \"./TabCloseButton\";\r\n\r\nconst Tab: React.FC<TabElementProps> = ({ caption, selected, close, channels, captionEditor, notifyCaptionBoundsChanged, windowId, pinned }) => {\r\n return <div className=\"t42-react-tab\">\r\n {channels.visible && channels.channelsMode !== \"multi\" && <TabChannelSelector {...channels} />}\r\n {channels.visible && channels.channelsMode === \"multi\" && <TabMultiChannelSelector {...channels} />}\r\n {captionEditor.show ?\r\n <TabCaptionEditor {...captionEditor} caption={captionEditor.text!} selected={selected} windowId={windowId} /> :\r\n <TabCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} selected={selected} />}\r\n {pinned ? <></> : <TabCloseButton selected={selected} close={close} />}\r\n </div>\r\n};\r\n\r\nexport default Tab;\r\n","import React from \"react\";\r\nimport { OverflowButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\n\r\nconst OverflowButton: React.FC<OverflowButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(StandardButtons.Overflow) }}\r\n outerElement={{\r\n onMouseDown: (e) => e.stopPropagation(),\r\n onPointerDown: (e) => e.stopPropagation(),\r\n className: getStandardButtonOuterClassName(StandardButtons.Overflow), title: tooltip, onClick\r\n }} />\r\n}\r\n\r\nexport default OverflowButton;","import React from \"react\";\r\nimport { TabHeaderButtonsProps } from \"../../types/api\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport OverflowButton from \"../buttons/OverflowButton\";\r\n\r\nconst TabHeaderButtons: React.FC<TabHeaderButtonsProps> = ({ overflow, extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-tab-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {overflow?.visible && <OverflowButton {...overflow} />}\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n};\r\n\r\n\r\nexport default TabHeaderButtons;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React from \"react\";\r\nimport { GroupWrapperProps } from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass GroupWrapper extends React.Component<GroupWrapperProps> {\r\n containerRef: HTMLElement | null;\r\n\r\n componentDidMount() {\r\n const componentFactory = {\r\n createGroupCaptionBar: this.props.onCreateGroupCaptionBarRequested,\r\n updateGroupCaptionBar: this.props.onUpdateGroupCaptionBarRequested,\r\n createGroupOverlay: this.props.onCreateGroupOverlayRequested,\r\n\r\n createFrameCaptionBar: this.props.onCreateFrameCaptionBarRequested,\r\n updateFrameCaptionBar: this.props.onUpdateFrameCaptionBarRequested,\r\n createFrameWindowOverlay: this.props.onCreateFrameWindowOverlayRequested,\r\n updateFrameWindowOverlay: this.props.onUpdateFrameWindowOverlayRequested,\r\n createAboveWindow: this.props.onCreateAboveWindowRequested,\r\n destroyAboveWindow: this.props.onRemoveAboveWindowRequested,\r\n createWindowContentOverlay: this.props.onCreateWindowContentOverlayRequested,\r\n destroyWindowContentOverlay: this.props.onRemoveWindowContentOverlayRequested,\r\n createFrameLoadingAnimation: this.props.onCreateFrameLoadingAnimationRequested,\r\n destroyFrameLoadingAnimation: this.props.onRemoveFrameLoadingAnimationRequested,\r\n createBelowWindow: this.props.onCreateBelowWindowRequested,\r\n destroyBelowWindow: this.props.onRemoveBelowWindowRequested,\r\n\r\n createAboveTabs: this.props.onCreateAboveTabsRequested,\r\n updateAboveTabs: this.props.onUpdateAboveTabsRequested,\r\n createBeforeTabs: this.props.onCreateBeforeTabsComponentRequested,\r\n updateBeforeTabs: this.props.onUpdateBeforeTabsComponentRequested,\r\n\r\n createTab: this.props.onCreateTabRequested,\r\n updateTab: this.props.onUpdateTabRequested,\r\n\r\n createAfterTabs: this.props.onCreateAfterTabsComponentRequested,\r\n updateAfterTabs: this.props.onUpdateAfterTabsComponentRequested,\r\n createTabBarButtonsContainerElement: this.props.onCreateTabHeaderButtonsRequested,\r\n createBelowTabs: this.props.onCreateBelowTabsRequested,\r\n updateBelowTabs: this.props.onUpdateBelowTabsRequested,\r\n \r\n createHtmlButtonsContainerElement: this.props.onCreateHtmlButtonsRequested,\r\n destroyHtmlButtonsContainerElement: this.props.onRemoveHtmlButtonsRequested,\r\n\r\n createTabOverflowPopup:this.props.onCreateTabOverflowPopupRequested,\r\n destroyTabOverflowPopup: this.props.onRemoveTabOverflowPopupRequested,\r\n \r\n updateFrame: this.props.onUpdateFrameRequested,\r\n updateStandardButton: this.props.onUpdateStandardButtonRequested,\r\n updateCustomButtons: this.props.onUpdateCustomButtonsRequested,\r\n\r\n destroyFrameCaptionBar: this.props.onRemoveFrameCaptionBarRequested, // needed to prevent a memory leak\r\n destroyFrameWindowOverlay: this.props.onRemoveFrameWindowOverlayRequested,\r\n\r\n destroyAboveTabs: this.props.onRemoveAboveTabsRequested,\r\n destroyBeforeTabs: this.props.onRemoveBeforeTabsComponentRequested,\r\n destroyTab: this.props.onRemoveTabRequested,\r\n destroyAfterTabs: this.props.onRemoveAfterTabsComponentRequested,\r\n destroyTabBarButtonsContainerElement: this.props.onRemoveTabHeaderButtonsRequested,\r\n destroyBelowTabs: this.props.onRemoveBelowTabsRequested,\r\n\r\n showCaptionEditor: this.props.onShowCaptionEditorRequested,\r\n commitCaptionEditing: this.props.onCommitCaptionEditingRequested,\r\n hideCaptionEditor: this.props.onHideCaptionEditorRequested,\r\n\r\n showLoadingAnimation: this.props.onShowLoadingAnimationRequested,\r\n hideLoadingAnimation: this.props.onHideLoadingAnimationRequested,\r\n };\r\n\r\n webGroupsManager.init(undefined, componentFactory);\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<GroupWrapperProps>, prevState: Readonly<{}>, snapshot?: any): void {\r\n if (this.props.styles?.tabs?.header !== prevProps.styles?.tabs?.header) {\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n }\r\n\r\n if (this.props.styles?.tabs?.moveArea !== prevProps.styles?.tabs?.moveArea) {\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n }\r\n\r\n if (this.props.styles?.frame?.element !== prevProps.styles?.frame?.element) {\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // TODO\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"t42-group-container\" ref={(r) => this.containerRef = r}>\r\n <div id=\"t42-frames-container\">\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default GroupWrapper;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { PortalProps } from \"./types/internal\";\r\n\r\nclass Portal extends React.Component<PortalProps> {\r\n render() {\r\n return ReactDOM.createPortal(this.props.children, this.props.parentElement);\r\n }\r\n}\r\n\r\nexport default Portal;","import {\r\n CreateElementRequestOptions,\r\n CreateFrameCaptionBarRequestOptions,\r\n CreateFrameElementRequestOptions,\r\n CreateGroupCaptionBarRequestOptions,\r\n CreateButtonsOptions,\r\n CreateTabRequestOptions,\r\n ElementCreationWrapperState,\r\n RemoveRequestOptions,\r\n TargetType,\r\n UpdateFrameCaptionBarRequestOptions,\r\n UpdateGroupCaptionBarRequestOptions,\r\n UpdateStandardButtonRequestOptions,\r\n UpdateFrameRequestOptions,\r\n CreateFrameLoadingAnimationRequestOptions,\r\n UpdateCustomButtonsRequestOptions,\r\n CreateTabOverflowPopupRequestOptions,\r\n OverflowedTabInfo,\r\n IndexableElementCreationWrapperState,\r\n BaseElementOptions\r\n} from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass WebGroupsStore {\r\n\r\n private listeners = new Set<() => void>();\r\n private state: ElementCreationWrapperState = {\r\n groupCaptionBar: undefined,\r\n groupOverlay: undefined,\r\n frameCaptionBars: {}, // dict frameId to create caption bar options\r\n frameWindowOverlays: {}, // dict frameId to create options\r\n aboveWindowZones: {}, // dict frameId to create options\r\n windowContentOverlays: {},//dict frameId to create options\r\n belowWindowZones: {}, // dict frameId to create options\r\n aboveTabsZones: {}, // dict frameId to create options\r\n beforeTabsZones: {}, // dict frameId to create before tabs zones options\r\n tabElements: {}, // dict windowId to create tab elements options\r\n afterTabsZones: {}, // dict frameId to after tabs zones options\r\n tabHeaderButtons: {}, // dict frameId to crate tab header buttons options\r\n tabOverflowPopups: {}, // dict frameId to create tab overflow popup options,\r\n belowTabsZones: {}, // dict frameId to create options\r\n frameLoadingAnimations: {}, // dict frameId to create options\r\n htmlButtons: {}, // dict frameId to crate html buttons options\r\n }\r\n\r\n public subscribe = (cb: () => void) => {\r\n this.listeners.add(cb);\r\n return () => {\r\n this.listeners.delete(cb);\r\n };\r\n }\r\n\r\n public getSnapshot = () => {\r\n return this.state;\r\n }\r\n\r\n public onCreateGroupCaptionBarRequested = (options: CreateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateGroupOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.groupOverlay) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupOverlay: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameCaptionBarRequested = (options: CreateFrameCaptionBarRequestOptions) => {\r\n this.onCreateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n this.onCreateElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onCreateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n this.onCreateElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onUpdateGroupCaptionBarRequested = (options: UpdateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: Object.assign({}, s.groupCaptionBar, options)\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameCaptionBarRequested = (options: UpdateFrameCaptionBarRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onUpdateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onUpdateFrame = (options: UpdateFrameRequestOptions) => {\r\n this.setState(s => {\r\n const newState = { ...s };\r\n\r\n const updateSelectionWindow = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"tabElements\") {\r\n return;\r\n }\r\n const newStateRecord = newState[stateProp]![targetId] as any;\r\n\r\n if (newStateRecord && newStateRecord?.selectedWindow !== selectedWindow) {\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: { ...newState[stateProp]![targetId], selectedWindow }\r\n }\r\n }\r\n };\r\n\r\n const updateHiddenTabs = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldState = newState[stateProp]![targetId] as any;\r\n const oldHiddenToTheLeft = oldState?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = oldState?.hiddenTabsToTheRight;\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: {\r\n ...newState[stateProp]![targetId],\r\n hiddenTabsToTheLeft: hiddenTabsToTheLeft || oldHiddenToTheLeft,\r\n hiddenTabsToTheRight: hiddenTabsToTheRight || oldHiddenToTheRight\r\n }\r\n }\r\n };\r\n\r\n updateSelectionWindow(\"frameCaptionBars\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameWindowOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"windowContentOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"beforeTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"afterTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"tabHeaderButtons\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameLoadingAnimations\", options.targetId, options.selectedWindow);\r\n\r\n updateHiddenTabs(\"afterTabsZones\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n updateHiddenTabs(\"tabHeaderButtons\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n\r\n return newState;\r\n });\r\n }\r\n\r\n public onUpdateStandardButton = (options: UpdateStandardButtonRequestOptions) => {\r\n const targetState = { targetId: options.targetId };\r\n switch (options.targetType) {\r\n case TargetType.Group:\r\n const currentGroupState = this.state.groupCaptionBar || targetState as CreateGroupCaptionBarRequestOptions;\r\n const newGroupOptions = {\r\n ...currentGroupState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateGroupCaptionBarRequested(newGroupOptions);\r\n break;\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || targetState as CreateFrameCaptionBarRequestOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabButtonsState = this.state.tabHeaderButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newTabButtonsOptions = {\r\n ...currentTabButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabButtonsOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onUpdateCustomButtons = (options: UpdateCustomButtonsRequestOptions) => {\r\n switch (options.targetType) {\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || { targetId: options.targetId } as CreateButtonsOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n ...options\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabBarState = this.state.tabHeaderButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newTabBarOptions = {\r\n ...currentTabBarState,\r\n ...options\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabBarOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n ...options\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onRemoveFrameCaptionBarRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onShowCaptionEditorRequested = (targetType: TargetType, targetId: string, text: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onShowGroupCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onShowFlatCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onShowTabCaptionEditorRequested(targetId, text);\r\n }\r\n }\r\n\r\n public onCommitCaptionEditingRequested = (targetType: TargetType, targetId: string) => {\r\n webGroupsManager.requestCommitCaptionEditing(targetType, targetId);\r\n }\r\n\r\n public onHideCaptionEditorRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onHideGroupCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onHideFlatCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onHideTabCaptionEditorRequested(targetId)\r\n }\r\n }\r\n\r\n public onShowLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onShowLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n public onHideLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onHideLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n private onShowGroupCaptionEditorRequested = (_: string, text: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideGroupCaptionEditorRequested = (_: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowFlatCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideFlatCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowTabCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideTabCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: true,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: false,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onCreateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onUpdateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: { ...s[key][options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onRemoveElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: RemoveRequestOptions) => {\r\n const stateValue = this.state[key];\r\n if (!stateValue || !stateValue[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newRecordObj = Object.keys(s[key]!).reduce<IndexableElementCreationWrapperState[T]>((acc, targetId: keyof IndexableElementCreationWrapperState[T]) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = (s[key] as IndexableElementCreationWrapperState[T])[targetId];\r\n }\r\n return acc;\r\n }, {} as ElementCreationWrapperState[T]);\r\n\r\n return {\r\n ...s,\r\n [key]: newRecordObj\r\n }\r\n });\r\n }\r\n\r\n private setState = (cb: (s: ElementCreationWrapperState) => ElementCreationWrapperState) => {\r\n this.state = cb(this.state);\r\n\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\nexport default new WebGroupsStore();","import React from \"react\";\nimport { FrameLoadingAnimationProps } from \"../../types/api\";\n\nconst FrameLoadingAnimation: React.FC<FrameLoadingAnimationProps> = ({show}) => {\n return (\n show ?\n (\n <div className=\"loader-wrapper active\">\n <div className=\"loader\"></div>\n <div className=\"loader-text\">Loading...</div>\n </div>\n ) : <></>\n );\n}\n\nexport default FrameLoadingAnimation;","import React from \"react\";\r\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport GroupWrapper from \"./GroupWrapper\";\r\nimport Portal from \"./Portal\";\r\nimport { ChannelProps, GroupProps } from \"./types/api\";\r\nimport { Bounds, ElementCreationWrapperState, TargetType } from \"./types/internal\";\r\nimport { CustomButtonProps } from \"./types/defaultComponents\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\n\r\nconst GroupElementCreationWrapper: React.FC<GroupProps> = ({ components, styles }) => {\r\n\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n const LoadingAnimation = components?.frame?.LoadingAnimation ?? FrameLoadingAnimation;\r\n\r\n const renderGroupCaptionBar = () => {\r\n const GroupCaptionBarCustomElement = components?.group?.CaptionBar;\r\n if (!GroupCaptionBarCustomElement || (!state.groupCaptionBar || !state.groupCaptionBar.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupCaptionBar;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Group, options.targetId, text);\r\n }\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Group, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Group, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Group, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n\r\n return (\r\n <Portal parentElement={parentElement}>\r\n <GroupCaptionBarCustomElement {...options}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n );\r\n }\r\n\r\n const renderGroupOverlay = () => {\r\n const GroupOverlayCustomElement = components?.group?.Overlay;\r\n if (!GroupOverlayCustomElement || (!state.groupOverlay || !state.groupOverlay.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupOverlay;\r\n\r\n return <Portal parentElement={parentElement}><GroupOverlayCustomElement {...options} /></Portal>;\r\n }\r\n\r\n const renderFrameCaptionBar = () => {\r\n const FrameCaptionBarCustomElement = components?.flat?.CaptionBar;\r\n \r\n return Object.values(state.frameCaptionBars).map((fcb) => {\r\n if (!FrameCaptionBarCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Frame, options.targetId, text);\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.lock\r\n };\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.unlock\r\n };\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.downloads\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onFrameChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor,\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Frame, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Frame, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Frame, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameCaptionBarCustomElement {...options}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n channels={channels}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameWindowOverlay = () => {\r\n const FrameWindowOverlayCustomElement = components?.frame?.Overlay;\r\n return Object.values(state.frameWindowOverlays).map((fcb) => {\r\n if (!FrameWindowOverlayCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameWindowOverlayCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveWindow = () => {\r\n const AboveWindowCustomElement = components?.frame?.AboveWindow;\r\n return Object.values(state.aboveWindowZones).map((awz) => {\r\n if (!AboveWindowCustomElement || !awz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = awz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <AboveWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderWindowContentOverlays = () => {\r\n const WindowContentCustomElement = components?.frame?.WindowContentOverlay;\r\n return Object.values(state.windowContentOverlays).map((wco) => {\r\n if (!WindowContentCustomElement || !wco.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wco;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <WindowContentCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameLoadingAnimations = () => {\r\n const LoadingAnimationCustomElement = LoadingAnimation;\r\n return Object.values(state.frameLoadingAnimations).map((wla) => {\r\n if (!LoadingAnimationCustomElement || !wla.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wla;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <LoadingAnimationCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderBelowWindow = () => {\r\n const BelowWindowCustomElement = components?.frame?.BelowWindow;\r\n return Object.values(state.belowWindowZones).map((bwz) => {\r\n if (!BelowWindowCustomElement || !bwz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = bwz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <BelowWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveTabs = () => {\r\n const AboveTabsCustomElement = components?.tabs?.Above;\r\n\r\n return Object.values(state.aboveTabsZones).map((te) => {\r\n if (!AboveTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AboveTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderBeforeTabsZones = () => {\r\n const BeforeTabsCustomElement = components?.tabs?.Before;\r\n\r\n return Object.values(state.beforeTabsZones).map((te) => {\r\n if (!BeforeTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BeforeTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabElements = () => {\r\n const TabCustomElement = components?.tabs?.Element;\r\n\r\n return Object.values(state.tabElements).map((te) => {\r\n if (!TabCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n\r\n const onCloseClick = () => {\r\n webGroupsManager.closeTab(options.targetId);\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onTabChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels: ChannelProps = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor ?? options.selectedChannel, // TODO remove the null check when the variable has been added\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n };\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Tab, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Tab, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Tab, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n\r\n const addContainerClass = (className: string) => {\r\n webGroupsManager.addTabContainerClass(options.targetId, className);\r\n }\r\n\r\n const removeContainerClass = (className: string) => {\r\n webGroupsManager.removeTabContainerClass(options.targetId, className);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabCustomElement {...options}\r\n close={onCloseClick}\r\n channels={channels}\r\n windowId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged}\r\n addContainerClass={addContainerClass}\r\n removeContainerClass={removeContainerClass}\r\n />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAfterTabsZones = () => {\r\n const AfterTabsCustomElement = components?.tabs?.After;\r\n\r\n return Object.values(state.afterTabsZones).map((te) => {\r\n if (!AfterTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AfterTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabHeaderButtons = () => {\r\n const TabButtonsCustomElement = components?.tabs?.Buttons;\r\n\r\n return Object.values(state.tabHeaderButtons).map((te) => {\r\n if (!TabButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.downloads,\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderTabOverflowPopups = () => {\r\n const TabOverflowCustomElement = components?.tabs?.OverflowPopup;\r\n\r\n return Object.values(state.tabOverflowPopups).map((top) => {\r\n if (!TabOverflowCustomElement || !top.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = top;\r\n\r\n const select = (windowId: string) => {\r\n webGroupsManager.selectTab(windowId);\r\n };\r\n\r\n const resize = (bounds: Bounds) => {\r\n webGroupsManager.resizeTabOverflowPopup(options.targetId, bounds);\r\n }\r\n\r\n const close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n };\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabOverflowCustomElement {...options}\r\n resize={resize}\r\n select={select}\r\n close={close}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderBelowTabs = () => {\r\n const BelowTabsCustomElement = components?.tabs?.Below;\r\n\r\n return Object.values(state.belowTabsZones).map((te) => {\r\n if (!BelowTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BelowTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderHtmlButtons = () => {\r\n const HtmlButtonsCustomElement = components?.html?.Buttons;\r\n\r\n return Object.values(state.htmlButtons).map((te) => {\r\n if (!HtmlButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.downloads\r\n };\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><HtmlButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n return <>\r\n {renderGroupCaptionBar()}\r\n {renderGroupOverlay()}\r\n {renderFrameCaptionBar()}\r\n {renderFrameWindowOverlay()}\r\n {renderAboveWindow()}\r\n {renderWindowContentOverlays()}\r\n {renderFrameLoadingAnimations()}\r\n {renderBelowWindow()}\r\n {renderAboveTabs()}\r\n {renderBeforeTabsZones()}\r\n {renderTabElements()}\r\n {renderAfterTabsZones()}\r\n {renderTabHeaderButtons()}\r\n {renderTabOverflowPopups()}\r\n {renderBelowTabs()}\r\n {renderHtmlButtons()}\r\n <GroupWrapper\r\n onCreateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onCreateGroupCaptionBarRequested : undefined}\r\n onCreateGroupOverlayRequested={components?.group?.Overlay ? webGroupsStore.onCreateGroupOverlayRequested : undefined}\r\n onCreateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onCreateFrameCaptionBarRequested : undefined}\r\n onCreateFrameWindowOverlayRequested={components?.frame?.Overlay ? webGroupsStore.onCreateFrameWindowOverlayRequested : undefined}\r\n onCreateAboveWindowRequested={components?.frame?.AboveWindow ? webGroupsStore.onCreateAboveWindowRequested : undefined}\r\n onCreateWindowContentOverlayRequested={components?.frame?.WindowContentOverlay ? webGroupsStore.onCreateWindowContentOverlayRequested : undefined}\r\n onCreateFrameLoadingAnimationRequested={LoadingAnimation ? webGroupsStore.onCreateFrameLoadingAnimationRequested : undefined}\r\n onCreateBelowWindowRequested={components?.frame?.BelowWindow ? webGroupsStore.onCreateBelowWindowRequested : undefined}\r\n onCreateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onCreateAboveTabsComponentRequested : undefined}\r\n onCreateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onCreateBeforeTabsComponentRequested : undefined}\r\n onCreateTabRequested={components?.tabs?.Element ? webGroupsStore.onCreateTabElementRequested : undefined}\r\n onCreateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onCreateAfterTabsComponentRequested : undefined}\r\n onCreateTabHeaderButtonsRequested={components?.tabs?.Buttons ? webGroupsStore.onCreateTabHeaderButtonsRequested : undefined}\r\n onCreateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onCreateBelowTabsComponentRequested : undefined}\r\n onCreateHtmlButtonsRequested={components?.html?.Buttons ? webGroupsStore.onCreateHtmlButtonsRequested : undefined}\r\n onCreateTabOverflowPopupRequested={components?.tabs?.OverflowPopup ? webGroupsStore.onCreateTabOverflowPopupRequested : undefined}\r\n onUpdateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onUpdateGroupCaptionBarRequested : undefined}\r\n onUpdateFrameWindowOverlayRequested={components?.group?.Overlay ? webGroupsStore.onUpdateFrameWindowOverlayRequested : undefined}\r\n onUpdateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onUpdateFrameCaptionBarRequested : undefined}\r\n onUpdateFrameRequested={webGroupsStore.onUpdateFrame}\r\n onUpdateStandardButtonRequested={webGroupsStore.onUpdateStandardButton}\r\n onUpdateCustomButtonsRequested={webGroupsStore.onUpdateCustomButtons}\r\n onUpdateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onUpdateAboveTabsRequested : undefined}\r\n onUpdateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onUpdateBeforeTabsRequested : undefined}\r\n onUpdateTabRequested={components?.tabs?.Element ? webGroupsStore.onUpdateTabElementRequested : undefined}\r\n onUpdateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onUpdateAfterTabsRequested : undefined}\r\n onUpdateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onUpdateBelowTabsRequested : undefined}\r\n onRemoveFrameCaptionBarRequested={webGroupsStore.onRemoveFrameCaptionBarRequested}\r\n onRemoveFrameWindowOverlayRequested={webGroupsStore.onRemoveFrameWindowOverlayRequested}\r\n onRemoveAboveWindowRequested={webGroupsStore.onRemoveAboveWindowRequested}\r\n onRemoveWindowContentOverlayRequested={webGroupsStore.onRemoveWindowContentOverlayRequested}\r\n onRemoveFrameLoadingAnimationRequested={webGroupsStore.onRemoveFrameLoadingAnimationRequested}\r\n onRemoveBelowWindowRequested={webGroupsStore.onRemoveBelowWindowRequested}\r\n onRemoveAboveTabsRequested={webGroupsStore.onRemoveAboveTabsRequested}\r\n onRemoveBeforeTabsComponentRequested={webGroupsStore.onRemoveBeforeTabsComponentRequested}\r\n onRemoveTabRequested={webGroupsStore.onRemoveTabElementRequested}\r\n onRemoveAfterTabsComponentRequested={webGroupsStore.onRemoveAfterTabsComponentRequested}\r\n onRemoveTabHeaderButtonsRequested={webGroupsStore.onRemoveTabHeaderButtonsRequested}\r\n onRemoveBelowTabsRequested={webGroupsStore.onRemoveBelowTabsRequested}\r\n onRemoveHtmlButtonsRequested={webGroupsStore.onRemoveHtmlButtonsRequested}\r\n onRemoveTabOverflowPopupRequested={webGroupsStore.onRemoveTabOverflowPopupRequested}\r\n onShowCaptionEditorRequested={webGroupsStore.onShowCaptionEditorRequested}\r\n onCommitCaptionEditingRequested={webGroupsStore.onCommitCaptionEditingRequested}\r\n onHideCaptionEditorRequested={webGroupsStore.onHideCaptionEditorRequested}\r\n onShowLoadingAnimationRequested={webGroupsStore.onShowLoadingAnimationRequested}\r\n onHideLoadingAnimationRequested={webGroupsStore.onHideLoadingAnimationRequested}\r\n styles={styles}\r\n />\r\n </>\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { IOConnectContext } from \"@interopio/react-hooks\";\r\n\r\nfunction useIOConnectWindow (windowId: string) {\r\n const [IOConnectWindow, setIOConnectWindow] = useState<any>(undefined);\r\n\r\n const io = (window as any).io || useContext(IOConnectContext);\r\n useEffect(() => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n setIOConnectWindow(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n setIOConnectWindow(windowInCollection);\r\n unsub();\r\n }\r\n\r\n return unsub;\r\n }, [windowId]);\r\n\r\n return IOConnectWindow;\r\n}\r\n\r\nexport default useIOConnectWindow;\r\n\r\n","import { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport { GroupComponentVisibilityState } from \"./types/api\";\r\nimport { ElementCreationWrapperState } from \"./types/internal\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\n\r\nfunction useGroupComponentVisibility(): GroupComponentVisibilityState {\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n return {\r\n groupCaptionBarVisible: state.groupCaptionBar?.visible\r\n };\r\n}\r\n\r\nexport default useGroupComponentVisibility;\r\n\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitTabCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Tab, targetId, text);\r\n}\r\n\r\nexport default useCommitTabCaptionEditingRequested;","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitGroupCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Group, targetId, text);\r\n}\r\n\r\nexport default useCommitGroupCaptionEditingRequested;\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitFlatCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Frame, targetId, text);\r\n}\r\n\r\nexport default useCommitFlatCaptionEditingRequested;","import React from \"react\";\nimport { HtmlButtonsProps } from \"../../types/api\";\nimport CloseButton from \"../buttons/CloseButton\";\nimport ExtractButton from \"../buttons/ExtractButton\";\nimport FeedbackButton from \"../buttons/FeedbackButton\";\nimport CloneButton from \"../buttons/CloneButton\";\nimport LockButton from \"../buttons/LockButtons\";\nimport MaximizeButton from \"../buttons/MaximizeButton\";\nimport MinimizeButton from \"../buttons/MinimizeButton\";\nimport RestoreButton from \"../buttons/RestoreButton\";\nimport StickyButton from \"../buttons/StickyButton\";\nimport UnlockButton from \"../buttons/UnlockButton\";\nimport CustomButton from \"../buttons/CustomButton\";\nimport DownloadsButton from \"../buttons/DownloadsButton\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({\n extract,\n downloads,\n minimize,\n maximize,\n restore,\n close,\n lock,\n unlock,\n feedback,\n clone,\n sticky,\n customButtons,\n}) => {\n return (\n <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {customButtons.map((customButton) => {\n return (\n customButton.visible && (\n <CustomButton\n key={customButton.buttonId}\n {...customButton}\n />\n )\n );\n })}\n </ul>\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {feedback?.visible && <FeedbackButton {...feedback} />}\n {clone?.visible && <CloneButton {...clone} />}\n {sticky?.visible && <StickyButton {...sticky} />}\n {extract?.visible && <ExtractButton {...extract} />}\n {lock?.visible && <LockButton {...lock} />}\n {unlock?.visible && <UnlockButton {...unlock} />}\n {downloads?.visible && <DownloadsButton {...downloads} />}\n {minimize?.visible && <MinimizeButton {...minimize} />}\n {restore?.visible && <RestoreButton {...restore} />}\n {maximize?.visible && <MaximizeButton {...maximize} />}\n {close?.visible && <CloseButton {...close} />}\n </ul>\n </div>\n );\n};\n\nexport default HtmlButtons;\n\n","import React, { useEffect } from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\nimport { getElementBounds } from '../../utils';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n resize,\r\n select\r\n}) => {\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n if (!ref.current) return;\r\n if (typeof resize !== \"function\") return;\r\n const bounds = getElementBounds(ref.current);\r\n resize(bounds);\r\n }, [ref]);\r\n\r\n const createSection = (tabs: OverflowedTabInfo[], title: string) => {\r\n return (\r\n <ul>\r\n <li className=\"title\">{title}</li>\r\n {tabs.map((tab) => (\r\n <li key={tab.windowId} onClick={() => handleTabClick(tab.windowId)}>\r\n <span>{tab.title}</span>\r\n <div className=\"t42-tab-close-button-content\" onClick={(e) => {\r\n e.stopPropagation();\r\n handleTabClose(tab.windowId)\r\n }}></div>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n };\r\n\r\n const handleTabClick = (windowId: string) => {\r\n select(windowId);\r\n };\r\n\r\n const handleTabClose = (windowId: string) => {\r\n close(windowId);\r\n };\r\n\r\n return (\r\n <div ref={ref} className=\"t42-wg-tab-overflow-popup\">\r\n {hiddenTabsToTheLeft.length > 0 && createSection(hiddenTabsToTheLeft, \"Open left\")}\r\n {hiddenTabsToTheLeft.length > 0 && hiddenTabsToTheRight.length > 0 && <hr />}\r\n {hiddenTabsToTheRight.length > 0 && createSection(hiddenTabsToTheRight, \"Open right\")}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabOverflowPopup;","import{jsx as e,jsxs as t,Fragment as n}from\"react/jsx-runtime\";import*as o from\"react\";import i,{forwardRef as r,useCallback as a,createContext as s,useContext as c,useState as l,useMemo as u,useRef as d,useEffect as f,useImperativeHandle as p,useLayoutEffect as m,Fragment as h,useId as g,memo as y,Component as v}from\"react\";import*as w from\"react-dom\";import b,{createPortal as k}from\"react-dom\";import{IOConnectContext as x}from\"@interopio/react-hooks\";function S(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var C,N={exports:{}};\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/C=N,function(){var e={}.hasOwnProperty;function t(){for(var e=\"\",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=o(e,n(i)))}return e}function n(n){if(\"string\"==typeof n||\"number\"==typeof n)return n;if(\"object\"!=typeof n)return\"\";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes(\"[native code]\"))return n.toString();var i=\"\";for(var r in n)e.call(n,r)&&n[r]&&(i=o(i,r));return i}function o(e,t){return t?e?e+\" \"+t:e+t:e}C.exports?(t.default=t,C.exports=t):window.classNames=t}();var E=S(N.exports);function I({className:t,size:n=\"16\",variant:o=\"workspace\",...i}){const r=E(\"icon\",n&&[`icon-size-${n}`],t);return e(\"span\",{className:r,\"aria-label\":`icon-${o}`,role:\"presentation\",...i,children:e(\"i\",{className:`icon-${o}`})})}const P=r(({className:t,variant:n=\"default\",icon:o=\"workspace\",size:i=\"16\",tooltip:r,iconSize:s=\"16\",onClick:c,disabled:l,children:u,...d},f)=>{const p=E(\"io-btn-icon\",\"default\"!==n&&[`io-btn-icon-${n}`],[`io-btn-icon-size-${i}`],t),m=a(e=>{if(!l)return c?c(e):void 0;e.preventDefault()},[c,l]);return e(\"button\",{className:p,type:\"button\",ref:f,\"aria-label\":\"icon button\",\"aria-disabled\":l,title:r,onClick:m,disabled:l,...d,children:u??(o&&e(I,{variant:o,size:s}))})});P.displayName=\"ButtonIcon\";const A={default:void 0,info:\"info\",success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function O({className:n,variant:o=\"default\",size:i=\"normal\",text:r,close:a=!1,closeButtonOnClick:s,append:c,...l}){const u=E(\"io-alert\",`io-alert-${o}`,\"large\"===i&&\"io-alert-lg\",n),d=A[o];return t(\"div\",{\"data-testid\":\"io-alert\",className:u,role:\"alert\",\"aria-label\":\"alert\",...l,children:[d&&e(I,{\"data-testid\":\"io-alert-icon\",variant:d,className:\"icon-severity\"}),r&&e(\"p\",{\"data-testid\":\"io-alert-text\",className:\"io-text-smaller\",children:r}),\"large\"===i&&c,a&&e(P,{\"data-testid\":\"io-alert-close-button\",className:\"ms-auto\",size:\"16\",iconSize:\"10\",icon:\"close\",onClick:s})]})}function L({className:t,variant:n=\"default\",children:o,...i}){const r=E(\"io-badge\",\"default\"!==n&&[`io-badge-${n}`],t);return e(\"div\",{className:r,...i,children:o})}function D({className:t,tag:n=\"h2\",size:o=\"normal\",text:i=\"Title\",...r}){const a=n,s=E(\"small\"===o&&\"io-title-semibold\",\"normal\"===o&&\"io-title\",\"large\"===o&&\"io-title-large\",t);return e(a,{className:s,...r,children:i})}function T({className:n,title:o,titleSize:i=\"normal\",tag:r,hint:a,children:s,...c}){const l=E(\"io-block\",n),u=o?\"block-title\":void 0;return t(\"section\",{className:l,\"aria-label\":o?void 0:\"Block\",\"aria-labelledby\":u,...c,children:[o&&e(D,{id:u,tag:r,text:o,size:i}),s,a&&e(\"p\",{className:\"io-text-smaller\",children:a})]})}const R=e=>\"Enter\"===e.key||\" \"===e.key,B=(e,t)=>void 0===e?{}:{tabIndex:0,onClick:e,onKeyDown:n=>{R(n)&&(n.preventDefault(),e?.(n)),t?.(n)}},M=({event:e,currentIndex:t,moveFocus:n,min:o,max:i,onClose:r})=>{switch(e.key){case\"ArrowUp\":n(Math.max(t-1,o));break;case\"ArrowDown\":n(Math.min(t+1,i));break;case\"Home\":n(o);break;case\"End\":n(i);break;case\"Escape\":if(r){r();break}return;default:return}e.stopPropagation(),e.preventDefault()};var F=Object.freeze({__proto__:null,isClickKeypress:R,keyboardNavigation:M,onClickA11y:B});const $=r(({className:n,variant:o=\"default\",size:i=\"normal\",icon:r,iconSize:s=\"12\",iconRight:c=!1,text:l,onClick:u,disabled:d,children:f,...p},m)=>{const h=E(\"io-btn\",(\"primary\"===o||\"critical\"===o||\"outline\"===o||\"link\"===o)&&[`io-btn-${o}`],\"large\"===i&&\"io-btn-lg\",n),g=a(e=>{if(!d)return u?u(e):void 0;e.preventDefault()},[u,d]),y=a(e=>{d||R(e)&&(e.preventDefault(),g(e))},[g,d]);return t(\"button\",{className:h,ref:m,type:\"button\",\"aria-disabled\":d,onClick:g,onKeyDown:y,disabled:d,tabIndex:0,...p,children:[r&&!c&&e(I,{variant:r,size:s}),f??l,r&&c&&e(I,{variant:r,size:s})]})});$.displayName=\"Button\";const _=s({}),j=r(({icon:t=\"chevron-down\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:l,setTriggerRef:u}=c(_),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),p=a(e=>{o?.(e),e.defaultPrevented||R(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e($,{icon:t,iconRight:!0,onClick:f,onKeyDown:p,disabled:l,ref:d,...i})});j.displayName=\"DropdownButton\";const z=r(({size:t=\"32\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:l,setTriggerRef:u}=c(_),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),p=a(e=>{o?.(e),e.defaultPrevented||R(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(P,{size:t,onClick:f,onKeyDown:p,disabled:l,ref:d,...i})});function H({className:t,...n}){const o=E(\"io-dropdown-content\",t);return e(\"div\",{className:o,...n})}z.displayName=\"DropdownButtonIcon\";const W=s({}),V=r((n,o)=>{const{className:i,prepend:r,append:a,isSelected:s,onClick:l,description:u,disabled:d=!1,children:f,tooltip:p,...m}=n,{variant:h=\"default\",selected:g,checkIcon:y,handleItemClick:v}=c(W),w=s??g?.some(e=>e.children===f),b=\"default\"!==h&&!!y,k=b||r,x=E(\"io-list-item\",k&&\"io-list-item-left\",a&&\"io-list-item-right\",\"default\"!==h&&w&&\"selected\",u&&\"io-list-item-description\",d&&\"io-list-item-disabled\",i);return t(\"li\",{className:x,ref:o,role:\"menuitem\",\"aria-roledescription\":\"menuitem\",tabIndex:0,onClick:e=>{d?e.preventDefault():(v?.(e,{children:f}),l?.(e))},...m,children:[k&&t(\"div\",{className:\"io-list-left-column\",children:[b&&e(I,{variant:y.variant,title:w?y.tooltip:void 0,\"data-testid\":\"list-item-check-icon\"}),r]}),e(\"span\",{className:\"io-list-text\",title:p,\"data-testid\":\"list-item-title\",children:f}),a&&e(\"div\",{className:\"io-list-right-column\",children:a}),u&&e(\"div\",{className:\"io-list-text-description\",children:u})]})});V.displayName=\"ListItem\";const U=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},c)=>{const l=E(\"io-list-item-header\",n);return t(\"div\",{className:l,ref:c,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});U.displayName=\"ListItemHeader\";const K=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},c)=>{const l=E(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-title\",n);return t(\"li\",{className:l,ref:c,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,\"data-testid\":\"list-item-title\",children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});K.displayName=\"ListItemTitle\";const G=r(({className:t,children:n,...o},i)=>{const r=E(\"io-list-item\",\"io-list-with-sub-items\",t);return e(\"li\",{className:r,ref:i,...o,children:n})});G.displayName=\"ListItemWithSubItems\";const q=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},c)=>{const l=E(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-section\",n);return t(\"li\",{className:l,ref:c,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});function J({className:t,...n}){const o=E(\"io-separator\",t);return e(\"hr\",{className:o,...n})}q.displayName=\"ListItemSection\";const Y=t=>e(J,{...t});Y.displayName=\"ListItemSeparator\";const X=r((t,n)=>{const{className:o,variant:i=\"default\",checkIcon:r,children:s,...c}=t,[d,f]=l([]),p=E(\"io-list\",\"default\"!==i&&\"io-list-selectable\",o),m=u(()=>{if(r)return\"object\"==typeof r?r:{variant:r}},[r]),h=a((e,t)=>{if(\"default\"===i)return;const n=d.some(e=>e.children?.toString()===t.children?.toString());\"single\"===i?f([t]):(()=>{const e=n?d.filter(e=>e.children!==t.children):[...d,t];f(e)})()},[d,i]),g=u(()=>({variant:i,selected:d,checkIcon:m,handleItemClick:h}),[i,d,m,h]);return e(W.Provider,{value:g,children:e(\"ul\",{className:p,ref:n,...c,children:s})})});X.displayName=\"List\";const Q=X;Q.Item=V,Q.ItemTitle=K,Q.ItemSection=q,Q.ItemHeader=U,Q.ItemWithSubItems=G,Q.ItemSeparator=Y;const Z=r((t,n)=>e(Q,{...t,ref:n}));Z.displayName=\"DropdownList\";const ee=r((t,n)=>{const{handleClose:o}=c(_),{onClick:i,onKeyDown:r,...s}=t,l=d(null),u=a(e=>{l.current=e,\"function\"==typeof n?n(e):n&&(n.current=e)},[n]);return e(V,{...s,ref:u,onClick:e=>{i?.(e),o?.()},onKeyDown:e=>{if(r?.(e),e.defaultPrevented||!R(e))return;e.preventDefault(),e.stopPropagation();const t=(\"function\"==typeof n?null:n?.current)||l.current;t?.click()}})});ee.displayName=\"DropdownItem\";const te=r((t,n)=>e(K,{...t,ref:n}));te.displayName=\"DropdownItemTitle\";const ne=r((t,n)=>e(q,{...t,ref:n}));ne.displayName=\"DropdownItemSection\";const oe=r((t,n)=>e(J,{...t}));oe.displayName=\"DropdownSeparator\";function ie(e,t,n){const o=a(n=>{const o=t.some(e=>n.key===e);o&&(n.preventDefault(),e())},[e,t]);f(()=>{const e=n?.current||document;return e.addEventListener(\"keydown\",o),()=>{e.removeEventListener(\"keydown\",o)}},[o,n])}const re=r(({className:t,variant:n=\"outline\",align:o=\"down\",disabled:i,isOpen:r,onOpenChange:s,children:c,...m},h)=>{const g=d(null),y=d(null);p(h,()=>y.current,[]);const{isOpen:v,handleOpen:w,handleClose:b}=((e,t)=>{const[n,o]=l(!1),i=void 0!==e,r=i?e:n,s=a(e=>{i||o(e),t?.(e)},[i,t]),c=a(()=>s(!0),[s]),u=a(()=>s(!1),[s]);return{isOpen:r,setOpen:s,handleOpen:c,handleClose:u}})(r,s);((e,t,n=!0)=>{f(()=>{if(!n)return;const o=n=>{const o=n.target;o&&e.current&&!e.current.contains(o)&&(n.composedPath&&n.composedPath().some(t=>t===e.current||e.current&&t.nodeType===Node.ELEMENT_NODE&&e.current.contains(t))||t())},i=requestAnimationFrame(()=>{document.addEventListener(\"mousedown\",o,!0)});return()=>{cancelAnimationFrame(i),document.removeEventListener(\"mousedown\",o,!0)}},[e,t,n])})(y,b,v),ie(()=>{v&&b()},[\"Escape\"],y),ie(()=>{v||i||g.current!==document.activeElement||w()},[\"ArrowDown\",\"ArrowUp\"],y);const k=u(()=>({variant:n,align:o,disabled:i,isOpen:v,handleOpen:w,handleClose:b,handleToggle:v?b:w,setTriggerRef:e=>g.current=e}),[n,o,i,v,w,b]),x=E(\"io-dropdown\",v&&\"io-dropdown-open\",\"default\"!==n&&`io-dropdown-${n}`,t);return e(_.Provider,{value:k,children:e(\"div\",{className:x,ref:y,...m,children:c})})});function ae({className:t,variant:n=\"default\",align:o=\"left\",children:i,...r}){const a=E(\"io-btn-group\",\"default\"!==n&&`io-btn-group-${n}`,\"right\"===o&&\"io-btn-group-right\",t);return e(\"div\",{className:a,\"data-testid\":\"button-group\",...r,children:i})}function se({className:t,draggable:n=!1,children:o,...i}){const r=E(\"io-header\",n&&[\"draggable\"],t);return e(\"header\",{className:r,...i,children:o})}function ce({className:t,children:n,...o}){const i=E(\"io-dialog-header\",t);return e(se,{\"data-testid\":\"io-dialog-header\",className:i,...o,children:n})}function le({className:t,children:n,...o}){const i=E(\"io-dialog-body\",t);return e(\"div\",{\"data-testid\":\"io-dialog-body\",className:i,...o,children:n})}function ue({className:t,children:n,...o}){const i=E(\"io-footer\",t);return e(\"footer\",{className:i,...o,children:n})}function de({className:t,...n}){const o=E(\"io-dialog-footer\",t);return e(ue,{\"data-testid\":\"io-dialog-footer\",className:o,...n})}function fe({className:n,variant:o=\"default\",title:i=\"Dialog Title\",isOpen:r=!1,draggable:a=!1,closeFn:s,children:c,...l}){const u=d(null),f=E(\"io-dialog\",\"centered\"===o&&\"io-dialog-center\",n);return m(()=>{const e=u?.current;e&&(r?e.showModal():\"function\"==typeof e.close&&e.close())},[r]),t(\"dialog\",{\"data-testid\":\"io-dialog\",className:f,ref:u,\"data-modal\":!0,onClose:()=>{r&&s&&s()},onClick:e=>{r&&s&&\"DIALOG\"===e.target.nodeName&&s()},onKeyDown:e=>{const t=e.target instanceof HTMLDialogElement&&\"DIALOG\"===e.target.nodeName;r&&s&&\" \"===e.key&&t&&s()},...l,children:[t(ce,{draggable:a,children:[e(\"h3\",{\"data-testid\":\"io-dialog-title\",children:i}),e(ae,{children:e(P,{className:\"non-draggable\",\"data-testid\":\"io-dialog-close-button\",size:\"24\",icon:\"close\",iconSize:\"12\",onClick:s,tabIndex:-1})})]}),c]})}function pe(){return\"undefined\"!=typeof window}function me(e){return ye(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function he(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ge(e){var t;return null==(t=(ye(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ye(e){return!!pe()&&(e instanceof Node||e instanceof he(e).Node)}function ve(e){return!!pe()&&(e instanceof Element||e instanceof he(e).Element)}function we(e){return!!pe()&&(e instanceof HTMLElement||e instanceof he(e).HTMLElement)}function be(e){return!(!pe()||\"undefined\"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof he(e).ShadowRoot)}re.Button=j,re.ButtonIcon=z,re.Content=H,re.List=Z,re.Item=ee,re.ItemTitle=te,re.ItemSection=ne,re.Separator=oe,ae.Button=$,ae.ButtonIcon=P,ae.Dropdown=re,se.Title=D,se.ButtonGroup=ae,se.Button=$,se.ButtonIcon=P,se.Dropdown=re,ce.Title=D,ce.ButtonGroup=ae,ce.Button=$,ce.ButtonIcon=P,ce.Dropdown=re,le.Content=function({className:t,children:n,...o}){const i=E(\"io-dialog-content\",t);return e(\"div\",{className:i,...o,children:n})},ue.ButtonGroup=ae,ue.Button=$,ue.ButtonIcon=P,ue.Dropdown=re,de.ButtonGroup=ae,de.Button=$,de.ButtonIcon=P,de.Dropdown=re,fe.Header=ce,fe.Body=le,fe.Footer=de;const ke=new Set([\"inline\",\"contents\"]);function xe(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Re(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!ke.has(i)}const Se=new Set([\"table\",\"td\",\"th\"]);function Ce(e){return Se.has(me(e))}const Ne=[\":popover-open\",\":modal\"];function Ee(e){return Ne.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const Ie=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\"],Pe=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\",\"filter\"],Ae=[\"paint\",\"layout\",\"strict\",\"content\"];function Oe(e){const t=Le(),n=ve(e)?Re(e):e;return Ie.some(e=>!!n[e]&&\"none\"!==n[e])||!!n.containerType&&\"normal\"!==n.containerType||!t&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!t&&!!n.filter&&\"none\"!==n.filter||Pe.some(e=>(n.willChange||\"\").includes(e))||Ae.some(e=>(n.contain||\"\").includes(e))}function Le(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}const De=new Set([\"html\",\"body\",\"#document\"]);function Te(e){return De.has(me(e))}function Re(e){return he(e).getComputedStyle(e)}function Be(e){return ve(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Me(e){if(\"html\"===me(e))return e;const t=e.assignedSlot||e.parentNode||be(e)&&e.host||ge(e);return be(t)?t.host:t}function Fe(e){const t=Me(e);return Te(t)?e.ownerDocument?e.ownerDocument.body:e.body:we(t)&&xe(t)?t:Fe(t)}function $e(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=Fe(e),r=i===(null==(o=e.ownerDocument)?void 0:o.body),a=he(i);if(r){const e=_e(a);return t.concat(a,a.visualViewport||[],xe(i)?i:[],e&&n?$e(e):[])}return t.concat(i,$e(i,[],n))}function _e(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function je(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function ze(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&be(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function He(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function We(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+\"/\"+n}).join(\" \"):navigator.userAgent}function Ve(e){return!(0!==e.mozInputSource||!e.isTrusted)||(Ge()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function Ue(e){return!We().includes(\"jsdom/\")&&(!Ge()&&0===e.width&&0===e.height||Ge()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function Ke(){return/apple/i.test(navigator.vendor)}function Ge(){const e=/android/i;return e.test(He())||e.test(We())}function qe(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function Je(e){return(null==e?void 0:e.ownerDocument)||document}function Ye(e,t){if(null==t)return!1;if(\"composedPath\"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function Xe(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}function Qe(e){return we(e)&&e.matches(\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\")}function Ze(e){e.preventDefault(),e.stopPropagation()}function et(e){return!!e&&(\"combobox\"===e.getAttribute(\"role\")&&Qe(e))}const tt=Math.min,nt=Math.max,ot=Math.round,it=Math.floor,rt=e=>({x:e,y:e}),at={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},st={start:\"end\",end:\"start\"};function ct(e,t,n){return nt(e,tt(t,n))}function lt(e,t){return\"function\"==typeof e?e(t):e}function ut(e){return e.split(\"-\")[0]}function dt(e){return e.split(\"-\")[1]}function ft(e){return\"x\"===e?\"y\":\"x\"}function pt(e){return\"y\"===e?\"height\":\"width\"}const mt=new Set([\"top\",\"bottom\"]);function ht(e){return mt.has(ut(e))?\"y\":\"x\"}function gt(e){return ft(ht(e))}function yt(e){return e.replace(/start|end/g,e=>st[e])}const vt=[\"left\",\"right\"],wt=[\"right\",\"left\"],bt=[\"top\",\"bottom\"],kt=[\"bottom\",\"top\"];function xt(e,t,n,o){const i=dt(e);let r=function(e,t,n){switch(e){case\"top\":case\"bottom\":return n?t?wt:vt:t?vt:wt;case\"left\":case\"right\":return t?bt:kt;default:return[]}}(ut(e),\"start\"===n,o);return i&&(r=r.map(e=>e+\"-\"+i),t&&(r=r.concat(r.map(yt)))),r}function St(e){return e.replace(/left|right|bottom|top/g,e=>at[e])}function Ct(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}\n/*!\n* tabbable 6.4.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/var Nt=[\"input:not([inert]):not([inert] *)\",\"select:not([inert]):not([inert] *)\",\"textarea:not([inert]):not([inert] *)\",\"a[href]:not([inert]):not([inert] *)\",\"button:not([inert]):not([inert] *)\",\"[tabindex]:not(slot):not([inert]):not([inert] *)\",\"audio[controls]:not([inert]):not([inert] *)\",\"video[controls]:not([inert]):not([inert] *)\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert]):not([inert] *)',\"details>summary:first-of-type:not([inert]):not([inert] *)\",\"details:not([inert]):not([inert] *)\"].join(\",\"),Et=\"undefined\"==typeof Element,It=Et?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Pt=!Et&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},At=function(e,t){var n;void 0===t&&(t=!0);var o=null==e||null===(n=e.getAttribute)||void 0===n?void 0:n.call(e,\"inert\");return\"\"===o||\"true\"===o||t&&e&&(\"function\"==typeof e.closest?e.closest(\"[inert]\"):At(e.parentNode))},Ot=function(e,t,n){for(var o=[],i=Array.from(e);i.length;){var r=i.shift();if(!At(r,!1))if(\"SLOT\"===r.tagName){var a=r.assignedElements(),s=a.length?a:r.children,c=Ot(s,!0,n);n.flatten?o.push.apply(o,c):o.push({scopeParent:r,candidates:c})}else{It.call(r,Nt)&&n.filter(r)&&(t||!e.includes(r))&&o.push(r);var l=r.shadowRoot||\"function\"==typeof n.getShadowRoot&&n.getShadowRoot(r),u=!At(l,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(r));if(l&&u){var d=Ot(!0===l?r.children:l.children,!0,n);n.flatten?o.push.apply(o,d):o.push({scopeParent:r,candidates:d})}else i.unshift.apply(i,r.children)}}return o},Lt=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},Dt=function(e){if(!e)throw new Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,\"contenteditable\");return\"\"===n||\"true\"===n}(e))&&!Lt(e)?0:e.tabIndex},Tt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Rt=function(e){return\"INPUT\"===e.tagName},Bt=function(e){return function(e){return Rt(e)&&\"radio\"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||Pt(e),o=function(e){return n.querySelectorAll('input[type=\"radio\"][name=\"'+e+'\"]')};if(\"undefined\"!=typeof window&&void 0!==window.CSS&&\"function\"==typeof window.CSS.escape)t=o(window.CSS.escape(e.name));else try{t=o(e.name)}catch(e){return console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\",e.message),!1}var i=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]}(t,e.form);return!i||i===e}(e)},Mt=function(e){var t=e.getBoundingClientRect(),n=t.width,o=t.height;return 0===n&&0===o},Ft=function(e,t){var n=t.displayCheck,o=t.getShadowRoot;if(\"full-native\"===n&&\"checkVisibility\"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if(\"hidden\"===getComputedStyle(e).visibility)return!0;var i=It.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(It.call(i,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==n&&\"full-native\"!==n&&\"legacy-full\"!==n){if(\"non-zero-area\"===n)return Mt(e)}else{if(\"function\"==typeof o){for(var r=e;e;){var a=e.parentElement,s=Pt(e);if(a&&!a.shadowRoot&&!0===o(a))return Mt(e);e=e.assignedSlot?e.assignedSlot:a||s===e.ownerDocument?a:s.host}e=r}if(function(e){var t,n,o,i,r=e&&Pt(e),a=null===(t=r)||void 0===t?void 0:t.host,s=!1;if(r&&r!==e)for(s=!!(null!==(n=a)&&void 0!==n&&null!==(o=n.ownerDocument)&&void 0!==o&&o.contains(a)||null!=e&&null!==(i=e.ownerDocument)&&void 0!==i&&i.contains(e));!s&&a;){var c,l,u;s=!(null===(l=a=null===(c=r=Pt(a))||void 0===c?void 0:c.host)||void 0===l||null===(u=l.ownerDocument)||void 0===u||!u.contains(a))}return s}(e))return!e.getClientRects().length;if(\"legacy-full\"!==n)return!0}return!1},$t=function(e,t){return!(t.disabled||function(e){return Rt(e)&&\"hidden\"===e.type}(t)||Ft(t,e)||function(e){return\"DETAILS\"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return\"SUMMARY\"===e.tagName})}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(\"FIELDSET\"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var o=t.children.item(n);if(\"LEGEND\"===o.tagName)return!!It.call(t,\"fieldset[disabled] *\")||!o.contains(e)}return!0}t=t.parentElement}return!1}(t))},_t=function(e,t){return!(Bt(t)||Dt(t)<0||!$t(e,t))},jt=function(e){var t=parseInt(e.getAttribute(\"tabindex\"),10);return!!(isNaN(t)||t>=0)},zt=function(e){var t=[],n=[];return e.forEach(function(e,o){var i=!!e.scopeParent,r=i?e.scopeParent:e,a=function(e,t){var n=Dt(e);return n<0&&t&&!Lt(e)?0:n}(r,i),s=i?zt(e.candidates):r;0===a?i?t.push.apply(t,s):t.push(r):n.push({documentOrder:o,tabIndex:a,item:e,isScope:i,content:s})}),n.sort(Tt).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},Ht=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Ot([e],t.includeContainer,{filter:_t.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:jt}):function(e,t,n){if(At(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(Nt));return t&&It.call(e,Nt)&&o.unshift(e),o.filter(n)}(e,t.includeContainer,_t.bind(null,t)),zt(n)};function Wt(e,t,n){let{reference:o,floating:i}=e;const r=ht(t),a=gt(t),s=pt(a),c=ut(t),l=\"y\"===r,u=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[s]/2-i[s]/2;let p;switch(c){case\"top\":p={x:u,y:o.y-i.height};break;case\"bottom\":p={x:u,y:o.y+o.height};break;case\"right\":p={x:o.x+o.width,y:d};break;case\"left\":p={x:o.x-i.width,y:d};break;default:p={x:o.x,y:o.y}}switch(dt(t)){case\"start\":p[a]-=f*(n&&l?-1:1);break;case\"end\":p[a]+=f*(n&&l?-1:1)}return p}async function Vt(e,t){var n;void 0===t&&(t={});const{x:o,y:i,platform:r,rects:a,elements:s,strategy:c}=e,{boundary:l=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:d=\"floating\",altBoundary:f=!1,padding:p=0}=lt(t,e),m=function(e){return\"number\"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}(p),h=s[f?\"floating\"===d?\"reference\":\"floating\":d],g=Ct(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(h)))||n?h:h.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:l,rootBoundary:u,strategy:c})),y=\"floating\"===d?{x:o,y:i,width:a.floating.width,height:a.floating.height}:a.reference,v=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),w=await(null==r.isElement?void 0:r.isElement(v))&&await(null==r.getScale?void 0:r.getScale(v))||{x:1,y:1},b=Ct(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:y,offsetParent:v,strategy:c}):y);return{top:(g.top-b.top+m.top)/w.y,bottom:(b.bottom-g.bottom+m.bottom)/w.y,left:(g.left-b.left+m.left)/w.x,right:(b.right-g.right+m.right)/w.x}}const Ut=new Set([\"left\",\"top\"]);function Kt(e){const t=Re(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=we(e),r=i?e.offsetWidth:n,a=i?e.offsetHeight:o,s=ot(n)!==r||ot(o)!==a;return s&&(n=r,o=a),{width:n,height:o,$:s}}function Gt(e){return ve(e)?e:e.contextElement}function qt(e){const t=Gt(e);if(!we(t))return rt(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:r}=Kt(t);let a=(r?ot(n.width):n.width)/o,s=(r?ot(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const Jt=rt(0);function Yt(e){const t=he(e);return Le()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Jt}function Xt(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),r=Gt(e);let a=rt(1);t&&(o?ve(o)&&(a=qt(o)):a=qt(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==he(e))&&t}(r,n,o)?Yt(r):rt(0);let c=(i.left+s.x)/a.x,l=(i.top+s.y)/a.y,u=i.width/a.x,d=i.height/a.y;if(r){const e=he(r),t=o&&ve(o)?he(o):o;let n=e,i=_e(n);for(;i&&o&&t!==n;){const e=qt(i),t=i.getBoundingClientRect(),o=Re(i),r=t.left+(i.clientLeft+parseFloat(o.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(o.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=r,l+=a,n=he(i),i=_e(n)}}return Ct({width:u,height:d,x:c,y:l})}function Qt(e,t){const n=Be(e).scrollLeft;return t?t.left+n:Xt(ge(e)).left+n}function Zt(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Qt(e,n),y:n.top+t.scrollTop}}const en=new Set([\"absolute\",\"fixed\"]);function tn(e,t,n){let o;if(\"viewport\"===t)o=function(e,t){const n=he(e),o=ge(e),i=n.visualViewport;let r=o.clientWidth,a=o.clientHeight,s=0,c=0;if(i){r=i.width,a=i.height;const e=Le();(!e||e&&\"fixed\"===t)&&(s=i.offsetLeft,c=i.offsetTop)}const l=Qt(o);if(l<=0){const e=o.ownerDocument,t=e.body,n=getComputedStyle(t),i=\"CSS1Compat\"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(o.clientWidth-t.clientWidth-i);a<=25&&(r-=a)}else l<=25&&(r+=l);return{width:r,height:a,x:s,y:c}}(e,n);else if(\"document\"===t)o=function(e){const t=ge(e),n=Be(e),o=e.ownerDocument.body,i=nt(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=nt(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+Qt(e);const s=-n.scrollTop;return\"rtl\"===Re(o).direction&&(a+=nt(t.clientWidth,o.clientWidth)-i),{width:i,height:r,x:a,y:s}}(ge(e));else if(ve(t))o=function(e,t){const n=Xt(e,!0,\"fixed\"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,r=we(e)?qt(e):rt(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:i*r.x,y:o*r.y}}(t,n);else{const n=Yt(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ct(o)}function nn(e,t){const n=Me(e);return!(n===t||!ve(n)||Te(n))&&(\"fixed\"===Re(n).position||nn(n,t))}function on(e,t,n){const o=we(t),i=ge(t),r=\"fixed\"===n,a=Xt(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const c=rt(0);function l(){c.x=Qt(i)}if(o||!o&&!r)if((\"body\"!==me(t)||xe(i))&&(s=Be(t)),o){const e=Xt(t,!0,r,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();r&&!o&&i&&l();const u=!i||o||r?rt(0):Zt(i,s);return{x:a.left+s.scrollLeft-c.x-u.x,y:a.top+s.scrollTop-c.y-u.y,width:a.width,height:a.height}}function rn(e){return\"static\"===Re(e).position}function an(e,t){if(!we(e)||\"fixed\"===Re(e).position)return null;if(t)return t(e);let n=e.offsetParent;return ge(e)===n&&(n=n.ownerDocument.body),n}function sn(e,t){const n=he(e);if(Ee(e))return n;if(!we(e)){let t=Me(e);for(;t&&!Te(t);){if(ve(t)&&!rn(t))return t;t=Me(t)}return n}let o=an(e,t);for(;o&&Ce(o)&&rn(o);)o=an(o,t);return o&&Te(o)&&rn(o)&&!Oe(o)?n:o||function(e){let t=Me(e);for(;we(t)&&!Te(t);){if(Oe(t))return t;if(Ee(t))return null;t=Me(t)}return null}(e)||n}const cn={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const r=\"fixed\"===i,a=ge(o),s=!!t&&Ee(t.floating);if(o===a||s&&r)return n;let c={scrollLeft:0,scrollTop:0},l=rt(1);const u=rt(0),d=we(o);if((d||!d&&!r)&&((\"body\"!==me(o)||xe(a))&&(c=Be(o)),we(o))){const e=Xt(o);l=qt(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const f=!a||d||r?rt(0):Zt(a,c);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}},getDocumentElement:ge,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[...\"clippingAncestors\"===n?Ee(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let o=$e(e,[],!1).filter(e=>ve(e)&&\"body\"!==me(e)),i=null;const r=\"fixed\"===Re(e).position;let a=r?Me(e):e;for(;ve(a)&&!Te(a);){const t=Re(a),n=Oe(a);n||\"fixed\"!==t.position||(i=null),(r?!n&&!i:!n&&\"static\"===t.position&&i&&en.has(i.position)||xe(a)&&!n&&nn(e,a))?o=o.filter(e=>e!==a):i=t,a=Me(a)}return t.set(e,o),o}(t,this._c):[].concat(n),o],a=r[0],s=r.reduce((e,n)=>{const o=tn(t,n,i);return e.top=nt(o.top,e.top),e.right=tt(o.right,e.right),e.bottom=tt(o.bottom,e.bottom),e.left=nt(o.left,e.left),e},tn(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:sn,getElementRects:async function(e){const t=this.getOffsetParent||sn,n=this.getDimensions,o=await n(e.floating);return{reference:on(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Kt(e);return{width:t,height:n}},getScale:qt,isElement:ve,isRTL:function(e){return\"rtl\"===Re(e).direction}};function ln(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function un(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:a=\"function\"==typeof ResizeObserver,layoutShift:s=\"function\"==typeof IntersectionObserver,animationFrame:c=!1}=o,l=Gt(e),u=i||r?[...l?$e(l):[],...$e(t)]:[];u.forEach(e=>{i&&e.addEventListener(\"scroll\",n,{passive:!0}),r&&e.addEventListener(\"resize\",n)});const d=l&&s?function(e,t){let n,o=null;const i=ge(e);function r(){var e;clearTimeout(n),null==(e=o)||e.disconnect(),o=null}return function a(s,c){void 0===s&&(s=!1),void 0===c&&(c=1),r();const l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;const m={rootMargin:-it(d)+\"px \"+-it(i.clientWidth-(u+f))+\"px \"+-it(i.clientHeight-(d+p))+\"px \"+-it(u)+\"px\",threshold:nt(0,tt(1,c))||1};let h=!0;function g(t){const o=t[0].intersectionRatio;if(o!==c){if(!h)return a();o?a(!1,o):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==o||ln(l,e.getBoundingClientRect())||a(),h=!1}try{o=new IntersectionObserver(g,{...m,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(g,m)}o.observe(e)}(!0),r}(l,n):null;let f,p=-1,m=null;a&&(m=new ResizeObserver(e=>{let[o]=e;o&&o.target===l&&m&&(m.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),n()}),l&&!c&&m.observe(l),m.observe(t));let h=c?Xt(e):null;return c&&function t(){const o=Xt(e);h&&!ln(h,o)&&n();h=o,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(\"scroll\",n),r&&e.removeEventListener(\"resize\",n)}),null==d||d(),null==(e=m)||e.disconnect(),m=null,c&&cancelAnimationFrame(f)}}const dn=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(t){var n,o;const{x:i,y:r,placement:a,middlewareData:s}=t,c=await async function(e,t){const{placement:n,platform:o,elements:i}=e,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),a=ut(n),s=dt(n),c=\"y\"===ht(n),l=Ut.has(a)?-1:1,u=r&&c?-1:1,d=lt(t,e);let{mainAxis:f,crossAxis:p,alignmentAxis:m}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&\"number\"==typeof m&&(p=\"end\"===s?-1*m:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(o=s.arrow)&&o.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:a}}}}},fn=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:o,placement:i,platform:r}=t,{mainAxis:a=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=lt(e,t),u={x:n,y:o},d=await r.detectOverflow(t,l),f=ht(ut(i)),p=ft(f);let m=u[p],h=u[f];if(a){const e=\"y\"===p?\"bottom\":\"right\";m=ct(m+d[\"y\"===p?\"top\":\"left\"],m,m-d[e])}if(s){const e=\"y\"===f?\"bottom\":\"right\";h=ct(h+d[\"y\"===f?\"top\":\"left\"],h,h-d[e])}const g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-o,enabled:{[p]:a,[f]:s}}}}}},pn=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(t){var n,o;const{placement:i,middlewareData:r,rects:a,initialPlacement:s,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:p=\"bestFit\",fallbackAxisSideDirection:m=\"none\",flipAlignment:h=!0,...g}=lt(e,t);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const y=ut(i),v=ht(s),w=ut(s)===s,b=await(null==c.isRTL?void 0:c.isRTL(l.floating)),k=f||(w||!h?[St(s)]:function(e){const t=St(e);return[yt(e),t,yt(t)]}(s)),x=\"none\"!==m;!f&&x&&k.push(...xt(s,h,m,b));const S=[s,...k],C=await c.detectOverflow(t,g),N=[];let E=(null==(o=r.flip)?void 0:o.overflows)||[];if(u&&N.push(C[y]),d){const e=function(e,t,n){void 0===n&&(n=!1);const o=dt(e),i=gt(e),r=pt(i);let a=\"x\"===i?o===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===o?\"bottom\":\"top\";return t.reference[r]>t.floating[r]&&(a=St(a)),[a,St(a)]}(i,a,b);N.push(C[e[0]],C[e[1]])}if(E=[...E,{placement:i,overflows:N}],!N.every(e=>e<=0)){var I,P;const e=((null==(I=r.flip)?void 0:I.index)||0)+1,t=S[e];if(t){if(!(\"alignment\"===d&&v!==ht(t))||E.every(e=>ht(e.placement)!==v||e.overflows[0]>0))return{data:{index:e,overflows:E},reset:{placement:t}}}let n=null==(P=E.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:P.placement;if(!n)switch(p){case\"bestFit\":{var A;const e=null==(A=E.filter(e=>{if(x){const t=ht(e.placement);return t===v||\"y\"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:A[0];e&&(n=e);break}case\"initialPlacement\":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},mn=(e,t,n)=>{const o=new Map,i={platform:cn,...n},r={...i.platform,_c:o};return(async(e,t,n)=>{const{placement:o=\"bottom\",strategy:i=\"absolute\",middleware:r=[],platform:a}=n,s=r.filter(Boolean),c=await(null==a.isRTL?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Wt(l,o,c),f=o,p={},m=0;for(let n=0;n<s.length;n++){var h;const{name:r,fn:g}=s[n],{x:y,y:v,data:w,reset:b}=await g({x:u,y:d,initialPlacement:o,placement:f,strategy:i,middlewareData:p,rects:l,platform:{...a,detectOverflow:null!=(h=a.detectOverflow)?h:Vt},elements:{reference:e,floating:t}});u=null!=y?y:u,d=null!=v?v:d,p={...p,[r]:{...p[r],...w}},b&&m<=50&&(m++,\"object\"==typeof b&&(b.placement&&(f=b.placement),b.rects&&(l=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):b.rects),({x:u,y:d}=Wt(l,f,c))),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:p}})(e,t,{...i,platform:r})};var hn=\"undefined\"!=typeof document?m:function(){};function gn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\"function\"==typeof e&&e.toString()===t.toString())return!0;let n,o,i;if(e&&t&&\"object\"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;0!==o--;)if(!gn(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(o=n;0!==o--;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=n;0!==o--;){const n=i[o];if((\"_owner\"!==n||!e.$$typeof)&&!gn(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function yn(e){if(\"undefined\"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vn(e,t){const n=yn(e);return Math.round(t*n)/n}function wn(e){const t=o.useRef(e);return hn(()=>{t.current=e}),t}const bn=(e,t)=>({...fn(e),options:[e,t]}),kn=(e,t)=>({...pn(e),options:[e,t]});function xn(e){return o.useMemo(()=>e.every(e=>null==e)?null:t=>{e.forEach(e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)})},e)}const Sn={...o},Cn=Sn.useInsertionEffect||(e=>e());function Nn(e){const t=o.useRef(()=>{if(\"production\"!==process.env.NODE_ENV)throw new Error(\"Cannot call an event handler while rendering.\")});return Cn(()=>{t.current=e}),o.useCallback(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return null==t.current?void 0:t.current(...n)},[])}const En=\"ArrowUp\",In=\"ArrowDown\",Pn=\"ArrowLeft\",An=\"ArrowRight\";function On(e,t,n){return Math.floor(e/t)!==n}function Ln(e,t){return t<0||t>=e.current.length}function Dn(e,t){return Rn(e,{disabledIndices:t})}function Tn(e,t){return Rn(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function Rn(e,t){let{startingIndex:n=-1,decrement:o=!1,disabledIndices:i,amount:r=1}=void 0===t?{}:t;const a=e.current;let s=n;do{s+=o?-r:r}while(s>=0&&s<=a.length-1&&Fn(a,s,i));return s}function Bn(e,t,n,o,i){if(-1===e)return-1;const r=n.indexOf(e),a=t[e];switch(i){case\"tl\":return r;case\"tr\":return a?r+a.width-1:r;case\"bl\":return a?r+(a.height-1)*o:r;case\"br\":return n.lastIndexOf(e)}}function Mn(e,t){return t.flatMap((t,n)=>e.includes(t)?[n]:[])}function Fn(e,t,n){if(n)return n.includes(t);const o=e[t];return null==o||o.hasAttribute(\"disabled\")||\"true\"===o.getAttribute(\"aria-disabled\")}var $n=\"undefined\"!=typeof document?m:f;function _n(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}const jn=o.createContext({register:()=>{},unregister:()=>{},map:new Map,elementsRef:{current:[]}});function zn(e){const{children:t,elementsRef:n,labelsRef:i}=e,[r,a]=o.useState(()=>new Map),s=o.useCallback(e=>{a(t=>new Map(t).set(e,null))},[]),c=o.useCallback(e=>{a(t=>{const n=new Map(t);return n.delete(e),n})},[]);return $n(()=>{const e=new Map(r);Array.from(e.keys()).sort(_n).forEach((t,n)=>{e.set(t,n)}),function(e,t){if(e.size!==t.size)return!1;for(const[n,o]of e.entries())if(o!==t.get(n))return!1;return!0}(r,e)||a(e)},[r]),o.createElement(jn.Provider,{value:o.useMemo(()=>({register:s,unregister:c,map:r,elementsRef:n,labelsRef:i}),[s,c,r,n,i])},t)}function Hn(e){void 0===e&&(e={});const{label:t}=e,{register:n,unregister:i,map:r,elementsRef:a,labelsRef:s}=o.useContext(jn),[c,l]=o.useState(null),u=o.useRef(null),d=o.useCallback(e=>{if(u.current=e,null!==c&&(a.current[c]=e,s)){var n;const o=void 0!==t;s.current[c]=o?t:null!=(n=null==e?void 0:e.textContent)?n:null}},[c,a,s,t]);return $n(()=>{const e=u.current;if(e)return n(e),()=>{i(e)}},[n,i]),$n(()=>{const e=u.current?r.get(u.current):null;null!=e&&l(e)},[r]),o.useMemo(()=>({ref:d,index:null==c?-1:c}),[c,d])}function Wn(){return Wn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Wn.apply(this,arguments)}let Vn=!1,Un=0;const Kn=()=>\"floating-ui-\"+Math.random().toString(36).slice(2,6)+Un++;const Gn=Sn.useId||function(){const[e,t]=o.useState(()=>Vn?Kn():void 0);return $n(()=>{null==e&&t(Kn())},[]),o.useEffect(()=>{Vn=!0},[]),e};let qn;function Jn(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=qn)&&e.has(i)||(null==(r=qn)||r.add(i),console.warn(i))}function Yn(){const e=new Map;return{emit(t,n){var o;null==(o=e.get(t))||o.forEach(e=>e(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var o;e.set(t,(null==(o=e.get(t))?void 0:o.filter(e=>e!==n))||[])}}}\"production\"!==process.env.NODE_ENV&&(qn=new Set);const Xn=o.createContext(null),Qn=o.createContext(null),Zn=()=>{var e;return(null==(e=o.useContext(Xn))?void 0:e.id)||null},eo=()=>o.useContext(Qn);function to(e){const{children:t,id:n}=e,i=Zn();return o.createElement(Xn.Provider,{value:o.useMemo(()=>({id:n,parentId:i}),[n,i])},t)}function no(e){const{children:t}=e,n=o.useRef([]),i=o.useCallback(e=>{n.current=[...n.current,e]},[]),r=o.useCallback(e=>{n.current=n.current.filter(t=>t!==e)},[]),a=o.useState(()=>Yn())[0];return o.createElement(Qn.Provider,{value:o.useMemo(()=>({nodesRef:n,addNode:i,removeNode:r,events:a}),[i,r,a])},t)}function oo(e){return\"data-floating-ui-\"+e}function io(e){const t=d(e);return $n(()=>{t.current=e}),t}const ro=oo(\"safe-polygon\");function ao(e,t,n){return n&&!qe(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}let so=0;function co(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:o=!0,sync:i=!1}=t;o&&cancelAnimationFrame(so);const r=()=>null==e?void 0:e.focus({preventScroll:n});i?r():so=requestAnimationFrame(r)}function lo(e,t){let n=e.filter(e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)}),o=n;for(;o.length;)o=e.filter(e=>{var t;return null==(t=o)?void 0:t.some(t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)})}),n=n.concat(o);return n}let uo=new WeakMap,fo=new WeakSet,po={},mo=0;const ho=e=>e&&(e.host||ho(e.parentNode));function go(e,t,n,o){const i=\"data-floating-ui-inert\",r=o?\"inert\":n?\"aria-hidden\":null,a=((e,t)=>t.map(t=>{if(e.contains(t))return t;const n=ho(t);return e.contains(n)?n:null}).filter(e=>null!=e))(t,e),s=new Set,c=new Set(a),l=[];po[i]||(po[i]=new WeakMap);const u=po[i];return a.forEach(function e(t){if(!t||s.has(t))return;s.add(t),t.parentNode&&e(t.parentNode)}),function e(t){if(!t||c.has(t))return;[].forEach.call(t.children,t=>{if(\"script\"!==me(t))if(s.has(t))e(t);else{const e=r?t.getAttribute(r):null,n=null!==e&&\"false\"!==e,o=(uo.get(t)||0)+1,a=(u.get(t)||0)+1;uo.set(t,o),u.set(t,a),l.push(t),1===o&&n&&fo.add(t),1===a&&t.setAttribute(i,\"\"),!n&&r&&t.setAttribute(r,\"true\")}})}(t),s.clear(),mo++,()=>{l.forEach(e=>{const t=(uo.get(e)||0)-1,n=(u.get(e)||0)-1;uo.set(e,t),u.set(e,n),t||(!fo.has(e)&&r&&e.removeAttribute(r),fo.delete(e)),n||e.removeAttribute(i)}),mo--,mo||(uo=new WeakMap,uo=new WeakMap,fo=new WeakSet,po={})}}function yo(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=Je(e[0]).body;return go(e.concat(Array.from(o.querySelectorAll(\"[aria-live]\"))),o,t,n)}const vo=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function wo(e,t){const n=Ht(e,vo());\"prev\"===t&&n.reverse();const o=n.indexOf(je(Je(e)));return n.slice(o+1)[0]}function bo(e,t){const n=t||e.currentTarget,o=e.relatedTarget;return!o||!ze(n,o)}const ko={border:0,clip:\"rect(0 0 0 0)\",height:\"1px\",margin:\"-1px\",overflow:\"hidden\",padding:0,position:\"fixed\",whiteSpace:\"nowrap\",width:\"1px\",top:0,left:0};function xo(e){\"Tab\"===e.key&&(e.target,clearTimeout(void 0))}const So=o.forwardRef(function(e,t){const[n,i]=o.useState();$n(()=>(Ke()&&i(\"button\"),document.addEventListener(\"keydown\",xo),()=>{document.removeEventListener(\"keydown\",xo)}),[]);const r={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[oo(\"focus-guard\")]:\"\",style:ko};return o.createElement(\"span\",Wn({},e,r))}),Co=o.createContext(null),No=\"data-floating-ui-focusable\";function Eo(e){return e?e.hasAttribute(No)?e:e.querySelector(\"[\"+No+\"]\")||e:null}let Io=[];function Po(e){Io=Io.filter(e=>e.isConnected);let t=e;if(t&&\"body\"!==me(t)){if(!function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==It.call(e,Nt)&&_t(t,e)}(t,vo())){const e=Ht(t,vo())[0];e&&(t=e)}Io.push(t),Io.length>20&&(Io=Io.slice(-20))}}function Ao(){return Io.slice().reverse().find(e=>e.isConnected)}const Oo=o.forwardRef(function(e,t){return o.createElement(\"button\",Wn({},e,{type:\"button\",ref:t,tabIndex:-1,style:ko}))});function Lo(e){const{context:t,children:n,disabled:i=!1,order:r=[\"content\"],guards:a=!0,initialFocus:s=0,returnFocus:c=!0,restoreFocus:l=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:p,refs:m,nodeId:h,onOpenChange:g,events:y,dataRef:v,floatingId:w,elements:{domReference:b,floating:k}}=t,x=\"number\"==typeof s&&s<0,S=et(b)&&x,C=\"undefined\"==typeof HTMLElement||!(\"inert\"in HTMLElement.prototype)||a,N=io(r),E=io(s),I=io(c),P=eo(),A=o.useContext(Co),O=o.useRef(null),L=o.useRef(null),D=o.useRef(!1),T=o.useRef(!1),R=o.useRef(-1),B=null!=A,M=Eo(k),F=Nn(function(e){return void 0===e&&(e=M),e?Ht(e,vo()):[]}),$=Nn(e=>{const t=F(e);return N.current.map(e=>b&&\"reference\"===e?b:M&&\"floating\"===e?M:t).filter(Boolean).flat()});function _(e){return!i&&d&&u?o.createElement(Oo,{ref:\"start\"===e?O:L,onClick:e=>g(!1,e.nativeEvent)},\"string\"==typeof d?d:\"Dismiss\"):null}o.useEffect(()=>{if(i)return;if(!u)return;function e(e){if(\"Tab\"===e.key){ze(M,je(Je(M)))&&0===F().length&&!S&&Ze(e);const t=$(),n=Xe(e);\"reference\"===N.current[0]&&n===b&&(Ze(e),e.shiftKey?co(t[t.length-1]):co(t[1])),\"floating\"===N.current[1]&&n===M&&e.shiftKey&&(Ze(e),co(t[0]))}}const t=Je(M);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}},[i,b,M,u,N,S,F,$]),o.useEffect(()=>{if(!i&&k)return k.addEventListener(\"focusin\",e),()=>{k.removeEventListener(\"focusin\",e)};function e(e){const t=Xe(e),n=F().indexOf(t);-1!==n&&(R.current=n)}},[i,k,F]),o.useEffect(()=>{if(!i&&f)return k&&we(b)?(b.addEventListener(\"focusout\",t),b.addEventListener(\"pointerdown\",e),k.addEventListener(\"focusout\",t),()=>{b.removeEventListener(\"focusout\",t),b.removeEventListener(\"pointerdown\",e),k.removeEventListener(\"focusout\",t)}):void 0;function e(){T.current=!0,setTimeout(()=>{T.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const n=!(ze(b,t)||ze(k,t)||ze(t,k)||ze(null==A?void 0:A.portalNode,t)||null!=t&&t.hasAttribute(oo(\"focus-guard\"))||P&&(lo(P.nodesRef.current,h).find(e=>{var n,o;return ze(null==(n=e.context)?void 0:n.elements.floating,t)||ze(null==(o=e.context)?void 0:o.elements.domReference,t)})||function(e,t){var n;let o=[],i=null==(n=e.find(e=>e.id===t))?void 0:n.parentId;for(;i;){const t=e.find(e=>e.id===i);i=null==t?void 0:t.parentId,t&&(o=o.concat(t))}return o}(P.nodesRef.current,h).find(e=>{var n,o;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(o=e.context)?void 0:o.elements.domReference)===t})));if(l&&n&&je(Je(M))===Je(M).body){we(M)&&M.focus();const e=R.current,t=F(),n=t[e]||t[t.length-1]||M;we(n)&&n.focus()}!S&&u||!t||!n||T.current||t===Ao()||(D.current=!0,g(!1,e,\"focus-out\"))})}},[i,b,k,M,u,h,P,A,g,f,l,F,S]),o.useEffect(()=>{var e;if(i)return;const t=Array.from((null==A||null==(e=A.portalNode)?void 0:e.querySelectorAll(\"[\"+oo(\"portal\")+\"]\"))||[]);if(k){const e=[k,...t,O.current,L.current,N.current.includes(\"reference\")||S?b:null].filter(e=>null!=e),n=u||S?yo(e,C,!C):yo(e);return()=>{n()}}},[i,b,k,u,N,A,S,C]),$n(()=>{if(i||!we(M))return;const e=je(Je(M));queueMicrotask(()=>{const t=$(M),n=E.current,o=(\"number\"==typeof n?t[n]:n.current)||M,i=ze(M,e);x||i||!p||co(o,{preventScroll:o===M})})},[i,p,M,x,$,E]),$n(()=>{if(i||!M)return;let e=!1;const t=Je(M),n=je(t);let o=v.current.openEvent;function r(t){let{open:n,reason:i,event:r,nested:a}=t;n&&(o=r),\"escape-key\"===i&&m.domReference.current&&Po(m.domReference.current),\"hover\"===i&&\"mouseleave\"===r.type&&(D.current=!0),\"outside-press\"===i&&(a?(D.current=!1,e=!0):D.current=!(Ve(r)||Ue(r)))}Po(n),y.on(\"openchange\",r);const a=t.createElement(\"span\");return a.setAttribute(\"tabindex\",\"-1\"),a.setAttribute(\"aria-hidden\",\"true\"),Object.assign(a.style,ko),B&&b&&b.insertAdjacentElement(\"afterend\",a),()=>{y.off(\"openchange\",r);const n=je(t),i=ze(k,n)||P&&lo(P.nodesRef.current,h).some(e=>{var t;return ze(null==(t=e.context)?void 0:t.elements.floating,n)});(i||o&&[\"click\",\"mousedown\"].includes(o.type))&&m.domReference.current&&Po(m.domReference.current);const s=\"boolean\"==typeof I.current?Ao()||a:I.current.current||a;queueMicrotask(()=>{I.current&&!D.current&&we(s)&&(s===n||n===t.body||i)&&s.focus({preventScroll:e}),a.remove()})}},[i,k,M,I,v,m,y,P,h,B,b]),o.useEffect(()=>{queueMicrotask(()=>{D.current=!1})},[i]),$n(()=>{if(!i&&A)return A.setFocusManagerState({modal:u,closeOnFocusOut:f,open:p,onOpenChange:g,refs:m}),()=>{A.setFocusManagerState(null)}},[i,A,u,p,g,m,f]),$n(()=>{if(i)return;if(!M)return;if(\"function\"!=typeof MutationObserver)return;if(x)return;const e=()=>{const e=M.getAttribute(\"tabindex\"),t=F(),n=je(Je(k)),o=t.indexOf(n);-1!==o&&(R.current=o),N.current.includes(\"floating\")||n!==m.domReference.current&&0===t.length?\"0\"!==e&&M.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&M.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(M,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[i,k,M,m,N,F,x]);const j=!i&&C&&(!u||!S)&&(B||u);return o.createElement(o.Fragment,null,j&&o.createElement(So,{\"data-type\":\"inside\",ref:null==A?void 0:A.beforeInsideRef,onFocus:e=>{if(u){const e=$();co(\"reference\"===r[0]?e[0]:e[e.length-1])}else if(null!=A&&A.preserveTabOrder&&A.portalNode)if(D.current=!1,bo(e,A.portalNode)){const e=wo(document.body,\"next\")||b;null==e||e.focus()}else{var t;null==(t=A.beforeOutsideRef.current)||t.focus()}}}),!S&&_(\"start\"),n,_(\"end\"),j&&o.createElement(So,{\"data-type\":\"inside\",ref:null==A?void 0:A.afterInsideRef,onFocus:e=>{if(u)co($()[0]);else if(null!=A&&A.preserveTabOrder&&A.portalNode)if(f&&(D.current=!0),bo(e,A.portalNode)){const e=wo(document.body,\"prev\")||b;null==e||e.focus()}else{var t;null==(t=A.afterOutsideRef.current)||t.focus()}}}))}function Do(e){return we(e.target)&&\"BUTTON\"===e.target.tagName}function To(e){return Qe(e)}const Ro={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},Bo={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},Mo=e=>{var t,n;return{escapeKey:\"boolean\"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:\"boolean\"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Fo(e){const{open:t=!1,onOpenChange:n,elements:i}=e,r=Gn(),a=o.useRef({}),[s]=o.useState(()=>Yn()),c=null!=Zn();if(\"production\"!==process.env.NODE_ENV){const e=i.reference;e&&!ve(e)&&function(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=qn)&&e.has(i)||(null==(r=qn)||r.add(i),console.error(i))}(\"Cannot pass a virtual element to the `elements.reference` option,\",\"as it must be a real DOM element. Use `refs.setPositionReference()`\",\"instead.\")}const[l,u]=o.useState(i.reference),d=Nn((e,t,o)=>{a.current.openEvent=e?t:void 0,s.emit(\"openchange\",{open:e,event:t,reason:o,nested:c}),null==n||n(e,t,o)}),f=o.useMemo(()=>({setPositionReference:u}),[]),p=o.useMemo(()=>({reference:l||i.reference||null,floating:i.floating||null,domReference:i.reference}),[l,i.reference,i.floating]);return o.useMemo(()=>({dataRef:a,open:t,onOpenChange:d,elements:p,events:s,floatingId:r,refs:f}),[t,d,p,s,r,f])}function $o(e){void 0===e&&(e={});const{nodeId:t}=e,n=Fo({...e,elements:{reference:null,floating:null,...e.elements}}),i=e.rootContext||n,r=i.elements,[a,s]=o.useState(null),[c,l]=o.useState(null),u=(null==r?void 0:r.domReference)||a,d=o.useRef(null),f=eo();$n(()=>{u&&(d.current=u)},[u]);const p=function(e){void 0===e&&(e={});const{placement:t=\"bottom\",strategy:n=\"absolute\",middleware:i=[],platform:r,elements:{reference:a,floating:s}={},transform:c=!0,whileElementsMounted:l,open:u}=e,[d,f]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=o.useState(i);gn(p,i)||m(i);const[h,g]=o.useState(null),[y,v]=o.useState(null),b=o.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),k=o.useCallback(e=>{e!==N.current&&(N.current=e,v(e))},[]),x=a||h,S=s||y,C=o.useRef(null),N=o.useRef(null),E=o.useRef(d),I=null!=l,P=wn(l),A=wn(r),O=wn(u),L=o.useCallback(()=>{if(!C.current||!N.current)return;const e={placement:t,strategy:n,middleware:p};A.current&&(e.platform=A.current),mn(C.current,N.current,e).then(e=>{const t={...e,isPositioned:!1!==O.current};D.current&&!gn(E.current,t)&&(E.current=t,w.flushSync(()=>{f(t)}))})},[p,t,n,A,O]);hn(()=>{!1===u&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);const D=o.useRef(!1);hn(()=>(D.current=!0,()=>{D.current=!1}),[]),hn(()=>{if(x&&(C.current=x),S&&(N.current=S),x&&S){if(P.current)return P.current(x,S,L);L()}},[x,S,L,P,I]);const T=o.useMemo(()=>({reference:C,floating:N,setReference:b,setFloating:k}),[b,k]),R=o.useMemo(()=>({reference:x,floating:S}),[x,S]),B=o.useMemo(()=>{const e={position:n,left:0,top:0};if(!R.floating)return e;const t=vn(R.floating,d.x),o=vn(R.floating,d.y);return c?{...e,transform:\"translate(\"+t+\"px, \"+o+\"px)\",...yn(R.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:o}},[n,c,R.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:L,refs:T,elements:R,floatingStyles:B}),[d,L,T,R,B])}({...e,elements:{...r,...c&&{reference:c}}}),m=o.useCallback(e=>{const t=ve(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;l(t),p.refs.setReference(t)},[p.refs]),h=o.useCallback(e=>{(ve(e)||null===e)&&(d.current=e,s(e)),(ve(p.refs.reference.current)||null===p.refs.reference.current||null!==e&&!ve(e))&&p.refs.setReference(e)},[p.refs]),g=o.useMemo(()=>({...p.refs,setReference:h,setPositionReference:m,domReference:d}),[p.refs,h,m]),y=o.useMemo(()=>({...p.elements,domReference:u}),[p.elements,u]),v=o.useMemo(()=>({...p,...i,refs:g,elements:y,nodeId:t}),[p,g,y,t,i]);return $n(()=>{i.dataRef.current.floatingContext=v;const e=null==f?void 0:f.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),o.useMemo(()=>({...p,context:v,refs:g,elements:y}),[p,g,y,v])}const _o=\"active\",jo=\"selected\";function zo(e,t,n){const o=new Map,i=\"item\"===n;let r=e;if(i&&e){const{[_o]:t,[jo]:n,...o}=e;r=o}return{...\"floating\"===n&&{tabIndex:-1,[No]:\"\"},...r,...t.map(t=>{const o=t?t[n]:null;return\"function\"==typeof o?e?o(e):null:o}).concat(e).reduce((e,t)=>t?(Object.entries(t).forEach(t=>{let[n,r]=t;var a;i&&[_o,jo].includes(n)||(0===n.indexOf(\"on\")?(o.has(n)||o.set(n,[]),\"function\"==typeof r&&(null==(a=o.get(n))||a.push(r),e[n]=function(){for(var e,t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];return null==(e=o.get(n))?void 0:e.map(e=>e(...i)).find(e=>void 0!==e)})):e[n]=r)}),e):e,{})}}let Ho=!1;function Wo(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function Vo(e,t){return Wo(t,e===En||e===In,e===Pn||e===An)}function Uo(e,t,n){return Wo(t,e===In,n?e===Pn:e===An)||\"Enter\"===e||\" \"===e||\"\"===e}function Ko(e,t,n){return Wo(t,n?e===An:e===Pn,e===En)}function Go(e,t){const{open:n,onOpenChange:i,elements:r}=e,{listRef:a,activeIndex:s,onNavigate:c=()=>{},enabled:l=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:p=!1,rtl:m=!1,virtual:h=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:y=!0,openOnArrowKeyDown:v=!0,disabledIndices:w,orientation:b=\"vertical\",cols:k=1,scrollItemIntoView:x=!0,virtualItemRef:S,itemSizes:C,dense:N=!1}=t;\"production\"!==process.env.NODE_ENV&&(d&&(f||Jn(\"`useListNavigation` looping must be enabled to allow escaping.\"),h||Jn(\"`useListNavigation` must be virtual to allow escaping.\")),\"vertical\"===b&&k>1&&Jn(\"In grid list navigation mode (`cols` > 1), the `orientation` should\",'be either \"horizontal\" or \"both\".'));const E=io(Eo(r.floating)),I=Zn(),P=eo(),A=Nn(c),O=et(r.domReference),L=o.useRef(g),D=o.useRef(null!=u?u:-1),T=o.useRef(null),R=o.useRef(!0),B=o.useRef(A),M=o.useRef(!!r.floating),F=o.useRef(n),$=o.useRef(!1),_=o.useRef(!1),j=io(w),z=io(n),H=io(x),W=io(u),[V,U]=o.useState(),[K,G]=o.useState(),q=Nn(function(e,t,n){function o(e){h?(U(e.id),null==P||P.events.emit(\"virtualfocus\",e),S&&(S.current=e)):co(e,{preventScroll:!0,sync:!(!He().toLowerCase().startsWith(\"mac\")||navigator.maxTouchPoints||!Ke())&&(Ho||$.current)})}void 0===n&&(n=!1);const i=e.current[t.current];i&&o(i),requestAnimationFrame(()=>{const r=e.current[t.current]||i;if(!r)return;i||o(r);const a=H.current;a&&Y&&(n||!R.current)&&(null==r.scrollIntoView||r.scrollIntoView(\"boolean\"==typeof a?{block:\"nearest\",inline:\"nearest\"}:a))})});$n(()=>{document.createElement(\"div\").focus({get preventScroll(){return Ho=!0,!1}})},[]),$n(()=>{l&&(n&&r.floating?L.current&&null!=u&&(_.current=!0,D.current=u,A(u)):M.current&&(D.current=-1,B.current(null)))},[l,n,r.floating,u,A]),$n(()=>{if(l&&n&&r.floating)if(null==s){if($.current=!1,null!=W.current)return;if(M.current&&(D.current=-1,q(a,D)),(!F.current||!M.current)&&L.current&&(null!=T.current||!0===L.current&&null==T.current)){let e=0;const t=()=>{if(null==a.current[0]){if(e<2){(e?requestAnimationFrame:queueMicrotask)(t)}e++}else D.current=null==T.current||Uo(T.current,b,m)||p?Dn(a,j.current):Tn(a,j.current),T.current=null,A(D.current)};t()}}else Ln(a,s)||(D.current=s,q(a,D,_.current),_.current=!1)},[l,n,r.floating,s,W,p,a,b,m,A,q,j]),$n(()=>{var e;if(!l||r.floating||!P||h||!M.current)return;const t=P.nodesRef.current,n=null==(e=t.find(e=>e.id===I))||null==(e=e.context)?void 0:e.elements.floating,o=je(Je(r.floating)),i=t.some(e=>e.context&&ze(e.context.elements.floating,o));n&&!i&&R.current&&n.focus({preventScroll:!0})},[l,r.floating,P,I,h]),$n(()=>{if(l&&P&&h&&!I)return P.events.on(\"virtualfocus\",e),()=>{P.events.off(\"virtualfocus\",e)};function e(e){G(e.id),S&&(S.current=e)}},[l,P,h,I,S]),$n(()=>{B.current=A,M.current=!!r.floating}),$n(()=>{n||(T.current=null)},[n]),$n(()=>{F.current=n},[n]);const J=null!=s,Y=o.useMemo(()=>{function e(e){if(!n)return;const t=a.current.indexOf(e);-1!==t&&A(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...y&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;R.current&&\"touch\"!==t&&(D.current=-1,q(a,D),A(null),h||co(E.current,{preventScroll:!0}))}}}},[n,E,q,y,a,A,h]),X=Nn(e=>{if(R.current=!1,$.current=!0,229===e.which)return;if(!z.current&&e.currentTarget===E.current)return;if(p&&Ko(e.key,b,m))return Ze(e),i(!1,e.nativeEvent,\"list-navigation\"),void(we(r.domReference)&&(h?null==P||P.events.emit(\"virtualfocus\",r.domReference):r.domReference.focus()));const t=D.current,o=Dn(a,w),s=Tn(a,w);if(O||(\"Home\"===e.key&&(Ze(e),D.current=o,A(D.current)),\"End\"===e.key&&(Ze(e),D.current=s,A(D.current))),k>1){const t=C||Array.from({length:a.current.length},()=>({width:1,height:1})),n=function(e,t,n){const o=[];let i=0;return e.forEach((e,r)=>{let{width:a,height:s}=e;if(a>t&&\"production\"!==process.env.NODE_ENV)throw new Error(\"[Floating UI]: Invalid grid - item width at index \"+r+\" is greater than grid columns\");let c=!1;for(n&&(i=0);!c;){const e=[];for(let n=0;n<a;n++)for(let o=0;o<s;o++)e.push(i+n+o*t);i%t+a<=t&&e.every(e=>null==o[e])?(e.forEach(e=>{o[e]=r}),c=!0):i++}}),[...o]}(t,k,N),i=n.findIndex(e=>null!=e&&!Fn(a.current,e,w)),r=n.reduce((e,t,n)=>null==t||Fn(a.current,t,w)?e:n,-1),c=n[function(e,t){let{event:n,orientation:o,loop:i,rtl:r,cols:a,disabledIndices:s,minIndex:c,maxIndex:l,prevIndex:u,stopEvent:d=!1}=t,f=u;if(n.key===En){if(d&&Ze(n),-1===u)f=l;else if(f=Rn(e,{startingIndex:f,amount:a,decrement:!0,disabledIndices:s}),i&&(u-a<c||f<0)){const e=u%a,t=l%a,n=l-(t-e);f=t===e?l:t>e?n:n-a}Ln(e,f)&&(f=u)}if(n.key===In&&(d&&Ze(n),-1===u?f=c:(f=Rn(e,{startingIndex:u,amount:a,disabledIndices:s}),i&&u+a>l&&(f=Rn(e,{startingIndex:u%a-a,amount:a,disabledIndices:s}))),Ln(e,f)&&(f=u)),\"both\"===o){const t=it(u/a);n.key===(r?Pn:An)&&(d&&Ze(n),u%a!==a-1?(f=Rn(e,{startingIndex:u,disabledIndices:s}),i&&On(f,a,t)&&(f=Rn(e,{startingIndex:u-u%a-1,disabledIndices:s}))):i&&(f=Rn(e,{startingIndex:u-u%a-1,disabledIndices:s})),On(f,a,t)&&(f=u)),n.key===(r?An:Pn)&&(d&&Ze(n),u%a!==0?(f=Rn(e,{startingIndex:u,decrement:!0,disabledIndices:s}),i&&On(f,a,t)&&(f=Rn(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s}))):i&&(f=Rn(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s})),On(f,a,t)&&(f=u));const o=it(l/a)===t;Ln(e,f)&&(f=i&&o?n.key===(r?An:Pn)?l:Rn(e,{startingIndex:u-u%a-1,disabledIndices:s}):u)}return f}({current:n.map(e=>null!=e?a.current[e]:null)},{event:e,orientation:b,loop:f,rtl:m,cols:k,disabledIndices:Mn([...w||a.current.map((e,t)=>Fn(a.current,t)?t:void 0),void 0],n),minIndex:i,maxIndex:r,prevIndex:Bn(D.current>s?o:D.current,t,n,k,e.key===In?\"bl\":e.key===(m?Pn:An)?\"tr\":\"tl\"),stopEvent:!0})];if(null!=c&&(D.current=c,A(D.current)),\"both\"===b)return}if(Vo(e.key,b)){if(Ze(e),n&&!h&&je(e.currentTarget.ownerDocument)===e.currentTarget)return D.current=Uo(e.key,b,m)?o:s,void A(D.current);Uo(e.key,b,m)?D.current=f?t>=s?d&&t!==a.current.length?-1:o:Rn(a,{startingIndex:t,disabledIndices:w}):Math.min(s,Rn(a,{startingIndex:t,disabledIndices:w})):D.current=f?t<=o?d&&-1!==t?a.current.length:s:Rn(a,{startingIndex:t,decrement:!0,disabledIndices:w}):Math.max(o,Rn(a,{startingIndex:t,decrement:!0,disabledIndices:w})),Ln(a,D.current)?A(null):A(D.current)}}),Q=o.useMemo(()=>h&&n&&J&&{\"aria-activedescendant\":K||V},[h,n,J,K,V]),Z=o.useMemo(()=>({\"aria-orientation\":\"both\"===b?void 0:b,...!et(r.domReference)&&Q,onKeyDown:X,onPointerMove(){R.current=!0}}),[Q,X,r.domReference,b]),ee=o.useMemo(()=>{function e(e){\"auto\"===g&&Ve(e.nativeEvent)&&(L.current=!0)}return{...Q,onKeyDown(e){R.current=!1;const t=e.key.startsWith(\"Arrow\"),o=[\"Home\",\"End\"].includes(e.key),r=t||o,s=function(e,t,n){return Wo(t,n?e===Pn:e===An,e===In)}(e.key,b,m),c=Ko(e.key,b,m),l=Vo(e.key,b),d=(p?s:l)||\"Enter\"===e.key||\"\"===e.key.trim();if(h&&n){const t=null==P?void 0:P.nodesRef.current.find(e=>null==e.parentId),n=P&&t?function(e,t){let n,o=-1;return function t(i,r){r>o&&(n=i,o=r),lo(e,i).forEach(e=>{t(e.id,r+1)})}(t,0),e.find(e=>e.id===n)}(P.nodesRef.current,t.id):null;if(r&&n&&S){const t=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(s||c){var f,g;const o=(null==(f=n.context)?void 0:f.elements.domReference)===e.currentTarget,i=c&&!o?null==(g=n.context)?void 0:g.elements.domReference:s?a.current.find(e=>(null==e?void 0:e.id)===V):null;i&&(Ze(e),i.dispatchEvent(t),G(void 0))}var y;if((l||o)&&n.context)if(n.context.open&&n.parentId&&e.currentTarget!==n.context.elements.domReference)return Ze(e),void(null==(y=n.context.elements.domReference)||y.dispatchEvent(t))}return X(e)}(n||v||!t)&&(d&&(T.current=p&&l?null:e.key),p?s&&(Ze(e),n?(D.current=Dn(a,j.current),A(D.current)):i(!0,e.nativeEvent,\"list-navigation\")):l&&(null!=u&&(D.current=u),Ze(e),!n&&v?i(!0,e.nativeEvent,\"list-navigation\"):X(e),n&&A(D.current)))},onFocus(){n&&!h&&A(null)},onPointerDown:function(e){L.current=g,\"auto\"===g&&Ue(e.nativeEvent)&&(L.current=!0)},onMouseDown:e,onClick:e}},[V,Q,X,j,g,a,p,A,i,n,v,b,m,u,P,h,S]);return o.useMemo(()=>l?{reference:ee,floating:Z,item:Y}:{},[l,ee,Z,Y])}const qo=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function Jo(e,t){const[n,o]=e;let i=!1;const r=t.length;for(let e=0,a=r-1;e<r;a=e++){const[r,s]=t[e]||[0,0],[c,l]=t[a]||[0,0];s>=o!=l>=o&&n<=(c-r)*(o-s)/(l-s)+r&&(i=!i)}return i}function Yo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:o=!0}=e;let i,r=!1,a=null,s=null,c=performance.now();const l=e=>{let{x:n,y:l,placement:u,elements:d,onClose:f,nodeId:p,tree:m}=e;return function(e){function h(){clearTimeout(i),f()}if(clearTimeout(i),!d.domReference||!d.floating||null==u||null==n||null==l)return;const{clientX:g,clientY:y}=e,v=[g,y],w=Xe(e),b=\"mouseleave\"===e.type,k=ze(d.floating,w),x=ze(d.domReference,w),S=d.domReference.getBoundingClientRect(),C=d.floating.getBoundingClientRect(),N=u.split(\"-\")[0],E=n>C.right-C.width/2,I=l>C.bottom-C.height/2,P=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(v,S),A=C.width>S.width,O=C.height>S.height,L=(A?S:C).left,D=(A?S:C).right,T=(O?S:C).top,R=(O?S:C).bottom;if(k&&(r=!0,!b))return;if(x&&(r=!1),x&&!b)return void(r=!0);if(b&&ve(e.relatedTarget)&&ze(d.floating,e.relatedTarget))return;if(m&&lo(m.nodesRef.current,p).some(e=>{let{context:t}=e;return null==t?void 0:t.open}))return;if(\"top\"===N&&l>=S.bottom-1||\"bottom\"===N&&l<=S.top+1||\"left\"===N&&n>=S.right-1||\"right\"===N&&n<=S.left+1)return h();let B=[];switch(N){case\"top\":B=[[L,S.top+1],[L,C.bottom-1],[D,C.bottom-1],[D,S.top+1]];break;case\"bottom\":B=[[L,C.top+1],[L,S.bottom-1],[D,S.bottom-1],[D,C.top+1]];break;case\"left\":B=[[C.right-1,R],[C.right-1,T],[S.left+1,T],[S.left+1,R]];break;case\"right\":B=[[S.right-1,R],[S.right-1,T],[C.left+1,T],[C.left+1,R]]}if(!Jo([g,y],B)){if(r&&!P)return h();if(!b&&o){const t=function(e,t){const n=performance.now(),o=n-c;if(null===a||null===s||0===o)return a=e,s=t,c=n,null;const i=e-a,r=t-s,l=Math.sqrt(i*i+r*r);return a=e,s=t,c=n,l/o}(e.clientX,e.clientY);if(null!==t&&t<.1)return h()}Jo([g,y],function(e){let[n,o]=e;switch(N){case\"top\":return[[A?n+t/2:E?n+4*t:n-4*t,o+t+1],[A?n-t/2:E?n+4*t:n-4*t,o+t+1],...[[C.left,E||A?C.bottom-t:C.top],[C.right,E?A?C.bottom-t:C.top:C.bottom-t]]];case\"bottom\":return[[A?n+t/2:E?n+4*t:n-4*t,o-t],[A?n-t/2:E?n+4*t:n-4*t,o-t],...[[C.left,E||A?C.top+t:C.bottom],[C.right,E?A?C.top+t:C.bottom:C.top+t]]];case\"left\":{const e=[n+t+1,O?o+t/2:I?o+4*t:o-4*t],i=[n+t+1,O?o-t/2:I?o+4*t:o-4*t];return[...[[I||O?C.right-t:C.left,C.top],[I?O?C.right-t:C.left:C.right-t,C.bottom]],e,i]}case\"right\":return[[n-t,O?o+t/2:I?o+4*t:o-4*t],[n-t,O?o-t/2:I?o+4*t:o-4*t],...[[I||O?C.left+t:C.right,C.top],[I?O?C.left+t:C.right:C.left+t,C.bottom]]]}}([n,l]))?!r&&o&&(i=window.setTimeout(h,40)):h()}}};return l.__options={blockPointerEvents:n},l}const Xo=s({getItemProps:()=>({}),activeIndex:null,setActiveIndex:()=>{},setHasFocusInside:()=>{},isOpen:!1,setIsOpen:()=>{}}),Qo=r(({className:t,disabled:n,children:o,...i},r)=>{const a=c(Xo),s=Hn(),l=eo(),u=s.index===a.activeIndex,d=E(\"io-dropdown-menu-item\",n&&\"io-dropdown-menu-item-disabled\",t);return e(\"div\",{ref:xn([s.ref,r]),role:\"menuitem\",className:d,tabIndex:u?0:-1,\"aria-disabled\":n,...i,...a.getItemProps({onClick(e){if(n)return e.preventDefault(),void e.stopPropagation();i.onClick?.(e),a.setIsOpen(!1),l?.events.emit(\"click\")},onFocus(e){n||(i.onFocus?.(e),a.setHasFocusInside(!0))}}),children:o})});Qo.displayName=\"DropdownMenuItem\";const Zo=r(({className:n,variant:i=\"default\",icon:r,iconRight:a,text:s=\"\",disabled:p,children:m,...h},g)=>{const[y,v]=l(!1),[w,b]=l(!1),[k,x]=l(null),S=d([]),C=d([]),N=c(Xo),I=eo(),P=function(){const e=Gn(),t=eo(),n=Zn();return $n(()=>{const o={id:e,parentId:n};return null==t||t.addNode(o),()=>{null==t||t.removeNode(o)}},[t,e,n]),e}(),A=Zn(),O=Hn(),L=null!=A,{floatingStyles:D,refs:T,context:R}=$o({nodeId:P,open:y,onOpenChange:v,placement:L?\"right-start\":\"bottom-start\",middleware:[(B={mainAxis:L?0:4,alignmentAxis:L?-4:0},{...dn(B),options:[B,M]}),kn(),bn()],whileElementsMounted:un});var B,M;const F=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,events:a,elements:s}=e,{enabled:c=!0,delay:l=0,handleClose:u=null,mouseOnly:d=!1,restMs:f=0,move:p=!0}=t,m=eo(),h=Zn(),g=io(u),y=io(l),v=io(n),w=o.useRef(),b=o.useRef(-1),k=o.useRef(),x=o.useRef(-1),S=o.useRef(!0),C=o.useRef(!1),N=o.useRef(()=>{}),E=o.useRef(!1),I=o.useCallback(()=>{var e;const t=null==(e=r.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(\"mouse\"))&&\"mousedown\"!==t},[r]);o.useEffect(()=>{if(c)return a.on(\"openchange\",e),()=>{a.off(\"openchange\",e)};function e(e){let{open:t}=e;t||(clearTimeout(b.current),clearTimeout(x.current),S.current=!0,E.current=!1)}},[c,a]),o.useEffect(()=>{if(!c)return;if(!g.current)return;if(!n)return;function e(e){I()&&i(!1,e,\"hover\")}const t=Je(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}},[s.floating,n,i,c,g,I]);const P=o.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=ao(y.current,\"close\",w.current);o&&!k.current?(clearTimeout(b.current),b.current=window.setTimeout(()=>i(!1,e,n),o)):t&&(clearTimeout(b.current),i(!1,e,n))},[y,i]),A=Nn(()=>{N.current(),k.current=void 0}),O=Nn(()=>{if(C.current){const e=Je(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(ro),C.current=!1}}),L=Nn(()=>!!r.current.openEvent&&[\"click\",\"mousedown\"].includes(r.current.openEvent.type));o.useEffect(()=>{if(c&&ve(s.domReference)){var e;const i=s.domReference;return n&&i.addEventListener(\"mouseleave\",a),null==(e=s.floating)||e.addEventListener(\"mouseleave\",a),p&&i.addEventListener(\"mousemove\",t,{once:!0}),i.addEventListener(\"mouseenter\",t),i.addEventListener(\"mouseleave\",o),()=>{var e;n&&i.removeEventListener(\"mouseleave\",a),null==(e=s.floating)||e.removeEventListener(\"mouseleave\",a),p&&i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseenter\",t),i.removeEventListener(\"mouseleave\",o)}}function t(e){if(clearTimeout(b.current),S.current=!1,d&&!qe(w.current)||f>0&&!ao(y.current,\"open\"))return;const t=ao(y.current,\"open\",w.current);t?b.current=window.setTimeout(()=>{v.current||i(!0,e,\"hover\")},t):n||i(!0,e,\"hover\")}function o(e){if(L())return;N.current();const t=Je(s.floating);if(clearTimeout(x.current),E.current=!1,g.current&&r.current.floatingContext){n||clearTimeout(b.current),k.current=g.current({...r.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){O(),A(),L()||P(e,!0,\"safe-polygon\")}});const o=k.current;return t.addEventListener(\"mousemove\",o),void(N.current=()=>{t.removeEventListener(\"mousemove\",o)})}(\"touch\"!==w.current||!ze(s.floating,e.relatedTarget))&&P(e)}function a(e){L()||r.current.floatingContext&&(null==g.current||g.current({...r.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){O(),A(),L()||P(e)}})(e))}},[s,c,e,d,f,p,P,A,O,i,n,v,m,y,g,r,L]),$n(()=>{var e;if(c&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&I()){C.current=!0;const e=s.floating;if(ve(s.domReference)&&e){var t;const n=Je(s.floating).body;n.setAttribute(ro,\"\");const o=s.domReference,i=null==m||null==(t=m.nodesRef.current.find(e=>e.id===h))||null==(t=t.context)?void 0:t.elements.floating;return i&&(i.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",o.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",o.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}},[c,n,h,s,m,g,I]),$n(()=>{n||(w.current=void 0,E.current=!1,A(),O())},[n,A,O]),o.useEffect(()=>()=>{A(),clearTimeout(b.current),clearTimeout(x.current),O()},[c,s.domReference,A,O]);const D=o.useMemo(()=>{function e(e){w.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){S.current||v.current||i(!0,t,\"hover\")}d&&!qe(w.current)||n||0===f||E.current&&e.movementX**2+e.movementY**2<2||(clearTimeout(x.current),\"touch\"===w.current?o():(E.current=!0,x.current=window.setTimeout(o,f)))}}},[d,i,n,v,f]),T=o.useMemo(()=>({onMouseEnter(){clearTimeout(b.current)},onMouseLeave(e){L()||P(e.nativeEvent,!1)}}),[P,L]);return o.useMemo(()=>c?{reference:D,floating:T}:{},[c,D,T])}(R,{enabled:L,delay:{open:75},handleClose:Yo({blockPointerEvents:!0})}),_=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,elements:{domReference:a}}=e,{enabled:s=!0,event:c=\"click\",toggle:l=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0,stickIfOpen:f=!0}=t,p=o.useRef(),m=o.useRef(!1),h=o.useMemo(()=>({onPointerDown(e){p.current=e.pointerType},onMouseDown(e){const t=p.current;0===e.button&&\"click\"!==c&&(qe(t,!0)&&u||(!n||!l||r.current.openEvent&&f&&\"mousedown\"!==r.current.openEvent.type?(e.preventDefault(),i(!0,e.nativeEvent,\"click\")):i(!1,e.nativeEvent,\"click\")))},onClick(e){const t=p.current;\"mousedown\"===c&&p.current?p.current=void 0:qe(t,!0)&&u||(!n||!l||r.current.openEvent&&f&&\"click\"!==r.current.openEvent.type?i(!0,e.nativeEvent,\"click\"):i(!1,e.nativeEvent,\"click\"))},onKeyDown(e){p.current=void 0,e.defaultPrevented||!d||Do(e)||(\" \"!==e.key||To(a)||(e.preventDefault(),m.current=!0),\"Enter\"===e.key&&i(!n||!l,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Do(e)||To(a)||\" \"===e.key&&m.current&&(m.current=!1,i(!n||!l,e.nativeEvent,\"click\"))}}),[r,a,c,u,d,i,n,f,l]);return o.useMemo(()=>s?{reference:h}:{},[s,h])}(R,{event:\"mousedown\",toggle:!L,ignoreMouse:L}),j=function(e,t){var n;void 0===t&&(t={});const{open:i,floatingId:r}=e,{enabled:a=!0,role:s=\"dialog\"}=t,c=null!=(n=qo.get(s))?n:s,l=Gn(),u=null!=Zn(),d=o.useMemo(()=>\"tooltip\"===c||\"label\"===s?{[\"aria-\"+(\"label\"===s?\"labelledby\":\"describedby\")]:i?r:void 0}:{\"aria-expanded\":i?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===c?\"dialog\":c,\"aria-controls\":i?r:void 0,...\"listbox\"===c&&{role:\"combobox\"},...\"menu\"===c&&{id:l},...\"menu\"===c&&u&&{role:\"menuitem\"},...\"select\"===s&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===s&&{\"aria-autocomplete\":\"list\"}},[c,r,u,i,l,s]),f=o.useMemo(()=>{const e={id:r,...c&&{role:c}};return\"tooltip\"===c||\"label\"===s?e:{...e,...\"menu\"===c&&{\"aria-labelledby\":l}}},[c,r,l,s]),p=o.useCallback(e=>{let{active:t,selected:n}=e;const o={role:\"option\",...t&&{id:r+\"-option\"}};switch(s){case\"select\":return{...o,\"aria-selected\":t&&n};case\"combobox\":return{...o,...t&&{\"aria-selected\":!0}}}return{}},[r,s]);return o.useMemo(()=>a?{reference:d,floating:f,item:p}:{},[a,d,f,p])}(R,{role:\"menu\"}),z=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,elements:r,dataRef:a}=e,{enabled:s=!0,escapeKey:c=!0,outsidePress:l=!0,outsidePressEvent:u=\"pointerdown\",referencePress:d=!1,referencePressEvent:f=\"pointerdown\",ancestorScroll:p=!1,bubbles:m,capture:h}=t,g=eo(),y=Nn(\"function\"==typeof l?l:()=>!1),v=\"function\"==typeof l?y:l,w=o.useRef(!1),b=o.useRef(!1),{escapeKey:k,outsidePress:x}=Mo(m),{escapeKey:S,outsidePress:C}=Mo(h),N=o.useRef(!1),E=Nn(e=>{var t;if(!n||!s||!c||\"Escape\"!==e.key)return;if(N.current)return;const o=null==(t=a.current.floatingContext)?void 0:t.nodeId,r=g?lo(g.nodesRef.current,o):[];if(!k&&(e.stopPropagation(),r.length>0)){let e=!0;if(r.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)}),!e)return}i(!1,function(e){return\"nativeEvent\"in e}(e)?e.nativeEvent:e,\"escape-key\")}),I=Nn(e=>{var t;const n=()=>{var t;E(e),null==(t=Xe(e))||t.removeEventListener(\"keydown\",n)};null==(t=Xe(e))||t.addEventListener(\"keydown\",n)}),P=Nn(e=>{var t;const n=w.current;w.current=!1;const o=b.current;if(b.current=!1,\"click\"===u&&o)return;if(n)return;if(\"function\"==typeof v&&!v(e))return;const s=Xe(e),c=\"[\"+oo(\"inert\")+\"]\",l=Je(r.floating).querySelectorAll(c);let d=ve(s)?s:null;for(;d&&!Te(d);){const e=Me(d);if(Te(e)||!ve(e))break;d=e}if(l.length&&ve(s)&&!s.matches(\"html,body\")&&!ze(s,r.floating)&&Array.from(l).every(e=>!ze(d,e)))return;if(we(s)&&L){const t=s.clientWidth>0&&s.scrollWidth>s.clientWidth,n=s.clientHeight>0&&s.scrollHeight>s.clientHeight;let o=n&&e.offsetX>s.clientWidth;if(n&&\"rtl\"===Re(s).direction&&(o=e.offsetX<=s.offsetWidth-s.clientWidth),o||t&&e.offsetY>s.clientHeight)return}const f=null==(t=a.current.floatingContext)?void 0:t.nodeId,p=g&&lo(g.nodesRef.current,f).some(t=>{var n;return Ye(e,null==(n=t.context)?void 0:n.elements.floating)});if(Ye(e,r.floating)||Ye(e,r.domReference)||p)return;const m=g?lo(g.nodesRef.current,f):[];if(m.length>0){let e=!0;if(m.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)}),!e)return}i(!1,e,\"outside-press\")}),A=Nn(e=>{var t;const n=()=>{var t;P(e),null==(t=Xe(e))||t.removeEventListener(u,n)};null==(t=Xe(e))||t.addEventListener(u,n)});o.useEffect(()=>{if(!n||!s)return;a.current.__escapeKeyBubbles=k,a.current.__outsidePressBubbles=x;let e=-1;function t(e){i(!1,e,\"ancestor-scroll\")}function o(){window.clearTimeout(e),N.current=!0}function l(){e=window.setTimeout(()=>{N.current=!1},Le()?5:0)}const d=Je(r.floating);c&&(d.addEventListener(\"keydown\",S?I:E,S),d.addEventListener(\"compositionstart\",o),d.addEventListener(\"compositionend\",l)),v&&d.addEventListener(u,C?A:P,C);let f=[];return p&&(ve(r.domReference)&&(f=$e(r.domReference)),ve(r.floating)&&(f=f.concat($e(r.floating))),!ve(r.reference)&&r.reference&&r.reference.contextElement&&(f=f.concat($e(r.reference.contextElement)))),f=f.filter(e=>{var t;return e!==(null==(t=d.defaultView)?void 0:t.visualViewport)}),f.forEach(e=>{e.addEventListener(\"scroll\",t,{passive:!0})}),()=>{c&&(d.removeEventListener(\"keydown\",S?I:E,S),d.removeEventListener(\"compositionstart\",o),d.removeEventListener(\"compositionend\",l)),v&&d.removeEventListener(u,C?A:P,C),f.forEach(e=>{e.removeEventListener(\"scroll\",t)}),window.clearTimeout(e)}},[a,r,c,v,u,n,i,p,s,k,x,E,S,I,P,C,A]),o.useEffect(()=>{w.current=!1},[v,u]);const O=o.useMemo(()=>({onKeyDown:E,[Ro[f]]:e=>{d&&i(!1,e.nativeEvent,\"reference-press\")}}),[E,i,d,f]),L=o.useMemo(()=>({onKeyDown:E,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[Bo[u]]:()=>{w.current=!0}}),[E,u]);return o.useMemo(()=>s?{reference:O,floating:L}:{},[s,O,L])}(R,{bubbles:!0}),H=Go(R,{listRef:S,activeIndex:k,nested:L,onNavigate:x}),{getReferenceProps:W,getFloatingProps:V,getItemProps:U}=function(e){void 0===e&&(e=[]);const t=e.map(e=>null==e?void 0:e.reference),n=e.map(e=>null==e?void 0:e.floating),i=e.map(e=>null==e?void 0:e.item),r=o.useCallback(t=>zo(t,e,\"reference\"),t),a=o.useCallback(t=>zo(t,e,\"floating\"),n),s=o.useCallback(t=>zo(t,e,\"item\"),i);return o.useMemo(()=>({getReferenceProps:r,getFloatingProps:a,getItemProps:s}),[r,a,s])}([F,_,j,z,H]);f(()=>{if(I)return I.events.on(\"click\",e),I.events.on(\"menuopen\",t),()=>{I.events.off(\"click\",e),I.events.off(\"menuopen\",t)};function e(){v(!1)}function t(e){e.nodeId!==P&&e.parentId===A&&v(!1)}},[I,P,A]),f(()=>{y&&I&&I.events.emit(\"menuopen\",{parentId:A,nodeId:P})},[I,y,P,A]);const K={activeIndex:k,setActiveIndex:x,getItemProps:U,setHasFocusInside:b,isOpen:y,setIsOpen:v},G=u(()=>K,[k,x,U,b,y]),q=E(\"io-dropdown-menu-button\",L&&\"io-dropdown-menu-item\",y&&!L&&\"active\",n),J=xn([T.setReference,O.ref,g]),Y=N.activeIndex===O.index?0:-1;return t(to,{id:P,children:[e($,{className:q,ref:J,variant:L?\"link\":i,tabIndex:L?Y:void 0,role:L?\"menuitem\":void 0,\"data-open\":y?\"\":void 0,\"data-nested\":L?\"\":void 0,\"data-focus-inside\":w?\"\":void 0,text:s,icon:L?\"chevron-right\":r,iconSize:\"10\",iconRight:!!L||a,disabled:p,...W(N.getItemProps({onFocus(e){h.onFocus?.(e),b(!1),N.setHasFocusInside(!0)},...h}))}),e(Xo.Provider,{value:G,children:e(zn,{elementsRef:S,labelsRef:C,children:y&&e(Lo,{context:R,modal:!1,initialFocus:L?-1:0,returnFocus:!L,children:e(\"div\",{ref:T.setFloating,className:\"io-dropdown-menu\",style:D,...V(),children:m})})})})]})});Zo.displayName=\"DropdownMenu\";const ei=r(({...t},n)=>null===Zn()?e(no,{children:e(Zo,{ref:n,...t})}):e(Zo,{ref:n,...t}));ei.displayName=\"DropdownMenu\",ei.Item=Qo,ei.Separator=J;var ti=function(e){return e.reduce(function(e,t){var n=t[0],o=t[1];return e[n]=o,e},{})},ni=\"undefined\"!=typeof window&&window.document&&window.document.createElement?o.useLayoutEffect:o.useEffect,oi=\"top\",ii=\"bottom\",ri=\"right\",ai=\"left\",si=\"auto\",ci=[oi,ii,ri,ai],li=\"start\",ui=\"end\",di=\"viewport\",fi=\"popper\",pi=ci.reduce(function(e,t){return e.concat([t+\"-\"+li,t+\"-\"+ui])},[]),mi=[].concat(ci,[si]).reduce(function(e,t){return e.concat([t,t+\"-\"+li,t+\"-\"+ui])},[]),hi=[\"beforeRead\",\"read\",\"afterRead\",\"beforeMain\",\"main\",\"afterMain\",\"beforeWrite\",\"write\",\"afterWrite\"];function gi(e){return e?(e.nodeName||\"\").toLowerCase():null}function yi(e){if(null==e)return window;if(\"[object Window]\"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function vi(e){return e instanceof yi(e).Element||e instanceof Element}function wi(e){return e instanceof yi(e).HTMLElement||e instanceof HTMLElement}function bi(e){return\"undefined\"!=typeof ShadowRoot&&(e instanceof yi(e).ShadowRoot||e instanceof ShadowRoot)}var ki={name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},o=t.attributes[e]||{},i=t.elements[e];wi(i)&&gi(i)&&(Object.assign(i.style,n),Object.keys(o).forEach(function(e){var t=o[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?\"\":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var o=t.elements[e],i=t.attributes[e]||{},r=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=\"\",e},{});wi(o)&&gi(o)&&(Object.assign(o.style,r),Object.keys(i).forEach(function(e){o.removeAttribute(e)}))})}},requires:[\"computeStyles\"]};function xi(e){return e.split(\"-\")[0]}var Si=Math.max,Ci=Math.min,Ni=Math.round;function Ei(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+\"/\"+e.version}).join(\" \"):navigator.userAgent}function Ii(){return!/^((?!chrome|android).)*safari/i.test(Ei())}function Pi(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var o=e.getBoundingClientRect(),i=1,r=1;t&&wi(e)&&(i=e.offsetWidth>0&&Ni(o.width)/e.offsetWidth||1,r=e.offsetHeight>0&&Ni(o.height)/e.offsetHeight||1);var a=(vi(e)?yi(e):window).visualViewport,s=!Ii()&&n,c=(o.left+(s&&a?a.offsetLeft:0))/i,l=(o.top+(s&&a?a.offsetTop:0))/r,u=o.width/i,d=o.height/r;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function Ai(e){var t=Pi(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function Oi(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&bi(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function Li(e){return yi(e).getComputedStyle(e)}function Di(e){return[\"table\",\"td\",\"th\"].indexOf(gi(e))>=0}function Ti(e){return((vi(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ri(e){return\"html\"===gi(e)?e:e.assignedSlot||e.parentNode||(bi(e)?e.host:null)||Ti(e)}function Bi(e){return wi(e)&&\"fixed\"!==Li(e).position?e.offsetParent:null}function Mi(e){for(var t=yi(e),n=Bi(e);n&&Di(n)&&\"static\"===Li(n).position;)n=Bi(n);return n&&(\"html\"===gi(n)||\"body\"===gi(n)&&\"static\"===Li(n).position)?t:n||function(e){var t=/firefox/i.test(Ei());if(/Trident/i.test(Ei())&&wi(e)&&\"fixed\"===Li(e).position)return null;var n=Ri(e);for(bi(n)&&(n=n.host);wi(n)&&[\"html\",\"body\"].indexOf(gi(n))<0;){var o=Li(n);if(\"none\"!==o.transform||\"none\"!==o.perspective||\"paint\"===o.contain||-1!==[\"transform\",\"perspective\"].indexOf(o.willChange)||t&&\"filter\"===o.willChange||t&&o.filter&&\"none\"!==o.filter)return n;n=n.parentNode}return null}(e)||t}function Fi(e){return[\"top\",\"bottom\"].indexOf(e)>=0?\"x\":\"y\"}function $i(e,t,n){return Si(e,Ci(t,n))}function _i(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function ji(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var zi={name:\"arrow\",enabled:!0,phase:\"main\",fn:function(e){var t,n=e.state,o=e.name,i=e.options,r=n.elements.arrow,a=n.modifiersData.popperOffsets,s=xi(n.placement),c=Fi(s),l=[ai,ri].indexOf(s)>=0?\"height\":\"width\";if(r&&a){var u=function(e,t){return _i(\"number\"!=typeof(e=\"function\"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:ji(e,ci))}(i.padding,n),d=Ai(r),f=\"y\"===c?oi:ai,p=\"y\"===c?ii:ri,m=n.rects.reference[l]+n.rects.reference[c]-a[c]-n.rects.popper[l],h=a[c]-n.rects.reference[c],g=Mi(r),y=g?\"y\"===c?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,w=u[f],b=y-d[l]-u[p],k=y/2-d[l]/2+v,x=$i(w,k,b),S=c;n.modifiersData[o]=((t={})[S]=x,t.centerOffset=x-k,t)}},effect:function(e){var t=e.state,n=e.options.element,o=void 0===n?\"[data-popper-arrow]\":n;null!=o&&(\"string\"!=typeof o||(o=t.elements.popper.querySelector(o)))&&Oi(t.elements.popper,o)&&(t.elements.arrow=o)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function Hi(e){return e.split(\"-\")[1]}var Wi={top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function Vi(e){var t,n=e.popper,o=e.popperRect,i=e.placement,r=e.variation,a=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=a.x,p=void 0===f?0:f,m=a.y,h=void 0===m?0:m,g=\"function\"==typeof u?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var y=a.hasOwnProperty(\"x\"),v=a.hasOwnProperty(\"y\"),w=ai,b=oi,k=window;if(l){var x=Mi(n),S=\"clientHeight\",C=\"clientWidth\";if(x===yi(n)&&\"static\"!==Li(x=Ti(n)).position&&\"absolute\"===s&&(S=\"scrollHeight\",C=\"scrollWidth\"),i===oi||(i===ai||i===ri)&&r===ui)b=ii,h-=(d&&x===k&&k.visualViewport?k.visualViewport.height:x[S])-o.height,h*=c?1:-1;if(i===ai||(i===oi||i===ii)&&r===ui)w=ri,p-=(d&&x===k&&k.visualViewport?k.visualViewport.width:x[C])-o.width,p*=c?1:-1}var N,E=Object.assign({position:s},l&&Wi),I=!0===u?function(e,t){var n=e.x,o=e.y,i=t.devicePixelRatio||1;return{x:Ni(n*i)/i||0,y:Ni(o*i)/i||0}}({x:p,y:h},yi(n)):{x:p,y:h};return p=I.x,h=I.y,c?Object.assign({},E,((N={})[b]=v?\"0\":\"\",N[w]=y?\"0\":\"\",N.transform=(k.devicePixelRatio||1)<=1?\"translate(\"+p+\"px, \"+h+\"px)\":\"translate3d(\"+p+\"px, \"+h+\"px, 0)\",N)):Object.assign({},E,((t={})[b]=v?h+\"px\":\"\",t[w]=y?p+\"px\":\"\",t.transform=\"\",t))}var Ui={passive:!0};var Ki={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function Gi(e){return e.replace(/left|right|bottom|top/g,function(e){return Ki[e]})}var qi={start:\"end\",end:\"start\"};function Ji(e){return e.replace(/start|end/g,function(e){return qi[e]})}function Yi(e){var t=yi(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Xi(e){return Pi(Ti(e)).left+Yi(e).scrollLeft}function Qi(e){var t=Li(e),n=t.overflow,o=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+o)}function Zi(e){return[\"html\",\"body\",\"#document\"].indexOf(gi(e))>=0?e.ownerDocument.body:wi(e)&&Qi(e)?e:Zi(Ri(e))}function er(e,t){var n;void 0===t&&(t=[]);var o=Zi(e),i=o===(null==(n=e.ownerDocument)?void 0:n.body),r=yi(o),a=i?[r].concat(r.visualViewport||[],Qi(o)?o:[]):o,s=t.concat(a);return i?s:s.concat(er(Ri(a)))}function tr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function nr(e,t,n){return t===di?tr(function(e,t){var n=yi(e),o=Ti(e),i=n.visualViewport,r=o.clientWidth,a=o.clientHeight,s=0,c=0;if(i){r=i.width,a=i.height;var l=Ii();(l||!l&&\"fixed\"===t)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:r,height:a,x:s+Xi(e),y:c}}(e,n)):vi(t)?function(e,t){var n=Pi(e,!1,\"fixed\"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):tr(function(e){var t,n=Ti(e),o=Yi(e),i=null==(t=e.ownerDocument)?void 0:t.body,r=Si(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),a=Si(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),s=-o.scrollLeft+Xi(e),c=-o.scrollTop;return\"rtl\"===Li(i||n).direction&&(s+=Si(n.clientWidth,i?i.clientWidth:0)-r),{width:r,height:a,x:s,y:c}}(Ti(e)))}function or(e,t,n,o){var i=\"clippingParents\"===t?function(e){var t=er(Ri(e)),n=[\"absolute\",\"fixed\"].indexOf(Li(e).position)>=0&&wi(e)?Mi(e):e;return vi(n)?t.filter(function(e){return vi(e)&&Oi(e,n)&&\"body\"!==gi(e)}):[]}(e):[].concat(t),r=[].concat(i,[n]),a=r[0],s=r.reduce(function(t,n){var i=nr(e,n,o);return t.top=Si(i.top,t.top),t.right=Ci(i.right,t.right),t.bottom=Ci(i.bottom,t.bottom),t.left=Si(i.left,t.left),t},nr(e,a,o));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function ir(e){var t,n=e.reference,o=e.element,i=e.placement,r=i?xi(i):null,a=i?Hi(i):null,s=n.x+n.width/2-o.width/2,c=n.y+n.height/2-o.height/2;switch(r){case oi:t={x:s,y:n.y-o.height};break;case ii:t={x:s,y:n.y+n.height};break;case ri:t={x:n.x+n.width,y:c};break;case ai:t={x:n.x-o.width,y:c};break;default:t={x:n.x,y:n.y}}var l=r?Fi(r):null;if(null!=l){var u=\"y\"===l?\"height\":\"width\";switch(a){case li:t[l]=t[l]-(n[u]/2-o[u]/2);break;case ui:t[l]=t[l]+(n[u]/2-o[u]/2)}}return t}function rr(e,t){void 0===t&&(t={});var n=t,o=n.placement,i=void 0===o?e.placement:o,r=n.strategy,a=void 0===r?e.strategy:r,s=n.boundary,c=void 0===s?\"clippingParents\":s,l=n.rootBoundary,u=void 0===l?di:l,d=n.elementContext,f=void 0===d?fi:d,p=n.altBoundary,m=void 0!==p&&p,h=n.padding,g=void 0===h?0:h,y=_i(\"number\"!=typeof g?g:ji(g,ci)),v=f===fi?\"reference\":fi,w=e.rects.popper,b=e.elements[m?v:f],k=or(vi(b)?b:b.contextElement||Ti(e.elements.popper),c,u,a),x=Pi(e.elements.reference),S=ir({reference:x,element:w,strategy:\"absolute\",placement:i}),C=tr(Object.assign({},w,S)),N=f===fi?C:x,E={top:k.top-N.top+y.top,bottom:N.bottom-k.bottom+y.bottom,left:k.left-N.left+y.left,right:N.right-k.right+y.right},I=e.modifiersData.offset;if(f===fi&&I){var P=I[i];Object.keys(E).forEach(function(e){var t=[ri,ii].indexOf(e)>=0?1:-1,n=[oi,ii].indexOf(e)>=0?\"y\":\"x\";E[e]+=P[n]*t})}return E}function ar(e,t){void 0===t&&(t={});var n=t,o=n.placement,i=n.boundary,r=n.rootBoundary,a=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=void 0===c?mi:c,u=Hi(o),d=u?s?pi:pi.filter(function(e){return Hi(e)===u}):ci,f=d.filter(function(e){return l.indexOf(e)>=0});0===f.length&&(f=d);var p=f.reduce(function(t,n){return t[n]=rr(e,{placement:n,boundary:i,rootBoundary:r,padding:a})[xi(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}var sr={name:\"flip\",enabled:!0,phase:\"main\",fn:function(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var i=n.mainAxis,r=void 0===i||i,a=n.altAxis,s=void 0===a||a,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=void 0===p||p,h=n.allowedAutoPlacements,g=t.options.placement,y=xi(g),v=c||(y===g||!m?[Gi(g)]:function(e){if(xi(e)===si)return[];var t=Gi(e);return[Ji(e),t,Ji(t)]}(g)),w=[g].concat(v).reduce(function(e,n){return e.concat(xi(n)===si?ar(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,k=t.rects.popper,x=new Map,S=!0,C=w[0],N=0;N<w.length;N++){var E=w[N],I=xi(E),P=Hi(E)===li,A=[oi,ii].indexOf(I)>=0,O=A?\"width\":\"height\",L=rr(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),D=A?P?ri:ai:P?ii:oi;b[O]>k[O]&&(D=Gi(D));var T=Gi(D),R=[];if(r&&R.push(L[I]<=0),s&&R.push(L[D]<=0,L[T]<=0),R.every(function(e){return e})){C=E,S=!1;break}x.set(E,R)}if(S)for(var B=function(e){var t=w.find(function(t){var n=x.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return C=t,\"break\"},M=m?3:1;M>0;M--){if(\"break\"===B(M))break}t.placement!==C&&(t.modifiersData[o]._skip=!0,t.placement=C,t.reset=!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}};function cr(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function lr(e){return[oi,ri,ii,ai].some(function(t){return e[t]>=0})}var ur={name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(e){var t=e.state,n=e.options,o=e.name,i=n.offset,r=void 0===i?[0,0]:i,a=mi.reduce(function(e,n){return e[n]=function(e,t,n){var o=xi(e),i=[ai,oi].indexOf(o)>=0?-1:1,r=\"function\"==typeof n?n(Object.assign({},t,{placement:e})):n,a=r[0],s=r[1];return a=a||0,s=(s||0)*i,[ai,ri].indexOf(o)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,r),e},{}),s=a[t.placement],c=s.x,l=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[o]=a}};var dr={name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(e){var t=e.state,n=e.options,o=e.name,i=n.mainAxis,r=void 0===i||i,a=n.altAxis,s=void 0!==a&&a,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=void 0===f||f,m=n.tetherOffset,h=void 0===m?0:m,g=rr(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),y=xi(t.placement),v=Hi(t.placement),w=!v,b=Fi(y),k=\"x\"===b?\"y\":\"x\",x=t.modifiersData.popperOffsets,S=t.rects.reference,C=t.rects.popper,N=\"function\"==typeof h?h(Object.assign({},t.rects,{placement:t.placement})):h,E=\"number\"==typeof N?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),I=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,P={x:0,y:0};if(x){if(r){var A,O=\"y\"===b?oi:ai,L=\"y\"===b?ii:ri,D=\"y\"===b?\"height\":\"width\",T=x[b],R=T+g[O],B=T-g[L],M=p?-C[D]/2:0,F=v===li?S[D]:C[D],$=v===li?-C[D]:-S[D],_=t.elements.arrow,j=p&&_?Ai(_):{width:0,height:0},z=t.modifiersData[\"arrow#persistent\"]?t.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},H=z[O],W=z[L],V=$i(0,S[D],j[D]),U=w?S[D]/2-M-V-H-E.mainAxis:F-V-H-E.mainAxis,K=w?-S[D]/2+M+V+W+E.mainAxis:$+V+W+E.mainAxis,G=t.elements.arrow&&Mi(t.elements.arrow),q=G?\"y\"===b?G.clientTop||0:G.clientLeft||0:0,J=null!=(A=null==I?void 0:I[b])?A:0,Y=T+K-J,X=$i(p?Ci(R,T+U-J-q):R,T,p?Si(B,Y):B);x[b]=X,P[b]=X-T}if(s){var Q,Z=\"x\"===b?oi:ai,ee=\"x\"===b?ii:ri,te=x[k],ne=\"y\"===k?\"height\":\"width\",oe=te+g[Z],ie=te-g[ee],re=-1!==[oi,ai].indexOf(y),ae=null!=(Q=null==I?void 0:I[k])?Q:0,se=re?oe:te-S[ne]-C[ne]-ae+E.altAxis,ce=re?te+S[ne]+C[ne]-ae-E.altAxis:ie,le=p&&re?function(e,t,n){var o=$i(e,t,n);return o>n?n:o}(se,te,ce):$i(p?se:oe,te,p?ce:ie);x[k]=le,P[k]=le-te}t.modifiersData[o]=P}},requiresIfExists:[\"offset\"]};function fr(e,t,n){void 0===n&&(n=!1);var o,i,r=wi(t),a=wi(t)&&function(e){var t=e.getBoundingClientRect(),n=Ni(t.width)/e.offsetWidth||1,o=Ni(t.height)/e.offsetHeight||1;return 1!==n||1!==o}(t),s=Ti(t),c=Pi(e,a,n),l={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(r||!r&&!n)&&((\"body\"!==gi(t)||Qi(s))&&(l=(o=t)!==yi(o)&&wi(o)?{scrollLeft:(i=o).scrollLeft,scrollTop:i.scrollTop}:Yi(o)),wi(t)?((u=Pi(t,!0)).x+=t.clientLeft,u.y+=t.clientTop):s&&(u.x=Xi(s))),{x:c.left+l.scrollLeft-u.x,y:c.top+l.scrollTop-u.y,width:c.width,height:c.height}}function pr(e){var t=new Map,n=new Set,o=[];function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var o=t.get(e);o&&i(o)}}),o.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||i(e)}),o}var mr={placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function hr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(e){return!(e&&\"function\"==typeof e.getBoundingClientRect)})}function gr(e){void 0===e&&(e={});var t=e,n=t.defaultModifiers,o=void 0===n?[]:n,i=t.defaultOptions,r=void 0===i?mr:i;return function(e,t,n){void 0===n&&(n=r);var i,a,s={placement:\"bottom\",orderedModifiers:[],options:Object.assign({},mr,r),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},c=[],l=!1,u={state:s,setOptions:function(n){var i=\"function\"==typeof n?n(s.options):n;d(),s.options=Object.assign({},r,s.options,i),s.scrollParents={reference:vi(e)?er(e):e.contextElement?er(e.contextElement):[],popper:er(t)};var a,l,f=function(e){var t=pr(e);return hi.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}((a=[].concat(o,s.options.modifiers),l=a.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{}),Object.keys(l).map(function(e){return l[e]})));return s.orderedModifiers=f.filter(function(e){return e.enabled}),s.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,o=void 0===n?{}:n,i=e.effect;if(\"function\"==typeof i){var r=i({state:s,name:t,instance:u,options:o}),a=function(){};c.push(r||a)}}),u.update()},forceUpdate:function(){if(!l){var e=s.elements,t=e.reference,n=e.popper;if(hr(t,n)){s.rects={reference:fr(t,Mi(n),\"fixed\"===s.options.strategy),popper:Ai(n)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach(function(e){return s.modifiersData[e.name]=Object.assign({},e.data)});for(var o=0;o<s.orderedModifiers.length;o++)if(!0!==s.reset){var i=s.orderedModifiers[o],r=i.fn,a=i.options,c=void 0===a?{}:a,d=i.name;\"function\"==typeof r&&(s=r({state:s,options:c,name:d,instance:u})||s)}else s.reset=!1,o=-1}}},update:(i=function(){return new Promise(function(e){u.forceUpdate(),e(s)})},function(){return a||(a=new Promise(function(e){Promise.resolve().then(function(){a=void 0,e(i())})})),a}),destroy:function(){d(),l=!0}};if(!hr(e,t))return u;function d(){c.forEach(function(e){return e()}),c=[]}return u.setOptions(n).then(function(e){!l&&n.onFirstUpdate&&n.onFirstUpdate(e)}),u}}var yr=gr({defaultModifiers:[{name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=e.options,i=o.scroll,r=void 0===i||i,a=o.resize,s=void 0===a||a,c=yi(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&l.forEach(function(e){e.addEventListener(\"scroll\",n.update,Ui)}),s&&c.addEventListener(\"resize\",n.update,Ui),function(){r&&l.forEach(function(e){e.removeEventListener(\"scroll\",n.update,Ui)}),s&&c.removeEventListener(\"resize\",n.update,Ui)}},data:{}},{name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ir({reference:t.rects.reference,element:t.rects.popper,strategy:\"absolute\",placement:t.placement})},data:{}},{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(e){var t=e.state,n=e.options,o=n.gpuAcceleration,i=void 0===o||o,r=n.adaptive,a=void 0===r||r,s=n.roundOffsets,c=void 0===s||s,l={placement:xi(t.placement),variation:Hi(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:\"fixed\"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,Vi(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,Vi(Object.assign({},l,{offsets:t.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{\"data-popper-placement\":t.placement})},data:{}},ki,ur,sr,dr,zi,{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(e){var t=e.state,n=e.name,o=t.rects.reference,i=t.rects.popper,r=t.modifiersData.preventOverflow,a=rr(t,{elementContext:\"reference\"}),s=rr(t,{altBoundary:!0}),c=cr(a,o),l=cr(s,i,r),u=lr(c),d=lr(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{\"data-popper-reference-hidden\":u,\"data-popper-escaped\":d})}}]}),vr=\"undefined\"!=typeof Element,wr=\"function\"==typeof Map,br=\"function\"==typeof Set,kr=\"function\"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function xr(e,t){if(e===t)return!0;if(e&&t&&\"object\"==typeof e&&\"object\"==typeof t){if(e.constructor!==t.constructor)return!1;var n,o,i,r;if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(o=n;0!==o--;)if(!xr(e[o],t[o]))return!1;return!0}if(wr&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r=e.entries();!(o=r.next()).done;)if(!t.has(o.value[0]))return!1;for(r=e.entries();!(o=r.next()).done;)if(!xr(o.value[1],t.get(o.value[0])))return!1;return!0}if(br&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r=e.entries();!(o=r.next()).done;)if(!t.has(o.value[0]))return!1;return!0}if(kr&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if((n=e.length)!=t.length)return!1;for(o=n;0!==o--;)if(e[o]!==t[o])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&\"function\"==typeof e.valueOf&&\"function\"==typeof t.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&\"function\"==typeof e.toString&&\"function\"==typeof t.toString)return e.toString()===t.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(o=n;0!==o--;)if(!Object.prototype.hasOwnProperty.call(t,i[o]))return!1;if(vr&&e instanceof Element)return!1;for(o=n;0!==o--;)if((\"_owner\"!==i[o]&&\"__v\"!==i[o]&&\"__o\"!==i[o]||!e.$$typeof)&&!xr(e[i[o]],t[i[o]]))return!1;return!0}return e!=e&&t!=t}var Sr=function(e,t){try{return xr(e,t)}catch(e){if((e.message||\"\").match(/stack|recursion/i))return console.warn(\"react-fast-compare cannot handle circular refs\"),!1;throw e}},Cr=S(Sr),Nr=[];function Er({className:t,variant:n=\"default\",size:o=\"16\",src:i,alt:r,...a}){const s=E(\"io-image-icon\",\"grayscale\"===n&&[`io-image-icon-${n}`],o&&[`io-image-icon-${o}`],t);return e(\"img\",{className:s,style:{width:`${o}px`,filter:\"grayscale\"===n?\"grayscale(100%)\":\"none\"},src:i,alt:r,...a})}const Ir=r((n,o)=>{const{title:i,actions:r,className:a,onClose:s,onActionItemClick:c,\"data-testid\":u=\"context-menu\",...p}=n,m=d({}),[g,y]=l(0),v=e=>{m.current[e]?.focus(),y(e)};return f(()=>{m.current[g]?.focus()},[]),t(Q,{ref:o,className:E(a,\"context-menu\"),onClick:e=>e.stopPropagation(),onKeyDown:e=>M({event:e,currentIndex:g,min:0,max:r.length-1,moveFocus:v,onClose:s}),\"data-testid\":u,...p,children:[i&&e(Q.ItemSection,{children:i}),r.map((n,o)=>{const i=n.displayName||n.name,r=n.iconSrc?e(Er,{size:\"16\",src:n.iconSrc,alt:`${i} icon`}):n.icon&&e(I,{size:\"16\",variant:n.icon});return t(h,{children:[e(Q.Item,{ref:e=>m.current[o]=e,prepend:r,disabled:n.disabled,tabIndex:-1,...B(e=>c(e,n)),\"data-testid\":`${u}-item-${n.name}`,children:i}),n.separatorAfter&&e(\"li\",{className:\"context-menu-separator\",\"aria-hidden\":!0,\"data-testid\":`${u}-separator`})]},n.name)})]})});Ir.displayName=\"ContextMenuActionsList\";const Pr=()=>{const[e,t]=l([]),n=c(x);return f(()=>{if(!n)return;const e=e=>{const{name:t,title:n,caption:o,icon:i,userProperties:r}=e;return{id:t,name:t,title:n??t,caption:o,icon:i,userProperties:r}},o=n.appManager.onAppAdded(n=>{if(n.userProperties.hidden||\"hidden\"in n&&n.hidden)return;const o=e(n);t(e=>[...e,o])}),i=n.appManager.onAppChanged(n=>{if(n.userProperties.hidden||\"hidden\"in n&&n.hidden)return;const o=e(n);t(e=>[...e.filter(e=>e.id!==o.id),o])}),r=[o,n.appManager.onAppRemoved(n=>{const o=e(n);t(e=>e.filter(e=>e.id!==o.id))}),i];return()=>r.forEach(e=>e())},[n]),e},Ar=()=>{const[e,t]=l(),n=c(x);return f(()=>{try{const e=!n.windows.my()?.name?window.workspacesManager?.getFrameId()||(()=>{if(!window.name)throw new Error(\"The frame id is not available because the platform is still initializing\");return window.name})():void 0;t(e)}catch(e){console.error(\"Failed to get the current frame ID \",{error:e})}},[n,t]),e},Or=()=>void 0!==window.glue42gd||void 0!==window.glue42alert||void 0!==window.glue42dialog||void 0!==window.iodesktop,Lr=\"openInNewWindow\",Dr=\"openInNewWorkspace\",Tr=Or()?[]:[{name:Lr,displayName:\"Open in a new window\",icon:\"pop-out\"},{name:Dr,displayName:\"Open in a new Workspace\",icon:\"pop-out\"}],Rr=\"openInNewWindow\",Br=\"delete\",Mr=[{name:Rr,displayName:\"Open in a new window\",icon:\"pop-out\",separatorAfter:!0},{name:Br,displayName:\"Delete\",icon:\"trash-can\"}],Fr=\"success\",$r=\"warning\",_r={success:5e3,warning:1e4},jr=e=>\"string\"==typeof e?e:e?.message?\"string\"==typeof e.message?e.message:JSON.stringify(e.message):JSON.stringify(e),zr=async e=>{const{io:t,variant:n,text:o,error:i}=e,r=jr(i);try{if(n===$r&&t.logger.warn(r?`${o} ${r}`:o),!(\"modals\"in t)||!t.modals)throw new Error(\"Modals are not enabled.\");const e={text:o,variant:n,ttl:_r[n]};await t.modals.alerts.request(e)}catch(e){console.warn(\"Failed to request alert. \",{error:e})}},Hr={[Lr]:async e=>{const{io:t,item:n}=e;try{await(t.appManager.application(n.id)?.start())}catch(e){await zr({io:t,variant:$r,text:`Failed to start app \"${n.title}\" in a new window.`,error:e})}},[Dr]:async e=>{const{io:t,item:n,frameId:o}=e;if(!t.workspaces)return;const i={type:\"workspace\",definition:{frame:o?{reuseFrameId:o}:{newFrame:!0}}},r=t.workspaces.getBuilder(i);r.addGroup().addWindow({appName:n.id});try{await r.create()}catch(e){await zr({io:t,variant:$r,text:`Failed to start app \"${n.title}\" in a new Workspace.`,error:e})}}},Wr=()=>{const e=c(x),t=Ar();return(n,o)=>{Hr[o]({io:e,item:n,frameId:t})}},Vr={NO_INPUTS_CONFIRMATION_DIALOG:\"noInputsConfirmationDialog\",SINGLE_CHECKBOX_DIALOG:\"singleCheckboxDialog\",SINGLE_TEXT_INPUT_DIALOG:\"singleTextInputDialog\"},Ur=\"(.|\\\\s)*\\\\S(.|\\\\s)*\",Kr={delete:async e=>{const{io:t,layout:n,showDeletePromptPref:o,updateShowDeletePromptPref:i}=e;if(\"modals\"in t&&t.modals&&o){const e=\"delete\",o=\"do-not-ask-again\",{isEnterPressed:r,responseButtonClicked:a,inputs:s}=await t.modals.dialogs.request({templateName:Vr.SINGLE_CHECKBOX_DIALOG,variables:{heading:`Delete Layout \"${n.name}\"`,text:\"Are you sure you want to delete this Layout?\",checkbox:{id:o,label:\"Don't ask me again\"},actionButtons:[{variant:\"critical\",text:\"Delete\",id:e},{variant:\"outline\",text:\"Cancel\",id:\"cancel\",autofocus:!0}]}}),c=s?.find(e=>e.id===o)?.checked;c&&i(!1);if(!(r||a?.id===e))return}try{await t.layouts.remove(\"Global\",n.name),n.isDefault&&await t.layouts.clearDefaultGlobal(),await zr({io:t,variant:Fr,text:`Layout \"${n.name}\" was successfully deleted.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to delete Layout \"${n.name}\".`,error:e})}},rename:async e=>{const{io:t,layout:n,setDefaultLayout:o}=e;if(!(\"modals\"in t)||!t.modals)return void console.error(\"Cannot rename Layout because io dialogs are not enabled\");const i=\"rename\",r=\"new-layout-name\",{isEnterPressed:a,responseButtonClicked:s,inputs:c}=await t.modals.dialogs.request({templateName:Vr.SINGLE_TEXT_INPUT_DIALOG,variables:{heading:`Rename \"${n.name}\"`,input:{id:r,initialValue:n.name,validation:{disabledButtonIds:[i],errorMessage:\"Please provide a Layout name\",regexPattern:Ur}},actionButtons:[{variant:\"primary\",text:\"Rename\",id:i},{variant:\"outline\",text:\"Cancel\",id:\"cancel\"}]}}),l=c?.find(e=>e.id===r)?.value;if(!l)return;if(a||s?.id===i)if(l!==n.name)try{const e=(await t.layouts.getAll(\"Global\")).find(e=>e.name===l);if(e)return void await zr({io:t,variant:$r,text:`Failed to rename Layout \"${n.name}\" to \"${l}\". A Layout with name \"${l}\" already exists.`});const i=await t.layouts.get(n.name,\"Global\");if(!i)return void await zr({io:t,variant:$r,text:`Failed to rename Layout \"${n.name}\". The Layout wasn't found.`});await t.layouts.rename(i,l),n.isDefault&&await o({name:l}),await zr({io:t,variant:Fr,text:`Layout \"${n.name}\" was successfully renamed to \"${l}\".`})}catch(e){await zr({io:t,variant:$r,text:`Failed to rename Layout \"${n.name}\".`,error:e})}else await zr({io:t,variant:$r,text:`Failed to rename Layout \"${n.name}\". The new Layout name must be different from the current one.`})},save:async e=>{const{io:t,layout:n}=e;try{await t.layouts.save({name:n.name,type:\"Global\"}),await zr({io:t,variant:Fr,text:`Layout \"${n.name}\" was saved successfully.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to save Layout \"${n.name}\".`,error:e})}},saveAs:async e=>{const{io:t,layout:n,setActiveLayout:o}=e;if(!(\"modals\"in t)||!t.modals)return void console.error(\"Cannot save Layout under a new name because io dialogs are not enabled\");const i=\"save-as\",r=\"layout-name\",{isEnterPressed:a,responseButtonClicked:s,inputs:c}=await t.modals.dialogs.request({templateName:Vr.SINGLE_TEXT_INPUT_DIALOG,variables:{heading:`Save Layout \"${n.name}\" as`,input:{id:r,initialValue:n.name,validation:{disabledButtonIds:[i],errorMessage:\"Please provide a Layout name\",regexPattern:Ur}},actionButtons:[{variant:\"primary\",text:\"Save as\",id:i},{variant:\"outline\",text:\"Cancel\",id:\"cancel\"}]}}),l=c?.find(e=>e.id===r)?.value;if(!l)return;if(a||s?.id===i)if(l!==n.name)try{const e=(await t.layouts.getAll(\"Global\")).find(e=>e.name===l);if(e)return void await zr({io:t,variant:$r,text:`Failed to save Layout as \"${l}\". A Layout with this name already exists.`});const i=await t.layouts.get(n.name,\"Global\");if(!i)return void await zr({io:t,variant:$r,text:`Failed to save Layout \"${n.name}\". The Layout wasn't found.`});await t.layouts.import([{...i,name:l}],\"merge\"),n.isActive&&o({name:l}),await zr({io:t,variant:Fr,text:`The Layout was successfully saved as \"${l}\".`})}catch(e){await zr({io:t,variant:$r,text:`Failed to save Layout \"${l}\".`,error:e})}else await zr({io:t,variant:$r,text:`Failed to save Layout as \"${l}\". The new Layout must have a unique name.`})},setAsDefault:async e=>{const{io:t,layout:n,setDefaultLayout:o}=e;try{await o({name:n.name}),await zr({io:t,variant:Fr,text:`Layout \"${n.name}\" was successfully set as the default Layout.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to set Layout \"${n.name}\" as the default Layout.`})}},load:async e=>{const{io:t,layout:n,closeLaunchpad:o}=e;try{await t.layouts.restore({name:n.name}),o(),await zr({io:t,variant:Fr,text:`Layout \"${n.name}\" was loaded successfully.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to load Layout \"${n.name}\".`,error:e})}}};var Gr=function(e){return{ok:!0,result:e}},qr=function(e){return{ok:!1,error:e}},Jr=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:Gr(e(t.result,n.result))},Yr=function(e,t){return!0===t.ok?t:qr(e(t.error))},Xr=function(){return Xr=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Xr.apply(this,arguments)};function Qr(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if(\"object\"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!Qr(e[n],t[n]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(n=0;n<o.length;n++){if(!t.hasOwnProperty(o[n]))return!1;if(!Qr(e[o[n]],t[o[n]]))return!1}return!0}}var Zr=function(e){return Array.isArray(e)},ea=function(e){return\"object\"==typeof e&&null!==e&&!Zr(e)},ta=function(e,t){return\"expected \"+e+\", got \"+function(e){switch(typeof e){case\"string\":return\"a string\";case\"number\":return\"a number\";case\"boolean\":return\"a boolean\";case\"undefined\":return\"undefined\";case\"object\":return e instanceof Array?\"an array\":null===e?\"null\":\"an object\";default:return JSON.stringify(e)}}(t)},na=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},oa=function(e,t){var n=t.at,o=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}(t,[\"at\"]);return Xr({at:e+(n||\"\")},o)},ia=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return Yr(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return function(e){return!0===e.ok?Promise.resolve(e.result):Promise.reject(e.error)}(n.run(e))},this.runWithException=function(e){return function(e){if(!0===e.ok)return e.result;throw e.error}(n.run(e))},this.map=function(t){return new e(function(e){return function(e,t){return!0===t.ok?Gr(e(t.result)):t}(t,n.decode(e))})},this.andThen=function(t){return new e(function(e){return function(e,t){return!0===t.ok?e(t.result):t}(function(n){return t(n).decode(e)},n.decode(e))})},this.where=function(t,o){return n.andThen(function(n){return t(n)?e.succeed(n):e.fail(o)})}}return e.string=function(){return new e(function(e){return\"string\"==typeof e?Gr(e):qr({message:ta(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?Gr(e):qr({message:ta(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?Gr(e):qr({message:ta(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return Qr(e,t)?Gr(t):qr({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(ea(e)&&t){var n={};for(var o in t)if(t.hasOwnProperty(o)){var i=t[o].decode(e[o]);if(!0!==i.ok)return void 0===e[o]?qr({message:\"the key '\"+o+\"' is required but was not present\"}):qr(oa(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return Gr(n)}return ea(e)?Gr(e):qr({message:ta(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(Zr(e)&&t){return e.reduce(function(e,n,o){return Jr(function(e,t){return e.concat([t])},e,function(e,n){return Yr(function(e){return oa(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},Gr([]))}return Zr(e)?Gr(e):qr({message:ta(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(Zr(e)){if(e.length!==t.length)return qr({message:\"expected a tuple of length \"+t.length+\", got one of length \"+e.length});for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e[o]);if(!i.ok)return qr(oa(\"[\"+o+\"]\",i.error));n[o]=i.result}return Gr(n)}return qr({message:ta(\"a tuple of length \"+t.length,e)})})},e.union=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e.oneOf.apply(e,[t,n].concat(o))},e.intersection=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return new e(function(e){return[t,n].concat(o).reduce(function(t,n){return Jr(Object.assign,t,n.decode(e))},Gr({}))})},e.anyJson=function(){return new e(function(e){return Gr(e)})},e.unknownJson=function(){return new e(function(e){return Gr(e)})},e.dict=function(t){return new e(function(e){if(ea(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return qr(oa(\".\"+o,i.error));n[o]=i.result}return Gr(n)}return qr({message:ta(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?Gr(void 0):t.decode(e)})},e.oneOf=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new e(function(e){for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e);if(!0===i.ok)return i;n[o]=i.error}var r=n.map(function(e){return\"at error\"+(e.at||\"\")+\": \"+e.message}).join('\", \"');return qr({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return Gr(function(e,t){return!0===t.ok?t.result:e}(t,n.decode(e)))})},e.valueAt=function(t,n){return new e(function(e){for(var o=e,i=0;i<t.length;i++){if(void 0===o)return qr({at:na(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!ea(o))return qr({at:na(t.slice(0,i+1)),message:ta(\"an object\",o)});if(\"number\"==typeof t[i]&&!Zr(o))return qr({at:na(t.slice(0,i+1)),message:ta(\"an array\",o)});o=o[t[i]]}return Yr(function(e){return void 0===o?{at:na(t),message:\"path does not exist\"}:oa(na(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return Gr(t)})},e.fail=function(t){return new e(function(e){return qr({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),ra=ia.string,aa=ia.number,sa=ia.boolean,ca=ia.anyJson;ia.unknownJson;var la=ia.constant,ua=ia.object,da=ia.array;ia.tuple,ia.dict;var fa=ia.optional,pa=ia.oneOf;ia.union,ia.intersection,ia.withDefault,ia.valueAt,ia.succeed;var ma=ia.fail;ia.lazy;const ha=ra().where(e=>e.length>0,\"Expected a non-empty string\"),ga=aa().where(e=>e>=0,\"Expected a non-negative number\"),ya=ua({name:ha}),va=(e,t,n)=>{const[o,i]=l(()=>{try{const n=window[e].getItem(t);return n?JSON.parse(n):null}catch(e){return console.log(e),null}}),r=`${e}-${t}`;f(()=>{const e=e=>{i(e.detail)};return window.addEventListener(r,e),()=>{window.removeEventListener(r,e)}},[r]);const s=a(o=>{try{if(!o)return window[e].removeItem(t),void i(null);const a=n.run(o);if(!a.ok)return void console.warn(`Error validating the value to be stored: ${a.error.message}`);const s=a.result;i(s),window[e].setItem(t,JSON.stringify(s)),window.dispatchEvent(new CustomEvent(r,{detail:s}))}catch(e){console.log(e)}},[t,e,r,n]);return[o,s]},wa=()=>{const[e,t]=va(\"sessionStorage\",\"interopio_home_ui_active_layout\",ya);return{activeLayout:e,setActiveLayout:t}},ba=()=>{const e=c(x);return a(async(t,n)=>{if(e)try{await e.layouts.restore({name:t}),n?.({name:t}),await zr({io:e,variant:Fr,text:`Layout \"${t}\" was loaded successfully.`})}catch(n){await zr({io:e,variant:$r,text:`Failed to load Layout \"${t}\".`,error:n})}},[e])},ka=\"Control\",xa=\"Shift\",Sa=()=>{const e=c(x),t=Ar();return async({id:n,modifier:o,reuseWorkspaceId:i})=>{try{const r=o===ka?{newFrame:!0}:{frameId:t,reuseWorkspaceId:i};await(e.workspaces?.restoreWorkspace(n,r))}catch(t){await zr({io:e,variant:$r,text:`Failed to load Workspace \"${n}\".`,error:t})}}},Ca=e=>e.trim().length>0,Na=s(void 0),Ea=()=>{const e=c(Na);if(void 0===e)throw new Error(\"useLaunchpadAPI must be used within a LaunchpadAPIProvider\");return e},Ia=({children:t,close:n,isOpen:o,isGlobalLayoutsAvailable:i})=>{const[r,s]=l(!1),{defaultLayout:p,activeLayout:m,setDefaultLayout:h,setActiveLayout:g}=((e,t)=>{const[n,o]=l(void 0),i=d(!1),{activeLayout:r,setActiveLayout:s}=wa(),u=ba(),p=Sa(),m=c(x),h=a(async({name:e})=>{try{await m.layouts.setDefaultGlobal(e)}catch(e){console.error(\"Failed to set default Layout: \",{error:e})}},[m]);return f(()=>{if(m)return m.layouts.onDefaultGlobalChanged(e=>{o(e)})},[m]),f(()=>{if(m)return m.layouts.onRestored(e=>{s({name:e.name})})},[m]),f(()=>{if(m)return m.layouts.onRemoved(e=>{e?.name===r?.name&&s(null)})},[m,r]),f(()=>{if(m)return m.layouts.onRenamed((e,t)=>{t?.name===r?.name&&s({name:e.name})})},[m,r]),f(()=>{m&&window.iobrowser?.platformStarted&&!i.current&&(async()=>{i.current=!0;const n=await m.layouts.getDefaultGlobal()??(await m.layouts.getAll(\"Global\")).find(e=>\"Welcome\"===e.name);if(!n)return;if(o({name:n.name}),r)return;if(e(!0),t)return await u(n.name),void e(!1);const a=await(m.workspaces?.getWorkspace(e=>0===e.children.length)),s=await m.layouts.get(n.name,\"Global\");if(!s)throw new Error(\"Default Global Layout not found.\");const c=s.components.reduce((e,t)=>{if(\"workspaceFrame\"===t.type){const n=t.state.workspaces.map(e=>e.config.name);e.push(...n)}return e},[]);Promise.all(c.map((e,t)=>p({id:e,reuseWorkspaceId:0===t?a?.id:void 0}))),e(!1)})().catch(e=>console.error(\"Initial Global Layout setup failed. \",jr(e)))},[m,r,u,p,t]),{defaultLayout:n,activeLayout:r,setDefaultLayout:h,setActiveLayout:s}})(s,i),y=u(()=>({close:n,isOpen:o,defaultLayout:p,activeLayout:m,setDefaultLayout:h,setActiveLayout:g,isLayoutOperationBlocked:r,setIsLayoutOperationBlocked:s,isGlobalLayoutsAvailable:i}),[n,o,p,m,h,g,r,i]);return e(Na.Provider,{value:y,children:t})},Pa=\"io-connect-platform\",Aa=\"___platform_prefs___\",Oa=\"_launchpad_collapsedSections\",La=\"_launchpad_favorites\",Da=\"_launchpad_recent\",Ta=\"_launchpad_isLayoutsPanelOpen\",Ra=\"_launchpad_isCollapsed\",Ba=\"_launchpad_isPinned\",Ma=\"_launchpad_isDocked\",Fa=\"_launchpad_minimizeToTray\",$a=\"_launchpad_autoCloseStartingAppsAndWorkspaces\",_a=\"_launchpad_pinnedPosition\",ja=\"_launchpad_allowDocking\",za=\"_launchpad_dockedAlwaysOnTop\",Ha=\"_launchpad_dockedClaimsSpace\",Wa=\"_launchpad_showExtendedArea\",Va=\"_launchpad_hideLabelsInExtendedArea\",Ua=\"_launchpad_showFavoritesInExtendedArea\",Ka=\"_launchpad_hideFavoritesSection\",Ga=\"_launchpad_showRecentAppsInExtendedArea\",qa=\"_layouts_restoreLastSaved\",Ja=\"_layouts_saveCurrentOnExit\",Ya=\"_layouts_showUnsavedChangesPrompt\",Xa=\"_layouts_showDeletePrompt\",Qa=\"_downloads_askForEachDownload\",Za=\"_downloads_location\",es=\"_system_scheduleRestart\",ts=\"_system_scheduleRestartTime\",ns=\"_system_scheduleRestartFrequency\",os=\"_system_scheduleRestartDay\",is=\"_system_scheduleShutdown\",rs=\"_system_scheduleShutdownTime\",as=\"_system_scheduleShutdownFrequency\",ss=\"_system_scheduleShutdownDay\",cs={[Oa]:[],[La]:[],[Da]:[],[Ta]:!1,[Ra]:!1,[Ba]:!1,[Ma]:!1,[Fa]:!1,[$a]:!0,[_a]:\"Left\",[ja]:!0,[za]:!1,[Ha]:!1,[Wa]:!0,[Va]:!0,[Ua]:!0,[Ka]:!1,[Ga]:!0,[qa]:!0,[Ja]:!0,[Ya]:!0,[Xa]:!0,[Qa]:!0,[Za]:\"\",[es]:!1,[ts]:\"12:00 AM\",[ns]:\"daily\",[os]:\"Monday\",[is]:!1,[rs]:\"12:00 AM\",[as]:\"daily\",[ss]:\"Monday\"},ls=pa(la(\"add\"),la(\"align-bottom\"),la(\"align-bottom-solid\"),la(\"align-left\"),la(\"align-left-bottom\"),la(\"align-left-bottom-solid\"),la(\"align-left-solid\"),la(\"align-left-top\"),la(\"align-left-top-solid\"),la(\"align-right\"),la(\"align-right-bottom\"),la(\"align-right-bottom-solid\"),la(\"align-right-solid\"),la(\"align-right-top\"),la(\"align-right-top-solid\"),la(\"align-top\"),la(\"align-top-solid\"),la(\"always-on-top\"),la(\"always-on-top-on\"),la(\"application\"),la(\"arrow-down-long\"),la(\"arrow-down-to-bracket\"),la(\"arrow-left-long\"),la(\"arrow-right-from-bracket\"),la(\"arrow-right-long\"),la(\"arrow-right\"),la(\"arrow-up\"),la(\"arrow-up-long\"),la(\"ban\"),la(\"bell\"),la(\"bell-solid\"),la(\"bookmark\"),la(\"bullseye-pointer\"),la(\"certificate\"),la(\"check\"),la(\"check-light\"),la(\"check-solid\"),la(\"chevron-down\"),la(\"chevron-left\"),la(\"chevron-right\"),la(\"chevron-up\"),la(\"circle-info\"),la(\"circle-xmark\"),la(\"circle-xmark-full\"),la(\"clock\"),la(\"clock-rotate-left\"),la(\"clone\"),la(\"close\"),la(\"cog\"),la(\"cog-solid\"),la(\"collapse\"),la(\"copy\"),la(\"download\"),la(\"delete-left\"),la(\"dev-tools\"),la(\"ellipsis\"),la(\"ellipsis-vertical\"),la(\"expand\"),la(\"envelope\"),la(\"envelope-open\"),la(\"exclamation-mark\"),la(\"expand\"),la(\"feedback\"),la(\"filter\"),la(\"floppy\"),la(\"floppy-disk-pen\"),la(\"folder\"),la(\"folder-open\"),la(\"globe\"),la(\"group\"),la(\"hidden\"),la(\"home\"),la(\"house\"),la(\"info\"),la(\"keyboard\"),la(\"layout\"),la(\"link\"),la(\"list-ul\"),la(\"lock\"),la(\"logo\"),la(\"minimize\"),la(\"minimize-down\"),la(\"paper-plane-top\"),la(\"paperclip\"),la(\"pause\"),la(\"pen-line\"),la(\"pen-to-square\"),la(\"pin\"),la(\"play\"),la(\"pop-in\"),la(\"pop-in-widget\"),la(\"pop-out\"),la(\"power-off\"),la(\"publish\"),la(\"refresh\"),la(\"resize\"),la(\"restore\"),la(\"rotate-right\"),la(\"search\"),la(\"search-filled\"),la(\"sleep\"),la(\"sliders\"),la(\"snooze\"),la(\"spinner\"),la(\"square\"),la(\"square-arrow-down\"),la(\"square-arrow-up\"),la(\"star\"),la(\"star-full\"),la(\"sticky-off\"),la(\"sticky-off-hover\"),la(\"sticky-on\"),la(\"sticky-on-hover\"),la(\"subscribe\"),la(\"system-close\"),la(\"system-maximize\"),la(\"system-minimize\"),la(\"thumbs-down\"),la(\"thumbs-up\"),la(\"trash\"),la(\"trash-can\"),la(\"triangle-exclamation\"),la(\"unlock\"),la(\"unpin\"),la(\"up-to-line\"),la(\"user\"),la(\"user-gear\"),la(\"visible\"),la(\"workspace\")),us=ua({name:ha,displayName:fa(ha),icon:fa(ls),iconSrc:fa(ha),disabled:fa(sa()),separatorAfter:fa(sa())}),ds=ua({id:ha,title:ha,description:fa(ra()),icon:fa(ls),iconSrc:fa(ha),contextMenuActions:fa(da(us)),type:ha}),fs=da(ds),ps=ua({name:ha,type:ha}),ms=pa(la(\"Left\"),la(\"Right\")),hs=pa(la(\"daily\"),la(\"weekly\")),gs=pa(la(\"Sunday\"),la(\"Monday\"),la(\"Tuesday\"),la(\"Wednesday\"),la(\"Thursday\"),la(\"Friday\"),la(\"Saturday\")),ys=ua({customPrefs:fa(ca()),_launchpad_collapsedSections:fa(da(ha)),_launchpad_favorites:fa(fs),_launchpad_recent:fa(da(ps)),_launchpad_isLayoutsPanelOpen:fa(sa()),_launchpad_isCollapsed:fa(sa()),_launchpad_isPinned:fa(sa()),_launchpad_isDocked:fa(sa()),_launchpad_minimizeToTray:fa(sa()),_launchpad_autoCloseStartingAppsAndWorkspaces:fa(sa()),_launchpad_pinnedPosition:fa(ms),_launchpad_allowDocking:fa(sa()),_launchpad_dockedAlwaysOnTop:fa(sa()),_launchpad_dockedClaimsSpace:fa(sa()),_launchpad_showExtendedArea:fa(sa()),_launchpad_hideLabelsInExtendedArea:fa(sa()),_launchpad_showFavoritesInExtendedArea:fa(sa()),_launchpad_hideFavoritesSection:fa(sa()),_launchpad_showRecentAppsInExtendedArea:fa(sa()),_layouts_restoreLastSaved:fa(sa()),_layouts_saveCurrentOnExit:fa(sa()),_layouts_showUnsavedChangesPrompt:fa(sa()),_layouts_showDeletePrompt:fa(sa()),_downloads_askForEachDownload:fa(sa()),_downloads_location:fa(ra()),_system_scheduleRestart:fa(sa()),_system_scheduleRestartTime:fa(ha),_system_scheduleRestartFrequency:fa(hs),_system_scheduleRestartDay:fa(gs),_system_scheduleShutdown:fa(sa()),_system_scheduleShutdownTime:fa(ha),_system_scheduleShutdownFrequency:fa(hs),_system_scheduleShutdownDay:fa(gs)}),vs=s(void 0),ws=({children:t,launchpadMode:n})=>{const[o,i]=l(),[r,a]=l(!1),[s,d]=l(),p=c(x),m=u(()=>({prefs:o,isInitialSetupCompleted:r,initialSetupError:s}),[o,r,s]);return f(()=>{if(!p)return;let e=!1;const t=p.contexts.subscribe(Aa,t=>{if(e)return;const n=ys.run(t);if(!n.ok)return void p.logger.warn(`The received data for context ${Aa} is with an invalid shape: ${jr(n.error.message)}`);const o=n.result;i(o),p.prefs.updateFor(Pa,o).catch(e=>{p.logger.warn(`Failed to update platform prefs. Error: ${jr(e)}`)})});return()=>{e=!0,t.then(e=>{e()})}},[p]),f(()=>{if(!p)return;(async()=>{try{const e=await p.contexts.get(Aa),t=ys.run(e);if(!t.ok)throw new Error(`The data in context ${Aa} is with an invalid shape: ${jr(t.error.message)}`);const o=t.result;if(Object.keys(o).length>0)return;const i=(await p.prefs.get(Pa))?.data??{},r=ys.run(i);if(!r.ok)throw new Error(`The stored platform prefs in io.prefs are with an invalid shape: ${jr(r.error.message)}`);const a={[Ba]:\"pinned\"===n||(i[Ba]??!1),[Ma]:\"docked\"===n||(i[Ma]??!1)},s={...cs,...r.result,...a};await p.contexts.set(Aa,s)}catch(e){d({message:jr(e)}),await zr({io:p,variant:$r,text:\"Initial platform prefs setup failed.\",error:e})}finally{a(!0)}})().catch(console.error)},[p,n]),e(vs.Provider,{value:m,children:t})};function bs(){const e=c(vs);if(void 0===e)throw new Error(\"usePlatformPrefs must be used within a PlatformPrefsProvider\");return e}function ks({prefKey:e}){const t=c(x),n=c(vs),o=n?.prefs?.[e],i=n?.isInitialSetupCompleted??!1,[r,s]=l(!i),[u,p]=l(),m=d(0);f(()=>{i&&0===m.current&&s(!1)},[i]);const h=a(async n=>{if(!t)return;const o=++m.current;s(!0),p(void 0);const i=async n=>{n&&await zr({io:t,variant:$r,text:`Failed to update prefKey \"${e}\".`,error:n}),o===m.current&&(s(!1),n&&p({message:jr(n)}))};let r;if(n instanceof Function)try{r=n((await t.contexts.get(Aa))[e])}catch(e){return i(e)}else r=n;try{const n=ys.runWithException({[e]:r});await t.contexts.update(Aa,n)}catch(e){return i(e)}await i()},[t,e]);if(void 0===n)throw new Error(\"usePlatformPref must be used within a PlatformPrefsProvider\");return{error:u,isLoading:r,update:h,value:o}}const xs=()=>{const{value:e,update:t,isLoading:n,error:o}=ks({prefKey:Ba}),i=a(()=>t(e=>!e),[t]);return{error:o,isLaunchpadPinned:e,isLoading:n,toggle:i}},Ss=()=>{const e=c(x),{setActiveLayout:t,setDefaultLayout:n,close:o}=Ea(),{isLaunchpadPinned:i}=xs(),{value:r,update:s}=ks({prefKey:Xa}),l=()=>{i||o?.()},u=a(async o=>{const{layout:i,actionName:a}=o;return await Kr[a]({io:e,layout:i,setActiveLayout:t,setDefaultLayout:n,closeLaunchpad:l,showDeletePromptPref:r,updateShowDeletePromptPref:s})},[e,n,t,o,r,s]);return u},Cs=()=>{const{isLayoutOperationBlocked:e,setIsLayoutOperationBlocked:t}=Ea();return async n=>{if(!e){t(!0);try{await n()}catch(e){console.error(\"Layout operation failed: \",{error:e})}t(!1)}}},Ns=\"createWorkspace\",Es={[Rr]:async e=>{const{io:t,item:n}=e;if(t.workspaces)try{await t.workspaces.restoreWorkspace(n.id,{newFrame:!0})}catch(e){await zr({io:t,variant:$r,text:`Failed to load Workspace \"${n.title}\".`,error:e})}},[Br]:async e=>{const{io:t,item:n,removeFavorite:o}=e;if(t.workspaces){if(\"modals\"in t&&t.modals){const e=\"delete\",{isEnterPressed:o,responseButtonClicked:i}=await t.modals.dialogs.request({templateName:Vr.NO_INPUTS_CONFIRMATION_DIALOG,variables:{heading:`Delete \"${n.title}\"`,text:\"Are you sure you want to delete this Workspace?\",actionButtons:[{variant:\"critical\",text:\"Delete\",id:e},{variant:\"outline\",text:\"Cancel\",id:\"cancel\",autofocus:!0}]}});if(!(o||i?.id===e))return}try{await t.workspaces.layouts.delete(n.id),await o(n),await zr({io:t,variant:Fr,text:`\"Workspace ${n.title}\" was successfully deleted.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to delete Workspace \"${n.title}\".`,error:e})}}},[Ns]:async e=>{const{io:t}=e;if(t.workspaces)try{await t.workspaces.createWorkspace({children:[],frame:{newFrame:!0}})}catch(e){await zr({io:t,variant:$r,text:\"Failed to create a new Workspace.\",error:e})}}},Is=\"application\",Ps=\"workspace\",As=\"layout\",Os=\"action-button\";class Ls{queue=[];isExecutingQueue=!1;enqueue(e){return new Promise((t,n)=>{this.queue.push({action:e,resolve:t,reject:n}),this.executeQueue()})}async executeQueue(){if(!this.isExecutingQueue){for(this.isExecutingQueue=!0;this.queue.length;){const e=this.queue.shift();if(!e)return void(this.isExecutingQueue=!1);try{const t=await e.action();e.resolve(t)}catch(t){e.reject(t)}await this.intervalBreak()}this.isExecutingQueue=!1}}intervalBreak(){return new Promise(e=>setTimeout(e,0))}}const Ds=()=>{const[e,t]=l([]),n=c(x);return f(()=>{if(!n?.workspaces)return;let o=!1;const i=n.workspaces.layouts.onSaved(({name:n})=>{o||e.some(({id:e})=>e===n)||t(e=>[...e,{id:n,title:n}])}),r=n.workspaces.layouts.onRemoved(({name:e})=>{o||t(t=>t.filter(({id:t})=>t!==e))}),a=n.layouts.onRenamed((e,n)=>{if(o||\"Workspace\"!==e.type)return;const{name:i}=e;t(e=>{const t=e.findIndex(e=>e.id===n?.name);return-1===t?e:[...e.slice(0,t),{id:i,title:i},...e.slice(t+1)]})});return()=>{o=!0,a(),[i,r].forEach(async e=>{try{(await e)()}catch(e){console.error(e)}})}},[n,e]),e},Ts=new Ls,Rs=()=>{const{value:e,update:t,isLoading:n}=ks({prefKey:La}),o=Pr(),i=Ds();return{favorites:u(()=>(e??[]).filter(e=>e.type===Is?o.some(t=>t.id===e.id):e.type!==Ps||i.some(t=>t.id===e.id)),[e,o,i]),toggleFavorite:a(({openInstances:e,...n})=>Ts.enqueue(()=>t((e=[])=>{const t=e.find(e=>e.id===n.id&&e.type&&n.type);return t?e.filter(e=>e!==t):[n,...e]})),[t]),removeFavorite:a(e=>Ts.enqueue(()=>t((t=[])=>t.filter(t=>!(t.id===e.id&&t.type===e.type)))),[t]),isLoading:n}},Bs=()=>{const e=c(x),{removeFavorite:t}=Rs();return(n,o)=>{Es[o]({io:e,item:n,removeFavorite:t})}},Ms=()=>{const{value:e,update:t,isLoading:n,error:o}=ks({prefKey:Ra});return{error:o,isLaunchpadCollapsed:e,setIsLaunchpadCollapsed:t,isLoading:n}},Fs=()=>{const[e,t]=l([]),[n,o]=l(!1),i=c(x);return f(()=>{if(!i)return;let e=!1;const n=[],r=i.layouts.onAdded(n=>{if(\"Global\"!==n.type||e)return;o(!0);const{name:i}=n;t(e=>[...e,{name:i}])}),a=i.layouts.onRemoved(n=>{\"Global\"!==n.type||e||t(e=>e.filter(e=>e.name!==n.name))}),s=i.layouts.onRenamed((n,o)=>{\"Global\"!==n.type||e||t(e=>{const t=e.filter(e=>e.name!==n.name),i=t.findIndex(e=>e.name===o?.name);return-1===i?e:[...t.slice(0,i),{name:n.name},...t.slice(i+1)]})});return n.push(r,a,s),()=>{e=!0,n.forEach(e=>e())}},[i]),{layouts:e,isInitialized:n}},$s=e=>{const{handler:t,skip:n}=e;f(()=>{if(n)return;const e=e=>{setTimeout(()=>{\"IFRAME\"===document.activeElement?.nodeName&&t(e)},0)};return window.addEventListener(\"blur\",e,!0),()=>{window.removeEventListener(\"blur\",e,!0)}},[t,n])},_s=e=>{const{eventType:t,handler:n,ref:o,skip:i}=e;f(()=>{if(i)return;const e=e=>{const t=e.target,i=Array.isArray(o)?o.every(e=>e.current&&!e.current.contains(t)):o.current&&!o.current.contains(t);i&&n(e)};return document.addEventListener(t,e,!0),()=>{document.removeEventListener(t,e,!0)}},[t,n,o,i])},js=()=>{const[e,t]=l([]);return f(()=>{const e=({key:e})=>{t(t=>t.includes(e)?t:t.concat(e))},n=e=>{t(t=>t.filter(t=>t!==e.key))},o=()=>{t([])};return document.addEventListener(\"keydown\",e),document.addEventListener(\"keyup\",n),window.addEventListener(\"blur\",o),()=>{document.removeEventListener(\"keydown\",e),document.removeEventListener(\"keyup\",n),window.removeEventListener(\"blur\",o)}},[]),1===e.length?e[0]:null},zs=()=>{const e=c(x),t=async({id:t})=>{await(e.appManager.application(t)?.start())},n=async({id:t,modifier:n})=>{const o=await(e.workspaces?.getWorkspace(e=>!0===e.isSelected)),i=o?.children[0];if(n===ka||!o||\"window\"===i?.type)return void await(e.appManager.application(t)?.start());const r=\"group\"===i?.type?i:await(i??o).addGroup();await r.addWindow({appName:t})};return async o=>{try{const e=Or()?t:n;await e(o)}catch(t){await zr({io:e,variant:$r,text:`Failed to start app \"${o.title}\".`,error:t})}}};function Hs(i){const{title:r,buttonSize:s=\"16\",icon:c=\"ellipsis-vertical\",iconSize:p=\"12\",actions:m,isTabStop:h,onActionItemClick:g,buttonVariant:y,placement:v,strategy:b,offset:k,shouldCloseOnOutsideScroll:x=!1,shouldCloseOnWindowBlur:S=!1,shouldCloseOnWindowResize:C=!1,\"data-testid\":N,contextMenuDataTestId:E}=i,[I,A]=l(!1),[O,L]=l(null),[D,T]=l(null),R=d(null),M=d(null),F=u(()=>[M,R],[]),$=a(()=>A(!1),[]),{styles:_,attributes:j}=function(e,t,n){void 0===n&&(n={});var i=o.useRef(null),r={onFirstUpdate:n.onFirstUpdate,placement:n.placement||\"bottom\",strategy:n.strategy||\"absolute\",modifiers:n.modifiers||Nr},a=o.useState({styles:{popper:{position:r.strategy,left:\"0\",top:\"0\"},arrow:{position:\"absolute\"}},attributes:{}}),s=a[0],c=a[1],l=o.useMemo(function(){return{name:\"updateState\",enabled:!0,phase:\"write\",fn:function(e){var t=e.state,n=Object.keys(t.elements);w.flushSync(function(){c({styles:ti(n.map(function(e){return[e,t.styles[e]||{}]})),attributes:ti(n.map(function(e){return[e,t.attributes[e]]}))})})},requires:[\"computeStyles\"]}},[]),u=o.useMemo(function(){var e={onFirstUpdate:r.onFirstUpdate,placement:r.placement,strategy:r.strategy,modifiers:[].concat(r.modifiers,[l,{name:\"applyStyles\",enabled:!1}])};return Cr(i.current,e)?i.current||e:(i.current=e,e)},[r.onFirstUpdate,r.placement,r.strategy,r.modifiers,l]),d=o.useRef();return ni(function(){d.current&&d.current.setOptions(u)},[u]),ni(function(){if(null!=e&&null!=t){var o=(n.createPopper||yr)(e,t,u);return d.current=o,function(){o.destroy(),d.current=null}}},[e,t,n.createPopper]),{state:d.current?d.current.state:null,styles:s.styles,attributes:s.attributes,update:d.current?d.current.update:null,forceUpdate:d.current?d.current.forceUpdate:null}}(O,D,{placement:v,strategy:b,modifiers:[{name:\"offset\",options:{offset:k}}]});f(()=>{R.current=O},[O]),f(()=>{M.current=D},[D]),_s({eventType:\"mouseup\",handler:$,ref:F,skip:!I}),$s({handler:$,skip:!I}),f(()=>{if(S&&I)return window.addEventListener(\"blur\",$),()=>{window.removeEventListener(\"blur\",$)}},[$,I,S]),f(()=>{if(!x||!D)return;const e=e=>{D.contains(e.target)?e.preventDefault():$()};return document.addEventListener(\"touchmove\",e,{passive:!1}),document.addEventListener(\"wheel\",e,{passive:!1}),()=>{document.removeEventListener(\"touchmove\",e),document.removeEventListener(\"wheel\",e)}},[$,D,x]),f(()=>{if(C&&I)return window.addEventListener(\"resize\",$),()=>{window.removeEventListener(\"resize\",$)}},[$,I,C]);return t(n,{children:[e(P,{ref:L,size:s,icon:c,iconSize:p,variant:y,...B(e=>{e.stopPropagation(),A(e=>!e),D?.focus()}),tabIndex:h?0:-1,\"data-testid\":N}),I&&e(Ir,{ref:T,title:r,actions:m,onActionItemClick:(e,t)=>{e.stopPropagation(),g(e,t),$()},onClose:()=>{O?.focus(),$()},style:_.popper,\"data-testid\":E,...j.popper})]})}function Ws({className:n,size:o=\"large\",variant:i=\"default\",align:r=\"up\",text:a,...s}){const c=E(\"io-loader\",{[`io-loader-${i}`]:\"default\"!==i},\"normal\"===o&&\"io-loader-md\",\"small\"===o&&\"io-loader-sm\",r&&[`direction-${r}`],n);return t(\"div\",{className:c,role:\"status\",\"aria-live\":\"polite\",...s,children:[e(\"div\",{className:\"io-loader-icon\"}),a&&e(\"div\",{className:\"io-loader-text\",children:a})]})}function Vs({className:t,children:n,...o}){const i=E(\"io-panel-header\",t);return e(se,{className:i,...o,children:n})}Vs.Title=D,Vs.ButtonGroup=ae,Vs.Button=$,Vs.ButtonIcon=P,Vs.Dropdown=re;const Us=r(({className:t,children:n,...o},i)=>{const r=E(\"io-panel-body\",t);return e(\"div\",{className:r,ref:i,\"data-testid\":\"panel-body\",...o,children:n})});function Ks({className:t,...n}){const o=E(\"io-panel-footer\",t);return e(ue,{className:o,...n})}function Gs({className:t,children:n,...o}){const i=E(\"io-panel\",t);return e(\"div\",{className:i,\"data-testid\":\"panel\",...o,children:n})}function qs({className:t,variant:n=\"default\",children:o,...i}){const r=E(\"io-pill\",\"default\"!==n&&[`io-pill-${n}`],t);return e(\"div\",{className:r,role:\"status\",...i,children:o})}function Js({className:t,variant:n=\"active\",value:o=0,...i}){const r=E(\"io-progress\",n,t);let a;return a=o<0?0:o>100?100:o,e(\"div\",{className:r,role:\"progressbar\",\"aria-valuenow\":a,\"aria-valuemin\":0,\"aria-valuemax\":100,...i,children:e(\"div\",{className:\"io-progress-bar\",style:{width:`${a}%`}})})}\n/*!\n * OverlayScrollbars\n * Version: 2.14.0\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */Us.displayName=\"PanelBody\",Ks.ButtonGroup=ae,Ks.Button=$,Ks.ButtonIcon=P,Ks.Dropdown=re,Gs.Header=Vs,Gs.Body=Us,Gs.Footer=Ks,qs.Icon=I;const Ys=(e,t)=>{const{o:n,i:o,u:i}=e;let r,a=n;const s=(e,t)=>{const n=a,s=e,c=t||(o?!o(n,s):n!==s);return(c||i)&&(a=s,r=n),[a,c,r]};return[t?e=>s(t(a,r),e):s,e=>[a,!!e,r]]},Xs=\"undefined\"!=typeof window&&\"undefined\"!=typeof HTMLElement&&!!window.document?window:{},Qs=Math.max,Zs=Math.min,ec=Math.round,tc=Math.abs,nc=Math.sign,oc=Xs.cancelAnimationFrame,ic=Xs.requestAnimationFrame,rc=Xs.setTimeout,ac=Xs.clearTimeout,sc=e=>void 0!==Xs[e]?Xs[e]:void 0,cc=sc(\"MutationObserver\"),lc=sc(\"IntersectionObserver\"),uc=sc(\"ResizeObserver\"),dc=sc(\"ScrollTimeline\"),fc=e=>void 0===e,pc=e=>null===e,mc=e=>\"number\"==typeof e,hc=e=>\"string\"==typeof e,gc=e=>\"boolean\"==typeof e,yc=e=>\"function\"==typeof e,vc=e=>Array.isArray(e),wc=e=>\"object\"==typeof e&&!vc(e)&&!pc(e),bc=e=>{const t=!!e&&e.length,n=mc(t)&&t>-1&&t%1==0;return!!(vc(e)||!yc(e)&&n)&&(!(t>0&&wc(e))||t-1 in e)},kc=e=>!!e&&e.constructor===Object,xc=e=>e instanceof HTMLElement,Sc=e=>e instanceof Element;function Cc(e,t){if(bc(e))for(let n=0;n<e.length&&!1!==t(e[n],n,e);n++);else e&&Cc(Object.keys(e),n=>t(e[n],n,e));return e}const Nc=(e,t)=>e.indexOf(t)>=0,Ec=(e,t)=>e.concat(t),Ic=(e,t,n)=>(!hc(t)&&bc(t)?Array.prototype.push.apply(e,t):e.push(t),e),Pc=e=>Array.from(e||[]),Ac=e=>vc(e)?e:!hc(e)&&bc(e)?Pc(e):[e],Oc=e=>!!e&&!e.length,Lc=e=>Pc(new Set(e)),Dc=(e,t,n)=>{Cc(e,e=>!e||e.apply(void 0,t||[])),n||(e.length=0)},Tc=\"paddingTop\",Rc=\"paddingRight\",Bc=\"paddingLeft\",Mc=\"paddingBottom\",Fc=\"marginLeft\",$c=\"marginRight\",_c=\"marginBottom\",jc=\"overflowX\",zc=\"overflowY\",Hc=\"width\",Wc=\"height\",Vc=\"visible\",Uc=\"hidden\",Kc=\"scroll\",Gc=(e,t,n,o)=>{if(e&&t){let o=!0;return Cc(n,n=>{e[n]!==t[n]&&(o=!1)}),o}return!1},qc=(e,t)=>Gc(e,t,[\"w\",\"h\"]),Jc=(e,t)=>Gc(e,t,[\"x\",\"y\"]),Yc=(e,t)=>Gc(e,t,[\"t\",\"r\",\"b\",\"l\"]),Xc=(e,...t)=>e.bind(0,...t),Qc=e=>{let t;const n=e?rc:ic,o=e?ac:oc;return[i=>{o(t),t=n(()=>i(),yc(e)?e():e)},()=>o(t)]},Zc=e=>{const t=yc(e)?e():e;if(mc(t)){const e=t?rc:ic,n=t?ac:oc;return o=>{const i=e(()=>o(),t);return()=>{n(i)}}}return t&&t._},el=(e,t)=>{const{p:n,v:o,S:i,m:r}=t||{};let a,s,c,l;const u=function(t){s&&s(),a&&a(),l=s=a=c=void 0,e.apply(this,t)},d=e=>r&&c?r(c,e):e,f=()=>{s&&c&&u(d(c)||c)},p=function(){const e=Pc(arguments),t=Zc(n);if(t){const n=\"function\"==typeof i?i():i,r=Zc(o),p=d(e)||e,m=u.bind(0,p);s&&s(),n&&!l?(m(),l=!0,s=t(()=>l=void 0)):(s=t(m),r&&!a&&(a=r(f))),c=p}else u(e)};return p.O=f,p},tl=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),nl=e=>e?Object.keys(e):[],ol=(e,t,n,o,i,r,a)=>{const s=[t,n,o,i,r,a];return\"object\"==typeof e&&!pc(e)||yc(e)||(e={}),Cc(s,t=>{Cc(t,(n,o)=>{const i=t[o];if(e===i)return!0;const r=vc(i);if(i&&kc(i)){const t=e[o];let n=t;r&&!vc(t)?n=[]:r||kc(t)||(n={}),e[o]=ol(n,i)}else e[o]=r?i.slice():i})}),e},il=(e,t)=>Cc(ol({},e),(e,t,n)=>{void 0===e?delete n[t]:e&&kc(e)&&(n[t]=il(e))}),rl=e=>!nl(e).length,al=()=>{},sl=(e,t,n)=>Qs(e,Zs(t,n)),cl=e=>Lc((vc(e)?e:(e||\"\").split(\" \")).filter(e=>e)),ll=(e,t)=>e&&e.getAttribute(t),ul=(e,t)=>e&&e.hasAttribute(t),dl=(e,t,n)=>{Cc(cl(t),t=>{e&&e.setAttribute(t,String(n||\"\"))})},fl=(e,t)=>{Cc(cl(t),t=>e&&e.removeAttribute(t))},pl=(e,t)=>{const n=cl(ll(e,t)),o=Xc(dl,e,t),i=(e,t)=>{const o=new Set(n);return Cc(cl(e),e=>{o[t](e)}),Pc(o).join(\" \")};return{C:e=>o(i(e,\"delete\")),$:e=>o(i(e,\"add\")),H:e=>{const t=cl(e);return t.reduce((e,t)=>e&&n.includes(t),t.length>0)}}},ml=(e,t,n)=>(pl(e,t).C(n),Xc(hl,e,t,n)),hl=(e,t,n)=>(pl(e,t).$(n),Xc(ml,e,t,n)),gl=(e,t,n,o)=>(o?hl:ml)(e,t,n),yl=(e,t,n)=>pl(e,t).H(n),vl=e=>pl(e,\"class\"),wl=(e,t)=>{vl(e).C(t)},bl=(e,t)=>(vl(e).$(t),Xc(wl,e,t)),kl=(e,t)=>{const n=t?Sc(t)&&t:document;return n?Pc(n.querySelectorAll(e)):[]},xl=(e,t)=>Sc(e)&&e.matches(t),Sl=e=>xl(e,\"body\"),Cl=e=>e?Pc(e.childNodes):[],Nl=e=>e&&e.parentElement,El=(e,t)=>Sc(e)&&e.closest(t),Il=e=>document.activeElement,Pl=(e,t,n)=>{const o=El(e,t),i=e&&((e,t)=>{const n=t?Sc(t)&&t:document;return n&&n.querySelector(e)})(n,o),r=El(i,t)===o;return!(!o||!i)&&(o===e||i===e||r&&El(El(e,n),t)!==o)},Al=e=>{Cc(Ac(e),e=>{const t=Nl(e);e&&t&&t.removeChild(e)})},Ol=(e,t)=>Xc(Al,e&&t&&Cc(Ac(t),t=>{t&&e.appendChild(t)}));let Ll;const Dl=e=>{const t=document.createElement(\"div\");return dl(t,\"class\",e),t},Tl=e=>{const t=Dl(),n=Ll,o=e.trim();return t.innerHTML=n?n.createHTML(o):o,Cc(Cl(t),e=>Al(e))},Rl=(e,t)=>e.getPropertyValue(t)||e[t]||\"\",Bl=e=>{const t=e||0;return isFinite(t)?t:0},Ml=e=>Bl(parseFloat(e||\"\")),Fl=e=>Math.round(1e4*e)/1e4,$l=e=>`${Fl(Bl(e))}px`;function _l(e,t){e&&t&&Cc(t,(t,n)=>{try{const o=e.style,i=pc(t)||gc(t)?\"\":mc(t)?$l(t):t;0===n.indexOf(\"--\")?o.setProperty(n,i):o[n]=i}catch(e){}})}function jl(e,t,n){const o=hc(t);let i=o?\"\":{};if(e){const r=Xs.getComputedStyle(e,n)||e.style;i=o?Rl(r,t):Pc(t).reduce((e,t)=>(e[t]=Rl(r,t),e),i)}return i}const zl=(e,t,n)=>{const o=t?`${t}-`:\"\",i=n?`-${n}`:\"\",r=`${o}top${i}`,a=`${o}right${i}`,s=`${o}bottom${i}`,c=`${o}left${i}`,l=jl(e,[r,a,s,c]);return{t:Ml(l[r]),r:Ml(l[a]),b:Ml(l[s]),l:Ml(l[c])}},Hl=(e,t)=>\"translate\"+(wc(e)?`(${e.x},${e.y})`:`${t?\"X\":\"Y\"}(${e})`),Wl={w:0,h:0},Vl=(e,t)=>t?{w:t[`${e}Width`],h:t[`${e}Height`]}:Wl,Ul=e=>Vl(\"inner\",e||Xs),Kl=Xc(Vl,\"offset\"),Gl=Xc(Vl,\"client\"),ql=Xc(Vl,\"scroll\"),Jl=e=>{const t=parseFloat(jl(e,Hc))||0,n=parseFloat(jl(e,Wc))||0;return{w:t-ec(t),h:n-ec(n)}},Yl=e=>e.getBoundingClientRect(),Xl=e=>!(!e||!e[Wc]&&!e[Hc]),Ql=(e,t)=>{const n=Xl(e);return!Xl(t)&&n},Zl=(e,t,n,o)=>{Cc(cl(t),t=>{e&&e.removeEventListener(t,n,o)})},eu=(e,t,n,o)=>{var i;const r=null==(i=o&&o.I)||i,a=o&&o.A||!1,s=o&&o.T||!1,c={passive:r,capture:a};return Xc(Dc,cl(t).map(t=>{const o=s?i=>{Zl(e,t,o,a),n&&n(i)}:n;return e&&e.addEventListener(t,o,c),Xc(Zl,e,t,o,a)}))},tu=e=>e.stopPropagation(),nu=e=>e.preventDefault(),ou=e=>tu(e)||nu(e),iu=(e,t)=>{const{x:n,y:o}=mc(t)?{x:t,y:t}:t||{};mc(n)&&(e.scrollLeft=n),mc(o)&&(e.scrollTop=o)},ru=e=>({x:e.scrollLeft,y:e.scrollTop}),au=(e,t)=>{const{D:n,M:o}=e,{w:i,h:r}=t,a=(e,t,n)=>{let o=nc(e)*n,i=nc(t)*n;if(o===i){const n=tc(e),r=tc(t);i=n>r?0:i,o=n<r?0:o}return o=o===i?0:o,[o+0,i+0]},[s,c]=a(n.x,o.x,i),[l,u]=a(n.y,o.y,r);return{D:{x:s,y:l},M:{x:c,y:u}}},su=({D:e,M:t})=>{const n=(e,t)=>0===e&&e<=t;return{x:n(e.x,t.x),y:n(e.y,t.y)}},cu=({D:e,M:t},n)=>{const o=(e,t,n)=>sl(0,1,(e-n)/(e-t)||0);return{x:o(e.x,t.x,n.x),y:o(e.y,t.y,n.y)}},lu=e=>{e&&e.focus&&e.focus({preventScroll:!0,focusVisible:!1})},uu=(e,t)=>{Cc(Ac(t),e)},du=e=>{const t=new Map,n=(e,n)=>{if(e){const o=t.get(e);uu(e=>{o&&o[e?\"delete\":\"clear\"](e)},n)}else t.forEach(e=>{e.clear()}),t.clear()},o=(e,i)=>{if(hc(e)){const o=t.get(e)||new Set;return t.set(e,o),uu(e=>{yc(e)&&o.add(e)},i),Xc(n,e,i)}gc(i)&&i&&n();const r=nl(e),a=[];return Cc(r,t=>{const n=e[t];n&&Ic(a,o(t,n))}),Xc(Dc,a)};return o(e||{}),[o,n,(e,n)=>{Cc(Pc(t.get(e)),e=>{n&&!Oc(n)?e.apply(0,n):e()})}]},fu={},pu={},mu=(e,t,n)=>nl(e).map(o=>{const{static:i,instance:r}=e[o],[a,s,c]=n||[],l=n?r:i;if(l){const e=n?l(a,s,t):l(t);return(c||pu)[o]=e}}),hu=e=>pu[e],gu=\"data-overlayscrollbars\",yu=\"os-environment\",vu=`${yu}-scrollbar-hidden`,wu=`${gu}-initialize`,bu=\"noClipping\",ku=`${gu}-body`,xu=gu,Su=`${gu}-viewport`,Cu=jc,Nu=zc,Eu=\"measuring\",Iu=\"scrollbarHidden\",Pu=`${gu}-padding`,Au=`${gu}-content`,Ou=\"os-size-observer\",Lu=`${Ou}-appear`,Du=`${Ou}-listener`,Tu=\"os-scrollbar\",Ru=`${Tu}-rtl`,Bu=`${Tu}-horizontal`,Mu=`${Tu}-vertical`,Fu=`${Tu}-track`,$u=`${Tu}-handle`,_u=`${Tu}-visible`,ju=`${Tu}-cornerless`,zu=`${Tu}-interaction`,Hu=`${Tu}-unusable`,Wu=`${Tu}-auto-hide`,Vu=`${Wu}-hidden`,Uu=`${Tu}-wheel`,Ku=`${Fu}-interactive`,Gu=`${$u}-interactive`,qu=e=>0===e.indexOf(Vc),Ju=(e,t)=>{if(\"auto\"===e)return t?Kc:Uc;const n=e||Uc;return[Uc,Kc,Vc].includes(n)?n:Uc},Yu=(e,t)=>{const{overflowX:n,overflowY:o}=jl(e,[jc,zc]);return{x:Ju(n,t.x),y:Ju(o,t.y)}},Xu=\"__osScrollbarsHidingPlugin\",Qu=e=>JSON.stringify(e,(e,t)=>{if(yc(t))throw 0;return t}),Zu=(e,t)=>e?`${t}`.split(\".\").reduce((e,t)=>e&&tl(e,t)?e[t]:void 0,e):void 0,ed=[33,99],td=[222,666,!0],nd={paddingAbsolute:!1,showNativeOverlaidScrollbars:!1,update:{elementEvents:[[\"img\",\"load\"]],debounce:{mutation:[0,33],resize:null,event:ed,env:td},attributes:null,ignoreMutation:null,flowDirectionStyles:null},overflow:{x:\"scroll\",y:\"scroll\"},scrollbars:{theme:\"os-theme-dark\",visibility:\"auto\",autoHide:\"never\",autoHideDelay:1300,autoHideSuspend:!1,dragScroll:!0,clickScroll:!1,pointers:[\"mouse\",\"touch\",\"pen\"]}},od=(e,t)=>{const n={};return Cc(Ec(nl(t),nl(e)),o=>{const i=e[o],r=t[o];if(wc(i)&&wc(r))ol(n[o]={},od(i,r)),rl(n[o])&&delete n[o];else if(tl(t,o)&&r!==i){let e=!0;if(vc(i)||vc(r))try{Qu(i)===Qu(r)&&(e=!1)}catch(e){}e&&(n[o]=r)}}),n},id=(e,t,n)=>o=>[Zu(e,o),n||void 0!==Zu(t,o)];let rd;let ad;const sd=()=>{const e=(e,t,n)=>{Ol(document.body,e),Ol(document.body,e);const o=Gl(e),i=Kl(e),r=Jl(t);return n&&Al(e),{x:i.h-o.h+r.h,y:i.w-o.w+r.w}},t=Tl(`<div class=\"${yu}\"><div></div><style>${`.${yu}{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.${yu} div{width:200%;height:200%;margin:10px 0}.${vu}{scrollbar-width:none!important}.${vu}::-webkit-scrollbar,.${vu}::-webkit-scrollbar-corner{appearance:none!important;display:none!important;width:0!important;height:0!important}`}</style></div>`)[0],n=t.firstChild,o=t.lastChild,i=rd;i&&(o.nonce=i);const[r,,a]=du(),[s,c]=Ys({o:e(t,n),i:Jc},Xc(e,t,n,!0)),[l]=c(),u=(e=>{let t=!1;const n=bl(e,vu);try{t=\"none\"===jl(e,\"scrollbar-width\")||\"none\"===jl(e,\"display\",\"::-webkit-scrollbar\")}catch(e){}return n(),t})(t),d={x:0===l.x,y:0===l.y},f={elements:{host:null,padding:!u,viewport:e=>u&&Sl(e)&&e,content:!1},scrollbars:{slot:!0},cancel:{nativeScrollbarsOverlaid:!1,body:null}},p=ol({},nd),m=Xc(ol,{},p),h=Xc(ol,{},f),g={P:l,k:d,U:u,J:!!dc,G:Xc(r,\"r\"),K:h,Z:e=>ol(f,e)&&h(),tt:m,nt:e=>ol(p,e)&&m(),ot:ol({},f),st:ol({},p)};if(fl(t,\"style\"),Al(t),eu(Xs,\"resize\",()=>{a(\"r\",[])}),yc(Xs.matchMedia)&&!u&&(!d.x||!d.y)){const e=t=>{const n=Xs.matchMedia(`(resolution: ${Xs.devicePixelRatio}dppx)`);eu(n,\"change\",()=>{t(),e(t)},{T:!0})};e(()=>{const[e,t]=s();ol(g.P,e),a(\"r\",[t])})}return g},cd=()=>(ad||(ad=sd()),ad),ld=(e,t,n,o)=>{let i=!1;const{et:r,ct:a,rt:s,it:c,lt:l,ut:u}=o||{},[d,f]=((e,t,n)=>{let o=!1;const i=!!n&&new WeakMap,r=r=>{if(i&&n){const a=n.map(t=>{const[n,o]=t||[];return[o&&n?(r||kl)(n,e):[],o]});Cc(a,n=>Cc(n[0],r=>{const a=n[1],s=i.get(r)||[];if(e.contains(r)&&a){const e=eu(r,a,n=>{o?(e(),i.delete(r)):t(n)});i.set(r,Ic(s,e))}else Dc(s),i.delete(r)}))}};return r(),[()=>{o=!0},r]})(e,()=>i&&n(!0),s),p=a||[],m=Ec(r||[],p),h=(i,r)=>{if(!Oc(r)){const a=l||al,s=u||al,d=[],m=[];let h=!1,g=!1;if(Cc(r,n=>{const{attributeName:i,target:r,type:l,oldValue:u,addedNodes:f,removedNodes:y}=n,v=\"attributes\"===l,w=\"childList\"===l,b=e===r,k=v&&i,x=k&&ll(r,i||\"\"),S=hc(x)?x:null,C=k&&u!==S,N=Nc(p,i)&&C;if(t&&(w||!b)){const t=v&&C,l=t&&c&&xl(r,c),p=(l?!a(r,i,u,S):!v||t)&&!s(n,!!l,e,o);Cc(f,e=>Ic(d,e)),Cc(y,e=>Ic(d,e)),g=g||p}!t&&b&&C&&!a(r,i,u,S)&&(Ic(m,i),h=h||N)}),f(e=>Lc(d).reduce((t,n)=>(Ic(t,kl(e,n)),xl(n,e)?Ic(t,n):t),[])),t)return!i&&g&&n(!1),[!1];if(!Oc(m)||h){const e=[Lc(m),h];return i||n.apply(0,e),e}}},g=new cc(Xc(h,!1));return[()=>(g.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:m,subtree:t,childList:t,characterData:t}),i=!0,()=>{i&&(d(),g.disconnect(),i=!1)}),()=>{if(i)return h(!0,g.takeRecords())}]};let ud=null;const dd=(e,t,n)=>{const{ft:o}=n||{},i=hu(\"__osSizeObserverPlugin\"),[r]=Ys({o:!1,u:!0});return()=>{const n=[],a=Tl(`<div class=\"${Ou}\"><div class=\"${Du}\"></div></div>`)[0],s=a.firstChild,c=e=>{let n=!1,o=!1;if(vc(e)&&!Oc(e)){const t=e[0],[i,,a]=r(t.contentRect),s=Xl(i);o=Ql(i,a),n=!o&&!s}else o=!0===e;n||t({_t:!0,ft:o})};if(uc){if(!gc(ud)){const t=new uc(al);t.observe(e,{get box(){ud=!0}}),ud=ud||!1,t.disconnect()}const t=el(c,{p:0,v:0}),o=e=>t(e),i=new uc(o);if(i.observe(ud?e:s),Ic(n,[()=>{i.disconnect()},!ud&&Ol(e,a)]),ud){const t=new uc(o);t.observe(e,{box:\"border-box\"}),Ic(n,()=>t.disconnect())}}else{if(!i)return al;{const[t,r]=i(s,c,o);Ic(n,Ec([bl(a,Lu),eu(a,\"animationstart\",t),Ol(e,a)],r))}}return Xc(Dc,n)}},fd=(e,t)=>{let n;const o=Dl(\"os-trinsic-observer\"),[i]=Ys({o:!1}),r=(e,n)=>{if(e){const o=i((e=>0===e.h||e.isIntersecting||e.intersectionRatio>0)(e)),[,r]=o;return r&&!n&&t(o)&&[o]}},a=(e,t)=>r(t.pop(),e);return[()=>{const t=[];if(lc)n=new lc(Xc(a,!1),{root:e}),n.observe(o),Ic(t,()=>{n.disconnect()});else{const e=()=>{const e=Kl(o);r(e)};Ic(t,dd(o,e)()),e()}return Xc(Dc,Ic(t,Ol(e,o)))},()=>n&&a(!0,n.takeRecords())]},pd=(e,t,n,o)=>{let i,r,a,s,c,l,u,d;const f=`[${xu}]`,p=`[${Su}]`,m=[\"id\",\"class\",\"style\",\"open\",\"wrap\",\"cols\",\"rows\"],{dt:h,vt:g,L:y,gt:v,ht:w,V:b,bt:k,wt:x,yt:S,St:C}=e,N=e=>\"rtl\"===jl(e,\"direction\"),E={Ot:!1,B:N(h)},I=cd(),P=hu(Xu),[A]=Ys({i:qc,o:{w:0,h:0}},()=>{const o=P&&P.R(e,t,E,I,n).Y,i=!(k&&b)&&yl(g,xu,bu),r=!b&&x(\"arrange\"),a=r&&ru(v),s=a&&C(),c=S(Eu,i),l=r&&o&&o(),u=ql(y),d=Jl(y);return l&&l(),iu(v,a),s&&s(),i&&c(),{w:u.w+d.w,h:u.h+d.h}}),O=(()=>{let e,t,n;const i=el(o,{p:()=>e,v:()=>t,S:()=>n,m(e,t){const[n]=e,[o]=t;return[Ec(nl(n),nl(o)).reduce((e,t)=>(e[t]=n[t]||o[t],e),{})]}}),r=(o,r)=>{if(vc(r)){const[o,i,a]=r;e=o,t=i,n=a}else mc(r)?(e=r,t=!1,n=!1):(e=!1,t=!1,n=!1);i(o)};return r.O=i.O,r})(),L=e=>{const t=N(h);ol(e,{Ct:d!==t}),ol(E,{B:t}),d=t},D=(e,t)=>{const[n,i]=e,r={$t:i};return ol(E,{Ot:n}),t||o(r),r},T=({_t:e,ft:t})=>{const n=t?o:O,i={_t:e||t,ft:t};L(i),n(i,r)},R=(e,t)=>{const[,n]=A(),o={xt:n};return L(o),n&&!t&&O(o,e?a:i),o},B=(e,t,n)=>{const o={Ht:t};return L(o),t&&!n&&O(o,i),o},[M,F]=w?fd(g,D):[],$=!b&&dd(g,T,{ft:!0}),[_,j]=ld(g,!1,B,{ct:m,et:m}),z=b&&uc&&new uc(e=>{const t=e[e.length-1].contentRect;T({_t:!0,ft:Ql(t,u)}),u=t});return[()=>{z&&z.observe(g);const e=$&&$(),t=M&&M(),n=_(),o=I.G(e=>{const[,t]=A();O({Et:e,xt:t,_t:k},s)});return()=>{z&&z.disconnect(),e&&e(),t&&t(),l&&l(),n(),o()}},({zt:e,It:t,At:n})=>{const o={},[u]=e(\"update.ignoreMutation\"),[d,h]=e(\"update.attributes\"),[g,v]=e(\"update.elementEvents\"),[k,x]=e(\"update.debounce\"),S=t||n;if(v||h){c&&c(),l&&l();const[e,t]=ld(w||y,!0,R,{et:Ec(m,d||[]),rt:g,it:f,ut:(e,t)=>{const{target:n,attributeName:o}=e;return!(t||!o||b)&&Pl(n,f,p)||!!El(n,`.${Tu}`)||!!(e=>yc(u)&&u(e))(e)}});l=e(),c=t}if(x&&(O.O(),vc(k)||mc(k)?(i=k,r=!1,a=ed,s=td):kc(k)?(i=k.mutation,r=k.resize,a=k.event,s=k.env):(i=!1,r=!1,a=!1,s=!1)),S){const e=j(),t=F&&F(),n=c&&c();e&&ol(o,B(e[0],e[1],S)),t&&ol(o,D(t[0],S)),n&&ol(o,R(n[0],S))}return L(o),o},E]},md=(e,t)=>yc(t)?t.apply(0,e):t,hd=(e,t,n,o)=>{const i=fc(o)?n:o;return md(e,i)||t.apply(0,e)},gd=(e,t,n,o)=>{const i=fc(o)?n:o,r=md(e,i);return!!r&&(xc(r)?r:t.apply(0,e))},yd=(e,t,n,o)=>{const i=\"--os-viewport-percent\",r=\"--os-scroll-percent\",a=\"--os-scroll-direction\",{K:s}=cd(),{scrollbars:c}=s(),{slot:l}=c,{dt:u,vt:d,L:f,Tt:p,gt:m,bt:h,V:g}=t,{scrollbars:y}=p?{}:e,{slot:v}=y||{},w=[],b=[],k=[],x=gd([u,d,f],()=>g&&h?u:d,l,v),S=e=>{if(dc){let t=null,o=[];const i=new dc({source:m,axis:e}),r=()=>{t&&t.cancel(),t=null},a=a=>{const{Dt:s}=n,c=su(s)[e],l=\"x\"===e,u=[Hl(0,l),Hl(`calc(-100% + 100cq${l?\"w\":\"h\"})`,l)],d=c?u:u.reverse();return o[0]===d[0]&&o[1]===d[1]||(o=d,r(),t=a.Mt.animate({clear:[\"left\"],transform:d},{timeline:i})),r};return{kt:a}}},C={x:S(\"x\"),y:S(\"y\")},N=(e,t,n)=>{const o=n?bl:wl;Cc(e,e=>{o(e.Lt,t)})},E=(e,t)=>{Cc(e,e=>{const[n,o]=t(e);_l(n,o)})},I=(e,t,n)=>{const o=gc(n),i=!o||!n;(!o||n)&&N(b,e,t),i&&N(k,e,t)},P=e=>{const t=e?\"x\":\"y\",n=Dl(`${Tu} ${e?Bu:Mu}`),i=Dl(Fu),r=Dl($u),a={Lt:n,Ut:i,Mt:r},s=C[t];return Ic(e?b:k,a),Ic(w,[Ol(n,i),Ol(i,r),Xc(Al,n),s&&s.kt(a),o(a,I,e)]),a},A=Xc(P,!0),O=Xc(P,!1);return A(),O(),[{Pt:()=>{const e=(()=>{const{Rt:e,Vt:t}=n,o=(e,t)=>sl(0,1,e/(e+t)||0);return{x:o(t.x,e.x),y:o(t.y,e.y)}})(),t=e=>t=>[t.Lt,{[i]:Fl(e)+\"\"}];E(b,t(e.x)),E(k,t(e.y))},Nt:()=>{if(!dc){const{Dt:e}=n,t=cu(e,ru(m)),o=e=>t=>[t.Lt,{[r]:Fl(e)+\"\"}];E(b,o(t.x)),E(k,o(t.y))}},qt:()=>{const{Dt:e}=n,t=su(e),o=e=>t=>[t.Lt,{[a]:e?\"0\":\"1\"}];E(b,o(t.x)),E(k,o(t.y)),dc&&(b.forEach(C.x.kt),k.forEach(C.y.kt))},Bt:()=>{if(g&&!h){const{Rt:e,Dt:t}=n,o=su(t),i=cu(t,ru(m)),r=t=>{const{Lt:n}=t,r=Nl(n)===f&&n,a=(e,t,n)=>{const o=t*e;return $l(n?o:-o)};return[r,r&&{transform:Hl({x:a(i.x,e.x,o.x),y:a(i.y,e.y,o.y)})}]};E(b,r),E(k,r)}},Ft:I,jt:{Xt:b,Yt:A,Wt:Xc(E,b)},Jt:{Xt:k,Yt:O,Wt:Xc(E,k)}},()=>(Ol(x,b[0].Lt),Ol(x,k[0].Lt),Xc(Dc,w))]},vd=(e,t,n,o)=>(i,r,a)=>{const{vt:s,L:c,V:l,gt:u,Gt:d,St:f}=t,{Lt:p,Ut:m,Mt:h}=i,[g,y]=Qc(333),[v,w]=Qc(444),b=e=>{yc(u.scrollBy)&&u.scrollBy({behavior:\"smooth\",left:e.x,top:e.y})};let k=!0;return Xc(Dc,[eu(h,\"pointermove pointerleave\",o),eu(p,\"pointerenter\",()=>{r(zu,!0)}),eu(p,\"pointerleave pointercancel\",()=>{r(zu,!1)}),!l&&eu(p,\"mousedown\",()=>{const e=Il();(ul(e,Su)||ul(e,xu)||e===document.body)&&rc(Xc(lu,c),25)}),eu(p,\"wheel\",e=>{const{deltaX:t,deltaY:n,deltaMode:o}=e;k&&0===o&&Nl(p)===s&&b({x:t,y:n}),k=!1,r(Uu,!0),g(()=>{k=!0,r(Uu)}),nu(e)},{I:!1,A:!0}),eu(p,\"pointerdown\",()=>{const e=eu(d,\"click\",e=>{t(),ou(e)},{T:!0,A:!0,I:!1}),t=eu(d,\"pointerup pointercancel\",()=>{t(),setTimeout(e,150)},{A:!0,I:!0})},{A:!0,I:!0}),(()=>{const t=\"pointerup pointercancel lostpointercapture\",o=\"client\"+(a?\"X\":\"Y\"),i=a?Hc:Wc,r=a?\"left\":\"top\",s=a?\"w\":\"h\",c=a?\"x\":\"y\",l=(e,t)=>o=>{const{Rt:i}=n,r=Kl(m)[s]-Kl(h)[s],a=t*o/r*i[c];iu(u,{[c]:e+a})},p=[];return eu(m,\"pointerdown\",n=>{const a=El(n.target,`.${$u}`)===h,g=a?h:m,y=e.scrollbars,k=y[a?\"dragScroll\":\"clickScroll\"],{button:x,isPrimary:S,pointerType:C}=n,{pointers:N}=y;if(0===x&&S&&k&&(N||[]).includes(C)){Dc(p),w();const e=!a&&(n.shiftKey||\"instant\"===k),y=Xc(Yl,h),x=Xc(Yl,m),S=(e,t)=>(e||y())[r]-(t||x())[r],C=ec(Yl(u)[i])/Kl(u)[s]||1,N=l(ru(u)[c],1/C),E=n[o],I=y(),P=x(),A=I[i],O=S(I,P)+A/2,L=E-P[r],D=a?0:L-O,T=e=>{Dc(M),g.releasePointerCapture(e.pointerId)},R=a||e,B=f(),M=[eu(d,t,T),eu(d,\"selectstart\",e=>nu(e),{I:!1}),eu(m,t,T),R&&eu(m,\"pointermove\",e=>N(D+(e[o]-E))),R&&(()=>{const e=ru(u);B();const t=ru(u),n={x:t.x-e.x,y:t.y-e.y};(tc(n.x)>3||tc(n.y)>3)&&(f(),iu(u,e),b(n),v(B))})];if(g.setPointerCapture(n.pointerId),e)N(D);else if(!a){const e=hu(\"__osClickScrollPlugin\");if(e){const t=e(N,D,A,e=>{e?B():Ic(M,B)});Ic(M,t),Ic(p,Xc(t,!0))}}}})})(),y,w])},wd=e=>{const t=cd(),{K:n,U:o}=t,{elements:i}=n(),{padding:r,viewport:a,content:s}=i,c=xc(e),l=c?{}:e,{elements:u}=l,{padding:d,viewport:f,content:p}=u||{},m=c?e:l.target,h=Sl(m),g=m.ownerDocument,y=g.documentElement,v=()=>g.defaultView||Xs,w=Xc(hd,[m]),b=Xc(gd,[m]),k=Xc(Dl,\"\"),x=Xc(w,k,a),S=Xc(b,k,s),C=x(f),N=C===m,E=N&&h,I=!N&&S(p),P=!N&&C===I,A=E?y:C,O=E?A:m,L=!N&&b(k,r,d),D=!P&&I,T=[D,A,L,O].map(e=>xc(e)&&!Nl(e)&&e),R=e=>e&&Nc(T,e),B=!R(A)&&(e=>{const t=Kl(e),n=ql(e),o=jl(e,jc),i=jl(e,zc);return n.w-t.w>0&&!qu(o)||n.h-t.h>0&&!qu(i)})(A)?A:m,M=E?y:A,F={dt:m,vt:O,L:A,rn:L,ht:D,gt:M,Kt:E?g:A,ln:h?y:B,Gt:g,bt:h,Tt:c,V:N,an:v,wt:e=>yl(A,Su,e),yt:(e,t)=>gl(A,Su,e,t),St:()=>gl(M,Su,\"scrolling\",!0)},{dt:$,vt:_,rn:j,L:z,ht:H}=F,W=[()=>{fl(_,[xu,wu]),fl($,wu),h&&fl(y,[wu,xu])}];let V=Cl([H,z,j,_,$].find(e=>e&&!R(e)));const U=E?$:H||z,K=Xc(Dc,W);return[F,()=>{const e=v(),t=Il(),n=e=>{Ol(Nl(e),Cl(e)),Al(e)},i=e=>eu(e,\"focusin focusout focus blur\",ou,{A:!0,I:!1}),r=\"tabindex\",a=ll(z,r),s=i(t);return dl(_,xu,N?\"\":\"host\"),dl(j,Pu,\"\"),dl(z,Su,\"\"),dl(H,Au,\"\"),N||(dl(z,r,a||\"-1\"),h&&dl(y,ku,\"\")),Ol(U,V),Ol(_,j),Ol(j||_,!N&&z),Ol(z,H),Ic(W,[s,()=>{const e=Il(),t=R(z),o=t&&e===z?$:e,s=i(o);fl(j,Pu),fl(H,Au),fl(z,Su),h&&fl(y,ku),a?dl(z,r,a):fl(z,r),R(H)&&n(H),t&&n(z),R(j)&&n(j),lu(o),s()}]),o&&!N&&(hl(z,Su,Iu),Ic(W,Xc(fl,z,Su))),lu(!N&&h&&t===$&&e.top===e?z:t),s(),V=0,K},K]},bd=({ht:e})=>({Qt:t,un:n,At:o})=>{const{$t:i}=t||{},{Ot:r}=n;e&&(i||o)&&_l(e,{[Wc]:r&&\"100%\"})},kd=({vt:e,rn:t,L:n,V:o},i)=>{const[r,a]=Ys({i:Yc,o:zl()},Xc(zl,e,\"padding\",\"\"));return({zt:e,Qt:s,un:c,At:l})=>{let[u,d]=a(l);const{U:f}=cd(),{_t:p,xt:m,Ct:h}=s||{},{B:g}=c,[y,v]=e(\"paddingAbsolute\");(p||d||(l||m))&&([u,d]=r(l));const w=!o&&(v||h||d);if(w){const e=!y||!t&&!f,o=u.r+u.l,r=u.t+u.b,a={[$c]:e&&!g?-o:0,[_c]:e?-r:0,[Fc]:e&&g?-o:0,top:e?-u.t:0,right:e?g?-u.r:\"auto\":0,left:e?g?\"auto\":-u.l:0,[Hc]:e&&`calc(100% + ${o}px)`},s={[Tc]:e?u.t:0,[Rc]:e?u.r:0,[Mc]:e?u.b:0,[Bc]:e?u.l:0};_l(t||n,a),_l(n,s),ol(i,{rn:u,fn:!e,F:t?s:ol({},a,s)})}return{_n:w}}},xd=(e,t)=>{const n=cd(),{vt:o,rn:i,L:r,V:a,Kt:s,gt:c,bt:l,yt:u,an:d}=e,{U:f}=n,p=l&&a,m=Xc(Qs,0),h={display:()=>!1,direction:e=>\"ltr\"!==e,flexDirection:e=>e.endsWith(\"-reverse\"),writingMode:e=>\"horizontal-tb\"!==e},g=nl(h),y={i:qc,o:{w:0,h:0}},v={i:Jc,o:{}},w=e=>{u(Eu,!p&&e)},b=()=>jl(r,g),k=(e,t)=>{const n=!nl(e).length,o=!t&&g.some(t=>{const n=e[t];return hc(n)&&h[t](n)});if(n&&!o||!(e=>!!e&&(e=>!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length))(e))(r))return{D:{x:0,y:0},M:{x:1,y:1}};w(!0);const i=ru(c),a=eu(s,Kc,e=>{const t=ru(c);e.isTrusted&&t.x===i.x&&t.y===i.y&&tu(e)},{A:!0,T:!0}),l=u(\"noContent\",!0);iu(c,{x:0,y:0}),l();const d=ru(c),f=ql(c);iu(c,{x:f.w,y:f.h});const p=ru(c),m={x:p.x-d.x,y:p.y-d.y};iu(c,{x:-f.w,y:-f.h});const y=ru(c),v={x:y.x-d.x,y:y.y-d.y},b={x:tc(m.x)>=tc(v.x)?p.x:y.x,y:tc(m.y)>=tc(v.y)?p.y:y.y};return iu(c,i),ic(()=>a()),{D:d,M:b}},x=(e,t)=>{const n=Xs.devicePixelRatio%1!=0?1:0,o={w:m(e.w-t.w),h:m(e.h-t.h)};return{w:o.w>n?o.w:0,h:o.h>n?o.h:0}},S=(e,t)=>{const n=(e,t,n,o)=>{const i=e===Vc?Uc:(e=>e.replace(`${Vc}-`,\"\"))(e),r=qu(e),a=qu(n);if(!t&&!o)return Uc;if(r&&a)return Vc;if(r){return t&&o?i:t?Vc:Uc}return t?i:a&&o?Vc:Uc};return{x:n(t.x,e.x,t.y,e.y),y:n(t.y,e.y,t.x,e.x)}},C=e=>{const t=e=>[Vc,Uc,Kc].map(t=>_(Ju(t),e)),n=t(!0).concat(t()).join(\" \");u(n),u(nl(e).map(t=>_(e[t],\"x\"===t)).join(\" \"),!0)},[N,E]=Ys(y,Xc(Jl,r)),[I,P]=Ys(y,Xc(ql,r)),[A,O]=Ys(y),[L]=Ys(v),[D,T]=Ys(y),[R]=Ys(v),[B]=Ys({i:(e,t)=>Gc(e,t,Lc(Ec(nl(e),nl(t)))),o:{}}),[M,F]=Ys({i:(e,t)=>Jc(e.D,t.D)&&Jc(e.M,t.M),o:{D:{x:0,y:0},M:{x:0,y:0}}}),$=hu(Xu),_=(e,t)=>`${t?Cu:Nu}${(e=>{const t=String(e||\"\");return t?t[0].toUpperCase()+t.slice(1):\"\"})(e)}`;return({zt:a,Qt:s,un:c,At:l},{_n:h})=>{const{_t:g,Ht:y,xt:v,Ct:_,ft:j,Et:z}=s||{},H=$&&$.R(e,t,c,n,a),{X:W,Y:V,W:U}=H||{},[K,G]=((e,t)=>{const{k:n}=t,[o,i]=e(\"showNativeOverlaidScrollbars\");return[o&&n.x&&n.y,i]})(a,n),[q,J]=a(\"overflow\"),Y=qu(q.x),X=qu(q.y),Q=g||h||v||_||z||G;let Z=E(l),ee=P(l),te=O(l),ne=T(l);if(G&&f&&u(Iu,!K),Q){yl(o,xu,bu)&&w(!0);const e=V&&V(),[t]=Z=N(l),[n]=ee=I(l),i=Gl(r),a=p&&Ul(d()),s={w:m(n.w+t.w),h:m(n.h+t.h)},c={w:m((a?a.w:i.w+m(i.w-n.w))+t.w),h:m((a?a.h:i.h+m(i.h-n.h))+t.h)};e&&e(),ne=D(c),te=A(x(s,c),l)}const[oe,ie]=ne,[re,ae]=te,[se,ce]=ee,[le,ue]=Z,[de,fe]=L({x:re.w>0,y:re.h>0}),pe=Y&&X&&(de.x||de.y)||Y&&de.x&&!de.y||X&&de.y&&!de.x,me=h||_||z||ue||ce||ie||ae||J||G||Q||y&&p,[he]=a(\"update.flowDirectionStyles\"),[ge,ye]=B(he?he(r):b(),l),ve=_||j||ye||fe||l,[we,be]=ve?M(k(ge,!!he),l):F();let ke=S(de,q);w(!1),me&&(C(ke),ke=Yu(r,de),U&&W&&(W(ke,se,le),_l(r,U(ke))));const[xe,Se]=R(ke);return gl(o,xu,bu,pe),gl(i,Pu,bu,pe),ol(t,{cn:xe,Vt:{x:oe.w,y:oe.h},Rt:{x:re.w,y:re.h},j:de,Dt:au(we,re)}),{sn:Se,tn:ie,nn:ae,en:be||ae}}},Sd=e=>{const[t,n,o]=wd(e),i={rn:{t:0,r:0,b:0,l:0},fn:!1,F:{[$c]:0,[_c]:0,[Fc]:0,[Tc]:0,[Rc]:0,[Mc]:0,[Bc]:0},Vt:{x:0,y:0},Rt:{x:0,y:0},cn:{x:Uc,y:Uc},j:{x:!1,y:!1},Dt:{D:{x:0,y:0},M:{x:0,y:0}}},{dt:r,gt:a,V:s,St:c}=t,{U:l,k:u}=cd(),d=!l&&(u.x||u.y),f=[bd(t),kd(t,i),xd(t,i)];return[n,e=>{const t={},n=d&&ru(a),o=n&&c();return Cc(f,n=>{ol(t,n(e,t)||{})}),iu(a,n),o&&o(),s||iu(r,0),t},i,t,o]},Cd=(e,t,n,o,i)=>{let r=!1;const a=id(t,{}),[s,c,l,u,d]=Sd(e),[f,p,m]=pd(u,l,a,e=>{w({},e)}),[h,g,,y]=((e,t,n,o,i,r)=>{let a,s,c,l,u,d=al,f=0;const p=[\"mouse\",\"pen\"],m=e=>p.includes(e.pointerType),[h,g]=Qc(),[y,v]=Qc(100),[w,b]=Qc(100),[k,x]=Qc(()=>f),[S,C]=yd(e,i,o,vd(t,i,o,e=>m(e)&&R())),{vt:N,Kt:E,bt:I}=i,{Ft:P,Pt:A,Nt:O,qt:L,Bt:D}=S,T=(e,t)=>{if(x(),e)P(Vu);else{const e=Xc(P,Vu,!0);f>0&&!t?k(e):e()}},R=()=>{(c?a:l)||(T(!0),y(()=>{T(!1)}))},B=e=>{P(Wu,e,!0),P(Wu,e,!1)},M=e=>{m(e)&&(a=c,c&&T(!0))},F=[x,v,b,g,()=>d(),eu(N,\"pointerover\",M,{T:!0}),eu(N,\"pointerenter\",M),eu(N,\"pointerleave\",e=>{m(e)&&(a=!1,c&&T(!1))}),eu(N,\"pointermove\",e=>{m(e)&&s&&R()}),eu(E,\"scroll\",e=>{h(()=>{O(),R()}),r(e),D()})],$=hu(Xu);return[()=>Xc(Dc,Ic(F,C())),({zt:e,At:t,Qt:i,Zt:r})=>{const{tn:a,nn:p,sn:m,en:h}=r||{},{Ct:g,ft:y}=i||{},{B:v}=n,{k:b,U:k}=cd(),{cn:x,j:S}=o,[C,N]=e(\"showNativeOverlaidScrollbars\"),[R,M]=e(\"scrollbars.theme\"),[F,_]=e(\"scrollbars.visibility\"),[j,z]=e(\"scrollbars.autoHide\"),[H,W]=e(\"scrollbars.autoHideSuspend\"),[V]=e(\"scrollbars.autoHideDelay\"),[U,K]=e(\"scrollbars.dragScroll\"),[G,q]=e(\"scrollbars.clickScroll\"),[J,Y]=e(\"overflow\"),X=y&&!t,Q=S.x||S.y,Z=a||p||h||g||t,ee=m||_||Y,te=C&&b.x&&b.y,ne=!k&&!$,oe=te||ne,ie=(e,t,n)=>{const o=e.includes(Kc)&&(F===Vc||\"auto\"===F&&t===Kc);return P(_u,o,n),o};if(f=V,X&&(H&&Q?(B(!1),d(),w(()=>{d=eu(E,\"scroll\",Xc(B,!0),{T:!0})})):B(!0)),(N||ne)&&P(\"os-theme-none\",oe),M&&(P(u),P(R,!0),u=R),W&&!H&&B(!0),z&&(s=\"move\"===j,c=\"leave\"===j,l=\"never\"===j,T(l,!0)),K&&P(Gu,U),q&&P(Ku,!!G),ee){const e=ie(J.x,x.x,!0),t=ie(J.y,x.y,!1);P(ju,!(e&&t))}Z&&(O(),A(),D(),h&&L(),P(Hu,!S.x,!0),P(Hu,!S.y,!1),P(Ru,v&&!I))},{},S]})(e,t,m,l,u,i),v=e=>nl(e).some(t=>!!e[t]),w=(e,i)=>{if(n())return!1;const{dn:a,At:s,It:l,pn:u}=e,d=a||{},f=!!s||!r,h={zt:id(t,d,f),dn:d,At:f};if(u)return g(h),!1;const y=i||p(ol({},h,{It:l})),w=c(ol({},h,{un:m,Qt:y}));g(ol({},h,{Qt:y,Zt:w}));const b=v(y),k=v(w),x=b||k||!rl(d)||f;return r=!0,x&&o(e,{Qt:y,Zt:w}),x};return[()=>{const{ln:e,gt:t,St:n}=u,o=ru(e),i=[f(),s(),h()],r=n();return iu(t,o),r(),Xc(Dc,i)},w,()=>({vn:m,gn:l}),{hn:u,bn:y},d]},Nd=new WeakMap,Ed=e=>Nd.get(e),Id=(e,t,n)=>{const{tt:o}=cd(),i=xc(e),r=i?e:e.target,a=Ed(r);if(t&&!a){let a=!1;const s=[],c={},l=e=>{const t=il(e),n=hu(\"__osOptionsValidationPlugin\");return n?n(t,!0):t},u=ol({},o(),l(t)),[d,f,p]=du(),[m,h,g]=du(n),y=(e,t)=>{g(e,t),p(e,t)},[v,w,b,k,x]=Cd(e,u,()=>a,({dn:e,At:t},{Qt:n,Zt:o})=>{const{_t:i,Ct:r,$t:a,xt:s,Ht:c,ft:l}=n,{tn:u,nn:d,sn:f,en:p}=o;y(\"updated\",[C,{updateHints:{sizeChanged:!!i,directionChanged:!!r,heightIntrinsicChanged:!!a,overflowEdgeChanged:!!u,overflowAmountChanged:!!d,overflowStyleChanged:!!f,scrollCoordinatesChanged:!!p,contentMutation:!!s,hostMutation:!!c,appear:!!l},changedOptions:e||{},force:!!t}])},e=>y(\"scroll\",[C,e])),S=e=>{(e=>{Nd.delete(e)})(r),Dc(s),a=!0,y(\"destroyed\",[C,e]),f(),h()},C={options(e,t){if(e){const n=t?o():{},i=od(u,ol(n,l(e)));rl(i)||(ol(u,i),w({dn:i}))}return ol({},u)},on:m,off:(e,t)=>{e&&t&&h(e,t)},state(){const{vn:e,gn:t}=b(),{B:n}=e,{Vt:o,Rt:i,cn:r,j:s,rn:c,fn:l,Dt:u}=t;return ol({},{overflowEdge:o,overflowAmount:i,overflowStyle:r,hasOverflow:s,scrollCoordinates:{start:u.D,end:u.M},padding:c,paddingAbsolute:l,directionRTL:n,destroyed:a})},elements(){const{dt:e,vt:t,rn:n,L:o,ht:i,gt:r,Kt:a}=k.hn,{jt:s,Jt:c}=k.bn,l=e=>{const{Mt:t,Ut:n,Lt:o}=e;return{scrollbar:o,track:n,handle:t}},u=e=>{const{Xt:t,Yt:n}=e,o=l(t[0]);return ol({},o,{clone:()=>{const e=l(n());return w({pn:!0}),e}})};return ol({},{target:e,host:t,padding:n||o,viewport:o,content:i||o,scrollOffsetElement:r,scrollEventElement:a,scrollbarHorizontal:u(s),scrollbarVertical:u(c)})},update:e=>w({At:e,It:!0}),destroy:Xc(S,!1),plugin:e=>c[nl(e)[0]]};return Ic(s,[x]),((e,t)=>{Nd.set(e,t)})(r,C),mu(fu,Id,[C,d,c]),((e,t)=>{const{nativeScrollbarsOverlaid:n,body:o}=t||{},{k:i,U:r,K:a}=cd(),{nativeScrollbarsOverlaid:s,body:c}=a().cancel,l=null!=n?n:s,u=fc(o)?c:o,d=(i.x||i.y)&&l,f=e&&(pc(u)?!r:u);return!!d||!!f})(k.hn.bt,!i&&e.cancel)?(S(!0),C):(Ic(s,v()),y(\"initialized\",[C]),C.update(),C)}return a};Id.plugin=e=>{const t=vc(e),n=t?e:[e],o=n.map(e=>mu(e,Id)[0]);return(e=>{Cc(e,e=>Cc(e,(t,n)=>{fu[n]=e[n]}))})(n),t?o:o[0]},Id.valid=e=>{const t=e&&e.elements,n=yc(t)&&t();return kc(n)&&!!Ed(n.target)},Id.env=()=>{const{P:e,k:t,U:n,J:o,ot:i,st:r,K:a,Z:s,tt:c,nt:l}=cd();return ol({},{scrollbarsSize:e,scrollbarsOverlaid:t,scrollbarsHiding:n,scrollTimeline:o,staticDefaultInitialization:i,staticDefaultOptions:r,getDefaultInitialization:a,setDefaultInitialization:s,getDefaultOptions:c,setDefaultOptions:l})},Id.nonce=e=>{rd=e},Id.trustedTypePolicy=e=>{Ll=e};const Pd=()=>{if(typeof window>\"u\"){const e=()=>{};return[e,e]}let e,t;const n=window,o=\"function\"==typeof n.requestIdleCallback,i=n.requestAnimationFrame,r=n.cancelAnimationFrame,a=o?n.requestIdleCallback:i,s=o?n.cancelIdleCallback:r,c=()=>{s(e),r(t)};return[(n,r)=>{c(),e=a(o?()=>{c(),t=i(n)}:n,\"object\"==typeof r?r:{timeout:2233})},c]},Ad=e=>{const{options:t,events:n,defer:o}=e||{},[i,r]=u(Pd,[]),a=d(null),s=d(o),c=d(t),l=d(n);return f(()=>{s.current=o},[o]),f(()=>{const{current:e}=a;c.current=t,Id.valid(e)&&e.options(t||{},!0)},[t]),f(()=>{const{current:e}=a;l.current=n,Id.valid(e)&&e.on(n||{},!0)},[n]),f(()=>()=>{var e;r(),null==(e=a.current)||e.destroy()},[]),u(()=>[e=>{const t=a.current;if(Id.valid(t))return;const n=s.current,o=c.current||{},r=l.current||{},u=()=>a.current=Id(e,o,r);n?i(u,n):u()},()=>a.current],[])};r((e,t)=>{const{element:n=\"div\",options:o,events:r,defer:a,children:s,...c}=e,l=n,u=d(null),m=d(null),[h,g]=Ad({options:o,events:r,defer:a});return f(()=>{const{current:e}=u,{current:t}=m;if(!e)return;return h(\"body\"===n?{target:e,cancel:{body:null}}:{target:e,elements:{viewport:t,content:t}}),()=>{var e;return null==(e=g())?void 0:e.destroy()}},[h,n]),p(t,()=>({osInstance:g,getElement:()=>u.current}),[]),i.createElement(l,{\"data-overlayscrollbars-initialize\":\"\",ref:u,...c},\"body\"===n?s:i.createElement(\"div\",{\"data-overlayscrollbars-contents\":\"\",ref:m},s))});const Od=r((t,n)=>{const{children:o,element:i=\"div\",elementProps:r,wrapperClassName:s}=t,c=d(null),l=d(null),[u,p]=Ad({options:{scrollbars:{autoHide:\"leave\",autoHideDelay:0}},defer:!0}),m=a(e=>{l.current=e,\"function\"==typeof n?n(e):null!==n&&(n.current=e)},[n]);return f(()=>{if(l.current&&c.current)return u({target:c.current,elements:{viewport:l.current,content:l.current}}),()=>p()?.destroy()},[u,p]),e(\"div\",{\"data-overlayscrollbars-initialize\":\"\",ref:c,className:E(\"io-overlay-scrollbars-container\",s),children:e(i,{\"data-overlayscrollbars-contents\":\"\",ref:m,...r,children:o})})});function Ld({text:t=\"Label\",...n}){return e(\"label\",{...n,children:t})}var Dd=i[\"undefined\"!=typeof document&&void 0!==document.createElement?\"useLayoutEffect\":\"useEffect\"],Td=0,Rd=()=>Td++,Bd=0;function Md(e,t){void 0===t&&(t=\"🅰\");var[n,o]=l(Bd?Rd:void 0);return Dd(()=>{void 0===n&&o(Td++),Bd=1},[]),e||(void 0===n?n:t+n)}function Fd(){return(\"function\"==typeof g?g:Md)()??\"\"}const $d=r(({id:n,className:o,type:i=\"text\",name:r=\"input\",align:s=\"up\",label:c,iconPrepend:l,iconPrependOnClick:u,iconAppend:d,iconAppendOnClick:f,placeholder:p,disabled:m,readOnly:h,errorMessage:g,errorDataTestId:y,...v},w)=>{const b=Fd(),k=n||`input-${b}`,x=E(\"io-control-input\",l&&\"io-control-leading-icon\",d&&\"io-control-trailing-icon\",m&&\"io-control-disabled\",h&&\"io-control-readonly\",g&&\"io-control-error\",s&&[`direction-${s}`],o),S=a(e=>{m?e.preventDefault():u&&u(e)},[u,m]),C=a(e=>{m?e.preventDefault():f&&f(e)},[f,m]);return t(\"div\",{className:x,children:[c&&e(Ld,{htmlFor:k,text:c}),l&&e(I,{variant:l,onClick:e=>S(e)}),e(\"input\",{id:k,className:\"io-input\",ref:w,type:i,name:r,tabIndex:0,placeholder:p??(()=>{switch(i){case\"email\":return\"Enter your email here...\";case\"number\":return\"Enter number here...\";case\"password\":return\"Enter your password here...\";case\"tel\":return\"Enter your phone number here...\";case\"file\":return\"Select a file...\";default:return\"Enter text here...\"}})(),\"aria-label\":c,disabled:m,readOnly:h,...g?{\"aria-invalid\":!0,\"aria-describedby\":`${k}-error`}:{},...v}),d&&e(I,{variant:d,onClick:e=>C(e)}),g&&t(\"div\",{\"data-testid\":y,id:`${k}-error`,className:\"io-input-error\",children:[e(I,{variant:\"close\"}),g]})]})});$d.displayName=\"Input\";const _d=r(({id:n,className:o,name:i=\"textarea\",align:r=\"up\",label:a,rows:s=4,placeholder:c=\"Enter text here...\",disabled:l,readOnly:u,...d},f)=>{const p=Fd(),m=n||`textarea-${p}`,h=E(\"io-control-textarea\",l&&\"io-control-disabled\",u&&\"io-control-readonly\",r&&[`direction-${r}`],o);return t(\"div\",{className:h,children:[a&&e(Ld,{htmlFor:m,text:a}),e(\"textarea\",{id:m,className:\"io-textarea\",ref:f,name:i,tabIndex:0,placeholder:c,\"aria-label\":a,disabled:l,readOnly:u,rows:s,...d})]})});_d.displayName=\"Textarea\";const jd=r(({id:n,className:o,name:i=\"checkbox\",align:r=\"left\",label:a,checked:s,disabled:c,...l},u)=>{const d=Fd(),f=n||`checkbox-${d}`,p=E(\"io-control-checkbox\",s&&\"io-control-checked\",c&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:p,children:[e(\"input\",{type:\"checkbox\",id:f,className:\"io-checkbox\",ref:u,name:i,tabIndex:c?-1:0,checked:s,disabled:c,\"aria-checked\":s,...l}),a&&e(Ld,{htmlFor:f,text:a,\"data-testid\":l[\"data-testid\"]?`${l[\"data-testid\"]}-label`:void 0})]})});jd.displayName=\"Checkbox\";const zd=r(({id:n,className:o,name:i=\"radio\",align:r=\"left\",label:a,checked:s,disabled:c,...l},u)=>{const d=Fd(),f=n||`radio-${d}`,p=E(\"io-control-radio\",s&&\"io-control-checked\",c&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:p,children:[e(\"input\",{type:\"radio\",id:f,className:\"io-radio\",ref:u,name:i,tabIndex:c?-1:0,checked:s,disabled:c,\"aria-checked\":s,...l}),a&&e(Ld,{htmlFor:f,text:a})]})});zd.displayName=\"Radio\";const Hd=()=>{const e=c(x),[t,n]=l(null),o=a(t=>e?.themes?.select(t),[e]);return f(()=>{if(!e)return;let t=!1;const o=e=>{t||n(e)};return e.themes?.onChanged(o),e.themes?.getCurrent().then(o).catch(console.warn),()=>{t=!0}},[e]),{currentTheme:t,selectTheme:o}};function Wd(e,t=500){const[n,o]=l(e);return f(()=>{const n=setTimeout(()=>{o(e)},t);return()=>clearTimeout(n)},[e,t]),n}function Vd(e=!0){const t=c(x),n=t?.windows.my(),o=e=>{e.isFocused||n?.hide().catch(e=>{console.error(\"Error hiding window:\",e)})};return f(()=>{if(!e)return;const t=n?.onFocusChanged(o);return()=>t?.()},[]),t}function Ud(){return u(()=>\"object\"==typeof window&&Or(),[])}function Kd(){const e=d(!1);return f(()=>(e.current=!0,()=>{e.current=!1}),[]),a(()=>e.current,[])}function Gd(e){const[t,n]=l(!1);function o({key:t}){t===e&&n(!0)}const i=({key:t})=>{t===e&&n(!1)};return f(()=>(window.addEventListener(\"keydown\",o),window.addEventListener(\"keyup\",i),()=>{window.removeEventListener(\"keydown\",o),window.removeEventListener(\"keyup\",i)}),[]),t}function qd(e,t){f(()=>{const n=n=>{n.code===e&&t()};return document.addEventListener(\"keyup\",n),()=>document.removeEventListener(\"keyup\",n)},[e,t])}function Jd({shouldMinimizeToTray:e=!1}){const t=c(x);f(()=>{if(!t?.windows||!e)return;const n=t.windows.my();if(!n)return;const o=n.onMinimized(e=>{(async()=>{try{await e.configure({showInTaskbar:!1})}catch(e){console.error(\"Failed to hide window from taskbar:\",e)}})()}),i=n.onNormal(e=>{(async()=>{try{await e.configure({showInTaskbar:!0})}catch(e){console.error(\"Failed to show window in taskbar:\",e)}})()});return()=>{o(),i()}},[t,e])}const Yd=e=>({x:e.clientX,y:e.clientY});function Xd({onClick:e,onDrag:t,dragThreshold:n=5}){const o=d(null),i=d(null),r=d(!1),s=d(e),c=d(t);f(()=>{s.current=e},[e]),f(()=>{c.current=t},[t]);const l=a(()=>{o.current=null,i.current=null,r.current=!1},[]),u=a(e=>{e.isPrimary&&0===e.button&&(e.currentTarget instanceof Element&&e.currentTarget.setPointerCapture(e.pointerId),o.current=Yd(e),i.current=e.pointerId,r.current=!1)},[]),p=a(e=>{if(!e.isPrimary||i.current!==e.pointerId)return;if(\"mouse\"===e.pointerType&&!(1&e.buttons))return;if(!o.current||r.current)return;const t=Yd(e),a=t.x-o.current.x,s=t.y-o.current.y;a*a+s*s>=n*n&&(r.current=!0,Promise.resolve(c.current()).catch(e=>{console.warn(\"onDrag error\",e)}))},[n]),m=a(e=>{i.current===e.pointerId&&(e.currentTarget instanceof Element&&e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),o.current?(r.current||Promise.resolve(s.current()).catch(e=>{console.warn(\"onClick error\",e)}),l()):l())},[l]);return{onPointerDown:u,onPointerMove:p,onPointerUp:m,onPointerCancel:a(e=>{i.current===e.pointerId&&(e.currentTarget instanceof Element&&e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),l())},[l])}}const Qd=()=>{const e=c(x),t=e?.windows,n=e?.workspaces,o=d(null),[i,r]=l(null),[s,u]=l(null),[p,m]=l(!1),[h,g]=l(!1),[y,v]=l(null),w=d(void 0),b=Kd(),{currentTheme:k}=Hd();f(()=>{o.current=i;const e=i?.ioConnectWindow.onVisibilityChanged(()=>{i?.ioConnectWindow.isVisible||m(!1)});return()=>{e?.()}},[i]);const S=a(async(e,o)=>{const i={windowId:e?.ioConnectWindow.id,...o},r=window.glue42gd.windowId;if((()=>{const e=Or()&&!!window.workspacesManager,t=!Or()&&!!window.ioworkspaces;return e||t})()){if(!n)return;const e=(await(n?.getAllFrames())).find(e=>e.id===r);await(e?.showPopup(i))}else if(Or()&&window.webGroupsManager){const e=t.groups.list().find(e=>e.id===r);await(e?.showPopup(i))}else{const e=t.my();if(!e)return void console.warn(\"Cannot access my window to show popup\");await e.showPopup({...i})}},[t,n]),C=a(e=>{try{const t=e.document;k?.name&&(t.documentElement.className=k.name);const n=t.createElement(\"div\");return n.id=\"io-popup-window-container\",t.body.innerHTML=\"\",t.body.appendChild(n),t}catch(e){const t=`Failed to setup popup document: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),b()&&v(t),null}},[k,b]),N=a(async e=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),b()&&v(e),null}b()&&(g(!0),v(null));try{const n=new Promise((e,t)=>{setTimeout(()=>t(new Error(\"Popup creation timeout after 5 seconds\")),5e3)}),o=t.createPopup({...e}),i=await Promise.race([o,n]);if(!b())return await i.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null;r(i);const a=i.browserWindow;if(a?.document){const e=C(a);b()&&e&&u(e)}return i}catch(e){const t=`Failed to create popup: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),b()&&(v(t),r(null),u(null)),null}finally{b()&&g(!1)}},[t,C,b]),E=a(()=>{if(!i||!t)return!1;try{return t.list().some(e=>e.id===i.ioConnectWindow.id)}catch(e){return console.warn(\"usePopupWindow: Failed to verify popup existence\",e),!1}},[i,t]),I=a(async()=>{if(!i)return null;if(E())return i;console.warn(\"usePopupWindow: Popup window was destroyed, recreating...\");const e=i.ioConnectWindow.bounds,t=await N({left:e.left,top:e.top,width:e.width,height:e.height});if(!t){const e=\"Failed to recreate destroyed popup window\";console.error(\"usePopupWindow:\",e),b()&&v(e)}return t},[i,E,N,b]),P=a(async e=>{if(i)return await I();const t=await N(e);return t?b()?t:(await t.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null):(console.warn(\"usePopupWindow: Failed to create popup, operation aborted\"),null)},[i,I,N,b]);f(()=>{if(i?.browserWindow&&s)try{k?.name&&(s.documentElement.className=k.name)}catch(e){console.warn(\"usePopupWindow: Failed to update popup theme\",e)}},[i,s,k]);const A=a(()=>{v(null)},[]),O=a(async e=>{if(i){if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(b()&&v(e))}try{const t=e||w.current;if(!t)return void console.warn(\"usePopupWindow: No show options available\");const n=await I();if(!n||!b())return;await S(n,t),b()&&m(!0)}catch(e){const t=`Failed to show popup: ${JSON.stringify(e)}`;console.error(\"usePopupWindow:\",t,e),b()&&v(t)}}else console.warn(\"usePopupWindow: Cannot show popup - popup not created yet\")},[i,t,S,b,I]),L=a(async e=>{await(i?.ioConnectWindow.moveResize({...e}))},[i]),D=a(async()=>{if(b()&&(m(!1),o.current))try{await o.current.ioConnectWindow.hide()}catch(e){console.error(\"usePopupWindow: Failed to hide popup\",e)}},[o,b]);ie(()=>{p&&D().catch(e=>{console.error(\"Failed to hide popup on Escape key press in parent window\",e)})},[\"Escape\"]),f(()=>{if(!i?.browserWindow||!p)return;const e=e=>{\"Escape\"===e.key&&(e.preventDefault(),D().catch(e=>{console.error(\"Failed to hide popup on Escape key press in popup window\",e)}))};return i.browserWindow.document.addEventListener(\"keydown\",e),()=>{i.browserWindow.document.removeEventListener(\"keydown\",e)}},[i,p,D]);const T=a(async()=>{if(o.current)try{await o.current.ioConnectWindow.close(),o.current=null}catch(e){const t=`Failed to close popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),b()&&v(t)}finally{b()&&(r(null),u(null),m(!1),w.current=void 0)}},[o,b]),R=a(async(e,n,o)=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(b()&&v(e))}b()&&(g(!0),v(null));try{let e=await P(n);if(!e){const t=await N(n);if(!t)return void console.warn(\"usePopupWindow: Failed to create popup, operation aborted\");if(!b())return await t.ioConnectWindow.close().catch(()=>{}),void console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\");e=t}o&&(w.current=o),await S(e,o),b()&&m(!0)}catch(e){const t=`Failed to create and show popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),b()&&v(t)}finally{b()&&g(!1)}},[N,t,S,b,P]);return{popup:i,loading:h,error:y,clearError:A,isOpen:!!i,isVisible:p,createPopup:N,showPopup:O,createAndShowPopup:R,hidePopup:D,closePopup:T,getContainer:()=>s?.getElementById(\"io-popup-window-container\")||null,resizePopup:L}};function Zd(e,t=!0){const n=c(x),o=n?.windows.my(),i=a(async()=>{o&&await o.show().catch(e=>console.log(\"Error showing window:\",e))},[o]),r=a(async()=>{o&&await o.hide().catch(e=>console.log(\"Error hiding window:\",e))},[o]);f(()=>{if(!o)return;(e?i():r()).catch(console.error),e&&t&&o.focus().catch(console.error)},[e,t,o,i,r])}const ef=()=>{const e=c(x),[t,n]=l([]);return f(()=>{e&&e.themes?.list().then(n).catch(console.warn)},[e]),t};function tf(e,t){const n=d(e);m(()=>{n.current=e},[e]),f(()=>{if(!t&&0!==t)return;const e=setTimeout(()=>n.current(),t);return()=>{clearTimeout(e)}},[t])}const nf=\"Window reference is not available\";async function of(e){const[t,n]=await Promise.all([e.getDockingConfig(),e.getDockingPlacement()]),o=n;return{enabled:t.enabled??!0,docked:o.docked??!1,claimScreenArea:o.claimScreenArea??t.claimScreenArea??!1,position:o.position??\"top\",allowedPositions:t.allowedPositions??[\"top\"],width:t.width,height:t.height,floatingWidth:o.floatingWidth,floatingHeight:o.floatingHeight}}function rf(e){return e instanceof Error?e.message:String(e)}function af(){const e=c(x),t=e?.windows,[n,o]=l(!0),[i,r]=l(null),[s,u]=l(null);f(()=>{if(!t)return void o(!1);let e;return(async()=>{o(!0),r(null);const n=t.my();try{if(!n)throw new Error(\"No window found\");const t=await of(n);u(t),e=n.onDockingChanged(()=>{(async e=>{try{const t=await of(e);u(t)}catch(e){r(rf(e))}})(n)})}catch(e){r(rf(e))}finally{o(!1)}})(),()=>{e?.()}},[t]);const d=a(async()=>{const e=t?.my();if(!e)return r(nf),null;o(!0),r(null);try{const t=await of(e);return u(t),t}catch(e){return r(rf(e)),null}finally{o(!1)}},[t]),p=a(async e=>{const n=t?.my();if(n){o(!0),r(null);try{await n.setDockingConfig(e);const t=await of(n);u(t)}catch(e){r(rf(e))}finally{o(!1)}}else r(nf)},[t]),m=a(async e=>{const n=t?.my();if(!n)return r(nf),null;o(!0),r(null);try{const t=await n.dock(e);return{docked:t.docked,position:t.position,claimScreenArea:t.claimScreenArea}}catch(e){return r(rf(e)),null}finally{o(!1)}},[t]),h=a(async e=>{const n=t?.my();if(n){o(!0),r(null);try{await n.undock(e)}catch(e){r(rf(e))}finally{o(!1)}}else r(nf)},[t]);return{loading:n,error:i,dockingConfig:s,getDockingConfig:d,setDockingConfig:p,dock:m,undock:h}}const sf=r(({id:n,className:o,name:i=\"toggle\",align:r=\"left\",label:a,checked:s,disabled:c,onKeyDown:l,\"data-testid\":u=\"toggle\",...d},f)=>{const p=Fd(),m=n||`toggle-${p}`,h=E(\"io-control-toggle\",s&&\"io-control-checked\",c&&\"io-control-disabled\",r&&[`direction-${r}`],o);return e(\"div\",{className:h,children:t(\"label\",{className:\"io-toggle\",htmlFor:m,tabIndex:c?-1:0,onKeyDown:l,\"data-testid\":`${u}-label`,children:[e(\"input\",{type:\"checkbox\",id:m,className:\"io-checkbox\",ref:f,name:i,checked:s,disabled:c,\"aria-checked\":s,tabIndex:-1,\"data-testid\":u,...d}),e(\"span\",{className:\"slider\",\"data-testid\":`${u}-slider`}),a]})})});function cf(e){return{name:e.name,title:e.title,hidden:e.isHidden,userProperties:e.customProperties}}function lf(e){return{name:e.name,title:e.title,hidden:e.hidden,userProperties:e.userProperties}}sf.displayName=\"Toggle\";const uf={getMyApplication:async function(e){if(e)try{const t=e.apps;if(t){const e=t.my?.appName;if(!e)return;const n=await t.registry.get({name:e});if(!n)return;return cf(n)}const n=e.appManager?.myApplication;if(!n)return;return lf(n)}catch(e){return void console.error(\"Failed to get my application\",e)}},getApplications:async function(e){if(!e)return[];try{const t=e.apps?.registry;if(t){const e=await t.getMany()??[];return e.map(e=>cf(e))}const n=e.appManager?.applications()??[];return n.map(e=>lf(e))}catch(e){console.error(\"Failed to get applications\",e)}return[]},startApplication:async function(e,t,n){if(e)try{const o=e.apps;if(o){await(o.registry?.get({name:t}))||console.error(`Application \"${t}\" not found in registry`);const e=o.instances;return e?void await e.start({name:t,...n}):void console.error(\"io.apps.instances API is not available\")}const i=e.appManager?.application(t);if(!i)return void console.error(`Application \"${t}\" not found`);await i.start(n)}catch(e){return void console.error(`Failed to start application \"${t}\"`,e)}},stopApplication:async function(e,t,n){if(e)try{const o=e.apps;if(o){const e=o.instances;return e?void await e.stop({id:t.id,force:n?.force,reason:n?.reason,timeout:n?.timeout}):void console.error(\"io.apps.instances API is not available\")}const i=e.appManager.instances().find(e=>e.id===t.id);if(!i)return void console.error(`Instance \"${t.id}\" not found`);await i.stop()}catch(e){return void console.error(`Failed to stop application instance \"${t.id}\"`,e)}},onAppAdded:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onAdded(({app:e})=>{const n=cf(e);t(n)})}const o=e.appManager?.onAppAdded(e=>{const n=lf(e);t(n)});return o}catch(e){return void console.error(\"Failed to subscribe to app added events\",e)}},onAppRemoved:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onRemoved(({appName:e})=>{t({name:e})})}const o=e.appManager?.onAppRemoved(e=>{t({name:e.name})});return o}catch(e){return void console.error(\"Failed to subscribe to app removed events\",e)}},onAppChanged:async function(e,t){if(e)try{const n=e.apps?.registry;if(n){return await n.onUpdated(e=>{const n=cf(e.app);t(n)})}const o=e.appManager?.onAppChanged(e=>{const n=lf(e);t(n)});return o}catch(e){return void console.error(\"Failed to subscribe to app changed events\",e)}},restartPlatform:async function(e,t=!0){if(!e)return;const n={autoSave:t,showDialog:!0};try{if(e.platform?.restart)return void await e.platform.restart(n);await(e.appManager?.restart(n))}catch(e){console.error(\"Failed to restart platform\",e)}},shutdownPlatform:async function(e,t=!0){if(!e)return;const n={autoSave:t,showDialog:!0};try{if(e.platform?.shutdown)return void await e.platform.shutdown(n);await(e.appManager?.exit(n))}catch(e){console.error(\"Failed to shutdown platform\",e)}}};const df={minimizeWindow:async function(e){if(e)try{const t=e.windows?.my();await(t?.minimize())}catch(e){console.error(\"Failed to minimize window\",e)}},closeWindow:async function(e,t){if(e)try{const n=e.windows?.my();await(n?.close(t))}catch(e){console.error(\"Failed to close window\",e)}},restartPlatform:uf.restartPlatform,shutdownPlatform:uf.shutdownPlatform},ff=s({theme:\"dark\"}),pf=({children:t})=>{const n=c(x),[o,i]=l({theme:\"dark\"});return f(()=>{const e=window.iodesktop??window.glue42gd;if(!e||!(\"theme\"in e))return;async function t(e){const t=await(n.themes?.list()),o=t?.map(({name:e})=>e)??[\"dark\",\"light\"];document.documentElement.classList.remove(...o),document.documentElement.classList.add(e)}t(e.theme);const o=n.themes?.onChanged(({name:e})=>{i({theme:e}),t(e)});return o},[n.themes]),e(ff.Provider,{value:o,children:t})},mf=s(void 0),hf=()=>{const e=c(mf);if(!e)throw new Error(\"usePanelManagerContext must be used within a PanelManagerContext.Provider\");return e},gf=n=>{const{General:o,Launchpad:i,Docking:r,ExtendedArea:a,Layouts:s,Downloads:c,System:l}=Np();return t(Od,{element:Us,elementProps:n,children:[e(o,{}),e(i,{}),e(r,{}),e(a,{}),e(s,{}),e(c,{}),e(l,{})]})},yf=({title:t=\"General\",...n})=>{const{Theme:o}=Np();return e(T,{title:t,...n,children:e(o,{})})},vf=({className:n,title:o=\"Theme\",...i})=>{const{currentTheme:r,selectTheme:a}=Hd(),s=ef();return t(\"div\",{className:E(\"flex jc-between ai-center\",n),\"data-testid\":\"theme-container\",...i,children:[e(\"label\",{className:\"io-text-clipper\",\"data-testid\":\"theme-label\",children:o}),t(re,{variant:\"light\",\"data-testid\":\"theme-dropdown\",children:[e(re.Button,{text:r?.displayName??\"Dark\",\"data-testid\":\"theme-dropdown-button\"}),e(re.Content,{\"data-testid\":\"theme-dropdown-content\",children:e(re.List,{children:s.map(({displayName:t,name:n})=>e(re.Item,{onClick:()=>a(n),\"data-testid\":`theme-dropdown-item-${n}`,children:t},n))})})]})]})},wf=({prefKey:t,...n})=>{const{isLoading:o,value:i=!1,update:r}=ks({prefKey:t});return e(sf,{checked:i,disabled:o,onChange:e=>r(e.target.checked),...n})},bf=({align:t=\"right\",label:n=\"Minimize to tray\",...o})=>e(wf,{align:t,label:n,prefKey:Fa,...o}),kf=({prefKey:n,options:o,disabled:i,...r})=>{const{isLoading:a,value:s=\"Select option\",update:c}=ks({prefKey:n});return t(re,{variant:\"light\",disabled:a||i,...r,children:[e(re.Button,{children:s}),e(re.Content,{children:e(re.List,{children:o.map(t=>e(re.Item,{onClick:()=>(async e=>{if(e!==s)try{await c(e)}catch(e){console.error(\"Failed to update platform preference:\",e)}})(t),children:t},t))})})]})},xf=({className:n,label:o=\"Pinned position\",...i})=>e(T,{className:E(\"io-block-list-gap\",n),...i,children:t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e(kf,{className:n,prefKey:_a,options:[\"Left\",\"Right\"],...i})]})}),Sf=({align:t=\"right\",label:n='Hide \"Favorites\"',...o})=>e(wf,{align:t,label:n,prefKey:Ka,...o}),Cf=({align:t=\"right\",label:n=\"Allow docking to top\",...o})=>e(wf,{align:t,label:n,prefKey:ja,...o}),Nf=({align:t=\"right\",label:n=\"Always on top\",...o})=>e(wf,{align:t,label:n,prefKey:za,...o}),Ef=({align:t=\"right\",label:n=\"Claim occupied space\",...o})=>e(wf,{align:t,label:n,prefKey:Ha,...o}),If=({align:t=\"right\",label:n=\"Show the extended Launchpad area\",...o})=>e(wf,{align:t,label:n,prefKey:Wa,...o}),Pf=({align:t=\"right\",label:n=\"Hide labels\",...o})=>{const{value:i}=ks({prefKey:Wa});return e(wf,{align:t,label:n,prefKey:Va,disabled:!i,...o})},Af=({align:t=\"right\",label:n='Show \"Favorites\"',...o})=>{const{value:i}=ks({prefKey:Wa});return e(wf,{align:t,label:n,prefKey:Ua,disabled:!i,...o})},Of=({align:t=\"right\",label:n='Show \"Recent\"',...o})=>{const{value:i}=ks({prefKey:Wa});return e(wf,{align:t,label:n,prefKey:Ga,disabled:!i,...o})},Lf=({title:n=\"Layouts\",...o})=>{const{LayoutsSaveCurrentOnExit:i,LayoutsShowDeletePrompt:r,LayoutsShowUnsavedChangesPrompt:a}=Np();return t(T,{title:n,...o,children:[e(i,{}),e(a,{}),e(r,{})]})},Df=({align:t=\"right\",label:n=\"Save current on exit\",...o})=>e(wf,{align:t,label:n,prefKey:Ja,...o}),Tf=({align:t=\"right\",label:n=\"Show prompt for unsaved changes\",...o})=>e(wf,{align:t,label:n,prefKey:Ya,\"data-testid\":\"layouts-show-unsaved-changes-prompt-toggle-button\",...o}),Rf=({align:t=\"right\",label:n=\"Show prompt for deleting\",...o})=>e(wf,{align:t,label:n,prefKey:Xa,\"data-testid\":\"layouts-show-delete-prompt-toggle\",...o}),Bf=({title:t=\"Downloads\",...n})=>{const{DownloadsLocation:o}=Np();return e(T,{title:t,...n,children:e(o,{})})};function Mf({title:n=\"Downloads\"}){const{ItemSearch:o,HeaderButtons:i}=sp();return t(\"div\",{className:\"io-dm-header\",children:[t(se,{draggable:!0,children:[e(se.Title,{tag:\"h1\",text:n,size:\"large\"}),e(i,{className:\"non-draggable\"})]}),e(o,{})]})}const Ff=window.glue42gd;const $f=s({configuration:{},items:[],removeItem:()=>{},pauseResumeItem:()=>{},cancelItem:()=>{},clearItems:()=>{},showItemInFolder:()=>{},isSettingsVisible:!1,showSettings:()=>{},hideSettings:()=>{},searchQuery:\"\",setSearch:()=>{},itemsCount:0,setCount:()=>{},setDownloadLocation:()=>{},setDownloadLocationWithDialog:()=>{},sortItems:()=>[],downloadLocationList:[],isDownloadLocationDialogVisible:!1}),_f=()=>c($f);function jf({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const c=E(\"io-header-search\",n),l=d(null),{searchQuery:u,setSearch:f,itemsCount:p}=_f(),m=u.length>0,h=a(()=>{f(\"\"),l.current&&l.current.focus()},[f]);return t(\"div\",{className:c,children:[e($d,{ref:l,value:u,iconPrepend:i,iconAppend:m?r:void 0,iconAppendOnClick:m?h:void 0,placeholder:o,onChange:e=>f(e.target.value),...s}),m&&e(\"p\",{className:\"io-header-search-count\",children:`${p} results`})]})}function zf({className:n,...o}){const{MoreButton:i,CloseButton:r,ExternalButton:a}=sp();return t(ae,{className:n,align:\"right\",...o,children:[e(i,{}),e(a,{}),e(r,{})]})}function Hf({icon:n=\"ellipsis-vertical\",...o}){const{items:i,clearItems:r,showSettings:a}=_f(),s=0===i.length;return t(re,{variant:\"light\",...o,children:[e(re.ButtonIcon,{icon:n,variant:\"circle\",size:\"32\"}),e(re.Content,{children:t(re.List,{children:[e(re.Item,{onClick:e=>(e=>{s?e.stopPropagation():r()})(e),disabled:s,children:\"Clear All\"}),e(re.Item,{onClick:a,children:\"Settings\"})]})})]})}function Wf({className:t,icon:n=\"pop-out\",...o}){const i=c(x),r=a(()=>{uf.startApplication(i,\"io-connect-download-manager\").catch(e=>{console.error(\"Failed to open Download Manager\",e)})},[i]);return e(P,{className:E(\"io-dm-compact-mode-only\",t),icon:n,variant:\"circle\",size:\"32\",onClick:r,...o})}function Vf({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const a=c(x);return e(P,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):df.closeWindow(a).catch(e=>{console.error(\"Failed to close window:\",e)})},...r})}function Uf(e,t=!1,n=!1,o=!1){const i=e.getDate(),r=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"][e.getMonth()],a=e.getFullYear(),s=e.getHours(),c=e.getMinutes();let l=\"\";return l=c<10?`0${c}`:`${c}`,t?\"Today\"===t?n?\"Today\":`Today at ${s}:${l}`:\"Yesterday\"===t?n?\"Yesterday\":`Yesterday at ${s}:${l}`:`${s}:${l}`:o?n?`${r} ${i}`:`${r} ${i} at ${s}:${l}`:n?`${r} ${i}, ${a}`:`${r} ${i}, ${a} at ${s}:${l}`}function Kf(e,t={showTime:!0}){const n=new Date(1e3*e),o=new Date,i=Math.round((o-n)/1e3),r=Math.round(i/60),a=o.toDateString()===n.toDateString(),s=new Date(o.setDate(o.getDate()-1)).toDateString()===n.toDateString(),c=o.getFullYear()===n.getFullYear();return t.showTime?i<5?\"Just Now\":i<60?`${i} seconds ago`:i<90?\"about a minute ago\":r<60?`${r} minutes ago`:a?Uf(n,\"Today\",!1,!0):s?Uf(n,\"Yesterday\",!1,!0):c?Uf(n,!1,!1,!0):Uf(n):a?\"Today\":s?\"Yesterday\":c?Uf(n,!1,!0,!0):Uf(n,!1,!0)}function Gf({className:t,...n}){const o=E(\"io-dm-body\",\"io-panel-body\",t),{DownloadListEmpty:i,ItemGroup:r,Item:a}=sp(),{items:s,searchQuery:c,setCount:l,sortItems:d}=_f(),p=d(s),m=Wd(c),h=u(()=>p.filter(e=>e.displayInfo.filename.toLowerCase().includes(m.toLowerCase())||e.displayInfo.url.toLowerCase().includes(m.toLowerCase())),[p,m]),g=u(()=>h.map(e=>({...e,displayInfo:{...e.displayInfo,startTime:Kf(e.displayInfo.startTime,{showTime:!1})}})),[h]),y=u(()=>Object.values(g.reduce((e={},t)=>(e[t.displayInfo.startTime]=e[t.displayInfo.startTime]?.concat([])??[],e[t.displayInfo.startTime].push(t),e),{})),[g]);return f(()=>{l(h.length)},[h,l]),e(Od,{elementProps:{className:o,...n},children:y&&0!==y.length?y.map(t=>e(r,{title:String(t[0].displayInfo.startTime)??null,children:t.map(t=>e(a,{item:t},t.id))},t[0].id??\"\")):e(i,{})})}function qf({className:n,icon:o=\"download\",text:i=\"No downloads to display.\",...r}){const a=E(\"io-dm-no-items\",n);return t(\"div\",{className:a,...r,children:[e(I,{variant:o}),e(\"p\",{children:i})]})}function Jf({className:n,title:o,children:i,...r}){const a=E(\"io-dm-item-group\",n);return t(\"div\",{className:a,...r,children:[o&&e(\"p\",{className:\"io-dm-items-group-title\",children:o}),i]})}function Yf({className:o,item:i,...r}){const{ItemHeader:a,ItemBody:s,ItemFooter:c}=sp(),{state:l,url:u,filename:d,receivedBytes:f,totalBytes:p,speed:m,timeRemaining:h}=i.displayInfo;if(!i)return e(n,{});const g=E(\"io-dm-item\",i.displayInfo.state&&[l],o);return t(\"div\",{className:g,...r,children:[e(a,{itemID:i.id,filename:d,state:l}),e(s,{state:l,url:u,bytesReceived:f,bytesTotal:p,speed:m,timeRemaining:h}),e(c,{itemID:i.id,state:l})]})}function Xf({bytesReceived:t=0,bytesTotal:n=0,...o}){const i=a(()=>t&&n?Math.round(t/n*100):0,[t,n]);return e(Js,{value:i(),...o})}function Qf({className:n,itemID:o,filename:i,state:r,pauseResume:s,showInFolder:c,cancel:l,remove:u,...d}){const f=E(\"io-dm-item-header\",n),{pauseResumeItem:p,showItemInFolder:m,cancelItem:h,removeItem:g}=_f(),y=\"progressing\"===r||\"paused\"===r,v=\"interrupted\"===r||\"cancelled\"===r,w=y?\"Cancel Download\":\"Remove Download\",b=l??h,k=u??g,x=function(e,t,n,o){return\"paused\"===e||\"progressing\"===e?{statusIcon:\"paused\"===e?\"play\":\"pause\",onStatusActionClick:()=>n(t)}:\"completed\"===e?{statusIcon:\"folder\",onStatusActionClick:()=>o(t)}:null}(r,o,s??p,c??m),S=a(()=>{y?b(o):k(o)},[y,b,o,k]);return t(\"div\",{className:f,...d,children:[e(D,{text:i,style:{textDecoration:v?\"line-through\":\"none\"}}),t(ae,{children:[x&&e(P,{icon:x.statusIcon,iconSize:\"12\",onClick:x.onStatusActionClick,className:\"io-dm-compact-mode-only\"}),e(P,{icon:\"close\",iconSize:\"12\",title:w,onClick:S})]})]})}function Zf({className:n,state:o,url:i,bytesReceived:r=0,bytesTotal:a=0,speed:s=0,timeRemaining:c=0,...l}){const u=E(\"io-dm-item-body\",n),d=e=>{const t=[\"Bytes\",\"KB\",\"MB\",\"GB\",\"TB\"];if(0===e)return\"0\";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e}${t[n]}`:`${(e/1024**n).toFixed(1)}${t[n]}`};return t(\"div\",{className:u,...l,children:[e(\"p\",{className:\"io-text-small\",children:i}),(p=o,\"cancelled\"===p||\"interrupted\"===p||\"completed\"===p?null:e(Xf,{variant:\"paused\"===p?\"paused\":\"active\",bytesReceived:r,bytesTotal:a})),e(\"p\",{className:\"io-text-default-lh16\",children:\"completed\"===o?`${d(r??0)} - Done`:\"cancelled\"===o||\"interrupted\"===o?`${d(r??0)}/${d(a??0)} - Failed`:`${d(r??0)}/${d(a??0)} (${f=s,(f?`${(f/1e6/8).toFixed(2)}MB/s`:0)??0}) - ${(e=>{const t=Math.floor(e/3600),n=Math.floor(e%3600/60);let o=\"\";return t>0&&(o+=`${t} hour${t>1?\"s\":\"\"}, `),n>0&&(o+=`${n} min${n>1?\"s\":\"\"}, `),((e=Math.floor(e%60))>0||\"\"===o)&&(o+=`${e} sec${1===e?\"\":\"s\"}`),`${o.trim()} left`})(c)??0}`})]});var f,p}const ep={success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function tp({className:n,variant:o,text:i}){const r=E(\"io-dm-item-status\",`io-dm-item-status-${o}`,n);return t(\"div\",{className:r,children:[o&&e(I,{variant:ep[o],className:\"icon-severity\",size:\"10\"}),i&&e(\"p\",{className:\"io-text-smaller\",children:i})]})}function np({className:o,itemID:i,state:r,pauseResume:s,showInFolder:c,cancel:l,...u}){const d=E(\"io-dm-item-footer\",o),{pauseResumeItem:f,showItemInFolder:p,cancelItem:m}=_f(),h=a(e=>{s?s(e):f(e)},[s,f]),g=a(e=>{c?c(e):p(e)},[c,p]),y=a(e=>{l?l(e):m(e)},[l,m]);return e(\"div\",{className:d,...u,children:(()=>{switch(r){case\"progressing\":return t(ae,{align:\"right\",children:[e(ae.Button,{variant:\"primary\",text:\"Pause\",onClick:()=>h(i)}),e(ae.Button,{variant:\"link\",text:\"Cancel\",onClick:()=>y(i)})]});case\"paused\":return e(ae,{align:\"right\",children:e(ae.Button,{variant:\"primary\",text:\"Resume\",onClick:()=>h(i)})});case\"completed\":return t(n,{children:[e(tp,{variant:\"success\",text:\"Complete\"}),e(ae,{align:\"right\",children:e(ae.Button,{variant:\"primary\",text:\"Show in Folder\",onClick:()=>g(i)})})]});case\"cancelled\":return e(tp,{variant:\"warning\",text:\"Cancelled\"});case\"interrupted\":return t(n,{children:[e(tp,{variant:\"critical\",text:\"Failed\"}),e(ae,{align:\"right\",children:e(ae.Button,{variant:\"primary\",text:\"Retry\",onClick:()=>h(i)})})]});default:return null}})()})}function op({className:n,title:o=\"Download Settings\",...i}){const r=E(\"io-dm-settings-panel\",n),{configuration:{downloadFolder:a},hideSettings:s,setDownloadLocation:c,setDownloadLocationWithDialog:l,isDownloadLocationDialogVisible:u,downloadLocationList:d}=_f();return t(Gs,{className:r,...i,children:[t(Gs.Header,{children:[e(Gs.Header.Title,{size:\"large\",text:o,tag:\"h1\"}),e(Gs.Header.ButtonGroup,{children:e(P,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>{s()},disabled:u})})]}),e(Gs.Body,{children:t(ae,{children:[t(re,{variant:\"light\",disabled:u,children:[e(re.Button,{children:e(\"span\",{className:\"io-dm-settings-panel-download-location\",children:a??d[0]})}),d.length>1&&e(re.Content,{children:e(re.List,{children:d.map((t,n)=>!t||0===n||n>3?null:e(re.Item,{onClick:()=>{c(t)},children:t},t))})})]}),e($,{className:\"io-btn io-dm-settings-panel-download-location-btn\",text:\"Browse\",onClick:()=>{l()},disabled:u})]})})]})}const ip={Header:Mf,ItemSearch:jf,HeaderButtons:zf,MoreButton:Hf,ExternalButton:Wf,CloseButton:Vf,Body:Gf,DownloadListEmpty:qf,ItemGroup:Jf,Item:Yf,ItemProgress:Xf,ItemHeader:Qf,ItemBody:Zf,ItemFooter:np,Settings:op},rp=s(ip),ap=y(({children:t,components:n})=>{const o=u(()=>({...ip,...n}),[n]);return e(rp.Provider,{value:o,children:t})});ap.displayName=\"ComponentsStore\";const sp=()=>c(rp);function cp({className:n,...o}){const i=E(\"io-dm\",n),{Header:r,Body:a,Settings:s}=sp(),{isSettingsVisible:c}=_f();return t(Gs,{className:i,...o,children:[e(r,{}),e(a,{}),c&&e(s,{})]})}var lp=Object.freeze({__proto__:null,Body:Gf,CloseButton:Vf,DownloadListEmpty:qf,DownloadManager:function({components:t,...n}){return e(ap,{components:t,children:e(cp,{...n})})},DownloadManagerProvider:({children:t})=>{const{configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:c,isSettingsVisible:d,showSettings:p,hideSettings:m,searchQuery:h,setSearch:g,itemsCount:y,setCount:v,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:k,isDownloadLocationDialogVisible:x,downloadLocationList:S}=function(){const[e,t]=l({}),[n,o]=l([]),[i,r]=l(0),[a,s]=l([]),[c,u]=l(\"\"),[d,p]=l(!1),[m,h]=l(!1),[g,y]=l({filePaths:[],canceled:!1});f(()=>{if(!Ff)return;const e=Ff.downloads.onUpdate(e=>o(t=>v(t,e))),n=Ff.downloads.onConfigurationChanged(e=>{t(e)});return Ff.downloads.list().then(o).catch(console.error),Ff.downloads.getSavePathList().then(e=>{e.pathList&&s(e.pathList)}).catch(console.error),()=>{e(),n()}},[]),f(()=>{h(!1)},[g]);const v=(e,t)=>{const n=e.findIndex(e=>e.id===t.id);if(-1===n)return[t,...e];const o=[...e];return o[n]=t,o};return{items:n,setCount:e=>{r(e)},sortItems:(e,t=!0)=>e.sort((e,n)=>t?e.displayInfo.startTime<n.displayInfo.startTime?1:-1:e.displayInfo.startTime>n.displayInfo.startTime?1:-1),setSearch:e=>{u(e)},cancelItem:async e=>{try{await Ff.downloads.cancel(e)}catch(e){console.error(e)}},removeItem:async e=>{try{o(t=>t.filter(t=>t.id!==e)),await Ff.downloads.removeItem(e)}catch(e){console.error(e)}},clearItems:async()=>{try{o([]),await Ff.downloads.clearDownloadList()}catch(e){console.error(e)}},itemsCount:i,searchQuery:c,showSettings:()=>{p(!0)},hideSettings:()=>{p(!1)},configuration:e,isSettingsVisible:d,pauseResumeItem:async e=>{try{await Ff.downloads.pauseResume(e)}catch(e){console.error(e)}},showItemInFolder:async e=>{try{await Ff.downloads.showInFolder(e)}catch(e){console.error(e)}},setDownloadLocation:async e=>{try{await Ff.downloads.setSavePath(e),s(t=>{if(t.includes(e)){const n=t.filter(t=>t!==e);return[e,...n]}return[e,...t]})}catch(e){console.error(e)}},downloadLocationList:a,isDownloadLocationDialogVisible:m,setDownloadLocationWithDialog:async()=>{h(!0);try{const e=await Ff.downloads.showOpenDialog();if(y(e),!e?.filePaths||0===e.filePaths.length)return;await Ff.downloads.setSavePath(e.filePaths[0]),s(t=>{if(t.includes(e.filePaths[0])){const n=t.filter(t=>t!==e.filePaths[0]);return[e.filePaths[0],...n]}return[e.filePaths[0],...t]})}catch(e){console.error(e)}}}}(),C=u(()=>({configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:c,isSettingsVisible:d,showSettings:p,hideSettings:m,searchQuery:h,setSearch:g,itemsCount:y,setCount:v,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:k,isDownloadLocationDialogVisible:x,downloadLocationList:S}),[n,o,i,r,a,c,s,d,p,m,h,g,y,v,w,b,k,x,S]);return e($f.Provider,{value:C,children:t})},ExternalButton:Wf,Header:Mf,HeaderButtons:zf,Item:Yf,ItemBody:Zf,ItemFooter:np,ItemGroup:Jf,ItemHeader:Qf,ItemProgress:Xf,ItemSearch:jf,MoreButton:Hf,Settings:op,useDownloadManagerContext:_f});const up=({className:n,label:o=\"Location\",...i})=>{const{configuration:{downloadFolder:r},setDownloadLocationWithDialog:a,isDownloadLocationDialogVisible:s,downloadLocationList:c}=_f();return t(T,{className:E(\"io-preferences-download-section\",n),...i,children:[t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e($,{text:\"Change\",onClick:a,disabled:s})]}),e(\"p\",{children:r??c?.[0]??\"Not set\"})]})},dp=({align:t=\"right\",label:n=\"Ask where to save each file before downloading\",...o})=>e(wf,{align:t,label:n,prefKey:Qa,...o}),fp=({title:n=\"System\",...o})=>{const{SystemRestartSection:i,SystemShutdownSection:r}=Np();return t(T,{title:n,...o,children:[e(i,{}),e(r,{})]})},pp=\"T42.GD.Execute\",mp=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],hp=(e,t)=>e in t;function gp({time:e,frequency:t,day:n}){const[o,i]=e.split(\":\"),r=Number.parseInt(o,10),a=Number.parseInt(i,10);let s=\"*\";return\"weekly\"===t&&n&&(s=function(e){const t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};if(!hp(e,t))throw new Error(`Invalid day: ${e}`);return t[e]}(n).toString()),`${a} ${r} * * ${s}`}function yp(e){const t=c(x),{value:n,update:o}=ks({prefKey:vp(e)}),{value:i,update:r}=ks({prefKey:vp(e,\"Time\")}),{value:s,update:l}=ks({prefKey:vp(e,\"Frequency\")}),{value:u,update:d}=ks({prefKey:vp(e,\"Day\")}),p=a(async()=>{try{await t.interop.invoke(pp,{command:`cancel-${e}`})}catch(e){console.error(e)}},[t,e]),m=a(async()=>{try{const n=gp({time:i??\"12:00\",frequency:s??\"daily\",day:\"weekly\"===s?u:\"*\"});await t.interop.invoke(pp,{command:`schedule-${e}`,args:{cronTime:n,discardUnsavedLayoutChanges:!1}})}catch(t){console.error(`Failed to update cron job for ${e}:`,t)}},[t,e,i,s,u]);f(()=>{t&&n&&m()},[t,n,i,s,u,m]);return{enabled:n??!1,time:i??\"12:00\",frequency:s??\"daily\",day:u??\"Monday\",setEnabled:async e=>{e||await p();try{await o(e)}catch(e){console.error(\"Failed to update enabled state:\",e)}},setTime:async e=>{try{await r(e)}catch(e){console.error(\"Failed to update time:\",e)}},setFrequency:async e=>{try{await l(e),\"daily\"===e&&await d(void 0)}catch(e){console.error(\"Failed to update frequency:\",e)}},setDay:async e=>{var t;if(t=e,mp.includes(t))try{await d(e)}catch(e){console.error(\"Failed to update day:\",e)}else console.error(\"Invalid day provided\")}}}function vp(e,t){const n=\"restart\"===e?\"_system_scheduleRestart\":\"_system_scheduleShutdown\";return t?`${n}${t}`:n}function wp({className:n,variant:o,...i}){const r=E(\"io-block-list-gap\",o,n),{enabled:a,time:s,frequency:c,day:l,setEnabled:u,setTime:d,setFrequency:f,setDay:p}=yp(o);return t(T,{className:r,...i,children:[e(sf,{label:`Schedule ${o}`,align:\"right\",onChange:e=>u(e.target.checked),checked:a}),t(\"div\",{className:\"scheduler-controls\",children:[e(\"div\",{className:\"io-control-input io-control-leading-icon direction-up\",children:e(\"input\",{type:\"time\",className:\"io-input\",value:s,onChange:e=>d(e.target.value)})}),t(ei,{text:c.charAt(0).toUpperCase()+c.slice(1),icon:\"chevron-down\",iconRight:!0,children:[e(ei.Item,{onClick:()=>f(\"daily\"),children:\"Daily\"}),e(ei.Item,{onClick:()=>f(\"weekly\"),children:\"Weekly\"})]}),\"weekly\"===c&&e(ei,{text:l,icon:\"chevron-down\",iconRight:!0,children:mp.map(t=>e(ei.Item,{onClick:()=>p(t),children:t},t))})]})]})}function bp({className:t,...n}){return e(wp,{...n,className:t,variant:\"restart\"})}function kp({className:t,...n}){return e(wp,{...n,className:t,variant:\"shutdown\"})}const xp={Body:gf,General:yf,Theme:vf,Launchpad:({title:n=\"Launchpad\",...o})=>{const{MinimizeToTray:i,PinnedPosition:r,HideFavoritesFromLaunchpad:a}=Np();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{})]})},MinimizeToTray:bf,PinnedPosition:xf,HideFavoritesFromLaunchpad:Sf,Docking:({title:n=\"Docking\",...o})=>{const{AllowDocking:i,DockedAlwaysOnTop:r,DockedClaimsSpace:a}=Np();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{})]})},AllowDocking:Cf,DockedAlwaysOnTop:Nf,DockedClaimsSpace:Ef,ExtendedArea:({title:n=\"Extended Area\",...o})=>{const{ShowExtendedArea:i,HideLabelsInExtendedArea:r,ShowFavoritesInExtendedArea:a,ShowRecentAppsInExtendedArea:s}=Np();return t(T,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{}),e(s,{})]})},ShowExtendedArea:If,HideLabelsInExtendedArea:Pf,ShowFavoritesInExtendedArea:Af,ShowRecentAppsInExtendedArea:Of,Layouts:Lf,LayoutsSaveCurrentOnExit:Df,LayoutsShowUnsavedChangesPrompt:Tf,LayoutsShowDeletePrompt:Rf,Downloads:Bf,DownloadsLocation:up,DownloadsAskForEachDownload:dp,System:fp,SystemRestartSection:bp,SystemShutdownSection:kp},Sp=s(xp),Cp=y(({children:t,components:n})=>{const o=u(()=>({...xp,...n}),[n]);return e(Sp.Provider,{value:o,children:t})});Cp.displayName=\"PreferencesPanelComponentsStoreProvider\";const Np=()=>c(Sp),Ep=({className:n,onClose:o,title:i=\"Platform Preferences\",children:r,...a})=>t(Gs,{className:E(\"io-preferences-panel\",n),\"data-testid\":\"preferences-panel\",...a,children:[t(Gs.Header,{\"data-testid\":\"preferences-panel-header\",children:[e(Gs.Header.Title,{size:\"large\",text:i,tag:\"h1\",\"data-testid\":\"preferences-panel-title\"}),e(Gs.Header.ButtonGroup,{children:e(Gs.Header.ButtonIcon,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:o,\"data-testid\":\"preferences-panel-close-button\"})})]}),r]}),Ip=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Np();return e(Ep,{title:n,onClose:t,...o,children:e(i,{})})},Pp=({components:t,...n})=>e(Cp,{components:t,children:e(Ip,{...n})});function Ap({className:n,title:o=\"General\",...i}){const r=E(\"io-notifications-settings-panel-general\",n),{AllowNotifications:a,AllowNotificationToasts:s,ShowNotificationBadge:c,CloseNotificationOnClick:l,PanelAutoHide:u,HideToastsAfter:d}=mm(),f=Ud();return e(\"div\",{className:r,...i,children:t(T,{title:o,children:[f&&e(a,{}),f&&e(s,{}),e(c,{}),f&&e(u,{}),f&&e(l,{}),f&&e(d,{})]})})}function Op(e){if(e&&e.errorHandling&&\"function\"!=typeof e.errorHandling&&\"log\"!==e.errorHandling&&\"silent\"!==e.errorHandling&&\"throw\"!==e.errorHandling)throw new Error('Invalid options passed to createRegistry. Prop errorHandling should be [\"log\" | \"silent\" | \"throw\" | (err) => void], but '+typeof e.errorHandling+\" was passed\");var t=e&&\"function\"==typeof e.errorHandling&&e.errorHandling,n={};function o(n,o){var i=n instanceof Error?n:new Error(n);if(t)t(i);else{var r='[ERROR] callback-registry: User callback for key \"'+o+'\" failed: '+i.stack;if(e)switch(e.errorHandling){case\"log\":return console.error(r);case\"silent\":return;case\"throw\":throw new Error(r)}console.error(r)}}return{add:function(e,t,i){var r=n[e];return r||(r=[],n[e]=r),r.push(t),i&&setTimeout(function(){i.forEach(function(i){var r;if(null===(r=n[e])||void 0===r?void 0:r.includes(t))try{Array.isArray(i)?t.apply(void 0,i):t.apply(void 0,[i])}catch(t){o(t,e)}})},0),function(){var o=n[e];o&&(o=o.reduce(function(e,n,o){return n===t&&e.length===o||e.push(n),e},[]),0===o.length?delete n[e]:n[e]=o)}},execute:function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var r=n[e];if(!r||0===r.length)return[];var a=[];return r.forEach(function(n){try{var i=n.apply(void 0,t);a.push(i)}catch(t){a.push(void 0),o(t,e)}}),a},clear:function(){n={}},clearKey:function(e){n[e]&&delete n[e]}}}Op.default=Op;var Lp=S(Op);var Dp=new class{subscribed=!1;io=void 0;registry=Lp();logger=void 0;isPanelVisible=void 0;notifications=[];bulkActionsSupported=!1;initPromise=void 0;init(e){return void 0!==this.initPromise||(this.initPromise=(async()=>{if(!this.subscribed){this.subscribed=!0,this.io=e,this.logger=this.io.logger.subLogger(\"notifications\");try{await this.initializeLogger()}catch(e){console.error(\"Failed to initialize logger with app configuration\",e)}this.getBulkActionsSupport();try{await this.subscribe()}catch(e){throw this.logger?.error(\"Error during subscription:\",e),e}}})()),this.initPromise}async initializeLogger(){const e=await uf.getMyApplication(this.io),t=e?.userProperties?.logger?.publishLevel??\"error\",n=e?.userProperties?.logger?.consoleLevel??\"info\";this.logger?.publishLevel(t),this.logger?.consoleLevel(n)}onPanelVisibilityChanged(e){return this.registry.add(\"on-panel-visibility-changed\",e)}onConfigurationChanged(e){return this.registry.add(\"on-configuration-changed\",e)}onNotificationsChanged(e){return this.registry.add(\"on-notifications-changed\",e)}onCounterChanged(e){return this.registry.add(\"on-counter-changed\",e)}async getNotificationsList(){const e=await(this.io?.notifications.list());if(!e)throw new Error(\"io.notifications.list is not supported in this environment.\");return e.map(e=>this.attachHandlers(e))}async getConfiguration(){if(this.io)return await this.io.notifications.getConfiguration();throw new Error(\"io.notifications.getConfiguration is not supported in this environment.\")}showPanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.show()}hidePanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.hide()}clearAll(){return this.logger?.trace(\"clearing all notifications\"),this.io?.notifications.clearAll()}clearAllOld(){return this.logger?.trace(\"clearing all old notifications\"),this.io?.notifications.clearOld()}clearMany(e){const t=this.io?.notifications;return this.isBulkActionSupported(\"clearMany\")?e.length<1?(this.logger?.trace(\"no ids provided to clear notifications\"),Promise.resolve()):(this.logger?.trace(`clearing notifications with ids ${JSON.stringify(e.join(\", \"))}`),t.clearMany?.(e)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}close(e){return this.logger?.trace(`closing notification with id ${e}`),this.io?.notifications.clear(e)}snooze(e,t){return this.logger?.trace(`snoozing notification with id ${e} for ${t}ms`),this.io?.notifications.snooze(e,t)}snoozeMany(e,t){const n=this.io?.notifications;return this.isBulkActionSupported(\"snoozeMany\")?e.length<1?(this.logger?.trace(\"no ids provided to snooze notifications\"),Promise.resolve()):(this.logger?.trace(`snoozing notifications with ids ${JSON.stringify(e.join(\", \"))} for ${t}ms`),n.snoozeMany?.(e,t)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}setState(e,t){return this.logger?.trace(`setting state of ${e} to ${t}`),this.io?.notifications.setState(e,t)}setStates(e,t){const n=this.io?.notifications;return this.isBulkActionSupported(\"setStates\")?e.length<1?(this.logger?.trace(`no ids provided to change state to ${t} for notifications`),Promise.resolve()):(this.logger?.trace(`setting state of ${JSON.stringify(e.join(\", \"))} to ${t}`),n.setStates?.(e,t)??Promise.resolve()):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}getBulkActionsSupport(){this.bulkActionsSupported=this.isBulkActionSupported(\"clearMany\")&&this.isBulkActionSupported(\"setStates\")&&this.isBulkActionSupported(\"snoozeMany\")}setFilter(e){return this.logger?.trace(`setting filter to ${JSON.stringify(e)}`),this.io?.notifications.setFilter(e)}configure(e){return this.io?.notifications.configure(e)}async resyncNotifications(){try{const e=await this.getNotificationsList();this.notifications=e,this.registry.execute(\"on-notifications-changed\",[...this.notifications]),this.logger?.trace(`resynced notifications array with ${this.notifications.length} notifications`)}catch(e){this.logger?.error(\"Error resyncing notifications list:\",e)}}async subscribe(){this.io?.notifications.onRaised(e=>{this.logger?.trace(`received event indicating notification raise: ${JSON.stringify(e)}`),this.attachHandlers(e),this.notifications.unshift(e),this.registry.execute(\"on-notifications-changed\",[...this.notifications])}),this.io?.notifications.onStateChanged(({id:e},t)=>{this.logger?.trace(`received event for notification state is changed - \"${e}\" - \"${t?.toString()}\"`),this.notifications=this.notifications.map(n=>n.id===e?(this.logger?.trace(`${n.id} - the state is changed from \"${n.state}\" to \"${t?.toString()}\"`),{...n,state:t}):n),this.registry.execute(\"on-notifications-changed\",this.notifications)});const e=this.io?.notifications;e?.onDataChanged&&e.onDataChanged((e,t)=>{const n=e.id;this.logger?.trace(`received event for notification data is changed - \"${n}\" - \"${JSON.stringify(t)}\"`),this.notifications=this.notifications.map(e=>e.id===n?(this.logger?.trace(`${e.id} - the data is changed from \"${JSON.stringify(e.data)}\" to \"${JSON.stringify(t)}\"`),{...e,data:t}):e),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications.onClosed(({id:e})=>{this.logger?.trace(`received event for notification is closed - \"${e}\".`),this.notifications=this.notifications.filter(t=>t.id!==e),this.registry.execute(\"on-notifications-changed\",this.notifications)});try{const e=await this.getNotificationsList(),t=new Set(e.map(e=>e.id)),n=this.notifications.filter(e=>!t.has(e.id));this.notifications=[...n,...e],this.logger?.trace(`initialized with ${e.length} fetched + ${n.length} from events = ${this.notifications.length} total`)}catch(e){this.logger?.error(\"Error fetching initial notifications list:\",e),this.logger?.trace(`continuing with ${this.notifications.length} notifications from events`)}this.io?.notifications.onConfigurationChanged(e=>{this.logger?.trace(`received event for configuration changed - ${JSON.stringify(e)}.`),this.registry.execute(\"on-configuration-changed\",e)}),this.isDesktopEnvironment()&&this.io?.notifications.panel.onVisibilityChanged(e=>{this.logger?.trace(`received event for panel visibility changed to \"${e}\".`),this.isPanelVisible=e,e&&this.resyncNotifications().catch(e=>{this.logger?.error(\"Error resyncing notifications on panel visibility:\",e)}),this.registry.execute(\"on-panel-visibility-changed\",e)})}isDesktopEnvironment(){return\"object\"==typeof globalThis.window&&(Boolean(globalThis.window.iodesktop)||Boolean(globalThis.window.glue42gd))}isBulkActionSupported(e){const t=this.io?.notifications;return\"function\"==typeof t?.[e]}attachHandlers(e){e.actions?.forEach(t=>{Object.assign(t,{onClick:async n=>{try{this.logger?.info(`${e.id}/${t.action} - was clicked.`),await(this.io?.notifications.click(e.id,t.action,n))}catch(e){this.logger?.error(\"Error while clicking on action:\",e)}}})});const t={snooze:async(t=1e4)=>{this.logger?.trace(`${e.id} - request to change the state from ${e.state} to Snoozed with duration ${t}ms`),await(this.io?.notifications.snooze(e.id,t))},updateState:async t=>(this.logger?.trace(`${e.id} - request to change the state from ${e.state} to ${t}`),this.io?.notifications.setState(e.id,t)),updateData:async t=>{this.logger?.trace(`${e.id} - request to change the data to ${JSON.stringify(t)}`);const n=this.io?.notifications;n?.updateData?await n.updateData(e.id,t):this.logger?.warn(\"'updateData' method is not supported\")},onClick:async t=>{try{this.logger?.info(`${e.id} - was clicked.`),await(this.io?.notifications.click(e.id,void 0,t))}catch(t){this.logger?.error(`Error while clicking on Notification: ${e.id}`,t)}},onShow:()=>{},close:async()=>(this.logger?.info(`${e.id} - was closed.`),this.close(e.id))};return Object.assign(e,t)}};function Tp(e){const t=c(x),n=Ud(),[o,i]=l([]),[r,s]=l(0),d=\"Platform\",p=a((e=\"asc\")=>{if(null===n)return[];const t=[...o].sort((t,n)=>{const o=(t.title??t.name).toLowerCase(),i=(n.title??n.name).toLowerCase();return\"asc\"===e?o.localeCompare(i):i.localeCompare(o)});if(!n){const e=t.findIndex(e=>e.name===d);if(-1!==e){const[n]=t.splice(e,1);t.unshift(n)}}return t},[o,n]),m=u(()=>p(\"asc\"),[p]),h=u(()=>p(\"desc\"),[p]);f(()=>{if(null===n||n)return;const e={title:\"System\",name:d,hidden:!1,userProperties:{hidden:!1}};i(t=>t.some(t=>t.name===e.name)?t:[...t,e])},[n]),f(()=>{if(!t)return;let e,n,o,r=!1;const a=e=>{i(t=>[...t.filter(t=>t.name!==e.name),{title:e.title??e.name,name:e.name,hidden:e.hidden,userProperties:e.userProperties}])},s=e=>{i(t=>t.filter(t=>t.name!==e.name))},c=e=>{i(t=>t.find(t=>t.name===e.name)?t.map(t=>t.name===e.name?{...t,title:e.title??t.title,hidden:e.hidden??t.hidden,userProperties:e.userProperties??t.userProperties}:t):t)};return(async()=>{const l=await uf.getApplications(t);if(r)return;i(e=>{const t=new Map;return e.forEach(e=>t.set(e.name,e)),l.forEach(e=>{t.set(e.name,{title:e.title??e.name,name:e.name,hidden:e.hidden,userProperties:e.userProperties})}),Array.from(t.values())});const[u,d,f]=await Promise.all([uf.onAppAdded(t,a),uf.onAppRemoved(t,s),uf.onAppChanged(t,c)]);if(r)return u?.(),d?.(),void f?.();e=u,n=d,o=f})().catch(e=>{console.error(\"Failed to initialize apps\",e)}),()=>{r=!0,e?.(),n?.(),o?.()}},[t]);return{apps:u(()=>{if(!e?.sourceFilter||!Array.isArray(o))return o;const{allowed:t=[],blocked:n=[]}=e.sourceFilter,i=t.includes(\"*\"),r=n.includes(\"*\");let a=0;const c=o.map(e=>{const n=i||t.includes(e.name),o=!r&&n;return o&&a++,{...e,allowed:o}});return s(a),c},[e,o]),allowedApps:r,sortedAppsAsc:m,sortedAppsDesc:h,sortAppsAlphabetically:p}}function Rp(e,t,n){const o=u(()=>{if(!t.toastStacking)return[];const o=\"application\"===(i=t.stackBy)?\"source\":\"severity\"===i?\"severity\":\"source\";var i;const r=e.filter(e=>\"Active\"===e.state),a=new Map;for(const e of r){const t=e[o]??\"\";if(e.source&&n?.sourceFilter?.muted?.includes(e.source)||n?.sourceFilter?.muted?.includes(\"*\"))continue;a.has(t)||a.set(t,{key:t,items:[]});const i=a.get(t);i&&i.items.unshift(e)}return Array.from(a.values()).filter(e=>e.items.some(e=>\"Active\"===e.state||\"Stale\"===e.state))},[e,t.toastStacking,t.stackBy,n?.sourceFilter?.muted]);return{notificationStacks:o}}function Bp(e){const[t,n]=l([]);return{selectedNotifications:t,selectNotification:(e,o)=>{const i=t;n(o?[...i,e]:i.filter(t=>t!==e))},selectAllNotifications:(t,o)=>{if(o){let o=[];switch(t){case\"read\":o=e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state).map(e=>e.id);break;case\"unread\":o=e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state).map(e=>e.id);break;case\"snoozed\":o=e.filter(e=>\"Snoozed\"===e.state).map(e=>e.id);break;default:o=e.map(e=>e.id)}n(o)}else n([])}}}const Mp=e=>({enabledNotifications:e.enable,enabledToasts:e.enableToasts,toastStacking:\"stacked\"===e.toasts?.mode,stackBy:e.toasts?.stackBy,toastExpiry:e.toastExpiry,showNotificationBadge:e.showNotificationBadge,placement:e.placement,snooze:e.snooze,closeNotificationOnClick:e.closeNotificationOnClick,autoHidePanel:e.autoHidePanel}),Fp=e=>Array.from(e.reduce((e,t)=>e.set(t.id,t),new Map).values());function $p(){const e=c(x),[t,n]=l({}),[o,i]=l({}),[r,a]=l([]),[s,u]=l(0),[d,p]=l(!0),{apps:m,allowedApps:h}=Tp(t),{notificationStacks:g}=Rp(r,{toastStacking:o.toastStacking??!1,stackBy:o.stackBy??\"source\"},{sourceFilter:t.sourceFilter}),{selectedNotifications:y,selectNotification:v,selectAllNotifications:w}=Bp(r);f(()=>{(async()=>{await Dp.init(e),await(async()=>{try{const e=await Dp.getConfiguration();n(e),i(t=>({...t,...Mp(e)}))}catch(e){console.error(\"Error fetching configuration:\",e)}})(),await(async()=>{try{const e=await Dp.getNotificationsList();a(Fp(e))}catch(e){console.error(\"Error fetching notifications:\",e)}})()})().catch(e=>{console.error(\"Error in useNotifications fetch:\",e)}),b()},[e]),f(()=>{const e=Dp.onNotificationsChanged(e=>{a(Fp(e))}),t=Dp.onConfigurationChanged(e=>{const t=Mp(e);n(t=>({...t,...e})),i(e=>({...e,...t}))}),o=Dp.onCounterChanged(e=>{u(e)});return()=>{e(),t(),o()}},[]);const b=()=>{p(Dp.bulkActionsSupported)},k=async e=>{await Dp.setFilter(e)};return{close:e=>Dp.close(e),clearAll:()=>Dp.clearAll(),settings:o,hidePanel:async()=>{await Dp.hidePanel()},showPanel:async()=>{await Dp.showPanel()},saveFilter:k,clearAllOld:()=>Dp.clearAllOld(),saveSetting:async e=>{const n=((e,t)=>{const n=(e=>({enabledNotifications:e=>({enable:e}),enabledToasts:e=>({enableToasts:e}),toastStacking:t=>({toasts:{mode:t?\"stacked\":\"single\",stackBy:e.toasts?.stackBy}}),stackBy:t=>({toasts:{mode:e.toasts?.mode,stackBy:t}}),showNotificationBadge:e=>({showNotificationBadge:e}),toastExpiry:e=>({toastExpiry:e}),placement:e=>({placement:e}),snooze:e=>({snooze:e}),closeNotificationOnClick:e=>({closeNotificationOnClick:e}),autoHidePanel:e=>({autoHidePanel:e})}))(t),o=Object.keys(e)[0],i=e[o];return o&&void 0!==i&&n[o]?n[o](i):{}})(e,t);n&&await Dp.configure(n)},allApps:m,saveAllFilter:async e=>{\"subscribe\"in e?await k({allowed:e.subscribe?[\"*\"]:[],blocked:e.subscribe?[]:[\"*\"]}):\"mute\"in e&&await k({muted:e.mute?[\"*\"]:[]})},configuration:t,notifications:r,notificationStacks:g,notificationsCount:s,allApplications:t.allApplications??0,allowedApplications:h,isBulkActionsSupported:d,selectedNotifications:y,selectNotification:v,selectAllNotifications:w,clearMany:async e=>{await Dp.clearMany(e)},snooze:async(e,t)=>{await Dp.snooze(e,t)},snoozeMany:async(e,t)=>{await Dp.snoozeMany(e,t)},setState:async(e,t)=>{await Dp.setState(e,t)},setStates:async(e,t)=>{await Dp.setStates(e,t)},setCount:e=>{u(e)},getNotificationsList:async()=>await Dp.getNotificationsList()}}const _p=s({allApps:[],settings:{},configuration:{},notifications:[],notificationsCount:0,onClose:()=>{},allApplications:0,clearAll:()=>{},showPanel:()=>{},hidePanel:()=>{},saveFilter:()=>{},clearAllOld:()=>{},notificationStacks:[],saveSetting:()=>{},allowedApplications:0,saveAllFilter:()=>{},isBulkActionsSupported:!1,selectedNotifications:[],selectNotification:()=>{},selectAllNotifications:()=>{},clearMany:()=>{},snooze:()=>{},snoozeMany:()=>{},setState:()=>{},setStates:()=>{},setCount:()=>{}}),jp=()=>c(_p);function zp({label:t=\"Allow notifications\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud(),c=a(e=>{r({enabledNotifications:e.target.checked})},[r]);return s?e(sf,{label:t,align:n,onChange:c,checked:i.enabledNotifications??!1,...o}):null}function Hp({label:t=\"Allow notification toasts\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud(),c=s&&!i.enabledNotifications,l=a(e=>{r({enabledToasts:e.target.checked})},[r]);return s?e(sf,{label:t,align:n,onChange:l,checked:i.enabledToasts??!1,disabled:c,...o}):null}function Wp({label:t=\"Show notification badge\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud()&&!i.enabledNotifications,c=a(e=>{r({showNotificationBadge:e.target.checked})},[r]);return e(sf,{label:t,align:n,onChange:c,checked:i.showNotificationBadge??!1,disabled:s,...o})}function Vp({label:t=\"Close notification on click\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud(),c=s&&!i.enabledNotifications,l=a(e=>{r({closeNotificationOnClick:e.target.checked})},[r]);return s?e(sf,{label:t,align:n,onChange:l,checked:i.closeNotificationOnClick??!1,disabled:c,...o}):null}function Up({label:t=\"Auto hide panel\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud(),c=a(e=>{r({autoHidePanel:e.target.checked})},[r]);return s?e(sf,{label:t,align:n,onChange:c,checked:i.autoHidePanel??!1,...o}):null}const Kp=(e,t)=>e?`${e} ${t}${1!==e?\"s\":\"\"}`:\"\",Gp=e=>{const t=Math.floor(e/60),n=e%60,o=Kp(t,\"minute\"),i=Kp(n,\"second\");return o+(o&&i?\" \":\"\")+i};function qp({className:n,title:o=\"Hide toasts after\",items:i=[15,30,45,60],...r}){const s=E(\"flex\",\"jc-between\",\"ai-center\",n),{settings:c,saveSetting:l}=jp(),u=Ud(),d=u&&!c.enabledNotifications,f=a((e=15e3)=>{c.toastExpiry!==e&&l({toastExpiry:1e3*e})},[c.toastExpiry,l]);return u?t(\"div\",{className:s,...r,children:[e(\"div\",{className:\"io-text-clipper \"+(d?\"io-text-disabled\":\"\"),children:e(\"span\",{children:o})}),t(re,{variant:\"light\",disabled:d,children:[e(re.Button,{text:Gp((c.toastExpiry??0)/1e3)}),e(re.Content,{children:e(re.List,{variant:\"single\",children:i.map(t=>e(re.Item,{onClick:()=>{f(t)},children:Gp(t)},t))})})]})]}):null}function Jp({className:n,title:o=\"Stacking\",...i}){const r=E(\"io-notifications-settings-panel-stacking\",n),{ToastStacking:a,ToastStackBy:s}=mm();return Ud()?e(\"div\",{className:r,...i,children:t(T,{title:o,children:[e(a,{}),e(s,{})]})}):null}function Yp({label:t=\"Allow toast stacking\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=jp(),s=Ud(),c=s&&!i.enabledNotifications,l=a(e=>{r({toastStacking:e.target.checked})},[r]);return s?e(sf,{label:t,align:n,onChange:l,checked:i.toastStacking??!1,disabled:c,...o}):null}const Xp={application:\"Application\",severity:\"Priority\"},Qp=Object.fromEntries(Object.entries(Xp).map(([e,t])=>[t,e]));function Zp({className:n,title:o=\"Group by\",...i}){const r=E(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:c}=jp(),l=Ud(),u=l&&!s.enabledNotifications,d=a((e=\"severity\")=>{s.stackBy!==e&&c({stackBy:e.toLowerCase()})},[s.stackBy,c]);if(!l)return null;const f=Object.values(Xp);return t(\"div\",{className:r,...i,children:[e(\"div\",{className:E(\"io-text-clipper\",{\"io-text-disabled\":u}),children:e(\"span\",{children:o})}),t(re,{variant:\"light\",disabled:u,children:[e(re.Button,{text:Xp[s.stackBy??\"severity\"]}),e(re.Content,{children:e(re.List,{variant:\"single\",children:f.map(t=>e(re.Item,{onClick:()=>{const e=Qp[t];d(e)},children:t},t))})})]})]})}function em({className:n,title:o=\"Placement\",...i}){const r=E(\"io-notifications-settings-panel-placement\",n),{PlacementPanel:a,PlacementToasts:s}=mm();return Ud()?e(\"div\",{className:r,...i,children:t(T,{title:o,children:[e(a,{}),e(s,{})]})}):null}const tm=e=>e.replace(/(^|-)\\w/g,e=>e.toUpperCase().replace(\"-\",\" \"));function nm({className:n,title:o=\"Panel position\",...i}){const r=E(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:c}=jp(),l=Ud(),u=a(e=>{e||(e=\"right\"),s.placement?.panel!==e&&c({placement:{...s.placement,panel:e.toLowerCase()}})},[s.placement,c]);if(!l)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(re,{variant:\"light\",children:[e(re.Button,{text:s.placement?.panel?tm(s.placement?.panel):\"Right\"}),e(re.Content,{children:e(re.List,{variant:\"single\",children:[\"Right\",\"Left\"].map(t=>e(re.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function om({className:n,title:o=\"Toasts position\",...i}){const r=E(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:c}=jp(),l=Ud(),u=a(e=>{if(e||(e=\"bottom-right\"),s.placement?.toasts===e)return;const t=e.replace(/\\s+/g,\"-\").toLowerCase();c({placement:{...s.placement,toasts:t}})},[s.placement,c]);if(!l)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(re,{variant:\"light\",children:[e(re.Button,{text:s.placement?.toasts?tm(s.placement?.toasts):\"Bottom Right\"}),e(re.Content,{children:e(re.List,{variant:\"single\",children:[\"Top Right\",\"Top Left\",\"Bottom Right\",\"Bottom Left\"].map(t=>e(re.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function im({className:t,title:n=\"Snooze\",...o}){const i=E(\"io-notifications-settings-panel-snooze\",t),{SnoozeDuration:r}=mm(),{settings:a}=jp();return Ud()&&a.snooze?.enabled?e(\"div\",{className:i,...o,children:e(T,{title:n,children:e(r,{})})}):null}function rm({className:n,title:o=\"Default duration\",items:i=[60,120,180,300],...r}){const s=E(\"flex\",\"jc-between\",\"ai-center\",n),{settings:c,saveSetting:l}=jp(),u=Ud(),d=u&&!c.enabledNotifications,f=a((e=6e4)=>{c.snooze&&c.snooze?.duration!==e&&l({snooze:{...c.snooze,duration:1e3*e}})},[c.snooze,l]);return u&&c.snooze?.enabled?t(\"div\",{className:s,...r,children:[e(\"div\",{className:E(\"io-text-clipper\",{\"io-text-disabled\":d}),children:e(\"span\",{children:o})}),t(re,{variant:\"light\",disabled:d,children:[e(re.Button,{text:Gp((c.snooze?.duration??0)/1e3)}),e(re.Content,{children:e(re.List,{variant:\"single\",children:i.map(t=>e(re.Item,{onClick:()=>{f(t)},children:Gp(t)},t))})})]})]}):null}function am({className:n,title:o,...i}){const r=E(\"io-notifications-settings-panel-subscriptions\",n),{SubscribeAll:a,SubscribeApp:s,SubscribeMuteAll:c,SubscribeMuteApp:l}=mm(),{sortAppsAlphabetically:u}=Tp(),d=Ud(),f=u(),p=\"io-notifications-subscriptions-grid \"+(d?\"with-three-columns\":\"with-two-columns\");return e(\"div\",{className:r,...i,children:t(T,{title:o??(d?\"Subscribe & Mute\":\"Subscribe\"),children:[t(\"div\",{className:p,children:[e(\"p\",{className:\"io-text-section\",children:\"Sources\"}),e(\"p\",{className:\"io-text-section\",children:\"Subscribe\"}),d&&e(\"p\",{className:\"io-text-section\",children:\"Mute\"})]}),t(\"div\",{className:p,children:[e(\"p\",{children:\"All Sources\"}),e(a,{label:\"\"}),d&&e(c,{label:\"\"})]}),f.map(n=>!n||n.hidden||n?.userProperties?.hidden?null:t(\"div\",{className:p,children:[e(\"p\",{children:n.title??n.name}),e(s,{app:n,label:\"\"}),d&&e(l,{app:n,label:\"\"})]},n.name))]})})}function sm({label:t=\"All apps\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=jp(),c=Ud()&&!i.enabledNotifications,l=a(e=>{s({subscribe:e.target.checked})},[s]);return e(sf,{align:n,label:t,onChange:l,checked:(r.sourceFilter?.allowed?.includes(\"*\")&&0===r.sourceFilter?.blocked?.length)??!1,disabled:c,...o})}function cm({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:c,saveFilter:l}=jp(),u=Ud()&&!s.enabledNotifications,d=a((e,t)=>{const n={...c.sourceFilter},o=n.allowed?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.allowed?.splice(o,1),r.forEach(e=>{e.name!==t.name&&n.allowed?.push(e.name)})),e?(n.allowed=[...new Set([...n.allowed??[],t.name])],n.blocked=n.blocked?.filter(e=>e!==t.name)):(n.allowed=n.allowed?.filter(e=>e!==t.name),n.blocked=[...new Set([...n.blocked??[],t.name])]),n.allowed?.length&&n.blocked?.includes(\"*\")&&n.blocked.splice(n.blocked.indexOf(\"*\"),1),l(n)},[r,c.sourceFilter,l]);return e(sf,{id:`subscribe-${o.name}`,label:t,align:n,onChange:e=>d(e.target.checked,o),checked:(c.sourceFilter?.allowed?.includes(\"*\")&&!c.sourceFilter?.blocked?.includes(o.name)||c.sourceFilter?.allowed?.includes(o.name))??!1,disabled:u,...i})}function lm({label:t=\"Mute all\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=jp(),c=Ud(),l=c&&(!i.enabledNotifications||-1===r.sourceFilter?.allowed?.indexOf(\"*\")),u=a(e=>{s({mute:e.target.checked})},[s]);return c?e(sf,{align:n,label:t,onChange:u,checked:r.sourceFilter?.muted?.includes(\"*\")??!1,disabled:l??!1,...o}):null}function um({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:c,saveFilter:l}=jp(),u=Ud(),d=u&&(!s.enabledNotifications||c.sourceFilter?.blocked?.includes(\"*\")||c.sourceFilter?.blocked?.includes(o.name)||0===c.sourceFilter?.allowed?.length||-1===c.sourceFilter?.allowed?.indexOf(o.name)&&-1===c.sourceFilter?.allowed?.indexOf(\"*\")&&0===c.sourceFilter?.blocked?.length),f=a((e,t)=>{const n={...c.sourceFilter},o=n?.muted?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.muted?.splice(o,1),r.forEach(e=>{e.name===t.name||e.hidden||n.muted?.push(e.name)})),e?n.muted?.push(t.name):n.muted=n.muted?.filter(e=>e!==t.name),l(n)},[r,c.sourceFilter,l]);return!u||o.hidden?null:e(sf,{id:`mute-${o.name}`,label:t,align:n,onChange:e=>f(e.target.checked,o),checked:(c.sourceFilter?.muted?.includes(\"*\")||c.sourceFilter?.muted?.includes(o.name))??!1,disabled:d??!1,...i})}const dm={Body:n=>{const{General:o,Placement:i,Stacking:r,Snooze:a,Subscriptions:s}=mm();return t(Od,{element:Us,elementProps:n,children:[e(o,{}),e(r,{}),e(i,{}),e(a,{}),e(s,{})]})},General:Ap,AllowNotifications:zp,AllowNotificationToasts:Hp,ShowNotificationBadge:Wp,CloseNotificationOnClick:Vp,PanelAutoHide:Up,HideToastsAfter:qp,Stacking:Jp,ToastStacking:Yp,ToastStackBy:Zp,Placement:em,PlacementPanel:nm,PlacementToasts:om,Snooze:im,SnoozeDuration:rm,Subscriptions:am,SubscribeAll:sm,SubscribeApp:cm,SubscribeMuteAll:lm,SubscribeMuteApp:um},fm=s(dm),pm=y(({children:t,components:n})=>{const o=u(()=>({...dm,...n}),[n]);return e(fm.Provider,{value:o,children:t})});pm.displayName=\"NotificationsSettingsPanelComponentsStoreProvider\";const mm=()=>c(fm),hm=({className:n,onClose:o,title:i=\"Notification Settings\",...r})=>{const{Body:a}=mm();return t(Gs,{className:E(\"io-notifications-settings-panel\",n),\"data-testid\":\"notifications-settings-panel\",...r,children:[t(Gs.Header,{children:[e(Gs.Header.Title,{size:\"large\",text:i,tag:\"h1\"}),e(Gs.Header.ButtonGroup,{children:e(Gs.Header.ButtonIcon,{className:\"non-draggable\",variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),e(a,{})]})},gm=({components:t,...n})=>e(pm,{components:t,children:e(hm,{...n})}),ym=({name:n,value:o})=>t(\"div\",{className:\"io-profile-section-item\",children:[e(\"div\",{className:\"io-profile-section-item-name\",children:n}),e(\"div\",{className:\"io-profile-section-item-value\",children:o})]}),vm=({className:n,items:o,title:i})=>t(\"div\",{className:E(\"io-profile-section-body\",n),children:[i&&e(D,{className:\"io-profile-section-title\",text:i}),o.map(({name:t,value:n})=>e(ym,{name:t,value:n},t))]}),wm=({className:n,items:o,title:i})=>t(\"section\",{className:E(\"io-profile-section\",n),children:[e(vm,{items:o,title:i}),e(J,{className:\"mt-8\"})]}),bm=({title:t=\"License\",...n})=>e(wm,{title:t,...n}),km=({title:t=\"Version\",...n})=>e(wm,{title:t,...n}),xm=({title:t=\"Plugins\",...n})=>e(wm,{title:t,...n}),Sm=({className:n})=>{const o=Or()?\"io.Connect Desktop\":\"io.Connect Browser\";return t(\"div\",{className:E(\"io-trademark-container\",n),children:[e(\"h4\",{className:\"io-trademark-title\",children:o}),t(\"p\",{className:\"io-trademark-text\",children:[o,\"® is a registered trademark of\",\" \",e(\"a\",{href:\"https://www.interop.io\",rel:\"noreferrer\",target:\"_blank\",children:\"Interop Inc©\"}),\" \",(new Date).getFullYear(),\". All rights reserved.\"]})]})},Cm=({avatarInitials:n=(Or()?\"CD\":\"CB\"),className:o,items:i,onLogout:r,title:a})=>t(\"section\",{className:E(\"io-profile-section\",o),children:[t(\"div\",{className:\"io-user-details-container\",children:[e(\"div\",{className:\"io-user-avatar\",children:n}),e(vm,{className:\"mt-12\",items:i,title:a})]}),r&&e($,{className:\"io-log-out-button\",onClick:r,variant:\"primary\",icon:\"arrow-right-from-bracket\",children:\"Log out\"}),e(J,{className:\"mt-8\"})]}),Nm={LicenseSection:bm,ProductsInfoSection:km,PluginsSection:xm,Trademark:Sm,UserSection:Cm},Em=s(Nm),Im=y(({children:t,components:n})=>{const o=u(()=>({...Nm,...n}),[n]);return e(Em.Provider,{value:o,children:t})});Im.displayName=\"ProfilePanelComponentsStoreProvider\";const Pm=e=>{const t=new Date(e);return[{day:\"numeric\"},{month:\"short\"},{year:\"numeric\"}].map(e=>t.toLocaleDateString(\"en\",e)).join(\" \")},Am=e=>{if(!e)return{items:[]};const t=[...e.email?[{name:\"Email\",value:e.email}]:[],...e.type?[{name:\"User Type\",value:e.type}]:[],...e.role?[{name:\"User Role\",value:e.role}]:[],{name:\"User ID\",value:e.id}];if(e.firstName||e.lastName){const n=[e.firstName,e.lastName].filter(e=>!!e);return{avatarInitials:n.map(e=>e.charAt(0)).join(\"\"),items:t,title:n.join(\" \")}}return e.username?{avatarInitials:e.username.charAt(0),items:t,title:e.username}:e.email?{avatarInitials:e.email.charAt(0),items:t}:{items:t}},Om=e=>{const t=new Date(2023,5,6),n=e.expiration<t.getTime()?1e3:1;return{items:[{name:\"Type\",value:e.type},{name:\"Expiration Date\",value:Pm(e.expiration*n)}]}},Lm=e=>({items:e.map(e=>({name:e.name,value:e.version}))}),Dm=e=>{const t={\"@interopio/workspaces-ui-react\":\"Workspaces React Frame\",\"@interopio/workspaces-ui-web-components\":\"Workspaces Web Components Frame\"};return{items:[{name:\"io.Connect Browser platform\",value:e.platform.apiVersion},{name:\"io.Connect Browser client\",value:e.client.apiVersion},...e.workspaces?[{name:\"Workspaces API\",value:e.workspaces.apiVersion}]:[],...e.workspaces?.container&&hp(e.workspaces.container.type,t)?[{name:t[e.workspaces.container.type],value:e.workspaces.container.version}]:[],...e.home?[{name:\"Home UI\",value:e.home.version}]:[],...e.search?[{name:\"Search API\",value:e.search.apiVersion}]:[],...e.modals?[{name:\"Modals API\",value:e.modals.apiVersion}]:[]]}},Tm=()=>{const e=window.glue42gd??window.iodesktop;if(!e)throw new Error(\"both window.glue42gd and window.iodesktop are not available\");const{user:t,env:n}=e,o=[{name:\"Environment\",value:n.env},{name:\"Region\",value:n.region}];return t?{avatarInitials:t.charAt(0),items:o,title:t}:{items:o}},Rm=e=>{const t=Object.entries(e??{}).map(([e,t])=>({name:e,value:t}));return{items:t}},Bm=(e=[])=>({items:e.map(({product:e,version:t})=>({name:e,value:t}))}),Mm=e=>Or()?(async e=>{const{licInfo:t,productInfo:n}=(await e.interop.invoke(\"T42.GD.GetInfo\")).returned;return{user:Tm(),license:Rm(t),productsInfo:Bm(n)}})(e):(async()=>{if(!window.iobrowser)throw new Error(\"window.iobrowser is not available\");const e=await window.iobrowser.system.getProfileData();return{user:Am(e.user),license:Om(e.license),plugins:Lm(e.plugins),productsInfo:Dm(e.productsInfo)}})(),Fm=({className:n,onClose:o,onLogout:i,title:r=\"Profile\",...a})=>{const{LicenseSection:s,ProductsInfoSection:u,PluginsSection:d,Trademark:p,UserSection:m}=c(Em),h=c(x),[g,y]=l(null);return f(()=>{if(!h)return;(async()=>{const e=await Mm(h);y(e)})().catch(console.error)},[h]),t(Gs,{className:E(\"io-profile-panel\",n),\"data-testid\":\"profile-panel\",...a,children:[t(Gs.Header,{children:[e(Gs.Header.Title,{size:\"large\",text:r}),e(Gs.Header.ButtonGroup,{children:e(Gs.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),t(Od,{element:Gs.Body,children:[g?.user.items.length||g?.user.title?e(m,{avatarInitials:g.user.avatarInitials,items:g.user.items,onLogout:i,title:g.user.title}):null,t(\"div\",{className:\"io-profile-sections-container\",children:[g?.license.items.length?e(s,{items:g.license.items}):null,g?.productsInfo.items.length?e(u,{items:g.productsInfo.items}):null,g?.plugins?.items.length?e(d,{items:g.plugins.items}):null]}),e(p,{className:\"mt-auto\"})]})]})},$m=({components:t,...n})=>e(Im,{components:t,children:e(Fm,{...n})}),_m=document.querySelector(\"#root\")??document.body,jm={preferences:Pp,\"notification-settings\":gm,profile:$m};var zm=Object.freeze({__proto__:null,ActivePanelRenderer:()=>{const{panel:t,deselectPanel:n}=hf();ie(()=>{t&&n()},[\"Escape\"]);const o=t?jm[t]:null;return o?k(e(\"div\",{className:\"io-panel-overlay\",children:e(o,{onClose:n})}),_m):null},PanelManagerProvider:({children:t})=>{const[n,o]=l(null),i=a(e=>{o(e)},[]),r=a(()=>{o(null)},[]),s=u(()=>({panel:n,selectPanel:i,deselectPanel:r}),[n,i,r]);return e(mf.Provider,{value:s,children:t})},usePanelManagerContext:hf});function Hm({actions:t,onActionClick:n}){return e(ae,{\"data-testid\":\"io-alert-action-buttons-group\",children:t.map(t=>e($,{\"data-testid\":`io-alert-action-button-${t.id}`,onClick:e=>n(e,t),children:t.title},t.id))})}function Wm({data:t,onClick:n}){const o=!!t.config.actions?.length&&e(Hm,{actions:t.config.actions,onActionClick:(e,t)=>{e.stopPropagation();const o={name:t.title,settings:t.clickInterop};n({interopAction:o,shouldCloseAlert:!0})}});return e(O,{append:o,close:t.config.showCloseButton??!0,closeButtonOnClick:e=>{e.stopPropagation();const o=t.config.onCloseInterop?{name:\"io-alert-close\",settings:t.config.onCloseInterop}:void 0;n({interopAction:o,shouldCloseAlert:!0})},onClick:()=>{const e=t.config.clickInterop?{name:\"io-alert-click\",settings:t.config.clickInterop}:void 0;n({interopAction:e,shouldCloseAlert:!0})},size:\"large\",text:t.config.text,variant:t.config.variant,...t.config.data})}function Vm({Alert:t=Wm,messagePort:n}){const[o,i]=l(null);return f(()=>{const e=n.subscribe(({data:e})=>{i(e)});return e},[n]),o?e(t,{data:o,onClick:({interopAction:e,shouldCloseAlert:t})=>{n.postMessage({id:o.id,interopAction:e,shouldCloseAlert:t})}}):null}var Um=Object.freeze({__proto__:null,Actions:Hm,Alerts:Vm,DefaultAlert:Wm});const Km=s({theme:\"dark\"}),Gm=()=>c(Km);var qm=Object.freeze({__proto__:null,Alert:function(){const{theme:t}=Gm();f(()=>(document.documentElement.classList.add(t),()=>{document.documentElement.classList.remove(t)}),[t]);const{postMessage:n,subscribe:o}=globalThis.glue42alert??{};return n&&o?e(Vm,{messagePort:{postMessage:n,subscribe:o}}):null},AlertsProvider:({children:t})=>{const[n,o]=l(\"dark\");f(()=>{if(!globalThis.glue42alert)return;globalThis.glue42alert.onThemeChanged(e=>{o(e)}),o(globalThis.glue42alert?.getTheme()??\"dark\")},[]);const i=u(()=>({theme:n}),[n]);return e(Km.Provider,{value:i,children:t})},useAlertsContext:Gm});const Jm=\"var(--io-neutrals-0)\",Ym=\"var(--io-neutrals-900)\";function Xm(e){let t,n,o;if(e.startsWith(\"#\")){let i=e.slice(1);3===i.length&&(i=i.split(\"\").map(e=>e+e).join(\"\")),t=parseInt(i.substring(0,2),16),n=parseInt(i.substring(2,4),16),o=parseInt(i.substring(4,6),16)}else{if(!e.startsWith(\"rgb\")){const t=document.createElement(\"canvas\").getContext(\"2d\");if(!t)return Ym;t.fillStyle=e;return Xm(t.fillStyle)}{const i=e.match(/\\d+/g)?.map(Number);if(!i||i.length<3)return Ym;[t,n,o]=i}}return(.2126*t+.7152*n+.0722*o)/255>.5?Ym:Jm}function Qm({className:t,channel:n,...o}){const i=E(\"io-channel-badge\",t),r=u(()=>Xm(n.color),[n.color]);return e(\"div\",{className:i,style:{color:r,backgroundColor:n.color},\"data-testid\":`channel-selector-badge-${n.color}`,...o,children:e(\"span\",{className:\"io-channel-selector-badge-label\",\"data-testid\":\"channel-selector-label\",children:n.label})})}function Zm(){return e(I,{variant:\"check\",\"data-testid\":\"channel-selector-channel-selected\"})}function eh({channel:o,handleChannelRestricted:i,lockedChannelRestriction:r}){const a=(e,t)=>n=>{n.stopPropagation(),R(n)&&(n.preventDefault(),t||i({...o,[e]:!o[e]}))};return t(n,{children:[e(\"div\",{children:o.isSelected&&e(\"span\",{\"data-testid\":\"channel-selector-channel-selected\",children:\"Active\"})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-publish-toggle-container\",children:e(sf,{label:\"Publish\",checked:o.write,onChange:()=>{i({...o,write:!o.write})},onKeyDown:a(\"write\",!o.isSelected||r?.write),onClick:e=>e.stopPropagation(),disabled:!o.isSelected||r?.write})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-subscribe-toggle-container\",children:e(sf,{label:\"Subscribe\",checked:o.read,onChange:()=>{i({...o,read:!o.read})},onKeyDown:a(\"read\",!o.isSelected||r?.read),disabled:!o.isSelected||r?.read})})]})}const th=s({});function nh({channel:t,isSelected:n,onChannelSelect:o,onChannelRestrict:i,...r}){const{variant:s,selectedChannels:l,lockedChannelRestrictions:u}=c(th),d=n||t.isSelected||l?.includes(t),f=u?.find(e=>e.name===t.name),p=a(()=>o?.({...t,isSelected:!d}),[t,o,d]),m=a(e=>{const n=e.target;n.closest(\".io-toggle\")||n.classList.contains(\"io-toggle\")||R(e)&&(e.preventDefault(),o?.({...t,isSelected:!d}))},[t,o,d]),h=a(e=>{i?.(e)},[i]);return e(V,{prepend:e(Qm,{channel:t}),append:\"single\"===s||\"multi\"===s?d&&e(Zm,{}):e(eh,{channel:t,handleChannelRestricted:h,lockedChannelRestriction:f}),isSelected:d,onClick:p,onKeyDown:m,...r,children:t.name},t.name)}function oh({variant:t,onVariantChange:n,disabled:o=!1}){const i=\"directionalSingle\"===t||\"directionalMulti\"===t,r=a(()=>{n?.(!i)},[i,n]),s=a(e=>{e.stopPropagation()},[]),c=a(e=>{e.stopPropagation(),R(e)&&(e.preventDefault(),o||r())},[o,r]);return e(sf,{label:\"Directional\",align:\"right\",checked:i,onChange:r,onClick:s,onKeyDown:c,disabled:o,\"data-testid\":`channel-selector-toggle-${t}`})}const ih=r(({className:n,variant:o=\"single\",variantToggle:i=!1,channels:r=[],lockedChannelRestrictions:a=[],onVariantChange:s,onChannelSelect:c,onChannelRestrict:l,...d},f)=>{const p=E(\"io-list-channels\",\"io-channel-selector-panel\",(\"directionalSingle\"===o||\"directionalMulti\"===o)&&\"io-list-channels-directional io-channel-selector-panel-directional\",n),m=u(()=>({variant:o,selectedChannels:r.filter(e=>e.isSelected),lockedChannelRestrictions:a,onVariantChange:s,onChannelSelect:c,onChannelRestrict:l}),[r,o,a,s,c,l]);return e(th.Provider,{value:m,children:e(\"div\",{className:p,ref:f,children:t(Q,{...d,children:[e(Q.ItemTitle,{\"data-testid\":\"channel-selector-title\",append:i&&e(oh,{variant:o,onVariantChange:s}),children:{single:\"Select Channel\",directionalSingle:\"Select Directional Channel\",multi:\"Select Channels\",directionalMulti:\"Select Directional Channels\"}[o]}),r?.map(t=>e(nh,{channel:t,isSelected:t.isSelected,onChannelSelect:c,onChannelRestrict:l,\"data-testid\":`channel-selector-channel-${t.name}`},t.name))]})})})});ih.displayName=\"ChannelSelector\";const rh=r(({className:t,title:n,ariaLabel:o,onClick:i,onKeyDown:r,children:a,disabled:s=!1,...c},l)=>e(\"div\",{ref:l,className:E(t,{disabled:s}),title:n,role:\"button\",tabIndex:s?-1:0,\"aria-label\":o,\"aria-disabled\":s,onClick:e=>{!s&&i&&i(e)},onKeyDown:e=>{!s&&r&&r(e)},...c,children:a}));rh.displayName=\"ChannelSelectorButtonWrapper\";function ah(e,t){const n=c(x),o=n.windows,i=n.channels,[r,s]=l({channels:[]});f(()=>{if(!e)return;(async()=>{try{const t=await i.getRestrictions(e);s(t)}catch(e){console.error(\"Failed to fetch channel restrictions:\",e)}})().catch(console.error);const t=o.findById(e);if(!t||\"function\"!=typeof t.onChannelRestrictionsChanged)return;return t.onChannelRestrictionsChanged(s)},[e,i,o]);const u=a(({name:n,read:o,write:r})=>{e&&![\"single\",\"multi\"].includes(t)&&void 0!==o&&void 0!==r&&i.restrict({name:n,read:o,write:r,windowId:e}).catch(console.error)},[e,t,i]),d=a(e=>e.map(e=>{const t=r.channels.find(t=>t.name===e.name);return{...e,read:t?.read??!0,write:t?.write??!0}}),[r.channels]);return{channelRestrictions:r,onChannelRestricted:u,applyChannelRestrictions:d}}function sh(e){const t=c(x).windows,[n,o]=l([]);return f(()=>{if(!e)return;(async()=>{try{const n=t.findById(e);if(!n)return void o([]);const i=await(n.application?.getConfiguration()),r=i?.details?.channelSelector?.preventModifyingRestrictionsFor;if(!r)return void o([]);o(r)}catch(e){console.error(\"Failed to fetch locked channel restrictions:\",e)}})().catch(console.error)},[e,t]),{lockedChannelRestrictions:n}}var ch=Object.freeze({__proto__:null,Channel:nh,ChannelBadge:Qm,ChannelDirectionalAppend:eh,ChannelSelector:ih,ChannelSelectorButton:function({channels:n,variant:o,className:i,onClick:r,onKeyDown:a,...s}){const l=d(null),u=c(th),f=n||u.selectedChannels||[],p=o||u.variant||\"single\",m=f.filter(e=>e.isSelected);if((\"multi\"===p||\"directionalMulti\"===p)&&m.length>1){const t=`io-channel-selector-button io-channel-selector-multi-${Math.min(m.length,4)}`,n=m.map(e=>e.name).join(\", \"),o=function(e){const t={},n=Math.min(e.length,4);return e.slice(0,n).forEach((e,o)=>{t[`--io-channel-selector-multi-${n}-color-${o+1}`]=e.color}),t}(m);return e(rh,{ref:l,className:i,title:n,ariaLabel:`Selected channels - ${n}`,onClick:r,onKeyDown:a,...s,children:e(\"div\",{className:t,style:o})})}const h=m[0];if(!h)return e(rh,{ref:l,className:i,title:\"No channel selected\",ariaLabel:\"No channel selected\",onClick:r,onKeyDown:a,...s,children:e(I,{variant:\"link\"})});const g=\"directionalSingle\"===p||\"directionalMulti\"===p,y=g?(v=h).isSelected?v.read&&v.write?\"readwrite\":v.read?\"read\":v.write?\"write\":null:null:null;var v;return t(rh,{ref:l,className:E(g?\"io-channel-selector-button io-channel-selector-button-directional\":\"io-channel-selector-button\",i),title:h.name,ariaLabel:`Selected channel - ${h.name}`,onClick:r,onKeyDown:a,style:{color:Xm(h.color),backgroundColor:h.color},...s,children:[e(\"span\",{children:h.label}),y&&\"readwrite\"!==y&&e(I,{variant:\"read\"===y?\"subscribe\":\"publish\"})]})},ChannelSingleAppend:Zm,useChannelRestrictionLocks:sh,useChannelRestrictions:ah,useIOCDChannels:function(e){const t=\"T42.ChannelSelector.Execute\",n=c(x),o=n?.windows,i=n?.channels,r=n?.interop,s=Ud(),u=o?.my(),p=d(),[h,g]=l(\"\"),[y,v]=l(\"single\"),[w,b]=l(null),[k,S]=l(!1),[C,N]=l(),{channelRestrictions:E,onChannelRestricted:I,applyChannelRestrictions:P}=ah(h,y),{lockedChannelRestrictions:A}=sh(h),O=a(async(e,t,n)=>{if(\"will-show\"===e.command)try{S(!0),p.current=n;const{windowId:t,channels:i,variant:r}=e;v(r),g(t);const a=await(o?.findById(t)?.getChannel())??\"\",s=P(function(e,t){return e.map((e,n)=>{const o=!!t&&t.split(\"+++\").includes(e.name);return{...e,color:e.meta?.color,label:e.meta?.label??String.fromCharCode(n+65),isSelected:o,read:e.read??!0,write:e.write??!0}})}(i,a));b(s)}catch(e){console.error(\"Error in channel selector handler:\",e),N(e)}finally{S(!1)}},[o,P]),L=a(async({name:e,isSelected:t})=>{if(i){b(n=>n?n.map(n=>\"single\"===y||\"directionalSingle\"===y?{...n,isSelected:n.name===e&&t}:n.name===e?{...n,isSelected:t}:n):[]);try{t?await i.join(e,h):await i.leave({windowId:h,channel:e})}catch(e){N(e),console.error(\"Error selecting channel:\",e)}\"single\"===y&&s&&u&&u?.hide().catch(console.error)}},[i,y,u,h,s]);return ie(()=>{s&&u&&u?.hide().catch(console.error)},[\"Escape\"]),f(()=>{if(null===s||!s)return;const e=u?.onClosing(async e=>(e({showDialog:!1}),Promise.resolve()));return e},[u,s]),f(()=>{if(!r)return;return r.registerAsync(t,(e,t,n)=>{O(e,t,n).catch(e=>{console.error(\"Error in channel selector handler:\",e),N(e)})}).catch(console.error),()=>{r.unregister(t)}},[r,O]),f(()=>{b(e=>e?P(e):null)},[E,P]),m(()=>{if(e?.current&&w?.length){const{height:t,width:n,x:o,y:i}=e.current.getBoundingClientRect();p.current&&t>0&&p.current({height:t,width:n,x:o,y:i})}},[w,e]),{windowId:h,error:C,variant:y,channels:w,channelRestrictions:E,lockedChannelRestrictions:A,onChannelSelected:L,onChannelRestricted:I,isLoading:k}}});function lh({messagePort:t,templates:n}){const[o,i]=l(null);return f(()=>{const e=t.subscribe(({data:e})=>{if(null===e)return i(null);const{templateName:t}=e.config,o=n.find(e=>e.name===t);if(!o)return console.warn(`A template with the provided name \"${t}\" isn't available.`);i({...e,Dialog:o.Dialog})});return e},[t,n]),o?e(o.Dialog,{onCompletion:e=>t.postMessage({id:o.id,response:e}),size:o.config.size,variables:o.config.variables}):null}function uh({actionButtons:t,actionButtonElementsRefs:n,isAutofocusButton:o,isButtonDisabled:i,onButtonClick:r}){return e(ae,{\"data-testid\":\"io-dialog-action-buttons-group\",align:\"right\",children:t.map((t,a)=>{const{id:s,text:c,variant:l}=t,u=o(s);return e($,{\"data-testid\":`io-dialog-action-button-${s}`,id:s,ref:e=>{0===a&&(n.current=[]),n.current[a]=e},className:u?\"io-focus-button\":void 0,disabled:i(s),onClick:()=>r(t),variant:l,children:c},s)})})}function dh({actionButtons:n,children:o,onCompletion:i,size:r,title:a=(Or()?\"io.Connect Desktop\":\"io.Connect Browser\"),validationErrors:s=[]}){const{actionButtonElementsRefs:c,autofocusButtonId:f,hasAutofocusButtonLostInitialFocus:p}=(e=>{const t=d([]),n=u(()=>e.find(e=>e.autofocus)?.id??null,[e]),o=d(n),[i,r]=l(!o.current);return m(()=>{if(i)return;if(n!==o.current)return void r(!0);const e=t.current.find(e=>e?.id===n);if(!e)return;e.focus();const a=()=>{r(!0)};return e.addEventListener(\"blur\",a),()=>{e.removeEventListener(\"blur\",a)}},[n,i]),{actionButtonElementsRefs:t,autofocusButtonId:n,hasAutofocusButtonLostInitialFocus:i}})(n),h=()=>{i({isClosed:!0})},g={...r};return t(fe,{className:\"io-dialog-template\",closeFn:h,isOpen:!0,onCancel:e=>{e.preventDefault(),h()},onKeyDown:e=>{!R(e)||s.length||e.target instanceof HTMLButtonElement||\" \"===e.key&&e.target instanceof HTMLInputElement||i({isEnterPressed:!0})},style:g,title:a,draggable:!0,children:[e(fe.Body,{children:o}),e(fe.Footer,{children:e(uh,{actionButtonElementsRefs:c,actionButtons:n,isAutofocusButton:e=>f===e&&!p,isButtonDisabled:e=>s.some(t=>t.disabledButtonIds.some(t=>t===e)),onButtonClick:({id:e,text:t})=>{i({responseButtonClicked:{id:e,text:t}})}})})]})}function fh({children:t}){return e(\"h3\",{\"data-testid\":\"io-dialog-heading\",className:\"io-dialog-template-heading\",children:t})}function ph({onCompletion:n,size:o,variables:i}){const{actionButtons:r,heading:a,text:s,title:c}=i;return e(dh,{actionButtons:r,onCompletion:n,size:o,title:c,children:t(\"div\",{children:[e(fh,{children:a}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:s})]})})}function mh({onCompletion:n,size:o,variables:i}){const{actionButtons:r,checkbox:s,heading:c,text:u,title:d}=i,[f,p]=l(s.initialValue),m=a(()=>p(e=>!e),[]),h=[{id:s.id,type:\"checkbox\",checked:f}];return t(dh,{actionButtons:r,onCompletion:e=>n({...e,inputs:h}),size:o,title:d,children:[t(\"div\",{children:[e(fh,{children:c}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:u})]}),e(jd,{\"data-testid\":`io-dialog-checkbox-${s.id}`,checked:f,id:s.id,label:s.label,name:s.id,onChange:m})]})}function hh({onCompletion:n,size:o,variables:i}){const{actionButtons:r,heading:a,input:s,title:c}=i,[u,f]=l(s.initialValue??\"\"),p=d(null),h=(g=u,!(y=s.validation)||new RegExp(y.regexPattern).test(g)?null:{disabledButtonIds:y.disabledButtonIds,message:y.errorMessage});var g,y;const v=[{id:s.id,type:\"text\",value:u}];return m(()=>{p.current?.select()},[]),t(dh,{actionButtons:r,onCompletion:e=>n({...e,inputs:v}),size:o,title:c,validationErrors:h?[h]:[],children:[e(fh,{children:a}),e($d,{\"data-testid\":`io-dialog-input-${s.id}`,ref:p,errorDataTestId:`io-dialog-input-${s.id}-error-message`,errorMessage:h?.message,id:s.id,label:s.label,name:s.id,onChange:e=>f(e.target.value),placeholder:s.placeholder,type:\"text\",value:u})]})}const gh=ua({width:ga,height:ga}),yh=ca().andThen(e=>((e,t)=>{const n=typeof e;return\"function\"===n?ca():ma(`The argument provided as \"${t}\" must be a function, received: ${n}`)})(e,\"onCompletion\")),vh=ua({autofocus:fa(sa()),id:ha,text:ha,variant:pa(la(\"default\"),la(\"primary\"),la(\"critical\"),la(\"outline\"),la(\"link\"))}),wh=ua({disabledButtonIds:da(ha),errorMessage:ha,regexPattern:ha}),bh=ua({actionButtons:da(vh),heading:ra(),text:ra(),title:fa(ra())}),kh=ua({templateName:la(\"noInputsConfirmationDialog\"),onCompletion:yh,size:fa(gh),variables:bh}),xh=ua({actionButtons:da(vh),checkbox:ua({id:ha,initialValue:fa(sa()),label:fa(ra())}),heading:ra(),text:ra(),title:fa(ra())}),Sh=ua({templateName:la(\"singleCheckboxDialog\"),onCompletion:yh,size:fa(gh),variables:xh}),Ch=ua({actionButtons:da(vh),heading:ra(),input:ua({id:ha,initialValue:fa(ra()),label:fa(ra()),placeholder:fa(ra()),validation:fa(wh)}),title:fa(ra())}),Nh=ua({templateName:la(\"singleTextInputDialog\"),onCompletion:yh,size:fa(gh),variables:Ch}),Eh=[{name:\"noInputsConfirmationDialog\",Dialog:ph,validate:kh.runWithException},{name:\"singleCheckboxDialog\",Dialog:mh,validate:Sh.runWithException},{name:\"singleTextInputDialog\",Dialog:hh,validate:Nh.runWithException}];var Ih=Object.freeze({__proto__:null,DEFAULT_DIALOG_TEMPLATES:Eh,Dialogs:lh,NoInputsConfirmationDialog:ph,SingleCheckboxDialog:mh,SingleTextInputDialog:hh});function Ph({className:n,draggable:o,title:i,children:r,...a}){const s=E(\"io-dialog-header\",o&&\"draggable\",n);return t(ce,{className:s,...a,children:[e(\"h3\",{children:i}),r]})}function Ah({children:t,...n}){return e(le,{...n,children:e(le.Content,{children:t})})}function Oh({children:t,...n}){return e(de,{...n,children:t})}const Lh=s({config:{message:\"\"},theme:\"dark\",setResult:()=>{}}),Dh=()=>c(Lh),Th=t=>{const{id:n,onButtonFocused:o,...i}=t,{config:r}=Dh();return e($,{variant:\"outline\",onFocus:()=>o&&o(n),autoFocus:(a=n,a===r.defaultAction),...i});var a},Rh=({timerDuration:t,callback:n})=>{const[o,i]=l(t);f(()=>{if(o<=0)return n();{const e=setInterval(()=>{i(e=>e-1)},1e3);return()=>{clearInterval(e)}}},[o,n]);return e(\"p\",{children:`This dialog will close in: ${o} seconds`})};function Bh({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}function Mh({className:n,placeHolder:o,maxInputLength:i,errorMessage:r,onInput:a,onEnterKeyDown:s}){const[c,u]=l(\"\"),p=d(null),m=E(\"io-control-input\",n);f(()=>{p.current&&p.current.focus()},[]);return t(\"div\",{className:m,children:[e(\"input\",{className:\"io-input\",ref:p,type:\"text\",maxLength:i,placeholder:o,tabIndex:0,value:c,onChange:e=>{const t=e.target.value,n=e.target.parentElement;u(t);const o=a(t);n&&(0===t.length?n.className=\"\":(n.className=\"was-validated\",o?e.target.setCustomValidity(\"\"):e.target.setCustomValidity(\"Invalid input pattern\")))},onKeyDown:e=>{\"Enter\"===e.key&&(e.preventDefault(),s())}}),r&&c.length>0?e(\"small\",{children:e(\"strong\",{children:r})}):null]})}function Fh({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}var $h=Object.freeze({__proto__:null,Dialog:function({config:n,setResult:o,header:i,body:r,footer:s}){if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const[c,u]=l(!1),d=Gd(\"Escape\"),p=Gd(\"Enter\"),[m,h]=l(n.defaultAction),{theme:g}=Dh();f(()=>{u(\"SingleInputDialog\"===n?.type)},[n]);const y=a(()=>{o({action:\"expired\"})},[o]);f(()=>(document.documentElement.classList.add(g),()=>{document.documentElement.classList.remove(g)}),[g]),f(()=>{d&&o({action:\"closed\"})},[d,o]),f(()=>{p&&!m&&o({action:\"clicked\",button:n.defaultAction})},[p,m,n.defaultAction,o]);const v=e=>{e.preventDefault(),o({action:\"clicked\",button:m})},w=()=>{b(\"\")},b=e=>{h(e)};return n.timerDuration&&!n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration),t(Bh,{children:[i??e(Ph,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(ae,{children:e(P,{id:\"close\",icon:\"close\",iconSize:\"12\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:w,tabIndex:-1})})})}),r??e(Ah,{children:t(\"div\",{children:[n?.messageTitle&&e(\"h1\",{children:n?.messageTitle}),e(\"p\",{children:n.message}),n?.showTimer&&n?.timerDuration&&e(Rh,{timerDuration:n.timerDuration,callback:y})]})}),s??e(Oh,{children:t(ae,{align:\"right\",children:[n.showAffirmativeButton&&e(Th,{id:\"affirmative\",variant:\"primary\",onClick:v,onButtonFocused:b,onBlur:w,disabled:c,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Th,{id:\"negative\",onClick:v,onButtonFocused:b,onBlur:w,children:n.negativeButtonName}),n.showCancelButton&&e(Th,{id:\"cancel\",onClick:v,onButtonFocused:b,onBlur:w,children:n.cancelButtonName})]})})]})},DialogBody:Ah,DialogButton:Th,DialogFooter:Oh,DialogHeader:Ph,DialogRenderer:lh,DialogsProvider:({children:t})=>{const[n,o]=l({message:\"\",messageTitle:\"\",operation:\"systemShutdown\",type:\"\"}),[i,r]=l(\"dark\");f(()=>{if(!globalThis.glue42dialog)return;(async()=>{const e=await globalThis.glue42dialog.getConfig();o(e)})(),globalThis.glue42dialog.onThemeChanged(e=>{r(e)}),r(globalThis.glue42dialog.getTheme()??\"dark\")},[]);const s=a(e=>{globalThis.glue42dialog?.setResult(e)},[]),c=u(()=>({config:n,theme:i,setResult:s}),[n,i,s]);return e(Lh.Provider,{value:c,children:t})},SingleInputDialog:({config:n,setResult:o,header:i,body:r,footer:s})=>{if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const c=Gd(\"Escape\"),u=Gd(\"Enter\"),[d,p]=l(n.defaultAction),{theme:m}=Dh(),[h,g]=l(\"\"),[y,v]=l(\"\"),[w,b]=l(!1),k=a(()=>{o({action:\"expired\"})},[o]),x=a(()=>{\"affirmative\"===n?.defaultAction?w&&h.length>0&&o({action:\"clicked\",button:n.defaultAction,value:h}):o({action:\"clicked\",button:n.defaultAction})},[n.defaultAction,h,o,w]);f(()=>{document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(m)},[m]),f(()=>{c&&o({action:\"closed\"})},[c,o]),f(()=>{u&&!d&&x()},[u,x,d]);const S=e=>{e.preventDefault(),o(\"affirmative\"===d&&h?{action:\"clicked\",button:d,value:h}:{action:\"clicked\",button:d})},C=()=>{N(\"\")},N=e=>{p(e)};n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration);return t(Fh,{children:[i??e(Ph,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(ae,{children:e(P,{id:\"close\",icon:\"close\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:C})})})}),r??e(Ah,{children:t(\"div\",{style:{width:\"100%\"},children:[n.message&&e(\"p\",{children:n.message}),e(Mh,{onInput:e=>{let t=!0;try{t=!!e.match(n.inputPattern??\"\"),b(t)}catch(e){console.log(`Failed to validate regular expression pattern: ${n.inputPattern??\"\"}`)}return t?(g(e),v(\"\")):v(n.inputPatternErrorMessage??\"Invalid input pattern\"),t},errorMessage:y,onEnterKeyDown:x,maxInputLength:n.inputMaxLength,placeHolder:n.inputPlaceholder}),n?.showTimer&&n?.timerDuration&&e(Rh,{timerDuration:n.timerDuration,callback:k})]})}),s??e(Oh,{children:t(ae,{align:\"right\",children:[n.showAffirmativeButton&&e(Th,{id:\"affirmative\",variant:\"primary\",onClick:S,onButtonFocused:N,onBlur:C,disabled:!w,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Th,{id:\"negative\",onClick:S,onButtonFocused:N,onBlur:C,children:n.negativeButtonName}),n.showCancelButton&&e(Th,{id:\"cancel\",onClick:S,onButtonFocused:N,onBlur:C,children:n.cancelButtonName})]})})]})},useDialogsContext:Dh});var _h=new class{feedback=globalThis.issueReporting;registry=Lp();config;subscribed=!1;init(){this.subscribed||(this.subscribed=!0,globalThis.onerror=(e,t,n,o,i)=>{this.feedback.send(\"error\",e,t,n,o,i)},this.feedback.on(\"setTheme\",e=>{const t=e.newTheme;this.registry.execute(\"on-theme-changed\",t)}),this.feedback.on(\"submitEnded\",e=>{const t=this.convertSubmitResultToPublic(e);this.registry.execute(\"on-submit-finished\",t)}))}getConfig=async()=>(this.config=await this.feedback.invoke(\"config\"),this.convertConfigToPublic(this.config));onThemeChanged=e=>this.registry.add(\"on-theme-changed\",e);onSubmitFinished=e=>this.registry.add(\"on-submit-finished\",e);submitReport=e=>new Promise(t=>{const n=this.convertFeedbackToInternal(e),o=this.onSubmitFinished(e=>{o(),t(e)});this.feedback.send(\"submit\",n)});closeReport=e=>this.feedback.send(\"cancel\",e);setBounds=(e,t,n,o)=>this.feedback.send(\"setBounds\",e,t,n,o);openUrl=e=>this.feedback.send(\"openUrl\",e);convertConfigToPublic(e){return{version:e.version,buildVersion:e.buildVersion,region:e.region,env:e.env,theme:e.theme,isError:e.isError,errorMessage:e.errorMessage,mailingList:e.mailList,createJiraTicket:e.jiraEnabled,sendEmail:e.mailEnabled,attachments:e.attachments,applicationTitle:e.applicationTitle,allowEditRecipients:e.allowEditRecipients,attachmentsViewMode:e.attachmentsViewMode,selectedCategories:e.selectedCategories,technicalInfo:e.technicalInfo,environmentInfo:e.environmentDetails,showEnvironmentInfo:e.showEnvironmentInfo,context:e.context,sendEmailClient:e.mailClientConfig?.type??\"Outlook\"}}convertSubmitResultToPublic(e){return{description:e.description,jiraProcessed:e.jiraProcessed,jiraSucceeded:e.jiraSucceeded,jiraDetails:e.jiraDetails,jiraTicketUrl:e.jiraTicketUrl,emailProcessed:e.mailProcessed,emailSucceeded:e.mailSucceeded,emailDetails:e.mailDetails}}convertFeedbackToInternal(e){return{createTicket:e?.createJiraTicket,description:e?.description,summary:e?.summary,sendMail:e?.sendEmail,appendEnvironmentInfo:e?.appendEnvironmentInfo,appendTechnicalInfo:e?.appendTechnicalInfo,mailingList:e?.mailingList,attachments:e?.attachments,attachmentsMode:e?.attachmentsViewMode}}};const jh={env:\"\",region:\"\",version:\"\",buildVersion:\"\",theme:\"\",isError:!1,mailingList:\"\",createJiraTicket:!0,sendEmail:!1,attachments:[],applicationTitle:\"\",allowEditRecipients:!0,attachmentsViewMode:\"category\",environmentInfo:\"\",selectedCategories:[],errorMessage:\"\",showEnvironmentInfo:!1,context:{},technicalInfo:\"\",sendEmailClient:\"Outlook\"},zh={type:\"primary\",title:\"\",text:\"\"};function Hh(){const[e,t]=l(jh),[n,o]=l([]),[i,r]=l(!1),s=d(),c=function(){const[e,t]=l(!1),[n,o]=l(!1),[i,r]=l(zh),[s,c]=l(\"\"),u=a(()=>{t(!1),o(!1),r(zh),c(\"\")},[]);return{inProgress:e,setInProgress:t,completed:n,setCompleted:o,status:i,setStatus:r,jiraTicketURL:s,setJiraTicketURL:c,reset:u}}(),{openUrl:u,getConfig:p,submitReport:m,closeReport:h,setBounds:g,onThemeChanged:y}=_h;f(()=>{_h.init()},[]);const v=a(e=>{const t=document.documentElement;t.className=\"\",t.classList.add(e)},[]);f(()=>{(async()=>{try{const e=await p(),n=[...new Set(e.attachments.map(({category:e})=>e))];t(e),v(e.theme??\"dark\"),r(e.sendEmail),o(n)}catch(e){console.error(\"Failed to get Feedback Config:\",e)}})()},[p,v]),f(()=>y(e=>{v(e)}),[y,v]),f(()=>(c.inProgress&&\"Outlook\"===e.sendEmailClient&&(s.current=setTimeout(()=>{c.setStatus({title:\"Sending an email. Go to Outlook to allow access.\",type:\"primary\"})},100)),()=>clearTimeout(s.current)),[c.inProgress,c.setStatus,e.sendEmailClient]),f(()=>{c.inProgress||clearTimeout(s.current)},[c.inProgress]);const w=a(e=>{(e.jiraProcessed||e.jiraSucceeded)&&(c.setStatus({title:e.jiraDetails??\"Jira ticket created successfully.\",type:\"success\"}),c.setJiraTicketURL(e.jiraTicketUrl??\"\")),(e.emailProcessed||e.emailSucceeded)&&c.setStatus({title:e.emailDetails??\"Email sent successfully.\",type:\"success\"})},[c.setStatus,c.setJiraTicketURL]),b=a(async t=>{const n={createJiraTicket:e.createJiraTicket??!1,sendEmail:e.sendEmail??!1,mailingList:e.mailingList,attachments:e.attachments,attachmentsViewMode:e.attachmentsViewMode,...t},o=function(e){return e.createJiraTicket||e.sendEmail?e.sendEmail&&!e.mailingList?{message:\"No email recipient. Provide at least one valid email address in the Email List field.\"}:null:{message:\"Can't send feedback. Feedback via Jira and email has been disabled.\"}}(n);if(o)throw c.setStatus({title:o.message,type:\"error\"}),new Error(o.message);n.createJiraTicket&&n.sendEmail?(c.setStatus({title:\"Submitting an issue to Jira and sending an email...\",type:\"primary\"}),c.setInProgress(!0)):n.createJiraTicket?(c.setStatus({title:\"Submitting an issue to Jira...\",type:\"primary\"}),c.setInProgress(!0)):(c.setStatus({title:\"Sending an email...\",type:\"primary\"}),c.setInProgress(!0));try{const e=await m(t);return clearTimeout(s.current),w(e),c.setInProgress(!1),c.setCompleted(!0),e}catch(e){throw clearTimeout(s.current),console.log(\"An error occurred while submitting your feedback:\",e),e}},[m,e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.mailingList,e.sendEmail,w,c.setInProgress,c.setStatus,c.setCompleted]),k=a(t=>{t.preventDefault();const o=new FormData(t.currentTarget),i=function(e,t,n,o){return\"file\"===n?function(e,t){return t.filter(t=>\"on\"===e.get(t.id)).map(e=>e.id)}(e,t):function(e,t,n){const o=n.filter(t=>\"on\"===e.get(t));return t.filter(e=>o.includes(e.category)).map(e=>e.id)}(e,t,o)}(o,e.attachments,e.attachmentsViewMode,n),r={createJiraTicket:e.createJiraTicket??!1,sendEmail:e.sendEmail??!1,description:o.get(\"description\"),mailingList:o.get(\"mailingList\"),attachments:i,attachmentsViewMode:e.attachmentsViewMode};b(r).catch(e=>{console.error(\"Failed to submit feedback:\",e)})},[n,e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.sendEmail,b]);return{config:e,onThemeChanged:y,openUrl:u,submit:m,setBounds:g,close:h,showMailingList:i,setShowMailingList:r,attachmentCategories:n,submitInProgress:c.inProgress,setSubmitInProgress:c.setInProgress,submitStatus:c.status,setSubmitStatus:c.setStatus,submitCompleted:c.completed,setSubmitCompleted:c.setCompleted,jiraTicketURL:c.jiraTicketURL,setJiraTicketURL:c.setJiraTicketURL,submitFeedback:k}}const Wh=s({config:jh,onThemeChanged:()=>{},openUrl:()=>{},submit:()=>Promise.resolve({}),setBounds:()=>{},close:()=>{},showMailingList:!0,setShowMailingList:()=>{},attachmentCategories:[],submitInProgress:!1,setSubmitInProgress:()=>{},submitStatus:{type:\"success\",title:\"\",text:\"\"},setSubmitStatus:()=>{},submitCompleted:!1,setSubmitCompleted:()=>{},jiraTicketURL:\"\",setJiraTicketURL:()=>{},submitFeedback:()=>{}}),Vh=()=>c(Wh);function Uh({...n}){const{config:o,close:i}=Vh(),{applicationTitle:r}=o;return t(se,{draggable:!0,...n,children:[e(se.Title,{tag:\"h1\",text:r?`Feedback Form - ${r}`:\"Feedback Form\",size:\"large\"}),e(se.ButtonGroup,{className:\"non-draggable\",children:e(se.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>i()})})]})}function Kh({className:n,handleSubmit:o,...i}){const r=E(\"io-panel-body\",n),{config:a,submitFeedback:s}=Vh(),{IntroField:c,DescriptionField:l,TechInfoField:u,EnvInfoField:d,FileAttachmentsField:f,CategoryAttachmentsField:p,MailListField:m}=ug(),h=o??s,g=`Your feedback will be submitted to the ${a.buildVersion} team and some additional information will be automatically included to help us examine your issue.`;return t(\"form\",{className:r,id:\"feedback\",onSubmit:h,...i,children:[e(c,{children:e(\"p\",{children:g})}),e(m,{}),e(l,{}),e(u,{readOnly:!0}),e(d,{readOnly:!0}),\"file\"===a.attachmentsViewMode?e(f,{}):e(p,{})]})}function Gh({...n}){const{FooterButtons:o}=ug(),{openUrl:i,submitInProgress:r,submitStatus:a,jiraTicketURL:s}=Vh();return e(ue,{...n,children:t(\"div\",r?{className:\"flex ai-center jc-between\",children:[e(T,{children:e(\"p\",{children:a.title})}),e(Ws,{align:\"right\",size:\"small\"})]}:{className:\"flex ai-center jc-between\",children:[t(T,{children:[e(\"p\",{className:\"error\"===a.type?\"io-text-error\":\"\",children:a.title}),s&&e(\"a\",{href:s,onClick:e=>{e.preventDefault(),i(s)},children:s})]}),e(o,{})]})})}function qh({className:t,...n}){const{CloseButton:o}=ug(),{close:i}=Vh(),r=E(\"non-draggable\",t);return e(ae,{className:r,...n,children:e(o,{onClick:()=>i()})})}function Jh({className:n,...o}){const{SubmitButton:i,CancelButton:r,CloseButton:a}=ug(),{close:s,submitCompleted:c}=Vh();return c?e(ae,{className:n,...o,children:e(a,{text:\"Close\",onClick:()=>s()})}):t(ae,{className:n,...o,children:[e(i,{}),e(r,{onClick:()=>s()})]})}function Yh({text:t=\"Submit\",...n}){return e($,{form:\"feedback\",type:\"submit\",variant:\"primary\",text:t,...n})}function Xh({text:t=\"Cancel\",...n}){return e($,{variant:\"link\",text:t,...n})}function Qh({...t}){return e($,{variant:\"primary\",...t})}function Zh({showField:t=!0,className:n,title:o,hint:i,children:r,...a}){return t?e(T,{className:n,title:o,hint:i,...a,children:r}):null}function eg({showField:t=!0,className:n,title:o=\"Description\",hint:i,readOnly:r=!1,disabled:a,...s}){return t?e(T,{className:n,hint:i,title:\"\",...s,children:e(_d,{id:\"description\",name:\"description\",label:o,readOnly:r,disabled:a})}):null}function tg({showField:t,className:n,title:o=\"Technical Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...c}){const{config:l}=Vh(),u=t??l.errorMessage,d=r??l.errorMessage;return u&&d?e(T,{className:n,hint:i,...c,children:e(_d,{id:\"errorMessage\",name:\"errorMessage\",label:o,value:d,readOnly:a,disabled:s})}):null}function ng({showField:t,className:n,title:o=\"Environment Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...c}){const{config:l}=Vh(),u=t??l.showEnvironmentInfo,d=r??l.environmentInfo;return u&&d?e(T,{className:n,hint:i,...c,children:e(_d,{id:\"environmentInfo\",name:\"environmentInfo\",label:o,value:d,readOnly:a,disabled:s})}):null}function og({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,attachments:c,selectedCategories:l,...u}){const d=E(\"io-block-list-gap\",n),{config:f}=Vh(),p=c??f.attachments,m=l??f.selectedCategories,h=a(e=>!!m&&-1!==m.indexOf(e),[m]);return t?!p||p.length<=0?e(T,{title:\"Attachments\",children:e(\"p\",{children:\"No Attachments\"})}):e(T,{className:d,title:o,hint:i,...u,children:e(\"div\",{className:\"file-attachments\",children:p.map(t=>e(jd,{id:t.id,name:t.id,label:t.name,readOnly:r,disabled:s,defaultChecked:h(t.category)},t.id))})}):null}function ig({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,categories:c,selectedCategories:l,...u}){const{config:d,attachmentCategories:f}=Vh(),p=c??f,m=l??d.selectedCategories,h=a(e=>!!m&&-1!==m.indexOf(e),[m]);return t?!p||p.length<=0?e(\"p\",{children:\"No Attachments\"}):e(T,{className:n,title:o,hint:i,...u,children:e(\"div\",{className:\"category-attachments\",children:p.map(t=>e(sf,{id:t,name:t,align:\"right\",label:t,readOnly:r,disabled:s,defaultChecked:h(t)},t))})}):null}function rg({className:n,title:o,hint:i,showField:r=!0,showJiraTicketField:a,jiraTicketLabel:s=\"Create Jira Ticket\",showSendEmailField:c,sendEmailLabel:l=\"Send Email\",readOnly:u=!1,disabled:d,...f}){const p=E(\"io-block-list-gap\",n),{config:m,showMailingList:h,setShowMailingList:g}=Vh();if(!r)return null;const y=a??m.createJiraTicket,v=c??m.sendEmail;return t(T,{className:p,hint:i,title:o,...f,children:[y&&e(sf,{id:\"createJiraTicket\",name:\"createJiraTicket\",label:s,align:\"right\",readOnly:u,disabled:d,defaultChecked:y}),v&&e(sf,{onChange:()=>{g(!h)},id:\"sendEmail\",name:\"sendEmail\",label:l,align:\"right\",readOnly:u,disabled:d,defaultChecked:v})]})}function ag({showField:t=!0,className:n,title:o=\"Email List\",hint:i=\"Separate with commas or semicolons.\",placeholder:r=\"john.doe@somedomain.com; jane.doe@otherdomain.com\",readOnly:a,disabled:s,...c}){const{config:l,showMailingList:u}=Vh(),d=t??l.sendEmail,f=a??!1===l.allowEditRecipients;return d&&u?e(T,{className:n,hint:i,...c,children:e($d,{id:\"mailingList\",name:\"mailingList\",label:o,placeholder:r,readOnly:f,disabled:s,defaultValue:l.mailingList??\"\"})}):null}const sg={Header:Uh,Body:Kh,Footer:Gh,HeaderButtons:qh,FooterButtons:Jh,SubmitButton:Yh,CancelButton:Xh,CloseButton:Qh,IntroField:Zh,DescriptionField:eg,TechInfoField:tg,EnvInfoField:ng,FileAttachmentsField:og,CategoryAttachmentsField:ig,SettingsField:rg,MailListField:ag},cg=s(sg),lg=y(({children:t,components:n})=>{const o=u(()=>({...sg,...n}),[n]);return e(cg.Provider,{value:o,children:t})});function ug(e){return{...c(cg),...e}}function dg({className:n,...o}){const i=E(\"io-feedback\",n),{Header:r,Body:a,Footer:s}=ug();return t(Gs,{className:i,...o,children:[e(r,{}),e(a,{}),e(s,{})]})}lg.displayName=\"ComponentsStore\";var fg=Object.freeze({__proto__:null,Body:Kh,CancelButton:Xh,CategoryAttachmentsField:ig,CloseButton:Qh,DescriptionField:eg,EnvInfoField:ng,Feedback:function({components:t,...n}){return e(lg,{components:t,children:e(dg,{...n})})},FeedbackProvider:({children:t})=>{const{config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:a,close:s,showMailingList:c,setShowMailingList:l,attachmentCategories:d,submitInProgress:f,setSubmitInProgress:p,submitStatus:m,setSubmitStatus:h,submitCompleted:g,setSubmitCompleted:y,jiraTicketURL:v,setJiraTicketURL:w,submitFeedback:b}=Hh(),k=u(()=>({config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:a,close:s,showMailingList:c,setShowMailingList:l,attachmentCategories:d,submitInProgress:f,setSubmitInProgress:p,submitStatus:m,setSubmitStatus:h,submitCompleted:g,setSubmitCompleted:y,jiraTicketURL:v,setJiraTicketURL:w,submitFeedback:b}),[n,o,i,r,a,s,c,d,f,m,g,v,b,w,p,h,y,l]);return e(Wh.Provider,{value:k,children:t})},FileAttachmentsField:og,Footer:Gh,FooterButtons:Jh,Header:Uh,HeaderButtons:qh,IntroField:Zh,MailListField:ag,SettingsField:rg,SubmitButton:Yh,TechInfoField:tg,useFeedbackContext:Vh});const pg=e=>\"items\"in e,mg={ASCENDING:\"ascending\",DESCENDING:\"descending\",DISABLED:\"disabled\"},hg=new Intl.Collator(void 0,{sensitivity:\"base\"}),gg=(e,t)=>hg.compare(e.title,t.title),yg=(e,t)=>hg.compare(t.title,e.title),vg=e=>{const{items:t,sortOrder:n,ascendingCompare:o,descendingCompare:i}=e;if(n===mg.DISABLED)return t;const r=n===mg.ASCENDING?o:i;return[...t].sort(r)},wg=\"favorites-section\",bg=\"workspaces-section\",kg=\"applications-section\",xg=e=>{const{items:t,newItem:n,settings:o,path:i,accumulatedPath:r=\"\"}=e,{isFolderCollapsible:a}=o,[s,...c]=i.split(\"/\"),l=r?`${r}/${s}`:s,u=t.findIndex(e=>pg(e)&&e.title===s),d=-1!==u?t[u]:null;if(!d){const e=c.length>0?xg({items:[],newItem:n,settings:o,path:c.join(\"/\"),accumulatedPath:l}):[n];return[...t,{id:s,title:s,items:e,isCollapsible:a,getIcon:o.folderIconGetters?.[l]}]}const f=c.length>0?xg({items:d.items,newItem:n,settings:o,path:c.join(\"/\"),accumulatedPath:l}):[...d.items,n];return[...t.slice(0,u),{...d,items:f},...t.slice(u+1)]},Sg=e=>{const{title:t,userProperties:n}=e,{folder:o}=n;return o?`${o}/${t}`:t},Cg=(e,t)=>hg.compare(Sg(e),Sg(t)),Ng=(e,t)=>hg.compare(Sg(t),Sg(e));var Eg,Ig={exports:{}},Pg={exports:{}},Ag={};var Og,Lg,Dg,Tg,Rg,Bg,Mg,Fg,$g,_g,jg,zg,Hg,Wg,Vg={};\n/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */function Ug(){return Lg||(Lg=1,\"production\"===process.env.NODE_ENV?Pg.exports=function(){if(Eg)return Ag;Eg=1;var e=\"function\"==typeof Symbol&&Symbol.for,t=e?Symbol.for(\"react.element\"):60103,n=e?Symbol.for(\"react.portal\"):60106,o=e?Symbol.for(\"react.fragment\"):60107,i=e?Symbol.for(\"react.strict_mode\"):60108,r=e?Symbol.for(\"react.profiler\"):60114,a=e?Symbol.for(\"react.provider\"):60109,s=e?Symbol.for(\"react.context\"):60110,c=e?Symbol.for(\"react.async_mode\"):60111,l=e?Symbol.for(\"react.concurrent_mode\"):60111,u=e?Symbol.for(\"react.forward_ref\"):60112,d=e?Symbol.for(\"react.suspense\"):60113,f=e?Symbol.for(\"react.suspense_list\"):60120,p=e?Symbol.for(\"react.memo\"):60115,m=e?Symbol.for(\"react.lazy\"):60116,h=e?Symbol.for(\"react.block\"):60121,g=e?Symbol.for(\"react.fundamental\"):60117,y=e?Symbol.for(\"react.responder\"):60118,v=e?Symbol.for(\"react.scope\"):60119;function w(e){if(\"object\"==typeof e&&null!==e){var f=e.$$typeof;switch(f){case t:switch(e=e.type){case c:case l:case o:case r:case i:case d:return e;default:switch(e=e&&e.$$typeof){case s:case u:case m:case p:case a:return e;default:return f}}case n:return f}}}function b(e){return w(e)===l}return Ag.AsyncMode=c,Ag.ConcurrentMode=l,Ag.ContextConsumer=s,Ag.ContextProvider=a,Ag.Element=t,Ag.ForwardRef=u,Ag.Fragment=o,Ag.Lazy=m,Ag.Memo=p,Ag.Portal=n,Ag.Profiler=r,Ag.StrictMode=i,Ag.Suspense=d,Ag.isAsyncMode=function(e){return b(e)||w(e)===c},Ag.isConcurrentMode=b,Ag.isContextConsumer=function(e){return w(e)===s},Ag.isContextProvider=function(e){return w(e)===a},Ag.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===t},Ag.isForwardRef=function(e){return w(e)===u},Ag.isFragment=function(e){return w(e)===o},Ag.isLazy=function(e){return w(e)===m},Ag.isMemo=function(e){return w(e)===p},Ag.isPortal=function(e){return w(e)===n},Ag.isProfiler=function(e){return w(e)===r},Ag.isStrictMode=function(e){return w(e)===i},Ag.isSuspense=function(e){return w(e)===d},Ag.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===o||e===l||e===r||e===i||e===d||e===f||\"object\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===a||e.$$typeof===s||e.$$typeof===u||e.$$typeof===g||e.$$typeof===y||e.$$typeof===v||e.$$typeof===h)},Ag.typeOf=w,Ag}():Pg.exports=(Og||(Og=1,\"production\"!==process.env.NODE_ENV&&function(){var e=\"function\"==typeof Symbol&&Symbol.for,t=e?Symbol.for(\"react.element\"):60103,n=e?Symbol.for(\"react.portal\"):60106,o=e?Symbol.for(\"react.fragment\"):60107,i=e?Symbol.for(\"react.strict_mode\"):60108,r=e?Symbol.for(\"react.profiler\"):60114,a=e?Symbol.for(\"react.provider\"):60109,s=e?Symbol.for(\"react.context\"):60110,c=e?Symbol.for(\"react.async_mode\"):60111,l=e?Symbol.for(\"react.concurrent_mode\"):60111,u=e?Symbol.for(\"react.forward_ref\"):60112,d=e?Symbol.for(\"react.suspense\"):60113,f=e?Symbol.for(\"react.suspense_list\"):60120,p=e?Symbol.for(\"react.memo\"):60115,m=e?Symbol.for(\"react.lazy\"):60116,h=e?Symbol.for(\"react.block\"):60121,g=e?Symbol.for(\"react.fundamental\"):60117,y=e?Symbol.for(\"react.responder\"):60118,v=e?Symbol.for(\"react.scope\"):60119;function w(e){if(\"object\"==typeof e&&null!==e){var f=e.$$typeof;switch(f){case t:var h=e.type;switch(h){case c:case l:case o:case r:case i:case d:return h;default:var g=h&&h.$$typeof;switch(g){case s:case u:case m:case p:case a:return g;default:return f}}case n:return f}}}var b=c,k=l,x=s,S=a,C=t,N=u,E=o,I=m,P=p,A=n,O=r,L=i,D=d,T=!1;function R(e){return w(e)===l}Vg.AsyncMode=b,Vg.ConcurrentMode=k,Vg.ContextConsumer=x,Vg.ContextProvider=S,Vg.Element=C,Vg.ForwardRef=N,Vg.Fragment=E,Vg.Lazy=I,Vg.Memo=P,Vg.Portal=A,Vg.Profiler=O,Vg.StrictMode=L,Vg.Suspense=D,Vg.isAsyncMode=function(e){return T||(T=!0,console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")),R(e)||w(e)===c},Vg.isConcurrentMode=R,Vg.isContextConsumer=function(e){return w(e)===s},Vg.isContextProvider=function(e){return w(e)===a},Vg.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===t},Vg.isForwardRef=function(e){return w(e)===u},Vg.isFragment=function(e){return w(e)===o},Vg.isLazy=function(e){return w(e)===m},Vg.isMemo=function(e){return w(e)===p},Vg.isPortal=function(e){return w(e)===n},Vg.isProfiler=function(e){return w(e)===r},Vg.isStrictMode=function(e){return w(e)===i},Vg.isSuspense=function(e){return w(e)===d},Vg.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===o||e===l||e===r||e===i||e===d||e===f||\"object\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===a||e.$$typeof===s||e.$$typeof===u||e.$$typeof===g||e.$$typeof===y||e.$$typeof===v||e.$$typeof===h)},Vg.typeOf=w}()),Vg)),Pg.exports}\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/function Kg(){if(Tg)return Dg;Tg=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;return Dg=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;var o=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if(\"0123456789\"!==o.join(\"\"))return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){i[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},i)).join(\"\")}catch(e){return!1}}()?Object.assign:function(o,i){for(var r,a,s=function(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}(o),c=1;c<arguments.length;c++){for(var l in r=Object(arguments[c]))t.call(r,l)&&(s[l]=r[l]);if(e){a=e(r);for(var u=0;u<a.length;u++)n.call(r,a[u])&&(s[a[u]]=r[a[u]])}}return s},Dg}function Gg(){if(Bg)return Rg;Bg=1;return Rg=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"}function qg(){return Fg?Mg:(Fg=1,Mg=Function.call.bind(Object.prototype.hasOwnProperty))}if(\"production\"!==process.env.NODE_ENV){var Jg=Ug();Ig.exports=function(){if(zg)return jg;zg=1;var e=Ug(),t=Kg(),n=Gg(),o=qg(),i=function(){if(_g)return $g;_g=1;var e=function(){};if(\"production\"!==process.env.NODE_ENV){var t=Gg(),n={},o=qg();e=function(e){var t=\"Warning: \"+e;\"undefined\"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}function i(i,r,a,s,c){if(\"production\"!==process.env.NODE_ENV)for(var l in i)if(o(i,l)){var u;try{if(\"function\"!=typeof i[l]){var d=Error((s||\"React class\")+\": \"+a+\" type `\"+l+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof i[l]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw d.name=\"Invariant Violation\",d}u=i[l](r,l,s,a,null,t)}catch(e){u=e}if(!u||u instanceof Error||e((s||\"React class\")+\": type specification of \"+a+\" `\"+l+\"` is invalid; the type checker function must return `null` or an `Error` but returned a \"+typeof u+\". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"),u instanceof Error&&!(u.message in n)){n[u.message]=!0;var f=c?c():\"\";e(\"Failed \"+a+\" type: \"+u.message+(null!=f?f:\"\"))}}}return i.resetWarningCache=function(){\"production\"!==process.env.NODE_ENV&&(n={})},$g=i}(),r=function(){};function a(){return null}return\"production\"!==process.env.NODE_ENV&&(r=function(e){var t=\"Warning: \"+e;\"undefined\"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}),jg=function(s,c){var l=\"function\"==typeof Symbol&&Symbol.iterator,u=\"<<anonymous>>\",d={array:h(\"array\"),bigint:h(\"bigint\"),bool:h(\"boolean\"),func:h(\"function\"),number:h(\"number\"),object:h(\"object\"),string:h(\"string\"),symbol:h(\"symbol\"),any:m(a),arrayOf:function(e){return m(function(t,o,i,r,a){if(\"function\"!=typeof e)return new p(\"Property `\"+a+\"` of component `\"+i+\"` has invalid PropType notation inside arrayOf.\");var s=t[o];if(!Array.isArray(s))return new p(\"Invalid \"+r+\" `\"+a+\"` of type `\"+v(s)+\"` supplied to `\"+i+\"`, expected an array.\");for(var c=0;c<s.length;c++){var l=e(s,c,i,r,a+\"[\"+c+\"]\",n);if(l instanceof Error)return l}return null})},element:m(function(e,t,n,o,i){var r=e[t];return s(r)?null:new p(\"Invalid \"+o+\" `\"+i+\"` of type `\"+v(r)+\"` supplied to `\"+n+\"`, expected a single ReactElement.\")}),elementType:m(function(t,n,o,i,r){var a=t[n];return e.isValidElementType(a)?null:new p(\"Invalid \"+i+\" `\"+r+\"` of type `\"+v(a)+\"` supplied to `\"+o+\"`, expected a single ReactElement type.\")}),instanceOf:function(e){return m(function(t,n,o,i,r){if(!(t[n]instanceof e)){var a=e.name||u;return new p(\"Invalid \"+i+\" `\"+r+\"` of type `\"+((s=t[n]).constructor&&s.constructor.name?s.constructor.name:u)+\"` supplied to `\"+o+\"`, expected instance of `\"+a+\"`.\")}var s;return null})},node:m(function(e,t,n,o,i){return y(e[t])?null:new p(\"Invalid \"+o+\" `\"+i+\"` supplied to `\"+n+\"`, expected a ReactNode.\")}),objectOf:function(e){return m(function(t,i,r,a,s){if(\"function\"!=typeof e)return new p(\"Property `\"+s+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var c=t[i],l=v(c);if(\"object\"!==l)return new p(\"Invalid \"+a+\" `\"+s+\"` of type `\"+l+\"` supplied to `\"+r+\"`, expected an object.\");for(var u in c)if(o(c,u)){var d=e(c,u,r,a,s+\".\"+u,n);if(d instanceof Error)return d}return null})},oneOf:function(e){return Array.isArray(e)?m(function(t,n,o,i,r){for(var a=t[n],s=0;s<e.length;s++)if(f(a,e[s]))return null;var c=JSON.stringify(e,function(e,t){return\"symbol\"===w(t)?String(t):t});return new p(\"Invalid \"+i+\" `\"+r+\"` of value `\"+String(a)+\"` supplied to `\"+o+\"`, expected one of \"+c+\".\")}):(\"production\"!==process.env.NODE_ENV&&r(arguments.length>1?\"Invalid arguments supplied to oneOf, expected an array, got \"+arguments.length+\" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).\":\"Invalid argument supplied to oneOf, expected an array.\"),a)},oneOfType:function(e){if(!Array.isArray(e))return\"production\"!==process.env.NODE_ENV&&r(\"Invalid argument supplied to oneOfType, expected an instance of array.\"),a;for(var t=0;t<e.length;t++){var i=e[t];if(\"function\"!=typeof i)return r(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \"+b(i)+\" at index \"+t+\".\"),a}return m(function(t,i,r,a,s){for(var c=[],l=0;l<e.length;l++){var u=(0,e[l])(t,i,r,a,s,n);if(null==u)return null;u.data&&o(u.data,\"expectedType\")&&c.push(u.data.expectedType)}return new p(\"Invalid \"+a+\" `\"+s+\"` supplied to `\"+r+\"`\"+(c.length>0?\", expected one of type [\"+c.join(\", \")+\"]\":\"\")+\".\")})},shape:function(e){return m(function(t,o,i,r,a){var s=t[o],c=v(s);if(\"object\"!==c)return new p(\"Invalid \"+r+\" `\"+a+\"` of type `\"+c+\"` supplied to `\"+i+\"`, expected `object`.\");for(var l in e){var u=e[l];if(\"function\"!=typeof u)return g(i,r,a,l,w(u));var d=u(s,l,i,r,a+\".\"+l,n);if(d)return d}return null})},exact:function(e){return m(function(i,r,a,s,c){var l=i[r],u=v(l);if(\"object\"!==u)return new p(\"Invalid \"+s+\" `\"+c+\"` of type `\"+u+\"` supplied to `\"+a+\"`, expected `object`.\");var d=t({},i[r],e);for(var f in d){var m=e[f];if(o(e,f)&&\"function\"!=typeof m)return g(a,s,c,f,w(m));if(!m)return new p(\"Invalid \"+s+\" `\"+c+\"` key `\"+f+\"` supplied to `\"+a+\"`.\\nBad object: \"+JSON.stringify(i[r],null,\" \")+\"\\nValid keys: \"+JSON.stringify(Object.keys(e),null,\" \"));var h=m(l,f,a,s,c+\".\"+f,n);if(h)return h}return null})}};function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e,t){this.message=e,this.data=t&&\"object\"==typeof t?t:{},this.stack=\"\"}function m(e){if(\"production\"!==process.env.NODE_ENV)var t={},o=0;function i(i,a,s,l,d,f,m){if(l=l||u,f=f||s,m!==n){if(c){var h=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");throw h.name=\"Invariant Violation\",h}if(\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof console){var g=l+\":\"+s;!t[g]&&o<3&&(r(\"You are manually calling a React.PropTypes validation function for the `\"+f+\"` prop on `\"+l+\"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.\"),t[g]=!0,o++)}}return null==a[s]?i?null===a[s]?new p(\"The \"+d+\" `\"+f+\"` is marked as required in `\"+l+\"`, but its value is `null`.\"):new p(\"The \"+d+\" `\"+f+\"` is marked as required in `\"+l+\"`, but its value is `undefined`.\"):null:e(a,s,l,d,f)}var a=i.bind(null,!1);return a.isRequired=i.bind(null,!0),a}function h(e){return m(function(t,n,o,i,r,a){var s=t[n];return v(s)!==e?new p(\"Invalid \"+i+\" `\"+r+\"` of type `\"+w(s)+\"` supplied to `\"+o+\"`, expected `\"+e+\"`.\",{expectedType:e}):null})}function g(e,t,n,o,i){return new p((e||\"React class\")+\": \"+t+\" type `\"+n+\".\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+i+\"`.\")}function y(e){switch(typeof e){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!e;case\"object\":if(Array.isArray(e))return e.every(y);if(null===e||s(e))return!0;var t=function(e){var t=e&&(l&&e[l]||e[\"@@iterator\"]);if(\"function\"==typeof t)return t}(e);if(!t)return!1;var n,o=t.call(e);if(t!==e.entries){for(;!(n=o.next()).done;)if(!y(n.value))return!1}else for(;!(n=o.next()).done;){var i=n.value;if(i&&!y(i[1]))return!1}return!0;default:return!1}}function v(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":function(e,t){return\"symbol\"===e||!!t&&(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}(t,e)?\"symbol\":t}function w(e){if(null==e)return\"\"+e;var t=v(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function b(e){var t=w(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}return p.prototype=Error.prototype,d.checkPropTypes=i,d.resetWarningCache=i.resetWarningCache,d.PropTypes=d,d},jg}()(Jg.isElement,!0)}else Ig.exports=function(){if(Wg)return Hg;Wg=1;var e=Gg();function t(){}function n(){}return n.resetWarningCache=t,Hg=function(){function o(t,n,o,i,r,a){if(a!==e){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function i(){return o}o.isRequired=o;var r={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:i,element:o,elementType:o,instanceOf:i,node:o,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:n,resetWarningCache:t};return r.PropTypes=r,r},Hg}()();var Yg=S(Ig.exports);function Xg(e){return Xg=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Xg(e)}function Qg(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return t?e.split(\" \").map(function(e){return t[e]||e}).join(\" \"):e}var Zg=\"object\"===(\"undefined\"==typeof window?\"undefined\":Xg(window))&&window.Element||function(){};Yg.oneOfType([Yg.string,Yg.func,function(e,t,n){if(!(e[t]instanceof Zg))return new Error(\"Invalid prop `\"+t+\"` supplied to `\"+n+\"`. Expected prop to be an instance of Element. Validation failed.\")},Yg.shape({current:Yg.any})]);var ey=Yg.oneOfType([Yg.func,Yg.string,Yg.shape({$$typeof:Yg.symbol,render:Yg.func}),Yg.arrayOf(Yg.oneOfType([Yg.func,Yg.string,Yg.shape({$$typeof:Yg.symbol,render:Yg.func})]))]),ty=[\"in\",\"mountOnEnter\",\"unmountOnExit\",\"appear\",\"enter\",\"exit\",\"timeout\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\"],ny=\"entering\",oy=\"entered\",iy=\"exiting\",ry=\"exited\",ay=[\"className\",\"cssModule\",\"size\",\"vertical\",\"tag\"];function sy(){return sy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},sy.apply(this,arguments)}function cy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function ly(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uy(e,t){if(null==e)return{};var n,o,i=function(e,t){if(null==e)return{};var n,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var dy={\"aria-label\":Yg.string,className:Yg.string,cssModule:Yg.object,role:Yg.string,size:Yg.string,tag:ey,vertical:Yg.bool};function fy(e){var t=e.className,n=e.cssModule,o=e.size,r=e.vertical,a=e.tag,s=void 0===a?\"div\":a,c=uy(e,ay),l=Qg(E(t,!!o&&\"btn-group-\"+o,r?\"btn-group-vertical\":\"btn-group\"),n);return i.createElement(s,sy({},function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cy(Object(n),!0).forEach(function(t){ly(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({role:\"group\"},c),{className:l}))}function py(e,t){return py=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},py(e,t)}fy.propTypes=dy;var my=!1,hy=\"production\"!==process.env.NODE_ENV?Yg.oneOfType([Yg.number,Yg.shape({enter:Yg.number,exit:Yg.number,appear:Yg.number}).isRequired]):null;\"production\"!==process.env.NODE_ENV&&Yg.oneOfType([Yg.string,Yg.shape({enter:Yg.string,exit:Yg.string,active:Yg.string}),Yg.shape({enter:Yg.string,enterDone:Yg.string,enterActive:Yg.string,exit:Yg.string,exitDone:Yg.string,exitActive:Yg.string})]);var gy=i.createContext(null),yy=\"unmounted\",vy=\"exited\",wy=\"entering\",by=\"entered\",ky=\"exiting\",xy=function(e){function t(t,n){var o;o=e.call(this,t,n)||this;var i,r=n&&!n.isMounting?t.enter:t.appear;return o.appearStatus=null,t.in?r?(i=vy,o.appearStatus=wy):i=by:i=t.unmountOnExit||t.mountOnEnter?yy:vy,o.state={status:i},o.nextCallback=null,o}!function(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,py(e,t)}(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===yy?{status:vy}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==wy&&n!==by&&(t=wy):n!==wy&&n!==by||(t=ky)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,o=this.props.timeout;return e=t=n=o,null!=o&&\"number\"!=typeof o&&(e=o.exit,t=o.enter,n=void 0!==o.appear?o.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===wy){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:b.findDOMNode(this);n&&function(e){e.scrollTop}(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===vy&&this.setState({status:yy})},n.performEnter=function(e){var t=this,n=this.props.enter,o=this.context?this.context.isMounting:e,i=this.props.nodeRef?[o]:[b.findDOMNode(this),o],r=i[0],a=i[1],s=this.getTimeouts(),c=o?s.appear:s.enter;!e&&!n||my?this.safeSetState({status:by},function(){t.props.onEntered(r)}):(this.props.onEnter(r,a),this.safeSetState({status:wy},function(){t.props.onEntering(r,a),t.onTransitionEnd(c,function(){t.safeSetState({status:by},function(){t.props.onEntered(r,a)})})}))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),o=this.props.nodeRef?void 0:b.findDOMNode(this);t&&!my?(this.props.onExit(o),this.safeSetState({status:ky},function(){e.props.onExiting(o),e.onTransitionEnd(n.exit,function(){e.safeSetState({status:vy},function(){e.props.onExited(o)})})})):this.safeSetState({status:vy},function(){e.props.onExited(o)})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(o){n&&(n=!1,t.nextCallback=null,e(o))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:b.findDOMNode(this),o=null==e&&!this.props.addEndListener;if(n&&!o){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],r=i[0],a=i[1];this.props.addEndListener(r,a)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===yy)return null;var t=this.props,n=t.children;t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef;var o=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(t,[\"children\",\"in\",\"mountOnEnter\",\"unmountOnExit\",\"appear\",\"enter\",\"exit\",\"timeout\",\"addEndListener\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\",\"nodeRef\"]);return i.createElement(gy.Provider,{value:null},\"function\"==typeof n?n(e,o):i.cloneElement(i.Children.only(n),o))},t}(i.Component);function Sy(){}function Cy(e){return Cy=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Cy(e)}xy.contextType=gy,xy.propTypes=\"production\"!==process.env.NODE_ENV?{nodeRef:Yg.shape({current:\"undefined\"==typeof Element?Yg.any:function(e,t,n,o,i,r){var a=e[t];return Yg.instanceOf(a&&\"ownerDocument\"in a?a.ownerDocument.defaultView.Element:Element)(e,t,n,o,i,r)}}),children:Yg.oneOfType([Yg.func.isRequired,Yg.element.isRequired]).isRequired,in:Yg.bool,mountOnEnter:Yg.bool,unmountOnExit:Yg.bool,appear:Yg.bool,enter:Yg.bool,exit:Yg.bool,timeout:function(e){var t=hy;e.addEndListener||(t=t.isRequired);for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return t.apply(void 0,[e].concat(o))},addEndListener:Yg.func,onEnter:Yg.func,onEntering:Yg.func,onEntered:Yg.func,onExit:Yg.func,onExiting:Yg.func,onExited:Yg.func}:{},xy.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Sy,onEntering:Sy,onEntered:Sy,onExit:Sy,onExiting:Sy,onExited:Sy},xy.UNMOUNTED=yy,xy.EXITED=vy,xy.ENTERING=wy,xy.ENTERED=by,xy.EXITING=ky;var Ny,Ey=[\"tag\",\"horizontal\",\"isOpen\",\"className\",\"navbar\",\"cssModule\",\"children\",\"innerRef\"];function Iy(){return Iy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Iy.apply(this,arguments)}function Py(e,t){if(null==e)return{};var n,o,i=function(e,t){if(null==e)return{};var n,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Ay(e,t,n){return t&&function(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(e.prototype,t),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function Oy(e,t){return Oy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Oy(e,t)}function Ly(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,o=Ty(e);if(t){var i=Ty(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return function(e,t){if(t&&(\"object\"===Cy(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return Dy(e)}(this,n)}}function Dy(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Ty(e){return Ty=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ty(e)}function Ry(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function By(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ry(Object(n),!0).forEach(function(t){My(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ry(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function My(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fy=By(By({},xy.propTypes),{},{horizontal:Yg.bool,isOpen:Yg.bool,children:Yg.oneOfType([Yg.arrayOf(Yg.node),Yg.node]),tag:ey,className:Yg.node,navbar:Yg.bool,cssModule:Yg.object,innerRef:Yg.shape({current:Yg.object})}),$y=By(By({},xy.defaultProps),{},{horizontal:!1,isOpen:!1,appear:!1,enter:!0,exit:!0,tag:\"div\",timeout:350}),_y=(My(Ny={},ny,\"collapsing\"),My(Ny,oy,\"collapse show\"),My(Ny,iy,\"collapsing\"),My(Ny,ry,\"collapse\"),Ny);var jy=function(){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Oy(e,t)}(t,v);var e=Ly(t);function t(n){var o;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),(o=e.call(this,n)).state={dimension:null},o.nodeRef=n.innerRef||i.createRef(),[\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\"].forEach(function(e){o[e]=o[e].bind(Dy(o))}),o}return Ay(t,[{key:\"onEntering\",value:function(e,t){var n=this.getNode();this.setState({dimension:this.getDimension(n)}),this.props.onEntering(n,t)}},{key:\"onEntered\",value:function(e,t){var n=this.getNode();this.setState({dimension:null}),this.props.onEntered(n,t)}},{key:\"onExit\",value:function(){var e=this.getNode();this.setState({dimension:this.getDimension(e)}),this.props.onExit(e)}},{key:\"onExiting\",value:function(){var e=this.getNode();this.getDimension(e),this.setState({dimension:0}),this.props.onExiting(e)}},{key:\"onExited\",value:function(){var e=this.getNode();this.setState({dimension:null}),this.props.onExited(e)}},{key:\"getNode\",value:function(){return this.nodeRef.current}},{key:\"getDimension\",value:function(e){return this.props.horizontal?e.scrollWidth:e.scrollHeight}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.tag,o=t.horizontal,r=t.isOpen,a=t.className,s=t.navbar,c=t.cssModule,l=t.children;t.innerRef;var u,d,f,p=Py(t,Ey),m=this.state.dimension,h=function(e,t){for(var n,o=Array.isArray(t)?t:[t],i=o.length,r={};i>0;)r[n=o[i-=1]]=e[n];return r}(p,ty),g=(u=p,d=ty,f={},Object.keys(u).forEach(function(e){-1===d.indexOf(e)&&(f[e]=u[e])}),f);return i.createElement(xy,Iy({},h,{in:r,nodeRef:this.nodeRef,onEntering:this.onEntering,onEntered:this.onEntered,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}),function(t){var r=function(e){return _y[e]||\"collapse\"}(t),u=Qg(E(a,o&&\"collapse-horizontal\",r,s&&\"navbar-collapse\"),c),d=null===m?null:My({},o?\"width\":\"height\",m);return i.createElement(n,Iy({},g,{style:By(By({},g.style),d),className:u,ref:e.nodeRef}),l)})}}]),t}();jy.propTypes=Fy,jy.defaultProps=$y;const zy=t=>{const{className:n,isOpen:o,getIcon:i,showCollapseIcon:r,showFolderIcon:a,title:s,...c}=t;return e(Q.ItemHeader,{className:E(\"io-base-section-header\",n),prepend:a&&(i?e(Er,{size:\"16\",src:i(o),alt:`${s} icon`,\"data-testid\":`base-section-header-${s}-folder-custom-icon`}):e(I,{size:\"16\",variant:o?\"folder-open\":\"folder\",\"data-testid\":`base-section-header-${s}-folder-default-icon`})),append:r&&e(P,{className:E(\"collapse-icon\",!o&&\"collapsed\"),iconSize:\"10\",size:\"16\",icon:\"expand\",\"data-testid\":\"base-section-header-collapse-icon\"}),tooltip:s,...c,children:s})},Hy=o=>{const{isFavoritismEnabled:i=!0,item:r,onClick:a,onKeyDown:s,isFocused:c,liRef:l,...u}=o,{favorites:d,toggleFavorite:f,isLoading:p}=Rs(),{description:m,icon:h=\"application\",iconSrc:g,openInstances:y=0,title:v,tooltip:w,className:b,contextMenuActions:k=[]}=r,x=i&&d.some(e=>e.type===r.type&&e.title===r.title),S=g?e(Er,{size:\"16\",src:g,alt:`${v} icon`,\"data-testid\":\"base-section-item-icon\"}):e(I,{size:\"16\",variant:h,\"data-testid\":\"base-section-item-icon\"}),C=t(n,{children:[0!==y&&e(\"span\",{className:\"open-instances io-text-smaller\",\"data-testid\":\"base-section-item-open-instances\",children:1===y?\"Opened\":`${y} opened`}),(i||k.length>0)&&t(ae,{className:\"item-actions\",children:[i&&e(P,{...B(e=>{e.stopPropagation(),f(r)}),tabIndex:c?0:-1,size:\"24\",iconSize:\"12\",icon:x?\"star-full\":\"star\",disabled:p,\"data-testid\":\"base-section-item-favorite-button\"}),k.length>0&&e(Hs,{buttonSize:\"24\",iconSize:\"12\",icon:\"ellipsis-vertical\",title:v,actions:k,onActionItemClick:a,isTabStop:c,placement:\"bottom-end\",offset:[0,0],shouldCloseOnOutsideScroll:!0,shouldCloseOnWindowBlur:!0,shouldCloseOnWindowResize:!0,\"data-testid\":\"base-section-item-context-menu-button\"})]})]});return e(Q.Item,{ref:l,tabIndex:c?0:-1,className:E(\"io-base-section-item\",b),onKeyDown:e=>{if(R(e))return a(e),e.preventDefault(),void e.stopPropagation();s(e)},onClick:a,prepend:S,append:C,description:m,tooltip:w??v,\"data-testid\":`base-section-item-${r.id}`,...u,children:v})},Wy=new Ls,Vy=n=>{const{config:o,level:i=1,path:r=o.id,onItemClick:s}=n,{isCollapsible:c=!0,getIcon:u}=o,f=js(),[p,m]=l(0),h=d({}),{collapsedSections:g,toggleSection:y}=(()=>{const{value:e,update:t}=ks({prefKey:Oa});return{collapsedSections:e,toggleSection:a(e=>Wy.enqueue(()=>t((t=[])=>t.includes(e)?t.filter(t=>t!==e):[...t,e])),[t])}})(),v=!c||!g?.includes(r),w=[...o.items.filter(e=>pg(e)),...o.items.filter(e=>!pg(e))],b=e=>{h.current[e]?.querySelector(\"[tabIndex]\")?.focus(),m(e)};return t(Q.ItemWithSubItems,{className:1===i?\"main-section\":void 0,\"data-testid\":`base-section-${o.id}`,children:[e(zy,{className:1===i?\"io-list-item-title main-section-header\":void 0,isOpen:v,onClick:async()=>{c&&await y(r)},showCollapseIcon:c,showFolderIcon:1!==i,getIcon:u,style:{paddingLeft:16+24*Math.max(0,i-2)+\"px\"},\"data-testid\":`base-section-header-${o.id}`,title:o.title}),e(jy,{isOpen:v,tag:Q,children:w.map((t,n)=>pg(t)?e(Vy,{config:t,level:i+1,onItemClick:s,path:`${r}/${t.id}`},t.id):e(Hy,{style:{paddingLeft:16+24*(i-1)+\"px\"},liRef:e=>h.current[n]=e,isFavoritismEnabled:t.type===Is||t.type===Ps,item:t,onClick:(e,n)=>s?.(e,{item:t,modifier:f,selectedContextMenuActionName:n?.name}),onKeyDown:e=>{M({event:e,moveFocus:b,currentIndex:p,min:0,max:w.length-1})},isFocused:p===n},t.id))})]})},Uy=e=>`${e.type}-${e.id}`,Ky=e=>e.reduce((e,t)=>pg(t)?{...e,...Ky(t.items)}:{...e,[Uy(t)]:t},{}),Gy=s(void 0),qy=({children:t})=>{const[n,o]=l(null),i=u(()=>[n,o],[n]);return e(Gy.Provider,{value:i,children:t})},Jy=({config:t,onItemClick:n})=>{const[o,i]=(()=>{const e=c(Gy);if(void 0===e)throw new Error(\"useSection must be used within a SectionProvider\");return e})(),r=Ea(),{isLaunchpadPinned:a}=xs();return f(()=>{if(!n||!o)return;const{itemName:e,modifier:s,selectedContextMenuActionName:c}=o,l=(u=t.items,d=e,Ky(u)[d]);var u,d;l&&(n({item:l,modifier:s,selectedContextMenuActionName:c}),i(null),s===xa||a||r.close?.())},[o,t.items,r,n,i,a]),e(Vy,{config:t,onItemClick:(e,t)=>{const{item:n,modifier:o,selectedContextMenuActionName:r}=t;i({itemName:Uy(n),modifier:o,selectedContextMenuActionName:r})}})};function Yy(t){const{isFolderCollapsible:n,isSectionCollapsible:o,sortOrder:i,folderIconGetters:r}=t,a=Pr(),s=(()=>{const[e,t]=l({}),n=c(x);return f(()=>{if(!n)return;const e=[n.appManager.onInstanceStarted(e=>{t(t=>{const n=t[e.application.name]??[];return{...t,[e.application.name]:[...n,e.id]}})}),n.appManager.onInstanceStopped(e=>{t(t=>{const n=t[e.application.name];return n?{...t,[e.application.name]:n.filter(t=>t!==e.id)}:t})})];return()=>e.forEach(e=>e())},[n]),e})(),d=zs(),p=Wr(),m=u(()=>((e,t,n)=>{const{isSectionCollapsible:o,sortOrder:i=mg.ASCENDING}=n,r=vg({items:e,sortOrder:i,ascendingCompare:Cg,descendingCompare:Ng}).reduce((e,o)=>{const i={id:o.id,title:o.title,description:o.caption,type:Is,icon:\"application\",iconSrc:o.icon,openInstances:t[o.name]?.length,contextMenuActions:Tr},r=o.userProperties.folder;return r?xg({items:e,newItem:i,settings:n,path:r}):[...e,i]},[]);return{id:kg,title:\"Apps\",items:r,isCollapsible:o}})(a,s,{isFolderCollapsible:n,isSectionCollapsible:o,sortOrder:i,folderIconGetters:r}),[a,s,n,o,i,r]);return e(Jy,{config:m,onItemClick:e=>{const{item:t,modifier:n,selectedContextMenuActionName:o}=e;return o?p(t,o):d({id:t.id,title:t.title,modifier:n})}})}const Xy=t=>{const{isSectionCollapsible:n,sortOrder:o}=t,{favorites:i}=Rs(),{isFavoritesSectionHidden:r}=(()=>{const{value:e,update:t,isLoading:n,error:o}=ks({prefKey:Ka}),i=a(()=>t(e=>!e),[t]);return{error:o,isFavoritesSectionHidden:e,isLoading:n,toggle:i}})(),s=u(()=>((e,t)=>{const{isSectionCollapsible:n,sortOrder:o=mg.DISABLED}=t,i=vg({items:e,sortOrder:o,ascendingCompare:gg,descendingCompare:yg});return{id:wg,title:\"Favorites\",items:i,isCollapsible:n}})(i,{isSectionCollapsible:n,sortOrder:o}),[i,n,o]);return i.length>0&&!r?e(Jy,{config:s}):null},Qy=s(void 0),Zy=()=>{const e=c(Qy);if(void 0===e)throw new Error(\"useLaunchpadConfig must be used within an LaunchpadConfigProvider\");return e},ev=({children:t,settings:n,components:o})=>{const i=u(()=>({settings:n,components:o}),[n,o]);return e(Qy.Provider,{value:i,children:t})},tv=s(void 0),nv=()=>{const e=c(tv);if(void 0===e)throw new Error(\"useLaunchpadSearch must be used within a LaunchpadSearchProvider\");return e},ov=({children:t})=>{const[n,o]=l(\"\"),i=u(()=>({searchTerm:n,setSearchTerm:o}),[n]);return e(tv.Provider,{value:i,children:t})},iv=t=>{const{isSectionCollapsible:n,sortOrder:o}=t,i=Ds(),r=(()=>{const[e,t]=l({}),n=c(x);return f(()=>{const e=n.workspaces,o=[];if(e)return(async()=>{try{const n=await e.onWorkspaceOpened(e=>t(t=>{const n={...t};return n[e.title]=n[e.title]??new Set,n[e.title].add(e.id),n})),i=await e.onWorkspaceClosed(({workspaceId:e})=>t(t=>{const n={...t};for(const t in n)if(n[t].has(e)){n[t].delete(e);break}return n}));o.push(n,i)}catch(e){console.error(e)}})(),()=>o.forEach(e=>e?.())},[n]),e})(),a=Sa(),s=Bs(),d=u(()=>((e,t,n)=>{const{isSectionCollapsible:o,sortOrder:i=mg.ASCENDING}=n,r=vg({items:e,sortOrder:i,ascendingCompare:gg,descendingCompare:yg}).map(e=>({...e,type:Ps,icon:\"workspace\",openInstances:t[e.title]?.size,contextMenuActions:Mr}));return{id:bg,title:\"Workspaces\",items:[...r,{id:Ns,icon:\"add\",title:\"Create Workspace\",type:Os,tooltip:\"Create an empty Workspace in a new window\",className:\"create-workspace-btn\"}],isCollapsible:o}})(i,r,{isSectionCollapsible:n,sortOrder:o}),[i,r,n,o]);return e(Jy,{config:d,onItemClick:e=>{const{item:t,modifier:n,selectedContextMenuActionName:o}=e;return o?s(t,o):t.type===Os?s(t,t.id):a({id:t.id,modifier:n})}})},rv=[{placementId:wg,Component:Xy},{placementId:bg,Component:iv},{placementId:kg,Component:Yy}],av=\"getScreenDetails\"in window,sv={header:{showHeader:!0,showSearch:!0},mode:\"default\"},cv=()=>{const{defaultLayout:e,activeLayout:t}=Ea();return n=>({name:n,isDefault:n===e?.name,isActive:n===t?.name})},lv=()=>{const e=Wr(),t=Bs(),n=(()=>{const e=Ss(),t=cv(),n=Cs();return async(o,i)=>{const{id:r}=o,a=t(r);await n(()=>e({layout:a,actionName:i}))}})();return o=>o===Is?e:o===Ps?t:o===As?n:void 0},uv=\"rename\",dv=\"save\",fv=\"saveAs\",pv=\"delete\",mv=\"setAsDefault\",hv=\"load\",gv=e=>[{name:uv,displayName:\"Rename\",icon:\"pen-line\"},{name:dv,displayName:\"Save\",disabled:!e.isActive,icon:\"floppy\"},{name:fv,displayName:\"Save as\",icon:\"floppy-disk-pen\",separatorAfter:!0},{name:pv,displayName:\"Delete\",icon:\"trash-can\",separatorAfter:!0},{name:mv,displayName:\"Set as Default\",disabled:e.isDefault,icon:\"user-gear\",separatorAfter:!0},{name:hv,displayName:\"Load\",icon:\"spinner\"}];function yv(t){const{resultsToRender:n,isLoading:o}=(e=>{const[t,n]=l([]),[o,i]=l(!0),r=d(null),a=c(x);return f(()=>{const t=a?.search;if(!t)return;const o=[],s=[];return(async e=>{i(!0),n([]);const a=await t.query({search:e.trim(),providerLimits:{maxResults:100,maxResultsPerType:5}});if(a===r.current)return;r.current=a;const c=a.onResults(e=>{e.results.forEach(e=>{s.find(t=>t.id===e.id&&t.type.name===e.type.name)||s.push(e)}),i(!1),n([...s])}),l=a.onCompleted(()=>{i(!1)}),u=a.onError(e=>{console.error(`Query failed. Provider: ${e.provider}; Error: ${e.error}`)});o.push(c,l,u)})(e),()=>{o.forEach(e=>e())}},[a,e]),{resultsToRender:t,isLoading:o}})(t.searchTerm),{close:i}=Ea(),r=(()=>{const e=c(x);return async t=>e.interop.methods().every(e=>e.name!==t?.method)?console.error(\"Interop method not found.\"):await e.interop.invoke(t.method,t.params,t.target).catch(e=>console.error({error:e}))})(),a=Sa(),s=zs(),u=ba(),p=lv(),m=(e=>{const t=cv();return e.reduce((e,n)=>{const{type:o}=n,i=n.id||n.displayName;if(!i)return e;let r=[];if(o.name===Is)r=Tr;else if(o.name===Ps)r=Mr;else if(o.name===As){const e=t(i);r=gv(e)}else n.secondaryActions&&(r=n.secondaryActions.map(({name:e,method:t,params:n,target:o})=>({name:e,interopParams:{method:t,params:n,target:o}})));const a={id:i,title:n.displayName||i,description:n.description,type:o.name,iconSrc:n.iconURL,mainAction:n.action,contextMenuActions:r},s=e.findIndex(({title:e})=>o.displayName?e===o.displayName:e===o.name),c=e[s];return c?[...e.slice(0,s),{...c,items:[...c.items,a]},...e.slice(s+1)]:[...e,{id:o.name,title:o.displayName||o.name,items:[a]}]},[])})(n),h=Cs(),{isLaunchpadPinned:g}=xs(),y=async(e,t)=>{const{item:n,modifier:o,selectedContextMenuActionName:c}=t,{type:l,id:d,title:f,mainAction:m}=n,y=c?n.contextMenuActions?.find(e=>e.name===c):null;y?.interopParams?r(y.interopParams):c?((e,t)=>{const n=p(e.type);n?.(e,t)})(n,c):m?r(m):l===Is?s({id:d,title:f,modifier:o}):l===Ps?a({id:d,modifier:o}):l===As&&h(()=>u(d)),o===xa||g||i?.()};return o?e(\"p\",{className:\"search-loading\",children:\"Loading...\"}):0===n.length?e(\"p\",{className:\"search-no-results\",children:\"No results found. Try searching by app name, workspace title, or keywords.\"}):e(Q,{children:m.map((t,n)=>e(Vy,{config:t,onItemClick:y},t.id||n))})}const vv=({layoutName:t})=>{const n=c(x),o=Cs();return e(P,{icon:\"floppy\",size:\"24\",iconSize:\"12\",onClick:e=>{e.stopPropagation();o(async()=>{try{await n.layouts.save({name:t,type:\"Global\"}),await zr({io:n,variant:Fr,text:`Layout \"${t}\" was saved successfully.`})}catch(e){await zr({io:n,variant:$r,text:`Failed to save Layout \"${t}\".`,error:e})}})},title:\"Save Layout\",\"data-testid\":\"save-layout-button\"})},wv=({layout:t})=>{const n=Ss(),o=Cs();return e(Hs,{buttonSize:\"24\",iconSize:\"12\",title:t.name,icon:\"ellipsis-vertical\",actions:gv(t),onActionItemClick:async(e,i)=>{e.stopPropagation();await o(()=>n({layout:t,actionName:i.name}))},placement:\"top-end\",strategy:\"fixed\",offset:[4,0],shouldCloseOnOutsideScroll:!0,shouldCloseOnWindowBlur:!0,shouldCloseOnWindowResize:!0,\"data-testid\":\"layout-context-menu-button\",contextMenuDataTestId:\"layout-context-menu\"})},bv=({layouts:o,className:i,...r})=>{const{isLaunchpadPinned:a}=xs(),{close:s}=Ea(),c=ba(),l=Cs(),u=()=>{a||s?.()};return e(Od,{element:Q,elementProps:{className:E(\"layouts-list\",i),variant:\"single\",checkIcon:{variant:\"check\",tooltip:\"Active Layout\"},...r},wrapperClassName:\"layouts-list-scrollable-container\",children:o.map(o=>e(Q.Item,{className:\"layouts-list-item\",onClick:()=>(e=>l(()=>c(e.name,u)))(o),append:t(n,{children:[o.isDefault&&e(qs,{variant:\"default\",title:\"Default Layout\",\"data-testid\":\"default-layout-pill\",children:\"Default\"}),t(fy,{children:[o.isActive&&e(vv,{layoutName:o.name}),e(wv,{layout:o})]})]}),isSelected:o.isActive,tooltip:o.name,\"data-testid\":`layout-item-${o.name}`,children:o.name},o.name))})},kv=()=>{const{layouts:t}=Fs(),{activeLayout:n,defaultLayout:o}=Ea(),i=u(()=>t.map(e=>({...e,isActive:e.name===n?.name,isDefault:e.name===o?.name})),[t,n,o]);return e(bv,{layouts:i,\"data-testid\":\"all-layouts\"})},xv=()=>{const{defaultLayout:t,activeLayout:n}=Ea();return n?e(bv,{layouts:[{...n,isDefault:n.name===t?.name,isActive:!0}],\"data-testid\":\"active-layout\"}):e(\"p\",{className:\"io-text-small no-active-layout\",\"data-testid\":\"choose-layout-message\",children:\"Choose which Layout to load\"})},Sv=()=>{const t=c(x),{setActiveLayout:n}=Ea(),o=Cs(),i=async()=>{if(!(\"modals\"in t)||!t.modals)return void console.error(\"Cannot create Layout because io dialogs are not enabled\");const e=\"create\",o=\"layout-name\",{isEnterPressed:i,responseButtonClicked:r,inputs:a}=await t.modals.dialogs.request({templateName:Vr.SINGLE_TEXT_INPUT_DIALOG,variables:{heading:\"Create Layout\",input:{id:o,initialValue:\"Create Layout\",validation:{disabledButtonIds:[e],errorMessage:\"Please provide a Layout name\",regexPattern:Ur}},actionButtons:[{variant:\"primary\",text:\"Create\",id:e},{variant:\"outline\",text:\"Cancel\",id:\"cancel\"}]}}),s=a?.find(e=>e.id===o)?.value;if(i||r?.id===e)try{if((await t.layouts.getAll(\"Global\")).find(e=>e.name===s))return void await zr({io:t,variant:$r,text:`Failed to create Layout \"${s}\". A Layout with this name already exists.`});await t.layouts.save({name:s}),n({name:s}),await zr({io:t,variant:Fr,text:`Layout \"${s}\" was created successfully.`})}catch(e){await zr({io:t,variant:$r,text:`Failed to create Layout \"${s}\".`,error:e})}};return e(ae,{variant:\"fullwidth\",className:\"create-layout-btn-group\",children:e($,{variant:\"primary\",text:\"Create Layout\",onClick:()=>o(i),\"data-testid\":\"create-layout-button\"})})},Cv=()=>{const n=d(null),{layouts:o,isInitialized:i}=Fs(),{isLayoutsPanelOpen:r,setIsLayoutsPanelOpen:s}=(()=>{const{value:e,update:t,isLoading:n,error:o}=ks({prefKey:Ta});return{error:o,isLayoutsPanelOpen:e,setIsLayoutsPanelOpen:t,isLoading:n}})();f(()=>{!i||o.length>0||!r||s(!1)},[o,i,r,s]);const c=a(()=>s(e=>!e),[s]);return t(\"footer\",{className:\"layouts-panel\",ref:n,\"data-testid\":\"layouts-panel\",children:[e(J,{className:\"layouts-panel-separator\"}),t(\"div\",{className:\"layouts-panel-header\",\"aria-label\":\"Layouts panel\",\"aria-expanded\":r,role:\"button\",\"data-testid\":\"layouts-panel-header\",...B(o.length?c:void 0),children:[e(D,{tag:\"h2\",size:\"normal\",text:o.length>0?\"Layouts\":\"Start using Layouts\"}),o.length>0&&e(P,{className:E(\"layouts-panel-toggle-button\",{\"layouts-panel-toggle-button-rotated\":r}),icon:\"expand\",iconSize:\"12\",size:\"24\",\"data-testid\":\"layouts-panel-toggle-button\"})]}),e(jy,{isOpen:r,tag:\"div\",children:e(kv,{})}),o.length>0&&!r?e(xv,{}):e(Sv,{})]})},Nv=({className:n})=>{const{isLaunchpadCollapsed:o}=Ms(),{isGlobalLayoutsAvailable:i}=Ea(),{components:r}=Zy(),{searchTerm:a}=nv(),{sections:s=rv}=r;return t(\"div\",{className:E(\"launchpad-body\",o?\"collapsed\":void 0,n),children:[e(Od,{wrapperClassName:\"launchpad-main-scrollable-container\",element:\"main\",elementProps:{className:\"launchpad-main\"},children:Ca(a)?e(yv,{searchTerm:a}):e(qy,{children:e(Q,{children:s.map(({Component:t,placementId:n})=>e(t,{},n))})})}),i&&e(Cv,{})]})};var Ev=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===Iv}(e)}(e)};var Iv=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function Pv(e,t){return!1!==t.clone&&t.isMergeableObject(e)?Tv((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function Av(e,t,n){return e.concat(t).map(function(e){return Pv(e,n)})}function Ov(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}(e))}function Lv(e,t){try{return t in e}catch(e){return!1}}function Dv(e,t,n){var o={};return n.isMergeableObject(e)&&Ov(e).forEach(function(t){o[t]=Pv(e[t],n)}),Ov(t).forEach(function(i){(function(e,t){return Lv(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,i)||(Lv(e,i)&&n.isMergeableObject(t[i])?o[i]=function(e,t){if(!t.customMerge)return Tv;var n=t.customMerge(e);return\"function\"==typeof n?n:Tv}(i,n)(e[i],t[i],n):o[i]=Pv(t[i],n))}),o}function Tv(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||Av,n.isMergeableObject=n.isMergeableObject||Ev,n.cloneUnlessOtherwiseSpecified=Pv;var o=Array.isArray(t);return o===Array.isArray(e)?o?n.arrayMerge(e,t,n):Dv(e,t,n):Pv(t,n)}Tv.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce(function(e,n){return Tv(e,n,t)},{})};var Rv=S(Tv);const Bv=({settings:t={},components:n={},isOpen:o=!0,onClose:i,windowManagementPermissionState:r=\"granted\",children:a,className:s,...c})=>{const l=av&&\"granted\"===r,d=u(()=>Rv(sv,t),[t]);return e(Ia,{close:i,isOpen:o,isGlobalLayoutsAvailable:l,children:e(ev,{settings:d,components:n,children:e(ov,{children:e(\"div\",{className:E(\"launchpad\",s),\"data-testid\":\"launchpad\",...c,children:a})})})})},Mv=r((t,n)=>{const{onSearch:o,searchTerm:i,onClear:r,className:a}=t,s=c(x);return f(()=>{s&&\"search\"in s&&s.search?.setDebounceMS(450)},[s]),e($d,{id:\"search-input\",className:E(\"search-bar\",a),ref:n,placeholder:\"Find anything\",value:i,onChange:o,autoComplete:\"off\",iconPrepend:\"search\",iconAppend:i.length?\"close\":void 0,iconAppendOnClick:r})});Mv.displayName=\"SearchBar\";const Fv=({className:t})=>{const{isLaunchpadPinned:n,isLoading:o,toggle:i}=xs();return e(P,{className:t,size:\"32\",variant:\"circle\",icon:n?\"unpin\":\"pin\",onClick:i,disabled:o})},$v=({className:n})=>{const o=Ar(),{isOpen:i}=Ea(),{settings:r,components:a}=Zy(),{isLaunchpadPinned:s}=xs(),{isLaunchpadCollapsed:c,setIsLaunchpadCollapsed:l}=Ms(),{searchTerm:u,setSearchTerm:p}=nv(),m=d(null),{showSearch:h,showHeader:g}=r.header??{},{BeforeSearch:y,AfterSearch:v}=a.header??{};f(()=>{i&&m.current?.focus()},[i]),f(()=>{s&&l(!1)},[l,s]);return g?t(\"div\",{className:E(\"launchpad-header\",o||s?void 0:\"draggable\",n),\"data-testid\":\"launchpad-header\",children:[y&&e(y,{}),h&&e(Mv,{ref:m,searchTerm:u,onSearch:e=>{const t=e.target.value;Ca(t)&&c&&l(!1),p(t)},onClear:()=>{p(\"\"),m.current?.focus()},className:o?void 0:\"non-draggable\"}),v&&e(v,{}),void 0===v&&\"pinned\"!==r?.mode&&e(Fv,{className:\"ms-auto\"})]}):null};var _v=Object.freeze({__proto__:null,ApplicationsSection:Yy,Body:Nv,ContentsContainer:Bv,DIALOG_TEMPLATE_NAMES:Vr,FavoritesSection:Xy,Header:$v,Panel:n=>t(Bv,{...n,children:[e($v,{}),e(Nv,{})]}),PinButton:Fv,Section:Jy,WorkspacesSection:iv,useActiveLayout:wa,useFavorites:Rs,useIsLaunchpadCollapsed:Ms,useIsLaunchpadPinned:xs,useOnIframeFocus:$s,useOnOutsideClick:_s,usePressedKeys:js,useStorage:va});function jv({isOpen:t,onClose:n,container:o}){return t?k(e(gm,{onClose:n}),o??document.querySelector(\"#root\")??document.body):null}const zv=s({searchQuery:\"\",setSearch:()=>{},isPanelVisible:!1,sortNotificationsBy:\"newest\",setSortBy:()=>{},viewNotificationsBy:\"all\",setViewBy:()=>{},isBulkActionsVisible:!1,showBulkActions:()=>{},hideBulkActions:()=>{}}),Hv=()=>c(zv);function Wv({title:n,onOpenSettings:o,onClose:i,...r}){const{HeaderCaptionTitle:a,HeaderCaptionCount:s,HeaderCaptionButtonSettings:c,HeaderCaptionButtonClose:l,HeaderActions:u,HeaderBulkActions:d,HeaderSearch:f}=Rw(),{isBulkActionsSupported:p,notificationsCount:m}=jp(),{isBulkActionsVisible:h}=Hv(),g=Ud();return t(Vs,{...r,children:[t(\"div\",{className:\"io-panel-header-caption\",children:[e(a,{title:n}),e(s,{}),t(Vs.ButtonGroup,{children:[g&&e(c,{onClick:o}),e(l,{onClick:i})]})]}),e(f,{}),p?t(\"div\",{className:`io-panel-header-actions-wrapper ${h&&m>0?\"io-panel-header-bulk-actions-opened\":\"\"} `,children:[e(u,{}),e(d,{})]}):e(u,{})]})}function Vv({text:n=\"Notifications\",counter:o,...i}){const{notificationsCount:r}=jp();return e(D,{text:n,size:\"large\",...i,children:(o??!0)&&t(\"span\",{children:[\"(\",r,\")\"]})})}const Uv=\"newest\",Kv=\"oldest\",Gv=\"severity\",qv=[\"None\",\"Low\",\"Medium\",\"High\",\"Critical\"],Jv={key:Uv,descending:!0},Yv=e=>[...e].sort((e,t)=>(t.timestamp||0)-(e.timestamp||0)),Xv=e=>[...e].sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)),Qv=(e,t)=>{const n=qv[0];return[...e].sort((e,o)=>{const i=qv.indexOf(e.severity||n),r=qv.indexOf(o.severity||n);return(t?-1:1)*(i-r)})},Zv={[Uv]:Yv,[Kv]:Xv,[Gv]:Qv},ew={severity:\"Priority\",newest:\"Newest\",oldest:\"Oldest\"};function tw({...t}){const[n,o]=l([]),{NotificationsList:i,Notification:r}=Rw(),{notifications:a,setCount:s,notificationsCount:c}=jp(),{sortNotificationsBy:p,viewNotificationsBy:m,searchQuery:h}=Hv(),g=d(null),y=Wd(h),v=u(()=>{const e=((e,t)=>{if(!e)return[];switch(t){case\"all\":default:return e;case\"unread\":return e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state);case\"read\":return e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state);case\"snoozed\":return e.filter(e=>\"Snoozed\"===e.state)}})(a,m);return e.filter(e=>e.title.toLowerCase().includes(y.toLowerCase())||e.source?.toLowerCase().includes(y.toLowerCase())||e.body?.toLowerCase().includes(y.toLowerCase()))},[y,a,m]);return f(()=>{switch(p){case\"newest\":o(Yv(v));break;case\"oldest\":o(Xv(v));break;case\"severity\":o(Qv(v,!0));break;default:o(v)}s(v.length)},[v,p,s]),f(()=>{g.current&&g.current?.scrollTo({top:0,behavior:\"smooth\"})},[y,c,p,m]),e(Od,{ref:g,element:Us,elementProps:t,children:e(i,{notifications:n,Notification:r})})}function nw({...t}){const{FooterButtons:n}=Rw();return e(Ks,{...t,children:e(n,{})})}function ow({className:n,...o}){const{FooterButtonClearAll:i,FooterButtonClearAllOld:r}=Rw(),{notifications:a}=jp(),[s,c]=l(!1);return f(()=>{a.filter(e=>\"Stale\"===e.state||\"Acknowledged\"===e.state).length>0?c(!0):c(!1)},[a]),t(ae,{className:n,align:\"right\",...o,children:[e(r,{disabled:!s}),e(i,{disabled:a.length<=0})]})}function iw({text:t=\"Clear All\",...n}){const{clearAll:o}=jp();return e($,{text:t,onClick:()=>{o()},...n})}function rw({text:t=\"Clear Old\",...n}){const{clearAllOld:o}=jp();return e($,{text:t,onClick:()=>{o()},...n})}function aw(e){const t=Ud(),{onClose:n,settings:o}=jp(),{isPanelVisible:i}=Hv(),{id:r,onClick:s,updateState:c}=e,l=a(async()=>{if(!s)return;if(!t){try{await s({close:!0})}catch(e){console.error(e)}return void n(r)}const e=o?.toastStacking??!1;let a;a=i?o?.closeNotificationOnClick??!0:!e&&null;try{null!==a?await s({close:a}):(await s({close:!1}),await c(\"Acknowledged\"))}catch(e){console.error(e)}},[t,r,i,s,n,c,o?.closeNotificationOnClick,o?.toastStacking]),u=a(async e=>{const t=e.target;t.closest(\"button\")||t.closest(\"[role='button']\")||t.closest(\"a\")||t.closest(\".io-dropdown-menu\")||await l()},[l]);return{handleClick:l,handleWrapperClick:u}}function sw({className:n,notification:o,onClick:i,...r}){const a=E(\"io-notification-header\",n),{HeaderCount:s,HeaderBadge:c,HeaderTitle:l,HeaderTimestamp:u,HeaderButtonSnooze:d,HeaderButtonClose:f}=Cw(),{handleWrapperClick:p}=aw(o);return t(\"div\",{className:a,onClick:async e=>{await p(e),i?.(e)},...r,children:[e(c,{notification:o}),e(s,{notification:o}),e(l,{notification:o}),e(u,{notification:o}),t(ae,{children:[e(d,{notification:o}),e(f,{notification:o})]})]})}function cw({notification:t,...n}){const{settings:o,notificationStacks:i}=jp(),{isPanelVisible:r}=Hv(),{toastStacking:a,stackBy:s}=o,c=\"application\"===s?\"source\":s??\"source\";let l=0;if(a){const e=i.find(e=>e.key===t[c]);l=e?.items.length??0}return r||!a||l<=1?null:e(qs,{...n,children:l>9?\"9+\":l})}function lw({className:t,notification:n,...o}){if(!n?.severity||\"None\"===n.severity)return null;const i=E(\"io-notification-header-badge\",t);return e(qs,{className:i,...o,children:n.severity})}function uw({className:n,state:o,severity:i=\"None\",icon:r,...a}){const s=E(\"io-notification-header-icon\",n),{isPanelVisible:c}=Hv();return t(\"div\",{className:s,...a,children:[r&&e(\"span\",{className:\"io-notification-header-icon-image\",children:e(\"img\",{src:r,alt:`io-notification-header-icon-${r}`})}),e(\"span\",{className:`io-notification-header-icon-badge color-${i.toLowerCase()}`,children:c&&\"Acknowledged\"!==o&&\"New\"})]})}function dw({className:t,notification:{appTitle:n},...o}){const i=E(\"io-notification-header-title\",t);return e(\"div\",{className:i,...o,children:n})}function fw({className:t,notification:{timestamp:n,state:o,snooze:i},...r}){const a=E(\"io-notification-timestamp\",t);return e(\"small\",i&&\"Snoozed\"===o?{className:a,...r,children:\"Snoozed\"}:{className:a,...r,children:Kf(n??0)??\"Just Now\"})}function pw({notification:{id:t,state:n},...o}){const{settings:i,snooze:r}=jp(),s=a(e=>{e.stopPropagation(),r&&r(t,i.snooze?.duration??0)},[t,r,i.snooze?.duration]);return r&&\"Snoozed\"!==n&&i.snooze?.enabled?e($,{icon:\"snooze\",variant:\"link\",text:\"Snooze\",tabIndex:-1,onClick:s,...o}):null}function mw({notification:{id:t,updateState:n},...o}){const i=Ud(),{onClose:r}=jp(),{isPanelVisible:s}=Hv(),c=a(e=>{e.stopPropagation(),!i||s?r(t):n(\"Acknowledged\").catch(console.error)},[i,t,r,s,n]);return e(P,{icon:\"close\",iconSize:\"10\",tabIndex:-1,onClick:c,...o})}function hw({className:n,notification:o,...i}){const r=E(\"io-notification-body\",n),{BodyIcon:a,BodyTitle:s,BodyDescription:c}=Cw(),{icon:l,title:u,body:d}=o,{handleClick:f}=aw(o);return t(\"div\",{className:r,role:\"button\",tabIndex:0,onKeyDown:async e=>{R(e)&&await f()},onClick:f,...i,children:[e(a,{icon:l}),t(\"div\",{className:\"io-notification-body-content\",children:[e(s,{text:u}),e(c,{text:d})]})]})}function gw({className:t,icon:n,altText:o=\"notification icon\",...i}){if(!n)return null;const r=E(\"io-notification-body-icon\",t);return e(\"div\",{className:r,...i,children:e(\"img\",{src:n,alt:o})})}function yw({text:t,...n}){return e(D,{text:t,...n})}function vw({className:t,text:n,...o}){const i=E(\"io-notification-body-description\",t);return e(\"p\",{className:i,...o,children:n})}function ww({className:n,notification:o}){const i=E(\"io-notification-footer\",n),{FooterButton:r}=Cw(),{handleWrapperClick:a}=aw(o),s=u(()=>function(e){const t=[],n={};if(!e)return;e.forEach(e=>{const{displayId:o,displayPath:i}=e,r={...e,children:[]};if(i&&i.length>0){let e;i.forEach((t,o)=>{0===o?e=n[t]:e&&(e=e.children?.find(e=>e.displayId===t))}),e&&e.children?.push(r)}else o?(t.push(r),n[o]=r):t.push(r);o&&(n[o]=r)});const o=e=>{e.forEach(e=>{0===e.children?.length?delete e.children:e.children&&o(e.children)})};return o(t),t}(o.actions),[o.actions]),c=(t,n)=>t.children?e(ei,{text:t.title,children:t.children.map(c)},`${t.title}-${n}`):((t,n)=>e(ei.Item,{children:e(r,{variant:\"link\",className:\"io-dropdown-menu-item io-dropdown-menu-button\",notificationAction:t})},`${t.title}-${n}`))(t,n);return e(\"div\",{className:i,onClick:a,children:e(ae,{align:\"right\",children:s?.map((n,o)=>n.children?t(ae,{variant:\"append\",children:[e(r,{notificationAction:n,variant:0===o?\"primary\":\"default\"}),e(ei,{variant:0===o?\"primary\":\"default\",icon:\"ellipsis\",children:n.children.map(c)})]},`${n.title}-${o}`):e(r,{notificationAction:n,variant:0===o?\"primary\":\"link\"},`${n.title}-${o}`))})})}function bw({notificationAction:t,...n}){const o=a(e=>{e.stopPropagation(),t.onClick({close:!0})},[t]);return e($,{text:t.title,onClick:o,...n})}const kw={Header:sw,HeaderCount:cw,HeaderBadge:lw,HeaderIcon:uw,HeaderTitle:dw,HeaderTimestamp:fw,HeaderButtonSnooze:pw,HeaderButtonClose:mw,Body:hw,BodyIcon:gw,BodyTitle:yw,BodyDescription:vw,Footer:ww,FooterButton:bw},xw=s(kw),Sw=y(({children:t,components:n})=>{const o=u(()=>({...kw,...n}),[n]);return e(xw.Provider,{value:o,children:t})});function Cw(e){return{...c(xw),...e}}function Nw({className:n,notification:o,...i}){const{Header:r,Body:a,Footer:s}=Cw(),{severity:c}=o,l=E(\"io-notification\",`severity-${c?.toLowerCase()??\"none\"}`,\"Acknowledged\"!==o.state&&\"state-new\",n);return t(\"div\",{className:l,...i,children:[e(r,{notification:o}),e(a,{notification:o}),e(s,{notification:o})]})}function Ew({components:t,notification:n,...o}){return e(Sw,{components:t,children:e(Nw,{notification:n,...o})})}function Iw({className:n,notifications:o,...i}){const[r,s]=l(!1),c=o.length>=3?\"large\":\"normal\",u=2===o.length?\"small\":c,d=o[0].severity,f=E(\"io-notification-stack\",r&&\"io-notification-stack-open\",\"normal\"!==u&&[`io-notification-stack-${u}`],d&&\"None\"!==d&&[`io-notification-stack-${d.toLowerCase()}`],n),p=a(()=>{s(!0)},[]),m=a(e=>{e.stopPropagation(),o.forEach(e=>{e.close()})},[o]);return t(\"div\",{className:f,onClick:p,...i,children:[r&&\"normal\"!==u&&e(\"div\",{className:\"io-notification-stack-btn\",children:e($,{icon:\"close\",onClick:e=>m(e),children:e(\"span\",{className:\"io-btn-text\",children:\"Clear Stack\"})})}),o.map(t=>e(Ew,{notification:t},t.id))]})}function Pw({...t}){const{notificationStacks:o}=jp();return e(n,{children:o.map(n=>e(Iw,{notifications:n.items,...t},n.key))})}Sw.displayName=\"ComponentsStoreProvider\";const Aw=({notification:n,Notification:o,...i})=>{const{configuration:r,isBulkActionsSupported:a,selectedNotifications:s,selectNotification:c}=jp(),{isPanelVisible:l,isBulkActionsVisible:u}=Hv(),d=r.sourceFilter?.muted??[],f=n.source&&d.includes(n.source)||d.includes(\"*\");if(!l&&f)return null;const p=l&&a&&u,m=s.includes(n.id);return p?t(\"div\",{className:E(\"io-notification-list-bulk-action-item\",{selected:m}),children:[e(jd,{checked:m,onChange:e=>c(n.id,e.target.checked)}),e(o,{notification:n,...i})]}):e(o,{notification:n,...i})};function Ow({className:n,Notification:o,notifications:i=[],noNotificationText:r=\"No notifications to display\",...a}){const s=E(\"io-notification-list\",n),{settings:c}=jp(),{isPanelVisible:l}=Hv(),{toastStacking:u}=c,d=u&&!l,f=i.length>0;return t(\"div\",{className:s,...a,children:[d&&e(Pw,{}),!d&&(f?i.map(t=>e(Aw,{notification:t,Notification:o,...a},t.id)):e(\"div\",{className:\"io-notification-list-no-notifications\",children:r}))]})}const Lw={Header:Wv,HeaderCaptionTitle:Vv,HeaderCaptionCount:function({variant:t=\"primary\",...n}){const{notificationsCount:o=0}=jp();return 0===o?null:e(L,{variant:t,...n,children:o>99?\"99+\":o})},HeaderCaptionButtonSettings:function({icon:t=\"cog\",size:n=\"32\",variant:o=\"circle\",...i}){return Ud()?e(P,{icon:t,size:n,variant:o,...i}):null},HeaderCaptionButtonClose:function({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const{hidePanel:a}=jp(),s=Ud();return e(P,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):s&&a()},...r})},HeaderActions:function({className:n,...o}){const i=E(\"io-panel-header-actions\",n),{HeaderActionSort:r,HeaderActionView:a,HeaderActionClear:s,HeaderActionEdit:c}=Rw();return t(\"div\",{className:i,...o,children:[t(ae,{children:[e(r,{}),e(a,{})]}),t(ae,{children:[e(s,{}),e(c,{})]})]})},HeaderActionSort:function({text:n=\"Sort by\",...o}){const{sortNotificationsBy:i,setSortBy:r}=Hv(),{onNotificationsSort:s}=(()=>{const{notifications:e}=jp(),[t,n]=l(Jv),{key:o,descending:i}=t,r=u(()=>Zv[o](e,i),[e,o,i]),s=a(e=>{n(t=>({key:e,descending:t.key!==e?Jv.descending:!t.descending}))},[]);return{onNotificationsSort:s,sortedNotifications:r}})();return t(re,{variant:\"light\",...o,children:[t(re.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:ew[i].toLowerCase()})]}),e(re.Content,{children:e(re.List,{variant:\"single\",checkIcon:\"check\",children:[\"Newest\",\"Oldest\",\"Priority\"].map(t=>{const n=\"Priority\"===t?\"severity\":t.toLowerCase();return e(re.Item,{isSelected:i===n,onClick:()=>{r(n),s(n)},children:t},t)})})})]})},HeaderActionView:function({text:n=\"View\",...o}){const{settings:i}=jp(),{viewNotificationsBy:r,setViewBy:a}=Hv(),s=i.snooze?.enabled?[\"All\",\"Read\",\"Unread\",\"Snoozed\"]:[\"All\",\"Read\",\"Unread\"];return t(re,{variant:\"light\",...o,children:[t(re.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:r})]}),e(re.Content,{children:e(re.List,{variant:\"single\",checkIcon:\"check\",children:s.map(t=>e(re.Item,{isSelected:r===t.toLowerCase(),onClick:()=>a(t.toLowerCase()),children:t},t))})})]})},HeaderActionClear:function({text:t=\"Clear All\",...n}){const{clearAll:o,notificationsCount:i}=jp();return e($,{variant:\"link\",text:t,onClick:o,disabled:0===i,...n})},HeaderActionEdit:function({tooltip:t=\"Bulk Edit\",...n}){const{isBulkActionsSupported:o,notificationsCount:i}=jp(),{showBulkActions:r}=Hv();return o?e(P,{icon:\"pen-to-square\",title:t,size:\"32\",onClick:r,disabled:0===i,...n}):null},HeaderBulkActions:function({className:n,...o}){const i=E(\"io-panel-header-bulk-actions\",n),{HeaderBulkActionSelect:r,HeaderBulkActionSelectDropdown:a,HeaderBulkActionMarkAsRead:s,HeaderBulkActionMarkAsUnread:c,HeaderBulkActionSnooze:l,HeaderBulkActionClear:u,HeaderBulkActionClose:d}=Rw(),{isBulkActionsSupported:f}=jp();return f?e(\"div\",{className:i,...o,children:t(ae,{children:[e(r,{}),e(a,{}),e(s,{}),e(c,{}),e(l,{}),e(u,{}),e(d,{})]})}):null},HeaderBulkActionSelect:function({...t}){const{isBulkActionsSupported:n,selectedNotifications:o,selectAllNotifications:i,notificationsCount:r}=jp();return n?e(jd,{checked:r===o.length&&r>0,onChange:e=>i(\"all\",e.target.checked),disabled:0===r,...t}):null},HeaderBulkActionSelectDropdown:function({...n}){const{isBulkActionsSupported:o,selectAllNotifications:i,notificationsCount:r}=jp();return o?t(re,{variant:\"light\",...n,children:[e(re.ButtonIcon,{variant:\"default\",icon:\"chevron-down\",size:\"16\",iconSize:\"10\",disabled:0===r}),e(H,{children:t(re.List,{variant:\"single\",checkIcon:\"check\",children:[e(re.ItemSection,{children:\"Select\"}),[\"All\",\"Read\",\"Unread\",\"Snoozed\"].map(t=>e(re.Item,{onClick:()=>i(t.toLowerCase(),!0),children:t},t))]})})]}):null},HeaderBulkActionMarkAsRead:function({icon:t=\"envelope-open\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as read\",...r}){const{isBulkActionsSupported:s,selectedNotifications:c,setStates:l,notificationsCount:u}=jp(),d=a(()=>{l(c,\"Seen\")},[c,l]);return s?e(P,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionMarkAsUnread:function({icon:t=\"envelope\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as unread\",...r}){const{isBulkActionsSupported:s,selectedNotifications:c,setStates:l,notificationsCount:u}=jp(),d=a(()=>{l(c,\"Active\")},[c,l]);return s?e(P,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionSnooze:function({icon:t=\"snooze\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Snooze\",...r}){const{isBulkActionsSupported:s,selectedNotifications:c,snoozeMany:l,settings:u,notificationsCount:d}=jp(),f=a(()=>{l(c,u.snooze?.duration??0)},[c,l,u.snooze?.duration]);return s&&u.snooze?.enabled?e(P,{icon:t,size:n,variant:o,title:i,onClick:f,disabled:0===d,...r}):null},HeaderBulkActionClear:function({icon:t=\"trash\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Clear\",...r}){const{isBulkActionsSupported:s,selectedNotifications:c,clearMany:l,notificationsCount:u}=jp(),d=a(()=>{l(c)},[c,l]);return s?e(P,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionClose:function({text:t=\"Done\",variant:n=\"primary\",...o}){const{isBulkActionsSupported:i,notificationsCount:r}=jp(),{hideBulkActions:a}=Hv();return i?e($,{variant:n,text:t,onClick:a,disabled:0===r,...o}):null},HeaderSearch:function({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const c=E(\"io-panel-header-search\",n),l=d(null),{notificationsCount:u}=jp(),{searchQuery:f,setSearch:p}=Hv(),m=f.length>0,h=a(()=>{p(\"\"),l.current&&l.current.focus()},[p]);return t(\"div\",{className:c,children:[e($d,{ref:l,value:f,iconPrepend:i,iconAppend:m?r:void 0,iconAppendOnClick:m?h:void 0,placeholder:o,onChange:e=>p(e.target.value),...s}),m&&e(\"p\",{className:\"io-panel-header-search-count\",children:`${u} results`})]})},Body:tw,Footer:nw,FooterButtons:ow,FooterButtonClearAll:iw,FooterButtonClearAllOld:rw,Notification:Ew,NotificationsList:Ow},Dw=s(Lw),Tw=y(({children:t,components:n})=>{const o=u(()=>({...Lw,...n}),[n]);return e(Dw.Provider,{value:o,children:t})});function Rw(e){return{...c(Dw),...e}}Tw.displayName=\"ComponentsStoreProvider\";function Bw(){const e=c(x),{settings:t}=jp(),n=Ud(),o=a(async()=>{const o=e.windows.my();if(!e||!o||!n)return;const i=o.placementSettings;await o.place({...i,snapped:!0,top:12,left:\"left\"===t.placement?.panel?12:void 0,right:\"right\"===t.placement?.panel?12:void 0,bottom:12,width:400,horizontalAlignment:t.placement?.panel})},[e,n,t.placement?.panel]);f(()=>{e&&t.placement?.panel&&n&&o().catch(console.error)},[e,n,o,t.placement?.panel])}function Mw({className:o,onClose:i,title:r=\"Notifications\",...a}){const{Header:s,Body:c}=Rw(),{settings:u}=jp(),{isPanelVisible:d}=Hv(),[p,m]=l(!1),h=Ud(),g=E(\"io-notifications-panel\",\"left\"===u.placement?.panel&&\"io-panel-left\",\"right\"===u.placement?.panel&&\"io-panel-right\",o);return Bw(),f(()=>{d||m(!1)},[d]),t(n,{children:[t(Gs,{className:g,...a,children:[e(s,{title:r,onClose:i,onOpenSettings:()=>m(!0)}),e(c,{})]}),h&&d&&e(jv,{isOpen:p,onClose:()=>m(!1)})]})}const Fw=({className:t,notifications:n,maxToasts:o=1,...i})=>{const r=E(\"io-toasts-body\",t),{NotificationsList:a,Notification:s}=zw(),[c,u]=l([]);return f(()=>{const e=o<0?n.length:o,t=n.filter(e=>\"Active\"===e.state).slice(0,e);for(const e of t)e.onShow();u(t)},[n,o]),e(\"div\",{className:r,...i,children:e(a,{Notification:s,notifications:c,noNotificationText:\"\"})})};Fw.displayName=\"Body\";const $w={Body:Fw,Notification:Ew,NotificationsList:Ow},_w=s($w),jw=y(({children:t,components:n})=>{const o=u(()=>({...$w,...n}),[n]);return e(_w.Provider,{value:o,children:t})});function zw(e){return{...c(_w),...e}}jw.displayName=\"ComponentsStoreProvider\";function Hw(){const e=c(x),{settings:t}=jp(),n=t.placement?.toasts,o=a(async()=>{const t=e.windows.my();if(!e||!t)return;const o=t.placementSettings;await t.place({...o,snapped:!0,left:\"top-left\"===n||\"bottom-left\"===n?12:void 0,right:\"top-right\"===n||\"bottom-right\"===n?12:void 0,width:400,verticalAlignment:\"top-left\"===n||\"top-right\"===n?\"top\":\"bottom\",horizontalAlignment:\"top-right\"===n||\"bottom-right\"===n?\"right\":\"left\"})},[e,n]);f(()=>{e&&n&&o().catch(console.error)},[e,o,n])}function Ww({className:n,maxToasts:o=10,...i}){const{Header:r,Body:s,Footer:u}=zw(),{notifications:p,settings:m}=jp(),h=d(null),g=function(e){const t=c(x),n=d(null),o=d(0),[i,r]=l(!1),s=a(async e=>{if(!t)return;const n=t.windows.my();if(!n)return;let i=1080;try{i=(await t.displays.getPrimary()).workArea.height}catch(e){console.warn(\"Could not get primary display, using fallback height:\",e)}const a=Math.min(Math.max(e,92),i);if(r(e>=i),!(Math.abs(a-o.current)<5)){o.current=a;try{const e=n.placementSettings;await n.place({...e,height:a})}catch(e){console.error(\"Error updating toasts window height:\",e)}}},[t]);return f(()=>{if(!e.current||!t)return;const o=e.current,i=new ResizeObserver(e=>{const t=e.at(-1);if(!t)return;const{height:i}=t.contentRect,r=getComputedStyle(o),a=Number.parseInt(r.paddingTop,10),c=Number.parseInt(r.paddingBottom,10),l=(Number.isNaN(a)?0:a)+i+(Number.isNaN(c)?0:c);n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{s(l).catch(console.error)},100)});return i.observe(o),()=>{i.disconnect(),n.current&&clearTimeout(n.current)}},[t,s]),i}(h),y=m.placement?.toasts,v=E(\"io-toasts\",(\"top-left\"===y||\"top-right\"===y)&&\"io-toasts-top\",(\"top-right\"===y||\"bottom-right\"===y)&&\"io-toasts-right\",(\"bottom-left\"===y||\"bottom-right\"===y)&&\"io-toasts-bottom\",(\"top-left\"===y||\"bottom-left\"===y)&&\"io-toasts-left\",g&&\"io-toasts-max-height\",n);return Hw(),t(\"div\",{className:v,...i,children:[r&&e(r,{}),e(\"div\",{ref:h,children:e(s,{notifications:p,maxToasts:o})}),u&&e(u,{})]})}var Vw=Object.freeze({__proto__:null,Notification:Ew,NotificationBody:hw,NotificationBodyDescription:vw,NotificationBodyIcon:gw,NotificationBodyTitle:yw,NotificationFooter:ww,NotificationFooterButton:bw,NotificationHeader:sw,NotificationHeaderBadge:lw,NotificationHeaderButtonClose:mw,NotificationHeaderButtonSnooze:pw,NotificationHeaderCount:cw,NotificationHeaderIcon:uw,NotificationHeaderTimestamp:fw,NotificationHeaderTitle:dw,NotificationStack:Iw,NotificationsList:Ow,NotificationsPanelProvider:({children:t})=>{const{searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:p,showBulkActions:m,hideBulkActions:h}=function(){const e=c(x),[t,n]=l(!1),[o,i]=l(\"newest\"),[r,a]=l(\"all\"),[s,u]=l(\"\"),[d,p]=l(!1),m=Ud(),{isBulkActionsSupported:h}=jp();return f(()=>{const e=Dp.onPanelVisibilityChanged(e=>n(e));return()=>{e()}},[]),f(()=>{null!==m&&m&&(async()=>{const t=await e.notifications.panel.isVisible();n(t)})()},[e.notifications.panel,m]),f(()=>{t||(p(!1),a(\"all\"))},[t]),{isPanelVisible:t,sortNotificationsBy:o,setSortBy:e=>{i(e)},viewNotificationsBy:r,setViewBy:e=>{a(e)},searchQuery:s,setSearch:e=>{u(e)},isBulkActionsVisible:d,showBulkActions:()=>{h&&p(!0)},hideBulkActions:()=>{h&&p(!1)}}}(),g=u(()=>({searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:p,showBulkActions:m,hideBulkActions:h}),[n,o,i,r,a,s,d,p,m,h]);return e(zv.Provider,{value:g,children:t})},NotificationsProvider:({children:t})=>{const{notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:c,allowedApplications:l,clearAll:d,clearAllOld:f,close:p,hidePanel:m,showPanel:h,saveSetting:g,saveFilter:y,saveAllFilter:v,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:k,selectAllNotifications:x,clearMany:S,snooze:C,snoozeMany:N,setState:E,setStates:I,setCount:P}=$p(),A=u(()=>({notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:c,allowedApplications:l,clearAll:d,clearAllOld:f,onClose:p,hidePanel:m,showPanel:h,saveSetting:g,saveFilter:y,saveAllFilter:v,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:k,selectAllNotifications:x,clearMany:S,snooze:C,snoozeMany:N,setState:E,setStates:I,setCount:P}),[n,o,i,r,a,s,c,l,d,f,p,m,h,g,y,v,w,b,k,x,S,C,N,E,I,P]);return e(_p.Provider,{value:A,children:t})},Panel:function({components:t,settings:n,...o}){return e(pm,{components:n,children:e(Tw,{components:t,children:e(Mw,{...o})})})},PanelBody:tw,PanelFooter:nw,PanelFooterButtonClearAll:iw,PanelFooterButtonClearAllOld:rw,PanelFooterButtons:ow,PanelHeader:Wv,PanelHeaderCaptionTitle:Vv,SettingsAllowNotificationToasts:Hp,SettingsAllowNotifications:zp,SettingsCloseNotificationOnClick:Vp,SettingsGeneral:Ap,SettingsHideToastsAfter:qp,SettingsPanel:gm,SettingsPanelAutoHide:Up,SettingsPlacement:em,SettingsPlacementPanel:nm,SettingsPlacementToasts:om,SettingsShowNotificationBadge:Wp,SettingsSnooze:im,SettingsSnoozeDuration:rm,SettingsStacking:Jp,SettingsSubscribeAll:sm,SettingsSubscribeApp:cm,SettingsSubscribeMuteAll:lm,SettingsSubscribeMuteApp:um,SettingsSubscriptions:am,SettingsToastStackBy:Zp,SettingsToastStacking:Yp,Toasts:function({components:t,...n}){return e(jw,{components:t,children:e(Ww,{...n})})},useAddRemoveApps:Tp,useHidePanelOnFocusLost:function(e=!0){const t=c(x),n=Ud();return f(()=>{if(!t||!e||null===n||!n)return;const o=t.windows.my()?.onFocusChanged(e=>{e.isFocused||t.notifications.panel.hide().catch(e=>{console.error(\"Error hiding panel:\",e)})});return()=>o?.()},[t,n,e]),t},useHidePanelOnKeyUp:function(e=\"Escape\"){const{hidePanel:t}=jp();qd(e,t)},useNotificationStacking:Rp,useNotificationsContext:jp,useNotificationsPanelContext:Hv,usePanelWindowPlacement:Bw,useSelectNotifications:Bp,useShowHidePanelWindow:function(e=!0){const t=c(x),n=t?.windows.my(),o=Ud(),{isPanelVisible:i}=Hv();return f(()=>{t&&n&&o&&(i?n.show().then(()=>{e&&n.focus().catch(e=>{console.error(\"Error focusing window:\",e)})}).catch(e=>console.error(\"Error showing window:\",e)):n.hide().catch(e=>console.error(\"Error hiding window:\",e)))},[t,n,o,i,e]),{myWindow:n}},useToastsWindowPlacement:Hw});var Uw=Object.freeze({__proto__:null,AllowDocking:Cf,AutoClose:({align:t=\"right\",label:n=\"Auto-close on starting apps and workspaces\",...o})=>e(wf,{align:t,label:n,prefKey:$a,disabled:!0,...o}),DockedAlwaysOnTop:Nf,DockedClaimsSpace:Ef,Downloads:Bf,DownloadsAskForEachDownload:dp,DownloadsLocation:up,General:yf,HideFavoritesFromLaunchpad:Sf,HideLabelsInExtendedArea:Pf,Layouts:Lf,LayoutsRestoreLastSaved:({align:t=\"right\",label:n=\"Restore last saved on startup\",...o})=>e(wf,{align:t,label:n,prefKey:qa,...o}),LayoutsSaveCurrentOnExit:Df,LayoutsShowDeletePrompt:Rf,LayoutsShowUnsavedChangesPrompt:Tf,MinimizeToTray:bf,Panel:Pp,PanelBody:gf,PinnedPosition:xf,ShowExtendedArea:If,ShowFavoritesInExtendedArea:Af,ShowRecentAppsInExtendedArea:Of,System:fp,SystemRestartSection:bp,SystemShutdownSection:kp,Theme:vf});const Kw=n=>{const{General:o,Layouts:i}=Qw();return t(Od,{element:Us,elementProps:n,children:[e(o,{}),e(i,{})]})},Gw=({title:t=\"General\",...n})=>{const{Theme:o}=Qw();return e(T,{title:t,\"data-testid\":\"preferences-panel-general-block\",...n,children:e(o,{})})},qw=({title:t=\"Layouts\",...n})=>{const{LayoutsShowDeletePrompt:o}=Qw();return e(T,{title:t,\"data-testid\":\"preferences-panel-layouts-block\",...n,children:e(o,{})})},Jw={Body:Kw,General:Gw,Theme:vf,Layouts:qw,LayoutsShowUnsavedChangesPrompt:Tf,LayoutsShowDeletePrompt:Rf},Yw=s(Jw),Xw=y(({children:t,components:n})=>{const o=u(()=>({...Jw,...n}),[n]);return e(Yw.Provider,{value:o,children:t})});Xw.displayName=\"PreferencesPanelComponentsStoreProvider\";const Qw=()=>c(Yw),Zw=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Qw();return e(Ep,{title:n,onClose:t,...o,children:e(i,{})})};var eb=Object.freeze({__proto__:null,General:Gw,Layouts:qw,LayoutsShowDeletePrompt:Rf,LayoutsShowUnsavedChangesPrompt:Tf,Panel:({components:t,...n})=>e(Xw,{components:t,children:e(Zw,{...n})}),PanelBody:Kw,Theme:vf}),tb=Object.freeze({__proto__:null,LicenseSection:bm,Panel:$m,PluginsSection:xm,ProductsInfoSection:km,Trademark:Sm,UserSection:Cm});export{O as Alert,L as Badge,T as Block,$ as Button,ae as ButtonGroup,P as ButtonIcon,jd as Checkbox,fe as Dialog,re as Dropdown,ei as DropdownMenu,ue as Footer,se as Header,Hs as HomeAppContextMenu,F as IOA11y,zm as IOActivePanelRenderer,Um as IOAlertTemplates,qm as IOAlerts,ch as IOChannelSelector,Ih as IODialogTemplates,$h as IODialogs,lp as IODownloadManager,fg as IOFeedback,_v as IOLaunchpad,Vw as IONotifications,eb as IOPreferencesBrowser,Uw as IOPreferencesDesktop,tb as IOProfile,I as Icon,Er as ImageIcon,$d as Input,Ld as Label,Q as List,Ws as Loader,Od as OverlayScrollbarsContainer,Gs as Panel,qs as Pill,ws as PlatformPrefsProvider,Js as Progress,zd as Radio,J as Separator,_d as Textarea,ff as ThemeContext,pf as ThemeProvider,D as Title,sf as Toggle,uf as appManagerUtils,df as ioDesktopUtils,Hd as useCurrentTheme,Wd as useDebounce,Vd as useHideWindowOnFocusLost,Fd as useId,Ud as useIsIODesktop,Kd as useIsMounted,ie as useKeyDown,Gd as useKeyPress,qd as useKeyUp,Jd as useMinimizeToTray,ks as usePlatformPref,bs as usePlatformPrefs,Xd as usePointerActions,Qd as usePopupWindow,Zd as useShowHideWindow,ef as useThemes,tf as useTimeout,af as useWindowDocking};\n//# sourceMappingURL=index.js.map\n","import { useCallback } from \"react\";\r\nimport { ExternalWindowPopupResult } from \"../../types/api\";\r\nimport { usePopupWindow } from \"@interopio/components-react\";\r\nimport { Size } from \"../../types/internal\";\r\n\r\nexport default function useExternalWindowPopup(): ExternalWindowPopupResult {\r\n const { getContainer, closePopup, createPopup, hidePopup, showPopup, isOpen, isVisible, popup } = usePopupWindow();\r\n\r\n const resizePopup = useCallback(async (size: Size) => {\r\n await popup?.ioConnectWindow.moveResize({ ...size });\r\n }, [popup]);\r\n\r\n return {\r\n getContainer,\r\n closePopup,\r\n createPopup,\r\n hidePopup,\r\n showPopup: showPopup as ExternalWindowPopupResult[\"showPopup\"],\r\n isOpen,\r\n isVisible,\r\n resizePopup,\r\n popup\r\n }\r\n}","import CloseButton from \"./defaultComponents/buttons/CloseButton\";\r\nimport FlatCaptionBar from \"./defaultComponents/flatCaptionBar/FlatCaptionBar\";\r\nimport GroupCaptionBar from \"./defaultComponents/groupCaptionBar/GroupCaptionBar\";\r\nimport MaximizeButton from \"./defaultComponents/buttons/MaximizeButton\";\r\nimport MinimizeButton from \"./defaultComponents/buttons/MinimizeButton\";\r\nimport Tab from \"./defaultComponents/tabs/Tab\";\r\nimport TabHeaderButtons from \"./defaultComponents/tabs/TabHeaderButtons\";\r\nimport TabCaption from \"./defaultComponents/tabs/TabCaption\";\r\nimport TabCloseButton from \"./defaultComponents/tabs/TabCloseButton\";\r\nimport GroupElementCreationWrapper from \"./GroupElementCreationWrapper\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport GroupMoveArea from \"./defaultComponents/groupCaptionBar/GroupMoveArea\";\r\nimport GroupButtons from \"./defaultComponents/groupCaptionBar/GroupButtons\";\r\nimport FlatMoveArea from \"./defaultComponents/flatCaptionBar/FlatMoveArea\";\r\nimport FlatButtons from \"./defaultComponents/flatCaptionBar/FlatButtons\";\r\nimport FlatCaption from \"./defaultComponents/flatCaptionBar/FlatCaption\";\r\nimport GroupCaption from \"./defaultComponents/groupCaptionBar/GroupCaption\";\r\nimport FlatChannelSelector from \"./defaultComponents/channelSelector/FlatChannelSelector\";\r\nimport TabChannelSelector from \"./defaultComponents/channelSelector/TabChannelSelector\";\r\nimport RestoreButton from \"./defaultComponents/buttons/RestoreButton\";\r\nimport LockButton from \"./defaultComponents/buttons/LockButtons\";\r\nimport UnlockButton from \"./defaultComponents/buttons/UnlockButton\";\r\nimport ExtractButton from \"./defaultComponents/buttons/ExtractButton\";\r\nimport FeedbackButton from \"./defaultComponents/buttons/FeedbackButton\";\r\nimport CloneButton from \"./defaultComponents/buttons/CloneButton\";\r\nimport StickyButton from \"./defaultComponents/buttons/StickyButton\";\r\nimport OverflowButton from \"./defaultComponents/buttons/OverflowButton\";\r\nimport useIOConnectWindow from \"./useIOConnectWindow\";\r\nimport CustomButton from \"./defaultComponents/buttons/CustomButton\";\r\nimport { waitForWindow } from \"./utils\";\r\nimport useGroupComponentVisibility from \"./useGroupComponentVisibility\";\r\nimport type {\r\n CloseButtonProps,\r\n ExtractButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n FlatCaptionProps,\r\n FlatChannelSelectorProps,\r\n FlatMoveAreaProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupMoveAreaProps,\r\n LockButtonProps,\r\n MaximizeButtonProps,\r\n MinimizeButtonProps,\r\n RestoreButtonProps,\r\n TabCaptionEditorProps,\r\n TabCaptionProps,\r\n TabChannelSelectorProps,\r\n TabCloseButtonProps,\r\n UnlockButtonProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n OverflowButtonProps\r\n} from \"./types/defaultComponents\";\r\nimport type {\r\n AboveTabsProps,\r\n AboveWindowProps,\r\n AfterTabsProps,\r\n BeforeTabsProps,\r\n BelowTabsProps,\r\n BelowWindowProps,\r\n FlatCaptionBarProps,\r\n FrameLoadingAnimationProps,\r\n FrameWindowOverlayProps,\r\n GroupCaptionBarProps,\r\n GroupComponentVisibilityState,\r\n GroupOverlayProps,\r\n GroupProps,\r\n HtmlButtonsProps,\r\n MoveAreaProps,\r\n OpenTabOverflowPopupOptions,\r\n TabElementProps,\r\n TabHeaderButtonsProps,\r\n TabOverflowPopupProps,\r\n WindowContentOverlayProps,\r\n} from \"./types/api\";\r\nimport GroupCaptionEditor from \"./defaultComponents/groupCaptionBar/GroupCaptionEditor\";\r\nimport FlatCaptionEditor from \"./defaultComponents/flatCaptionBar/FlatCaptionEditor\";\r\nimport TabCaptionEditor from \"./defaultComponents/tabs/TabCaptionEditor\";\r\nimport { TargetType } from \"./types/internal\";\r\nimport type { Location } from \"./types/internal\";\r\nimport useCommitTabCaptionEditingRequested from \"./defaultComponents/tabs/useCommitTabCaptionEditingRequested\";\r\nimport useCommitGroupCaptionEditingRequested from \"./defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested\";\r\nimport useCommitFlatCaptionEditingRequested from \"./defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested\";\r\nimport useEditableCaption from \"./defaultComponents/captionEditor/useEditableCaption\";\r\nimport useCaptionEditor from \"./defaultComponents/captionEditor/useCaptionEditor\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\nimport HtmlButtons from \"./defaultComponents/htmlButtonsBar/buttons\";\r\nimport TabOverflowPopup from \"./defaultComponents/popups/TabOverflowPopup\";\r\nimport TabMultiChannelSelector from \"./defaultComponents/channelSelector/multi/TabMultiChannelSelector\";\r\nimport FlatMultiChannelSelector from \"./defaultComponents/channelSelector/multi/FlatMultiChannelSelector\";\r\nimport { useDragMove } from \"./defaultComponents/utils/useDragMove\";\r\nimport useExternalWindowPopup from \"./defaultComponents/hooks/useExternalWindowPopup\";\r\n\r\nexport {\r\n GroupCaptionBar,\r\n GroupMoveArea,\r\n GroupButtons,\r\n GroupCaptionEditor,\r\n Tab,\r\n TabChannelSelector,\r\n TabCaption,\r\n TabCloseButton,\r\n TabCaptionEditor,\r\n FeedbackButton,\r\n CloneButton,\r\n StickyButton,\r\n ExtractButton,\r\n LockButton,\r\n UnlockButton,\r\n MinimizeButton,\r\n RestoreButton,\r\n MaximizeButton,\r\n CustomButton,\r\n CloseButton,\r\n FlatCaptionBar,\r\n FlatChannelSelector,\r\n FlatCaption,\r\n FlatMoveArea,\r\n FlatButtons,\r\n FlatCaptionEditor,\r\n TabHeaderButtons,\r\n FrameLoadingAnimation,\r\n HtmlButtons,\r\n TabOverflowPopup,\r\n OverflowButton,\r\n TabMultiChannelSelector,\r\n FlatMultiChannelSelector,\r\n useIOConnectWindow,\r\n useGroupComponentVisibility,\r\n waitForWindow,\r\n useEditableCaption,\r\n useCaptionEditor,\r\n useDragMove,\r\n useCommitGroupCaptionEditingRequested,\r\n useCommitFlatCaptionEditingRequested,\r\n useCommitTabCaptionEditingRequested,\r\n useExternalWindowPopup,\r\n}\r\n\r\nexport const getGroupId: () => string = () => webGroupsManager?.getGroupId();\r\nexport const requestPageFocus: () => void = () => webGroupsManager?.requestPageFocus();\r\nexport const requestFrameFocus: (frameId: string) => void = (frameId) => webGroupsManager?.requestFrameFocus(frameId);\r\nexport const requestGroupFocus: () => void = () => webGroupsManager?.requestGroupFocus();\r\nexport const openTabOverflowPopup: (options: OpenTabOverflowPopupOptions) => void = ({ frameId, location }: OpenTabOverflowPopupOptions) => webGroupsManager.openTabOverflowPopup(frameId, location);\r\n\r\nexport const onCommitGroupCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Group, targetId, cb);\r\nexport const onCommitFlatCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Frame, targetId, cb);\r\nexport const onCommitTabCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Tab, targetId, cb);\r\n\r\nexport { GroupCaption };\r\n\r\nexport type {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupComponentVisibilityState,\r\n TabElementProps,\r\n TabChannelSelectorProps,\r\n TabCaptionProps,\r\n TabCloseButtonProps,\r\n TabHeaderButtonsProps,\r\n TabCaptionEditorProps,\r\n HtmlButtonsProps,\r\n FlatCaptionBarProps,\r\n FlatCaptionProps,\r\n FrameWindowOverlayProps,\r\n FlatMoveAreaProps,\r\n FlatChannelSelectorProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n OverflowButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n ExtractButtonProps,\r\n LockButtonProps,\r\n UnlockButtonProps,\r\n MinimizeButtonProps,\r\n MaximizeButtonProps,\r\n RestoreButtonProps,\r\n CloseButtonProps,\r\n FrameLoadingAnimationProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n AboveWindowProps,\r\n BelowWindowProps,\r\n AboveTabsProps,\r\n BelowTabsProps,\r\n BeforeTabsProps,\r\n AfterTabsProps,\r\n WindowContentOverlayProps,\r\n TabOverflowPopupProps,\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n"],"names":["StandardButtonTarget","TargetType","StandardButtons","_a","index","_i","io","hash","r","b","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","require$$0","useState","useEffect","useLayoutEffect","shim","shimModule","require$$1","React","_d","_c","_f","_e","_g","_l","_n","_p","_o","_r","ReactDOM","_","useSyncExternalStore","te","_t","_u","_w","e","t","o","n","a","s","c","l","u","d","f","p","i","m","h","S","C","N","E","I","P","L","D","T","R","B","M","$","j","g","y","v","w","z","H","W","V","U","K","G","q","Y","J","X","Q","Z","ee","k","x","A","O","ne","oe","ie","re","ae","se","ce","le","ue","de","fe","pe","me","he","ge","ye","ve","we","be","ke","xe","Se","F","_b","usePopupWindow"],"mappings":"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","x_google_ignoreList":[1,7,24,49,50,51]}