@interopio/groups-ui-react 4.2.8-next.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +3996 -3855
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +4519 -4378
- package/dist/esm/index.js.map +1 -1
- package/dist/styles/vars.css +1 -1
- package/package.json +7 -44
package/dist/esm/index.js.map
CHANGED
|
@@ -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","../../node_modules/@interopio/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 m,useLayoutEffect as p,useId as h,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 C,k={exports:{}};\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/C=k,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 N=b(k.exports);function S({className:t,size:n=\"16\",variant:o=\"workspace\",...i}){const r=N(\"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 D=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 m=N(\"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:m,type:\"button\",ref:f,\"aria-label\":\"icon button\",\"aria-disabled\":c,title:r,onClick:p,disabled:c,...d,children:u??(o&&e(S,{variant:o,size:s}))})});D.displayName=\"ButtonIcon\";const x={default:void 0,info:\"info\",success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function E({className:n,variant:o=\"default\",size:i=\"normal\",text:r,close:a=!1,closeButtonOnClick:s,append:l,...c}){const u=N(\"io-alert\",`io-alert-${o}`,\"large\"===i&&\"io-alert-lg\",n),d=x[o];return t(\"div\",{\"data-testid\":\"io-alert\",className:u,role:\"alert\",\"aria-label\":\"alert\",...c,children:[d&&e(S,{\"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(D,{\"data-testid\":\"io-alert-close-button\",className:\"ms-auto\",size:\"16\",iconSize:\"10\",icon:\"close\",onClick:s})]})}function I({className:t,variant:n=\"default\",children:o,...i}){const r=N(\"io-badge\",\"default\"!==n&&[`io-badge-${n}`],t);return e(\"div\",{className:r,...i,children:o})}function M({className:t,tag:n=\"h2\",size:o=\"normal\",text:i=\"Title\",...r}){const a=n,s=N(\"small\"===o&&\"io-title-semibold\",\"normal\"===o&&\"io-title\",\"large\"===o&&\"io-title-large\",t);return e(a,{className:s,...r,children:i})}function P({className:n,title:o,titleSize:i=\"normal\",tag:r,hint:a,children:s,...l}){const c=N(\"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(M,{id:u,tag:r,text:o,size:i}),s,a&&e(\"p\",{className:\"io-text-smaller\",children:a})]})}const A=e=>\"Enter\"===e.key||\" \"===e.key,T=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,...m},p)=>{const h=N(\"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||A(e)&&(e.preventDefault(),g(e))},[g,d]);return t(\"button\",{className:h,ref:p,type:\"button\",\"aria-disabled\":d,onClick:g,onKeyDown:v,disabled:d,tabIndex:0,...m,children:[r&&!l&&e(S,{variant:r,size:s}),f??c,r&&l&&e(S,{variant:r,size:s})]})});T.displayName=\"Button\";const O=s({}),F=r(({icon:t=\"chevron-down\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(O),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]),m=a(e=>{o?.(e),e.defaultPrevented||A(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(T,{icon:t,iconRight:!0,onClick:f,onKeyDown:m,disabled:c,ref:d,...i})});F.displayName=\"DropdownButton\";const L=r(({size:t=\"32\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(O),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]),m=a(e=>{o?.(e),e.defaultPrevented||A(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(D,{size:t,onClick:f,onKeyDown:m,disabled:c,ref:d,...i})});function B({className:t,...n}){const o=N(\"io-dropdown-content\",t);return e(\"div\",{className:o,...n})}L.displayName=\"DropdownButtonIcon\";const R=s({}),_=r((n,o)=>{const{className:i,prepend:r,append:a,isSelected:s,onClick:c,description:u,disabled:d=!1,children:f,tooltip:m,...p}=n,{variant:h=\"default\",selected:g,checkIcon:v,handleItemClick:y}=l(R),w=s??g?.some(e=>e.children===f),b=\"default\"!==h&&!!v,C=b||r,k=N(\"io-list-item\",C&&\"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:k,ref:o,role:\"menuitem\",\"aria-roledescription\":\"menuitem\",tabIndex:0,onClick:e=>{d?e.preventDefault():(y?.(e,{children:f}),c?.(e))},...p,children:[C&&t(\"div\",{className:\"io-list-left-column\",children:[b&&e(S,{variant:v.variant,title:w?v.tooltip:void 0,\"data-testid\":\"list-item-check-icon\"}),r]}),e(\"span\",{className:\"io-list-text\",title:m,\"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 H=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"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:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"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})]})});j.displayName=\"ListItemSection\";const $=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"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})]})});$.displayName=\"ListItemHeader\";const z=r(({className:t,children:n,...o},i)=>{const r=N(\"io-list-item\",\"io-list-with-sub-items\",t);return e(\"li\",{className:r,ref:i,...o,children:n})});z.displayName=\"ListItemWithSubItems\";const W=r((t,n)=>{const{className:o,variant:i=\"default\",checkIcon:r,children:s,...l}=t,[d,f]=c([]),m=N(\"io-list\",\"default\"!==i&&\"io-list-selectable\",o),p=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:p,handleItemClick:h}),[i,d,p,h]);return e(R.Provider,{value:g,children:e(\"ul\",{className:m,ref:n,...l,children:s})})});W.displayName=\"List\";const V=W;V.Item=_,V.ItemTitle=H,V.ItemSection=j,V.ItemHeader=$,V.ItemWithSubItems=z;const Y=r((t,n)=>e(V,{...t,ref:n}));Y.displayName=\"DropdownList\";const U=r((t,n)=>{const{handleClose:o}=l(O),{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||!A(e))return;e.preventDefault(),e.stopPropagation();const t=(\"function\"==typeof n?null:n?.current)||c.current;t?.click()}})});U.displayName=\"DropdownItem\";const K=r((t,n)=>e(H,{...t,ref:n}));K.displayName=\"DropdownItemTitle\";const J=r((t,n)=>e(j,{...t,ref:n}));function q({className:t,...n}){const o=N(\"io-separator\",t);return e(\"hr\",{className:o,...n})}J.displayName=\"DropdownItemSection\";const G=r((t,n)=>e(q,{...t}));G.displayName=\"DropdownSeparator\";function Q(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 X=r(({className:t,variant:n=\"outline\",align:o=\"down\",disabled:i,isOpen:r,onOpenChange:s,children:l,...p},h)=>{const g=d(null),v=d(null);m(h,()=>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),Q(()=>{y&&b()},[\"Escape\"],v),Q(()=>{y||i||g.current!==document.activeElement||w()},[\"ArrowDown\",\"ArrowUp\"],v);const C=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]),k=N(\"io-dropdown\",y&&\"io-dropdown-open\",\"default\"!==n&&`io-dropdown-${n}`,t);return e(O.Provider,{value:C,children:e(\"div\",{className:k,ref:v,...p,children:l})})});function Z({className:t,variant:n=\"default\",align:o=\"left\",children:i,...r}){const a=N(\"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 ee({className:t,draggable:n=!1,children:o,...i}){const r=N(\"io-header\",n&&[\"draggable\"],t);return e(\"header\",{className:r,...i,children:o})}function te({className:t,children:n,...o}){const i=N(\"io-dialog-header\",t);return e(ee,{\"data-testid\":\"io-dialog-header\",className:i,...o,children:n})}function ne({className:t,children:n,...o}){const i=N(\"io-dialog-body\",t);return e(\"div\",{\"data-testid\":\"io-dialog-body\",className:i,...o,children:n})}function oe({className:t,children:n,...o}){const i=N(\"io-footer\",t);return e(\"footer\",{className:i,...o,children:n})}function ie({className:t,...n}){const o=N(\"io-dialog-footer\",t);return e(oe,{\"data-testid\":\"io-dialog-footer\",className:o,...n})}function re({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=N(\"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(te,{draggable:a,children:[e(\"h3\",{\"data-testid\":\"io-dialog-title\",children:i}),e(Z,{children:e(D,{className:\"non-draggable\",\"data-testid\":\"io-dialog-close-button\",size:\"24\",icon:\"close\",iconSize:\"12\",onClick:s,tabIndex:-1})})]}),l]})}function ae(){return\"undefined\"!=typeof window}function se(e){return ue(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function le(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ce(e){var t;return null==(t=(ue(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ue(e){return!!ae()&&(e instanceof Node||e instanceof le(e).Node)}function de(e){return!!ae()&&(e instanceof Element||e instanceof le(e).Element)}function fe(e){return!!ae()&&(e instanceof HTMLElement||e instanceof le(e).HTMLElement)}function me(e){return!(!ae()||\"undefined\"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof le(e).ShadowRoot)}X.Button=F,X.ButtonIcon=L,X.Content=B,X.List=Y,X.Item=U,X.ItemTitle=K,X.ItemSection=J,X.Separator=G,Z.Button=T,Z.ButtonIcon=D,Z.Dropdown=X,ee.Title=M,ee.ButtonGroup=Z,ee.Button=T,ee.ButtonIcon=D,ee.Dropdown=X,te.Title=M,te.ButtonGroup=Z,te.Button=T,te.ButtonIcon=D,te.Dropdown=X,ne.Content=function({className:t,children:n,...o}){const i=N(\"io-dialog-content\",t);return e(\"div\",{className:i,...o,children:n})},oe.ButtonGroup=Z,oe.Button=T,oe.ButtonIcon=D,oe.Dropdown=X,ie.ButtonGroup=Z,ie.Button=T,ie.ButtonIcon=D,ie.Dropdown=X,re.Header=te,re.Body=ne,re.Footer=ie;const pe=new Set([\"inline\",\"contents\"]);function he(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!pe.has(i)}const ge=new Set([\"table\",\"td\",\"th\"]);function ve(e){return ge.has(se(e))}const ye=[\":popover-open\",\":modal\"];function we(e){return ye.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const be=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\"],Ce=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\",\"filter\"],ke=[\"paint\",\"layout\",\"strict\",\"content\"];function Ne(e){const t=Se(),n=de(e)?Ee(e):e;return be.some(e=>!!n[e]&&\"none\"!==n[e])||!!n.containerType&&\"normal\"!==n.containerType||!t&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!t&&!!n.filter&&\"none\"!==n.filter||Ce.some(e=>(n.willChange||\"\").includes(e))||ke.some(e=>(n.contain||\"\").includes(e))}function Se(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}const De=new Set([\"html\",\"body\",\"#document\"]);function xe(e){return De.has(se(e))}function Ee(e){return le(e).getComputedStyle(e)}function Ie(e){return de(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Me(e){if(\"html\"===se(e))return e;const t=e.assignedSlot||e.parentNode||me(e)&&e.host||ce(e);return me(t)?t.host:t}function Pe(e){const t=Me(e);return xe(t)?e.ownerDocument?e.ownerDocument.body:e.body:fe(t)&&he(t)?t:Pe(t)}function Ae(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=Pe(e),r=i===(null==(o=e.ownerDocument)?void 0:o.body),a=le(i);if(r){const e=Te(a);return t.concat(a,a.visualViewport||[],he(i)?i:[],e&&n?Ae(e):[])}return t.concat(i,Ae(i,[],n))}function Te(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Oe(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 Fe(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 Le(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function Be(){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 Re(e){return!(0!==e.mozInputSource||!e.isTrusted)||(je()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function _e(e){return!Be().includes(\"jsdom/\")&&(!je()&&0===e.width&&0===e.height||je()&&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 He(){return/apple/i.test(navigator.vendor)}function je(){const e=/android/i;return e.test(Le())||e.test(Be())}function $e(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function ze(e){return(null==e?void 0:e.ownerDocument)||document}function We(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 Ye(e){return fe(e)&&e.matches(\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\")}function Ue(e){e.preventDefault(),e.stopPropagation()}function Ke(e){return!!e&&(\"combobox\"===e.getAttribute(\"role\")&&Ye(e))}const Je=Math.min,qe=Math.max,Ge=Math.round,Qe=Math.floor,Xe=e=>({x:e,y:e}),Ze={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},et={start:\"end\",end:\"start\"};function tt(e,t,n){return qe(e,Je(t,n))}function nt(e,t){return\"function\"==typeof e?e(t):e}function ot(e){return e.split(\"-\")[0]}function it(e){return e.split(\"-\")[1]}function rt(e){return\"x\"===e?\"y\":\"x\"}function at(e){return\"y\"===e?\"height\":\"width\"}const st=new Set([\"top\",\"bottom\"]);function lt(e){return st.has(ot(e))?\"y\":\"x\"}function ct(e){return rt(lt(e))}function ut(e){return e.replace(/start|end/g,e=>et[e])}const dt=[\"left\",\"right\"],ft=[\"right\",\"left\"],mt=[\"top\",\"bottom\"],pt=[\"bottom\",\"top\"];function ht(e,t,n,o){const i=it(e);let r=function(e,t,n){switch(e){case\"top\":case\"bottom\":return n?t?ft:dt:t?dt:ft;case\"left\":case\"right\":return t?mt:pt;default:return[]}}(ot(e),\"start\"===n,o);return i&&(r=r.map(e=>e+\"-\"+i),t&&(r=r.concat(r.map(ut)))),r}function gt(e){return e.replace(/left|right|bottom|top/g,e=>Ze[e])}function vt(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.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/var yt=[\"input:not([inert])\",\"select:not([inert])\",\"textarea:not([inert])\",\"a[href]:not([inert])\",\"button:not([inert])\",\"[tabindex]:not(slot):not([inert])\",\"audio[controls]:not([inert])\",\"video[controls]:not([inert])\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert])',\"details>summary:first-of-type:not([inert])\",\"details:not([inert])\"].join(\",\"),wt=\"undefined\"==typeof Element,bt=wt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ct=!wt&&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},kt=function e(t,n){var o;void 0===n&&(n=!0);var i=null==t||null===(o=t.getAttribute)||void 0===o?void 0:o.call(t,\"inert\");return\"\"===i||\"true\"===i||n&&t&&e(t.parentNode)},Nt=function e(t,n,o){for(var i=[],r=Array.from(t);r.length;){var a=r.shift();if(!kt(a,!1))if(\"SLOT\"===a.tagName){var s=a.assignedElements(),l=e(s.length?s:a.children,!0,o);o.flatten?i.push.apply(i,l):i.push({scopeParent:a,candidates:l})}else{bt.call(a,yt)&&o.filter(a)&&(n||!t.includes(a))&&i.push(a);var c=a.shadowRoot||\"function\"==typeof o.getShadowRoot&&o.getShadowRoot(a),u=!kt(c,!1)&&(!o.shadowRootFilter||o.shadowRootFilter(a));if(c&&u){var d=e(!0===c?a.children:c.children,!0,o);o.flatten?i.push.apply(i,d):i.push({scopeParent:a,candidates:d})}else r.unshift.apply(r,a.children)}}return i},St=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))&&!St(e)?0:e.tabIndex},xt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Et=function(e){return\"INPUT\"===e.tagName},It=function(e){return function(e){return Et(e)&&\"radio\"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||Ct(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},Pt=function(e,t){var n=t.displayCheck,o=t.getShadowRoot;if(\"hidden\"===getComputedStyle(e).visibility)return!0;var i=bt.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(bt.call(i,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==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=Ct(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&&Ct(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=Ct(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},At=function(e,t){return!(t.disabled||kt(t)||function(e){return Et(e)&&\"hidden\"===e.type}(t)||Pt(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!!bt.call(t,\"fieldset[disabled] *\")||!o.contains(e)}return!0}t=t.parentElement}return!1}(t))},Tt=function(e,t){return!(It(t)||Dt(t)<0||!At(e,t))},Ot=function(e){var t=parseInt(e.getAttribute(\"tabindex\"),10);return!!(isNaN(t)||t>=0)},Ft=function e(t){var n=[],o=[];return t.forEach(function(t,i){var r=!!t.scopeParent,a=r?t.scopeParent:t,s=function(e,t){var n=Dt(e);return n<0&&t&&!St(e)?0:n}(a,r),l=r?e(t.candidates):a;0===s?r?n.push.apply(n,l):n.push(a):o.push({documentOrder:i,tabIndex:s,item:t,isScope:r,content:l})}),o.sort(xt).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(n)},Lt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Nt([e],t.includeContainer,{filter:Tt.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Ot}):function(e,t,n){if(kt(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(yt));return t&&bt.call(e,yt)&&o.unshift(e),o.filter(n)}(e,t.includeContainer,Tt.bind(null,t)),Ft(n)};function Bt(e,t,n){let{reference:o,floating:i}=e;const r=lt(t),a=ct(t),s=at(a),l=ot(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 m;switch(l){case\"top\":m={x:u,y:o.y-i.height};break;case\"bottom\":m={x:u,y:o.y+o.height};break;case\"right\":m={x:o.x+o.width,y:d};break;case\"left\":m={x:o.x-i.width,y:d};break;default:m={x:o.x,y:o.y}}switch(it(t)){case\"start\":m[a]-=f*(n&&c?-1:1);break;case\"end\":m[a]+=f*(n&&c?-1:1)}return m}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:m=0}=nt(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}}(m),h=s[f?\"floating\"===d?\"reference\":\"floating\":d],g=vt(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: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=vt(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 _t=new Set([\"left\",\"top\"]);function Ht(e){const t=Ee(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=fe(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 jt(e){return de(e)?e:e.contextElement}function $t(e){const t=jt(e);if(!fe(t))return Xe(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:r}=Ht(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 zt=Xe(0);function Wt(e){const t=le(e);return Se()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:zt}function Vt(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),r=jt(e);let a=Xe(1);t&&(o?de(o)&&(a=$t(o)):a=$t(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==le(e))&&t}(r,n,o)?Wt(r):Xe(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=le(r),t=o&&de(o)?le(o):o;let n=e,i=Te(n);for(;i&&o&&t!==n;){const e=$t(i),t=i.getBoundingClientRect(),o=Ee(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=le(i),i=Te(n)}}return vt({width:u,height:d,x:l,y:c})}function Yt(e,t){const n=Ie(e).scrollLeft;return t?t.left+n:Vt(ce(e)).left+n}function Ut(e,t,n){void 0===n&&(n=!1);const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-(n?0:Yt(e,o)),y:o.top+t.scrollTop}}const Kt=new Set([\"absolute\",\"fixed\"]);function Jt(e,t,n){let o;if(\"viewport\"===t)o=function(e,t){const n=le(e),o=ce(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=Se();(!e||e&&\"fixed\"===t)&&(s=i.offsetLeft,l=i.offsetTop)}return{width:r,height:a,x:s,y:l}}(e,n);else if(\"document\"===t)o=function(e){const t=ce(e),n=Ie(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+Yt(e);const s=-n.scrollTop;return\"rtl\"===Ee(o).direction&&(a+=qe(t.clientWidth,o.clientWidth)-i),{width:i,height:r,x:a,y:s}}(ce(e));else if(de(t))o=function(e,t){const n=Vt(e,!0,\"fixed\"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,r=fe(e)?$t(e):Xe(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=Wt(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return vt(o)}function qt(e,t){const n=Me(e);return!(n===t||!de(n)||xe(n))&&(\"fixed\"===Ee(n).position||qt(n,t))}function Gt(e,t,n){const o=fe(t),i=ce(t),r=\"fixed\"===n,a=Vt(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const l=Xe(0);function c(){l.x=Yt(i)}if(o||!o&&!r)if((\"body\"!==se(t)||he(i))&&(s=Ie(t)),o){const e=Vt(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?Xe(0):Ut(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 Qt(e){return\"static\"===Ee(e).position}function Xt(e,t){if(!fe(e)||\"fixed\"===Ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return ce(e)===n&&(n=n.ownerDocument.body),n}function Zt(e,t){const n=le(e);if(we(e))return n;if(!fe(e)){let t=Me(e);for(;t&&!xe(t);){if(de(t)&&!Qt(t))return t;t=Me(t)}return n}let o=Xt(e,t);for(;o&&ve(o)&&Qt(o);)o=Xt(o,t);return o&&xe(o)&&Qt(o)&&!Ne(o)?n:o||function(e){let t=Me(e);for(;fe(t)&&!xe(t);){if(Ne(t))return t;if(we(t))return null;t=Me(t)}return null}(e)||n}const en={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const r=\"fixed\"===i,a=ce(o),s=!!t&&we(t.floating);if(o===a||s&&r)return n;let l={scrollLeft:0,scrollTop:0},c=Xe(1);const u=Xe(0),d=fe(o);if((d||!d&&!r)&&((\"body\"!==se(o)||he(a))&&(l=Ie(o)),fe(o))){const e=Vt(o);c=$t(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const f=!a||d||r?Xe(0):Ut(a,l,!0);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:ce,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[...\"clippingAncestors\"===n?we(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let o=Ae(e,[],!1).filter(e=>de(e)&&\"body\"!==se(e)),i=null;const r=\"fixed\"===Ee(e).position;let a=r?Me(e):e;for(;de(a)&&!xe(a);){const t=Ee(a),n=Ne(a);n||\"fixed\"!==t.position||(i=null),(r?!n&&!i:!n&&\"static\"===t.position&&i&&Kt.has(i.position)||he(a)&&!n&&qt(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=Jt(t,n,i);return e.top=qe(o.top,e.top),e.right=Je(o.right,e.right),e.bottom=Je(o.bottom,e.bottom),e.left=qe(o.left,e.left),e},Jt(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:Zt,getElementRects:async function(e){const t=this.getOffsetParent||Zt,n=this.getDimensions,o=await n(e.floating);return{reference:Gt(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}=Ht(e);return{width:t,height:n}},getScale:$t,isElement:de,isRTL:function(e){return\"rtl\"===Ee(e).direction}};function tn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nn(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=jt(e),u=i||r?[...c?Ae(c):[],...Ae(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=ce(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:m}=c;if(s||t(),!f||!m)return;const p={rootMargin:-Qe(d)+\"px \"+-Qe(i.clientWidth-(u+f))+\"px \"+-Qe(i.clientHeight-(d+m))+\"px \"+-Qe(u)+\"px\",threshold:qe(0,Je(1,l))||1};let h=!0;function g(t){const o=t[0].intersectionRatio;if(o!==l){if(!h)return a();o?a(!1,o):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==o||tn(c,e.getBoundingClientRect())||a(),h=!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,m=-1,p=null;a&&(p=new ResizeObserver(e=>{let[o]=e;o&&o.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),n()}),c&&!l&&p.observe(c),p.observe(t));let h=l?Vt(e):null;return l&&function t(){const o=Vt(e);h&&!tn(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=p)||e.disconnect(),p=null,l&&cancelAnimationFrame(f)}}const on=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=ot(n),s=it(n),l=\"y\"===lt(n),c=_t.has(a)?-1:1,u=r&&l?-1:1,d=nt(t,e);let{mainAxis:f,crossAxis:m,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&&(m=\"end\"===s?-1*p:p),l?{x:m*u,y:f*c}:{x:f*c,y:m*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}}}}},rn=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:r=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=nt(e,t),c={x:n,y:o},u=await Rt(t,l),d=lt(ot(i)),f=rt(d);let m=c[f],p=c[d];if(r){const e=\"y\"===f?\"bottom\":\"right\";m=tt(m+u[\"y\"===f?\"top\":\"left\"],m,m-u[e])}if(a){const e=\"y\"===d?\"bottom\":\"right\";p=tt(p+u[\"y\"===d?\"top\":\"left\"],p,p-u[e])}const h=s.fn({...t,[f]:m,[d]:p});return{...h,data:{x:h.x-n,y:h.y-o,enabled:{[f]:r,[d]:a}}}}}},an=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:m=\"bestFit\",fallbackAxisSideDirection:p=\"none\",flipAlignment:h=!0,...g}=nt(e,t);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const v=ot(i),y=lt(s),w=ot(s)===s,b=await(null==l.isRTL?void 0:l.isRTL(c.floating)),C=f||(w||!h?[gt(s)]:function(e){const t=gt(e);return[ut(e),t,ut(t)]}(s)),k=\"none\"!==p;!f&&k&&C.push(...ht(s,h,p,b));const N=[s,...C],S=await Rt(t,g),D=[];let x=(null==(o=r.flip)?void 0:o.overflows)||[];if(u&&D.push(S[v]),d){const e=function(e,t,n){void 0===n&&(n=!1);const o=it(e),i=ct(e),r=at(i);let a=\"x\"===i?o===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===o?\"bottom\":\"top\";return t.reference[r]>t.floating[r]&&(a=gt(a)),[a,gt(a)]}(i,a,b);D.push(S[e[0]],S[e[1]])}if(x=[...x,{placement:i,overflows:D}],!D.every(e=>e<=0)){var E,I;const e=((null==(E=r.flip)?void 0:E.index)||0)+1,t=N[e];if(t){if(!(\"alignment\"===d&&y!==lt(t))||x.every(e=>lt(e.placement)!==y||e.overflows[0]>0))return{data:{index:e,overflows:x},reset:{placement:t}}}let n=null==(I=x.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:I.placement;if(!n)switch(m){case\"bestFit\":{var M;const e=null==(M=x.filter(e=>{if(k){const t=lt(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:M[0];e&&(n=e);break}case\"initialPlacement\":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},sn=(e,t,n)=>{const o=new Map,i={platform:en,...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),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}=Bt(c,o,l),f=o,m={},p=0;for(let n=0;n<s.length;n++){const{name:r,fn:h}=s[n],{x:g,y:v,data:y,reset:w}=await h({x:u,y:d,initialPlacement:o,placement:f,strategy:i,middlewareData:m,rects:c,platform:a,elements:{reference:e,floating:t}});u=null!=g?g:u,d=null!=v?v:d,m={...m,[r]:{...m[r],...y}},w&&p<=50&&(p++,\"object\"==typeof w&&(w.placement&&(f=w.placement),w.rects&&(c=!0===w.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):w.rects),({x:u,y:d}=Bt(c,f,l))),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}})(e,t,{...i,platform:r})};var ln=\"undefined\"!=typeof document?p:function(){};function cn(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(!cn(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)&&!cn(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function un(e){if(\"undefined\"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function dn(e,t){const n=un(e);return Math.round(t*n)/n}function fn(e){const t=o.useRef(e);return ln(()=>{t.current=e}),t}const mn=(e,t)=>({...rn(e),options:[e,t]}),pn=(e,t)=>({...an(e),options:[e,t]});function hn(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 gn={...o},vn=gn.useInsertionEffect||(e=>e());function yn(e){const t=o.useRef(()=>{if(\"production\"!==process.env.NODE_ENV)throw new Error(\"Cannot call an event handler while rendering.\")});return vn(()=>{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 wn=\"ArrowUp\",bn=\"ArrowDown\",Cn=\"ArrowLeft\",kn=\"ArrowRight\";function Nn(e,t,n){return Math.floor(e/t)!==n}function Sn(e,t){return t<0||t>=e.current.length}function Dn(e,t){return En(e,{disabledIndices:t})}function xn(e,t){return En(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function En(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&&Pn(a,s,i));return s}function In(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 Pn(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 An=\"undefined\"!=typeof document?p:f;function Tn(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 On=o.createContext({register:()=>{},unregister:()=>{},map:new Map,elementsRef:{current:[]}});function Fn(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 An(()=>{const e=new Map(r);Array.from(e.keys()).sort(Tn).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(On.Provider,{value:o.useMemo(()=>({register:s,unregister:l,map:r,elementsRef:n,labelsRef:i}),[s,l,r,n,i])},t)}function Ln(e){void 0===e&&(e={});const{label:t}=e,{register:n,unregister:i,map:r,elementsRef:a,labelsRef:s}=o.useContext(On),[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 An(()=>{const e=u.current;if(e)return n(e),()=>{i(e)}},[n,i]),An(()=>{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 Bn(){return Bn=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},Bn.apply(this,arguments)}let Rn=!1,_n=0;const Hn=()=>\"floating-ui-\"+Math.random().toString(36).slice(2,6)+_n++;const jn=gn.useId||function(){const[e,t]=o.useState(()=>Rn?Hn():void 0);return An(()=>{null==e&&t(Hn())},[]),o.useEffect(()=>{Rn=!0},[]),e};let $n;function zn(){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 Wn(){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 Vn=o.createContext(null),Yn=o.createContext(null),Un=()=>{var e;return(null==(e=o.useContext(Vn))?void 0:e.id)||null},Kn=()=>o.useContext(Yn);function Jn(e){const{children:t,id:n}=e,i=Un();return o.createElement(Vn.Provider,{value:o.useMemo(()=>({id:n,parentId:i}),[n,i])},t)}function qn(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(()=>Wn())[0];return o.createElement(Yn.Provider,{value:o.useMemo(()=>({nodesRef:n,addNode:i,removeNode:r,events:a}),[i,r,a])},t)}function Gn(e){return\"data-floating-ui-\"+e}function Qn(e){const t=d(e);return An(()=>{t.current=e}),t}const Xn=Gn(\"safe-polygon\");function Zn(e,t,n){return n&&!$e(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}let eo=0;function to(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:o=!0,sync:i=!1}=t;o&&cancelAnimationFrame(eo);const r=()=>null==e?void 0:e.focus({preventScroll:n});i?r():eo=requestAnimationFrame(r)}function no(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 oo=new WeakMap,io=new WeakSet,ro={},ao=0;const so=e=>e&&(e.host||so(e.parentNode));function lo(e,t,n,o){const i=\"data-floating-ui-inert\",r=o?\"inert\":n?\"aria-hidden\":null,a=(s=t,e.map(e=>{if(s.contains(e))return e;const t=so(e);return s.contains(t)?t:null}).filter(e=>null!=e));var s;const l=new Set,c=new Set(a),u=[];ro[i]||(ro[i]=new WeakMap);const d=ro[i];return a.forEach(function e(t){if(!t||l.has(t))return;l.add(t),t.parentNode&&e(t.parentNode)}),function e(t){if(!t||c.has(t))return;[].forEach.call(t.children,t=>{if(\"script\"!==se(t))if(l.has(t))e(t);else{const e=r?t.getAttribute(r):null,n=null!==e&&\"false\"!==e,o=(oo.get(t)||0)+1,a=(d.get(t)||0)+1;oo.set(t,o),d.set(t,a),u.push(t),1===o&&n&&io.add(t),1===a&&t.setAttribute(i,\"\"),!n&&r&&t.setAttribute(r,\"true\")}})}(t),l.clear(),ao++,()=>{u.forEach(e=>{const t=(oo.get(e)||0)-1,n=(d.get(e)||0)-1;oo.set(e,t),d.set(e,n),t||(!io.has(e)&&r&&e.removeAttribute(r),io.delete(e)),n||e.removeAttribute(i)}),ao--,ao||(oo=new WeakMap,oo=new WeakMap,io=new WeakSet,ro={})}}function co(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=ze(e[0]).body;return lo(e.concat(Array.from(o.querySelectorAll(\"[aria-live]\"))),o,t,n)}const uo=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function fo(e,t){const n=Lt(e,uo());\"prev\"===t&&n.reverse();const o=n.indexOf(Oe(ze(e)));return n.slice(o+1)[0]}function mo(e,t){const n=t||e.currentTarget,o=e.relatedTarget;return!o||!Fe(n,o)}const po={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 ho(e){\"Tab\"===e.key&&(e.target,clearTimeout(undefined))}const go=o.forwardRef(function(e,t){const[n,i]=o.useState();An(()=>(He()&&i(\"button\"),document.addEventListener(\"keydown\",ho),()=>{document.removeEventListener(\"keydown\",ho)}),[]);const r={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[Gn(\"focus-guard\")]:\"\",style:po};return o.createElement(\"span\",Bn({},e,r))}),vo=o.createContext(null),yo=\"data-floating-ui-focusable\";function wo(e){return e?e.hasAttribute(yo)?e:e.querySelector(\"[\"+yo+\"]\")||e:null}let bo=[];function Co(e){bo=bo.filter(e=>e.isConnected);let t=e;if(t&&\"body\"!==se(t)){if(!function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==bt.call(e,yt)&&Tt(t,e)}(t,uo())){const e=Lt(t,uo())[0];e&&(t=e)}bo.push(t),bo.length>20&&(bo=bo.slice(-20))}}function ko(){return bo.slice().reverse().find(e=>e.isConnected)}const No=o.forwardRef(function(e,t){return o.createElement(\"button\",Bn({},e,{type:\"button\",ref:t,tabIndex:-1,style:po}))});function So(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:m,refs:p,nodeId:h,onOpenChange:g,events:v,dataRef:y,floatingId:w,elements:{domReference:b,floating:C}}=t,k=\"number\"==typeof s&&s<0,N=Ke(b)&&k,S=\"undefined\"==typeof HTMLElement||!(\"inert\"in HTMLElement.prototype)||a,D=Qn(r),x=Qn(s),E=Qn(l),I=Kn(),M=o.useContext(vo),P=o.useRef(null),A=o.useRef(null),T=o.useRef(!1),O=o.useRef(!1),F=o.useRef(-1),L=null!=M,B=wo(C),R=yn(function(e){return void 0===e&&(e=B),e?Lt(e,uo()):[]}),_=yn(e=>{const t=R(e);return D.current.map(e=>b&&\"reference\"===e?b:B&&\"floating\"===e?B:t).filter(Boolean).flat()});function H(e){return!i&&d&&u?o.createElement(No,{ref:\"start\"===e?P:A,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){Fe(B,Oe(ze(B)))&&0===R().length&&!N&&Ue(e);const t=_(),n=Ve(e);\"reference\"===D.current[0]&&n===b&&(Ue(e),e.shiftKey?to(t[t.length-1]):to(t[1])),\"floating\"===D.current[1]&&n===B&&e.shiftKey&&(Ue(e),to(t[0]))}}const t=ze(B);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}},[i,b,B,u,D,N,R,_]),o.useEffect(()=>{if(!i&&C)return C.addEventListener(\"focusin\",e),()=>{C.removeEventListener(\"focusin\",e)};function e(e){const t=Ve(e),n=R().indexOf(t);-1!==n&&(F.current=n)}},[i,C,R]),o.useEffect(()=>{if(!i&&f)return C&&fe(b)?(b.addEventListener(\"focusout\",t),b.addEventListener(\"pointerdown\",e),C.addEventListener(\"focusout\",t),()=>{b.removeEventListener(\"focusout\",t),b.removeEventListener(\"pointerdown\",e),C.removeEventListener(\"focusout\",t)}):void 0;function e(){O.current=!0,setTimeout(()=>{O.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const n=!(Fe(b,t)||Fe(C,t)||Fe(t,C)||Fe(null==M?void 0:M.portalNode,t)||null!=t&&t.hasAttribute(Gn(\"focus-guard\"))||I&&(no(I.nodesRef.current,h).find(e=>{var n,o;return Fe(null==(n=e.context)?void 0:n.elements.floating,t)||Fe(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}(I.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(c&&n&&Oe(ze(B))===ze(B).body){fe(B)&&B.focus();const e=F.current,t=R(),n=t[e]||t[t.length-1]||B;fe(n)&&n.focus()}!N&&u||!t||!n||O.current||t===ko()||(T.current=!0,g(!1,e,\"focus-out\"))})}},[i,b,C,B,u,h,I,M,g,f,c,R,N]),o.useEffect(()=>{var e;if(i)return;const t=Array.from((null==M||null==(e=M.portalNode)?void 0:e.querySelectorAll(\"[\"+Gn(\"portal\")+\"]\"))||[]);if(C){const e=[C,...t,P.current,A.current,D.current.includes(\"reference\")||N?b:null].filter(e=>null!=e),n=u||N?co(e,S,!S):co(e);return()=>{n()}}},[i,b,C,u,D,M,N,S]),An(()=>{if(i||!fe(B))return;const e=Oe(ze(B));queueMicrotask(()=>{const t=_(B),n=x.current,o=(\"number\"==typeof n?t[n]:n.current)||B,i=Fe(B,e);k||i||!m||to(o,{preventScroll:o===B})})},[i,m,B,k,_,x]),An(()=>{if(i||!B)return;let e=!1;const t=ze(B),n=Oe(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&&Co(p.domReference.current),\"hover\"===i&&\"mouseleave\"===r.type&&(T.current=!0),\"outside-press\"===i&&(a?(T.current=!1,e=!0):T.current=!(Re(r)||_e(r)))}Co(n),v.on(\"openchange\",r);const a=t.createElement(\"span\");return a.setAttribute(\"tabindex\",\"-1\"),a.setAttribute(\"aria-hidden\",\"true\"),Object.assign(a.style,po),L&&b&&b.insertAdjacentElement(\"afterend\",a),()=>{v.off(\"openchange\",r);const n=Oe(t),i=Fe(C,n)||I&&no(I.nodesRef.current,h).some(e=>{var t;return Fe(null==(t=e.context)?void 0:t.elements.floating,n)});(i||o&&[\"click\",\"mousedown\"].includes(o.type))&&p.domReference.current&&Co(p.domReference.current);const s=\"boolean\"==typeof E.current?ko()||a:E.current.current||a;queueMicrotask(()=>{E.current&&!T.current&&fe(s)&&(s===n||n===t.body||i)&&s.focus({preventScroll:e}),a.remove()})}},[i,C,B,E,y,p,v,I,h,L,b]),o.useEffect(()=>{queueMicrotask(()=>{T.current=!1})},[i]),An(()=>{if(!i&&M)return M.setFocusManagerState({modal:u,closeOnFocusOut:f,open:m,onOpenChange:g,refs:p}),()=>{M.setFocusManagerState(null)}},[i,M,u,m,g,p,f]),An(()=>{if(i)return;if(!B)return;if(\"function\"!=typeof MutationObserver)return;if(k)return;const e=()=>{const e=B.getAttribute(\"tabindex\"),t=R(),n=Oe(ze(C)),o=t.indexOf(n);-1!==o&&(F.current=o),D.current.includes(\"floating\")||n!==p.domReference.current&&0===t.length?\"0\"!==e&&B.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&B.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(B,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[i,C,B,p,D,R,k]);const j=!i&&S&&(!u||!N)&&(L||u);return o.createElement(o.Fragment,null,j&&o.createElement(go,{\"data-type\":\"inside\",ref:null==M?void 0:M.beforeInsideRef,onFocus:e=>{if(u){const e=_();to(\"reference\"===r[0]?e[0]:e[e.length-1])}else if(null!=M&&M.preserveTabOrder&&M.portalNode)if(T.current=!1,mo(e,M.portalNode)){const e=fo(document.body,\"next\")||b;null==e||e.focus()}else{var t;null==(t=M.beforeOutsideRef.current)||t.focus()}}}),!N&&H(\"start\"),n,H(\"end\"),j&&o.createElement(go,{\"data-type\":\"inside\",ref:null==M?void 0:M.afterInsideRef,onFocus:e=>{if(u)to(_()[0]);else if(null!=M&&M.preserveTabOrder&&M.portalNode)if(f&&(T.current=!0),mo(e,M.portalNode)){const e=fo(document.body,\"prev\")||b;null==e||e.focus()}else{var t;null==(t=M.afterOutsideRef.current)||t.focus()}}}))}function Do(e){return fe(e.target)&&\"BUTTON\"===e.target.tagName}function xo(e){return Ye(e)}const Eo={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},Io={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 Po(e){const{open:t=!1,onOpenChange:n,elements:i}=e,r=jn(),a=o.useRef({}),[s]=o.useState(()=>Wn()),l=null!=Un();if(\"production\"!==process.env.NODE_ENV){const e=i.reference;e&&!de(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=yn((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}),[]),m=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:m,events:s,floatingId:r,refs:f}),[t,d,m,s,r,f])}function Ao(e){void 0===e&&(e={});const{nodeId:t}=e,n=Po({...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=Kn();An(()=>{u&&(d.current=u)},[u]);const m=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}),[m,p]=o.useState(i);cn(m,i)||p(i);const[h,g]=o.useState(null),[y,w]=o.useState(null),b=o.useCallback(e=>{e!==S.current&&(S.current=e,g(e))},[]),C=o.useCallback(e=>{e!==D.current&&(D.current=e,w(e))},[]),k=a||h,N=s||y,S=o.useRef(null),D=o.useRef(null),x=o.useRef(d),E=null!=c,I=fn(c),M=fn(r),P=fn(u),A=o.useCallback(()=>{if(!S.current||!D.current)return;const e={placement:t,strategy:n,middleware:m};M.current&&(e.platform=M.current),sn(S.current,D.current,e).then(e=>{const t={...e,isPositioned:!1!==P.current};T.current&&!cn(x.current,t)&&(x.current=t,v.flushSync(()=>{f(t)}))})},[m,t,n,M,P]);ln(()=>{!1===u&&x.current.isPositioned&&(x.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);const T=o.useRef(!1);ln(()=>(T.current=!0,()=>{T.current=!1}),[]),ln(()=>{if(k&&(S.current=k),N&&(D.current=N),k&&N){if(I.current)return I.current(k,N,A);A()}},[k,N,A,I,E]);const O=o.useMemo(()=>({reference:S,floating:D,setReference:b,setFloating:C}),[b,C]),F=o.useMemo(()=>({reference:k,floating:N}),[k,N]),L=o.useMemo(()=>{const e={position:n,left:0,top:0};if(!F.floating)return e;const t=dn(F.floating,d.x),o=dn(F.floating,d.y);return l?{...e,transform:\"translate(\"+t+\"px, \"+o+\"px)\",...un(F.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:o}},[n,l,F.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:A,refs:O,elements:F,floatingStyles:L}),[d,A,O,F,L])}({...e,elements:{...r,...l&&{reference:l}}}),p=o.useCallback(e=>{const t=de(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),m.refs.setReference(t)},[m.refs]),h=o.useCallback(e=>{(de(e)||null===e)&&(d.current=e,s(e)),(de(m.refs.reference.current)||null===m.refs.reference.current||null!==e&&!de(e))&&m.refs.setReference(e)},[m.refs]),g=o.useMemo(()=>({...m.refs,setReference:h,setPositionReference:p,domReference:d}),[m.refs,h,p]),y=o.useMemo(()=>({...m.elements,domReference:u}),[m.elements,u]),w=o.useMemo(()=>({...m,...i,refs:g,elements:y,nodeId:t}),[m,g,y,t,i]);return An(()=>{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(()=>({...m,context:w,refs:g,elements:y}),[m,g,y,w])}const To=\"active\",Oo=\"selected\";function Fo(e,t,n){const o=new Map,i=\"item\"===n;let r=e;if(i&&e){const{[To]:t,[Oo]:n,...o}=e;r=o}return{...\"floating\"===n&&{tabIndex:-1,[yo]:\"\"},...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&&[To,Oo].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 Lo=!1;function Bo(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function Ro(e,t){return Bo(t,e===wn||e===bn,e===Cn||e===kn)}function _o(e,t,n){return Bo(t,e===bn,n?e===Cn:e===kn)||\"Enter\"===e||\" \"===e||\"\"===e}function Ho(e,t,n){return Bo(t,n?e===kn:e===Cn,e===wn)}function jo(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:m=!1,rtl:p=!1,virtual:h=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:v=!0,openOnArrowKeyDown:y=!0,disabledIndices:w,orientation:b=\"vertical\",cols:C=1,scrollItemIntoView:k=!0,virtualItemRef:N,itemSizes:S,dense:D=!1}=t;\"production\"!==process.env.NODE_ENV&&(d&&(f||zn(\"`useListNavigation` looping must be enabled to allow escaping.\"),h||zn(\"`useListNavigation` must be virtual to allow escaping.\")),\"vertical\"===b&&C>1&&zn(\"In grid list navigation mode (`cols` > 1), the `orientation` should\",'be either \"horizontal\" or \"both\".'));const x=Qn(wo(r.floating)),E=Un(),I=Kn(),M=yn(l),P=Ke(r.domReference),A=o.useRef(g),T=o.useRef(null!=u?u:-1),O=o.useRef(null),F=o.useRef(!0),L=o.useRef(M),B=o.useRef(!!r.floating),R=o.useRef(n),_=o.useRef(!1),H=o.useRef(!1),j=Qn(w),$=Qn(n),z=Qn(k),W=Qn(u),[V,Y]=o.useState(),[U,K]=o.useState(),J=yn(function(e,t,n){function o(e){h?(Y(e.id),null==I||I.events.emit(\"virtualfocus\",e),N&&(N.current=e)):to(e,{preventScroll:!0,sync:!(!Le().toLowerCase().startsWith(\"mac\")||navigator.maxTouchPoints||!He())&&(Lo||_.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=z.current;a&&G&&(n||!F.current)&&(null==r.scrollIntoView||r.scrollIntoView(\"boolean\"==typeof a?{block:\"nearest\",inline:\"nearest\"}:a))})});An(()=>{document.createElement(\"div\").focus({get preventScroll(){return Lo=!0,!1}})},[]),An(()=>{c&&(n&&r.floating?A.current&&null!=u&&(H.current=!0,T.current=u,M(u)):B.current&&(T.current=-1,L.current(null)))},[c,n,r.floating,u,M]),An(()=>{if(c&&n&&r.floating)if(null==s){if(_.current=!1,null!=W.current)return;if(B.current&&(T.current=-1,J(a,T)),(!R.current||!B.current)&&A.current&&(null!=O.current||!0===A.current&&null==O.current)){let e=0;const t=()=>{if(null==a.current[0]){if(e<2){(e?requestAnimationFrame:queueMicrotask)(t)}e++}else T.current=null==O.current||_o(O.current,b,p)||m?Dn(a,j.current):xn(a,j.current),O.current=null,M(T.current)};t()}}else Sn(a,s)||(T.current=s,J(a,T,H.current),H.current=!1)},[c,n,r.floating,s,W,m,a,b,p,M,J,j]),An(()=>{var e;if(!c||r.floating||!I||h||!B.current)return;const t=I.nodesRef.current,n=null==(e=t.find(e=>e.id===E))||null==(e=e.context)?void 0:e.elements.floating,o=Oe(ze(r.floating)),i=t.some(e=>e.context&&Fe(e.context.elements.floating,o));n&&!i&&F.current&&n.focus({preventScroll:!0})},[c,r.floating,I,E,h]),An(()=>{if(c&&I&&h&&!E)return I.events.on(\"virtualfocus\",e),()=>{I.events.off(\"virtualfocus\",e)};function e(e){K(e.id),N&&(N.current=e)}},[c,I,h,E,N]),An(()=>{L.current=M,B.current=!!r.floating}),An(()=>{n||(O.current=null)},[n]),An(()=>{R.current=n},[n]);const q=null!=s,G=o.useMemo(()=>{function e(e){if(!n)return;const t=a.current.indexOf(e);-1!==t&&M(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;F.current&&\"touch\"!==t&&(T.current=-1,J(a,T),M(null),h||to(x.current,{preventScroll:!0}))}}}},[n,x,J,v,a,M,h]),Q=yn(e=>{if(F.current=!1,_.current=!0,229===e.which)return;if(!$.current&&e.currentTarget===x.current)return;if(m&&Ho(e.key,b,p))return Ue(e),i(!1,e.nativeEvent,\"list-navigation\"),void(fe(r.domReference)&&(h?null==I||I.events.emit(\"virtualfocus\",r.domReference):r.domReference.focus()));const t=T.current,o=Dn(a,w),s=xn(a,w);if(P||(\"Home\"===e.key&&(Ue(e),T.current=o,M(T.current)),\"End\"===e.key&&(Ue(e),T.current=s,M(T.current))),C>1){const t=S||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,C,D),i=n.findIndex(e=>null!=e&&!Pn(a.current,e,w)),r=n.reduce((e,t,n)=>null==t||Pn(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===wn){if(d&&Ue(n),-1===u)f=c;else if(f=En(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}Sn(e,f)&&(f=u)}if(n.key===bn&&(d&&Ue(n),-1===u?f=l:(f=En(e,{startingIndex:u,amount:a,disabledIndices:s}),i&&u+a>c&&(f=En(e,{startingIndex:u%a-a,amount:a,disabledIndices:s}))),Sn(e,f)&&(f=u)),\"both\"===o){const t=Qe(u/a);n.key===(r?Cn:kn)&&(d&&Ue(n),u%a!==a-1?(f=En(e,{startingIndex:u,disabledIndices:s}),i&&Nn(f,a,t)&&(f=En(e,{startingIndex:u-u%a-1,disabledIndices:s}))):i&&(f=En(e,{startingIndex:u-u%a-1,disabledIndices:s})),Nn(f,a,t)&&(f=u)),n.key===(r?kn:Cn)&&(d&&Ue(n),u%a!==0?(f=En(e,{startingIndex:u,decrement:!0,disabledIndices:s}),i&&Nn(f,a,t)&&(f=En(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s}))):i&&(f=En(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s})),Nn(f,a,t)&&(f=u));const o=Qe(c/a)===t;Sn(e,f)&&(f=i&&o?n.key===(r?kn:Cn)?c:En(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:C,disabledIndices:Mn([...w||a.current.map((e,t)=>Pn(a.current,t)?t:void 0),void 0],n),minIndex:i,maxIndex:r,prevIndex:In(T.current>s?o:T.current,t,n,C,e.key===bn?\"bl\":e.key===(p?Cn:kn)?\"tr\":\"tl\"),stopEvent:!0})];if(null!=l&&(T.current=l,M(T.current)),\"both\"===b)return}if(Ro(e.key,b)){if(Ue(e),n&&!h&&Oe(e.currentTarget.ownerDocument)===e.currentTarget)return T.current=_o(e.key,b,p)?o:s,void M(T.current);_o(e.key,b,p)?T.current=f?t>=s?d&&t!==a.current.length?-1:o:En(a,{startingIndex:t,disabledIndices:w}):Math.min(s,En(a,{startingIndex:t,disabledIndices:w})):T.current=f?t<=o?d&&-1!==t?a.current.length:s:En(a,{startingIndex:t,decrement:!0,disabledIndices:w}):Math.max(o,En(a,{startingIndex:t,decrement:!0,disabledIndices:w})),Sn(a,T.current)?M(null):M(T.current)}}),X=o.useMemo(()=>h&&n&&q&&{\"aria-activedescendant\":U||V},[h,n,q,U,V]),Z=o.useMemo(()=>({\"aria-orientation\":\"both\"===b?void 0:b,...!Ke(r.domReference)&&X,onKeyDown:Q,onPointerMove(){F.current=!0}}),[X,Q,r.domReference,b]),ee=o.useMemo(()=>{function e(e){\"auto\"===g&&Re(e.nativeEvent)&&(A.current=!0)}return{...X,onKeyDown(e){F.current=!1;const t=e.key.startsWith(\"Arrow\"),o=[\"Home\",\"End\"].includes(e.key),r=t||o,s=function(e,t,n){return Bo(t,n?e===Cn:e===kn,e===bn)}(e.key,b,p),l=Ho(e.key,b,p),c=Ro(e.key,b),d=(m?s:c)||\"Enter\"===e.key||\"\"===e.key.trim();if(h&&n){const t=null==I?void 0:I.nodesRef.current.find(e=>null==e.parentId),n=I&&t?function(e,t){let n,o=-1;return function t(i,r){r>o&&(n=i,o=r),no(e,i).forEach(e=>{t(e.id,r+1)})}(t,0),e.find(e=>e.id===n)}(I.nodesRef.current,t.id):null;if(r&&n&&N){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)===V):null;i&&(Ue(e),i.dispatchEvent(t),K(void 0))}var v;if((c||o)&&n.context)if(n.context.open&&n.parentId&&e.currentTarget!==n.context.elements.domReference)return Ue(e),void(null==(v=n.context.elements.domReference)||v.dispatchEvent(t))}return Q(e)}(n||y||!t)&&(d&&(O.current=m&&c?null:e.key),m?s&&(Ue(e),n?(T.current=Dn(a,j.current),M(T.current)):i(!0,e.nativeEvent,\"list-navigation\")):c&&(null!=u&&(T.current=u),Ue(e),!n&&y?i(!0,e.nativeEvent,\"list-navigation\"):Q(e),n&&M(T.current)))},onFocus(){n&&!h&&M(null)},onPointerDown:function(e){A.current=g,\"auto\"===g&&_e(e.nativeEvent)&&(A.current=!0)},onMouseDown:e,onClick:e}},[V,X,Q,j,g,a,m,M,i,n,y,b,p,u,I,h,N]);return o.useMemo(()=>c?{reference:ee,floating:Z,item:G}:{},[c,ee,Z,G])}const $o=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function zo(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 Wo(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:m,tree:p}=e;return function(e){function h(){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,C=Fe(d.floating,w),k=Fe(d.domReference,w),N=d.domReference.getBoundingClientRect(),S=d.floating.getBoundingClientRect(),D=u.split(\"-\")[0],x=n>S.right-S.width/2,E=c>S.bottom-S.height/2,I=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,N),M=S.width>N.width,P=S.height>N.height,A=(M?N:S).left,T=(M?N:S).right,O=(P?N:S).top,F=(P?N:S).bottom;if(C&&(r=!0,!b))return;if(k&&(r=!1),k&&!b)return void(r=!0);if(b&&de(e.relatedTarget)&&Fe(d.floating,e.relatedTarget))return;if(p&&no(p.nodesRef.current,m).some(e=>{let{context:t}=e;return null==t?void 0:t.open}))return;if(\"top\"===D&&c>=N.bottom-1||\"bottom\"===D&&c<=N.top+1||\"left\"===D&&n>=N.right-1||\"right\"===D&&n<=N.left+1)return h();let L=[];switch(D){case\"top\":L=[[A,N.top+1],[A,S.bottom-1],[T,S.bottom-1],[T,N.top+1]];break;case\"bottom\":L=[[A,S.top+1],[A,N.bottom-1],[T,N.bottom-1],[T,S.top+1]];break;case\"left\":L=[[S.right-1,F],[S.right-1,O],[N.left+1,O],[N.left+1,F]];break;case\"right\":L=[[N.right-1,F],[N.right-1,O],[S.left+1,O],[S.left+1,F]]}if(!zo([g,v],L)){if(r&&!I)return h();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 h()}zo([g,v],function(e){let[n,o]=e;switch(D){case\"top\":return[[M?n+t/2:x?n+4*t:n-4*t,o+t+1],[M?n-t/2:x?n+4*t:n-4*t,o+t+1],...[[S.left,x||M?S.bottom-t:S.top],[S.right,x?M?S.bottom-t:S.top:S.bottom-t]]];case\"bottom\":return[[M?n+t/2:x?n+4*t:n-4*t,o-t],[M?n-t/2:x?n+4*t:n-4*t,o-t],...[[S.left,x||M?S.top+t:S.bottom],[S.right,x?M?S.top+t:S.bottom:S.top+t]]];case\"left\":{const e=[n+t+1,P?o+t/2:E?o+4*t:o-4*t],i=[n+t+1,P?o-t/2:E?o+4*t:o-4*t];return[...[[E||P?S.right-t:S.left,S.top],[E?P?S.right-t:S.left:S.right-t,S.bottom]],e,i]}case\"right\":return[[n-t,P?o+t/2:E?o+4*t:o-4*t],[n-t,P?o-t/2:E?o+4*t:o-4*t],...[[E||P?S.left+t:S.right,S.top],[E?P?S.left+t:S.right:S.left+t,S.bottom]]]}}([n,c]))?!r&&o&&(i=window.setTimeout(h,40)):h()}}};return c.__options={blockPointerEvents:n},c}const Vo=s({getItemProps:()=>({}),activeIndex:null,setActiveIndex:()=>{},setHasFocusInside:()=>{},isOpen:!1,setIsOpen:()=>{}}),Yo=r(({className:t,disabled:n,children:o,...i},r)=>{const a=l(Vo),s=Ln(),c=Kn(),u=s.index===a.activeIndex,d=N(\"io-dropdown-menu-item\",n&&\"io-dropdown-menu-item-disabled\",t);return e(\"div\",{ref:hn([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})});Yo.displayName=\"DropdownMenuItem\";const Uo=r(({className:n,variant:i=\"default\",icon:r,iconRight:a,text:s=\"\",disabled:m,children:p,...h},g)=>{const[v,y]=c(!1),[w,b]=c(!1),[C,k]=c(null),S=d([]),D=d([]),x=l(Vo),E=Kn(),I=function(){const e=jn(),t=Kn(),n=Un();return An(()=>{const o={id:e,parentId:n};return null==t||t.addNode(o),()=>{null==t||t.removeNode(o)}},[t,e,n]),e}(),M=Un(),P=Ln(),A=null!=M,{floatingStyles:O,refs:F,context:L}=Ao({nodeId:I,open:v,onOpenChange:y,placement:A?\"right-start\":\"bottom-start\",middleware:[(B={mainAxis:A?0:4,alignmentAxis:A?-4:0},{...on(B),options:[B,R]}),pn(),mn()],whileElementsMounted:nn});var B,R;const _=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:m=!0}=t,p=Kn(),h=Un(),g=Qn(u),v=Qn(c),y=Qn(n),w=o.useRef(),b=o.useRef(-1),C=o.useRef(),k=o.useRef(-1),N=o.useRef(!0),S=o.useRef(!1),D=o.useRef(()=>{}),x=o.useRef(!1),E=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(k.current),N.current=!0,x.current=!1)}},[l,a]),o.useEffect(()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){E()&&i(!1,e,\"hover\")}const t=ze(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}},[s.floating,n,i,l,g,E]);const I=o.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=Zn(v.current,\"close\",w.current);o&&!C.current?(clearTimeout(b.current),b.current=window.setTimeout(()=>i(!1,e,n),o)):t&&(clearTimeout(b.current),i(!1,e,n))},[v,i]),M=yn(()=>{D.current(),C.current=void 0}),P=yn(()=>{if(S.current){const e=ze(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(Xn),S.current=!1}}),A=yn(()=>!!r.current.openEvent&&[\"click\",\"mousedown\"].includes(r.current.openEvent.type));o.useEffect(()=>{if(l&&de(s.domReference)){var e;const i=s.domReference;return n&&i.addEventListener(\"mouseleave\",a),null==(e=s.floating)||e.addEventListener(\"mouseleave\",a),m&&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),m&&i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseenter\",t),i.removeEventListener(\"mouseleave\",o)}}function t(e){if(clearTimeout(b.current),N.current=!1,d&&!$e(w.current)||f>0&&!Zn(v.current,\"open\"))return;const t=Zn(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(A())return;D.current();const t=ze(s.floating);if(clearTimeout(k.current),x.current=!1,g.current&&r.current.floatingContext){n||clearTimeout(b.current),C.current=g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){P(),M(),A()||I(e,!0,\"safe-polygon\")}});const o=C.current;return t.addEventListener(\"mousemove\",o),void(D.current=()=>{t.removeEventListener(\"mousemove\",o)})}(\"touch\"!==w.current||!Fe(s.floating,e.relatedTarget))&&I(e)}function a(e){A()||r.current.floatingContext&&(null==g.current||g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){P(),M(),A()||I(e)}})(e))}},[s,l,e,d,f,m,I,M,P,i,n,y,p,v,g,r,A]),An(()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&E()){S.current=!0;const e=s.floating;if(de(s.domReference)&&e){var t;const n=ze(s.floating).body;n.setAttribute(Xn,\"\");const o=s.domReference,i=null==p||null==(t=p.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=\"\"}}}},[l,n,h,s,p,g,E]),An(()=>{n||(w.current=void 0,x.current=!1,M(),P())},[n,M,P]),o.useEffect(()=>()=>{M(),clearTimeout(b.current),clearTimeout(k.current),P()},[l,s.domReference,M,P]);const T=o.useMemo(()=>{function e(e){w.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){N.current||y.current||i(!0,t,\"hover\")}d&&!$e(w.current)||n||0===f||x.current&&e.movementX**2+e.movementY**2<2||(clearTimeout(k.current),\"touch\"===w.current?o():(x.current=!0,k.current=window.setTimeout(o,f)))}}},[d,i,n,y,f]),O=o.useMemo(()=>({onMouseEnter(){clearTimeout(b.current)},onMouseLeave(e){A()||I(e.nativeEvent,!1)}}),[I,A]);return o.useMemo(()=>l?{reference:T,floating:O}:{},[l,T,O])}(L,{enabled:A,delay:{open:75},handleClose:Wo({blockPointerEvents:!0})}),H=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,m=o.useRef(),p=o.useRef(!1),h=o.useMemo(()=>({onPointerDown(e){m.current=e.pointerType},onMouseDown(e){const t=m.current;0===e.button&&\"click\"!==l&&($e(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=m.current;\"mousedown\"===l&&m.current?m.current=void 0:$e(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){m.current=void 0,e.defaultPrevented||!d||Do(e)||(\" \"!==e.key||xo(a)||(e.preventDefault(),p.current=!0),\"Enter\"===e.key&&i(!n||!c,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Do(e)||xo(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:h}:{},[s,h])}(L,{event:\"mousedown\",toggle:!A,ignoreMouse:A}),j=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=jn(),u=null!=Un(),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]),m=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:m}:{},[a,d,f,m])}(L,{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:m=!1,bubbles:p,capture:h}=t,g=Kn(),v=yn(\"function\"==typeof c?c:()=>!1),y=\"function\"==typeof c?v:c,w=o.useRef(!1),b=o.useRef(!1),{escapeKey:C,outsidePress:k}=Mo(p),{escapeKey:N,outsidePress:S}=Mo(h),D=o.useRef(!1),x=yn(e=>{var t;if(!n||!s||!l||\"Escape\"!==e.key)return;if(D.current)return;const o=null==(t=a.current.floatingContext)?void 0:t.nodeId,r=g?no(g.nodesRef.current,o):[];if(!C&&(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\")}),E=yn(e=>{var t;const n=()=>{var t;x(e),null==(t=Ve(e))||t.removeEventListener(\"keydown\",n)};null==(t=Ve(e))||t.addEventListener(\"keydown\",n)}),I=yn(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=\"[\"+Gn(\"inert\")+\"]\",c=ze(r.floating).querySelectorAll(l);let d=de(s)?s:null;for(;d&&!xe(d);){const e=Me(d);if(xe(e)||!de(e))break;d=e}if(c.length&&de(s)&&!s.matches(\"html,body\")&&!Fe(s,r.floating)&&Array.from(c).every(e=>!Fe(d,e)))return;if(fe(s)&&A){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\"===Ee(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,m=g&&no(g.nodesRef.current,f).some(t=>{var n;return We(e,null==(n=t.context)?void 0:n.elements.floating)});if(We(e,r.floating)||We(e,r.domReference)||m)return;const p=g?no(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\")}),M=yn(e=>{var t;const n=()=>{var t;I(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=C,a.current.__outsidePressBubbles=k;let e=-1;function t(e){i(!1,e,\"ancestor-scroll\")}function o(){window.clearTimeout(e),D.current=!0}function c(){e=window.setTimeout(()=>{D.current=!1},Se()?5:0)}const d=ze(r.floating);l&&(d.addEventListener(\"keydown\",N?E:x,N),d.addEventListener(\"compositionstart\",o),d.addEventListener(\"compositionend\",c)),y&&d.addEventListener(u,S?M:I,S);let f=[];return m&&(de(r.domReference)&&(f=Ae(r.domReference)),de(r.floating)&&(f=f.concat(Ae(r.floating))),!de(r.reference)&&r.reference&&r.reference.contextElement&&(f=f.concat(Ae(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\",N?E:x,N),d.removeEventListener(\"compositionstart\",o),d.removeEventListener(\"compositionend\",c)),y&&d.removeEventListener(u,S?M:I,S),f.forEach(e=>{e.removeEventListener(\"scroll\",t)}),window.clearTimeout(e)}},[a,r,l,y,u,n,i,m,s,C,k,x,N,E,I,S,M]),o.useEffect(()=>{w.current=!1},[y,u]);const P=o.useMemo(()=>({onKeyDown:x,[Eo[f]]:e=>{d&&i(!1,e.nativeEvent,\"reference-press\")}}),[x,i,d,f]),A=o.useMemo(()=>({onKeyDown:x,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[Io[u]]:()=>{w.current=!0}}),[x,u]);return o.useMemo(()=>s?{reference:P,floating:A}:{},[s,P,A])}(L,{bubbles:!0}),z=jo(L,{listRef:S,activeIndex:C,nested:A,onNavigate:k}),{getReferenceProps:W,getFloatingProps:V,getItemProps:Y}=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=>Fo(t,e,\"reference\"),t),a=o.useCallback(t=>Fo(t,e,\"floating\"),n),s=o.useCallback(t=>Fo(t,e,\"item\"),i);return o.useMemo(()=>({getReferenceProps:r,getFloatingProps:a,getItemProps:s}),[r,a,s])}([_,H,j,$,z]);f(()=>{if(E)return E.events.on(\"click\",e),E.events.on(\"menuopen\",t),()=>{E.events.off(\"click\",e),E.events.off(\"menuopen\",t)};function e(){y(!1)}function t(e){e.nodeId!==I&&e.parentId===M&&y(!1)}},[E,I,M]),f(()=>{v&&E&&E.events.emit(\"menuopen\",{parentId:M,nodeId:I})},[E,v,I,M]);const U={activeIndex:C,setActiveIndex:k,getItemProps:Y,setHasFocusInside:b,isOpen:v,setIsOpen:y},K=u(()=>U,[C,k,Y,b,v]),J=N(\"io-dropdown-menu-button\",A&&\"io-dropdown-menu-item\",v&&!A&&\"active\",n),q=hn([F.setReference,P.ref,g]),G=x.activeIndex===P.index?0:-1;return t(Jn,{id:I,children:[e(T,{className:J,ref:q,variant:A?\"link\":i,tabIndex:A?G:void 0,role:A?\"menuitem\":void 0,\"data-open\":v?\"\":void 0,\"data-nested\":A?\"\":void 0,\"data-focus-inside\":w?\"\":void 0,text:s,icon:A?\"chevron-right\":r,iconSize:\"10\",iconRight:!!A||a,disabled:m,...W(x.getItemProps({onFocus(e){h.onFocus?.(e),b(!1),x.setHasFocusInside(!0)},...h}))}),e(Vo.Provider,{value:K,children:e(Fn,{elementsRef:S,labelsRef:D,children:v&&e(So,{context:L,modal:!1,initialFocus:A?-1:0,returnFocus:!A,children:e(\"div\",{ref:F.setFloating,className:\"io-dropdown-menu\",style:O,...V(),children:p})})})})]})});Uo.displayName=\"DropdownMenu\";const Ko=r(({...t},n)=>null===Un()?e(qn,{children:e(Uo,{ref:n,...t})}):e(Uo,{ref:n,...t}));function Jo({className:t,variant:n=\"default\",size:o=\"16\",src:i,alt:r,...a}){const s=N(\"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 qo({className:n,size:o=\"large\",variant:i=\"default\",align:r=\"up\",text:a,...s}){const l=N(\"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 Go({className:t,children:n,...o}){const i=N(\"io-panel-header\",t);return e(ee,{className:i,...o,children:n})}Ko.displayName=\"DropdownMenu\",Ko.Item=Yo,Ko.Separator=q,Go.Title=M,Go.ButtonGroup=Z,Go.Button=T,Go.ButtonIcon=D,Go.Dropdown=X;const Qo=r(({className:t,children:n,...o},i)=>{const r=N(\"io-panel-body\",t);return e(\"div\",{className:r,ref:i,\"data-testid\":\"panel-body\",...o,children:n})});function Xo({className:t,...n}){const o=N(\"io-panel-footer\",t);return e(oe,{className:o,...n})}function Zo({className:t,children:n,...o}){const i=N(\"io-panel\",t);return e(\"div\",{className:i,\"data-testid\":\"panel\",...o,children:n})}function ei({className:t,variant:n=\"default\",children:o,...i}){const r=N(\"io-pill\",\"default\"!==n&&[`io-pill-${n}`],t);return e(\"div\",{className:r,role:\"status\",...i,children:o})}function ti({className:t,variant:n=\"active\",value:o=0,...i}){const r=N(\"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}%`}})})}function ni({text:t=\"Label\",...n}){return e(\"label\",{...n,children:t})}Qo.displayName=\"PanelBody\",Xo.ButtonGroup=Z,Xo.Button=T,Xo.ButtonIcon=D,Xo.Dropdown=X,Zo.Header=Go,Zo.Body=Qo,Zo.Footer=Xo,ei.Icon=S;const oi=r(({id:n=\"input\",className:o,type:i=\"text\",name:r=\"input\",align:s=\"up\",label:l,iconPrepend:c,iconPrependOnClick:u,iconAppend:d,iconAppendOnClick:f,placeholder:m,disabled:p,readOnly:h,errorMessage:g,errorDataTestId:v,...y},w)=>{const b=N(\"io-control-input\",c&&\"io-control-leading-icon\",d&&\"io-control-trailing-icon\",p&&\"io-control-disabled\",h&&\"io-control-readonly\",g&&\"io-control-error\",s&&[`direction-${s}`],o),C=a(e=>{p?e.preventDefault():u&&u(e)},[u,p]),k=a(e=>{p?e.preventDefault():f&&f(e)},[f,p]);return t(\"div\",{className:b,children:[l&&e(ni,{htmlFor:n,text:l}),c&&e(S,{variant:c,onClick:e=>C(e)}),e(\"input\",{id:n,className:\"io-input\",ref:w,type:i,name:r,tabIndex:0,placeholder:m??(()=>{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:h,...g?{\"aria-invalid\":!0,\"aria-describedby\":`${n}-error`}:{},...y}),d&&e(S,{variant:d,onClick:e=>k(e)}),g&&t(\"div\",{\"data-testid\":v,id:`${n}-error`,className:\"io-input-error\",children:[e(S,{variant:\"close\"}),g]})]})});oi.displayName=\"Input\";const ii=r(({id:n=\"textarea\",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 m=N(\"io-control-textarea\",c&&\"io-control-disabled\",u&&\"io-control-readonly\",r&&[`direction-${r}`],o);return t(\"div\",{className:m,children:[a&&e(ni,{htmlFor:n,text:a}),e(\"textarea\",{id:n,className:\"io-textarea\",ref:f,name:i,tabIndex:0,placeholder:l,\"aria-label\":a,disabled:c,readOnly:u,rows:s,...d})]})});ii.displayName=\"Textarea\";const ri=r(({id:n=\"checkbox\",className:o,name:i=\"checkbox\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=N(\"io-control-checkbox\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:d,children:[e(\"input\",{type:\"checkbox\",id:n,className:\"io-checkbox\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(ni,{htmlFor:n,text:a,\"data-testid\":c[\"data-testid\"]?`${c[\"data-testid\"]}-label`:void 0})]})});ri.displayName=\"Checkbox\";const ai=r(({id:n=\"radio\",className:o,name:i=\"radio\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=N(\"io-control-radio\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:d,children:[e(\"input\",{type:\"radio\",id:n,className:\"io-radio\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(ni,{htmlFor:n,text:a})]})});ai.displayName=\"Radio\";var si=i[\"undefined\"!=typeof document&&void 0!==document.createElement?\"useLayoutEffect\":\"useEffect\"],li=0,ci=()=>li++,ui=0;const di=\"function\"==typeof h?h:function(e,t){void 0===t&&(t=\"🅰\");var[n,o]=c(ui?ci:void 0);return si(()=>{void 0===n&&o(li++),ui=1},[]),e||(void 0===n?n:t+n)},fi=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 m=di(),p=n||`toggle-${m}`,h=N(\"io-control-toggle\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return e(\"div\",{className:h,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 mi(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])}function pi(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 hi(e,t=500){const[n,o]=c(e);return f(()=>{const n=setTimeout(()=>{o(e)},t);return()=>clearTimeout(n)},[e,t]),n}function gi(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])}function vi(e,t){f(()=>{const n=n=>{n.code===e&&t()};return document.addEventListener(\"keyup\",n),()=>document.removeEventListener(\"keyup\",n)},[e,t])}function yi(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}fi.displayName=\"Toggle\";const wi=()=>void 0!==window.glue42gd||void 0!==window.iodesktop;function bi(){return u(()=>\"object\"==typeof window&&wi(),[])}const Ci=()=>{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}};const ki=()=>{const e=l(w),t=e?.windows,n=e?.workspaces,o=d(null),[i,r]=c(null),[s,u]=c(null),[m,p]=c(!1),[h,g]=c(!1),[v,y]=c(null),b=d(void 0),C=function(){const e=d(!1);return f(()=>(e.current=!0,()=>{e.current=!1}),[]),a(()=>e.current,[])}(),{currentTheme:k}=Ci();f(()=>{o.current=i;const e=i?.ioConnectWindow.onVisibilityChanged(()=>{i?.ioConnectWindow.isVisible||p(!1)});return()=>{e?.()}},[i]);const N=a(async(e,o)=>{const i={windowId:e?.ioConnectWindow.id,...o},r=window.glue42gd.windowId;if((()=>{const e=wi()&&!!window.workspacesManager,t=!wi()&&!!window.ioworkspaces;return e||t})()){if(!n)return;const e=(await(n?.getAllFrames())).find(e=>e.id===r);await(e?.showPopup(i))}else if(wi()&&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]),S=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),C()&&y(t),null}},[k,C]),D=a(async e=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),C()&&y(e),null}C()&&(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(!C())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=S(a);C()&&e&&u(e)}return i}catch(e){const t=`Failed to create popup: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),C()&&(y(t),r(null),u(null)),null}finally{C()&&g(!1)}},[t,S,C]),x=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]),E=a(async()=>{if(!i)return null;if(x())return i;console.warn(\"usePopupWindow: Popup window was destroyed, recreating...\");const e=i.ioConnectWindow.bounds,t=await D({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),C()&&y(e)}return t},[i,x,D,C]),I=a(async e=>{if(i)return await E();const t=await D(e);return t?C()?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,E,D,C]);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 M=a(()=>{y(null)},[]),P=a(async e=>{if(i){if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(C()&&y(e))}try{const t=e||b.current;if(!t)return void console.warn(\"usePopupWindow: No show options available\");const n=await E();if(!n||!C())return;await N(n,t),C()&&p(!0)}catch(e){const t=`Failed to show popup: ${JSON.stringify(e)}`;console.error(\"usePopupWindow:\",t,e),C()&&y(t)}}else console.warn(\"usePopupWindow: Cannot show popup - popup not created yet\")},[i,t,N,C,E]),A=a(async e=>{await(i?.ioConnectWindow.moveResize({...e}))},[i]),T=a(async()=>{if(C()&&(p(!1),o.current))try{await o.current.ioConnectWindow.hide()}catch(e){console.error(\"usePopupWindow: Failed to hide popup\",e)}},[o,C]);Q(()=>{m&&T().catch(e=>{console.error(\"Failed to hide popup on Escape key press in parent window\",e)})},[\"Escape\"]),f(()=>{if(!i?.browserWindow||!m)return;const e=e=>{\"Escape\"===e.key&&(e.preventDefault(),T().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,m,T]);const O=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),C()&&y(t)}finally{C()&&(r(null),u(null),p(!1),b.current=void 0)}},[o,C]),F=a(async(e,n,o)=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(C()&&y(e))}C()&&(g(!0),y(null));try{let e=await I(n);if(!e){const t=await D(n);if(!t)return void console.warn(\"usePopupWindow: Failed to create popup, operation aborted\");if(!C())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 N(e,o),C()&&p(!0)}catch(e){const t=`Failed to create and show popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),C()&&y(t)}finally{C()&&g(!1)}},[D,t,N,C,I]);return{popup:i,loading:h,error:v,clearError:M,isOpen:!!i,isVisible:m,createPopup:D,showPopup:P,createAndShowPopup:F,hidePopup:T,closePopup:O,getContainer:()=>s?.getElementById(\"io-popup-window-container\")||null,resizePopup:A}},Ni=s({theme:\"dark\"}),Si=({children:t})=>{const n=l(w),[o,i]=c({theme:\"dark\"});return f(()=>{const e=window.iodesktop??window.glue42gd;if(e&&\"theme\"in e){const t=e.theme;document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(t);const o=n.themes?.onChanged(e=>{i({theme:e.name}),document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(e.name)});return o}},[n.themes]),e(Ni.Provider,{value:o,children:t})},Di=\"io-connect-platform\",xi=\"___platform_prefs___\",Ei=\"_launchpad_collapsedSections\",Ii=\"_launchpad_favorites\",Mi=\"_launchpad_isLayoutsPanelOpen\",Pi=\"_launchpad_isCollapsed\",Ai=\"_launchpad_isPinned\",Ti=\"_launchpad_pinnedPosition\",Oi=\"_launchpad_allowDocking\",Fi=\"_launchpad_minimizeToTray\",Li=\"_launchpad_autoCloseStartingAppsAndWorkspaces\",Bi=\"_launchpad_showTutorialOnStartup\",Ri=\"_layouts_restoreLastSaved\",_i=\"_layouts_saveCurrentOnExit\",Hi=\"_layouts_showUnsavedChangesPrompt\",ji=\"_layouts_showDeletePrompt\",$i=\"_downloads_askForEachDownload\",zi=\"_downloads_location\",Wi=\"_system_scheduleRestart\",Vi=\"_system_scheduleRestartTime\",Yi=\"_system_scheduleRestartFrequency\",Ui=\"_system_scheduleRestartDay\",Ki=\"_system_scheduleShutdown\",Ji=\"_system_scheduleShutdownTime\",qi=\"_system_scheduleShutdownFrequency\",Gi=\"_system_scheduleShutdownDay\",Qi={[Ei]:[],[Ii]:[],[Mi]:!1,[Pi]:!1,[Ai]:!1,[Ti]:\"Left\",[Oi]:!0,[Fi]:!1,[Li]:!0,[Bi]:!0,[Ri]:!0,[_i]:!0,[Hi]:!0,[ji]:!0,[$i]:!0,[zi]:\"\",[Wi]:!1,[Vi]:\"12:00 AM\",[Yi]:\"daily\",[Ui]:\"Monday\",[Ki]:!1,[Ji]:\"12:00 AM\",[qi]:\"daily\",[Gi]:\"Monday\"},Xi=e=>\"string\"==typeof e?e:e?.message?\"string\"==typeof e.message?e.message:JSON.stringify(e.message):JSON.stringify(e),Zi=\"warning\",er={success:5e3,warning:1e4};var tr=function(e){return{ok:!0,result:e}},nr=function(e){return{ok:!1,error:e}},or=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:tr(e(t.result,n.result))},ir=function(e,t){return!0===t.ok?t:nr(e(t.error))},rr=function(){return rr=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},rr.apply(this,arguments)};function ar(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(!ar(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(!ar(e[o[n]],t[o[n]]))return!1}return!0}}var sr=function(e){return Array.isArray(e)},lr=function(e){return\"object\"==typeof e&&null!==e&&!sr(e)},cr=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)},ur=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},dr=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 rr({at:e+(n||\"\")},o)},fr=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return ir(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return!0===(t=n.run(e)).ok?Promise.resolve(t.result):Promise.reject(t.error);var t},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?tr(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?tr(e):nr({message:cr(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?tr(e):nr({message:cr(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?tr(e):nr({message:cr(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return ar(e,t)?tr(t):nr({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(lr(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]?nr({message:\"the key '\"+o+\"' is required but was not present\"}):nr(dr(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return tr(n)}return lr(e)?tr(e):nr({message:cr(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(sr(e)&&t){return e.reduce(function(e,n,o){return or(function(e,t){return e.concat([t])},e,function(e,n){return ir(function(e){return dr(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},tr([]))}return sr(e)?tr(e):nr({message:cr(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(sr(e)){if(e.length!==t.length)return nr({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 nr(dr(\"[\"+o+\"]\",i.error));n[o]=i.result}return tr(n)}return nr({message:cr(\"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 or(Object.assign,t,n.decode(e))},tr({}))})},e.anyJson=function(){return new e(function(e){return tr(e)})},e.unknownJson=function(){return new e(function(e){return tr(e)})},e.dict=function(t){return new e(function(e){if(lr(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return nr(dr(\".\"+o,i.error));n[o]=i.result}return tr(n)}return nr({message:cr(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?tr(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 nr({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return tr(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 nr({at:ur(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!lr(o))return nr({at:ur(t.slice(0,i+1)),message:cr(\"an object\",o)});if(\"number\"==typeof t[i]&&!sr(o))return nr({at:ur(t.slice(0,i+1)),message:cr(\"an array\",o)});o=o[t[i]]}return ir(function(e){return void 0===o?{at:ur(t),message:\"path does not exist\"}:dr(ur(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return tr(t)})},e.fail=function(t){return new e(function(e){return nr({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),mr=fr.string;fr.number;var pr=fr.boolean,hr=fr.anyJson;fr.unknownJson;var gr=fr.constant,vr=fr.object,yr=fr.array;fr.tuple,fr.dict;var wr=fr.optional,br=fr.oneOf;fr.union,fr.intersection,fr.withDefault,fr.valueAt,fr.succeed,fr.fail,fr.lazy;const Cr=[\"name\",\"title\",\"version\",\"customProperties\",\"icon\",\"caption\",\"type\"],kr=[\"appId\",\"name\",\"type\",\"details\",\"version\",\"title\",\"tooltip\",\"lang\",\"description\",\"categories\",\"icons\",\"screenshots\",\"contactEmail\",\"moreInfo\",\"publisher\",\"customConfig\",\"hostManifests\",\"interop\",\"localizedVersions\"];var Nr=function(e){return{ok:!0,result:e}},Sr=function(e){return{ok:!1,error:e}},Dr=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:Nr(e(t.result,n.result))},xr=function(e,t){return!0===t.ok?t:Sr(e(t.error))},Er=function(){return Er=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},Er.apply(this,arguments)};function Ir(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(!Ir(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(!Ir(e[o[n]],t[o[n]]))return!1}return!0}}var Mr=function(e){return Array.isArray(e)},Pr=function(e){return\"object\"==typeof e&&null!==e&&!Mr(e)},Ar=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)},Tr=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},Or=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 Er({at:e+(n||\"\")},o)},Fr=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return xr(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return!0===(t=n.run(e)).ok?Promise.resolve(t.result):Promise.reject(t.error);var t},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?Nr(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?Nr(e):Sr({message:Ar(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?Nr(e):Sr({message:Ar(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?Nr(e):Sr({message:Ar(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return Ir(e,t)?Nr(t):Sr({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(Pr(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]?Sr({message:\"the key '\"+o+\"' is required but was not present\"}):Sr(Or(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return Nr(n)}return Pr(e)?Nr(e):Sr({message:Ar(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(Mr(e)&&t){return e.reduce(function(e,n,o){return Dr(function(e,t){return e.concat([t])},e,function(e,n){return xr(function(e){return Or(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},Nr([]))}return Mr(e)?Nr(e):Sr({message:Ar(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(Mr(e)){if(e.length!==t.length)return Sr({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 Sr(Or(\"[\"+o+\"]\",i.error));n[o]=i.result}return Nr(n)}return Sr({message:Ar(\"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 Dr(Object.assign,t,n.decode(e))},Nr({}))})},e.anyJson=function(){return new e(function(e){return Nr(e)})},e.unknownJson=function(){return new e(function(e){return Nr(e)})},e.dict=function(t){return new e(function(e){if(Pr(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return Sr(Or(\".\"+o,i.error));n[o]=i.result}return Nr(n)}return Sr({message:Ar(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?Nr(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 Sr({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return Nr(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 Sr({at:Tr(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!Pr(o))return Sr({at:Tr(t.slice(0,i+1)),message:Ar(\"an object\",o)});if(\"number\"==typeof t[i]&&!Mr(o))return Sr({at:Tr(t.slice(0,i+1)),message:Ar(\"an array\",o)});o=o[t[i]]}return xr(function(e){return void 0===o?{at:Tr(t),message:\"path does not exist\"}:Or(Tr(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return Nr(t)})},e.fail=function(t){return new e(function(e){return Sr({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),Lr=Fr.string,Br=Fr.number,Rr=Fr.boolean,_r=Fr.anyJson;Fr.unknownJson;var Hr=Fr.constant,jr=Fr.object,$r=Fr.array;Fr.tuple;var zr=Fr.dict,Wr=Fr.optional,Vr=Fr.oneOf;Fr.union,Fr.intersection,Fr.withDefault,Fr.valueAt,Fr.succeed,Fr.fail,Fr.lazy;const Yr=Lr().where(e=>e.length>0,\"Expected a non-empty string\"),Ur=Br().where(e=>e>=0,\"Expected a non-negative number\"),Kr=jr({name:Yr,displayName:Wr(Lr()),contexts:Wr($r(Lr())),customConfig:Wr(jr())}),Jr=Vr(Hr(\"web\"),Hr(\"native\"),Hr(\"citrix\"),Hr(\"onlineNative\"),Hr(\"other\")),qr=jr({url:Yr}),Gr=jr({src:Yr,size:Wr(Yr),type:Wr(Yr)}),Qr=jr({src:Yr,size:Wr(Yr),type:Wr(Yr),label:Wr(Yr)}),Xr=jr({contexts:$r(Yr),displayName:Wr(Yr),resultType:Wr(Yr),customConfig:Wr(_r())}),Zr=jr({listensFor:Wr(zr(Xr)),raises:Wr(zr($r(Yr)))}),ea=jr({broadcasts:Wr($r(Yr)),listensFor:Wr($r(Yr))}),ta=jr({name:Yr,description:Wr(Yr),broadcasts:Wr($r(Yr)),listensFor:Wr($r(Yr))}),na=jr({intents:Wr(Zr),userChannels:Wr(ea),appChannels:Wr($r(ta))}),oa=jr({url:Wr(Yr),top:Wr(Br()),left:Wr(Br()),width:Wr(Ur),height:Wr(Ur)}),ia=jr({name:Wr(Yr),type:Wr(Yr.where(e=>\"window\"===e,\"Expected a value of window\")),title:Wr(Yr),version:Wr(Yr),customProperties:Wr(_r()),icon:Wr(Lr()),caption:Wr(Lr()),details:Wr(oa),intents:Wr($r(Kr)),hidden:Wr(Rr())}),ra=jr({name:Yr,appId:Yr,title:Wr(Yr),version:Wr(Yr),manifest:Yr,manifestType:Yr,tooltip:Wr(Yr),description:Wr(Yr),contactEmail:Wr(Yr),supportEmail:Wr(Yr),publisher:Wr(Yr),images:Wr($r(jr({url:Wr(Yr)}))),icons:Wr($r(jr({icon:Wr(Yr)}))),customConfig:_r(),intents:Wr($r(Kr))}),aa=jr({appId:Wr(Yr),name:Wr(Yr),details:Wr(qr),version:Wr(Yr),title:Wr(Yr),tooltip:Wr(Yr),lang:Wr(Yr),description:Wr(Yr),categories:Wr($r(Yr)),icons:Wr($r(Gr)),screenshots:Wr($r(Qr)),contactEmail:Wr(Yr),supportEmail:Wr(Yr),moreInfo:Wr(Yr),publisher:Wr(Yr),customConfig:Wr($r(_r())),hostManifests:Wr(_r()),interop:Wr(na)}),sa=jr({appId:Yr,name:Wr(Yr),type:Jr,details:qr,version:Wr(Yr),title:Wr(Yr),tooltip:Wr(Yr),lang:Wr(Yr),description:Wr(Yr),categories:Wr($r(Yr)),icons:Wr($r(Gr)),screenshots:Wr($r(Qr)),contactEmail:Wr(Yr),supportEmail:Wr(Yr),moreInfo:Wr(Yr),publisher:Wr(Yr),customConfig:Wr($r(_r())),hostManifests:Wr(_r()),interop:Wr(na),localizedVersions:Wr(zr(aa))}),la=Vr(ra,sa),ca=e=>`${e.kind} at ${e.at}: ${JSON.stringify(e.input)}. Reason - ${e.message}`;class ua{fdc3ToDesktopDefinitionType={web:\"window\",native:\"exe\",citrix:\"citrix\",onlineNative:\"clickonce\",other:\"window\"};toApi(){return{isFdc3Definition:this.isFdc3Definition.bind(this),parseToBrowserBaseAppData:this.parseToBrowserBaseAppData.bind(this),parseToDesktopAppConfig:this.parseToDesktopAppConfig.bind(this)}}isFdc3Definition(e){const t=la.run(e);return t.ok?e.appId&&e.details?{isFdc3:!0,version:\"2.0\"}:e.manifest?{isFdc3:!0,version:\"1.2\"}:{isFdc3:!1,reason:\"The passed definition is not FDC3\"}:{isFdc3:!1,reason:ca(t.error)}}parseToBrowserBaseAppData(e){const{isFdc3:t,version:n}=this.isFdc3Definition(e);if(!t)throw new Error(\"The passed definition is not FDC3\");const o=la.run(e);if(!o.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(o.error)}`);const i=this.getUserPropertiesFromDefinition(e,n),r={url:this.getUrl(e,n)},a={name:e.appId,type:\"window\",createOptions:r,userProperties:{...i,intents:\"1.2\"===n?i.intents:this.getIntentsFromV2AppDefinition(e),details:r},title:e.title,version:e.version,icon:this.getIconFromDefinition(e,n),caption:e.description,fdc3:\"2.0\"===n?{...e,definitionVersion:\"2.0\"}:void 0},s=e.hostManifests?.ioConnect||e.hostManifests?.Glue42;if(!s)return a;const l=ia.run(s);if(!l.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(l.error)}`);return Object.keys(l.result).length?this.mergeBaseAppDataWithGlueManifest(a,l.result):a}parseToDesktopAppConfig(e){const{isFdc3:t,version:n}=this.isFdc3Definition(e);if(!t)throw new Error(\"The passed definition is not FDC3\");const o=la.run(e);if(!o.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(o.error)}`);if(\"1.2\"===n){const t=e;return{name:t.appId,type:\"window\",details:{url:this.getUrl(e,n)},version:t.version,title:t.title,tooltip:t.tooltip,caption:t.description,icon:t.icons?.[0].icon,intents:t.intents,customProperties:{manifestType:t.manifestType,images:t.images,contactEmail:t.contactEmail,supportEmail:t.supportEmail,publisher:t.publisher,icons:t.icons,customConfig:t.customConfig}}}const i=e,r={name:i.appId,type:this.fdc3ToDesktopDefinitionType[i.type],details:i.details,version:i.version,title:i.title,tooltip:i.tooltip,caption:i.description,icon:this.getIconFromDefinition(i,\"2.0\"),intents:this.getIntentsFromV2AppDefinition(i),fdc3:{...i,definitionVersion:\"2.0\"}},a=e.hostManifests?.ioConnect||e.hostManifests?.Glue42;if(!a)return r;if(\"object\"!=typeof a||Array.isArray(a))throw new Error(`Invalid '${e.hostManifests.ioConnect?\"hostManifests.ioConnect\":\"hostManifests['Glue42']\"}' key`);return this.mergeDesktopConfigWithGlueManifest(r,a)}getUserPropertiesFromDefinition(e,t){return\"1.2\"===t?Object.fromEntries(Object.entries(e).filter(([e])=>!Cr.includes(e))):Object.fromEntries(Object.entries(e).filter(([e])=>!Cr.includes(e)&&!kr.includes(e)))}getUrl(e,t){let n;if(\"1.2\"===t){const t=JSON.parse(e.manifest);n=t.details?.url||t.url}else n=e.details?.url;if(!n||\"string\"!=typeof n)throw new Error(`Invalid FDC3 ${t} definition. Provide valid 'url' under '${\"1.2\"===t?\"manifest\":\"details\"}' key`);return n}getIntentsFromV2AppDefinition(e){const t=e.interop?.intents?.listensFor;if(!t)return;return Object.entries(t).map(e=>{const[t,n]=e;return{name:t,...n}})}getIconFromDefinition(e,t){return\"1.2\"===t?e.icons?.find(e=>e.icon)?.icon||void 0:e.icons?.find(e=>e.src)?.src||void 0}mergeBaseAppDataWithGlueManifest(e,t){let n=e;if(t.customProperties&&(n.userProperties={...e.userProperties,...t.customProperties}),t.details){const o={...e.createOptions,...t.details};n.createOptions=o,n.userProperties.details=o}return Array.isArray(t.intents)&&(n.userProperties.intents=(n.userProperties.intents||[]).concat(t.intents)),n={...n,...t},delete n.details,delete n.intents,n}mergeDesktopConfigWithGlueManifest(e,t){const n=Object.assign({},e,t,{details:{...e.details,...t.details}});return Array.isArray(t.intents)&&(n.intents=(e.intents||[]).concat(t.intents)),n}}const da={common:{nonEmptyStringDecoder:Yr,nonNegativeNumberDecoder:Ur},fdc3:{allDefinitionsDecoder:la,v1DefinitionDecoder:ra,v2DefinitionDecoder:sa}};var fa;!function(e){e.USER_CANCELLED=\"User Closed Intents Resolver UI without choosing a handler\",e.CALLER_NOT_DEFINED=\"Caller Id is not defined\",e.TIMEOUT_HIT=\"Timeout hit\",e.INTENT_NOT_FOUND=\"Cannot find Intent\",e.HANDLER_NOT_FOUND=\"Cannot find Intent Handler\",e.TARGET_INSTANCE_UNAVAILABLE=\"Cannot start Target Instance\",e.INTENT_DELIVERY_FAILED=\"Target Instance did not add a listener\",e.RESOLVER_UNAVAILABLE=\"Intents Resolver UI unavailable\",e.RESOLVER_TIMEOUT=\"User did not choose a handler\",e.INVALID_RESOLVER_RESPONSE=\"Intents Resolver UI returned invalid response\",e.INTENT_HANDLER_REJECTION=\"Intent Handler function processing the raised intent threw an error or rejected the promise it returned\"}(fa||(fa={}));const ma=new class{_fdc3;_decoders=da;_errors={intents:fa};get fdc3(){return this._fdc3||(this._fdc3=(new ua).toApi()),this._fdc3}get decoders(){return this._decoders}get errors(){return this._errors}};ma.fdc3;const pa=ma.decoders;ma.errors;const ha=pa.common.nonEmptyStringDecoder,ga=br(gr(\"add\"),gr(\"align-bottom\"),gr(\"align-bottom-solid\"),gr(\"align-left\"),gr(\"align-left-bottom\"),gr(\"align-left-bottom-solid\"),gr(\"align-left-solid\"),gr(\"align-left-top\"),gr(\"align-left-top-solid\"),gr(\"align-right\"),gr(\"align-right-bottom\"),gr(\"align-right-bottom-solid\"),gr(\"align-right-solid\"),gr(\"align-right-top\"),gr(\"align-right-top-solid\"),gr(\"align-top\"),gr(\"align-top-solid\"),gr(\"always-on-top\"),gr(\"always-on-top-on\"),gr(\"application\"),gr(\"arrow-down-long\"),gr(\"arrow-down-to-bracket\"),gr(\"arrow-left-long\"),gr(\"arrow-right-from-bracket\"),gr(\"arrow-right-long\"),gr(\"arrow-right\"),gr(\"arrow-up\"),gr(\"arrow-up-long\"),gr(\"ban\"),gr(\"bell\"),gr(\"bell-solid\"),gr(\"bookmark\"),gr(\"bullseye-pointer\"),gr(\"certificate\"),gr(\"check\"),gr(\"check-light\"),gr(\"check-solid\"),gr(\"chevron-down\"),gr(\"chevron-left\"),gr(\"chevron-right\"),gr(\"chevron-up\"),gr(\"circle-info\"),gr(\"circle-xmark\"),gr(\"circle-xmark-full\"),gr(\"clock\"),gr(\"clock-rotate-left\"),gr(\"clone\"),gr(\"close\"),gr(\"cog\"),gr(\"cog-solid\"),gr(\"collapse\"),gr(\"copy\"),gr(\"download\"),gr(\"delete-left\"),gr(\"dev-tools\"),gr(\"ellipsis\"),gr(\"ellipsis-vertical\"),gr(\"expand\"),gr(\"envelope\"),gr(\"envelope-open\"),gr(\"exclamation-mark\"),gr(\"expand\"),gr(\"feedback\"),gr(\"filter\"),gr(\"floppy\"),gr(\"floppy-disk-pen\"),gr(\"folder\"),gr(\"folder-open\"),gr(\"globe\"),gr(\"group\"),gr(\"hidden\"),gr(\"home\"),gr(\"house\"),gr(\"info\"),gr(\"keyboard\"),gr(\"layout\"),gr(\"link\"),gr(\"list-ul\"),gr(\"lock\"),gr(\"logo\"),gr(\"minimize\"),gr(\"minimize-down\"),gr(\"paper-plane-top\"),gr(\"paperclip\"),gr(\"pause\"),gr(\"pen-line\"),gr(\"pen-to-square\"),gr(\"pin\"),gr(\"play\"),gr(\"pop-in\"),gr(\"pop-in-widget\"),gr(\"pop-out\"),gr(\"power-off\"),gr(\"publish\"),gr(\"refresh\"),gr(\"resize\"),gr(\"restore\"),gr(\"rotate-right\"),gr(\"search\"),gr(\"search-filled\"),gr(\"sleep\"),gr(\"sliders\"),gr(\"snooze\"),gr(\"spinner\"),gr(\"square\"),gr(\"square-arrow-down\"),gr(\"square-arrow-up\"),gr(\"star\"),gr(\"star-full\"),gr(\"sticky-off\"),gr(\"sticky-off-hover\"),gr(\"sticky-on\"),gr(\"sticky-on-hover\"),gr(\"subscribe\"),gr(\"system-close\"),gr(\"system-maximize\"),gr(\"system-minimize\"),gr(\"thumbs-down\"),gr(\"thumbs-up\"),gr(\"trash\"),gr(\"trash-can\"),gr(\"triangle-exclamation\"),gr(\"unlock\"),gr(\"unpin\"),gr(\"up-to-line\"),gr(\"user\"),gr(\"user-gear\"),gr(\"visible\"),gr(\"workspace\")),va=vr({id:ha,title:ha,description:wr(mr()),icon:wr(ga),iconSrc:wr(ha),contextMenuActions:wr(yr(hr())),type:ha}),ya=br(gr(\"Left\"),gr(\"Right\")),wa=br(gr(\"daily\"),gr(\"weekly\")),ba=br(gr(\"Sunday\"),gr(\"Monday\"),gr(\"Tuesday\"),gr(\"Wednesday\"),gr(\"Thursday\"),gr(\"Friday\"),gr(\"Saturday\")),Ca=vr({customPrefs:wr(hr()),_launchpad_collapsedSections:wr(yr(ha)),_launchpad_favorites:wr(yr(va)),_launchpad_isLayoutsPanelOpen:wr(pr()),_launchpad_isCollapsed:wr(pr()),_launchpad_isPinned:wr(pr()),_launchpad_pinnedPosition:wr(ya),_launchpad_allowDocking:wr(pr()),_launchpad_minimizeToTray:wr(pr()),_launchpad_autoCloseStartingAppsAndWorkspaces:wr(pr()),_launchpad_showTutorialOnStartup:wr(pr()),_layouts_restoreLastSaved:wr(pr()),_layouts_saveCurrentOnExit:wr(pr()),_layouts_showUnsavedChangesPrompt:wr(pr()),_layouts_showDeletePrompt:wr(pr()),_downloads_askForEachDownload:wr(pr()),_downloads_location:wr(mr()),_system_scheduleRestart:wr(pr()),_system_scheduleRestartTime:wr(ha),_system_scheduleRestartFrequency:wr(wa),_system_scheduleRestartDay:wr(ba),_system_scheduleShutdown:wr(pr()),_system_scheduleShutdownTime:wr(ha),_system_scheduleShutdownFrequency:wr(wa),_system_scheduleShutdownDay:wr(ba)}),ka=async e=>{const{io:t,variant:n,text:o,error:i}=e,r=Xi(i);try{if(n===Zi&&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:er[n]};await t.modals.alerts.request(e)}catch(e){console.warn(\"Failed to request alert. \",{error:e})}},Na=s(void 0),Sa=({children:t,launchpadMode:n})=>{const[o,i]=c(),[r,a]=c(!1),[s,d]=c(),m=l(w),p=u(()=>({prefs:o,isInitialSetupCompleted:r,initialSetupError:s}),[o,r,s]);return f(()=>{if(!m)return;let e=!1;const t=m.contexts.subscribe(xi,t=>{if(e)return;const n=Ca.run(t);if(!n.ok)return void m.logger.warn(`The received data for context ${xi} is with an invalid shape: ${Xi(n.error.message)}`);const o=n.result;i(o),m.prefs.updateFor(Di,o).catch(e=>{m.logger.warn(`Failed to update platform prefs. Error: ${Xi(e)}`)})});return()=>{e=!0,t.then(e=>{e()})}},[m]),f(()=>{if(!m)return;(async()=>{try{const e=await m.contexts.get(xi),t=Ca.run(e);if(!t.ok)throw new Error(`The data in context ${xi} is with an invalid shape: ${Xi(t.error.message)}`);const o=t.result;if(Object.keys(o).length>0)return;const i=(await m.prefs.get(Di))?.data??{},r=Ca.run(i);if(!r.ok)throw new Error(`The stored platform prefs in io.prefs are with an invalid shape: ${Xi(r.error.message)}`);const a={[Ai]:\"pinned\"===n||(i[Ai]??!1)},s={...Qi,...r.result,...a};await m.contexts.set(xi,s)}catch(e){d({message:Xi(e)}),await ka({io:m,variant:Zi,text:\"Initial platform prefs setup failed.\",error:e})}finally{a(!0)}})().catch(console.error)},[m,n]),e(Na.Provider,{value:p,children:t})};function Da(){const e=l(Na);if(void 0===e)throw new Error(\"usePlatformPrefs must be used within a PlatformPrefsProvider\");return e}function xa({prefKey:e}){const t=l(w),n=l(Na),o=n?.prefs?.[e],i=n?.isInitialSetupCompleted??!1,[r,s]=c(!i),[u,m]=c(),p=d(0);f(()=>{i&&0===p.current&&s(!1)},[i]);const h=a(async n=>{if(!t)return;const o=++p.current;s(!0),m(void 0);const i=async n=>{n&&await ka({io:t,variant:Zi,text:`Failed to update prefKey \"${e}\".`,error:n}),o===p.current&&(s(!1),n&&m({message:Xi(n)}))};let r;if(n instanceof Function)try{r=n((await t.contexts.get(xi))[e])}catch(e){return i(e)}else r=n;try{const n=Ca.runWithException({[e]:r});await t.contexts.update(xi,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 Ea=\"var(--io-neutrals-0)\",Ia=\"var(--io-neutrals-900)\";function Ma(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 Ia;t.fillStyle=e;return Ma(t.fillStyle)}{const i=e.match(/\\d+/g)?.map(Number);if(!i||i.length<3)return Ia;[t,n,o]=i}}return(.2126*t+.7152*n+.0722*o)/255>.5?Ia:Ea}function Pa({className:t,channel:n,...o}){const i=N(\"io-channel-selector-badge\",t),r=u(()=>Ma(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 Aa(){return e(S,{variant:\"check\",\"data-testid\":\"channel-selector-channel-selected\"})}function Ta({channel:o,handleChannelRestricted:i,lockedChannelRestriction:r}){const a=(e,t)=>n=>{n.stopPropagation(),A(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(fi,{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(fi,{label:\"Subscribe\",checked:o.read,onChange:()=>{i({...o,read:!o.read})},onKeyDown:a(\"read\",!o.isSelected||r?.read),disabled:!o.isSelected||r?.read})})]})}const Oa=s({});function Fa({channel:t,isSelected:n,onChannelSelect:o,onChannelRestrict:i,...r}){const{variant:s,selectedChannels:c,lockedChannelRestrictions:u}=l(Oa),d=n||t.isSelected||c?.includes(t),f=u?.find(e=>e.name===t.name),m=a(()=>o?.({...t,isSelected:!d}),[t,o,d]),p=a(e=>{const n=e.target;n.closest(\".io-toggle\")||n.classList.contains(\"io-toggle\")||A(e)&&(e.preventDefault(),o?.({...t,isSelected:!d}))},[t,o,d]),h=a(e=>{i?.(e)},[i]);return e(_,{prepend:e(Pa,{channel:t}),append:\"single\"===s||\"multi\"===s?d&&e(Aa,{}):e(Ta,{channel:t,handleChannelRestricted:h,lockedChannelRestriction:f}),isSelected:d,onClick:m,onKeyDown:p,...r,children:t.name},t.name)}function La({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(),A(e)&&(e.preventDefault(),o||r())},[o,r]);return e(fi,{label:\"Directional\",align:\"right\",checked:i,onChange:r,onClick:s,onKeyDown:l,disabled:o,\"data-testid\":`channel-selector-toggle-${t}`})}const Ba=r(({className:n,variant:o=\"single\",variantToggle:i=!1,channels:r=[],lockedChannelRestrictions:a=[],onVariantChange:s,onChannelSelect:l,onChannelRestrict:c,...d},f)=>{const m=N(\"io-channel-selector-panel\",(\"directionalSingle\"===o||\"directionalMulti\"===o)&&\"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(Oa.Provider,{value:p,children:e(\"div\",{className:m,ref:f,children:t(V,{...d,children:[e(V.ItemTitle,{\"data-testid\":\"channel-selector-title\",append:i&&e(La,{variant:o,onVariantChange:s}),children:{single:\"Select Channel\",directionalSingle:\"Select Directional Channel\",multi:\"Select Channels\",directionalMulti:\"Select Directional Channels\"}[o]}),r?.map(t=>e(Fa,{channel:t,isSelected:t.isSelected,onChannelSelect:l,onChannelRestrict:c,\"data-testid\":`channel-selector-channel-${t.name}`},t.name))]})})})});Ba.displayName=\"ChannelSelector\";const Ra=r(({className:t,title:n,ariaLabel:o,onClick:i,onKeyDown:r,children:a,disabled:s=!1,...l},c)=>e(\"div\",{ref:c,className:N(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}));Ra.displayName=\"ChannelSelectorButtonWrapper\";function _a(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 Ha(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 ja=Object.freeze({__proto__:null,Channel:Fa,ChannelBadge:Pa,ChannelDirectionalAppend:Ta,ChannelSelector:Ba,ChannelSelectorButton:function({channels:n,variant:o,className:i,onClick:r,onKeyDown:a,...s}){const c=d(null),u=l(Oa),f=n||u.selectedChannels||[],m=o||u.variant||\"single\",p=f.filter(e=>e.isSelected);if((\"multi\"===m||\"directionalMulti\"===m)&&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(Ra,{ref:c,className:i,title:n,ariaLabel:`Selected channels - ${n}`,onClick:r,onKeyDown:a,...s,children:e(\"div\",{className:t,style:o})})}const h=p[0];if(!h)return e(Ra,{ref:c,className:i,title:\"No channel selected\",ariaLabel:\"No channel selected\",onClick:r,onKeyDown:a,...s,children:e(S,{variant:\"link\"})});const g=\"directionalSingle\"===m||\"directionalMulti\"===m,v=g?(y=h).isSelected?y.read&&y.write?\"readwrite\":y.read?\"read\":y.write?\"write\":null:null:null;var y;return t(Ra,{ref:c,className:N(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:Ma(h.color),backgroundColor:h.color},...s,children:[e(\"span\",{children:h.label}),v&&\"readwrite\"!==v&&e(S,{variant:\"read\"===v?\"subscribe\":\"publish\"})]})},ChannelSingleAppend:Aa,useChannelRestrictionLocks:Ha,useChannelRestrictions:_a,useIOCDChannels:function(e){const t=\"T42.ChannelSelector.Execute\",n=l(w),o=n?.windows,i=n?.channels,r=n?.interop,s=bi(),u=o?.my(),m=d(),[h,g]=c(\"\"),[v,y]=c(\"single\"),[b,C]=c(null),[k,N]=c(!1),[S,D]=c(),{channelRestrictions:x,onChannelRestricted:E,applyChannelRestrictions:I}=_a(h,v),{lockedChannelRestrictions:M}=Ha(h),P=a(async(e,t,n)=>{if(\"will-show\"===e.command)try{N(!0),m.current=n;const{windowId:t,channels:i,variant:r}=e;y(r),g(t);const a=await(o?.findById(t)?.getChannel())??\"\",s=I(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));C(s)}catch(e){console.error(\"Error in channel selector handler:\",e),D(e)}finally{N(!1)}},[o,I]),A=a(async({name:e,isSelected:t})=>{if(i){C(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,h):await i.leave({windowId:h,channel:e})}catch(e){D(e),console.error(\"Error selecting channel:\",e)}\"single\"===v&&s&&u&&u?.hide().catch(console.error)}},[i,v,u,h,s]);return Q(()=>{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)=>{P(e,t,n).catch(e=>{console.error(\"Error in channel selector handler:\",e),D(e)})}).catch(console.error),()=>{r.unregister(t)}},[r,P]),f(()=>{C(e=>e?I(e):null)},[x,I]),p(()=>{if(e?.current&&b?.length){const{height:t,width:n,x:o,y:i}=e.current.getBoundingClientRect();m.current&&t>0&&m.current({height:t,width:n,x:o,y:i})}},[b,e]),{windowId:h,error:S,variant:v,channels:b,channelRestrictions:x,lockedChannelRestrictions:M,onChannelSelected:A,onChannelRestricted:E,isLoading:k}}});function $a({className:n,draggable:o,title:i,children:r,...a}){const s=N(\"io-dialog-header\",o&&\"draggable\",n);return t(te,{className:s,...a,children:[e(\"h3\",{children:i}),r]})}function za({children:t,...n}){return e(ne,{...n,children:e(ne.Content,{children:t})})}function Wa({children:t,...n}){return e(ie,{...n,children:t})}const Va=s({config:{message:\"\"},theme:\"dark\",setResult:()=>{}}),Ya=()=>l(Va),Ua=t=>{const{id:n,onButtonFocused:o,...i}=t,{config:r}=Ya();return e(T,{variant:\"outline\",onFocus:()=>o&&o(n),autoFocus:(a=n,a===r.defaultAction),...i});var a},Ka=({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 Ja({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}function qa({className:n,placeHolder:o,maxInputLength:i,errorMessage:r,onInput:a,onEnterKeyDown:s}){const[l,u]=c(\"\"),m=d(null),p=N(\"io-control-input\",n);f(()=>{m.current&&m.current.focus()},[]);return t(\"div\",{className:p,children:[e(\"input\",{className:\"io-input\",ref:m,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 Ga({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}var Qa=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=pi(\"Escape\"),m=pi(\"Enter\"),[p,h]=c(n.defaultAction),{theme:g}=Ya();f(()=>{u(\"SingleInputDialog\"===n?.type)},[n]);const v=a(()=>{o({action:\"expired\"})},[o]);f(()=>{document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(g)},[g]),f(()=>{d&&o({action:\"closed\"})},[d,o]),f(()=>{m&&!p&&o({action:\"clicked\",button:n.defaultAction})},[m,p,n.defaultAction,o]);const y=e=>{e.preventDefault(),o({action:\"clicked\",button:p})},w=()=>{b(\"\")},b=e=>{h(e)};return n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration),t(Ja,{children:[i??e($a,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(Z,{children:e(D,{id:\"close\",icon:\"close\",iconSize:\"12\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:w,tabIndex:-1})})})}),r??e(za,{children:t(\"div\",{children:[n?.messageTitle&&e(\"h1\",{children:n?.messageTitle}),e(\"p\",{children:n.message}),n?.showTimer&&n?.timerDuration&&e(Ka,{timerDuration:n.timerDuration,callback:v})]})}),s??e(Wa,{children:t(Z,{align:\"right\",children:[n.showAffirmativeButton&&e(Ua,{id:\"affirmative\",variant:\"primary\",onClick:y,onButtonFocused:b,onBlur:w,disabled:l,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Ua,{id:\"negative\",onClick:y,onButtonFocused:b,onBlur:w,children:n.negativeButtonName}),n.showCancelButton&&e(Ua,{id:\"cancel\",onClick:y,onButtonFocused:b,onBlur:w,children:n.cancelButtonName})]})})]})},DialogBody:za,DialogButton:Ua,DialogFooter:Wa,DialogHeader:$a,DialogsProvider:({children:t})=>{const[n,o]=c({message:\"\",messageTitle:\"\",operation:\"systemShutdown\",type:\"\"}),[i,r]=c(\"dark\");f(()=>{(async()=>{const e=await a();o(e)})()},[]);const a=()=>window.glue42dialog.getConfig(),s=e=>{window.glue42dialog.setResult(e)};f(()=>{window.glue42dialog.onThemeChanged(e=>{r(e)}),r(window.glue42dialog.getTheme())},[]);const l=u(()=>({theme:i,config:n,setResult:s}),[n,i]);return e(Va.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=pi(\"Escape\"),u=pi(\"Enter\"),[d,m]=c(n.defaultAction),{theme:p}=Ya(),[h,g]=c(\"\"),[v,y]=c(\"\"),[w,b]=c(!1),C=a(()=>{o({action:\"expired\"})},[o]),k=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(p)},[p]),f(()=>{l&&o({action:\"closed\"})},[l,o]),f(()=>{u&&!d&&k()},[u,k,d]);const N=e=>{e.preventDefault(),o(\"affirmative\"===d&&h?{action:\"clicked\",button:d,value:h}:{action:\"clicked\",button:d})},S=()=>{x(\"\")},x=e=>{m(e)};n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration);return t(Ga,{children:[i??e($a,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(Z,{children:e(D,{id:\"close\",icon:\"close\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:S})})})}),r??e(za,{children:t(\"div\",{style:{width:\"100%\"},children:[n.message&&e(\"p\",{children:n.message}),e(qa,{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:k,maxInputLength:n.inputMaxLength,placeHolder:n.inputPlaceholder}),n?.showTimer&&n?.timerDuration&&e(Ka,{timerDuration:n.timerDuration,callback:C})]})}),s??e(Wa,{children:t(Z,{align:\"right\",children:[n.showAffirmativeButton&&e(Ua,{id:\"affirmative\",variant:\"primary\",onClick:N,onButtonFocused:x,onBlur:S,disabled:!w,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Ua,{id:\"negative\",onClick:N,onButtonFocused:x,onBlur:S,children:n.negativeButtonName}),n.showCancelButton&&e(Ua,{id:\"cancel\",onClick:N,onButtonFocused:x,onBlur:S,children:n.cancelButtonName})]})})]})},useDialogsContext:Ya});function Xa({title:n=\"Downloads\"}){const{ItemSearch:o,HeaderButtons:i}=Ns();return t(\"div\",{className:\"io-dm-header\",children:[t(ee,{draggable:!0,children:[e(ee.Title,{tag:\"h1\",text:n,size:\"large\"}),e(i,{className:\"non-draggable\"})]}),e(o,{})]})}const Za=window.glue42gd;const es=s({configuration:{},items:[],removeItem:()=>{},pauseResumeItem:()=>{},cancelItem:()=>{},clearItems:()=>{},showItemInFolder:()=>{},isSettingsVisible:!1,showSettings:()=>{},hideSettings:()=>{},searchQuery:\"\",setSearch:()=>{},itemsCount:0,setCount:()=>{},setDownloadLocation:()=>{},setDownloadLocationWithDialog:()=>{},sortItems:()=>[],downloadLocationList:[],isDownloadLocationDialogVisible:!1}),ts=()=>l(es);function ns({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const l=N(\"io-header-search\",n),c=d(null),{searchQuery:u,setSearch:f,itemsCount:m}=ts(),p=u.length>0,h=a(()=>{f(\"\"),c.current&&c.current.focus()},[f]);return t(\"div\",{className:l,children:[e(oi,{ref:c,value:u,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?h:void 0,placeholder:o,onChange:e=>f(e.target.value),...s}),p&&e(\"p\",{className:\"io-header-search-count\",children:`${m} results`})]})}function os({className:n,...o}){const{MoreButton:i,CloseButton:r}=Ns();return t(Z,{className:n,align:\"right\",...o,children:[e(i,{}),e(r,{})]})}function is({icon:n=\"ellipsis-vertical\",...o}){const{items:i,clearItems:r,showSettings:a}=ts(),s=0===i.length;return t(X,{variant:\"light\",...o,children:[e(X.ButtonIcon,{icon:n,variant:\"circle\",size:\"32\"}),e(X.Content,{children:t(X.List,{children:[e(X.Item,{onClick:e=>(e=>{s?e.stopPropagation():r()})(e),disabled:s,children:\"Clear All\"}),e(X.Item,{onClick:a,children:\"Settings\"})]})})]})}const rs={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:async function(e,t=!0){if(e)try{await e.appManager.restart({autoSave:t,showDialog:!0})}catch(e){console.error(\"Failed to restart io.Connect Desktop\",e)}},shutdownPlatform:async function(e,t=!0){if(e)try{await e.appManager.exit({autoSave:t,showDialog:!0})}catch(e){console.error(\"Failed to shutdown io.Connect Desktop\",e)}}};function as({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const a=l(w);return e(D,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):rs.closeWindow(a).catch(e=>{console.error(\"Failed to close window:\",e)})},...r})}function ss(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 ls(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?ss(n,\"Today\",!1,!0):s?ss(n,\"Yesterday\",!1,!0):l?ss(n,!1,!1,!0):ss(n):a?\"Today\":s?\"Yesterday\":l?ss(n,!1,!0,!0):ss(n,!1,!0)}function cs({className:t,...n}){const o=N(\"io-dm-body\",t),{DownloadListEmpty:i,ItemGroup:r,Item:a}=Ns(),{items:s,searchQuery:l,setCount:c,sortItems:d}=ts(),m=d(s),p=hi(l),h=u(()=>m.filter(e=>e.displayInfo.filename.toLowerCase().includes(p.toLowerCase())||e.displayInfo.url.toLowerCase().includes(p.toLowerCase())),[m,p]),g=u(()=>h.map(e=>({...e,displayInfo:{...e.displayInfo,startTime:ls(e.displayInfo.startTime,{showTime:!1})}})),[h]),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(h.length)},[h,c]),e(\"div\",{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 us({className:n,icon:o=\"download\",text:i=\"No downloads to display.\",...r}){const a=N(\"io-dm-no-items\",n);return t(\"div\",{className:a,...r,children:[e(S,{variant:o}),e(\"p\",{children:i})]})}function ds({className:n,title:o,children:i,...r}){const a=N(\"io-dm-item-group\",n);return t(\"div\",{className:a,...r,children:[o&&e(\"p\",{children:o}),i]})}function fs({className:o,item:i,...r}){const{ItemHeader:a,ItemBody:s,ItemFooter:l}=Ns(),{state:c,url:u,filename:d,receivedBytes:f,totalBytes:m,speed:p,timeRemaining:h}=i.displayInfo;if(!i)return e(n,{});const g=N(\"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:m,speed:p,timeRemaining:h}),e(l,{itemID:i.id,state:c})]})}function ms({bytesReceived:t=0,bytesTotal:n=0,...o}){const i=a(()=>t&&n?Math.round(t/n*100):0,[t,n]);return e(ti,{value:i(),...o})}function ps({className:n,itemID:o,filename:i,state:r,cancel:s,remove:l,...c}){const u=N(\"io-dm-item-header\",n),{cancelItem:d,removeItem:f}=ts(),m=a(e=>{s?s(e):d(e)},[s,d]),p=a(e=>{l?l(e):f(e)},[l,f]);return t(\"div\",{className:u,...c,children:[e(M,{text:i,style:{textDecoration:\"interrupted\"===r||\"cancelled\"===r?\"line-through\":\"none\"}}),e(D,{icon:\"close\",iconSize:\"12\",onClick:()=>{\"progressing\"===r||\"paused\"===r?m(o):p(o)}})]})}function hs({className:n,state:o,url:i,bytesReceived:r=0,bytesTotal:a=0,speed:s=0,timeRemaining:l=0,...c}){const u=N(\"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}),(m=o,\"cancelled\"===m||\"interrupted\"===m||\"completed\"===m?null:e(ms,{variant:\"paused\"===m?\"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,m}const gs={success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function vs({className:n,variant:o,text:i}){const r=N(\"io-dm-item-status\",`io-dm-item-status-${o}`,n);return t(\"div\",{className:r,children:[o&&e(S,{variant:gs[o],className:\"icon-severity\",size:\"10\"}),i&&e(\"p\",{className:\"io-text-smaller\",children:i})]})}function ys({className:o,itemID:i,state:r,pauseResume:s,showInFolder:l,cancel:c,...u}){const d=N(\"io-dm-item-footer\",o),{pauseResumeItem:f,showItemInFolder:m,cancelItem:p}=ts(),h=a(e=>{s?s(e):f(e)},[s,f]),g=a(e=>{l?l(e):m(e)},[l,m]),v=a(e=>{c?c(e):p(e)},[c,p]);return e(\"div\",{className:d,...u,children:(()=>{switch(r){case\"progressing\":return t(Z,{align:\"right\",children:[e(Z.Button,{variant:\"primary\",text:\"Pause\",onClick:()=>h(i)}),e(Z.Button,{variant:\"link\",text:\"Cancel\",onClick:()=>v(i)})]});case\"paused\":return e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Resume\",onClick:()=>h(i)})});case\"completed\":return t(n,{children:[e(vs,{variant:\"success\",text:\"Complete\"}),e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Show in Folder\",onClick:()=>g(i)})})]});case\"cancelled\":return e(vs,{variant:\"warning\",text:\"Cancelled\"});case\"interrupted\":return t(n,{children:[e(vs,{variant:\"critical\",text:\"Failed\"}),e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Retry\",onClick:()=>h(i)})})]});default:return null}})()})}function ws({className:n,title:o=\"Download Settings\",...i}){const r=N(\"io-dm-settings-panel\",n),{configuration:{downloadFolder:a},hideSettings:s,setDownloadLocation:l,setDownloadLocationWithDialog:c,isDownloadLocationDialogVisible:u,downloadLocationList:d}=ts();return t(Zo,{className:r,...i,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:o,tag:\"h1\"}),e(Zo.Header.ButtonGroup,{children:e(D,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>{s()},disabled:u})})]}),e(Zo.Body,{children:t(Z,{children:[t(X,{variant:\"light\",disabled:u,children:[e(X.Button,{children:e(\"span\",{className:\"io-dm-settings-panel-download-location\",children:a??d[0]})}),d.length>1&&e(X.Content,{children:e(X.List,{children:d.map((t,n)=>!t||0===n||n>3?null:e(X.Item,{onClick:()=>{l(t)},children:t},t))})})]}),e(T,{className:\"io-btn io-dm-settings-panel-download-location-btn\",text:\"Browse\",onClick:()=>{c()},disabled:u})]})})]})}const bs={Header:Xa,ItemSearch:ns,HeaderButtons:os,MoreButton:is,CloseButton:as,Body:cs,DownloadListEmpty:us,ItemGroup:ds,Item:fs,ItemProgress:ms,ItemHeader:ps,ItemBody:hs,ItemFooter:ys,Settings:ws},Cs=s(bs),ks=g(({children:t,components:n})=>{const o=u(()=>({...bs,...n}),[n]);return e(Cs.Provider,{value:o,children:t})});ks.displayName=\"ComponentsStore\";const Ns=()=>l(Cs);function Ss({className:n,...o}){const i=N(\"io-dm\",n),{Header:r,Body:a,Settings:s}=Ns(),{isSettingsVisible:l}=ts();return t(Zo,{className:i,...o,children:[e(r,{}),e(a,{}),l&&e(s,{})]})}var Ds=Object.freeze({__proto__:null,Body:cs,CloseButton:as,DownloadListEmpty:us,DownloadManager:function({components:t,...n}){return e(ks,{components:t,children:e(Ss,{...n})})},DownloadManagerProvider:({children:t})=>{const{configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:m,hideSettings:p,searchQuery:h,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:C,isDownloadLocationDialogVisible:k,downloadLocationList:N}=function(){const[e,t]=c({}),[n,o]=c([]),[i,r]=c(0),[a,s]=c([]),[l,u]=c(\"\"),[d,m]=c(!1),[p,h]=c(!1),[g,v]=c({filePaths:[],canceled:!1});f(()=>{if(!Za)return;const e=Za.downloads.onUpdate(e=>o(t=>y(t,e))),n=Za.downloads.onConfigurationChanged(e=>{t(e)});return Za.downloads.list().then(o).catch(console.error),Za.downloads.getSavePathList().then(e=>{e.pathList&&s(e.pathList)}).catch(console.error),()=>{e(),n()}},[]),f(()=>{h(!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 Za.downloads.cancel(e)}catch(e){console.error(e)}},removeItem:async e=>{try{o(t=>t.filter(t=>t.id!==e)),await Za.downloads.removeItem(e)}catch(e){console.error(e)}},clearItems:async()=>{try{o([]),await Za.downloads.clearDownloadList()}catch(e){console.error(e)}},itemsCount:i,searchQuery:l,showSettings:()=>{m(!0)},hideSettings:()=>{m(!1)},configuration:e,isSettingsVisible:d,pauseResumeItem:async e=>{try{await Za.downloads.pauseResume(e)}catch(e){console.error(e)}},showItemInFolder:async e=>{try{await Za.downloads.showInFolder(e)}catch(e){console.error(e)}},setDownloadLocation:async e=>{try{await Za.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()=>{h(!0);try{const e=await Za.downloads.showOpenDialog();if(v(e),!e?.filePaths||0===e.filePaths.length)return;await Za.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)}}}}(),S=u(()=>({configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:m,hideSettings:p,searchQuery:h,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:C,isDownloadLocationDialogVisible:k,downloadLocationList:N}),[n,o,i,r,a,l,s,d,m,p,h,g,v,y,w,b,C,k,N]);return e(es.Provider,{value:S,children:t})},Header:Xa,HeaderButtons:os,Item:fs,ItemBody:hs,ItemFooter:ys,ItemGroup:ds,ItemHeader:ps,ItemProgress:ms,ItemSearch:ns,MoreButton:is,Settings:ws,useDownloadManagerContext:ts});function xs(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]}}}xs.default=xs;var Es=b(xs);var Is=new class{feedback=window.issueReporting;registry=Es();config;subscribed=!1;init(){this.subscribed||(this.subscribed=!0,window.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)}))}async getConfig(){return this.config=await this.feedback.invoke(\"config\"),this.convertConfigToPublic(this.config)}onThemeChanged(e){return this.registry.add(\"on-theme-changed\",e)}onSubmitFinished(e){return this.registry.add(\"on-submit-finished\",e)}submitReport(e){return new Promise(t=>{const n=this.convertFeedbackToInternal(e),o=this.onSubmitFinished(e=>{o(),t(e)});this.feedback.send(\"submit\",n)})}closeReport(e){return this.feedback.send(\"cancel\",e)}setBounds(e,t,n,o){return this.feedback.send(\"setBounds\",e,t,n,o)}openUrl(e){return 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 Ms=s({config:{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\"},onThemeChanged:e=>{},openUrl:()=>{},submit:()=>Promise.resolve({}),setBounds:()=>{},close:e=>{},showMailingList:!0,setShowMailingList:()=>{},attachmentCategories:[],submitInProgress:!1,setSubmitInProgress:()=>{},submitStatus:{type:\"success\",title:\"\",text:\"\"},setSubmitStatus:()=>{},submitCompleted:!1,setSubmitCompleted:()=>{},jiraTicketURL:\"\",setJiraTicketURL:()=>{},submitFeedback:()=>{}}),Ps=()=>l(Ms);function As({...n}){const{config:o,close:i}=Ps(),{applicationTitle:r}=o;return t(ee,{draggable:!0,...n,children:[e(ee.Title,{tag:\"h1\",text:r?`Feedback Form - ${r}`:\"Feedback Form\",size:\"large\"}),e(ee.ButtonGroup,{className:\"non-draggable\",children:e(ee.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>i()})})]})}function Ts({className:n,handleSubmit:o,...i}){const r=N(\"io-panel-body\",n),{config:a,submitFeedback:s}=Ps(),{IntroField:l,DescriptionField:c,TechInfoField:u,EnvInfoField:d,FileAttachmentsField:f,CategoryAttachmentsField:m,SettingsField:p,MailListField:h}=Gs(),g=o??s,v=`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:e=>g(e),...i,children:[e(l,{children:e(\"p\",{children:v})}),e(p,{}),e(h,{}),e(c,{}),e(u,{readOnly:!0}),e(d,{readOnly:!0}),\"file\"===a.attachmentsViewMode?e(f,{}):e(m,{})]})}function Os({...n}){const{FooterButtons:o}=Gs(),{openUrl:i,submitInProgress:r,submitStatus:a,jiraTicketURL:s}=Ps();return e(oe,{...n,children:t(\"div\",r?{className:\"flex ai-center jc-between\",children:[e(P,{children:e(\"p\",{children:a.title})}),e(qo,{align:\"right\",size:\"small\"})]}:{className:\"flex ai-center jc-between\",children:[t(P,{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 Fs({className:t,...n}){const{CloseButton:o}=Gs(),{close:i}=Ps();return e(Z,{className:t,...n,children:e(o,{onClick:()=>i()})})}function Ls({className:n,...o}){const{SubmitButton:i,CancelButton:r,CloseButton:a}=Gs(),{close:s,submitCompleted:l}=Ps();return l?e(Z,{className:n,...o,children:e(a,{text:\"Close\",onClick:()=>s()})}):t(Z,{className:n,...o,children:[e(i,{}),e(r,{onClick:()=>s()})]})}function Bs({text:t=\"Submit\",...n}){return e(T,{form:\"feedback\",type:\"submit\",variant:\"primary\",text:t,...n})}function Rs({text:t=\"Cancel\",...n}){return e(T,{variant:\"link\",text:t,...n})}function _s({...t}){return e(T,{variant:\"primary\",...t})}function Hs({showField:t=!0,className:n,title:o,hint:i,children:r,...a}){return t?e(P,{className:n,title:o,hint:i,...a,children:r}):null}function js({showField:t=!0,className:n,title:o=\"Description\",hint:i,readOnly:r=!1,disabled:a,...s}){return t?e(P,{className:n,hint:i,title:\"\",...s,children:e(ii,{id:\"description\",name:\"description\",label:o,readOnly:r,disabled:a})}):null}function $s({showField:t,className:n,title:o=\"Technical Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=Ps(),u=t??c.errorMessage,d=r??c.errorMessage;return u&&d?e(P,{className:n,hint:i,...l,children:e(ii,{id:\"errorMessage\",name:\"errorMessage\",label:o,value:d,readOnly:a,disabled:s})}):null}function zs({showField:t,className:n,title:o=\"Environment Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=Ps(),u=t??c.showEnvironmentInfo,d=r??c.environmentInfo;return u&&d?e(P,{className:n,hint:i,...l,children:e(ii,{id:\"environmentInfo\",name:\"environmentInfo\",label:o,value:d,readOnly:a,disabled:s})}):null}function Ws({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,attachments:l,selectedCategories:c,...u}){const d=N(\"io-block-list-gap\",n),{config:f}=Ps(),m=l??f.attachments,p=c??f.selectedCategories,h=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!m||m.length<=0?e(P,{title:\"Attachments\",children:e(\"p\",{children:\"No Attachments\"})}):e(P,{className:d,title:o,hint:i,...u,children:e(\"div\",{className:\"file-attachments\",children:m.map(t=>e(ri,{id:t.id,name:t.id,label:t.name,readOnly:r,disabled:s,defaultChecked:h(t.category)},t.id))})}):null}function Vs({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}=Ps(),m=l??f,p=c??d.selectedCategories,h=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!m||m.length<=0?e(\"p\",{children:\"No Attachments\"}):e(P,{className:n,title:o,hint:i,...u,children:e(\"div\",{className:\"category-attachments\",children:m.map(t=>e(fi,{id:t,name:t,align:\"right\",label:t,readOnly:r,disabled:s,defaultChecked:h(t)},t))})}):null}function Ys({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 m=N(\"io-block-list-gap\",n),{config:p,showMailingList:h,setShowMailingList:g}=Ps();if(!r)return null;const v=a??p.createJiraTicket,y=l??p.sendEmail;return t(P,{className:m,hint:i,title:o,...f,children:[v&&e(fi,{id:\"createJiraTicket\",name:\"createJiraTicket\",label:s,align:\"right\",readOnly:u,disabled:d,defaultChecked:v}),y&&e(fi,{onChange:()=>{g(!h)},id:\"sendEmail\",name:\"sendEmail\",label:c,align:\"right\",readOnly:u,disabled:d,defaultChecked:y})]})}function Us({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}=Ps(),d=t??c.sendEmail,f=a??!1===c.allowEditRecipients;return d&&u?e(P,{className:n,hint:i,...l,children:e(oi,{id:\"mailingList\",name:\"mailingList\",label:o,placeholder:r,readOnly:f,disabled:s,defaultValue:c.mailingList??\"\"})}):null}const Ks={Header:As,Body:Ts,Footer:Os,HeaderButtons:Fs,FooterButtons:Ls,SubmitButton:Bs,CancelButton:Rs,CloseButton:_s,IntroField:Hs,DescriptionField:js,TechInfoField:$s,EnvInfoField:zs,FileAttachmentsField:Ws,CategoryAttachmentsField:Vs,SettingsField:Ys,MailListField:Us},Js=s(Ks),qs=g(({children:t,components:n})=>{const o=u(()=>({...Ks,...n}),[n]);return e(Js.Provider,{value:o,children:t})});function Gs(e){return{...l(Js),...e}}function Qs({className:n,...o}){const i=N(\"io-feedback\",n),{Header:r,Body:a,Footer:s}=Gs();return t(Zo,{className:i,...o,children:[e(r,{}),e(a,{}),e(s,{})]})}qs.displayName=\"ComponentsStore\";var Xs=Object.freeze({__proto__:null,Body:Ts,CancelButton:Rs,CategoryAttachmentsField:Vs,CloseButton:_s,DescriptionField:js,EnvInfoField:zs,Feedback:function({components:t,...n}){return e(qs,{components:t,children:e(Qs,{...n})})},FeedbackProvider:({children:t})=>{const{config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:s,close:l,showMailingList:m,setShowMailingList:p,attachmentCategories:h,submitInProgress:g,setSubmitInProgress:v,submitStatus:y,setSubmitStatus:w,submitCompleted:b,setSubmitCompleted:C,jiraTicketURL:k,setJiraTicketURL:N,submitFeedback:S}=function(){const[e,t]=c({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\"}),[n,o]=c(!1),[i,r]=c(!1),[s,l]=c(!1),[u,m]=c(\"\"),[p,h]=c([]),[g,v]=c({type:\"primary\",title:\"\",text:\"\"}),y=d();Is.init();const w=a(e=>{const t=document.documentElement;return t.className=\"\",t.classList.add(e),()=>{t.classList.remove(e)}},[]),b=a(e=>{const t=new Set;e.filter(e=>{const n=t.has(e.category);return t.add(e.category),!n}),h(Array.from(t))},[]);f(()=>{Is.getConfig().then(e=>{t(e),b(e.attachments),e.theme?w(e.theme):w(\"dark\")}).catch(e=>{throw new Error(\"Failed to get Feedback Config:\",e)}),Is.onThemeChanged(e=>{w(e)})},[b,w]),f(()=>{o(e.sendEmail)},[e.sendEmail]),f(()=>(i&&\"Outlook\"===e.sendEmailClient&&(y.current=setTimeout(()=>{v({title:\"Sending an email. Go to Outlook to allow access.\",type:\"primary\"})},100)),()=>clearTimeout(y.current)),[i,e.sendEmailClient]);const C=a(e=>Is.onThemeChanged(e),[]),k=a(e=>{e.jiraProcessed&&(v({title:e.jiraDetails,type:\"success\"}),m(e.jiraTicketUrl)),e.emailProcessed&&v({title:e.emailDetails,type:\"success\"})},[]),N=a(async t=>{const n={createJiraTicket:e.createJiraTicket,sendEmail:e.sendEmail,mailingList:e.mailingList,attachments:e.attachments,attachmentsViewMode:e.attachmentsViewMode,...t};if(!n.createJiraTicket&&!n.sendEmail){const e=\"Can't send feedback. Feedback via Jira and email has been disabled.\";throw v({title:e,type:\"error\"}),new Error(e)}if(n.sendEmail&&!n.mailingList){const e=\"No email recipient. Provide at least one valid email address in the Email List field.\";throw v({title:e,type:\"error\"}),new Error(e)}n.createJiraTicket&&n.sendEmail&&(v({title:\"Submitting an issue to Jira and sending an email...\",type:\"primary\"}),r(!0)),n.createJiraTicket?(v({title:\"Submitting an issue to Jira...\",type:\"primary\"}),r(!0)):(v({title:\"Sending an email...\",type:\"primary\"}),r(!0));try{const e=await Is.submitReport(t);return k(e),r(!1),l(!0),clearTimeout(y.current),e}catch(e){throw console.log(\"An error occurred while submitting your feedback:\",e),e}},[e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.mailingList,e.sendEmail,k]),S=a(e=>{Is.openUrl(e)},[]),D=a(e=>{Is.closeReport(e)},[]),x=a((e,t,n,o)=>{Is.setBounds(e,t,n,o)},[]),E=a(t=>{t.preventDefault();const n=new FormData(t.currentTarget),o=[],i=[...e.attachments];if(\"file\"===e.attachmentsViewMode)i.filter(e=>\"on\"===n.get(e.id)).map(e=>o.push(e.id));else{const e=p?.filter(e=>\"on\"===n.get(e)),t=i.reduce((t,n)=>(-1!==e.indexOf(n.category)&&t.push(n.id),t),[]);o.push(...t)}const r={createJiraTicket:\"on\"===n.get(\"createJiraTicket\"),sendEmail:\"on\"===n.get(\"sendEmail\"),description:n.get(\"description\"),mailingList:n.get(\"mailingList\"),attachments:o,attachmentsViewMode:e.attachmentsViewMode};return N(r)},[p,e.attachments,e.attachmentsViewMode,N]);return{config:e,onThemeChanged:C,openUrl:S,submit:N,setBounds:x,close:D,showMailingList:n,setShowMailingList:o,attachmentCategories:p,submitInProgress:i,setSubmitInProgress:r,submitStatus:g,setSubmitStatus:v,submitCompleted:s,setSubmitCompleted:l,jiraTicketURL:u,setJiraTicketURL:m,submitFeedback:E}}(),D=u(()=>({config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:s,close:l,showMailingList:m,setShowMailingList:p,attachmentCategories:h,submitInProgress:g,setSubmitInProgress:v,submitStatus:y,setSubmitStatus:w,submitCompleted:b,setSubmitCompleted:C,jiraTicketURL:k,setJiraTicketURL:N,submitFeedback:S}),[n,o,i,r,s,l,m,h,g,y,b,k,S,N,v,w,C,p]);return e(Ms.Provider,{value:D,children:t})},FileAttachmentsField:Ws,Footer:Os,FooterButtons:Ls,Header:As,HeaderButtons:Fs,IntroField:Hs,MailListField:Us,SettingsField:Ys,SubmitButton:Bs,TechInfoField:$s,useFeedbackContext:Ps});function Zs({className:n,title:o=\"General\",...i}){const r=N(\"io-notifications-settings-panel-general\",n),{AllowNotifications:a,AllowNotificationToasts:s,ShowNotificationBadge:l,CloseNotificationOnClick:c,PanelAutoHide:u,HideToastsAfter:d}=Bl(),f=bi();return e(\"div\",{className:r,...i,children:t(P,{title:o,children:[f&&e(a,{}),f&&e(s,{}),e(l,{}),f&&e(u,{}),f&&e(c,{}),f&&e(d,{})]})})}var el=new class{subscribed=!1;io=void 0;registry=Es();logger=void 0;isPanelVisible=void 0;notifications=[];bulkActionsSupported=!1;init(e){if(this.subscribed)return;this.subscribed=!0,this.io=e,this.logger=this.io.logger.subLogger(\"notifications\");const t=this.io.appManager.myApplication,n=t?.userProperties?.logger?.publishLevel??\"error\",o=t?.userProperties?.logger?.consoleLevel??\"info\";this.logger.publishLevel(n),this.logger.consoleLevel(o),this.logger.info(\"===== IO Notifications v.0.8.2 =====\"),this.getBulkActionsSupport(),this.subscribe()}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){return\"function\"==typeof(this.io?.notifications).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(\", \"))}`),(this.io?.notifications).clearMany(e)):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){return\"function\"==typeof(this.io?.notifications).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`),(this.io?.notifications).snoozeMany(e,t)):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){return\"function\"==typeof(this.io?.notifications).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}`),(this.io?.notifications).setStates(e,t)):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}getBulkActionsSupport(){const e=\"function\"==typeof(this.io?.notifications).clearMany&&\"function\"==typeof(this.io?.notifications).setStates&&\"function\"==typeof(this.io?.notifications).snoozeMany;this.bulkActionsSupported=e}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)}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()}\"`),Object.assign(n,{state:t})):n),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications&&\"onDataChanged\"in this.io.notifications&&\"function\"==typeof this.io.notifications.onDataChanged&&this.io?.notifications.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)}\"`),Object.assign(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)}),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,this.registry.execute(\"on-panel-visibility-changed\",e)})}isDesktopEnvironment(){return\"object\"==typeof window&&(Boolean(window.iodesktop)||Boolean(window.glue42gd))}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)}`),this.io?.notifications&&\"updateData\"in this.io.notifications&&\"function\"==typeof this.io.notifications.updateData?await this.io.notifications.updateData(e.id,t):console.log(\"'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 tl(e){const t=l(w),n=t?.appManager,o=bi(),[i,r]=c([]),[s,d]=c(0),m=\"Platform\",p=a((e=\"asc\")=>{if(null===o)return[];const t=[...i].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(!o){const e=t.findIndex(e=>e.name===m);if(-1!==e){const[n]=t.splice(e,1);t.unshift(n)}}return t},[i,o]),h=u(()=>p(\"asc\"),[p]),g=u(()=>p(\"desc\"),[p]);f(()=>{if(null===o||o)return;const e={title:\"System\",name:m,hidden:!1,userProperties:{hidden:!1}};r(t=>t.some(t=>t.name===e.name)?t:[...t,e])},[o]),f(()=>{if(!n)return;const e=n.onAppAdded(e=>{r(t=>[...t,{title:e.title,name:e.name,hidden:e.hidden,userProperties:e.userProperties}])}),t=n.onAppRemoved(e=>{r(t=>t.filter(t=>t.name!==e.name))}),o=n.onAppChanged(e=>{r(t=>{const n=t.find(t=>t.name===e.name);return[...t.filter(t=>t.name!==e.name),{title:e.title,name:n?.name,hidden:n?.hidden,allowed:n?.allowed,userProperties:n?.userProperties}]})});return()=>{e(),t(),o()}},[n]);return{apps:u(()=>{if(!e?.sourceFilter||!Array.isArray(i))return i;const{allowed:t=[],blocked:n=[]}=e.sourceFilter,o=t.includes(\"*\"),r=n.includes(\"*\");let a=0;const s=i.map(e=>{const n=o||t.includes(e.name),i=!r&&n;return i&&a++,{...e,allowed:i}});return d(a),s},[e,i]),allowedApps:s,sortedAppsAsc:h,sortedAppsDesc:g,sortAppsAlphabetically:p}}function nl(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 ol(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 il=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}),rl=e=>Array.from(e.reduce((e,t)=>e.set(t.id,t),new Map).values());function al(){const e=l(w),[t,n]=c({}),[o,i]=c({}),[r,a]=c([]),[s,u]=c(0),[d,m]=c(!0),{apps:p,allowedApps:h}=tl(t),{notificationStacks:g}=nl(r,{toastStacking:o.toastStacking??!1,stackBy:o.stackBy??\"source\"},{sourceFilter:t.sourceFilter}),{selectedNotifications:v,selectNotification:y,selectAllNotifications:b}=ol(r);el.init(e),f(()=>{(async()=>{await(async()=>{try{const e=await el.getConfiguration();n(e),i(t=>({...t,...il(e)}))}catch(e){console.error(\"Error fetching configuration:\",e)}})(),await(async()=>{try{const e=await el.getNotificationsList();a(rl(e))}catch(e){console.error(\"Error fetching notifications:\",e)}})()})().catch(e=>{console.error(\"Error in useNotifications fetch:\",e)}),C()},[]),f(()=>{const e=el.onNotificationsChanged(e=>{a(rl(e))}),t=el.onConfigurationChanged(e=>{const t=il(e);n(t=>({...t,...e})),i(e=>({...e,...t}))}),o=el.onCounterChanged(e=>{u(e)});return()=>{e(),t(),o()}},[]);const C=()=>{m(el.bulkActionsSupported)},k=async e=>{await el.setFilter(e)};return{close:e=>el.close(e),clearAll:()=>el.clearAll(),settings:o,hidePanel:async()=>{await el.hidePanel()},showPanel:async()=>{await el.showPanel()},saveFilter:k,clearAllOld:()=>el.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 el.configure(n)},allApps:p,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:v,selectNotification:y,selectAllNotifications:b,clearMany:async e=>{await el.clearMany(e)},snooze:async(e,t)=>{await el.snooze(e,t)},snoozeMany:async(e,t)=>{await el.snoozeMany(e,t)},setState:async(e,t)=>{await el.setState(e,t)},setStates:async(e,t)=>{await el.setStates(e,t)},setCount:e=>{u(e)},getNotificationsList:async()=>await el.getNotificationsList()}}const sl=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:()=>{}}),ll=()=>l(sl);function cl({label:t=\"Allow notifications\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=a(e=>{r({enabledNotifications:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:l,checked:i.enabledNotifications??!1,...o}):null}function ul({label:t=\"Allow notification toasts\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({enabledToasts:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.enabledToasts??!1,disabled:l,...o}):null}function dl({label:t=\"Show notification badge\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi()&&!i.enabledNotifications,l=a(e=>{r({showNotificationBadge:e.target.checked})},[r]);return e(fi,{label:t,align:n,onChange:l,checked:i.showNotificationBadge??!1,disabled:s,...o})}function fl({label:t=\"Close notification on click\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({closeNotificationOnClick:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.closeNotificationOnClick??!1,disabled:l,...o}):null}function ml({label:t=\"Auto hide panel\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=a(e=>{r({autoHidePanel:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:l,checked:i.autoHidePanel??!1,...o}):null}const pl=(e,t)=>e?`${e} ${t}${1!==e?\"s\":\"\"}`:\"\",hl=e=>{const t=Math.floor(e/60),n=e%60,o=pl(t,\"minute\"),i=pl(n,\"second\");return o+(o&&i?\" \":\"\")+i};function gl({className:n,title:o=\"Hide toasts after\",items:i=[15,30,45,60],...r}){const s=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ll(),u=bi(),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(X,{variant:\"light\",disabled:d,children:[e(X.Button,{text:hl((l.toastExpiry??0)/1e3)}),e(X.Content,{children:e(X.List,{variant:\"single\",children:i.map(t=>e(X.Item,{onClick:()=>{f(t)},children:hl(t)},t))})})]})]}):null}function vl({className:n,title:o=\"Stacking\",...i}){const r=N(\"io-notifications-settings-panel-stacking\",n),{ToastStacking:a,ToastStackBy:s}=Bl();return bi()?e(\"div\",{className:r,...i,children:t(P,{title:o,children:[e(a,{}),e(s,{})]})}):null}function yl({label:t=\"Allow toast stacking\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({toastStacking:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.toastStacking??!1,disabled:l,...o}):null}const wl={application:\"Application\",severity:\"Priority\"},bl=Object.fromEntries(Object.entries(wl).map(([e,t])=>[t,e]));function Cl({className:n,title:o=\"Group by\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),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(wl);return t(\"div\",{className:r,...i,children:[e(\"div\",{className:N(\"io-text-clipper\",{\"io-text-disabled\":u}),children:e(\"span\",{children:o})}),t(X,{variant:\"light\",disabled:u,children:[e(X.Button,{text:wl[s.stackBy??\"severity\"]}),e(X.Content,{children:e(X.List,{variant:\"single\",children:f.map(t=>e(X.Item,{onClick:()=>{const e=bl[t];d(e)},children:t},t))})})]})]})}function kl({className:n,title:o=\"Placement\",...i}){const r=N(\"io-notifications-settings-panel-placement\",n),{PlacementPanel:a,PlacementToasts:s}=Bl();return bi()?e(\"div\",{className:r,...i,children:t(P,{title:o,children:[e(a,{}),e(s,{})]})}):null}const Nl=e=>e.replace(/(^|-)\\w/g,e=>e.toUpperCase().replace(\"-\",\" \"));function Sl({className:n,title:o=\"Panel position\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),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(X,{variant:\"light\",children:[e(X.Button,{text:s.placement?.panel?Nl(s.placement?.panel):\"Right\"}),e(X.Content,{children:e(X.List,{variant:\"single\",children:[\"Right\",\"Left\"].map(t=>e(X.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function Dl({className:n,title:o=\"Toasts position\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),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(X,{variant:\"light\",children:[e(X.Button,{text:s.placement?.toasts?Nl(s.placement?.toasts):\"Bottom Right\"}),e(X.Content,{children:e(X.List,{variant:\"single\",children:[\"Top Right\",\"Top Left\",\"Bottom Right\",\"Bottom Left\"].map(t=>e(X.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function xl({className:t,title:n=\"Snooze\",...o}){const i=N(\"io-notifications-settings-panel-snooze\",t),{SnoozeDuration:r}=Bl(),{settings:a}=ll();return bi()&&a.snooze?.enabled?e(\"div\",{className:i,...o,children:e(P,{title:n,children:e(r,{})})}):null}function El({className:n,title:o=\"Default duration\",items:i=[60,120,180,300],...r}){const s=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ll(),u=bi(),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:N(\"io-text-clipper\",{\"io-text-disabled\":d}),children:e(\"span\",{children:o})}),t(X,{variant:\"light\",disabled:d,children:[e(X.Button,{text:hl((l.snooze?.duration??0)/1e3)}),e(X.Content,{children:e(X.List,{variant:\"single\",children:i.map(t=>e(X.Item,{onClick:()=>{f(t)},children:hl(t)},t))})})]})]}):null}function Il({className:n,title:o,...i}){const r=N(\"io-notifications-settings-panel-subscriptions\",n),{SubscribeAll:a,SubscribeApp:s,SubscribeMuteAll:l,SubscribeMuteApp:c}=Bl(),{sortAppsAlphabetically:u}=tl(),d=bi(),f=u(),m=\"io-notifications-subscriptions-grid \"+(d?\"with-three-columns\":\"with-two-columns\");return e(\"div\",{className:r,...i,children:t(P,{title:o??(d?\"Subscribe & Mute\":\"Subscribe\"),children:[t(\"div\",{className:m,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:m,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:m,children:[e(\"p\",{children:n.title??n.name}),e(s,{app:n,label:\"\"}),d&&e(c,{app:n,label:\"\"})]},n.name))]})})}function Ml({label:t=\"All apps\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ll(),l=bi()&&!i.enabledNotifications,c=a(e=>{s({subscribe:e.target.checked})},[s]);return e(fi,{align:n,label:t,onChange:c,checked:(r.sourceFilter?.allowed?.includes(\"*\")&&0===r.sourceFilter?.blocked?.length)??!1,disabled:l,...o})}function Pl({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ll(),u=bi()&&!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(fi,{id: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 Al({label:t=\"Mute all\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ll(),l=bi(),c=l&&(!i.enabledNotifications||-1===r.sourceFilter?.allowed?.indexOf(\"*\")),u=a(e=>{s({mute:e.target.checked})},[s]);return l?e(fi,{align:n,label:t,onChange:u,checked:r.sourceFilter?.muted?.includes(\"*\")??!1,disabled:c??!1,...o}):null}function Tl({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ll(),u=bi(),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(fi,{id: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 Ol={Body:n=>{const{General:o,Placement:i,Stacking:r,Snooze:a,Subscriptions:s}=Bl();return t(Qo,{...n,children:[e(o,{}),e(r,{}),e(i,{}),e(a,{}),e(s,{})]})},General:Zs,AllowNotifications:cl,AllowNotificationToasts:ul,ShowNotificationBadge:dl,CloseNotificationOnClick:fl,PanelAutoHide:ml,HideToastsAfter:gl,Stacking:vl,ToastStacking:yl,ToastStackBy:Cl,Placement:kl,PlacementPanel:Sl,PlacementToasts:Dl,Snooze:xl,SnoozeDuration:El,Subscriptions:Il,SubscribeAll:Ml,SubscribeApp:Pl,SubscribeMuteAll:Al,SubscribeMuteApp:Tl},Fl=s(Ol),Ll=g(({children:t,components:n})=>{const o=u(()=>({...Ol,...n}),[n]);return e(Fl.Provider,{value:o,children:t})});Ll.displayName=\"NotificationsSettingsPanelComponentsStoreProvider\";const Bl=()=>l(Fl),Rl=({className:n,onClose:o,title:i=\"Notification Settings\",...r})=>{const{Body:a}=Bl();return t(Zo,{className:N(\"io-notifications-settings-panel\",n),\"data-testid\":\"notifications-settings-panel\",...r,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:i,tag:\"h1\"}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),e(a,{})]})},_l=({components:t,...n})=>e(Ll,{components:t,children:e(Rl,{...n})});function Hl({isOpen:t,onClose:n,container:o}){return t?y(e(_l,{onClose:n}),o??document.querySelector(\"#root\")??document.body):null}const jl=s({searchQuery:\"\",setSearch:()=>{},isPanelVisible:!1,sortNotificationsBy:\"newest\",setSortBy:()=>{},viewNotificationsBy:\"all\",setViewBy:()=>{},isBulkActionsVisible:!1,showBulkActions:()=>{},hideBulkActions:()=>{}}),$l=()=>l(jl);function zl({title:n,onClose:o,onOpenSettings:i,...r}){const{HeaderCaptionTitle:a,HeaderCaptionCount:s,HeaderCaptionButtonSettings:l,HeaderCaptionButtonClose:c,HeaderActions:u,HeaderBulkActions:d,HeaderSearch:f}=Oc(),{isBulkActionsSupported:m,notificationsCount:p}=ll(),{isBulkActionsVisible:h}=$l(),g=bi();return t(Go,{...r,children:[t(\"div\",{className:\"io-panel-header-caption\",children:[e(a,{title:n}),e(s,{}),t(Go.ButtonGroup,{children:[g&&e(l,{onClick:i}),e(c,{onClick:o})]})]}),e(f,{}),m?t(\"div\",{className:`io-panel-header-actions-wrapper ${h&&p>0?\"io-panel-header-bulk-actions-opened\":\"\"} `,children:[e(u,{}),e(d,{})]}):e(u,{})]})}function Wl({text:n=\"Notifications\",counter:o,...i}){const{notificationsCount:r}=ll();return e(M,{text:n,size:\"large\",...i,children:(o??!0)&&t(\"span\",{children:[\"(\",r,\")\"]})})}const Vl=\"newest\",Yl=\"oldest\",Ul=\"severity\",Kl=[\"None\",\"Low\",\"Medium\",\"High\",\"Critical\"],Jl={key:Vl,descending:!0},ql=e=>[...e].sort((e,t)=>(t.timestamp||0)-(e.timestamp||0)),Gl=e=>[...e].sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)),Ql=(e,t)=>{const n=Kl[0];return[...e].sort((e,o)=>{const i=Kl.indexOf(e.severity||n),r=Kl.indexOf(o.severity||n);return(t?-1:1)*(i-r)})},Xl={[Vl]:ql,[Yl]:Gl,[Ul]:Ql},Zl={severity:\"Priority\",newest:\"Newest\",oldest:\"Oldest\"};function ec({...t}){const[n,o]=c([]),{NotificationsList:i,Notification:r}=Oc(),{notifications:a,setCount:s,notificationsCount:l}=ll(),{sortNotificationsBy:m,viewNotificationsBy:p,searchQuery:h}=$l(),g=d(null),v=hi(h),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(m){case\"newest\":o(ql(y));break;case\"oldest\":o(Gl(y));break;case\"severity\":o(Ql(y,!0));break;default:o(y)}s(y.length)},[y,m,s]),f(()=>{g.current&&g.current?.scrollTo({top:0,behavior:\"smooth\"})},[v,l,m,p]),e(Qo,{ref:g,...t,children:e(i,{notifications:n,Notification:r})})}function tc({...t}){const{FooterButtons:n}=Oc();return e(Xo,{...t,children:e(n,{})})}function nc({className:n,...o}){const{FooterButtonClearAll:i,FooterButtonClearAllOld:r}=Oc(),{notifications:a}=ll(),[s,l]=c(!1);return f(()=>{a.filter(e=>\"Stale\"===e.state||\"Acknowledged\"===e.state).length>0?l(!0):l(!1)},[a]),t(Z,{className:n,align:\"right\",...o,children:[e(r,{disabled:!s}),e(i,{disabled:a.length<=0})]})}function oc({text:t=\"Clear All\",...n}){const{clearAll:o}=ll();return e(T,{text:t,onClick:()=>{o()},...n})}function ic({text:t=\"Clear Old\",...n}){const{clearAllOld:o}=ll();return e(T,{text:t,onClick:()=>{o()},...n})}function rc(e){const t=bi(),{onClose:n,settings:o}=ll(),{isPanelVisible:i}=$l(),{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 ac({className:n,notification:o,onClick:i,...r}){const a=N(\"io-notification-header\",n),{HeaderCount:s,HeaderBadge:l,HeaderTitle:c,HeaderTimestamp:u,HeaderButtonSnooze:d,HeaderButtonClose:f}=Nc(),{handleWrapperClick:m}=rc(o);return t(\"div\",{className:a,onClick:async e=>{await m(e),i?.(e)},...r,children:[e(l,{notification:o}),e(s,{notification:o}),e(c,{notification:o}),e(u,{notification:o}),t(Z,{children:[e(d,{notification:o}),e(f,{notification:o})]})]})}function sc({notification:t,...n}){const{settings:o,notificationStacks:i}=ll(),{isPanelVisible:r}=$l(),{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(ei,{...n,children:c>9?\"9+\":c})}function lc({className:t,notification:n,...o}){if(!n?.severity||\"None\"===n.severity)return null;const i=N(\"io-notification-header-badge\",t);return e(ei,{className:i,...o,children:n.severity})}function cc({className:n,state:o,severity:i=\"None\",icon:r,...a}){const s=N(\"io-notification-header-icon\",n),{isPanelVisible:l}=$l();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 uc({className:t,notification:{appTitle:n},...o}){const i=N(\"io-notification-header-title\",t);return e(\"div\",{className:i,...o,children:n})}function dc({className:t,notification:{timestamp:n,state:o,snooze:i},...r}){const a=N(\"io-notification-timestamp\",t);return e(\"small\",i&&\"Snoozed\"===o?{className:a,...r,children:\"Snoozed\"}:{className:a,...r,children:ls(n??0)??\"Just Now\"})}function fc({notification:{id:t,state:n},...o}){const{settings:i,snooze:r}=ll(),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(T,{icon:\"snooze\",variant:\"link\",text:\"Snooze\",tabIndex:-1,onClick:s,...o}):null}function mc({notification:{id:t,updateState:n},...o}){const i=bi(),{onClose:r}=ll(),{isPanelVisible:s}=$l(),l=a(e=>{e.stopPropagation(),!i||s?r(t):n(\"Acknowledged\").catch(console.error)},[i,t,r,s,n]);return e(D,{icon:\"close\",iconSize:\"10\",tabIndex:-1,onClick:l,...o})}function pc({className:n,notification:o,...i}){const r=N(\"io-notification-body\",n),{BodyIcon:a,BodyTitle:s,BodyDescription:l}=Nc(),{icon:c,title:u,body:d}=o,{handleClick:f}=rc(o);return t(\"div\",{className:r,role:\"button\",tabIndex:0,onKeyDown:async e=>{A(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 hc({className:t,icon:n,altText:o=\"notification icon\",...i}){if(!n)return null;const r=N(\"io-notification-body-icon\",t);return e(\"div\",{className:r,...i,children:e(\"img\",{src:n,alt:o})})}function gc({text:t,...n}){return e(M,{text:t,...n})}function vc({className:t,text:n,...o}){const i=N(\"io-notification-body-description\",t);return e(\"p\",{className:i,...o,children:n})}function yc({className:n,notification:o}){const i=N(\"io-notification-footer\",n),{FooterButton:r}=Nc(),{handleWrapperClick:a}=rc(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(Ko,{text:t.title,children:t.children.map(l)},`${t.title}-${n}`):((t,n)=>e(Ko.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(Z,{align:\"right\",children:s?.map((n,o)=>n.children?t(Z,{variant:\"append\",children:[e(r,{notificationAction:n,variant:0===o?\"primary\":\"default\"}),e(Ko,{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 wc({notificationAction:t,...n}){const o=a(e=>{e.stopPropagation(),t.onClick({close:!0})},[t]);return e(T,{text:t.title,onClick:o,...n})}const bc={Header:ac,HeaderCount:sc,HeaderBadge:lc,HeaderIcon:cc,HeaderTitle:uc,HeaderTimestamp:dc,HeaderButtonSnooze:fc,HeaderButtonClose:mc,Body:pc,BodyIcon:hc,BodyTitle:gc,BodyDescription:vc,Footer:yc,FooterButton:wc},Cc=s(bc),kc=g(({children:t,components:n})=>{const o=u(()=>({...bc,...n}),[n]);return e(Cc.Provider,{value:o,children:t})});function Nc(e){return{...l(Cc),...e}}function Sc({className:n,notification:o,...i}){const{Header:r,Body:a,Footer:s}=Nc(),{severity:l}=o,c=N(\"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 Dc({components:t,notification:n,...o}){return e(kc,{components:t,children:e(Sc,{notification:n,...o})})}function xc({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=N(\"io-notification-stack\",r&&\"io-notification-stack-open\",\"normal\"!==u&&[`io-notification-stack-${u}`],d&&\"None\"!==d&&[`io-notification-stack-${d.toLowerCase()}`],n),m=a(()=>{s(!0)},[]),p=a(e=>{e.stopPropagation(),o.forEach(e=>{e.close()})},[o]);return t(\"div\",{className:f,onClick:m,...i,children:[r&&\"normal\"!==u&&e(\"div\",{className:\"io-notification-stack-btn\",children:e(T,{icon:\"close\",onClick:e=>p(e),children:e(\"span\",{className:\"io-btn-text\",children:\"Clear Stack\"})})}),o.map(t=>e(Dc,{notification:t},t.id))]})}function Ec({...t}){const{notificationStacks:o}=ll();return e(n,{children:o.map(n=>e(xc,{notifications:n.items,...t},n.key))})}kc.displayName=\"ComponentsStoreProvider\";const Ic=({notification:n,Notification:o,...i})=>{const{configuration:r,isBulkActionsSupported:a,selectedNotifications:s,selectNotification:l}=ll(),{isPanelVisible:c,isBulkActionsVisible:u}=$l(),d=r.sourceFilter?.muted??[],f=n.source&&d.includes(n.source)||d.includes(\"*\");if(!c&&f)return null;const m=c&&a&&u,p=s.includes(n.id);return m?t(\"div\",{className:N(\"io-notification-list-bulk-action-item\",{selected:p}),children:[e(ri,{checked:p,onChange:e=>l(n.id,e.target.checked)}),e(o,{notification:n,...i})]}):e(o,{notification:n,...i})};function Mc({className:n,Notification:o,notifications:i=[],noNotificationText:r=\"No notifications to display\",...a}){const s=N(\"io-notification-list\",n),{settings:l}=ll(),{isPanelVisible:c}=$l(),{toastStacking:u}=l,d=u&&!c,f=i.length>0;return t(\"div\",{className:s,...a,children:[d&&e(Ec,{}),!d&&(f?i.map(t=>e(Ic,{notification:t,Notification:o,...a},t.id)):e(\"div\",{className:\"flex jc-center mt-8\",children:r}))]})}const Pc={Header:zl,HeaderCaptionTitle:Wl,HeaderCaptionCount:function({variant:t=\"primary\",...n}){const{notificationsCount:o=0}=ll();return 0===o?null:e(I,{variant:t,...n,children:o>99?\"99+\":o})},HeaderCaptionButtonSettings:function({icon:t=\"cog\",size:n=\"32\",variant:o=\"circle\",...i}){return bi()?e(D,{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}=ll(),s=bi();return e(D,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):s&&a()},...r})},HeaderActions:function({className:n,...o}){const i=N(\"io-panel-header-actions\",n),{HeaderActionSort:r,HeaderActionView:a,HeaderActionClear:s,HeaderActionEdit:l}=Oc();return t(\"div\",{className:i,...o,children:[t(Z,{children:[e(r,{}),e(a,{})]}),t(Z,{children:[e(s,{}),e(l,{})]})]})},HeaderActionSort:function({text:n=\"Sort by\",...o}){const{sortNotificationsBy:i,setSortBy:r}=$l(),{onNotificationsSort:s}=(()=>{const{notifications:e}=ll(),[t,n]=c(Jl),{key:o,descending:i}=t,r=u(()=>Xl[o](e,i),[e,o,i]),s=a(e=>{n(t=>({key:e,descending:t.key!==e?Jl.descending:!t.descending}))},[]);return{onNotificationsSort:s,sortedNotifications:r}})();return t(X,{variant:\"light\",...o,children:[t(X.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:Zl[i].toLowerCase()})]}),e(X.Content,{children:e(X.List,{variant:\"single\",checkIcon:\"check\",children:[\"Newest\",\"Oldest\",\"Priority\"].map(t=>{const n=\"Priority\"===t?\"severity\":t.toLowerCase();return e(X.Item,{isSelected:i===n,onClick:()=>{r(n),s(n)},children:t},t)})})})]})},HeaderActionView:function({text:n=\"View\",...o}){const{settings:i}=ll(),{viewNotificationsBy:r,setViewBy:a}=$l(),s=i.snooze?.enabled?[\"All\",\"Read\",\"Unread\",\"Snoozed\"]:[\"All\",\"Read\",\"Unread\"];return t(X,{variant:\"light\",...o,children:[t(X.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:r})]}),e(X.Content,{children:e(X.List,{variant:\"single\",checkIcon:\"check\",children:s.map(t=>e(X.Item,{isSelected:r===t.toLowerCase(),onClick:()=>a(t.toLowerCase()),children:t},t))})})]})},HeaderActionClear:function({text:t=\"Clear All\",...n}){const{clearAll:o,notificationsCount:i}=ll();return e(T,{variant:\"link\",text:t,onClick:o,disabled:0===i,...n})},HeaderActionEdit:function({tooltip:t=\"Bulk Edit\",...n}){const{isBulkActionsSupported:o,notificationsCount:i}=ll(),{showBulkActions:r}=$l();return o?e(D,{icon:\"pen-to-square\",title:t,size:\"32\",onClick:r,disabled:0===i,...n}):null},HeaderBulkActions:function({className:n,...o}){const i=N(\"io-panel-header-bulk-actions\",n),{HeaderBulkActionSelect:r,HeaderBulkActionSelectDropdown:a,HeaderBulkActionMarkAsRead:s,HeaderBulkActionMarkAsUnread:l,HeaderBulkActionSnooze:c,HeaderBulkActionClear:u,HeaderBulkActionClose:d}=Oc(),{isBulkActionsSupported:f}=ll();return f?e(\"div\",{className:i,...o,children:t(Z,{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}=ll();return n?e(ri,{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}=ll();return o?t(X,{variant:\"light\",...n,children:[e(X.ButtonIcon,{variant:\"default\",icon:\"chevron-down\",size:\"16\",iconSize:\"10\",disabled:0===r}),e(B,{children:t(X.List,{variant:\"single\",checkIcon:\"check\",children:[e(X.ItemSection,{children:\"Select\"}),[\"All\",\"Read\",\"Unread\",\"Snoozed\"].map(t=>e(X.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}=ll(),d=a(()=>{c(l,\"Seen\")},[l,c]);return s?e(D,{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}=ll(),d=a(()=>{c(l,\"Active\")},[l,c]);return s?e(D,{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}=ll(),f=a(()=>{c(l,u.snooze?.duration??0)},[l,c,u.snooze?.duration]);return s&&u.snooze?.enabled?e(D,{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}=ll(),d=a(()=>{c(l)},[l,c]);return s?e(D,{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}=ll(),{hideBulkActions:a}=$l();return i?e(T,{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=N(\"io-panel-header-search\",n),c=d(null),{notificationsCount:u}=ll(),{searchQuery:f,setSearch:m}=$l(),p=f.length>0,h=a(()=>{m(\"\"),c.current&&c.current.focus()},[m]);return t(\"div\",{className:l,children:[e(oi,{ref:c,value:f,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?h:void 0,placeholder:o,onChange:e=>m(e.target.value),...s}),p&&e(\"p\",{className:\"io-panel-header-search-count\",children:`${u} results`})]})},Body:ec,Footer:tc,FooterButtons:nc,FooterButtonClearAll:oc,FooterButtonClearAllOld:ic,Notification:Dc,NotificationsList:Mc},Ac=s(Pc),Tc=g(({children:t,components:n})=>{const o=u(()=>({...Pc,...n}),[n]);return e(Ac.Provider,{value:o,children:t})});function Oc(e){return{...l(Ac),...e}}function Fc(){const e=l(w),{settings:t}=ll(),n=bi(),o=a(async()=>{const o=e.windows.my();if(!e||!o||!n)return;const i=o.placementSettings;await o.place({...i,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 Lc({className:o,onClose:i,title:r=\"Notifications\",...a}){const{Header:s,Body:l}=Oc(),{settings:u}=ll(),{isPanelVisible:d}=$l(),[m,p]=c(!1),h=bi(),g=N(\"io-notifications-panel\",\"left\"===u.placement?.panel&&\"io-panel-left\",\"right\"===u.placement?.panel&&\"io-panel-right\",o);return Fc(),f(()=>{d||p(!1)},[d]),t(n,{children:[t(Zo,{className:g,...a,children:[e(s,{title:r,onClose:i,onOpenSettings:()=>p(!0)}),e(l,{})]}),h&&d&&e(Hl,{isOpen:m,onClose:()=>p(!1)})]})}Tc.displayName=\"ComponentsStoreProvider\";const Bc={Body:function({className:t,notifications:n,maxToasts:o=1,...i}){const r=N(\"io-toasts-body\",t),{NotificationsList:a,Notification:s}=Hc(),[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:\"\"})})},Notification:Dc,NotificationsList:Mc},Rc=s(Bc),_c=g(({children:t,components:n})=>{const o=u(()=>({...Bc,...n}),[n]);return e(Rc.Provider,{value:o,children:t})});function Hc(e){return{...l(Rc),...e}}function jc(){const e=l(w),{settings:t}=ll(),n=a(async()=>{const n=e.windows.my();if(!e||!n)return;const o=n.placementSettings;await n.place({...o,horizontalAlignment:\"top-right\"===t.placement?.toasts||\"bottom-right\"===t.placement?.toasts?\"right\":\"left\"})},[e,t.placement?.toasts]);f(()=>{e&&t.placement?.toasts&&n().catch(console.error)},[e,n,t.placement?.toasts])}function $c({className:n,maxToasts:o=10,...i}){const{Header:r,Body:a,Footer:s}=Hc(),{notifications:l,settings:c}=ll(),u=N(\"io-toasts\",(\"top-left\"===c.placement?.toasts||\"top-right\"===c.placement?.toasts)&&\"io-toasts-top\",(\"top-right\"===c.placement?.toasts||\"bottom-right\"===c.placement?.toasts)&&\"io-toasts-right\",(\"bottom-left\"===c.placement?.toasts||\"bottom-right\"===c.placement?.toasts)&&\"io-toasts-bottom\",(\"top-left\"===c.placement?.toasts||\"bottom-left\"===c.placement?.toasts)&&\"io-toasts-left\",n);return jc(),t(\"div\",{className:u,...i,children:[r&&e(r,{}),e(a,{notifications:l,maxToasts:o}),s&&e(s,{})]})}_c.displayName=\"ComponentsStoreProvider\";var zc=Object.freeze({__proto__:null,Notification:Dc,NotificationBody:pc,NotificationBodyDescription:vc,NotificationBodyIcon:hc,NotificationBodyTitle:gc,NotificationFooter:yc,NotificationFooterButton:wc,NotificationHeader:ac,NotificationHeaderBadge:lc,NotificationHeaderButtonClose:mc,NotificationHeaderButtonSnooze:fc,NotificationHeaderCount:sc,NotificationHeaderIcon:cc,NotificationHeaderTimestamp:dc,NotificationHeaderTitle:uc,NotificationStack:xc,NotificationsList:Mc,NotificationsPanelProvider:({children:t})=>{const{searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:m,showBulkActions:p,hideBulkActions:h}=function(){const e=l(w),[t,n]=c(!1),[o,i]=c(\"newest\"),[r,a]=c(\"all\"),[s,u]=c(\"\"),[d,m]=c(!1),p=bi(),{isBulkActionsSupported:h}=ll();return f(()=>{const e=el.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||(m(!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&&m(!0)},hideBulkActions:()=>{h&&m(!1)}}}(),g=u(()=>({searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:m,showBulkActions:p,hideBulkActions:h}),[n,o,i,r,a,s,d,m,p,h]);return e(jl.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:m,hidePanel:p,showPanel:h,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:C,selectAllNotifications:k,clearMany:N,snooze:S,snoozeMany:D,setState:x,setStates:E,setCount:I}=al(),M=u(()=>({notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:l,allowedApplications:c,clearAll:d,clearAllOld:f,onClose:m,hidePanel:p,showPanel:h,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:C,selectAllNotifications:k,clearMany:N,snooze:S,snoozeMany:D,setState:x,setStates:E,setCount:I}),[n,o,i,r,a,s,l,c,d,f,m,p,h,g,v,y,w,b,C,k,N,S,D,x,E,I]);return e(sl.Provider,{value:M,children:t})},Panel:function({components:t,settings:n,...o}){return e(Ll,{components:n,children:e(Tc,{components:t,children:e(Lc,{...o})})})},PanelBody:ec,PanelFooter:tc,PanelFooterButtonClearAll:oc,PanelFooterButtonClearAllOld:ic,PanelFooterButtons:nc,PanelHeader:zl,PanelHeaderCaptionTitle:Wl,SettingsAllowNotificationToasts:ul,SettingsAllowNotifications:cl,SettingsCloseNotificationOnClick:fl,SettingsGeneral:Zs,SettingsHideToastsAfter:gl,SettingsPanel:_l,SettingsPanelAutoHide:ml,SettingsPlacement:kl,SettingsPlacementPanel:Sl,SettingsPlacementToasts:Dl,SettingsShowNotificationBadge:dl,SettingsSnooze:xl,SettingsSnoozeDuration:El,SettingsStacking:vl,SettingsSubscribeAll:Ml,SettingsSubscribeApp:Pl,SettingsSubscribeMuteAll:Al,SettingsSubscribeMuteApp:Tl,SettingsSubscriptions:Il,SettingsToastStackBy:Cl,SettingsToastStacking:yl,Toasts:function({components:t,...n}){return e(_c,{components:t,children:e($c,{...n})})},useAddRemoveApps:tl,useHidePanelOnFocusLost:function(e=!0){const t=l(w),n=bi();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}=ll();vi(e,t)},useNotificationStacking:nl,useNotificationsContext:ll,useNotificationsPanelContext:$l,usePanelWindowPlacement:Fc,useSelectNotifications:ol,useShowHidePanelWindow:function(e=!0){const t=l(w),n=t?.windows.my(),o=bi(),{isPanelVisible:i}=$l();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:jc});const Wc=n=>{const{General:o,Layouts:i,Downloads:r,System:a}=Zu();return t(Qo,{...n,children:[e(o,{}),e(i,{}),e(r,{}),e(a,{})]})},Vc=({title:n=\"General\",...o})=>{const{Theme:i,PinnedPosition:r,MinimizeToTray:a,ShowTutorialOnStartup:s}=Zu();return t(P,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{}),e(s,{})]})},Yc=(e=\"dark\")=>{switch(e){case\"dark\":return\"Dark\";case\"light\":return\"Light\";default:return e}},Uc=({className:n,title:o=\"Theme\",...i})=>{const{currentTheme:r,selectTheme:a}=Ci(),s=(()=>{const e=l(w),[t,n]=c([]);return f(()=>{e&&e.themes?.list().then(n).catch(console.warn)},[e]),t})();return t(\"div\",{className:N(\"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(X,{variant:\"light\",\"data-testid\":\"theme-dropdown\",children:[e(X.Button,{text:Yc(r?.name),\"data-testid\":\"theme-dropdown-button\"}),e(X.Content,{\"data-testid\":\"theme-dropdown-content\",children:e(X.List,{children:s.map(({name:t})=>e(X.Item,{onClick:()=>a(t),\"data-testid\":`theme-dropdown-item-${t}`,children:Yc(t)},t))})})]})]})},Kc=({prefKey:n,options:o,disabled:i,...r})=>{const{isLoading:a,value:s=\"Select option\",update:l}=xa({prefKey:n});return t(X,{variant:\"light\",disabled:a||i,...r,children:[e(X.Button,{children:s}),e(X.Content,{children:e(X.List,{children:o.map(t=>e(X.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))})})]})},Jc=({className:n,label:o=\"Pinned position\",...i})=>e(P,{className:N(\"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(Kc,{className:n,prefKey:Ti,options:[\"Left\",\"Right\"],...i})]})}),qc=({prefKey:t,...n})=>{const{isLoading:o,value:i=!1,update:r}=xa({prefKey:t});return e(fi,{checked:i,disabled:o,onChange:e=>r(e.target.checked),...n})},Gc=({align:t=\"right\",label:n=\"Allow docking\",...o})=>e(qc,{align:t,label:n,prefKey:Oi,...o}),Qc=({align:t=\"right\",label:n=\"Minimize to tray\",...o})=>e(qc,{align:t,label:n,prefKey:Fi,...o}),Xc=({align:t=\"right\",label:n=\"Auto-close on starting apps and workspaces\",...o})=>e(qc,{align:t,label:n,prefKey:Li,disabled:!0,...o}),Zc=({align:t=\"right\",label:n=\"Show tutorial on startup\",...o})=>e(qc,{align:t,label:n,prefKey:Bi,...o}),eu=({title:n=\"Layouts\",...o})=>{const{LayoutsSaveCurrentOnExit:i,LayoutsShowDeletePrompt:r,LayoutsShowUnsavedChangesPrompt:a}=Zu();return t(P,{title:n,...o,children:[e(i,{}),e(a,{}),e(r,{})]})},tu=({align:t=\"right\",label:n=\"Restore last saved on startup\",...o})=>e(qc,{align:t,label:n,prefKey:Ri,...o}),nu=({align:t=\"right\",label:n=\"Save current on exit\",...o})=>e(qc,{align:t,label:n,prefKey:_i,...o}),ou=({align:t=\"right\",label:n=\"Show prompt for unsaved changes\",...o})=>e(qc,{align:t,label:n,prefKey:Hi,\"data-testid\":\"layouts-show-unsaved-changes-prompt-toggle-button\",...o}),iu=({align:t=\"right\",label:n=\"Show prompt for deleting\",...o})=>e(qc,{align:t,label:n,prefKey:ji,\"data-testid\":\"layouts-show-delete-prompt-toggle\",...o}),ru=({className:t,title:n=\"Downloads\",...o})=>{const{DownloadsLocation:i}=Zu();return e(P,{className:N(\"io-block-list-gap\",t),title:n,...o,children:e(i,{})})},au=({align:t=\"right\",label:n=\"Ask where to save each file before downloading\",...o})=>e(qc,{align:t,label:n,prefKey:$i,...o}),su=({className:n,label:o=\"Location\",...i})=>{const{configuration:{downloadFolder:r},setDownloadLocationWithDialog:a,isDownloadLocationDialogVisible:s,downloadLocationList:l}=ts();return t(P,{className:N(\"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(T,{text:\"Change\",onClick:a,disabled:s})]}),e(\"p\",{children:r??l?.[0]??\"Not set\"})]})},lu=({className:n,title:o=\"System\",...i})=>{const{SystemRestartSection:r,SystemShutdownSection:a}=Zu();return t(P,{className:N(\"io-block-list-gap\",n),title:o,...i,children:[e(r,{}),e(a,{})]})};var cu=[\"onChange\",\"onClose\",\"onDayCreate\",\"onDestroy\",\"onKeyDown\",\"onMonthChange\",\"onOpen\",\"onParseConfig\",\"onReady\",\"onValueUpdate\",\"onYearChange\",\"onPreCalendarPosition\"],uu={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:\"F j, Y\",altInput:!1,altInputClass:\"form-control input\",animate:\"object\"==typeof window&&-1===window.navigator.userAgent.indexOf(\"MSIE\"),ariaDateFormat:\"F j, Y\",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:\", \",dateFormat:\"Y-m-d\",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return\"undefined\"!=typeof console&&console.warn(e)},getWeek:function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:\"default\",minuteIncrement:5,mode:\"single\",monthSelectorType:\"dropdown\",nextArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},du={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return\"th\";switch(t%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",monthAriaLabel:\"Month\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},fu=function(e,t){return void 0===t&&(t=2),(\"000\"+e).slice(-1*t)},mu=function(e){return!0===e?1:0};function pu(e,t){var n;return function(){var o=this,i=arguments;clearTimeout(n),n=setTimeout(function(){return e.apply(o,i)},t)}}var hu=function(e){return e instanceof Array?e:[e]};function gu(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function vu(e,t,n){var o=window.document.createElement(e);return t=t||\"\",n=n||\"\",o.className=t,void 0!==n&&(o.textContent=n),o}function yu(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function wu(e,t){return t(e)?e:e.parentNode?wu(e.parentNode,t):void 0}function bu(e,t){var n=vu(\"div\",\"numInputWrapper\"),o=vu(\"input\",\"numInput \"+e),i=vu(\"span\",\"arrowUp\"),r=vu(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?o.type=\"number\":(o.type=\"text\",o.pattern=\"\\\\d*\"),void 0!==t)for(var a in t)o.setAttribute(a,t[a]);return n.appendChild(o),n.appendChild(i),n.appendChild(r),n}function Cu(e){try{return\"function\"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(t){return e.target}}var ku=function(){},Nu=function(e,t,n){return n.months[t?\"shorthand\":\"longhand\"][e]},Su={D:ku,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*mu(new RegExp(n.amPM[1],\"i\").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var o=parseInt(t),i=new Date(e.getFullYear(),0,2+7*(o-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+n.firstDayOfWeek),i},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:ku,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:ku,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},Du={D:\"\",F:\"\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},xu={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[xu.w(e,t,n)]},F:function(e,t,n){return Nu(xu.n(e,t,n)-1,!1,t)},G:function(e,t,n){return fu(xu.h(e,t,n))},H:function(e){return fu(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[mu(e.getHours()>11)]},M:function(e,t){return Nu(e.getMonth(),!0,t)},S:function(e){return fu(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return fu(e.getFullYear(),4)},d:function(e){return fu(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return fu(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return fu(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},Eu=function(e){var t=e.config,n=void 0===t?uu:t,o=e.l10n,i=void 0===o?du:o,r=e.isMobile,a=void 0!==r&&r;return function(e,t,o){var r=o||i;return void 0===n.formatDate||a?t.split(\"\").map(function(t,o,i){return xu[t]&&\"\\\\\"!==i[o-1]?xu[t](e,r,n):\"\\\\\"!==t?t:\"\"}).join(\"\"):n.formatDate(e,t,r)}},Iu=function(e){var t=e.config,n=void 0===t?uu:t,o=e.l10n,i=void 0===o?du:o;return function(e,t,o,r){if(0===e||e){var a,s=r||i,l=e;if(e instanceof Date)a=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)a=new Date(e);else if(\"string\"==typeof e){var c=t||(n||uu).dateFormat,u=String(e).trim();if(\"today\"===u)a=new Date,o=!0;else if(n&&n.parseDate)a=n.parseDate(e,c);else if(/Z$/.test(u)||/GMT$/.test(u))a=new Date(e);else{for(var d=void 0,f=[],m=0,p=0,h=\"\";m<c.length;m++){var g=c[m],v=\"\\\\\"===g,y=\"\\\\\"===c[m-1]||v;if(Du[g]&&!y){h+=Du[g];var w=new RegExp(h).exec(e);w&&(d=!0)&&f[\"Y\"!==g?\"push\":\"unshift\"]({fn:Su[g],val:w[++p]})}else v||(h+=\".\")}a=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),f.forEach(function(e){var t=e.fn,n=e.val;return a=t(a,n,s)||a}),a=d?a:void 0}}if(a instanceof Date&&!isNaN(a.getTime()))return!0===o&&a.setHours(0,0,0,0),a;n.errorHandler(new Error(\"Invalid date provided: \"+l))}}};function Mu(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var Pu=function(e,t,n){return 3600*e+60*t+n},Au=864e5;function Tu(e){var t=e.defaultHour,n=e.defaultMinute,o=e.defaultSeconds;if(void 0!==e.minDate){var i=e.minDate.getHours(),r=e.minDate.getMinutes(),a=e.minDate.getSeconds();t<i&&(t=i),t===i&&n<r&&(n=r),t===i&&n===r&&o<a&&(o=e.minDate.getSeconds())}if(void 0!==e.maxDate){var s=e.maxDate.getHours(),l=e.maxDate.getMinutes();(t=Math.min(t,s))===s&&(n=Math.min(l,n)),t===s&&n===l&&(o=e.maxDate.getSeconds())}return{hours:t,minutes:n,seconds:o}}\"function\"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)throw TypeError(\"Cannot convert undefined or null to object\");for(var o=function(t){t&&Object.keys(t).forEach(function(n){return e[n]=t[n]})},i=0,r=t;i<r.length;i++){o(r[i])}return e});var Ou=function(){return Ou=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},Ou.apply(this,arguments)},Fu=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var o=Array(e),i=0;for(t=0;t<n;t++)for(var r=arguments[t],a=0,s=r.length;a<s;a++,i++)o[i]=r[a];return o};function Lu(e,t){var n={config:Ou(Ou({},uu),Ru.defaultConfig),l10n:du};function o(){var e;return(null===(e=n.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function i(e){return e.bind(n)}function r(){var e=n.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame(function(){if(void 0!==n.calendarContainer&&(n.calendarContainer.style.visibility=\"hidden\",n.calendarContainer.style.display=\"block\"),void 0!==n.daysContainer){var t=(n.days.offsetWidth+1)*e.showMonths;n.daysContainer.style.width=t+\"px\",n.calendarContainer.style.width=t+(void 0!==n.weekWrapper?n.weekWrapper.offsetWidth:0)+\"px\",n.calendarContainer.style.removeProperty(\"visibility\"),n.calendarContainer.style.removeProperty(\"display\")}})}function a(e){if(0===n.selectedDates.length){var t=void 0===n.config.minDate||Mu(new Date,n.config.minDate)>=0?new Date:new Date(n.config.minDate.getTime()),o=Tu(n.config);t.setHours(o.hours,o.minutes,o.seconds,t.getMilliseconds()),n.selectedDates=[t],n.latestSelectedDateObj=t}void 0!==e&&\"blur\"!==e.type&&function(e){e.preventDefault();var t=\"keydown\"===e.type,o=Cu(e),i=o;void 0!==n.amPM&&o===n.amPM&&(n.amPM.textContent=n.l10n.amPM[mu(n.amPM.textContent===n.l10n.amPM[0])]);var r=parseFloat(i.getAttribute(\"min\")),a=parseFloat(i.getAttribute(\"max\")),s=parseFloat(i.getAttribute(\"step\")),l=parseInt(i.value,10),c=e.delta||(t?38===e.which?1:-1:0),u=l+s*c;if(void 0!==i.value&&2===i.value.length){var d=i===n.hourElement,f=i===n.minuteElement;u<r?(u=a+u+mu(!d)+(mu(d)&&mu(!n.amPM)),f&&h(void 0,-1,n.hourElement)):u>a&&(u=i===n.hourElement?u-a-mu(!n.amPM):r,f&&h(void 0,1,n.hourElement)),n.amPM&&d&&(1===s?u+l===23:Math.abs(u-l)>s)&&(n.amPM.textContent=n.l10n.amPM[mu(n.amPM.textContent===n.l10n.amPM[0])]),i.value=fu(u)}}(e);var i=n._input.value;s(),Z(),n._input.value!==i&&n._debouncedChange()}function s(){if(void 0!==n.hourElement&&void 0!==n.minuteElement){var e,t,o=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,i=(parseInt(n.minuteElement.value,10)||0)%60,r=void 0!==n.secondElement?(parseInt(n.secondElement.value,10)||0)%60:0;void 0!==n.amPM&&(e=o,t=n.amPM.textContent,o=e%12+12*mu(t===n.l10n.amPM[1]));var a=void 0!==n.config.minTime||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&0===Mu(n.latestSelectedDateObj,n.config.minDate,!0),s=void 0!==n.config.maxTime||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&0===Mu(n.latestSelectedDateObj,n.config.maxDate,!0);if(void 0!==n.config.maxTime&&void 0!==n.config.minTime&&n.config.minTime>n.config.maxTime){var l=Pu(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),u=Pu(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),d=Pu(o,i,r);if(d>u&&d<l){var f=function(e){var t=Math.floor(e/3600),n=(e-3600*t)/60;return[t,n,e-3600*t-60*n]}(l);o=f[0],i=f[1],r=f[2]}}else{if(s){var m=void 0!==n.config.maxTime?n.config.maxTime:n.config.maxDate;(o=Math.min(o,m.getHours()))===m.getHours()&&(i=Math.min(i,m.getMinutes())),i===m.getMinutes()&&(r=Math.min(r,m.getSeconds()))}if(a){var p=void 0!==n.config.minTime?n.config.minTime:n.config.minDate;(o=Math.max(o,p.getHours()))===p.getHours()&&i<p.getMinutes()&&(i=p.getMinutes()),i===p.getMinutes()&&(r=Math.max(r,p.getSeconds()))}}c(o,i,r)}}function l(e){var t=e||n.latestSelectedDateObj;t&&t instanceof Date&&c(t.getHours(),t.getMinutes(),t.getSeconds())}function c(e,t,o){void 0!==n.latestSelectedDateObj&&n.latestSelectedDateObj.setHours(e%24,t,o||0,0),n.hourElement&&n.minuteElement&&!n.isMobile&&(n.hourElement.value=fu(n.config.time_24hr?e:(12+e)%12+12*mu(e%12==0)),n.minuteElement.value=fu(t),void 0!==n.amPM&&(n.amPM.textContent=n.l10n.amPM[mu(e>=12)]),void 0!==n.secondElement&&(n.secondElement.value=fu(o)))}function u(e){var t=Cu(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(n.toString()))&&P(n)}function d(e,t,o,i){return t instanceof Array?t.forEach(function(t){return d(e,t,o,i)}):e instanceof Array?e.forEach(function(e){return d(e,t,o,i)}):(e.addEventListener(t,o,i),void n._handlers.push({remove:function(){return e.removeEventListener(t,o,i)}}))}function f(){J(\"onChange\")}function m(e,t){var o=void 0!==e?n.parseDate(e):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate<n.now?n.config.maxDate:n.now),i=n.currentYear,r=n.currentMonth;try{void 0!==o&&(n.currentYear=o.getFullYear(),n.currentMonth=o.getMonth())}catch(e){e.message=\"Invalid date supplied: \"+o,n.config.errorHandler(e)}t&&n.currentYear!==i&&(J(\"onYearChange\"),k()),!t||n.currentYear===i&&n.currentMonth===r||J(\"onMonthChange\"),n.redraw()}function p(e){var t=Cu(e);~t.className.indexOf(\"arrow\")&&h(e,t.classList.contains(\"arrowUp\")?1:-1)}function h(e,t,n){var o=e&&Cu(e),i=n||o&&o.parentNode&&o.parentNode.firstChild,r=q(\"increment\");r.delta=t,i&&i.dispatchEvent(r)}function g(e,t,o,i){var r=A(t,!0),a=vu(\"span\",e,t.getDate().toString());return a.dateObj=t,a.$i=i,a.setAttribute(\"aria-label\",n.formatDate(t,n.config.ariaDateFormat)),-1===e.indexOf(\"hidden\")&&0===Mu(t,n.now)&&(n.todayDateElem=a,a.classList.add(\"today\"),a.setAttribute(\"aria-current\",\"date\")),r?(a.tabIndex=-1,G(t)&&(a.classList.add(\"selected\"),n.selectedDateElem=a,\"range\"===n.config.mode&&(gu(a,\"startRange\",n.selectedDates[0]&&0===Mu(t,n.selectedDates[0],!0)),gu(a,\"endRange\",n.selectedDates[1]&&0===Mu(t,n.selectedDates[1],!0)),\"nextMonthDay\"===e&&a.classList.add(\"inRange\")))):a.classList.add(\"flatpickr-disabled\"),\"range\"===n.config.mode&&function(e){return!(\"range\"!==n.config.mode||n.selectedDates.length<2)&&(Mu(e,n.selectedDates[0])>=0&&Mu(e,n.selectedDates[1])<=0)}(t)&&!G(t)&&a.classList.add(\"inRange\"),n.weekNumbers&&1===n.config.showMonths&&\"prevMonthDay\"!==e&&i%7==6&&n.weekNumbers.insertAdjacentHTML(\"beforeend\",\"<span class='flatpickr-day'>\"+n.config.getWeek(t)+\"</span>\"),J(\"onDayCreate\",a),a}function v(e){e.focus(),\"range\"===n.config.mode&&L(e)}function y(e){for(var t=e>0?0:n.config.showMonths-1,o=e>0?n.config.showMonths:-1,i=t;i!=o;i+=e)for(var r=n.daysContainer.children[i],a=e>0?0:r.children.length-1,s=e>0?r.children.length:-1,l=a;l!=s;l+=e){var c=r.children[l];if(-1===c.className.indexOf(\"hidden\")&&A(c.dateObj))return c}}function w(e,t){var i=o(),r=T(i||document.body),a=void 0!==e?e:r?i:void 0!==n.selectedDateElem&&T(n.selectedDateElem)?n.selectedDateElem:void 0!==n.todayDateElem&&T(n.todayDateElem)?n.todayDateElem:y(t>0?1:-1);void 0===a?n._input.focus():r?function(e,t){for(var o=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():n.currentMonth,i=t>0?n.config.showMonths:-1,r=t>0?1:-1,a=o-n.currentMonth;a!=i;a+=r)for(var s=n.daysContainer.children[a],l=o-n.currentMonth===a?e.$i+t:t<0?s.children.length-1:0,c=s.children.length,u=l;u>=0&&u<c&&u!=(t>0?c:-1);u+=r){var d=s.children[u];if(-1===d.className.indexOf(\"hidden\")&&A(d.dateObj)&&Math.abs(e.$i-u)>=Math.abs(t))return v(d)}n.changeMonth(r),w(y(r),0)}(a,t):v(a)}function b(e,t){for(var o=(new Date(e,t,1).getDay()-n.l10n.firstDayOfWeek+7)%7,i=n.utils.getDaysInMonth((t-1+12)%12,e),r=n.utils.getDaysInMonth(t,e),a=window.document.createDocumentFragment(),s=n.config.showMonths>1,l=s?\"prevMonthDay hidden\":\"prevMonthDay\",c=s?\"nextMonthDay hidden\":\"nextMonthDay\",u=i+1-o,d=0;u<=i;u++,d++)a.appendChild(g(\"flatpickr-day \"+l,new Date(e,t-1,u),0,d));for(u=1;u<=r;u++,d++)a.appendChild(g(\"flatpickr-day\",new Date(e,t,u),0,d));for(var f=r+1;f<=42-o&&(1===n.config.showMonths||d%7!=0);f++,d++)a.appendChild(g(\"flatpickr-day \"+c,new Date(e,t+1,f%r),0,d));var m=vu(\"div\",\"dayContainer\");return m.appendChild(a),m}function C(){if(void 0!==n.daysContainer){yu(n.daysContainer),n.weekNumbers&&yu(n.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<n.config.showMonths;t++){var o=new Date(n.currentYear,n.currentMonth,1);o.setMonth(n.currentMonth+t),e.appendChild(b(o.getFullYear(),o.getMonth()))}n.daysContainer.appendChild(e),n.days=n.daysContainer.firstChild,\"range\"===n.config.mode&&1===n.selectedDates.length&&L()}}function k(){if(!(n.config.showMonths>1||\"dropdown\"!==n.config.monthSelectorType)){var e=function(e){return!(void 0!==n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&e<n.config.minDate.getMonth())&&!(void 0!==n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()&&e>n.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML=\"\";for(var t=0;t<12;t++)if(e(t)){var o=vu(\"option\",\"flatpickr-monthDropdown-month\");o.value=new Date(n.currentYear,t).getMonth().toString(),o.textContent=Nu(t,n.config.shorthandCurrentMonth,n.l10n),o.tabIndex=-1,n.currentMonth===t&&(o.selected=!0),n.monthsDropdownContainer.appendChild(o)}}}function N(){var e,t=vu(\"div\",\"flatpickr-month\"),o=window.document.createDocumentFragment();n.config.showMonths>1||\"static\"===n.config.monthSelectorType?e=vu(\"span\",\"cur-month\"):(n.monthsDropdownContainer=vu(\"select\",\"flatpickr-monthDropdown-months\"),n.monthsDropdownContainer.setAttribute(\"aria-label\",n.l10n.monthAriaLabel),d(n.monthsDropdownContainer,\"change\",function(e){var t=Cu(e),o=parseInt(t.value,10);n.changeMonth(o-n.currentMonth),J(\"onMonthChange\")}),k(),e=n.monthsDropdownContainer);var i=bu(\"cur-year\",{tabindex:\"-1\"}),r=i.getElementsByTagName(\"input\")[0];r.setAttribute(\"aria-label\",n.l10n.yearAriaLabel),n.config.minDate&&r.setAttribute(\"min\",n.config.minDate.getFullYear().toString()),n.config.maxDate&&(r.setAttribute(\"max\",n.config.maxDate.getFullYear().toString()),r.disabled=!!n.config.minDate&&n.config.minDate.getFullYear()===n.config.maxDate.getFullYear());var a=vu(\"div\",\"flatpickr-current-month\");return a.appendChild(e),a.appendChild(i),o.appendChild(a),t.appendChild(o),{container:t,yearElement:r,monthElement:e}}function S(){yu(n.monthNav),n.monthNav.appendChild(n.prevMonthNav),n.config.showMonths&&(n.yearElements=[],n.monthElements=[]);for(var e=n.config.showMonths;e--;){var t=N();n.yearElements.push(t.yearElement),n.monthElements.push(t.monthElement),n.monthNav.appendChild(t.container)}n.monthNav.appendChild(n.nextMonthNav)}function D(){n.weekdayContainer?yu(n.weekdayContainer):n.weekdayContainer=vu(\"div\",\"flatpickr-weekdays\");for(var e=n.config.showMonths;e--;){var t=vu(\"div\",\"flatpickr-weekdaycontainer\");n.weekdayContainer.appendChild(t)}return x(),n.weekdayContainer}function x(){if(n.weekdayContainer){var e=n.l10n.firstDayOfWeek,t=Fu(n.l10n.weekdays.shorthand);e>0&&e<t.length&&(t=Fu(t.splice(e,t.length),t.splice(0,e)));for(var o=n.config.showMonths;o--;)n.weekdayContainer.children[o].innerHTML=\"\\n <span class='flatpickr-weekday'>\\n \"+t.join(\"</span><span class='flatpickr-weekday'>\")+\"\\n </span>\\n \"}}function E(e,t){void 0===t&&(t=!0);var o=t?e:e-n.currentMonth;o<0&&!0===n._hidePrevMonthArrow||o>0&&!0===n._hideNextMonthArrow||(n.currentMonth+=o,(n.currentMonth<0||n.currentMonth>11)&&(n.currentYear+=n.currentMonth>11?1:-1,n.currentMonth=(n.currentMonth+12)%12,J(\"onYearChange\"),k()),C(),J(\"onMonthChange\"),Q())}function I(e){return n.calendarContainer.contains(e)}function M(e){if(n.isOpen&&!n.config.inline){var t=Cu(e),o=I(t),i=!(t===n.input||t===n.altInput||n.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(n.input)||~e.path.indexOf(n.altInput)))&&!o&&!I(e.relatedTarget),r=!n.config.ignoredFocusElements.some(function(e){return e.contains(t)});i&&r&&(n.config.allowInput&&n.setDate(n._input.value,!1,n.config.altInput?n.config.altFormat:n.config.dateFormat),void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement&&\"\"!==n.input.value&&void 0!==n.input.value&&a(),n.close(),n.config&&\"range\"===n.config.mode&&1===n.selectedDates.length&&n.clear(!1))}}function P(e){if(!(!e||n.config.minDate&&e<n.config.minDate.getFullYear()||n.config.maxDate&&e>n.config.maxDate.getFullYear())){var t=e,o=n.currentYear!==t;n.currentYear=t||n.currentYear,n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth=Math.min(n.config.maxDate.getMonth(),n.currentMonth):n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&(n.currentMonth=Math.max(n.config.minDate.getMonth(),n.currentMonth)),o&&(n.redraw(),J(\"onYearChange\"),k())}}function A(e,t){var o;void 0===t&&(t=!0);var i=n.parseDate(e,void 0,t);if(n.config.minDate&&i&&Mu(i,n.config.minDate,void 0!==t?t:!n.minDateHasTime)<0||n.config.maxDate&&i&&Mu(i,n.config.maxDate,void 0!==t?t:!n.maxDateHasTime)>0)return!1;if(!n.config.enable&&0===n.config.disable.length)return!0;if(void 0===i)return!1;for(var r=!!n.config.enable,a=null!==(o=n.config.enable)&&void 0!==o?o:n.config.disable,s=0,l=void 0;s<a.length;s++){if(\"function\"==typeof(l=a[s])&&l(i))return r;if(l instanceof Date&&void 0!==i&&l.getTime()===i.getTime())return r;if(\"string\"==typeof l){var c=n.parseDate(l,void 0,!0);return c&&c.getTime()===i.getTime()?r:!r}if(\"object\"==typeof l&&void 0!==i&&l.from&&l.to&&i.getTime()>=l.from.getTime()&&i.getTime()<=l.to.getTime())return r}return!r}function T(e){return void 0!==n.daysContainer&&(-1===e.className.indexOf(\"hidden\")&&-1===e.className.indexOf(\"flatpickr-disabled\")&&n.daysContainer.contains(e))}function O(e){var t=e.target===n._input,o=n._input.value.trimEnd()!==X();!t||!o||e.relatedTarget&&I(e.relatedTarget)||n.setDate(n._input.value,!0,e.target===n.altInput?n.config.altFormat:n.config.dateFormat)}function F(t){var i=Cu(t),r=n.config.wrap?e.contains(i):i===n._input,l=n.config.allowInput,c=n.isOpen&&(!l||!r),u=n.config.inline&&r&&!l;if(13===t.keyCode&&r){if(l)return n.setDate(n._input.value,!0,i===n.altInput?n.config.altFormat:n.config.dateFormat),n.close(),i.blur();n.open()}else if(I(i)||c||u){var d=!!n.timeContainer&&n.timeContainer.contains(i);switch(t.keyCode){case 13:d?(t.preventDefault(),a(),z()):W(t);break;case 27:t.preventDefault(),z();break;case 8:case 46:r&&!n.config.allowInput&&(t.preventDefault(),n.clear());break;case 37:case 39:if(d||r)n.hourElement&&n.hourElement.focus();else{t.preventDefault();var f=o();if(void 0!==n.daysContainer&&(!1===l||f&&T(f))){var m=39===t.keyCode?1:-1;t.ctrlKey?(t.stopPropagation(),E(m),w(y(1),0)):w(void 0,m)}}break;case 38:case 40:t.preventDefault();var p=40===t.keyCode?1:-1;n.daysContainer&&void 0!==i.$i||i===n.input||i===n.altInput?t.ctrlKey?(t.stopPropagation(),P(n.currentYear-p),w(y(1),0)):d||w(void 0,7*p):i===n.currentYearElement?P(n.currentYear-p):n.config.enableTime&&(!d&&n.hourElement&&n.hourElement.focus(),a(t),n._debouncedChange());break;case 9:if(d){var h=[n.hourElement,n.minuteElement,n.secondElement,n.amPM].concat(n.pluginElements).filter(function(e){return e}),g=h.indexOf(i);if(-1!==g){var v=h[g+(t.shiftKey?-1:1)];t.preventDefault(),(v||n._input).focus()}}else!n.config.noCalendar&&n.daysContainer&&n.daysContainer.contains(i)&&t.shiftKey&&(t.preventDefault(),n._input.focus())}}if(void 0!==n.amPM&&i===n.amPM)switch(t.key){case n.l10n.amPM[0].charAt(0):case n.l10n.amPM[0].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[0],s(),Z();break;case n.l10n.amPM[1].charAt(0):case n.l10n.amPM[1].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[1],s(),Z()}(r||I(i))&&J(\"onKeyDown\",t)}function L(e,t){if(void 0===t&&(t=\"flatpickr-day\"),1===n.selectedDates.length&&(!e||e.classList.contains(t)&&!e.classList.contains(\"flatpickr-disabled\"))){for(var o=e?e.dateObj.getTime():n.days.firstElementChild.dateObj.getTime(),i=n.parseDate(n.selectedDates[0],void 0,!0).getTime(),r=Math.min(o,n.selectedDates[0].getTime()),a=Math.max(o,n.selectedDates[0].getTime()),s=!1,l=0,c=0,u=r;u<a;u+=Au)A(new Date(u),!0)||(s=s||u>r&&u<a,u<i&&(!l||u>l)?l=u:u>i&&(!c||u<c)&&(c=u));Array.from(n.rContainer.querySelectorAll(\"*:nth-child(-n+\"+n.config.showMonths+\") > .\"+t)).forEach(function(t){var r,a,u,d=t.dateObj.getTime(),f=l>0&&d<l||c>0&&d>c;if(f)return t.classList.add(\"notAllowed\"),void[\"inRange\",\"startRange\",\"endRange\"].forEach(function(e){t.classList.remove(e)});s&&!f||([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach(function(e){t.classList.remove(e)}),void 0!==e&&(e.classList.add(o<=n.selectedDates[0].getTime()?\"startRange\":\"endRange\"),i<o&&d===i?t.classList.add(\"startRange\"):i>o&&d===i&&t.classList.add(\"endRange\"),d>=l&&(0===c||d<=c)&&(a=i,u=o,(r=d)>Math.min(a,u)&&r<Math.max(a,u))&&t.classList.add(\"inRange\")))})}}function B(){!n.isOpen||n.config.static||n.config.inline||j()}function R(e){return function(t){var o=n.config[\"_\"+e+\"Date\"]=n.parseDate(t,n.config.dateFormat),i=n.config[\"_\"+(\"min\"===e?\"max\":\"min\")+\"Date\"];void 0!==o&&(n[\"min\"===e?\"minDateHasTime\":\"maxDateHasTime\"]=o.getHours()>0||o.getMinutes()>0||o.getSeconds()>0),n.selectedDates&&(n.selectedDates=n.selectedDates.filter(function(e){return A(e)}),n.selectedDates.length||\"min\"!==e||l(o),Z()),n.daysContainer&&($(),void 0!==o?n.currentYearElement[e]=o.getFullYear().toString():n.currentYearElement.removeAttribute(e),n.currentYearElement.disabled=!!i&&void 0!==o&&i.getFullYear()===o.getFullYear())}}function _(){return n.config.wrap?e.querySelector(\"[data-input]\"):e}function H(){\"object\"!=typeof n.config.locale&&void 0===Ru.l10ns[n.config.locale]&&n.config.errorHandler(new Error(\"flatpickr: invalid locale \"+n.config.locale)),n.l10n=Ou(Ou({},Ru.l10ns.default),\"object\"==typeof n.config.locale?n.config.locale:\"default\"!==n.config.locale?Ru.l10ns[n.config.locale]:void 0),Du.D=\"(\"+n.l10n.weekdays.shorthand.join(\"|\")+\")\",Du.l=\"(\"+n.l10n.weekdays.longhand.join(\"|\")+\")\",Du.M=\"(\"+n.l10n.months.shorthand.join(\"|\")+\")\",Du.F=\"(\"+n.l10n.months.longhand.join(\"|\")+\")\",Du.K=\"(\"+n.l10n.amPM[0]+\"|\"+n.l10n.amPM[1]+\"|\"+n.l10n.amPM[0].toLowerCase()+\"|\"+n.l10n.amPM[1].toLowerCase()+\")\",void 0===Ou(Ou({},t),JSON.parse(JSON.stringify(e.dataset||{}))).time_24hr&&void 0===Ru.defaultConfig.time_24hr&&(n.config.time_24hr=n.l10n.time_24hr),n.formatDate=Eu(n),n.parseDate=Iu({config:n.config,l10n:n.l10n})}function j(e){if(\"function\"!=typeof n.config.position){if(void 0!==n.calendarContainer){J(\"onPreCalendarPosition\");var t=e||n._positionElement,o=Array.prototype.reduce.call(n.calendarContainer.children,function(e,t){return e+t.offsetHeight},0),i=n.calendarContainer.offsetWidth,r=n.config.position.split(\" \"),a=r[0],s=r.length>1?r[1]:null,l=t.getBoundingClientRect(),c=window.innerHeight-l.bottom,u=\"above\"===a||\"below\"!==a&&c<o&&l.top>o,d=window.pageYOffset+l.top+(u?-o-2:t.offsetHeight+2);if(gu(n.calendarContainer,\"arrowTop\",!u),gu(n.calendarContainer,\"arrowBottom\",u),!n.config.inline){var f=window.pageXOffset+l.left,m=!1,p=!1;\"center\"===s?(f-=(i-l.width)/2,m=!0):\"right\"===s&&(f-=i-l.width,p=!0),gu(n.calendarContainer,\"arrowLeft\",!m&&!p),gu(n.calendarContainer,\"arrowCenter\",m),gu(n.calendarContainer,\"arrowRight\",p);var h=window.document.body.offsetWidth-(window.pageXOffset+l.right),g=f+i>window.document.body.offsetWidth,v=h+i>window.document.body.offsetWidth;if(gu(n.calendarContainer,\"rightMost\",g),!n.config.static)if(n.calendarContainer.style.top=d+\"px\",g)if(v){var y=function(){for(var e=null,t=0;t<document.styleSheets.length;t++){var n=document.styleSheets[t];if(n.cssRules){try{n.cssRules}catch(e){continue}e=n;break}}return null!=e?e:(o=document.createElement(\"style\"),document.head.appendChild(o),o.sheet);var o}();if(void 0===y)return;var w=window.document.body.offsetWidth,b=Math.max(0,w/2-i/2),C=y.cssRules.length,k=\"{left:\"+l.left+\"px;right:auto;}\";gu(n.calendarContainer,\"rightMost\",!1),gu(n.calendarContainer,\"centerMost\",!0),y.insertRule(\".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after\"+k,C),n.calendarContainer.style.left=b+\"px\",n.calendarContainer.style.right=\"auto\"}else n.calendarContainer.style.left=\"auto\",n.calendarContainer.style.right=h+\"px\";else n.calendarContainer.style.left=f+\"px\",n.calendarContainer.style.right=\"auto\"}}}else n.config.position(n,e)}function $(){n.config.noCalendar||n.isMobile||(k(),Q(),C())}function z(){n._input.focus(),-1!==window.navigator.userAgent.indexOf(\"MSIE\")||void 0!==navigator.msMaxTouchPoints?setTimeout(n.close,0):n.close()}function W(e){e.preventDefault(),e.stopPropagation();var t=wu(Cu(e),function(e){return e.classList&&e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\")&&!e.classList.contains(\"notAllowed\")});if(void 0!==t){var o=t,i=n.latestSelectedDateObj=new Date(o.dateObj.getTime()),r=(i.getMonth()<n.currentMonth||i.getMonth()>n.currentMonth+n.config.showMonths-1)&&\"range\"!==n.config.mode;if(n.selectedDateElem=o,\"single\"===n.config.mode)n.selectedDates=[i];else if(\"multiple\"===n.config.mode){var a=G(i);a?n.selectedDates.splice(parseInt(a),1):n.selectedDates.push(i)}else\"range\"===n.config.mode&&(2===n.selectedDates.length&&n.clear(!1,!1),n.latestSelectedDateObj=i,n.selectedDates.push(i),0!==Mu(i,n.selectedDates[0],!0)&&n.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if(s(),r){var l=n.currentYear!==i.getFullYear();n.currentYear=i.getFullYear(),n.currentMonth=i.getMonth(),l&&(J(\"onYearChange\"),k()),J(\"onMonthChange\")}if(Q(),C(),Z(),r||\"range\"===n.config.mode||1!==n.config.showMonths?void 0!==n.selectedDateElem&&void 0===n.hourElement&&n.selectedDateElem&&n.selectedDateElem.focus():v(o),void 0!==n.hourElement&&void 0!==n.hourElement&&n.hourElement.focus(),n.config.closeOnSelect){var c=\"single\"===n.config.mode&&!n.config.enableTime,u=\"range\"===n.config.mode&&2===n.selectedDates.length&&!n.config.enableTime;(c||u)&&z()}f()}}n.parseDate=Iu({config:n.config,l10n:n.l10n}),n._handlers=[],n.pluginElements=[],n.loadedPlugins=[],n._bind=d,n._setHoursFromDate=l,n._positionCalendar=j,n.changeMonth=E,n.changeYear=P,n.clear=function(e,t){void 0===e&&(e=!0);void 0===t&&(t=!0);n.input.value=\"\",void 0!==n.altInput&&(n.altInput.value=\"\");void 0!==n.mobileInput&&(n.mobileInput.value=\"\");n.selectedDates=[],n.latestSelectedDateObj=void 0,!0===t&&(n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth());if(!0===n.config.enableTime){var o=Tu(n.config);c(o.hours,o.minutes,o.seconds)}n.redraw(),e&&J(\"onChange\")},n.close=function(){n.isOpen=!1,n.isMobile||(void 0!==n.calendarContainer&&n.calendarContainer.classList.remove(\"open\"),void 0!==n._input&&n._input.classList.remove(\"active\"));J(\"onClose\")},n.onMouseOver=L,n._createElement=vu,n.createDay=g,n.destroy=function(){void 0!==n.config&&J(\"onDestroy\");for(var e=n._handlers.length;e--;)n._handlers[e].remove();if(n._handlers=[],n.mobileInput)n.mobileInput.parentNode&&n.mobileInput.parentNode.removeChild(n.mobileInput),n.mobileInput=void 0;else if(n.calendarContainer&&n.calendarContainer.parentNode)if(n.config.static&&n.calendarContainer.parentNode){var t=n.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else n.calendarContainer.parentNode.removeChild(n.calendarContainer);n.altInput&&(n.input.type=\"text\",n.altInput.parentNode&&n.altInput.parentNode.removeChild(n.altInput),delete n.altInput);n.input&&(n.input.type=n.input._type,n.input.classList.remove(\"flatpickr-input\"),n.input.removeAttribute(\"readonly\"));[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach(function(e){try{delete n[e]}catch(e){}})},n.isEnabled=A,n.jumpToDate=m,n.updateValue=Z,n.open=function(e,t){void 0===t&&(t=n._positionElement);if(!0===n.isMobile){if(e){e.preventDefault();var o=Cu(e);o&&o.blur()}return void 0!==n.mobileInput&&(n.mobileInput.focus(),n.mobileInput.click()),void J(\"onOpen\")}if(n._input.disabled||n.config.inline)return;var i=n.isOpen;n.isOpen=!0,i||(n.calendarContainer.classList.add(\"open\"),n._input.classList.add(\"active\"),J(\"onOpen\"),j(t));!0===n.config.enableTime&&!0===n.config.noCalendar&&(!1!==n.config.allowInput||void 0!==e&&n.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return n.hourElement.select()},50))},n.redraw=$,n.set=function(e,t){if(null!==e&&\"object\"==typeof e)for(var o in Object.assign(n.config,e),e)void 0!==V[o]&&V[o].forEach(function(e){return e()});else n.config[e]=t,void 0!==V[e]?V[e].forEach(function(e){return e()}):cu.indexOf(e)>-1&&(n.config[e]=hu(t));n.redraw(),Z(!0)},n.setDate=function(e,t,o){void 0===t&&(t=!1);void 0===o&&(o=n.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return n.clear(t);Y(e,o),n.latestSelectedDateObj=n.selectedDates[n.selectedDates.length-1],n.redraw(),m(void 0,t),l(),0===n.selectedDates.length&&n.clear(!1);Z(t),t&&J(\"onChange\")},n.toggle=function(e){if(!0===n.isOpen)return n.close();n.open(e)};var V={locale:[H,x],showMonths:[S,r,D],minDate:[m],maxDate:[m],positionElement:[K],clickOpens:[function(){!0===n.config.clickOpens?(d(n._input,\"focus\",n.open),d(n._input,\"click\",n.open)):(n._input.removeEventListener(\"focus\",n.open),n._input.removeEventListener(\"click\",n.open))}]};function Y(e,t){var o=[];if(e instanceof Array)o=e.map(function(e){return n.parseDate(e,t)});else if(e instanceof Date||\"number\"==typeof e)o=[n.parseDate(e,t)];else if(\"string\"==typeof e)switch(n.config.mode){case\"single\":case\"time\":o=[n.parseDate(e,t)];break;case\"multiple\":o=e.split(n.config.conjunction).map(function(e){return n.parseDate(e,t)});break;case\"range\":o=e.split(n.l10n.rangeSeparator).map(function(e){return n.parseDate(e,t)})}else n.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));n.selectedDates=n.config.allowInvalidPreload?o:o.filter(function(e){return e instanceof Date&&A(e,!1)}),\"range\"===n.config.mode&&n.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()})}function U(e){return e.slice().map(function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?n.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:n.parseDate(e.from,void 0),to:n.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function K(){n._positionElement=n.config.positionElement||n._input}function J(e,t){if(void 0!==n.config){var o=n.config[e];if(void 0!==o&&o.length>0)for(var i=0;o[i]&&i<o.length;i++)o[i](n.selectedDates,n.input.value,n,t);\"onChange\"===e&&(n.input.dispatchEvent(q(\"change\")),n.input.dispatchEvent(q(\"input\")))}}function q(e){var t=document.createEvent(\"Event\");return t.initEvent(e,!0,!0),t}function G(e){for(var t=0;t<n.selectedDates.length;t++){var o=n.selectedDates[t];if(o instanceof Date&&0===Mu(o,e))return\"\"+t}return!1}function Q(){n.config.noCalendar||n.isMobile||!n.monthNav||(n.yearElements.forEach(function(e,t){var o=new Date(n.currentYear,n.currentMonth,1);o.setMonth(n.currentMonth+t),n.config.showMonths>1||\"static\"===n.config.monthSelectorType?n.monthElements[t].textContent=Nu(o.getMonth(),n.config.shorthandCurrentMonth,n.l10n)+\" \":n.monthsDropdownContainer.value=o.getMonth().toString(),e.value=o.getFullYear().toString()}),n._hidePrevMonthArrow=void 0!==n.config.minDate&&(n.currentYear===n.config.minDate.getFullYear()?n.currentMonth<=n.config.minDate.getMonth():n.currentYear<n.config.minDate.getFullYear()),n._hideNextMonthArrow=void 0!==n.config.maxDate&&(n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth+1>n.config.maxDate.getMonth():n.currentYear>n.config.maxDate.getFullYear()))}function X(e){var t=e||(n.config.altInput?n.config.altFormat:n.config.dateFormat);return n.selectedDates.map(function(e){return n.formatDate(e,t)}).filter(function(e,t,o){return\"range\"!==n.config.mode||n.config.enableTime||o.indexOf(e)===t}).join(\"range\"!==n.config.mode?n.config.conjunction:n.l10n.rangeSeparator)}function Z(e){void 0===e&&(e=!0),void 0!==n.mobileInput&&n.mobileFormatStr&&(n.mobileInput.value=void 0!==n.latestSelectedDateObj?n.formatDate(n.latestSelectedDateObj,n.mobileFormatStr):\"\"),n.input.value=X(n.config.dateFormat),void 0!==n.altInput&&(n.altInput.value=X(n.config.altFormat)),!1!==e&&J(\"onValueUpdate\")}function ee(e){var t=Cu(e),o=n.prevMonthNav.contains(t),i=n.nextMonthNav.contains(t);o||i?E(o?-1:1):n.yearElements.indexOf(t)>=0?t.select():t.classList.contains(\"arrowUp\")?n.changeYear(n.currentYear+1):t.classList.contains(\"arrowDown\")&&n.changeYear(n.currentYear-1)}return function(){n.element=n.input=e,n.isOpen=!1,function(){var o=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],r=Ou(Ou({},JSON.parse(JSON.stringify(e.dataset||{}))),t),a={};n.config.parseDate=r.parseDate,n.config.formatDate=r.formatDate,Object.defineProperty(n.config,\"enable\",{get:function(){return n.config._enable},set:function(e){n.config._enable=U(e)}}),Object.defineProperty(n.config,\"disable\",{get:function(){return n.config._disable},set:function(e){n.config._disable=U(e)}});var s=\"time\"===r.mode;if(!r.dateFormat&&(r.enableTime||s)){var l=Ru.defaultConfig.dateFormat||uu.dateFormat;a.dateFormat=r.noCalendar||s?\"H:i\"+(r.enableSeconds?\":S\":\"\"):l+\" H:i\"+(r.enableSeconds?\":S\":\"\")}if(r.altInput&&(r.enableTime||s)&&!r.altFormat){var c=Ru.defaultConfig.altFormat||uu.altFormat;a.altFormat=r.noCalendar||s?\"h:i\"+(r.enableSeconds?\":S K\":\" K\"):c+\" h:i\"+(r.enableSeconds?\":S\":\"\")+\" K\"}Object.defineProperty(n.config,\"minDate\",{get:function(){return n.config._minDate},set:R(\"min\")}),Object.defineProperty(n.config,\"maxDate\",{get:function(){return n.config._maxDate},set:R(\"max\")});var u=function(e){return function(t){n.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=n.parseDate(t,\"H:i:S\")}};Object.defineProperty(n.config,\"minTime\",{get:function(){return n.config._minTime},set:u(\"min\")}),Object.defineProperty(n.config,\"maxTime\",{get:function(){return n.config._maxTime},set:u(\"max\")}),\"time\"===r.mode&&(n.config.noCalendar=!0,n.config.enableTime=!0);Object.assign(n.config,a,r);for(var d=0;d<o.length;d++)n.config[o[d]]=!0===n.config[o[d]]||\"true\"===n.config[o[d]];cu.filter(function(e){return void 0!==n.config[e]}).forEach(function(e){n.config[e]=hu(n.config[e]||[]).map(i)}),n.isMobile=!n.config.disableMobile&&!n.config.inline&&\"single\"===n.config.mode&&!n.config.disable.length&&!n.config.enable&&!n.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(d=0;d<n.config.plugins.length;d++){var f=n.config.plugins[d](n)||{};for(var m in f)cu.indexOf(m)>-1?n.config[m]=hu(f[m]).map(i).concat(n.config[m]):void 0===r[m]&&(n.config[m]=f[m])}r.altInputClass||(n.config.altInputClass=_().className+\" \"+n.config.altInputClass);J(\"onParseConfig\")}(),H(),function(){if(n.input=_(),!n.input)return void n.config.errorHandler(new Error(\"Invalid input element specified\"));n.input._type=n.input.type,n.input.type=\"text\",n.input.classList.add(\"flatpickr-input\"),n._input=n.input,n.config.altInput&&(n.altInput=vu(n.input.nodeName,n.config.altInputClass),n._input=n.altInput,n.altInput.placeholder=n.input.placeholder,n.altInput.disabled=n.input.disabled,n.altInput.required=n.input.required,n.altInput.tabIndex=n.input.tabIndex,n.altInput.type=\"text\",n.input.setAttribute(\"type\",\"hidden\"),!n.config.static&&n.input.parentNode&&n.input.parentNode.insertBefore(n.altInput,n.input.nextSibling));n.config.allowInput||n._input.setAttribute(\"readonly\",\"readonly\");K()}(),function(){n.selectedDates=[],n.now=n.parseDate(n.config.now)||new Date;var e=n.config.defaultDate||(\"INPUT\"!==n.input.nodeName&&\"TEXTAREA\"!==n.input.nodeName||!n.input.placeholder||n.input.value!==n.input.placeholder?n.input.value:null);e&&Y(e,n.config.dateFormat);n._initialDate=n.selectedDates.length>0?n.selectedDates[0]:n.config.minDate&&n.config.minDate.getTime()>n.now.getTime()?n.config.minDate:n.config.maxDate&&n.config.maxDate.getTime()<n.now.getTime()?n.config.maxDate:n.now,n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth(),n.selectedDates.length>0&&(n.latestSelectedDateObj=n.selectedDates[0]);void 0!==n.config.minTime&&(n.config.minTime=n.parseDate(n.config.minTime,\"H:i\"));void 0!==n.config.maxTime&&(n.config.maxTime=n.parseDate(n.config.maxTime,\"H:i\"));n.minDateHasTime=!!n.config.minDate&&(n.config.minDate.getHours()>0||n.config.minDate.getMinutes()>0||n.config.minDate.getSeconds()>0),n.maxDateHasTime=!!n.config.maxDate&&(n.config.maxDate.getHours()>0||n.config.maxDate.getMinutes()>0||n.config.maxDate.getSeconds()>0)}(),n.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=n.currentMonth),void 0===t&&(t=n.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:n.l10n.daysInMonth[e]}},n.isMobile||function(){var e=window.document.createDocumentFragment();if(n.calendarContainer=vu(\"div\",\"flatpickr-calendar\"),n.calendarContainer.tabIndex=-1,!n.config.noCalendar){if(e.appendChild((n.monthNav=vu(\"div\",\"flatpickr-months\"),n.yearElements=[],n.monthElements=[],n.prevMonthNav=vu(\"span\",\"flatpickr-prev-month\"),n.prevMonthNav.innerHTML=n.config.prevArrow,n.nextMonthNav=vu(\"span\",\"flatpickr-next-month\"),n.nextMonthNav.innerHTML=n.config.nextArrow,S(),Object.defineProperty(n,\"_hidePrevMonthArrow\",{get:function(){return n.__hidePrevMonthArrow},set:function(e){n.__hidePrevMonthArrow!==e&&(gu(n.prevMonthNav,\"flatpickr-disabled\",e),n.__hidePrevMonthArrow=e)}}),Object.defineProperty(n,\"_hideNextMonthArrow\",{get:function(){return n.__hideNextMonthArrow},set:function(e){n.__hideNextMonthArrow!==e&&(gu(n.nextMonthNav,\"flatpickr-disabled\",e),n.__hideNextMonthArrow=e)}}),n.currentYearElement=n.yearElements[0],Q(),n.monthNav)),n.innerContainer=vu(\"div\",\"flatpickr-innerContainer\"),n.config.weekNumbers){var t=function(){n.calendarContainer.classList.add(\"hasWeeks\");var e=vu(\"div\",\"flatpickr-weekwrapper\");e.appendChild(vu(\"span\",\"flatpickr-weekday\",n.l10n.weekAbbreviation));var t=vu(\"div\",\"flatpickr-weeks\");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),o=t.weekWrapper,i=t.weekNumbers;n.innerContainer.appendChild(o),n.weekNumbers=i,n.weekWrapper=o}n.rContainer=vu(\"div\",\"flatpickr-rContainer\"),n.rContainer.appendChild(D()),n.daysContainer||(n.daysContainer=vu(\"div\",\"flatpickr-days\"),n.daysContainer.tabIndex=-1),C(),n.rContainer.appendChild(n.daysContainer),n.innerContainer.appendChild(n.rContainer),e.appendChild(n.innerContainer)}n.config.enableTime&&e.appendChild(function(){n.calendarContainer.classList.add(\"hasTime\"),n.config.noCalendar&&n.calendarContainer.classList.add(\"noCalendar\");var e=Tu(n.config);n.timeContainer=vu(\"div\",\"flatpickr-time\"),n.timeContainer.tabIndex=-1;var t=vu(\"span\",\"flatpickr-time-separator\",\":\"),o=bu(\"flatpickr-hour\",{\"aria-label\":n.l10n.hourAriaLabel});n.hourElement=o.getElementsByTagName(\"input\")[0];var i=bu(\"flatpickr-minute\",{\"aria-label\":n.l10n.minuteAriaLabel});n.minuteElement=i.getElementsByTagName(\"input\")[0],n.hourElement.tabIndex=n.minuteElement.tabIndex=-1,n.hourElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getHours():n.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),n.minuteElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getMinutes():e.minutes),n.hourElement.setAttribute(\"step\",n.config.hourIncrement.toString()),n.minuteElement.setAttribute(\"step\",n.config.minuteIncrement.toString()),n.hourElement.setAttribute(\"min\",n.config.time_24hr?\"0\":\"1\"),n.hourElement.setAttribute(\"max\",n.config.time_24hr?\"23\":\"12\"),n.hourElement.setAttribute(\"maxlength\",\"2\"),n.minuteElement.setAttribute(\"min\",\"0\"),n.minuteElement.setAttribute(\"max\",\"59\"),n.minuteElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild(o),n.timeContainer.appendChild(t),n.timeContainer.appendChild(i),n.config.time_24hr&&n.timeContainer.classList.add(\"time24hr\");if(n.config.enableSeconds){n.timeContainer.classList.add(\"hasSeconds\");var r=bu(\"flatpickr-second\");n.secondElement=r.getElementsByTagName(\"input\")[0],n.secondElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getSeconds():e.seconds),n.secondElement.setAttribute(\"step\",n.minuteElement.getAttribute(\"step\")),n.secondElement.setAttribute(\"min\",\"0\"),n.secondElement.setAttribute(\"max\",\"59\"),n.secondElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild(vu(\"span\",\"flatpickr-time-separator\",\":\")),n.timeContainer.appendChild(r)}n.config.time_24hr||(n.amPM=vu(\"span\",\"flatpickr-am-pm\",n.l10n.amPM[mu((n.latestSelectedDateObj?n.hourElement.value:n.config.defaultHour)>11)]),n.amPM.title=n.l10n.toggleTitle,n.amPM.tabIndex=-1,n.timeContainer.appendChild(n.amPM));return n.timeContainer}());gu(n.calendarContainer,\"rangeMode\",\"range\"===n.config.mode),gu(n.calendarContainer,\"animate\",!0===n.config.animate),gu(n.calendarContainer,\"multiMonth\",n.config.showMonths>1),n.calendarContainer.appendChild(e);var r=void 0!==n.config.appendTo&&void 0!==n.config.appendTo.nodeType;if((n.config.inline||n.config.static)&&(n.calendarContainer.classList.add(n.config.inline?\"inline\":\"static\"),n.config.inline&&(!r&&n.element.parentNode?n.element.parentNode.insertBefore(n.calendarContainer,n._input.nextSibling):void 0!==n.config.appendTo&&n.config.appendTo.appendChild(n.calendarContainer)),n.config.static)){var a=vu(\"div\",\"flatpickr-wrapper\");n.element.parentNode&&n.element.parentNode.insertBefore(a,n.element),a.appendChild(n.element),n.altInput&&a.appendChild(n.altInput),a.appendChild(n.calendarContainer)}n.config.static||n.config.inline||(void 0!==n.config.appendTo?n.config.appendTo:window.document.body).appendChild(n.calendarContainer)}(),function(){n.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach(function(e){Array.prototype.forEach.call(n.element.querySelectorAll(\"[data-\"+e+\"]\"),function(t){return d(t,\"click\",n[e])})});if(n.isMobile)return void function(){var e=n.config.enableTime?n.config.noCalendar?\"time\":\"datetime-local\":\"date\";n.mobileInput=vu(\"input\",n.input.className+\" flatpickr-mobile\"),n.mobileInput.tabIndex=1,n.mobileInput.type=e,n.mobileInput.disabled=n.input.disabled,n.mobileInput.required=n.input.required,n.mobileInput.placeholder=n.input.placeholder,n.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",n.selectedDates.length>0&&(n.mobileInput.defaultValue=n.mobileInput.value=n.formatDate(n.selectedDates[0],n.mobileFormatStr));n.config.minDate&&(n.mobileInput.min=n.formatDate(n.config.minDate,\"Y-m-d\"));n.config.maxDate&&(n.mobileInput.max=n.formatDate(n.config.maxDate,\"Y-m-d\"));n.input.getAttribute(\"step\")&&(n.mobileInput.step=String(n.input.getAttribute(\"step\")));n.input.type=\"hidden\",void 0!==n.altInput&&(n.altInput.type=\"hidden\");try{n.input.parentNode&&n.input.parentNode.insertBefore(n.mobileInput,n.input.nextSibling)}catch(e){}d(n.mobileInput,\"change\",function(e){n.setDate(Cu(e).value,!1,n.mobileFormatStr),J(\"onChange\"),J(\"onClose\")})}();var e=pu(B,50);n._debouncedChange=pu(f,300),n.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&d(n.daysContainer,\"mouseover\",function(e){\"range\"===n.config.mode&&L(Cu(e))});d(n._input,\"keydown\",F),void 0!==n.calendarContainer&&d(n.calendarContainer,\"keydown\",F);n.config.inline||n.config.static||d(window,\"resize\",e);void 0!==window.ontouchstart?d(window.document,\"touchstart\",M):d(window.document,\"mousedown\",M);d(window.document,\"focus\",M,{capture:!0}),!0===n.config.clickOpens&&(d(n._input,\"focus\",n.open),d(n._input,\"click\",n.open));void 0!==n.daysContainer&&(d(n.monthNav,\"click\",ee),d(n.monthNav,[\"keyup\",\"increment\"],u),d(n.daysContainer,\"click\",W));if(void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement){var t=function(e){return Cu(e).select()};d(n.timeContainer,[\"increment\"],a),d(n.timeContainer,\"blur\",a,{capture:!0}),d(n.timeContainer,\"click\",p),d([n.hourElement,n.minuteElement],[\"focus\",\"click\"],t),void 0!==n.secondElement&&d(n.secondElement,\"focus\",function(){return n.secondElement&&n.secondElement.select()}),void 0!==n.amPM&&d(n.amPM,\"click\",function(e){a(e)})}n.config.allowInput&&d(n._input,\"blur\",O)}(),(n.selectedDates.length||n.config.noCalendar)&&(n.config.enableTime&&l(n.config.noCalendar?n.latestSelectedDateObj:void 0),Z(!1)),r();var o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!n.isMobile&&o&&j(),J(\"onReady\")}(),n}function Bu(e,t){for(var n=Array.prototype.slice.call(e).filter(function(e){return e instanceof HTMLElement}),o=[],i=0;i<n.length;i++){var r=n[i];try{if(null!==r.getAttribute(\"data-fp-omit\"))continue;void 0!==r._flatpickr&&(r._flatpickr.destroy(),r._flatpickr=void 0),r._flatpickr=Lu(r,t||{}),o.push(r._flatpickr)}catch(e){console.error(e)}}return 1===o.length?o[0]:o}\"undefined\"!=typeof HTMLElement&&\"undefined\"!=typeof HTMLCollection&&\"undefined\"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return Bu(this,e)},HTMLElement.prototype.flatpickr=function(e){return Bu([this],e)});var Ru=function(e,t){return\"string\"==typeof e?Bu(window.document.querySelectorAll(e),t):e instanceof Node?Bu([e],t):Bu(e,t)};Ru.defaultConfig={},Ru.l10ns={en:Ou({},du),default:Ou({},du)},Ru.localize=function(e){Ru.l10ns.default=Ou(Ou({},Ru.l10ns.default),e)},Ru.setDefaults=function(e){Ru.defaultConfig=Ou(Ou({},Ru.defaultConfig),e)},Ru.parseDate=Iu({}),Ru.formatDate=Eu({}),Ru.compareDates=Mu,\"undefined\"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return Bu(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(\"string\"==typeof e?parseInt(e,10):e))},\"undefined\"!=typeof window&&(window.flatpickr=Ru);const _u=[\"onCreate\",\"onDestroy\"],Hu=[\"onChange\",\"onOpen\",\"onClose\",\"onMonthChange\",\"onYearChange\",\"onReady\",\"onValueUpdate\",\"onDayCreate\"],ju=t=>{const n=u(()=>({...t}),[t]),{defaultValue:o,options:i={},value:r,children:s,render:l,onCreate:c,onDestroy:p}=n,h=u(()=>((e,t)=>(Hu.forEach(n=>{const o=t[n],i=e[n];if(o){i&&!Array.isArray(i)?e[n]=[e[n]]:e[n]||(e[n]=[]);const t=Array.isArray(o)?o:[o];0===e[n].length?e[n]=t:e[n].push(...t)}}),Hu.forEach(e=>{delete t[e]}),_u.forEach(e=>{delete t[e]}),e))(i,n),[i,n]),g=d(null),v=d(void 0);m(t.ref,()=>({get flatpickr(){return v.current}}),[]),f(()=>{return h.onClose=h.onClose||(()=>{var e;null!=(e=g.current)&&e.blur&&g.current.blur()}),v.current=((null==(e=Ru)?void 0:e.default)||Ru)(g.current,h),null==c||c(v.current),()=>{null==p||p(v.current),v.current&&v.current.destroy(),v.current=void 0};var e},[h,c,p]),f(()=>{var e;if(v.current){const t=Object.getOwnPropertyNames(h);for(let n=t.length-1;n>=0;n--){const o=t[n];let i=h[o];(null==i?void 0:i.toString())!==(null==(e=v.current.config[o])?void 0:e.toString())&&(Hu.includes(o)&&!Array.isArray(i)&&(i=[i]),v.current.set(o,i))}void 0!==r&&r!==v.current.input.value&&v.current.setDate(r,!1)}},[h,r]);const y=a(e=>{g.current=e},[]);if(l)return l({...n,defaultValue:o,value:r},y);const w=a(e=>{var n,o;t&&t.onChange&&(Array.isArray(null==t?void 0:t.onChange)?null==(n=null==t?void 0:t.onChange)||n.forEach(()=>[new Date(e.target.value)],(null==r?void 0:r.toString())||\"\"):\"function\"==typeof t.onChange&&(null==(o=null==t?void 0:t.onChange)||o.call(t,[new Date(e.target.value)],(null==r?void 0:r.toString())||\"\",v.current)))},[t,r]);return i.wrap?e(\"div\",{className:\"flatpickr\",ref:y,children:s}):e(\"input\",{onChange:w,...n,value:null==r?void 0:r.toString(),defaultValue:o,ref:y})},$u=\"T42.GD.Execute\",zu=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],Wu=(e,t)=>e in t;function Vu({time:e,frequency:t,day:n}){const o=new Date(`01/01/2000 ${e}`),i=o.getMinutes(),r=o.getHours();let a=\"*\";return\"weekly\"===t&&n&&(a=function(e){const t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};if(!Wu(e,t))throw new Error(`Invalid day: ${e}`);return t[e]}(n).toString()),`${i} ${r} * * ${a}`}function Yu(e){const t=l(w),{value:n,update:o}=xa({prefKey:Uu(e)}),{value:i,update:r}=xa({prefKey:Uu(e,\"Time\")}),{value:s,update:c}=xa({prefKey:Uu(e,\"Frequency\")}),{value:u,update:d}=xa({prefKey:Uu(e,\"Day\")}),m=a(async()=>{try{await t.interop.invoke($u,{command:`cancel-${e}`})}catch(e){console.error(e)}},[t,e]),p=a(async()=>{try{const n=Vu({time:i??\"12:00 AM\",frequency:s??\"daily\",day:\"weekly\"===s?u:\"*\"});await t.interop.invoke($u,{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,p]);return{enabled:n??!1,time:i??\"12:00 AM\",frequency:s??\"daily\",day:u??\"Monday\",setEnabled:async e=>{e||await m();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,zu.includes(t))try{await d(e)}catch(e){console.error(\"Failed to update day:\",e)}else console.error(\"Invalid day provided\")}}}function Uu(e,t){const n=\"restart\"===e?\"_system_scheduleRestart\":\"_system_scheduleShutdown\";return t?`${n}${t}`:n}function Ku({className:n,variant:o,...i}){const r=N(\"io-block-list-gap\",o,n),{enabled:a,time:s,frequency:l,day:c,setEnabled:u,setTime:d,setFrequency:f,setDay:m}=Yu(o);return t(P,{className:r,...i,children:[e(fi,{label:`Schedule ${o}`,align:\"right\",onChange:e=>u(e.target.checked),checked:a}),t(\"div\",{className:\"scheduler-controls\",children:[t(\"div\",{className:\"io-control-input io-control-leading-icon direction-up\",children:[e(S,{variant:\"clock\"}),e(ju,{className:\"io-input\",options:{enableTime:!0,noCalendar:!0,dateFormat:\"h:i K\",defaultDate:s,clickOpens:!0},value:s,onClose:async([e])=>{const t=e.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\",hour12:!0});await d(t)}})]}),t(Ko,{text:l.charAt(0).toUpperCase()+l.slice(1),icon:\"chevron-down\",iconRight:!0,children:[e(Ko.Item,{onClick:()=>f(\"daily\"),children:\"Daily\"}),e(Ko.Item,{onClick:()=>f(\"weekly\"),children:\"Weekly\"})]}),\"weekly\"===l&&e(Ko,{text:c,icon:\"chevron-down\",iconRight:!0,children:zu.map(t=>e(Ko.Item,{onClick:()=>m(t),children:t},t))})]})]})}function Ju({className:t,...n}){return e(Ku,{...n,className:t,variant:\"restart\"})}function qu({className:t,...n}){return e(Ku,{...n,className:t,variant:\"shutdown\"})}const Gu={Body:Wc,General:Vc,Theme:Uc,PinnedPosition:Jc,AllowDocking:Gc,MinimizeToTray:Qc,AutoClose:Xc,ShowTutorialOnStartup:Zc,Layouts:eu,LayoutsRestoreLastSaved:tu,LayoutsSaveCurrentOnExit:nu,LayoutsShowUnsavedChangesPrompt:ou,LayoutsShowDeletePrompt:iu,Downloads:ru,DownloadsAskForEachDownload:au,DownloadsLocation:su,System:lu,SystemRestartSection:Ju,SystemShutdownSection:qu},Qu=s(Gu),Xu=g(({children:t,components:n})=>{const o=u(()=>({...Gu,...n}),[n]);return e(Qu.Provider,{value:o,children:t})});Xu.displayName=\"PreferencesPanelComponentsStoreProvider\";const Zu=()=>l(Qu),ed=({className:n,onClose:o,title:i=\"Platform Preferences\",children:r,...a})=>t(Zo,{className:N(\"io-preferences-panel\",n),\"data-testid\":\"preferences-panel\",...a,children:[t(Zo.Header,{\"data-testid\":\"preferences-panel-header\",children:[e(Zo.Header.Title,{size:\"large\",text:i,tag:\"h1\",\"data-testid\":\"preferences-panel-title\"}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o,\"data-testid\":\"preferences-panel-close-button\"})})]}),r]}),td=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Zu();return e(ed,{title:n,onClose:t,...o,children:e(i,{})})},nd=({components:t,...n})=>e(Xu,{components:t,children:e(td,{...n})});var od=Object.freeze({__proto__:null,AllowDocking:Gc,AutoClose:Xc,Downloads:ru,DownloadsAskForEachDownload:au,DownloadsLocation:su,General:Vc,Layouts:eu,LayoutsRestoreLastSaved:tu,LayoutsSaveCurrentOnExit:nu,LayoutsShowDeletePrompt:iu,LayoutsShowUnsavedChangesPrompt:ou,MinimizeToTray:Qc,Panel:nd,PanelBody:Wc,PinnedPosition:Jc,ShowTutorialOnStartup:Zc,System:lu,SystemRestartSection:Ju,SystemShutdownSection:qu,Theme:Uc});const id=n=>{const{General:o,Layouts:i}=ud();return t(Qo,{...n,children:[e(o,{}),e(i,{})]})},rd=({title:t=\"General\",...n})=>{const{Theme:o}=ud();return e(P,{title:t,\"data-testid\":\"preferences-panel-general-block\",...n,children:e(o,{})})},ad=({title:t=\"Layouts\",...n})=>{const{LayoutsShowDeletePrompt:o}=ud();return e(P,{title:t,\"data-testid\":\"preferences-panel-layouts-block\",...n,children:e(o,{})})},sd={Body:id,General:rd,Theme:Uc,Layouts:ad,LayoutsShowUnsavedChangesPrompt:ou,LayoutsShowDeletePrompt:iu},ld=s(sd),cd=g(({children:t,components:n})=>{const o=u(()=>({...sd,...n}),[n]);return e(ld.Provider,{value:o,children:t})});cd.displayName=\"PreferencesPanelComponentsStoreProvider\";const ud=()=>l(ld),dd=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=ud();return e(ed,{title:n,onClose:t,...o,children:e(i,{})})};var fd=Object.freeze({__proto__:null,General:rd,Layouts:ad,LayoutsShowDeletePrompt:iu,LayoutsShowUnsavedChangesPrompt:ou,Panel:({components:t,...n})=>e(cd,{components:t,children:e(dd,{...n})}),PanelBody:id,Theme:Uc});const md=({actionButtons:t,actionButtonElementsRefs:n,isAutofocusButton:o,isButtonDisabled:i,onButtonClick:r})=>e(Z,{\"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(T,{\"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)})}),pd=({actionButtons:n,children:o,onCompletion:i,size:r,title:a=(wi()?\"io.Connect Desktop\":\"io.Connect Browser\"),validationErrors:s=[]})=>{const{actionButtonElementsRefs:l,autofocusButtonId:f,hasAutofocusButtonLostInitialFocus:m}=(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),h=()=>{i({isClosed:!0})},g={...r};return t(re,{className:\"io-dialog-template\",closeFn:h,isOpen:!0,onCancel:e=>{e.preventDefault(),h()},onKeyDown:e=>{!A(e)||s.length||e.target instanceof HTMLButtonElement||\" \"===e.key&&e.target instanceof HTMLInputElement||i({isEnterPressed:!0})},style:g,title:a,children:[e(re.Body,{children:o}),e(re.Footer,{children:e(md,{actionButtonElementsRefs:l,actionButtons:n,isAutofocusButton:e=>f===e&&!m,isButtonDisabled:e=>s.some(t=>t.disabledButtonIds.some(t=>t===e)),onButtonClick:({id:e,text:t})=>{i({responseButtonClicked:{id:e,text:t}})}})})]})},hd=({children:t})=>e(\"h3\",{\"data-testid\":\"io-dialog-heading\",className:\"io-dialog-template-heading\",children:t});var gd=Object.freeze({__proto__:null,NoInputsConfirmationDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,heading:a,text:s,title:l}=i;return e(pd,{actionButtons:r,onCompletion:n,size:o,title:l,children:t(\"div\",{children:[e(hd,{children:a}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:s})]})})},SingleCheckboxDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,checkbox:s,heading:l,text:u,title:d}=i,[f,m]=c(s.initialValue),p=a(()=>m(e=>!e),[]),h=[{id:s.id,type:\"checkbox\",checked:f}];return t(pd,{actionButtons:r,onCompletion:e=>n({...e,inputs:h}),size:o,title:d,children:[t(\"div\",{children:[e(hd,{children:l}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:u})]}),e(ri,{\"data-testid\":`io-dialog-checkbox-${s.id}`,checked:f,id:s.id,label:s.label,name:s.id,onChange:p})]})},SingleTextInputDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,heading:a,input:s,title:l}=i,[u,f]=c(s.initialValue??\"\"),m=d(null),h=(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(()=>{m.current?.select()},[]),t(pd,{actionButtons:r,onCompletion:e=>n({...e,inputs:y}),size:o,title:l,validationErrors:h?[h]:[],children:[e(hd,{children:a}),e(oi,{\"data-testid\":`io-dialog-input-${s.id}`,ref:m,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 vd=({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})]}),yd=({className:n,items:o,title:i})=>t(\"div\",{className:N(\"io-profile-section-body\",n),children:[i&&e(M,{className:\"io-profile-section-title\",text:i}),o.map(({name:t,value:n})=>e(vd,{name:t,value:n},t))]}),wd=({className:n,items:o,title:i})=>t(\"section\",{className:N(\"io-profile-section\",n),children:[e(yd,{items:o,title:i}),e(q,{className:\"mt-8\"})]}),bd=({title:t=\"License\",...n})=>e(wd,{title:t,...n}),Cd=({title:t=\"Version\",...n})=>e(wd,{title:t,...n}),kd=({title:t=\"Plugins\",...n})=>e(wd,{title:t,...n}),Nd=({className:n})=>{const o=wi()?\"io.Connect Desktop\":\"io.Connect Browser\";return t(\"div\",{className:N(\"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.\"]})]})},Sd=({avatarInitials:n=(wi()?\"CD\":\"CB\"),className:o,items:i,onLogout:r,title:a})=>t(\"section\",{className:N(\"io-profile-section\",o),children:[t(\"div\",{className:\"io-user-details-container\",children:[e(\"div\",{className:\"io-user-avatar\",children:n}),e(yd,{className:\"mt-12\",items:i,title:a})]}),r&&e(T,{className:\"io-log-out-button\",onClick:r,variant:\"primary\",icon:\"arrow-right-from-bracket\",children:\"Log out\"}),e(q,{className:\"mt-8\"})]}),Dd={LicenseSection:bd,ProductsInfoSection:Cd,PluginsSection:kd,Trademark:Nd,UserSection:Sd},xd=s(Dd),Ed=g(({children:t,components:n})=>{const o=u(()=>({...Dd,...n}),[n]);return e(xd.Provider,{value:o,children:t})});Ed.displayName=\"ProfilePanelComponentsStoreProvider\";const Id=e=>{const t=new Date(e);return[{day:\"numeric\"},{month:\"short\"},{year:\"numeric\"}].map(e=>t.toLocaleDateString(\"en\",e)).join(\" \")},Md=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}},Pd=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:Id(e.expiration*n)}]}},Ad=e=>({items:e.map(e=>({name:e.name,value:e.version}))}),Td=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&&Wu(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}]:[]]}},Od=()=>{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}},Fd=e=>{const t=Object.entries(e??{}).map(([e,t])=>({name:e,value:t}));return{items:t}},Ld=e=>{const t=e.map(({product:e,version:t})=>({name:e,value:t}));return{items:t}},Bd=e=>wi()?(async e=>{const{licInfo:t,productInfo:n}=(await e.interop.invoke(\"T42.GD.GetInfo\")).returned;return{user:Od(),license:Fd(t),productsInfo:Ld(n)}})(e):(async()=>{if(!window.iobrowser)throw new Error(\"window.iobrowser is not available\");const e=await window.iobrowser.system.getProfileData();return{user:Md(e.user),license:Pd(e.license),plugins:Ad(e.plugins),productsInfo:Td(e.productsInfo)}})(),Rd=({className:n,onClose:o,onLogout:i,title:r=\"Profile\",...a})=>{const{LicenseSection:s,ProductsInfoSection:u,PluginsSection:d,Trademark:m,UserSection:p}=l(xd),h=l(w),[g,v]=c(null);return f(()=>{if(!h)return;(async()=>{const e=await Bd(h);v(e)})().catch(console.error)},[h]),t(Zo,{className:N(\"io-profile-panel\",n),\"data-testid\":\"profile-panel\",...a,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:r}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),t(Zo.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-scrollable-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(m,{className:\"mt-auto\"})]})]})},_d=({components:t,...n})=>e(Ed,{components:t,children:e(Rd,{...n})});var Hd=Object.freeze({__proto__:null,LicenseSection:bd,Panel:_d,PluginsSection:kd,ProductsInfoSection:Cd,Trademark:Nd,UserSection:Sd});const jd=s(void 0),$d=()=>{const e=l(jd);if(!e)throw new Error(\"usePanelManagerContext must be used within a PanelManagerContext.Provider\");return e},zd=document.querySelector(\"#root\")??document.body,Wd={preferences:nd,\"notification-settings\":_l,profile:_d};var Vd=Object.freeze({__proto__:null,ActivePanelRenderer:()=>{const{panel:t,deselectPanel:n}=$d();Q(()=>{t&&n()},[\"Escape\"]);const o=t?Wd[t]:null;return o?y(e(\"div\",{className:\"io-panel-overlay\",children:e(o,{onClose:n})}),zd):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(jd.Provider,{value:s,children:t})},usePanelManagerContext:$d});const Yd=od,Ud=fd;export{E as Alert,I as Badge,P as Block,T as Button,Z as ButtonGroup,D as ButtonIcon,ri as Checkbox,re as Dialog,X as Dropdown,Ko as DropdownMenu,oe as Footer,ee as Header,Vd as IOActivePanelRenderer,ja as IOChannelSelector,gd as IODialogTemplates,Qa as IODialogs,Ds as IODownloadManager,Xs as IOFeedback,zc as IONotifications,Ud as IOPreferencesBrowser,Yd as IOPreferencesDesktop,Hd as IOProfile,S as Icon,Jo as ImageIcon,oi as Input,ni as Label,V as List,qo as Loader,Zo as Panel,ei as Pill,Sa as PlatformPrefsProvider,ti as Progress,ai as Radio,q as Separator,ii as Textarea,Ni as ThemeContext,Si as ThemeProvider,M as Title,fi as Toggle,hi as useDebounce,yi as useHideWindowOnFocusLost,bi as useIsIODesktop,Q as useKeyDown,pi as useKeyPress,vi as useKeyUp,xa as usePlatformPref,Da as usePlatformPrefs,ki as usePopupWindow,gi as useShowHideWindow,mi as useTimeout};\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","index","_i","io","hash","r","b","e","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","require$$0","is","useState","useEffect","useLayoutEffect","shim","shimModule","require$$1","React","ReactDOM","_","useSyncExternalStore","te","t","o","n","a","s","l","C","k","c","u","d","f","m","i","p","h","N","S","D","I","M","P","A","T","O","F","L","B","R","H","j","g","y","w","v","$","z","W","V","Y","U","K","J","G","q","Q","X","Z","ee","x","E","usePopupWindow"],"mappings":"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","x_google_ignoreList":[1,7,24,49,50,51,64]}
|
|
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]}
|