@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.
@@ -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","jsx","hash","r","b","useRef","useEffect","jsxs","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","useLayoutEffect","useState","Fragment","require$$0","is","shim","shimModule","require$$1","React","_","useSyncExternalStore","te","useContext","IOConnectContext","e","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","useCallback"],"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","jsx","x","hash","r","b","useRef","useEffect","jsxs","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","useLayoutEffect","useState","Fragment","require$$0","is","shim","shimModule","require$$1","React","_d","_c","_f","_e","_h","_l","_n","_p","_o","_r","_","useSyncExternalStore","te","_s","_t","_u","useContext","IOConnectContext","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","useCallback"],"mappings":"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","x_google_ignoreList":[1,7,24,49,50,51]}