@interopio/groups-ui-react 3.0.0 → 4.2.8-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/cjs/GroupElementCreationWrapper.d.ts +4 -4
  2. package/dist/cjs/GroupWrapper.d.ts +10 -10
  3. package/dist/cjs/Portal.d.ts +6 -6
  4. package/dist/cjs/defaultComponents/buttons/BaseButton.d.ts +4 -4
  5. package/dist/cjs/defaultComponents/buttons/CloneButton.d.ts +4 -4
  6. package/dist/cjs/defaultComponents/buttons/CloseButton.d.ts +4 -4
  7. package/dist/cjs/defaultComponents/buttons/CustomButton.d.ts +4 -4
  8. package/dist/cjs/defaultComponents/buttons/DownloadsButton.d.ts +4 -0
  9. package/dist/cjs/defaultComponents/buttons/ExtractButton.d.ts +4 -4
  10. package/dist/cjs/defaultComponents/buttons/FeedbackButton.d.ts +4 -4
  11. package/dist/cjs/defaultComponents/buttons/LockButtons.d.ts +4 -4
  12. package/dist/cjs/defaultComponents/buttons/MaximizeButton.d.ts +4 -4
  13. package/dist/cjs/defaultComponents/buttons/MinimizeButton.d.ts +4 -4
  14. package/dist/cjs/defaultComponents/buttons/OverflowButton.d.ts +4 -4
  15. package/dist/cjs/defaultComponents/buttons/RestoreButton.d.ts +4 -4
  16. package/dist/cjs/defaultComponents/buttons/StandardButton.d.ts +4 -4
  17. package/dist/cjs/defaultComponents/buttons/StickyButton.d.ts +4 -4
  18. package/dist/cjs/defaultComponents/buttons/UnlockButton.d.ts +4 -4
  19. package/dist/cjs/defaultComponents/captionEditor/CaptionEditor.d.ts +4 -4
  20. package/dist/cjs/defaultComponents/captionEditor/useCaptionEditor.d.ts +4 -4
  21. package/dist/cjs/defaultComponents/captionEditor/useCommitEditingRequested.d.ts +3 -3
  22. package/dist/cjs/defaultComponents/captionEditor/useEditableCaption.d.ts +4 -4
  23. package/dist/cjs/defaultComponents/channelSelector/BaseChannelSelector.d.ts +4 -4
  24. package/dist/cjs/defaultComponents/channelSelector/FlatChannelSelector.d.ts +4 -4
  25. package/dist/cjs/defaultComponents/channelSelector/TabChannelSelector.d.ts +4 -4
  26. package/dist/cjs/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.d.ts +4 -4
  27. package/dist/cjs/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.d.ts +4 -4
  28. package/dist/cjs/defaultComponents/channelSelector/multi/TabMultiChannelSelector.d.ts +4 -4
  29. package/dist/cjs/defaultComponents/channelSelector/utils.d.ts +5 -5
  30. package/dist/cjs/defaultComponents/flatCaptionBar/FlatButtons.d.ts +4 -4
  31. package/dist/cjs/defaultComponents/flatCaptionBar/FlatCaption.d.ts +4 -4
  32. package/dist/cjs/defaultComponents/flatCaptionBar/FlatCaptionBar.d.ts +4 -4
  33. package/dist/cjs/defaultComponents/flatCaptionBar/FlatCaptionEditor.d.ts +4 -4
  34. package/dist/cjs/defaultComponents/flatCaptionBar/FlatMoveArea.d.ts +4 -4
  35. package/dist/cjs/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.d.ts +2 -2
  36. package/dist/cjs/defaultComponents/groupCaptionBar/GroupButtons.d.ts +4 -4
  37. package/dist/cjs/defaultComponents/groupCaptionBar/GroupCaption.d.ts +4 -4
  38. package/dist/cjs/defaultComponents/groupCaptionBar/GroupCaptionBar.d.ts +4 -4
  39. package/dist/cjs/defaultComponents/groupCaptionBar/GroupCaptionEditor.d.ts +4 -4
  40. package/dist/cjs/defaultComponents/groupCaptionBar/GroupMoveArea.d.ts +4 -4
  41. package/dist/cjs/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.d.ts +2 -2
  42. package/dist/cjs/defaultComponents/hooks/useExternalWindowPopup.d.ts +2 -0
  43. package/dist/cjs/defaultComponents/hooks/useExternalWindowPopupClosed.d.ts +1 -0
  44. package/dist/cjs/defaultComponents/hooks/useExternalWindowPopupHidden.d.ts +1 -0
  45. package/dist/cjs/defaultComponents/hooks/useMoveResizeWindow.d.ts +2 -0
  46. package/dist/cjs/defaultComponents/hooks/useShowPopupWindow.d.ts +2 -0
  47. package/dist/cjs/defaultComponents/htmlButtonsBar/buttons.d.ts +4 -4
  48. package/dist/cjs/defaultComponents/loadingAnimation/FrameLoadingAnimation.d.ts +4 -4
  49. package/dist/cjs/defaultComponents/popups/TabOverflowPopup.d.ts +4 -4
  50. package/dist/cjs/defaultComponents/tabs/Tab.d.ts +4 -4
  51. package/dist/cjs/defaultComponents/tabs/TabCaption.d.ts +4 -4
  52. package/dist/cjs/defaultComponents/tabs/TabCaptionEditor.d.ts +4 -4
  53. package/dist/cjs/defaultComponents/tabs/TabCloseButton.d.ts +4 -4
  54. package/dist/cjs/defaultComponents/tabs/TabHeaderButtons.d.ts +4 -4
  55. package/dist/cjs/defaultComponents/tabs/useCommitTabCaptionEditingRequested.d.ts +2 -2
  56. package/dist/cjs/defaultComponents/utils/common.d.ts +5 -3
  57. package/dist/cjs/defaultComponents/utils/useDragMove.d.ts +6 -6
  58. package/dist/cjs/index.d.ts +59 -57
  59. package/dist/cjs/index.js +8389 -3544
  60. package/dist/cjs/index.js.map +1 -1
  61. package/dist/cjs/types/api.d.ts +233 -196
  62. package/dist/cjs/types/defaultComponents.d.ts +198 -193
  63. package/dist/cjs/types/internal.d.ts +363 -340
  64. package/dist/cjs/useGroupComponentVisibility.d.ts +3 -3
  65. package/dist/cjs/useIOConnectWindow.d.ts +2 -2
  66. package/dist/cjs/utils.d.ts +3 -3
  67. package/dist/cjs/webGroupsManager.d.ts +51 -49
  68. package/dist/cjs/webGroupsStore.d.ts +69 -66
  69. package/dist/esm/GroupElementCreationWrapper.d.ts +4 -4
  70. package/dist/esm/GroupWrapper.d.ts +10 -10
  71. package/dist/esm/Portal.d.ts +6 -6
  72. package/dist/esm/defaultComponents/buttons/BaseButton.d.ts +4 -4
  73. package/dist/esm/defaultComponents/buttons/CloneButton.d.ts +4 -4
  74. package/dist/esm/defaultComponents/buttons/CloseButton.d.ts +4 -4
  75. package/dist/esm/defaultComponents/buttons/CustomButton.d.ts +4 -4
  76. package/dist/esm/defaultComponents/buttons/DownloadsButton.d.ts +4 -0
  77. package/dist/esm/defaultComponents/buttons/ExtractButton.d.ts +4 -4
  78. package/dist/esm/defaultComponents/buttons/FeedbackButton.d.ts +4 -4
  79. package/dist/esm/defaultComponents/buttons/LockButtons.d.ts +4 -4
  80. package/dist/esm/defaultComponents/buttons/MaximizeButton.d.ts +4 -4
  81. package/dist/esm/defaultComponents/buttons/MinimizeButton.d.ts +4 -4
  82. package/dist/esm/defaultComponents/buttons/OverflowButton.d.ts +4 -4
  83. package/dist/esm/defaultComponents/buttons/RestoreButton.d.ts +4 -4
  84. package/dist/esm/defaultComponents/buttons/StandardButton.d.ts +4 -4
  85. package/dist/esm/defaultComponents/buttons/StickyButton.d.ts +4 -4
  86. package/dist/esm/defaultComponents/buttons/UnlockButton.d.ts +4 -4
  87. package/dist/esm/defaultComponents/captionEditor/CaptionEditor.d.ts +4 -4
  88. package/dist/esm/defaultComponents/captionEditor/useCaptionEditor.d.ts +4 -4
  89. package/dist/esm/defaultComponents/captionEditor/useCommitEditingRequested.d.ts +3 -3
  90. package/dist/esm/defaultComponents/captionEditor/useEditableCaption.d.ts +4 -4
  91. package/dist/esm/defaultComponents/channelSelector/BaseChannelSelector.d.ts +4 -4
  92. package/dist/esm/defaultComponents/channelSelector/FlatChannelSelector.d.ts +4 -4
  93. package/dist/esm/defaultComponents/channelSelector/TabChannelSelector.d.ts +4 -4
  94. package/dist/esm/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.d.ts +4 -4
  95. package/dist/esm/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.d.ts +4 -4
  96. package/dist/esm/defaultComponents/channelSelector/multi/TabMultiChannelSelector.d.ts +4 -4
  97. package/dist/esm/defaultComponents/channelSelector/utils.d.ts +5 -5
  98. package/dist/esm/defaultComponents/flatCaptionBar/FlatButtons.d.ts +4 -4
  99. package/dist/esm/defaultComponents/flatCaptionBar/FlatCaption.d.ts +4 -4
  100. package/dist/esm/defaultComponents/flatCaptionBar/FlatCaptionBar.d.ts +4 -4
  101. package/dist/esm/defaultComponents/flatCaptionBar/FlatCaptionEditor.d.ts +4 -4
  102. package/dist/esm/defaultComponents/flatCaptionBar/FlatMoveArea.d.ts +4 -4
  103. package/dist/esm/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.d.ts +2 -2
  104. package/dist/esm/defaultComponents/groupCaptionBar/GroupButtons.d.ts +4 -4
  105. package/dist/esm/defaultComponents/groupCaptionBar/GroupCaption.d.ts +4 -4
  106. package/dist/esm/defaultComponents/groupCaptionBar/GroupCaptionBar.d.ts +4 -4
  107. package/dist/esm/defaultComponents/groupCaptionBar/GroupCaptionEditor.d.ts +4 -4
  108. package/dist/esm/defaultComponents/groupCaptionBar/GroupMoveArea.d.ts +4 -4
  109. package/dist/esm/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.d.ts +2 -2
  110. package/dist/esm/defaultComponents/hooks/useExternalWindowPopup.d.ts +2 -0
  111. package/dist/esm/defaultComponents/hooks/useExternalWindowPopupClosed.d.ts +1 -0
  112. package/dist/esm/defaultComponents/hooks/useExternalWindowPopupHidden.d.ts +1 -0
  113. package/dist/esm/defaultComponents/hooks/useMoveResizeWindow.d.ts +2 -0
  114. package/dist/esm/defaultComponents/hooks/useShowPopupWindow.d.ts +2 -0
  115. package/dist/esm/defaultComponents/htmlButtonsBar/buttons.d.ts +4 -4
  116. package/dist/esm/defaultComponents/loadingAnimation/FrameLoadingAnimation.d.ts +4 -4
  117. package/dist/esm/defaultComponents/popups/TabOverflowPopup.d.ts +4 -4
  118. package/dist/esm/defaultComponents/tabs/Tab.d.ts +4 -4
  119. package/dist/esm/defaultComponents/tabs/TabCaption.d.ts +4 -4
  120. package/dist/esm/defaultComponents/tabs/TabCaptionEditor.d.ts +4 -4
  121. package/dist/esm/defaultComponents/tabs/TabCloseButton.d.ts +4 -4
  122. package/dist/esm/defaultComponents/tabs/TabHeaderButtons.d.ts +4 -4
  123. package/dist/esm/defaultComponents/tabs/useCommitTabCaptionEditingRequested.d.ts +2 -2
  124. package/dist/esm/defaultComponents/utils/common.d.ts +5 -3
  125. package/dist/esm/defaultComponents/utils/useDragMove.d.ts +6 -6
  126. package/dist/esm/index.d.ts +59 -57
  127. package/dist/esm/index.js +8296 -3405
  128. package/dist/esm/index.js.map +1 -1
  129. package/dist/esm/types/api.d.ts +233 -196
  130. package/dist/esm/types/defaultComponents.d.ts +198 -193
  131. package/dist/esm/types/internal.d.ts +363 -340
  132. package/dist/esm/useGroupComponentVisibility.d.ts +3 -3
  133. package/dist/esm/useIOConnectWindow.d.ts +2 -2
  134. package/dist/esm/utils.d.ts +3 -3
  135. package/dist/esm/webGroupsManager.d.ts +51 -49
  136. package/dist/esm/webGroupsStore.d.ts +69 -66
  137. package/dist/styles/groups.css +88 -25
  138. package/dist/styles/vars.css +58 -44
  139. package/package.json +13 -16
  140. package/dist/cjs/tests/buttons/BaseButton.test.d.ts +0 -1
  141. package/dist/cjs/tests/buttons/CloneButton.test.d.ts +0 -1
  142. package/dist/cjs/tests/buttons/CloseButton.test.d.ts +0 -1
  143. package/dist/cjs/tests/buttons/CustomButton.test.d.ts +0 -1
  144. package/dist/cjs/tests/buttons/ExtractButton.test.d.ts +0 -1
  145. package/dist/cjs/tests/buttons/FeedbackButton.test.d.ts +0 -1
  146. package/dist/cjs/tests/buttons/LockButtons.test.d.ts +0 -1
  147. package/dist/cjs/tests/buttons/MaximizeButton.test.d.ts +0 -1
  148. package/dist/cjs/tests/buttons/MinimizeButton.test.d.ts +0 -1
  149. package/dist/cjs/tests/buttons/OverflowButton.test.d.ts +0 -1
  150. package/dist/cjs/tests/buttons/RestoreButton.test.d.ts +0 -1
  151. package/dist/cjs/tests/buttons/StickyButton.test.d.ts +0 -1
  152. package/dist/cjs/tests/buttons/UnlockButton.test.d.ts +0 -1
  153. package/dist/cjs/tests/captionEditor/CaptionEditor.test.d.ts +0 -1
  154. package/dist/cjs/tests/channelSelector/BaseChannelSelector.test.d.ts +0 -1
  155. package/dist/cjs/tests/flatCaptionBar/FlatCaptionBar.test.d.ts +0 -1
  156. package/dist/cjs/tests/groupCaptionBar/GroupCaptionBar.test.d.ts +0 -1
  157. package/dist/cjs/tests/htmlButtonBar/HtmlButtonBar.test.d.ts +0 -1
  158. package/dist/cjs/tests/popups/TabOverflowPopup.test.d.ts +0 -1
  159. package/dist/cjs/tests/tabs/Tab.test.d.ts +0 -1
  160. package/dist/esm/tests/buttons/BaseButton.test.d.ts +0 -1
  161. package/dist/esm/tests/buttons/CloneButton.test.d.ts +0 -1
  162. package/dist/esm/tests/buttons/CloseButton.test.d.ts +0 -1
  163. package/dist/esm/tests/buttons/CustomButton.test.d.ts +0 -1
  164. package/dist/esm/tests/buttons/ExtractButton.test.d.ts +0 -1
  165. package/dist/esm/tests/buttons/FeedbackButton.test.d.ts +0 -1
  166. package/dist/esm/tests/buttons/LockButtons.test.d.ts +0 -1
  167. package/dist/esm/tests/buttons/MaximizeButton.test.d.ts +0 -1
  168. package/dist/esm/tests/buttons/MinimizeButton.test.d.ts +0 -1
  169. package/dist/esm/tests/buttons/OverflowButton.test.d.ts +0 -1
  170. package/dist/esm/tests/buttons/RestoreButton.test.d.ts +0 -1
  171. package/dist/esm/tests/buttons/StickyButton.test.d.ts +0 -1
  172. package/dist/esm/tests/buttons/UnlockButton.test.d.ts +0 -1
  173. package/dist/esm/tests/captionEditor/CaptionEditor.test.d.ts +0 -1
  174. package/dist/esm/tests/channelSelector/BaseChannelSelector.test.d.ts +0 -1
  175. package/dist/esm/tests/flatCaptionBar/FlatCaptionBar.test.d.ts +0 -1
  176. package/dist/esm/tests/groupCaptionBar/GroupCaptionBar.test.d.ts +0 -1
  177. package/dist/esm/tests/htmlButtonBar/HtmlButtonBar.test.d.ts +0 -1
  178. package/dist/esm/tests/popups/TabOverflowPopup.test.d.ts +0 -1
  179. package/dist/esm/tests/tabs/Tab.test.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../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.module.es.js","../../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/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","../../src/index.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","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 Default = \"default\",\r\n Frame = \"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}\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}\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\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\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 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\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","\"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, 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 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\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\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","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.module.es.js.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 { 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\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, 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 {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} 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 if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveWindowZones: {\r\n ...s.aboveWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.windowContentOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n windowContentOverlays: {\r\n ...s.windowContentOverlays,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n if (options === this.state.frameLoadingAnimations[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowWindowZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowWindowZones: {\r\n ...s.belowWindowZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n acc[targetId] = s.tabElements[targetId];\r\n return acc;\r\n }, {});\r\n\r\n newTabElementsObj[options.targetId] = options;\r\n\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n if (options === this.state.tabOverflowPopups[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabOverflowPopups: {\r\n ...s.tabOverflowPopups,\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.htmlButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n htmlButtons: {\r\n ...s.htmlButtons,\r\n [options.targetId]: { ...s.htmlButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\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 if (options === this.state.frameCaptionBars[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars,\r\n [options.targetId]: { ...s.frameCaptionBars[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.frameWindowOverlays[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n frameWindowOverlays: {\r\n ...s.frameWindowOverlays,\r\n [options.targetId]: { ...s.frameWindowOverlays[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.aboveTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n aboveTabsZones: {\r\n ...s.aboveTabsZones,\r\n [options.targetId]: { ...s.aboveTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.beforeTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n beforeTabsZones: {\r\n ...s.beforeTabsZones,\r\n [options.targetId]: { ...s.beforeTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n if (options === this.state.tabElements[options.targetId] || !options) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements,\r\n [options.targetId]: { ...s.tabElements[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.afterTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n afterTabsZones: {\r\n ...s.afterTabsZones,\r\n [options.targetId]: { ...s.afterTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n if (options === this.state.tabHeaderButtons[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n tabHeaderButtons: {\r\n ...s.tabHeaderButtons,\r\n [options.targetId]: { ...s.tabHeaderButtons[options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.belowTabsZones[options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n belowTabsZones: {\r\n ...s.belowTabsZones,\r\n [options.targetId]: { ...s.belowTabsZones[options.targetId], ...options }\r\n }\r\n }\r\n });\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 ElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"groupOverlay\" || stateProp === \"groupCaptionBar\" || stateProp === \"tabElements\") {\r\n return;\r\n }\r\n\r\n if (newState[stateProp]![targetId] && newState[stateProp]![targetId]?.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 ElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldHiddenToTheLeft = newState[stateProp]![targetId]?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = newState[stateProp]![targetId]?.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 if (!this.state.frameCaptionBars[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameCaptionBars).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameCaptionBars[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameCaptionBars: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameWindowOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.frameWindowOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameWindowOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n frameWindowOverlays: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.aboveWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.aboveWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.windowContentOverlays[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newOverlaysObj = Object.keys(s.windowContentOverlays).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.windowContentOverlays[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n windowContentOverlays: newOverlaysObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.frameLoadingAnimations[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newLoadingAnimationObj = Object.keys(s.frameLoadingAnimations).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.frameLoadingAnimations[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n return {\r\n ...s,\r\n frameLoadingAnimation: newLoadingAnimationObj\r\n }\r\n })\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowWindowZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newCaptionBarsObj = Object.keys(s.belowWindowZones).reduce((acc, targetId) => {\r\n if (targetId !== options.targetId) {\r\n acc[targetId] = s.belowWindowZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowWindowZones: newCaptionBarsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.aboveTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.aboveTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.aboveTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n aboveTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.beforeTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.beforeTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.beforeTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n beforeTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabElements[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabElements).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabElements[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabElements: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.afterTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.afterTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.afterTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n afterTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabHeaderButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.tabHeaderButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabHeaderButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabHeaderButtons: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.belowTabsZones[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabElementsObj = Object.keys(s.belowTabsZones).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.belowTabsZones[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n belowTabsZones: newTabElementsObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.htmlButtons[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newHtmlObj = Object.keys(s.htmlButtons).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.htmlButtons[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n htmlButtons: newHtmlObj\r\n }\r\n });\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n if (!this.state.tabOverflowPopups[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newTabOverflowPopupsObj = Object.keys(s.tabOverflowPopups).reduce((acc, targetId) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = s.tabOverflowPopups[targetId];\r\n }\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...s,\r\n tabOverflowPopups: newTabOverflowPopupsObj\r\n }\r\n });\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 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\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 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 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 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 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 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 close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabOverflowCustomElement {...options}\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 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 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\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({ extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\n return <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {\n customButtons.map(customButton => {\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\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 {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;","import React from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n select\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 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 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 {\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 {\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 { Location, TargetType } 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\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 GroupComponentVisibilityState,\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}\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 {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaption,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\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":["callbackRegistry","useEffect","useLayoutEffect","ResizeObserver","useState","shim","React","require$$0","require$$1","useSyncExternalStore"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/types/internal.ts","../../../../node_modules/callback-registry/lib/index.js","../../src/webGroupsManager.ts","../../src/defaultComponents/buttons/BaseButton.tsx","../../src/defaultComponents/utils/common.ts","../../src/defaultComponents/buttons/StandardButton.tsx","../../src/defaultComponents/buttons/CloseButton.tsx","../../../../node_modules/color2k/dist/index.exports.import.es.mjs","../../src/defaultComponents/channelSelector/utils.ts","../../src/defaultComponents/channelSelector/BaseChannelSelector.tsx","../../src/defaultComponents/channelSelector/FlatChannelSelector.tsx","../../src/defaultComponents/buttons/ExtractButton.tsx","../../src/defaultComponents/buttons/FeedbackButton.tsx","../../src/defaultComponents/buttons/CloneButton.tsx","../../src/defaultComponents/buttons/StickyButton.tsx","../../src/defaultComponents/buttons/LockButtons.tsx","../../src/defaultComponents/buttons/MaximizeButton.tsx","../../src/defaultComponents/buttons/MinimizeButton.tsx","../../src/defaultComponents/buttons/RestoreButton.tsx","../../src/defaultComponents/buttons/UnlockButton.tsx","../../src/defaultComponents/buttons/CustomButton.tsx","../../src/defaultComponents/buttons/DownloadsButton.tsx","../../src/defaultComponents/flatCaptionBar/FlatButtons.tsx","../../src/utils.ts","../../../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../src/defaultComponents/captionEditor/useEditableCaption.ts","../../src/defaultComponents/utils/useDragMove.ts","../../src/defaultComponents/flatCaptionBar/FlatCaption.tsx","../../src/defaultComponents/captionEditor/useCaptionEditor.ts","../../src/defaultComponents/captionEditor/useCommitEditingRequested.tsx","../../src/defaultComponents/captionEditor/CaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionEditor.tsx","../../src/defaultComponents/flatCaptionBar/FlatMoveArea.tsx","../../src/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.tsx","../../src/defaultComponents/flatCaptionBar/FlatCaptionBar.tsx","../../src/defaultComponents/groupCaptionBar/GroupMoveArea.tsx","../../src/defaultComponents/groupCaptionBar/GroupButtons.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaption.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionEditor.tsx","../../src/defaultComponents/groupCaptionBar/GroupCaptionBar.tsx","../../src/defaultComponents/channelSelector/TabChannelSelector.tsx","../../src/defaultComponents/channelSelector/multi/TabMultiChannelSelector.tsx","../../src/defaultComponents/tabs/TabCaption.tsx","../../src/defaultComponents/tabs/TabCaptionEditor.tsx","../../src/defaultComponents/tabs/TabCloseButton.tsx","../../src/defaultComponents/tabs/Tab.tsx","../../src/defaultComponents/buttons/OverflowButton.tsx","../../src/defaultComponents/tabs/TabHeaderButtons.tsx","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../../node_modules/use-sync-external-store/shim/index.js","../../src/GroupWrapper.tsx","../../src/Portal.tsx","../../src/webGroupsStore.ts","../../src/defaultComponents/loadingAnimation/FrameLoadingAnimation.tsx","../../src/GroupElementCreationWrapper.tsx","../../src/useIOConnectWindow.ts","../../src/useGroupComponentVisibility.ts","../../src/defaultComponents/tabs/useCommitTabCaptionEditingRequested.ts","../../src/defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested.ts","../../src/defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested.ts","../../src/defaultComponents/htmlButtonsBar/buttons.tsx","../../src/defaultComponents/popups/TabOverflowPopup.tsx","../../node_modules/@interopio/components-react/dist/esm/index.js","../../src/defaultComponents/hooks/useExternalWindowPopup.ts","../../src/index.tsx"],"sourcesContent":["import React from \"react\";\r\n\r\ntype NonMethodKeys<T> = ({ [P in keyof T]: T[P] extends Function ? never : P })[keyof T];\r\ntype NonMethods<T> = Pick<T, NonMethodKeys<T>>;\r\n\r\nexport interface PortalProps {\r\n\tparentElement: HTMLElement;\r\n\tchildren?: React.ReactNode;\r\n}\r\n\r\nexport enum StandardButtonTarget {\r\n\tDefault = \"default\",\r\n\tFrame = \"frame\"\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tonClick: () => void;\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget?: StandardButtonTarget;\r\n\tisPressed?: boolean;\r\n\tdownloadsState?: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface ToggleButtonProps extends ButtonProps {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface GroupWrapperProps {\r\n\tonCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;\r\n\tonUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;\r\n\r\n\tonCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;\r\n\tonUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;\r\n\r\n\tonCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateWindowContentOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonCreateFrameLoadingAnimationRequested?: (options: CreateFrameLoadingAnimationRequestOptions) => void;\r\n\tonCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\tonUpdateTabRequested?: (options: CreateTabRequestOptions) => void;\r\n\r\n\tonCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonCreateTabHeaderButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\r\n\tonCreateTabOverflowPopupRequested?: (options: CreateTabOverflowPopupRequestOptions) => void;\r\n\r\n\tonCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\tonUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;\r\n\r\n\tonUpdateFrameRequested?: (options: UpdateFrameRequestOptions) => void;\r\n\tonUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;\r\n\tonUpdateCustomButtonsRequested?: (options: UpdateCustomButtonsRequestOptions) => void;\r\n\r\n\tonCreateHtmlButtonsRequested?: (options: CreateButtonsOptions) => void;\r\n\tonRemoveHtmlButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveWindowContentOverlayRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveFrameLoadingAnimationRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveTabOverflowPopupRequested?: (options: RemoveRequestOptions) => void;\r\n\tonRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;\r\n\r\n\tonShowCaptionEditorRequested?: (targetType: TargetType, targetId: string, text: string) => void;\r\n\tonCommitCaptionEditingRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;\r\n\r\n\tonShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tonHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;\r\n\tstyles?: {\r\n\t\ttabs?: {\r\n\t\t\theader?: StylesOptions;\r\n\t\t\tmoveArea?: StylesOptions;\r\n\t\t},\r\n\t\tframe?: {\r\n\t\t\telement?: StylesOptions;\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {\r\n\tmoveAreaId: string;\r\n\tcaption: string;\r\n\tvisible: boolean;\r\n\textract: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t},\r\n\tminimize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\trestore: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tmaximize: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tclose: {\r\n\t\ttooltip: string;\r\n\t\tvisible: boolean;\r\n\t};\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n}\r\n\r\nexport interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {\r\n\r\n}\r\n\r\nexport interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {\r\n\r\n}\r\n\r\nexport interface CreateFrameCaptionBarRequestOptions extends CreateButtonsOptions {\r\n\tcaption: string;\r\n\tmoveAreaId: string;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface CreateTabRequestOptions extends CreateElementRequestOptions {\r\n\tcaption: string;\r\n\tselected: boolean;\r\n\tflashing: boolean;\r\n\tpinned: boolean;\r\n\tchannelSelectorVisible: boolean;\r\n\tselectedChannel: string;\r\n\tselectedChannelColor: string;\r\n\tcaptionEditor: {\r\n\t\tshow: boolean;\r\n\t\ttext?: string;\r\n\t};\r\n\tchannelsMode: \"single\" | \"multi\";\r\n\tselectedChannels: { name: string; color: string }[];\r\n\tchannelRestrictions: {\r\n\t\tread: boolean,\r\n\t\twrite: boolean\r\n\t};\r\n\tchannelLabel: string;\r\n}\r\n\r\nexport interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {\r\n\tbuttonId: StandardButtons;\r\n\tbuttonTarget: StandardButtonTarget;\r\n\tvisible: boolean;\r\n\ttooltip: string;\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface UpdateCustomButtonsRequestOptions extends CreateElementRequestOptions {\r\n\tcustomButtons: UpdateCustomButtonOptions[];\r\n}\r\n\r\nexport interface UpdateCustomButtonOptions {\r\n\tbuttonId: string;\r\n\ttooltip: string;\r\n\timageData: string;\r\n}\r\n\r\nexport interface CreateStandardButtonsOptions {\r\n\ttooltip: string;\r\n\tvisible: boolean;\r\n\ttarget: StandardButtonTarget;\r\n\tdownloadsState: {\r\n state: 'not-started' | 'in-progress' | 'paused' | 'finished';\r\n \tprogress: number;\r\n };\r\n}\r\n\r\nexport interface CreateStandardToggleButtonsOptions extends CreateStandardButtonsOptions {\r\n\tisPressed: boolean;\r\n}\r\n\r\nexport interface CreateButtonsOptions extends CreateFrameElementRequestOptions {\r\n\toverflow: CreateStandardButtonsOptions,\r\n\tfeedback: CreateStandardButtonsOptions,\r\n\tclone: CreateStandardButtonsOptions,\r\n\tsticky: CreateStandardToggleButtonsOptions,\r\n\textract: CreateStandardButtonsOptions,\r\n\tlock: CreateStandardButtonsOptions,\r\n\tunlock: CreateStandardButtonsOptions,\r\n downloads: CreateStandardButtonsOptions,\r\n\tminimize: CreateStandardButtonsOptions,\r\n\trestore: CreateStandardButtonsOptions,\r\n\tmaximize: CreateStandardButtonsOptions,\r\n\tclose: CreateStandardButtonsOptions,\r\n\tcustomButtons: UpdateCustomButtonOptions[],\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface RemoveRequestOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface BaseElementOptions {\r\n\ttargetId: string;\r\n}\r\n\r\nexport interface CreateElementRequestOptions extends BaseElementOptions {\r\n\tparentElement: HTMLElement;\r\n\ttargetType: TargetType;\r\n\telementId: string;\r\n}\r\n\r\nexport interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {\r\n\tselectedWindow: string;\r\n}\r\n\r\nexport interface OverflowedTabInfo {\r\n\ttitle: string;\r\n\twindowId: string;\r\n}\r\n\r\nexport interface CreateTabOverflowPopupRequestOptions extends CreateElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport interface CreateFrameLoadingAnimationRequestOptions extends CreateFrameElementRequestOptions {\r\n\tshow: boolean;\r\n}\r\n\r\nexport interface UpdateFrameRequestOptions extends CreateFrameElementRequestOptions {\r\n\thiddenTabsToTheLeft: OverflowedTabInfo[];\r\n\thiddenTabsToTheRight: OverflowedTabInfo[];\r\n}\r\n\r\nexport enum TargetType {\r\n\tGroup = \"group\",\r\n\tFrame = \"frame\",\r\n\tTabBar = \"tabBar\",\r\n\tTab = \"tab\",\r\n\tHtmlButtons = \"html\"\r\n}\r\n\r\nexport enum StandardButtons {\r\n\tOverflow = \"overflow\",\r\n\tFeedback = \"feedback\",\r\n\tClone = \"clone\",\r\n\tSticky = \"sticky\",\r\n\tExtract = \"extract\",\r\n\tLock = \"lock\",\r\n\tUnlock = \"unlock\",\r\n Downloads = \"downloads\",\r\n\tMinimize = \"minimize\",\r\n\tMaximize = \"maximize\",\r\n\tRestore = \"restore\",\r\n\tClose = \"close\",\r\n}\r\n\r\nexport interface ElementCreationWrapperState {\r\n\tgroupCaptionBar?: CreateGroupCaptionBarRequestOptions;\r\n\tgroupOverlay?: CreateElementRequestOptions;\r\n\tframeCaptionBars: { [targetId: string]: CreateFrameCaptionBarRequestOptions };\r\n\tframeWindowOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\twindowContentOverlays: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tframeLoadingAnimations: { [targetId: string]: CreateFrameLoadingAnimationRequestOptions };\r\n\taboveWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbelowWindowZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\taboveTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\tbeforeTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabElements: { [targetId: string]: CreateTabRequestOptions };\r\n\tafterTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\ttabHeaderButtons: { [targetId: string]: CreateButtonsOptions };\r\n\ttabOverflowPopups: { [targetId: string]: CreateTabOverflowPopupRequestOptions };\r\n\tbelowTabsZones: { [targetId: string]: CreateFrameElementRequestOptions };\r\n\thtmlButtons: { [targetId: string]: CreateButtonsOptions };\r\n}\r\n\r\nexport type IndexableElementCreationWrapperState = Omit<Omit<ElementCreationWrapperState, \"groupCaptionBar\">, \"groupOverlay\">;\r\n\r\nexport interface ExternalLibraryFactory {\r\n\treadonly groupId: string;\r\n\tfocusPage(): void;\r\n\tfocusFrame(frameId: string): void;\r\n\tfocusGroup(): void;\r\n\tonStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;\r\n\tonCustomButtonClick(targetType: TargetType, targetId: string, buttonId: string): void;\r\n\tonTabCloseButtonClick(targetId: string): void;\r\n\tonTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;\r\n\tonMoveAreaChanged(targetType: TargetType, targetId: string): void;\r\n\tonCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tshowCaptionEditor(targetType: TargetType, targetId: string, text: string): void;\r\n\tstartDragMove(): void;\r\n\tonCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;\r\n\tonCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;\r\n\tcommitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;\r\n\r\n\tupdateTabHeaderStyles(styles: StylesOptions): void;\r\n\tupdateTabMoveAreaStyles(styles: StylesOptions): void;\r\n\tupdateFrameStyles(styles: StylesOptions): void;\r\n\r\n\tselectTab(windowId: string): void;\r\n\topenTabOverflowPopup(frameId: string, location: Location): void\r\n\tresizeTabOverflowPopup(frameId: string, size: Size): void;\r\n\r\n\taddTabContainerClass(windowId: string, className: string): void;\r\n\tremoveTabContainerClass(windowId: string, className: string): void;\r\n}\r\n\r\nexport interface WebGroupsManager {\r\n\tinit: (factory?: any) => void;\r\n\tnotifyMoveAreaChanged(): void;\r\n\tregisterPopup(element: HTMLElement): string;\r\n\tremovePopup(element: HTMLElement): void;\r\n\tremovePopupById(elementId: string): void;\r\n\tsubscribeForWindowFocused(cb: () => any): () => void;\r\n\tunmount(): void;\r\n\texternalLibraryFactory: ExternalLibraryFactory;\r\n}\r\n\r\nexport interface Size {\r\n\twidth: number;\r\n\theight: number;\r\n}\r\n\r\nexport interface Location {\r\n\tleft: number;\r\n\ttop: number;\r\n}\r\n\r\nexport interface StylesOptions {\r\n\tcss?: Partial<NonMethods<CSSStyleDeclaration>>;\r\n\tclasses?: string[]\r\n}\r\n\r\nexport interface Bounds extends Size, Location {\r\n}\r\n\r\nexport type PopupTargetLocation = \"top\" | \"bottom\" | \"left\" | \"right\" | \"none\";\r\n\r\nexport interface ExternalWindowPopup {\r\n browserWindow?: Window;\r\n ioConnectWindow?: any;\r\n}\r\n\r\nexport interface ShowExternalWindowPopupConfig {\r\n targetBounds: Bounds;\r\n size: Size;\r\n targetLocation: PopupTargetLocation;\r\n}\r\n","\"use strict\";\nfunction createRegistry(options) {\n if (options && options.errorHandling\n && typeof options.errorHandling !== \"function\"\n && options.errorHandling !== \"log\"\n && options.errorHandling !== \"silent\"\n && options.errorHandling !== \"throw\") {\n throw new Error(\"Invalid options passed to createRegistry. Prop errorHandling should be [\\\"log\\\" | \\\"silent\\\" | \\\"throw\\\" | (err) => void], but \" + typeof options.errorHandling + \" was passed\");\n }\n var _userErrorHandler = options && typeof options.errorHandling === \"function\" && options.errorHandling;\n var callbacks = {};\n function add(key, callback, replayArgumentsArr) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n callbacksForKey = [];\n callbacks[key] = callbacksForKey;\n }\n callbacksForKey.push(callback);\n if (replayArgumentsArr) {\n setTimeout(function () {\n replayArgumentsArr.forEach(function (replayArgument) {\n var _a;\n if ((_a = callbacks[key]) === null || _a === void 0 ? void 0 : _a.includes(callback)) {\n try {\n if (Array.isArray(replayArgument)) {\n callback.apply(undefined, replayArgument);\n }\n else {\n callback.apply(undefined, [replayArgument]);\n }\n }\n catch (err) {\n _handleError(err, key);\n }\n }\n });\n }, 0);\n }\n return function () {\n var allForKey = callbacks[key];\n if (!allForKey) {\n return;\n }\n allForKey = allForKey.reduce(function (acc, element, index) {\n if (!(element === callback && acc.length === index)) {\n acc.push(element);\n }\n return acc;\n }, []);\n if (allForKey.length === 0) {\n delete callbacks[key];\n }\n else {\n callbacks[key] = allForKey;\n }\n };\n }\n function execute(key) {\n var argumentsArr = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n argumentsArr[_i - 1] = arguments[_i];\n }\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey || callbacksForKey.length === 0) {\n return [];\n }\n var results = [];\n callbacksForKey.forEach(function (callback) {\n try {\n var result = callback.apply(undefined, argumentsArr);\n results.push(result);\n }\n catch (err) {\n results.push(undefined);\n _handleError(err, key);\n }\n });\n return results;\n }\n function _handleError(exceptionArtifact, key) {\n var errParam = exceptionArtifact instanceof Error ? exceptionArtifact : new Error(exceptionArtifact);\n if (_userErrorHandler) {\n _userErrorHandler(errParam);\n return;\n }\n var msg = \"[ERROR] callback-registry: User callback for key \\\"\" + key + \"\\\" failed: \" + errParam.stack;\n if (options) {\n switch (options.errorHandling) {\n case \"log\":\n return console.error(msg);\n case \"silent\":\n return;\n case \"throw\":\n throw new Error(msg);\n }\n }\n console.error(msg);\n }\n function clear() {\n callbacks = {};\n }\n function clearKey(key) {\n var callbacksForKey = callbacks[key];\n if (!callbacksForKey) {\n return;\n }\n delete callbacks[key];\n }\n return {\n add: add,\n execute: execute,\n clear: clear,\n clearKey: clearKey\n };\n}\n;\ncreateRegistry.default = createRegistry;\nmodule.exports = createRegistry;\n//# sourceMappingURL=index.js.map","import { Bounds, Location, Size, StandardButtons, StylesOptions, TargetType, WebGroupsManager } from \"./types/internal\";\r\nimport callbackRegistry from \"callback-registry\";\r\n\r\ndeclare const window: Window & { webGroupsManager: WebGroupsManager };\r\n\r\nclass WebGroupsManagerDecorator {\r\n private readonly registry = callbackRegistry();\r\n public readonly skipFocusStyle = \"t42-skip-focus\";\r\n\r\n public init(io: any, componentFactory: any) {\r\n if (window.webGroupsManager) {\r\n window.webGroupsManager.init(componentFactory);\r\n } else {\r\n throw new Error(`Could not find the webGroupsManager the groups library should be loaded as a group application`);\r\n }\r\n }\r\n\r\n public getGroupId() {\r\n return window.webGroupsManager.externalLibraryFactory.groupId;\r\n }\r\n\r\n public notifyMoveAreaChanged() {\r\n window.webGroupsManager.notifyMoveAreaChanged();\r\n }\r\n\r\n public registerPopup(element: HTMLElement): string {\r\n return window.webGroupsManager.registerPopup(element);\r\n }\r\n\r\n public removePopup(element: HTMLElement): void {\r\n return window.webGroupsManager.removePopup(element);\r\n }\r\n\r\n public removePopupById(elementId: string): void {\r\n return window.webGroupsManager.removePopupById(elementId);\r\n }\r\n\r\n public subscribeForWindowFocused(cb: () => any): () => void {\r\n return window.webGroupsManager.subscribeForWindowFocused(cb);\r\n }\r\n\r\n public unmount(): void {\r\n return window.webGroupsManager.unmount();\r\n }\r\n\r\n public requestPageFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusPage();\r\n }\r\n\r\n public requestFrameFocus(frameId: string): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusFrame(frameId);\r\n }\r\n\r\n public requestGroupFocus(): void {\r\n return window.webGroupsManager.externalLibraryFactory.focusGroup();\r\n }\r\n\r\n public onCloseButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Close);\r\n }\r\n\r\n public onRestoreButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Restore);\r\n }\r\n\r\n public onMaximizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Maximize);\r\n }\r\n\r\n public onDownloadsButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(\r\n targetType,\r\n targetId,\r\n StandardButtons.Downloads\r\n );\r\n }\r\n\r\n public onMinimizeButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Minimize);\r\n }\r\n\r\n public onLockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Lock);\r\n }\r\n\r\n public onUnlockButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Unlock);\r\n }\r\n\r\n public onOverflowButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Overflow);\r\n }\r\n\r\n public onFeedbackButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Feedback);\r\n }\r\n\r\n public onCloneButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Clone);\r\n }\r\n\r\n public onStickyButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Sticky);\r\n }\r\n\r\n public onExtractButtonClick(targetType: TargetType, targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onStandardButtonClick(targetType, targetId, StandardButtons.Extract);\r\n }\r\n\r\n public closeTab(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabCloseButtonClick(targetId);\r\n }\r\n\r\n public clickCustomButton(targetId: string, buttonId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onCustomButtonClick(TargetType.Frame, targetId, buttonId);\r\n }\r\n\r\n public onGroupMoveAreaChanged(targetId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.onMoveAreaChanged(TargetType.Group, targetId);\r\n }\r\n\r\n public onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onTabChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void {\r\n window.webGroupsManager.externalLibraryFactory.onFrameChannelSelectorClick(targetId, selectorBounds);\r\n }\r\n\r\n public onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionTextBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public startDragMove() {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.startDragMove !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.startDragMove();\r\n }\r\n\r\n public showCaptionEditor(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.showCaptionEditor !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.showCaptionEditor(targetType, targetId, text);\r\n }\r\n\r\n public onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorVisibleChanged(targetType, targetId, visible);\r\n }\r\n\r\n public onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.onCaptionEditorBoundsChanged(targetType, targetId, bounds);\r\n }\r\n\r\n public commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.commitCaptionEditing !== \"function\") {\r\n // Handling the case when a new library is used with an older version of io.Connect Desktop\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.commitCaptionEditing(targetType, targetId, text);\r\n }\r\n\r\n public onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void {\r\n return this.registry.add(`${targetType}-${targetId}`, callback);\r\n }\r\n\r\n public requestCommitCaptionEditing(targetType: TargetType, targetId: string) {\r\n this.registry.execute(`${targetType}-${targetId}`);\r\n }\r\n\r\n public updateTabHeaderStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabHeaderStyles(styles);\r\n }\r\n\r\n public updateTabMoveAreaStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateTabMoveAreaStyles(styles);\r\n }\r\n\r\n public updateFrameStyles(styles: StylesOptions) {\r\n window.webGroupsManager.externalLibraryFactory.updateFrameStyles(styles);\r\n }\r\n public selectTab(windowId: string): void {\r\n window.webGroupsManager.externalLibraryFactory.selectTab(windowId);\r\n }\r\n\r\n public addTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.addTabContainerClass !== \"function\") {\r\n console.warn(\"The method addTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.addTabContainerClass(windowId, className);\r\n }\r\n\r\n public removeTabContainerClass(windowId: string, className: string): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.removeTabContainerClass !== \"function\") {\r\n console.warn(\"The method removeTabContainerClass is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.removeTabContainerClass(windowId, className);\r\n }\r\n\r\n public openTabOverflowPopup(frameId: string, location: Location): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method openTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.openTabOverflowPopup(frameId, location);\r\n }\r\n\r\n public resizeTabOverflowPopup(frameId: string, size: Size): void {\r\n if (typeof window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup !== \"function\") {\r\n console.warn(\"The method resizeTabOverflowPopup is not supported by the current version of the library\");\r\n return;\r\n }\r\n window.webGroupsManager.externalLibraryFactory.resizeTabOverflowPopup(frameId, size);\r\n }\r\n}\r\n\r\nexport default new WebGroupsManagerDecorator();","import React from \"react\";\r\nimport { BaseButtonProps } from \"../../types/defaultComponents\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nconst BaseButton: React.FC<BaseButtonProps> = ({ outerElement, innerElement }) => {\r\n return <li {...outerElement} data-testid=\"outer-element\" className={`${webGroupsManager.skipFocusStyle} ${outerElement.className}`}>\r\n <div {...innerElement}>\r\n </div>\r\n </li>\r\n}\r\n\r\nexport default BaseButton;","import { StandardButtons, StandardButtonTarget } from \"../../types/internal\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\n\r\nexport function getStandardButtonInnerClassName(buttonId: StandardButtons, target?: StandardButtonTarget): string {\r\n let classNames = `t42-standard-button t42-standard-button-${buttonId}`;\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-standard-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getStandardButtonOuterClassName(buttonId: StandardButtons, target?: StandardButtonTarget, isPressed?: boolean): string {\r\n let classNames = `t42-button t42-caption-bar-button t42-tab-bar-button t42-caption-bar-button-${buttonId}`;\r\n if (isPressed === true) {\r\n classNames = classNames.concat(` active`);\r\n }\r\n if (target && target !== StandardButtonTarget.Default) {\r\n classNames = classNames.concat(` t42-caption-bar-button-${target}-${buttonId}`);\r\n }\r\n return classNames;\r\n}\r\n\r\nexport function getDownloadButtonClassName(downloadState?: DownloadsButtonProps['downloadsState']): string {\r\n const defaultClass = 't42-standard-button-downloads';\r\n\r\n if (!downloadState) {\r\n return '';\r\n }\r\n \r\n switch(true) {\r\n case downloadState.state === 'not-started':\r\n return `${defaultClass}-download-not-started`;\r\n case downloadState.state === 'in-progress':\r\n return `${defaultClass}-download-in-progress`;\r\n case downloadState.state === 'paused':\r\n return `${defaultClass}-download-paused`;\r\n default:\r\n return `${defaultClass}-download-ready`;\r\n }\r\n}","import React from \"react\";\r\nimport { StandardButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst StandardButton: React.FC<StandardButtonProps> = ({ buttonId, target, isPressed, tooltip, onClick }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(buttonId, target) }}\r\n outerElement={{ className: getStandardButtonOuterClassName(buttonId, target, isPressed), title: tooltip, onClick }} />\r\n}\r\n\r\nexport default StandardButton;","import React from \"react\";\r\nimport { CloseButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst CloseButton: React.FC<CloseButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Close}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloseButton;","/**\n * A simple guard function:\n *\n * ```js\n * Math.min(Math.max(low, value), high)\n * ```\n */\nfunction guard(low, high, value) {\n return Math.min(Math.max(low, value), high);\n}\n\nclass ColorError extends Error {\n constructor(color) {\n super(`Failed to parse color: \"${color}\"`);\n }\n}\nvar ColorError$1 = ColorError;\n\n/**\n * Parses a color into red, gree, blue, alpha parts\n *\n * @param color the input color. Can be a RGB, RBGA, HSL, HSLA, or named color\n */\nfunction parseToRgba(color) {\n if (typeof color !== 'string') throw new ColorError$1(color);\n if (color.trim().toLowerCase() === 'transparent') return [0, 0, 0, 0];\n let normalizedColor = color.trim();\n normalizedColor = namedColorRegex.test(color) ? nameToHex(color) : color;\n const reducedHexMatch = reducedHexRegex.exec(normalizedColor);\n if (reducedHexMatch) {\n const arr = Array.from(reducedHexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(r(x, 2), 16)), parseInt(r(arr[3] || 'f', 2), 16) / 255];\n }\n const hexMatch = hexRegex.exec(normalizedColor);\n if (hexMatch) {\n const arr = Array.from(hexMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 16)), parseInt(arr[3] || 'ff', 16) / 255];\n }\n const rgbaMatch = rgbaRegex.exec(normalizedColor);\n if (rgbaMatch) {\n const arr = Array.from(rgbaMatch).slice(1);\n return [...arr.slice(0, 3).map(x => parseInt(x, 10)), parseFloat(arr[3] || '1')];\n }\n const hslaMatch = hslaRegex.exec(normalizedColor);\n if (hslaMatch) {\n const [h, s, l, a] = Array.from(hslaMatch).slice(1).map(parseFloat);\n if (guard(0, 100, s) !== s) throw new ColorError$1(color);\n if (guard(0, 100, l) !== l) throw new ColorError$1(color);\n return [...hslToRgb(h, s, l), Number.isNaN(a) ? 1 : a];\n }\n throw new ColorError$1(color);\n}\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n\n /* JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n * integers. Since we want the results to be always positive, convert the\n * signed int to an unsigned by doing an unsigned bitshift. */\n return (hash >>> 0) % 2341;\n}\nconst colorToInt = x => parseInt(x.replace(/_/g, ''), 36);\nconst compressedColorMap = '1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm'.split(' ').reduce((acc, next) => {\n const key = colorToInt(next.substring(0, 3));\n const hex = colorToInt(next.substring(3)).toString(16);\n\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n let prefix = '';\n for (let i = 0; i < 6 - hex.length; i++) {\n prefix += '0';\n }\n acc[key] = `${prefix}${hex}`;\n return acc;\n}, {});\n\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n */\nfunction nameToHex(color) {\n const normalizedColorName = color.toLowerCase().trim();\n const result = compressedColorMap[hash(normalizedColorName)];\n if (!result) throw new ColorError$1(color);\n return `#${result}`;\n}\nconst r = (str, amount) => Array.from(Array(amount)).map(() => str).join('');\nconst reducedHexRegex = new RegExp(`^#${r('([a-f0-9])', 3)}([a-f0-9])?$`, 'i');\nconst hexRegex = new RegExp(`^#${r('([a-f0-9]{2})', 3)}([a-f0-9]{2})?$`, 'i');\nconst rgbaRegex = new RegExp(`^rgba?\\\\(\\\\s*(\\\\d+)\\\\s*${r(',\\\\s*(\\\\d+)\\\\s*', 2)}(?:,\\\\s*([\\\\d.]+))?\\\\s*\\\\)$`, 'i');\nconst hslaRegex = /^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%\\s*,\\s*([\\d.]+)%(?:\\s*,\\s*([\\d.]+))?\\s*\\)$/i;\nconst namedColorRegex = /^[a-z]+$/i;\nconst roundColor = color => {\n return Math.round(color * 255);\n};\nconst hslToRgb = (hue, saturation, lightness) => {\n let l = lightness / 100;\n if (saturation === 0) {\n // achromatic\n return [l, l, l].map(roundColor);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (hue % 360 + 360) % 360 / 60;\n const chroma = (1 - Math.abs(2 * l - 1)) * (saturation / 100);\n const secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n let red = 0;\n let green = 0;\n let blue = 0;\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n const lightnessModification = l - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return [finalRed, finalGreen, finalBlue].map(roundColor);\n};\n\n// taken from:\n// https://github.com/styled-components/polished/blob/a23a6a2bb26802b3d922d9c3b67bac3f3a54a310/src/internalHelpers/_rgbToHsl.js\n\n/**\n * Parses a color in hue, saturation, lightness, and the alpha channel.\n *\n * Hue is a number between 0 and 360, saturation, lightness, and alpha are\n * decimal percentages between 0 and 1\n */\nfunction parseToHsla(color) {\n const [red, green, blue, alpha] = parseToRgba(color).map((value, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? value : value / 255);\n const max = Math.max(red, green, blue);\n const min = Math.min(red, green, blue);\n const lightness = (max + min) / 2;\n\n // achromatic\n if (max === min) return [0, 0, lightness, alpha];\n const delta = max - min;\n const saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n const hue = 60 * (red === max ? (green - blue) / delta + (green < blue ? 6 : 0) : green === max ? (blue - red) / delta + 2 : (red - green) / delta + 4);\n return [hue, saturation, lightness, alpha];\n}\n\n/**\n * Takes in hsla parts and constructs an hsla string\n *\n * @param hue The color circle (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue\n * @param saturation Percentage of saturation, given as a decimal between 0 and 1\n * @param lightness Percentage of lightness, given as a decimal between 0 and 1\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction hsla(hue, saturation, lightness, alpha) {\n return `hsla(${(hue % 360).toFixed()}, ${guard(0, 100, saturation * 100).toFixed()}%, ${guard(0, 100, lightness * 100).toFixed()}%, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Adjusts the current hue of the color by the given degrees. Wraps around when\n * over 360.\n *\n * @param color input color\n * @param degrees degrees to adjust the input color, accepts degree integers\n * (0 - 360) and wraps around on overflow\n */\nfunction adjustHue(color, degrees) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h + degrees, s, l, a);\n}\n\n/**\n * Darkens using lightness. This is equivalent to subtracting the lightness\n * from the L in HSL.\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction darken(color, amount) {\n const [hue, saturation, lightness, alpha] = parseToHsla(color);\n return hsla(hue, saturation, lightness - amount, alpha);\n}\n\n/**\n * Desaturates the input color by the given amount via subtracting from the `s`\n * in `hsla`.\n *\n * @param amount The amount to desaturate, given as a decimal between 0 and 1\n */\nfunction desaturate(color, amount) {\n const [h, s, l, a] = parseToHsla(color);\n return hsla(h, s - amount, l, a);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getLuminance.js\n\n/**\n * Returns a number (float) representing the luminance of a color.\n */\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n function f(x) {\n const channel = x / 255;\n return channel <= 0.04045 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }\n const [r, g, b] = parseToRgba(color);\n return 0.2126 * f(r) + 0.7152 * f(g) + 0.0722 * f(b);\n}\n\n// taken from:\n// https://github.com/styled-components/polished/blob/0764c982551b487469043acb56281b0358b3107b/src/color/getContrast.js\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n */\nfunction getContrast(color1, color2) {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05);\n}\n\n/**\n * Takes in rgba parts and returns an rgba string\n *\n * @param red The amount of red in the red channel, given in a number between 0 and 255 inclusive\n * @param green The amount of green in the red channel, given in a number between 0 and 255 inclusive\n * @param blue The amount of blue in the red channel, given in a number between 0 and 255 inclusive\n * @param alpha Percentage of opacity, given as a decimal between 0 and 1\n */\nfunction rgba(red, green, blue, alpha) {\n return `rgba(${guard(0, 255, red).toFixed()}, ${guard(0, 255, green).toFixed()}, ${guard(0, 255, blue).toFixed()}, ${parseFloat(guard(0, 1, alpha).toFixed(3))})`;\n}\n\n/**\n * Mixes two colors together. Taken from sass's implementation.\n */\nfunction mix(color1, color2, weight) {\n const normalize = (n, index) =>\n // 3rd index is alpha channel which is already normalized\n index === 3 ? n : n / 255;\n const [r1, g1, b1, a1] = parseToRgba(color1).map(normalize);\n const [r2, g2, b2, a2] = parseToRgba(color2).map(normalize);\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = a2 - a1;\n const normalizedWeight = weight * 2 - 1;\n const combinedWeight = normalizedWeight * alphaDelta === -1 ? normalizedWeight : normalizedWeight + alphaDelta / (1 + normalizedWeight * alphaDelta);\n const weight2 = (combinedWeight + 1) / 2;\n const weight1 = 1 - weight2;\n const r = (r1 * weight1 + r2 * weight2) * 255;\n const g = (g1 * weight1 + g2 * weight2) * 255;\n const b = (b1 * weight1 + b2 * weight2) * 255;\n const a = a2 * weight + a1 * (1 - weight);\n return rgba(r, g, b, a);\n}\n\n/**\n * Given a series colors, this function will return a `scale(x)` function that\n * accepts a percentage as a decimal between 0 and 1 and returns the color at\n * that percentage in the scale.\n *\n * ```js\n * const scale = getScale('red', 'yellow', 'green');\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(0.5)); // rgba(255, 255, 0, 1)\n * console.log(scale(1)); // rgba(0, 128, 0, 1)\n * ```\n *\n * If you'd like to limit the domain and range like chroma-js, we recommend\n * wrapping scale again.\n *\n * ```js\n * const _scale = getScale('red', 'yellow', 'green');\n * const scale = x => _scale(x / 100);\n *\n * console.log(scale(0)); // rgba(255, 0, 0, 1)\n * console.log(scale(50)); // rgba(255, 255, 0, 1)\n * console.log(scale(100)); // rgba(0, 128, 0, 1)\n * ```\n */\nfunction getScale(...colors) {\n return n => {\n const lastIndex = colors.length - 1;\n const lowIndex = guard(0, lastIndex, Math.floor(n * lastIndex));\n const highIndex = guard(0, lastIndex, Math.ceil(n * lastIndex));\n const color1 = colors[lowIndex];\n const color2 = colors[highIndex];\n const unit = 1 / lastIndex;\n const weight = (n - unit * lowIndex) / unit;\n return mix(color1, color2, weight);\n };\n}\n\nconst guidelines = {\n decorative: 1.5,\n readable: 3,\n aa: 4.5,\n aaa: 7\n};\n\n/**\n * Returns whether or not a color has bad contrast against a background\n * according to a given standard.\n */\nfunction hasBadContrast(color, standard = 'aa', background = '#fff') {\n return getContrast(color, background) < guidelines[standard];\n}\n\n/**\n * Lightens a color by a given amount. This is equivalent to\n * `darken(color, -amount)`\n *\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction lighten(color, amount) {\n return darken(color, -amount);\n}\n\n/**\n * Takes in a color and makes it more transparent by convert to `rgba` and\n * decreasing the amount in the alpha channel.\n *\n * @param amount The amount to increase the transparency by, given as a decimal between 0 and 1\n */\nfunction transparentize(color, amount) {\n const [r, g, b, a] = parseToRgba(color);\n return rgba(r, g, b, a - amount);\n}\n\n/**\n * Takes a color and un-transparentizes it. Equivalent to\n * `transparentize(color, -amount)`\n *\n * @param amount The amount to increase the opacity by, given as a decimal between 0 and 1\n */\nfunction opacify(color, amount) {\n return transparentize(color, -amount);\n}\n\n/**\n * An alternative function to `readableColor`. Returns whether or not the \n * readable color (i.e. the color to be place on top the input color) should be\n * black.\n */\nfunction readableColorIsBlack(color) {\n return getLuminance(color) > 0.179;\n}\n\n/**\n * Returns black or white for best contrast depending on the luminosity of the\n * given color.\n */\nfunction readableColor(color) {\n return readableColorIsBlack(color) ? '#000' : '#fff';\n}\n\n/**\n * Saturates a color by converting it to `hsl` and increasing the saturation\n * amount. Equivalent to `desaturate(color, -amount)`\n * \n * @param color Input color\n * @param amount The amount to darken, given as a decimal between 0 and 1\n */\nfunction saturate(color, amount) {\n return desaturate(color, -amount);\n}\n\n/**\n * Takes in any color and returns it as a hex code.\n */\nfunction toHex(color) {\n const [r, g, b, a] = parseToRgba(color);\n let hex = x => {\n const h = guard(0, 255, x).toString(16);\n // NOTE: padStart could be used here but it breaks Node 6 compat\n // https://github.com/ricokahler/color2k/issues/351\n return h.length === 1 ? `0${h}` : h;\n };\n return `#${hex(r)}${hex(g)}${hex(b)}${a < 1 ? hex(Math.round(a * 255)) : ''}`;\n}\n\n/**\n * Takes in any color and returns it as an rgba string.\n */\nfunction toRgba(color) {\n return rgba(...parseToRgba(color));\n}\n\n/**\n * Takes in any color and returns it as an hsla string.\n */\nfunction toHsla(color) {\n return hsla(...parseToHsla(color));\n}\n\nexport { ColorError$1 as ColorError, adjustHue, darken, desaturate, getContrast, getLuminance, getScale, guard, hasBadContrast, hsla, lighten, mix, opacify, parseToHsla, parseToRgba, readableColor, readableColorIsBlack, rgba, saturate, toHex, toHsla, toRgba, transparentize };\n//# sourceMappingURL=index.exports.import.es.mjs.map\n","import { parseToRgba, readableColorIsBlack } from \"color2k\";\r\n\r\nexport function IsBlackReadable(color: string) {\r\n try {\r\n const rgba = parseToRgba(color);\r\n const r = rgba[0];\r\n const g = rgba[1];\r\n const b = rgba[2];\r\n const backgroundWeight = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;\r\n return backgroundWeight > 0.5;\r\n } catch {\r\n // Fallback to other implementation\r\n }\r\n\r\n try {\r\n return readableColorIsBlack(color);\r\n } catch (error) {\r\n // tslint:disable-next-line: no-console\r\n console.error(`Error while checking readable color for '${color}'`, error);\r\n }\r\n return false;\r\n}\r\n\r\nexport function getChannelDirection(channelRestrictions: { read: boolean, write: boolean }): string {\r\n if (!channelRestrictions) {\r\n return \"\";\r\n }\r\n if (typeof channelRestrictions.read === \"boolean\" && typeof channelRestrictions.write === \"boolean\") {\r\n if (channelRestrictions.read && channelRestrictions.write) {\r\n return \"\";\r\n }\r\n if (channelRestrictions.read) {\r\n return \"subscribe\";\r\n }\r\n if (channelRestrictions.write) {\r\n return \"publish\"\r\n }\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n};","import React, { useEffect, useRef } from \"react\";\r\nimport { BaseChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport { IsBlackReadable } from \"./utils\";\r\n\r\nconst BaseChannelSelector: React.FC<BaseChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannel, selectedChannelColor, direction, channelLabel }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n current?.addEventListener(\"mousedown\", handler);\r\n return ()=> {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref]);\r\n\r\n let className = contentClass;\r\n\r\n if (selectedChannel && selectedChannelColor) {\r\n className = `${contentClass} ${IsBlackReadable(selectedChannelColor) ? \"t42-channel-selector-content-dark\" : \"t42-channel-selector-content-light\"}`;\r\n }\r\n\r\n const style = {\r\n background: selectedChannelColor\r\n };\r\n\r\n return <div title={selectedChannel ?? \"\"} ref={ref}\r\n style={style}\r\n onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`} >\r\n {channelLabel ?\r\n <div className={`${className} ${direction ? \"icon\" : \"\"}`}>\r\n {channelLabel}\r\n {direction && <i className={`icon-${direction}`}></i>}\r\n </div> : <div className={className}>\r\n </div>}\r\n </div >\r\n};\r\n\r\nexport default BaseChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst FlatChannelSelector: React.FC<FlatChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatChannelSelector;","import React from \"react\";\r\nimport { ExtractButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst ExtractButton: React.FC<ExtractButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Extract}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default ExtractButton;","import React from \"react\";\r\nimport { FeedbackButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst FeedbackButton: React.FC<FeedbackButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Feedback}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default FeedbackButton;","import React from \"react\";\r\nimport { CloneButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n \r\nconst CloneButton: React.FC<CloneButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Clone}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default CloneButton;","import React from \"react\";\nimport { StickyButtonProps } from \"../../types/defaultComponents\";\nimport { StandardButtons } from \"../../types/internal\";\nimport StandardButton from \"./StandardButton\";\n\nconst StickyButton: React.FC<StickyButtonProps> = (props) => {\n return <StandardButton\n buttonId={StandardButtons.Sticky}\n {...props}\n />\n}\n\nexport default StickyButton;","import React from \"react\";\r\nimport { LockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst LockButton: React.FC<LockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Lock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default LockButton;","import React from \"react\";\r\nimport { MaximizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MaximizeButton: React.FC<MaximizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Maximize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MaximizeButton;","import React from \"react\";\r\nimport { MinimizeButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst MinimizeButton: React.FC<MinimizeButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Minimize}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default MinimizeButton;","import React from \"react\";\r\nimport { RestoreButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst RestoreButton: React.FC<RestoreButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Restore}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default RestoreButton;","import React from \"react\";\r\nimport { UnlockButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport StandardButton from \"./StandardButton\";\r\n\r\nconst UnlockButton: React.FC<UnlockButtonProps> = (props) => {\r\n return <StandardButton\r\n buttonId={StandardButtons.Unlock}\r\n {...props}\r\n />\r\n}\r\n\r\nexport default UnlockButton;","import React from \"react\";\nimport BaseButton from \"./BaseButton\";\nimport { CustomButtonProps } from \"../../types/defaultComponents\";\n\nconst CustomButton: React.FC<CustomButtonProps> = ({ onClick, tooltip, imageData }) => {\n return <BaseButton\n innerElement={{ className: \"t42-custom-button\", style: {backgroundImage: `url(\"${imageData}\")`} }}\n outerElement={{ className: \"t42-button t42-caption-bar-button t42-tab-bar-button\", title: tooltip, onClick }} />\n}\n\nexport default CustomButton;","import React from \"react\";\r\nimport { DownloadsButtonProps } from \"../../types/defaultComponents\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getDownloadButtonClassName, getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\n\r\nconst defaultDonwloadState = { progress: -1, state: \"not-started\" } as NonNullable<DownloadsButtonProps['downloadsState']>;\r\n\r\nconst DownloadsButton: React.FC<DownloadsButtonProps> = (props) => {\r\n const { downloadsState = defaultDonwloadState } = props;\r\n\r\n const innerElementClassNames = [\r\n getStandardButtonInnerClassName(StandardButtons.Downloads, props.target),\r\n getDownloadButtonClassName(downloadsState)\r\n ].filter(Boolean).join(' ');\r\n\r\n const innerElementStyles = downloadsState.progress >= 0 ? ({ '--progress': downloadsState.progress } as React.CSSProperties) : undefined;\r\n\r\n return (\r\n <BaseButton\r\n innerElement={{\r\n className: innerElementClassNames,\r\n style: innerElementStyles\r\n }}\r\n outerElement={{\r\n className: getStandardButtonOuterClassName(StandardButtons.Downloads, props.target, props.isPressed),\r\n title: props.tooltip,\r\n onClick: props.onClick\r\n }}\r\n />\r\n )\r\n};\r\n\r\nexport default DownloadsButton;\r\n","import React from \"react\";\r\nimport { FlatButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport DownloadsButton from \"../buttons/DownloadsButton\";\r\n\r\nconst FlatButtons: React.FC<FlatButtonsProps> = ({ extract, downloads, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-frame-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-frame-caption-bar-element\">\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {downloads?.visible && <DownloadsButton {...downloads} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default FlatButtons;","import { Bounds } from \"./types/internal\";\r\n\r\nexport const waitForWindow = (io: any, windowId: string): Promise<any> => {\r\n return new Promise((res, rej) => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n res(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n res(windowInCollection);\r\n unsub();\r\n }\r\n });\r\n}\r\n\r\nexport const getElementBounds = (element: HTMLElement): Bounds => {\r\n const bounds = element.getBoundingClientRect();\r\n\r\n return {\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height\r\n }\r\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import React, { useLayoutEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseEditableCaptionOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useEditableCaption(ref: React.RefObject<HTMLElement>, options: UseEditableCaptionOptions): void {\r\n useLayoutEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current && typeof options.notifyBoundsChanged === \"function\") {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useEditableCaption;\r\n\r\n","import { useEffect, useRef } from \"react\";\nimport webGroupsManager from \"../../webGroupsManager\";\n\nexport interface DragMoveOptions {\n threshold?: number; // Minimum movement in pixels to start drag\n}\n\nexport function useDragMove(option?: DragMoveOptions) {\n const { threshold = 3 } = option || {};\n const initialPos = useRef<{ x: number; y: number } | null>(null);\n\n const onMoveRef = useRef<(ev: MouseEvent) => void>();\n const onUpRef = useRef<(ev: MouseEvent) => void>();\n\n const cleanup = () => {\n document.removeEventListener(\"mousemove\", onMoveRef.current!, true);\n document.removeEventListener(\"mouseup\", onUpRef.current!, true);\n initialPos.current = null;\n document.body.style.pointerEvents = \"auto\";\n };\n\n if (!onMoveRef.current) {\n onMoveRef.current = (ev: MouseEvent) => {\n if (!initialPos.current) return;\n\n const dx = ev.pageX - initialPos.current.x;\n const dy = ev.pageY - initialPos.current.y;\n if (Math.abs(dx) >= threshold || Math.abs(dy) >= threshold) {\n document.body.style.pointerEvents = \"none\";\n cleanup();\n webGroupsManager.startDragMove();\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n if (!onUpRef.current) {\n onUpRef.current = (ev: MouseEvent) => {\n cleanup();\n ev.stopPropagation();\n ev.preventDefault();\n };\n }\n\n const startDrag = (ev: React.MouseEvent) => {\n if (ev.button !== 0) return;\n initialPos.current = { x: ev.pageX, y: ev.pageY };\n\n document.addEventListener(\"mousemove\", onMoveRef.current!, true);\n document.addEventListener(\"mouseup\", onUpRef.current!, true);\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n useEffect(() => {\n return () => {\n if (onMoveRef.current) document.removeEventListener(\"mousemove\", onMoveRef.current, true);\n if (onUpRef.current) document.removeEventListener(\"mouseup\", onUpRef.current, true);\n document.body.style.pointerEvents = \"auto\";\n initialPos.current = null;\n };\n }, []);\n\n return { startDrag };\n}","import React, { useRef, MouseEvent } from \"react\";\r\nimport { FlatCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst FlatCaption: React.FC<FlatCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"t42-caption t42-title t42-frame-caption-bar-element\"\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n >\r\n {caption}\r\n </div >\r\n );\r\n};\r\n\r\nexport default FlatCaption;","import React, { useEffect } from \"react\";\r\nimport { getElementBounds } from \"../../utils\";\r\nimport ResizeObserver from 'resize-observer-polyfill';\r\nimport { UseCaptionEditorOptions } from \"../../types/defaultComponents\";\r\n\r\nfunction useCaptionEditor(ref: React.RefObject<HTMLElement>, options: UseCaptionEditorOptions): void {\r\n useEffect(() => {\r\n if (!ref?.current) {\r\n return;\r\n }\r\n options.notifyEditorVisibilityChanged(true);\r\n const observer = new ResizeObserver(() => {\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n });\r\n\r\n observer.observe(ref.current);\r\n\r\n if (ref.current) {\r\n options.notifyBoundsChanged(getElementBounds(ref.current));\r\n }\r\n\r\n return () => {\r\n options.notifyEditorVisibilityChanged(false);\r\n observer.disconnect();\r\n }\r\n }, [ref]);\r\n}\r\n\r\nexport default useCaptionEditor;","import React, { useEffect } from \"react\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport webGroupsManager from \"../../webGroupsManager\";\r\n\r\nfunction useCommitEditingRequested(targetType: TargetType, targetId: string, text: string): void {\r\n useEffect(() => {\r\n const unsub = webGroupsManager.onCommitCaptionEditingRequested(targetType, targetId, () => {\r\n webGroupsManager.commitCaptionEditing(targetType, targetId, text);\r\n });\r\n return () => {\r\n unsub();\r\n }\r\n }, [targetType, targetId, text]);\r\n}\r\n\r\nexport default useCommitEditingRequested;\r\n\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { CaptionEditorProps, } from \"../../types/defaultComponents\";\r\nimport useCaptionEditor from \"./useCaptionEditor\";\r\nimport useCommitEditingRequested from \"./useCommitEditingRequested\";\r\n\r\nconst CaptionEditor: React.FC<CaptionEditorProps> = ({ className,\r\n commitChanges,\r\n hideEditor,\r\n notifyBoundsChanged,\r\n caption,\r\n notifyEditorVisibilityChanged,\r\n targetType,\r\n targetId }) => {\r\n const [captionInEditor, setCaptionInEditor] = useState(caption);\r\n const [inputWidth, setInputWidth] = useState(0);\r\n const ref = useRef<HTMLInputElement>(null);\r\n const measurementRef = useRef<HTMLSpanElement>(null);\r\n\r\n const onBlur = () => {\r\n commitChanges(captionInEditor);\r\n }\r\n\r\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setCaptionInEditor(e.target.value);\r\n }\r\n\r\n const onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === \"Escape\") {\r\n hideEditor();\r\n } else if (e.key === \"Enter\") {\r\n commitChanges(captionInEditor);\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n useCaptionEditor(ref, { notifyBoundsChanged, notifyEditorVisibilityChanged });\r\n useCommitEditingRequested(targetType, targetId, captionInEditor);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n const onMouseDown = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n const element = ref.current;\r\n element.addEventListener(\"mousedown\", onMouseDown);\r\n\r\n if (ref.current) {\r\n // Focus element on the next tick to have properly focused page\r\n setTimeout(() => {\r\n element?.focus();\r\n element?.select();\r\n }, 0);\r\n }\r\n\r\n return () => {\r\n element?.removeEventListener(\"mousedown\", onMouseDown);\r\n }\r\n }, [ref]);\r\n\r\n useEffect(() => {\r\n if (!measurementRef.current) {\r\n return;\r\n }\r\n\r\n setInputWidth(measurementRef.current.scrollWidth);\r\n }, [measurementRef, captionInEditor]);\r\n\r\n return <>\r\n <input ref={ref}\r\n style={{\r\n width: `${inputWidth}px`\r\n }}\r\n onKeyDown={onKeyDown}\r\n onKeyUp={onKeyUp}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n value={captionInEditor} className={className} />\r\n <span ref={measurementRef} style={{ visibility: \"hidden\", position: \"absolute\", top: -30000, left: -30000 }}>{captionInEditor}</span>\r\n </>;\r\n}\r\n\r\nexport default CaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst FlatCaptionEditor: React.FC<FlatCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.frameId} targetType={TargetType.Frame} className={\"t42-caption-editor t42-frame-caption-bar-element\"} />\r\n}\r\n\r\nexport default FlatCaptionEditor;\r\n","import React from \"react\";\r\nimport { FlatMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst FlatMoveArea: React.FC<FlatMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-frame-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\n\r\nexport default FlatMoveArea;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { BaseMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"../BaseChannelSelector\";\r\nimport { getChannelDirection } from \"../utils\";\r\n\r\nconst BaseMultiChannelSelector: React.FC<BaseMultiChannelSelectorProps> = ({ outsideClass, contentClass, showSelector, selectedChannels, channelLabel, channelRestrictions }) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const len = selectedChannels.length;\r\n const showBaseChannelSelector = len < 2;\r\n const wrappedOnClick = () => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const bounds = ref.current.getBoundingClientRect();\r\n showSelector({\r\n left: bounds.left,\r\n top: bounds.top,\r\n width: bounds.width,\r\n height: bounds.height,\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (showBaseChannelSelector) {\r\n return;\r\n }\r\n\r\n const handler = (e: MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n const current = ref.current;\r\n ref.current?.addEventListener(\"mousedown\", handler);\r\n return () => {\r\n current?.removeEventListener(\"mousedown\", handler);\r\n }\r\n }, [ref, showBaseChannelSelector]);\r\n\r\n if (showBaseChannelSelector) {\r\n return <BaseChannelSelector\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannels[0]?.name}\r\n selectedChannelColor={selectedChannels[0]?.color}\r\n outsideClass={outsideClass}\r\n contentClass={contentClass}\r\n channelLabel={channelLabel}\r\n direction={getChannelDirection(channelRestrictions)} />;\r\n }\r\n\r\n const colors = selectedChannels.map((channel) => channel.color) ?? [];\r\n const title = colors.join(\", \");\r\n const lenMax4 = Math.min(len, 4);\r\n const cssClass = `t42-multi-channel-selector-content t42-multi-channel-selector-${lenMax4}`;\r\n let style: any = {};\r\n colors.forEach((color: string, index: number) => {\r\n const colorVarName = `--t42-multi-channel-selector-${lenMax4}-color-${index + 1}`;\r\n style[colorVarName] = color;\r\n });\r\n\r\n return (\r\n <div id=\"basem\" title={title} ref={ref} onClick={wrappedOnClick} className={`t42-buttons ${outsideClass}`}>\r\n <div className={cssClass} style={style} >\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default BaseMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst FlatMultiChannelSelector: React.FC<FlatMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-frame-caption-bar-element t42-frame-channel-selector t42-channel-selector-direction\" : \"t42-frame-caption-bar-element t42-frame-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-frame-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default FlatMultiChannelSelector;\r\n","import React from \"react\";\r\nimport { FlatCaptionBarProps } from \"../../types/api\";\r\nimport FlatChannelSelector from \"../channelSelector/FlatChannelSelector\";\r\nimport FlatButtons from \"./FlatButtons\";\r\nimport FlatCaption from \"./FlatCaption\";\r\nimport FlatCaptionEditor from \"./FlatCaptionEditor\";\r\nimport FlatMoveArea from \"./FlatMoveArea\";\r\nimport FlatMultiChannelSelector from \"../channelSelector/multi/FlatMultiChannelSelector\";\r\n\r\nconst FlatCaptionBar: React.FC<FlatCaptionBarProps> = ({ moveAreaId, caption, showCaptionEditor, channels, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return (\r\n <div className=\"t42-react-caption-bar\">\r\n {channels?.visible && channels.channelsMode !== \"multi\" && <FlatChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannel={channels?.selectedChannel}\r\n selectedChannelColor={channels?.selectedChannelColor}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n {channels?.visible && channels.channelsMode === \"multi\" && <FlatMultiChannelSelector\r\n showSelector={channels?.showSelector}\r\n selectedChannels={channels?.selectedChannels}\r\n channelRestrictions={channels?.channelRestrictions}\r\n channelLabel={channels?.channelLabel} />}\r\n <FlatMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor.show ? <FlatCaptionEditor {...captionEditor} caption={captionEditor.text!} frameId={rest.frameId} /> : <FlatCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </FlatMoveArea>\r\n <FlatButtons {...rest} />\r\n </div>);\r\n};\r\n\r\nexport default FlatCaptionBar;\r\n","import React from \"react\";\r\nimport { GroupMoveAreaProps } from \"../../types/defaultComponents\";\r\n\r\nconst GroupMoveArea: React.FC<GroupMoveAreaProps> = ({ children, moveAreaId }) => {\r\n return <div id={moveAreaId} className=\"t42-move-area t42-group-caption-bar-element\">\r\n {children}\r\n </div>\r\n}\r\n\r\nexport default GroupMoveArea;","import React from \"react\";\r\nimport { GroupButtonsProps } from \"../../types/defaultComponents\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\n\r\nconst GroupButtons: React.FC<GroupButtonsProps> = ({ minimize, restore, maximize, close }) => {\r\n return <div className=\"t42-buttons-container t42-group-caption-bar-element\">\r\n <ul className=\"t42-buttons t42-group-caption-bar-element\">\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n}\r\n\r\nexport default GroupButtons;","import React, { MouseEvent, useRef } from \"react\";\r\nimport { GroupCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\nimport { useDragMove } from \"../utils/useDragMove\";\r\n\r\nconst GroupCaption: React.FC<GroupCaptionProps> = ({\r\n showCaptionEditor,\r\n caption,\r\n notifyBoundsChanged,\r\n}) => {\r\n const ref = useRef<HTMLDivElement>(null);\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n const { startDrag } = useDragMove();\r\n\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n if (e.button !== 0) return;\r\n startDrag(e);\r\n };\r\n\r\n const handleDoubleClick = (e: MouseEvent) => {\r\n showCaptionEditor(caption);\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n onMouseDown={handleMouseDown}\r\n onDoubleClick={handleDoubleClick}\r\n className=\"t42-caption t42-title t42-group-caption-bar-element\"\r\n >\r\n {caption}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GroupCaption;\r\n","import React from \"react\";\r\nimport { GroupCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst GroupCaptionEditor: React.FC<GroupCaptionEditorProps> = (props) => {\r\n return <CaptionEditor {...props} targetId={props.groupId} targetType={TargetType.Group} className=\"t42-caption-editor t42-group-caption-bar-element\" />\r\n}\r\n\r\nexport default GroupCaptionEditor;\r\n","import React from \"react\";\r\nimport { GroupCaptionBarProps } from \"../../types/api\";\r\nimport GroupMoveArea from \"./GroupMoveArea\";\r\nimport GroupButtons from \"./GroupButtons\";\r\nimport GroupCaption from \"./GroupCaption\";\r\nimport GroupCaptionEditor from \"./GroupCaptionEditor\";\r\n\r\nconst GroupCaptionBar: React.FC<GroupCaptionBarProps> = ({ moveAreaId, showCaptionEditor, targetType, targetId, caption, captionEditor, notifyCaptionBoundsChanged, ...rest }) => {\r\n return <div className=\"t42-react-caption-bar\">\r\n <GroupMoveArea moveAreaId={moveAreaId}>\r\n {captionEditor?.show ?\r\n <GroupCaptionEditor {...captionEditor} groupId={targetId} caption={captionEditor.text!} /> :\r\n <GroupCaption showCaptionEditor={showCaptionEditor} notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} />}\r\n </GroupMoveArea>\r\n <GroupButtons {...rest} />\r\n </div>\r\n}\r\n\r\nexport default GroupCaptionBar;","import React from \"react\";\r\nimport { TabChannelSelectorProps } from \"../../types/defaultComponents\";\r\nimport BaseChannelSelector from \"./BaseChannelSelector\";\r\nimport { getChannelDirection } from \"./utils\";\r\n\r\nconst TabChannelSelector: React.FC<TabChannelSelectorProps> = ({ showSelector, selectedChannel, selectedChannelColor, channelRestrictions, channelLabel }) => {\r\n return <BaseChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannel={selectedChannel}\r\n selectedChannelColor={selectedChannelColor}\r\n direction={getChannelDirection(channelRestrictions)}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabChannelSelector;","import React from \"react\";\r\nimport { TabMultiChannelSelectorProps } from \"../../../types/defaultComponents\";\r\nimport BaseMultiChannelSelector from \"./BaseMultiChannelSelector\";\r\n\r\nconst TabMultiChannelSelector: React.FC<TabMultiChannelSelectorProps> = ({ showSelector, selectedChannels, channelRestrictions, channelLabel }) => {\r\n return <BaseMultiChannelSelector outsideClass={channelLabel ? \"t42-tab-bar-element t42-tab-channel-selector t42-channel-selector-direction\" : \"t42-tab-bar-element t42-tab-channel-selector\"}\r\n contentClass={!channelLabel ? \"t42-tab-channel-selector-content\" : \"\"}\r\n showSelector={showSelector}\r\n selectedChannels={selectedChannels}\r\n channelRestrictions={channelRestrictions}\r\n channelLabel={channelLabel}\r\n />\r\n};\r\n\r\nexport default TabMultiChannelSelector;\r\n","import React, { useRef } from \"react\";\r\nimport { TabCaptionProps } from \"../../types/defaultComponents\";\r\nimport useEditableCaption from \"../captionEditor/useEditableCaption\";\r\n\r\nconst TabCaption: React.FC<TabCaptionProps> = ({ caption, selected, notifyBoundsChanged }) => {\r\n const normalClassName = \"t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption t42-tab-caption t42-selected-tab-caption\";\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEditableCaption(ref, { notifyBoundsChanged });\r\n\r\n return <div ref={ref} className={selected ? selectedClassName : normalClassName}>{caption}</div>\r\n}\r\n\r\nexport default TabCaption;","import React from \"react\";\r\nimport { TabCaptionEditorProps } from \"../../types/defaultComponents\";\r\nimport { TargetType } from \"../../types/internal\";\r\nimport CaptionEditor from \"../captionEditor/CaptionEditor\";\r\n\r\nconst TabCaptionEditor: React.FC<TabCaptionEditorProps> = (props) => {\r\n const normalClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption\";\r\n const selectedClassName = \"t42-caption-editor t42-tab-caption-editor t42-caption t42-tab-caption t42-selected-tab-caption t42-selected-tab-element\";\r\n\r\n return <CaptionEditor {...props}\r\n targetType={TargetType.Tab}\r\n targetId={props.windowId}\r\n className={props.selected ? selectedClassName : normalClassName} />\r\n}\r\n\r\nexport default TabCaptionEditor;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport { TabCloseButtonProps } from \"../../types/defaultComponents\";\r\n\r\nconst TabCloseButton: React.FC<TabCloseButtonProps> = ({ selected, close }) => {\r\n const normalClassName = \"t42-tab-close-button t42-tab-bar-element\";\r\n const selectedClassName = \"t42-tab-close-button t42-tab-bar-element t42-selected-tab-close-button t42-selected-tab-element\";\r\n\r\n const normalContentClassName = \"t42-tab-close-button-content\";\r\n const selectedContentClassName = \"t42-tab-close-button-content t42-selected-tab-close-button-content\";\r\n\r\n const ref = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n ref.current?.addEventListener(\"mousedown\", (e) => {\r\n e.stopPropagation();\r\n });\r\n }, [ref]);\r\n\r\n return <div ref={ref} onClick={close} className={selected ? selectedClassName : normalClassName} title=\"close\">\r\n <div className={selected ? selectedContentClassName : normalContentClassName}>\r\n </div>\r\n </div>\r\n}\r\n\r\nexport default TabCloseButton;","import React from \"react\";\r\nimport { TabElementProps } from \"../../types/api\";\r\nimport TabChannelSelector from \"../channelSelector/TabChannelSelector\";\r\nimport TabMultiChannelSelector from \"../channelSelector/multi/TabMultiChannelSelector\";\r\nimport TabCaption from \"./TabCaption\";\r\nimport TabCaptionEditor from \"./TabCaptionEditor\";\r\nimport TabCloseButton from \"./TabCloseButton\";\r\n\r\nconst Tab: React.FC<TabElementProps> = ({ caption, selected, close, channels, captionEditor, notifyCaptionBoundsChanged, windowId, pinned }) => {\r\n return <div className=\"t42-react-tab\">\r\n {channels.visible && channels.channelsMode !== \"multi\" && <TabChannelSelector {...channels} />}\r\n {channels.visible && channels.channelsMode === \"multi\" && <TabMultiChannelSelector {...channels} />}\r\n {captionEditor.show ?\r\n <TabCaptionEditor {...captionEditor} caption={captionEditor.text!} selected={selected} windowId={windowId} /> :\r\n <TabCaption notifyBoundsChanged={notifyCaptionBoundsChanged} caption={caption} selected={selected} />}\r\n {pinned ? <></> : <TabCloseButton selected={selected} close={close} />}\r\n </div>\r\n};\r\n\r\nexport default Tab;\r\n","import React from \"react\";\r\nimport { OverflowButtonProps } from \"../../types/defaultComponents\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport { getStandardButtonInnerClassName, getStandardButtonOuterClassName } from \"../utils/common\";\r\nimport { StandardButtons } from \"../../types/internal\";\r\n\r\nconst OverflowButton: React.FC<OverflowButtonProps> = ({ onClick, tooltip }) => {\r\n return <BaseButton\r\n innerElement={{ className: getStandardButtonInnerClassName(StandardButtons.Overflow) }}\r\n outerElement={{\r\n onMouseDown: (e) => e.stopPropagation(),\r\n onPointerDown: (e) => e.stopPropagation(),\r\n className: getStandardButtonOuterClassName(StandardButtons.Overflow), title: tooltip, onClick\r\n }} />\r\n}\r\n\r\nexport default OverflowButton;","import React from \"react\";\r\nimport { TabHeaderButtonsProps } from \"../../types/api\";\r\nimport CloseButton from \"../buttons/CloseButton\";\r\nimport ExtractButton from \"../buttons/ExtractButton\";\r\nimport FeedbackButton from \"../buttons/FeedbackButton\";\r\nimport CloneButton from \"../buttons/CloneButton\";\r\nimport LockButton from \"../buttons/LockButtons\";\r\nimport MaximizeButton from \"../buttons/MaximizeButton\";\r\nimport MinimizeButton from \"../buttons/MinimizeButton\";\r\nimport RestoreButton from \"../buttons/RestoreButton\";\r\nimport StickyButton from \"../buttons/StickyButton\";\r\nimport UnlockButton from \"../buttons/UnlockButton\";\r\nimport CustomButton from \"../buttons/CustomButton\";\r\nimport OverflowButton from \"../buttons/OverflowButton\";\r\n\r\nconst TabHeaderButtons: React.FC<TabHeaderButtonsProps> = ({ overflow, extract, minimize, maximize, restore, close, lock, unlock, feedback, clone, sticky, customButtons }) => {\r\n return <div className=\"t42-buttons-container t42-tab-bar-element\">\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {\r\n customButtons.map(customButton => {\r\n return customButton.visible && <CustomButton key={customButton.buttonId} {...customButton} />\r\n })\r\n }\r\n </ul>\r\n <ul className=\"t42-buttons t42-tab-bar-element\">\r\n {overflow?.visible && <OverflowButton {...overflow} />}\r\n {feedback?.visible && <FeedbackButton {...feedback} />}\r\n {clone?.visible && <CloneButton {...clone} />}\r\n {sticky?.visible && <StickyButton {...sticky} />}\r\n {extract?.visible && <ExtractButton {...extract} />}\r\n {lock?.visible && <LockButton {...lock} />}\r\n {unlock?.visible && <UnlockButton {...unlock} />}\r\n {minimize?.visible && <MinimizeButton {...minimize} />}\r\n {restore?.visible && <RestoreButton {...restore} />}\r\n {maximize?.visible && <MaximizeButton {...maximize} />}\r\n {close?.visible && <CloseButton {...close} />}\r\n </ul>\r\n </div>\r\n};\r\n\r\n\r\nexport default TabHeaderButtons;","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React from \"react\";\r\nimport { GroupWrapperProps } from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass GroupWrapper extends React.Component<GroupWrapperProps> {\r\n containerRef: HTMLElement | null;\r\n\r\n componentDidMount() {\r\n const componentFactory = {\r\n createGroupCaptionBar: this.props.onCreateGroupCaptionBarRequested,\r\n updateGroupCaptionBar: this.props.onUpdateGroupCaptionBarRequested,\r\n createGroupOverlay: this.props.onCreateGroupOverlayRequested,\r\n\r\n createFrameCaptionBar: this.props.onCreateFrameCaptionBarRequested,\r\n updateFrameCaptionBar: this.props.onUpdateFrameCaptionBarRequested,\r\n createFrameWindowOverlay: this.props.onCreateFrameWindowOverlayRequested,\r\n updateFrameWindowOverlay: this.props.onUpdateFrameWindowOverlayRequested,\r\n createAboveWindow: this.props.onCreateAboveWindowRequested,\r\n destroyAboveWindow: this.props.onRemoveAboveWindowRequested,\r\n createWindowContentOverlay: this.props.onCreateWindowContentOverlayRequested,\r\n destroyWindowContentOverlay: this.props.onRemoveWindowContentOverlayRequested,\r\n createFrameLoadingAnimation: this.props.onCreateFrameLoadingAnimationRequested,\r\n destroyFrameLoadingAnimation: this.props.onRemoveFrameLoadingAnimationRequested,\r\n createBelowWindow: this.props.onCreateBelowWindowRequested,\r\n destroyBelowWindow: this.props.onRemoveBelowWindowRequested,\r\n\r\n createAboveTabs: this.props.onCreateAboveTabsRequested,\r\n updateAboveTabs: this.props.onUpdateAboveTabsRequested,\r\n createBeforeTabs: this.props.onCreateBeforeTabsComponentRequested,\r\n updateBeforeTabs: this.props.onUpdateBeforeTabsComponentRequested,\r\n\r\n createTab: this.props.onCreateTabRequested,\r\n updateTab: this.props.onUpdateTabRequested,\r\n\r\n createAfterTabs: this.props.onCreateAfterTabsComponentRequested,\r\n updateAfterTabs: this.props.onUpdateAfterTabsComponentRequested,\r\n createTabBarButtonsContainerElement: this.props.onCreateTabHeaderButtonsRequested,\r\n createBelowTabs: this.props.onCreateBelowTabsRequested,\r\n updateBelowTabs: this.props.onUpdateBelowTabsRequested,\r\n \r\n createHtmlButtonsContainerElement: this.props.onCreateHtmlButtonsRequested,\r\n destroyHtmlButtonsContainerElement: this.props.onRemoveHtmlButtonsRequested,\r\n\r\n createTabOverflowPopup:this.props.onCreateTabOverflowPopupRequested,\r\n destroyTabOverflowPopup: this.props.onRemoveTabOverflowPopupRequested,\r\n \r\n updateFrame: this.props.onUpdateFrameRequested,\r\n updateStandardButton: this.props.onUpdateStandardButtonRequested,\r\n updateCustomButtons: this.props.onUpdateCustomButtonsRequested,\r\n\r\n destroyFrameCaptionBar: this.props.onRemoveFrameCaptionBarRequested, // needed to prevent a memory leak\r\n destroyFrameWindowOverlay: this.props.onRemoveFrameWindowOverlayRequested,\r\n\r\n destroyAboveTabs: this.props.onRemoveAboveTabsRequested,\r\n destroyBeforeTabs: this.props.onRemoveBeforeTabsComponentRequested,\r\n destroyTab: this.props.onRemoveTabRequested,\r\n destroyAfterTabs: this.props.onRemoveAfterTabsComponentRequested,\r\n destroyTabBarButtonsContainerElement: this.props.onRemoveTabHeaderButtonsRequested,\r\n destroyBelowTabs: this.props.onRemoveBelowTabsRequested,\r\n\r\n showCaptionEditor: this.props.onShowCaptionEditorRequested,\r\n commitCaptionEditing: this.props.onCommitCaptionEditingRequested,\r\n hideCaptionEditor: this.props.onHideCaptionEditorRequested,\r\n\r\n showLoadingAnimation: this.props.onShowLoadingAnimationRequested,\r\n hideLoadingAnimation: this.props.onHideLoadingAnimationRequested,\r\n };\r\n\r\n webGroupsManager.init(undefined, componentFactory);\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<GroupWrapperProps>, prevState: Readonly<{}>, snapshot?: any): void {\r\n if (this.props.styles?.tabs?.header !== prevProps.styles?.tabs?.header) {\r\n webGroupsManager.updateTabHeaderStyles(this.props.styles?.tabs?.header ?? {});\r\n }\r\n\r\n if (this.props.styles?.tabs?.moveArea !== prevProps.styles?.tabs?.moveArea) {\r\n webGroupsManager.updateTabMoveAreaStyles(this.props.styles?.tabs?.moveArea ?? {});\r\n }\r\n\r\n if (this.props.styles?.frame?.element !== prevProps.styles?.frame?.element) {\r\n webGroupsManager.updateFrameStyles(this.props.styles?.frame?.element ?? {});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // TODO\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"t42-group-container\" ref={(r) => this.containerRef = r}>\r\n <div id=\"t42-frames-container\">\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default GroupWrapper;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { PortalProps } from \"./types/internal\";\r\n\r\nclass Portal extends React.Component<PortalProps> {\r\n render() {\r\n return ReactDOM.createPortal(this.props.children, this.props.parentElement);\r\n }\r\n}\r\n\r\nexport default Portal;","import {\r\n CreateElementRequestOptions,\r\n CreateFrameCaptionBarRequestOptions,\r\n CreateFrameElementRequestOptions,\r\n CreateGroupCaptionBarRequestOptions,\r\n CreateButtonsOptions,\r\n CreateTabRequestOptions,\r\n ElementCreationWrapperState,\r\n RemoveRequestOptions,\r\n TargetType,\r\n UpdateFrameCaptionBarRequestOptions,\r\n UpdateGroupCaptionBarRequestOptions,\r\n UpdateStandardButtonRequestOptions,\r\n UpdateFrameRequestOptions,\r\n CreateFrameLoadingAnimationRequestOptions,\r\n UpdateCustomButtonsRequestOptions,\r\n CreateTabOverflowPopupRequestOptions,\r\n OverflowedTabInfo,\r\n IndexableElementCreationWrapperState,\r\n BaseElementOptions\r\n} from \"./types/internal\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\n\r\nclass WebGroupsStore {\r\n\r\n private listeners = new Set<() => void>();\r\n private state: ElementCreationWrapperState = {\r\n groupCaptionBar: undefined,\r\n groupOverlay: undefined,\r\n frameCaptionBars: {}, // dict frameId to create caption bar options\r\n frameWindowOverlays: {}, // dict frameId to create options\r\n aboveWindowZones: {}, // dict frameId to create options\r\n windowContentOverlays: {},//dict frameId to create options\r\n belowWindowZones: {}, // dict frameId to create options\r\n aboveTabsZones: {}, // dict frameId to create options\r\n beforeTabsZones: {}, // dict frameId to create before tabs zones options\r\n tabElements: {}, // dict windowId to create tab elements options\r\n afterTabsZones: {}, // dict frameId to after tabs zones options\r\n tabHeaderButtons: {}, // dict frameId to crate tab header buttons options\r\n tabOverflowPopups: {}, // dict frameId to create tab overflow popup options,\r\n belowTabsZones: {}, // dict frameId to create options\r\n frameLoadingAnimations: {}, // dict frameId to create options\r\n htmlButtons: {}, // dict frameId to crate html buttons options\r\n }\r\n\r\n public subscribe = (cb: () => void) => {\r\n this.listeners.add(cb);\r\n return () => {\r\n this.listeners.delete(cb);\r\n };\r\n }\r\n\r\n public getSnapshot = () => {\r\n return this.state;\r\n }\r\n\r\n public onCreateGroupCaptionBarRequested = (options: CreateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateGroupOverlayRequested = (options: CreateElementRequestOptions) => {\r\n if (options === this.state.groupOverlay) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupOverlay: options\r\n }\r\n });\r\n }\r\n\r\n public onCreateFrameCaptionBarRequested = (options: CreateFrameCaptionBarRequestOptions) => {\r\n this.onCreateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onCreateFrameWindowOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onCreateAboveWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onCreateWindowContentOverlayRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onCreateFrameLoadingAnimationRequested = (options: CreateFrameLoadingAnimationRequestOptions) => {\r\n this.onCreateElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onCreateBelowWindowRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onCreateAboveTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onCreateBeforeTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onCreateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onCreateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onCreateAfterTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onCreateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onCreateBelowTabsComponentRequested = (options: CreateFrameElementRequestOptions) => {\r\n this.onCreateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onCreateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onCreateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onCreateTabOverflowPopupRequested = (options: CreateTabOverflowPopupRequestOptions) => {\r\n this.onCreateElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onUpdateHtmlButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onUpdateGroupCaptionBarRequested = (options: UpdateGroupCaptionBarRequestOptions) => {\r\n if (options === this.state.groupCaptionBar) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n groupCaptionBar: Object.assign({}, s.groupCaptionBar, options)\r\n }\r\n });\r\n }\r\n\r\n public onUpdateFrameCaptionBarRequested = (options: UpdateFrameCaptionBarRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onUpdateFrameWindowOverlayRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onUpdateAboveTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onUpdateBeforeTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabElementRequested = (options: CreateTabRequestOptions) => {\r\n this.onUpdateElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onUpdateAfterTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onUpdateTabHeaderButtonsRequested = (options: CreateButtonsOptions) => {\r\n this.onUpdateElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onUpdateBelowTabsRequested = (options: CreateElementRequestOptions) => {\r\n this.onUpdateElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onUpdateFrame = (options: UpdateFrameRequestOptions) => {\r\n this.setState(s => {\r\n const newState = { ...s };\r\n\r\n const updateSelectionWindow = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, selectedWindow: string) => {\r\n if (stateProp === \"tabElements\") {\r\n return;\r\n }\r\n const newStateRecord = newState[stateProp]![targetId] as any;\r\n\r\n if (newStateRecord && newStateRecord?.selectedWindow !== selectedWindow) {\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: { ...newState[stateProp]![targetId], selectedWindow }\r\n }\r\n }\r\n };\r\n\r\n const updateHiddenTabs = <T extends keyof IndexableElementCreationWrapperState>(stateProp: T, targetId: string, hiddenTabsToTheLeft: OverflowedTabInfo[], hiddenTabsToTheRight: OverflowedTabInfo[]) => {\r\n const oldState = newState[stateProp]![targetId] as any;\r\n const oldHiddenToTheLeft = oldState?.hiddenTabsToTheLeft;\r\n const oldHiddenToTheRight = oldState?.hiddenTabsToTheRight;\r\n newState[stateProp] = {\r\n ...newState[stateProp],\r\n [targetId]: {\r\n ...newState[stateProp]![targetId],\r\n hiddenTabsToTheLeft: hiddenTabsToTheLeft || oldHiddenToTheLeft,\r\n hiddenTabsToTheRight: hiddenTabsToTheRight || oldHiddenToTheRight\r\n }\r\n }\r\n };\r\n\r\n updateSelectionWindow(\"frameCaptionBars\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameWindowOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"windowContentOverlays\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowWindowZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"aboveTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"beforeTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"afterTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"tabHeaderButtons\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"belowTabsZones\", options.targetId, options.selectedWindow);\r\n updateSelectionWindow(\"frameLoadingAnimations\", options.targetId, options.selectedWindow);\r\n\r\n updateHiddenTabs(\"afterTabsZones\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n updateHiddenTabs(\"tabHeaderButtons\", options.targetId, options.hiddenTabsToTheLeft, options.hiddenTabsToTheRight);\r\n\r\n return newState;\r\n });\r\n }\r\n\r\n public onUpdateStandardButton = (options: UpdateStandardButtonRequestOptions) => {\r\n const targetState = { targetId: options.targetId };\r\n switch (options.targetType) {\r\n case TargetType.Group:\r\n const currentGroupState = this.state.groupCaptionBar || targetState as CreateGroupCaptionBarRequestOptions;\r\n const newGroupOptions = {\r\n ...currentGroupState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateGroupCaptionBarRequested(newGroupOptions);\r\n break;\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || targetState as CreateFrameCaptionBarRequestOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabButtonsState = this.state.tabHeaderButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newTabButtonsOptions = {\r\n ...currentTabButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabButtonsOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons[options.targetId] || targetState as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n [options.buttonId]: {\r\n ...options\r\n }\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onUpdateCustomButtons = (options: UpdateCustomButtonsRequestOptions) => {\r\n switch (options.targetType) {\r\n case TargetType.Frame:\r\n const currentFrameState = this.state.frameCaptionBars[options.targetId] || { targetId: options.targetId } as CreateButtonsOptions;\r\n const newFrameOptions = {\r\n ...currentFrameState,\r\n ...options\r\n };\r\n this.onUpdateFrameCaptionBarRequested(newFrameOptions);\r\n break;\r\n case TargetType.TabBar:\r\n const currentTabBarState = this.state.tabHeaderButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newTabBarOptions = {\r\n ...currentTabBarState,\r\n ...options\r\n };\r\n this.onUpdateTabHeaderButtonsRequested(newTabBarOptions);\r\n break;\r\n case TargetType.HtmlButtons:\r\n const currentHtmlButtonsState = this.state.htmlButtons.customButtons || { customButtons: options.customButtons } as CreateButtonsOptions;\r\n const newHtmlButtonsOptions = {\r\n ...currentHtmlButtonsState,\r\n ...options\r\n };\r\n this.onUpdateHtmlButtonsRequested(newHtmlButtonsOptions);\r\n break;\r\n }\r\n }\r\n\r\n public onRemoveFrameCaptionBarRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameCaptionBars\", options);\r\n }\r\n\r\n public onRemoveFrameWindowOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameWindowOverlays\", options);\r\n }\r\n\r\n public onRemoveAboveWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveWindowZones\", options);\r\n }\r\n\r\n public onRemoveWindowContentOverlayRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"windowContentOverlays\", options);\r\n }\r\n\r\n public onRemoveFrameLoadingAnimationRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"frameLoadingAnimations\", options);\r\n }\r\n\r\n public onRemoveBelowWindowRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowWindowZones\", options);\r\n }\r\n\r\n public onRemoveAboveTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"aboveTabsZones\", options);\r\n }\r\n\r\n public onRemoveBeforeTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"beforeTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabElementRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabElements\", options);\r\n }\r\n\r\n public onRemoveAfterTabsComponentRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"afterTabsZones\", options);\r\n }\r\n\r\n public onRemoveTabHeaderButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabHeaderButtons\", options);\r\n }\r\n\r\n public onRemoveBelowTabsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"belowTabsZones\", options);\r\n }\r\n\r\n public onRemoveHtmlButtonsRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"htmlButtons\", options);\r\n }\r\n\r\n public onRemoveTabOverflowPopupRequested = (options: RemoveRequestOptions) => {\r\n this.onRemoveElementRequested(\"tabOverflowPopups\", options);\r\n }\r\n\r\n public onShowCaptionEditorRequested = (targetType: TargetType, targetId: string, text: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onShowGroupCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onShowFlatCaptionEditorRequested(targetId, text);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onShowTabCaptionEditorRequested(targetId, text);\r\n }\r\n }\r\n\r\n public onCommitCaptionEditingRequested = (targetType: TargetType, targetId: string) => {\r\n webGroupsManager.requestCommitCaptionEditing(targetType, targetId);\r\n }\r\n\r\n public onHideCaptionEditorRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Group) {\r\n this.onHideGroupCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Frame) {\r\n this.onHideFlatCaptionEditorRequested(targetId);\r\n } else if (targetType === TargetType.Tab) {\r\n this.onHideTabCaptionEditorRequested(targetId)\r\n }\r\n }\r\n\r\n public onShowLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onShowLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n public onHideLoadingAnimationRequested = (targetType: TargetType, targetId: string) => {\r\n if (targetType === TargetType.Frame) {\r\n this.onHideLoadingAnimation(targetId);\r\n } else {\r\n console.warn(`Loading animation for elements other than Frame are not supported`);\r\n }\r\n }\r\n\r\n private onShowGroupCaptionEditorRequested = (_: string, text: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideGroupCaptionEditorRequested = (_: string) => {\r\n if (!this.state.groupCaptionBar) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.groupCaptionBar?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n groupCaptionBar: {\r\n ...s.groupCaptionBar!,\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowFlatCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideFlatCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.frameCaptionBars[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.frameCaptionBars[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameCaptionBars: {\r\n ...s.frameCaptionBars!,\r\n [targetId]: {\r\n ...s.frameCaptionBars[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowTabCaptionEditorRequested = (targetId: string, text: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: true,\r\n text\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideTabCaptionEditorRequested = (targetId: string) => {\r\n if (!this.state.tabElements[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const captionEditor = s.tabElements[targetId]?.captionEditor || {};\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n tabElements: {\r\n ...s.tabElements!,\r\n [targetId]: {\r\n ...s.tabElements[targetId],\r\n captionEditor: {\r\n ...captionEditor,\r\n show: false,\r\n }\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onShowLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: true,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onHideLoadingAnimation = (targetId: string) => {\r\n if (!this.state.frameLoadingAnimations[targetId]) {\r\n return;\r\n }\r\n\r\n this.setState(s => {\r\n const newState: ElementCreationWrapperState = {\r\n ...s,\r\n frameLoadingAnimations: {\r\n ...s.frameLoadingAnimations,\r\n [targetId]: {\r\n ...s.frameLoadingAnimations[targetId],\r\n show: false,\r\n }\r\n\r\n }\r\n }\r\n return newState;\r\n });\r\n }\r\n\r\n private onCreateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: options\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onUpdateElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: BaseElementOptions) => {\r\n if (options === this.state[key][options.targetId] || !options) {\r\n return;\r\n }\r\n this.setState(s => {\r\n return {\r\n ...s,\r\n [key]: {\r\n ...s[key],\r\n [options.targetId]: { ...s[key][options.targetId], ...options }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private onRemoveElementRequested = <T extends keyof IndexableElementCreationWrapperState>(key: T, options: RemoveRequestOptions) => {\r\n const stateValue = this.state[key];\r\n if (!stateValue || !stateValue[options.targetId]) {\r\n return;\r\n }\r\n this.setState(s => {\r\n const newRecordObj = Object.keys(s[key]!).reduce<IndexableElementCreationWrapperState[T]>((acc, targetId: keyof IndexableElementCreationWrapperState[T]) => {\r\n if (targetId != options.targetId) {\r\n acc[targetId] = (s[key] as IndexableElementCreationWrapperState[T])[targetId];\r\n }\r\n return acc;\r\n }, {} as ElementCreationWrapperState[T]);\r\n\r\n return {\r\n ...s,\r\n [key]: newRecordObj\r\n }\r\n });\r\n }\r\n\r\n private setState = (cb: (s: ElementCreationWrapperState) => ElementCreationWrapperState) => {\r\n this.state = cb(this.state);\r\n\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\nexport default new WebGroupsStore();","import React from \"react\";\nimport { FrameLoadingAnimationProps } from \"../../types/api\";\n\nconst FrameLoadingAnimation: React.FC<FrameLoadingAnimationProps> = ({show}) => {\n return (\n show ?\n (\n <div className=\"loader-wrapper active\">\n <div className=\"loader\"></div>\n <div className=\"loader-text\">Loading...</div>\n </div>\n ) : <></>\n );\n}\n\nexport default FrameLoadingAnimation;","import React from \"react\";\r\nimport { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport GroupWrapper from \"./GroupWrapper\";\r\nimport Portal from \"./Portal\";\r\nimport { ChannelProps, GroupProps } from \"./types/api\";\r\nimport { Bounds, ElementCreationWrapperState, TargetType } from \"./types/internal\";\r\nimport { CustomButtonProps } from \"./types/defaultComponents\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\n\r\nconst GroupElementCreationWrapper: React.FC<GroupProps> = ({ components, styles }) => {\r\n\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n const LoadingAnimation = components?.frame?.LoadingAnimation ?? FrameLoadingAnimation;\r\n\r\n const renderGroupCaptionBar = () => {\r\n const GroupCaptionBarCustomElement = components?.group?.CaptionBar;\r\n if (!GroupCaptionBarCustomElement || (!state.groupCaptionBar || !state.groupCaptionBar.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupCaptionBar;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Group, options.targetId, text);\r\n }\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Group, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Group, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Group, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Group, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Group, options.targetId, bounds);\r\n\r\n return (\r\n <Portal parentElement={parentElement}>\r\n <GroupCaptionBarCustomElement {...options}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n );\r\n }\r\n\r\n const renderGroupOverlay = () => {\r\n const GroupOverlayCustomElement = components?.group?.Overlay;\r\n if (!GroupOverlayCustomElement || (!state.groupOverlay || !state.groupOverlay.parentElement)) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = state.groupOverlay;\r\n\r\n return <Portal parentElement={parentElement}><GroupOverlayCustomElement {...options} /></Portal>;\r\n }\r\n\r\n const renderFrameCaptionBar = () => {\r\n const FrameCaptionBarCustomElement = components?.flat?.CaptionBar;\r\n \r\n return Object.values(state.frameCaptionBars).map((fcb) => {\r\n if (!FrameCaptionBarCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n const showCaptionEditor = (text: string) => {\r\n webGroupsManager.showCaptionEditor(TargetType.Frame, options.targetId, text);\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.lock\r\n };\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.unlock\r\n };\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.downloads\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.Frame, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onFrameChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor,\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n }\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Frame, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Frame, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Frame, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Frame, options.targetId, bounds);\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameCaptionBarCustomElement {...options}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n channels={channels}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n captionEditor={captionEditor}\r\n showCaptionEditor={showCaptionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameWindowOverlay = () => {\r\n const FrameWindowOverlayCustomElement = components?.frame?.Overlay;\r\n return Object.values(state.frameWindowOverlays).map((fcb) => {\r\n if (!FrameWindowOverlayCustomElement || !fcb.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = fcb;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <FrameWindowOverlayCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveWindow = () => {\r\n const AboveWindowCustomElement = components?.frame?.AboveWindow;\r\n return Object.values(state.aboveWindowZones).map((awz) => {\r\n if (!AboveWindowCustomElement || !awz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = awz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <AboveWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderWindowContentOverlays = () => {\r\n const WindowContentCustomElement = components?.frame?.WindowContentOverlay;\r\n return Object.values(state.windowContentOverlays).map((wco) => {\r\n if (!WindowContentCustomElement || !wco.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wco;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <WindowContentCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderFrameLoadingAnimations = () => {\r\n const LoadingAnimationCustomElement = LoadingAnimation;\r\n return Object.values(state.frameLoadingAnimations).map((wla) => {\r\n if (!LoadingAnimationCustomElement || !wla.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = wla;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <LoadingAnimationCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderBelowWindow = () => {\r\n const BelowWindowCustomElement = components?.frame?.BelowWindow;\r\n return Object.values(state.belowWindowZones).map((bwz) => {\r\n if (!BelowWindowCustomElement || !bwz.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = bwz;\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <BelowWindowCustomElement {...options} frameId={options.targetId} />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAboveTabs = () => {\r\n const AboveTabsCustomElement = components?.tabs?.Above;\r\n\r\n return Object.values(state.aboveTabsZones).map((te) => {\r\n if (!AboveTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AboveTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderBeforeTabsZones = () => {\r\n const BeforeTabsCustomElement = components?.tabs?.Before;\r\n\r\n return Object.values(state.beforeTabsZones).map((te) => {\r\n if (!BeforeTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BeforeTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabElements = () => {\r\n const TabCustomElement = components?.tabs?.Element;\r\n\r\n return Object.values(state.tabElements).map((te) => {\r\n if (!TabCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n\r\n const onCloseClick = () => {\r\n webGroupsManager.closeTab(options.targetId);\r\n }\r\n\r\n const showSelector = (bounds: Bounds) => {\r\n webGroupsManager.onTabChannelSelectorClick(options.targetId, bounds);\r\n }\r\n\r\n const channels: ChannelProps = {\r\n showSelector,\r\n visible: options.channelSelectorVisible,\r\n selectedChannel: options.selectedChannel,\r\n selectedChannelColor: options.selectedChannelColor ?? options.selectedChannel, // TODO remove the null check when the variable has been added\r\n channelRestrictions: options.channelRestrictions,\r\n channelLabel: options.channelLabel,\r\n channelsMode: options.channelsMode ?? \"single\",\r\n selectedChannels: options.selectedChannels\r\n };\r\n\r\n const captionEditor = {\r\n ...options.captionEditor,\r\n commitChanges: (text: string) => {\r\n webGroupsManager.commitCaptionEditing(TargetType.Tab, options.targetId, text);\r\n },\r\n hideEditor: () => {\r\n webGroupsStore.onHideCaptionEditorRequested(TargetType.Tab, options.targetId);\r\n },\r\n notifyBoundsChanged: (bounds: Bounds) => {\r\n webGroupsManager.onCaptionEditorBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n },\r\n notifyEditorVisibilityChanged: (visible: boolean) => {\r\n webGroupsManager.onCaptionEditorVisibleChanged(TargetType.Tab, options.targetId, visible);\r\n }\r\n };\r\n\r\n const notifyCaptionBoundsChanged = (bounds: Bounds) => webGroupsManager.onCaptionTextBoundsChanged(TargetType.Tab, options.targetId, bounds);\r\n\r\n const addContainerClass = (className: string) => {\r\n webGroupsManager.addTabContainerClass(options.targetId, className);\r\n }\r\n\r\n const removeContainerClass = (className: string) => {\r\n webGroupsManager.removeTabContainerClass(options.targetId, className);\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabCustomElement {...options}\r\n close={onCloseClick}\r\n channels={channels}\r\n windowId={options.targetId}\r\n captionEditor={captionEditor}\r\n notifyCaptionBoundsChanged={notifyCaptionBoundsChanged}\r\n addContainerClass={addContainerClass}\r\n removeContainerClass={removeContainerClass}\r\n />\r\n </Portal>\r\n });\r\n }\r\n\r\n const renderAfterTabsZones = () => {\r\n const AfterTabsCustomElement = components?.tabs?.After;\r\n\r\n return Object.values(state.afterTabsZones).map((te) => {\r\n if (!AfterTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><AfterTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderTabHeaderButtons = () => {\r\n const TabButtonsCustomElement = components?.tabs?.Buttons;\r\n\r\n return Object.values(state.tabHeaderButtons).map((te) => {\r\n if (!TabButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.downloads,\r\n }\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.TabBar, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><TabButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderTabOverflowPopups = () => {\r\n const TabOverflowCustomElement = components?.tabs?.OverflowPopup;\r\n\r\n return Object.values(state.tabOverflowPopups).map((top) => {\r\n if (!TabOverflowCustomElement || !top.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = top;\r\n\r\n const select = (windowId: string) => {\r\n webGroupsManager.selectTab(windowId);\r\n };\r\n\r\n const resize = (bounds: Bounds) => {\r\n webGroupsManager.resizeTabOverflowPopup(options.targetId, bounds);\r\n }\r\n\r\n const close = (windowId: string) => {\r\n webGroupsManager.closeTab(windowId);\r\n };\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}>\r\n <TabOverflowCustomElement {...options}\r\n resize={resize}\r\n select={select}\r\n close={close}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n const renderBelowTabs = () => {\r\n const BelowTabsCustomElement = components?.tabs?.Below;\r\n\r\n return Object.values(state.belowTabsZones).map((te) => {\r\n if (!BelowTabsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n\r\n const { parentElement, ...options } = te;\r\n return <Portal key={options.targetId} parentElement={parentElement}><BelowTabsCustomElement {...options} frameId={options.targetId} /></Portal>\r\n });\r\n }\r\n\r\n const renderHtmlButtons = () => {\r\n const HtmlButtonsCustomElement = components?.html?.Buttons;\r\n\r\n return Object.values(state.htmlButtons).map((te) => {\r\n if (!HtmlButtonsCustomElement || !te.parentElement) {\r\n return;\r\n }\r\n const { parentElement, ...options } = te;\r\n\r\n const overflow = {\r\n onClick: () => {\r\n webGroupsManager.onOverflowButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.overflow\r\n };\r\n\r\n const feedback = {\r\n onClick: () => {\r\n webGroupsManager.onFeedbackButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.feedback\r\n };\r\n\r\n const clone = {\r\n onClick: () => {\r\n webGroupsManager.onCloneButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.clone\r\n };\r\n\r\n const sticky = {\r\n onClick: () => {\r\n webGroupsManager.onStickyButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.sticky\r\n };\r\n\r\n const extract = {\r\n onClick: () => {\r\n webGroupsManager.onExtractButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.extract\r\n };\r\n\r\n const lock = {\r\n onClick: () => {\r\n webGroupsManager.onLockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.lock\r\n }\r\n\r\n const unlock = {\r\n onClick: () => {\r\n webGroupsManager.onUnlockButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.unlock\r\n }\r\n\r\n const downloads = {\r\n onClick: () => {\r\n webGroupsManager.onDownloadsButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.downloads\r\n };\r\n\r\n const minimize = {\r\n onClick: () => {\r\n webGroupsManager.onMinimizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.minimize\r\n }\r\n\r\n const restore = {\r\n onClick: () => {\r\n webGroupsManager.onRestoreButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.restore\r\n }\r\n\r\n const maximize = {\r\n onClick: () => {\r\n webGroupsManager.onMaximizeButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.maximize\r\n }\r\n\r\n const close = {\r\n onClick: () => {\r\n webGroupsManager.onCloseButtonClick(TargetType.HtmlButtons, options.targetId);\r\n },\r\n ...options.close\r\n }\r\n\r\n let customButtonsProps = new Array<CustomButtonProps>();\r\n if (options.customButtons) {\r\n customButtonsProps = options.customButtons.map((cButton) => {\r\n return {\r\n onClick: () => {\r\n webGroupsManager.clickCustomButton(options.targetId, cButton.buttonId);\r\n },\r\n visible: true,\r\n imageData: cButton.imageData,\r\n tooltip: cButton.tooltip,\r\n buttonId: cButton.buttonId\r\n }\r\n });\r\n }\r\n\r\n return <Portal key={options.targetId} parentElement={parentElement}><HtmlButtonsCustomElement {...options}\r\n overflow={overflow}\r\n feedback={feedback}\r\n clone={clone}\r\n sticky={sticky}\r\n extract={extract}\r\n lock={lock}\r\n unlock={unlock}\r\n downloads={downloads}\r\n minimize={minimize}\r\n maximize={maximize}\r\n restore={restore}\r\n close={close}\r\n customButtons={customButtonsProps}\r\n frameId={options.targetId}\r\n /></Portal>\r\n });\r\n }\r\n\r\n return <>\r\n {renderGroupCaptionBar()}\r\n {renderGroupOverlay()}\r\n {renderFrameCaptionBar()}\r\n {renderFrameWindowOverlay()}\r\n {renderAboveWindow()}\r\n {renderWindowContentOverlays()}\r\n {renderFrameLoadingAnimations()}\r\n {renderBelowWindow()}\r\n {renderAboveTabs()}\r\n {renderBeforeTabsZones()}\r\n {renderTabElements()}\r\n {renderAfterTabsZones()}\r\n {renderTabHeaderButtons()}\r\n {renderTabOverflowPopups()}\r\n {renderBelowTabs()}\r\n {renderHtmlButtons()}\r\n <GroupWrapper\r\n onCreateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onCreateGroupCaptionBarRequested : undefined}\r\n onCreateGroupOverlayRequested={components?.group?.Overlay ? webGroupsStore.onCreateGroupOverlayRequested : undefined}\r\n onCreateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onCreateFrameCaptionBarRequested : undefined}\r\n onCreateFrameWindowOverlayRequested={components?.frame?.Overlay ? webGroupsStore.onCreateFrameWindowOverlayRequested : undefined}\r\n onCreateAboveWindowRequested={components?.frame?.AboveWindow ? webGroupsStore.onCreateAboveWindowRequested : undefined}\r\n onCreateWindowContentOverlayRequested={components?.frame?.WindowContentOverlay ? webGroupsStore.onCreateWindowContentOverlayRequested : undefined}\r\n onCreateFrameLoadingAnimationRequested={LoadingAnimation ? webGroupsStore.onCreateFrameLoadingAnimationRequested : undefined}\r\n onCreateBelowWindowRequested={components?.frame?.BelowWindow ? webGroupsStore.onCreateBelowWindowRequested : undefined}\r\n onCreateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onCreateAboveTabsComponentRequested : undefined}\r\n onCreateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onCreateBeforeTabsComponentRequested : undefined}\r\n onCreateTabRequested={components?.tabs?.Element ? webGroupsStore.onCreateTabElementRequested : undefined}\r\n onCreateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onCreateAfterTabsComponentRequested : undefined}\r\n onCreateTabHeaderButtonsRequested={components?.tabs?.Buttons ? webGroupsStore.onCreateTabHeaderButtonsRequested : undefined}\r\n onCreateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onCreateBelowTabsComponentRequested : undefined}\r\n onCreateHtmlButtonsRequested={components?.html?.Buttons ? webGroupsStore.onCreateHtmlButtonsRequested : undefined}\r\n onCreateTabOverflowPopupRequested={components?.tabs?.OverflowPopup ? webGroupsStore.onCreateTabOverflowPopupRequested : undefined}\r\n onUpdateGroupCaptionBarRequested={components?.group?.CaptionBar ? webGroupsStore.onUpdateGroupCaptionBarRequested : undefined}\r\n onUpdateFrameWindowOverlayRequested={components?.group?.Overlay ? webGroupsStore.onUpdateFrameWindowOverlayRequested : undefined}\r\n onUpdateFrameCaptionBarRequested={components?.flat?.CaptionBar ? webGroupsStore.onUpdateFrameCaptionBarRequested : undefined}\r\n onUpdateFrameRequested={webGroupsStore.onUpdateFrame}\r\n onUpdateStandardButtonRequested={webGroupsStore.onUpdateStandardButton}\r\n onUpdateCustomButtonsRequested={webGroupsStore.onUpdateCustomButtons}\r\n onUpdateAboveTabsRequested={components?.tabs?.Above ? webGroupsStore.onUpdateAboveTabsRequested : undefined}\r\n onUpdateBeforeTabsComponentRequested={components?.tabs?.Before ? webGroupsStore.onUpdateBeforeTabsRequested : undefined}\r\n onUpdateTabRequested={components?.tabs?.Element ? webGroupsStore.onUpdateTabElementRequested : undefined}\r\n onUpdateAfterTabsComponentRequested={components?.tabs?.After ? webGroupsStore.onUpdateAfterTabsRequested : undefined}\r\n onUpdateBelowTabsRequested={components?.tabs?.Below ? webGroupsStore.onUpdateBelowTabsRequested : undefined}\r\n onRemoveFrameCaptionBarRequested={webGroupsStore.onRemoveFrameCaptionBarRequested}\r\n onRemoveFrameWindowOverlayRequested={webGroupsStore.onRemoveFrameWindowOverlayRequested}\r\n onRemoveAboveWindowRequested={webGroupsStore.onRemoveAboveWindowRequested}\r\n onRemoveWindowContentOverlayRequested={webGroupsStore.onRemoveWindowContentOverlayRequested}\r\n onRemoveFrameLoadingAnimationRequested={webGroupsStore.onRemoveFrameLoadingAnimationRequested}\r\n onRemoveBelowWindowRequested={webGroupsStore.onRemoveBelowWindowRequested}\r\n onRemoveAboveTabsRequested={webGroupsStore.onRemoveAboveTabsRequested}\r\n onRemoveBeforeTabsComponentRequested={webGroupsStore.onRemoveBeforeTabsComponentRequested}\r\n onRemoveTabRequested={webGroupsStore.onRemoveTabElementRequested}\r\n onRemoveAfterTabsComponentRequested={webGroupsStore.onRemoveAfterTabsComponentRequested}\r\n onRemoveTabHeaderButtonsRequested={webGroupsStore.onRemoveTabHeaderButtonsRequested}\r\n onRemoveBelowTabsRequested={webGroupsStore.onRemoveBelowTabsRequested}\r\n onRemoveHtmlButtonsRequested={webGroupsStore.onRemoveHtmlButtonsRequested}\r\n onRemoveTabOverflowPopupRequested={webGroupsStore.onRemoveTabOverflowPopupRequested}\r\n onShowCaptionEditorRequested={webGroupsStore.onShowCaptionEditorRequested}\r\n onCommitCaptionEditingRequested={webGroupsStore.onCommitCaptionEditingRequested}\r\n onHideCaptionEditorRequested={webGroupsStore.onHideCaptionEditorRequested}\r\n onShowLoadingAnimationRequested={webGroupsStore.onShowLoadingAnimationRequested}\r\n onHideLoadingAnimationRequested={webGroupsStore.onHideLoadingAnimationRequested}\r\n styles={styles}\r\n />\r\n </>\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport { IOConnectContext } from \"@interopio/react-hooks\";\r\n\r\nfunction useIOConnectWindow (windowId: string) {\r\n const [IOConnectWindow, setIOConnectWindow] = useState<any>(undefined);\r\n\r\n const io = (window as any).io || useContext(IOConnectContext);\r\n useEffect(() => {\r\n const unsub = io.windows.onWindowAdded((w: any) => {\r\n if (w.id === windowId) {\r\n setIOConnectWindow(w);\r\n unsub();\r\n }\r\n });\r\n\r\n const windowInCollection = io.windows.list().find((w: any) => w.id === windowId);\r\n if (windowInCollection) {\r\n setIOConnectWindow(windowInCollection);\r\n unsub();\r\n }\r\n\r\n return unsub;\r\n }, [windowId]);\r\n\r\n return IOConnectWindow;\r\n}\r\n\r\nexport default useIOConnectWindow;\r\n\r\n","import { useSyncExternalStore } from \"use-sync-external-store/shim\";\r\nimport { GroupComponentVisibilityState } from \"./types/api\";\r\nimport { ElementCreationWrapperState } from \"./types/internal\";\r\nimport webGroupsStore from \"./webGroupsStore\";\r\n\r\nfunction useGroupComponentVisibility(): GroupComponentVisibilityState {\r\n const state = useSyncExternalStore<ElementCreationWrapperState>(webGroupsStore.subscribe, webGroupsStore.getSnapshot);\r\n return {\r\n groupCaptionBarVisible: state.groupCaptionBar?.visible\r\n };\r\n}\r\n\r\nexport default useGroupComponentVisibility;\r\n\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitTabCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Tab, targetId, text);\r\n}\r\n\r\nexport default useCommitTabCaptionEditingRequested;","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitGroupCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Group, targetId, text);\r\n}\r\n\r\nexport default useCommitGroupCaptionEditingRequested;\r\n","import { TargetType } from \"../../types/internal\";\r\nimport useCommitEditingRequested from \"../captionEditor/useCommitEditingRequested\";\r\n\r\nfunction useCommitFlatCaptionEditingRequested(targetId: string, text: string): void {\r\n useCommitEditingRequested(TargetType.Frame, targetId, text);\r\n}\r\n\r\nexport default useCommitFlatCaptionEditingRequested;","import React from \"react\";\nimport { HtmlButtonsProps } from \"../../types/api\";\nimport CloseButton from \"../buttons/CloseButton\";\nimport ExtractButton from \"../buttons/ExtractButton\";\nimport FeedbackButton from \"../buttons/FeedbackButton\";\nimport CloneButton from \"../buttons/CloneButton\";\nimport LockButton from \"../buttons/LockButtons\";\nimport MaximizeButton from \"../buttons/MaximizeButton\";\nimport MinimizeButton from \"../buttons/MinimizeButton\";\nimport RestoreButton from \"../buttons/RestoreButton\";\nimport StickyButton from \"../buttons/StickyButton\";\nimport UnlockButton from \"../buttons/UnlockButton\";\nimport CustomButton from \"../buttons/CustomButton\";\nimport DownloadsButton from \"../buttons/DownloadsButton\";\n\nconst HtmlButtons: React.FC<HtmlButtonsProps> = ({\n extract,\n downloads,\n minimize,\n maximize,\n restore,\n close,\n lock,\n unlock,\n feedback,\n clone,\n sticky,\n customButtons,\n}) => {\n return (\n <div className=\"t42-buttons-container t42-html-buttons-bar-element\">\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {customButtons.map((customButton) => {\n return (\n customButton.visible && (\n <CustomButton\n key={customButton.buttonId}\n {...customButton}\n />\n )\n );\n })}\n </ul>\n <ul className=\"t42-buttons t42-html-buttons-bar-element\">\n {feedback?.visible && <FeedbackButton {...feedback} />}\n {clone?.visible && <CloneButton {...clone} />}\n {sticky?.visible && <StickyButton {...sticky} />}\n {extract?.visible && <ExtractButton {...extract} />}\n {lock?.visible && <LockButton {...lock} />}\n {unlock?.visible && <UnlockButton {...unlock} />}\n {downloads?.visible && <DownloadsButton {...downloads} />}\n {minimize?.visible && <MinimizeButton {...minimize} />}\n {restore?.visible && <RestoreButton {...restore} />}\n {maximize?.visible && <MaximizeButton {...maximize} />}\n {close?.visible && <CloseButton {...close} />}\n </ul>\n </div>\n );\n};\n\nexport default HtmlButtons;\n\n","import React, { useEffect } from 'react';\r\nimport { TabOverflowPopupProps } from '../../types/api';\r\nimport { OverflowedTabInfo } from '../../types/internal';\r\nimport { getElementBounds } from '../../utils';\r\n\r\nconst TabOverflowPopup: React.FC<TabOverflowPopupProps> = ({\r\n hiddenTabsToTheLeft,\r\n hiddenTabsToTheRight,\r\n close,\r\n resize,\r\n select\r\n}) => {\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n if (!ref.current) return;\r\n if (typeof resize !== \"function\") return;\r\n const bounds = getElementBounds(ref.current);\r\n resize(bounds);\r\n }, [ref]);\r\n\r\n const createSection = (tabs: OverflowedTabInfo[], title: string) => {\r\n return (\r\n <ul>\r\n <li className=\"title\">{title}</li>\r\n {tabs.map((tab) => (\r\n <li key={tab.windowId} onClick={() => handleTabClick(tab.windowId)}>\r\n <span>{tab.title}</span>\r\n <div className=\"t42-tab-close-button-content\" onClick={(e) => {\r\n e.stopPropagation();\r\n handleTabClose(tab.windowId)\r\n }}></div>\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n };\r\n\r\n const handleTabClick = (windowId: string) => {\r\n select(windowId);\r\n };\r\n\r\n const handleTabClose = (windowId: string) => {\r\n close(windowId);\r\n };\r\n\r\n return (\r\n <div ref={ref} className=\"t42-wg-tab-overflow-popup\">\r\n {hiddenTabsToTheLeft.length > 0 && createSection(hiddenTabsToTheLeft, \"Open left\")}\r\n {hiddenTabsToTheLeft.length > 0 && hiddenTabsToTheRight.length > 0 && <hr />}\r\n {hiddenTabsToTheRight.length > 0 && createSection(hiddenTabsToTheRight, \"Open right\")}\r\n </div>\r\n );\r\n};\r\n\r\nexport default TabOverflowPopup;","import{jsx as e,jsxs as t,Fragment as n}from\"react/jsx-runtime\";import*as o from\"react\";import i,{forwardRef as r,useCallback as a,createContext as s,useContext as l,useState as c,useMemo as u,useRef as d,useEffect as f,useImperativeHandle as m,useLayoutEffect as p,useId as h,memo as g}from\"react\";import*as v from\"react-dom\";import{createPortal as y}from\"react-dom\";import{IOConnectContext as w}from\"@interopio/react-hooks\";function b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var C,k={exports:{}};\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/C=k,function(){var e={}.hasOwnProperty;function t(){for(var e=\"\",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=o(e,n(i)))}return e}function n(n){if(\"string\"==typeof n||\"number\"==typeof n)return n;if(\"object\"!=typeof n)return\"\";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes(\"[native code]\"))return n.toString();var i=\"\";for(var r in n)e.call(n,r)&&n[r]&&(i=o(i,r));return i}function o(e,t){return t?e?e+\" \"+t:e+t:e}C.exports?(t.default=t,C.exports=t):window.classNames=t}();var N=b(k.exports);function S({className:t,size:n=\"16\",variant:o=\"workspace\",...i}){const r=N(\"icon\",n&&[`icon-size-${n}`],t);return e(\"span\",{className:r,\"aria-label\":`icon-${o}`,role:\"presentation\",...i,children:e(\"i\",{className:`icon-${o}`})})}const D=r(({className:t,variant:n=\"default\",icon:o=\"workspace\",size:i=\"16\",tooltip:r,iconSize:s=\"16\",onClick:l,disabled:c,children:u,...d},f)=>{const m=N(\"io-btn-icon\",\"default\"!==n&&[`io-btn-icon-${n}`],[`io-btn-icon-size-${i}`],t),p=a(e=>{if(!c)return l?l(e):void 0;e.preventDefault()},[l,c]);return e(\"button\",{className:m,type:\"button\",ref:f,\"aria-label\":\"icon button\",\"aria-disabled\":c,title:r,onClick:p,disabled:c,...d,children:u??(o&&e(S,{variant:o,size:s}))})});D.displayName=\"ButtonIcon\";const x={default:void 0,info:\"info\",success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function E({className:n,variant:o=\"default\",size:i=\"normal\",text:r,close:a=!1,closeButtonOnClick:s,append:l,...c}){const u=N(\"io-alert\",`io-alert-${o}`,\"large\"===i&&\"io-alert-lg\",n),d=x[o];return t(\"div\",{\"data-testid\":\"io-alert\",className:u,role:\"alert\",\"aria-label\":\"alert\",...c,children:[d&&e(S,{\"data-testid\":\"io-alert-icon\",variant:d,className:\"icon-severity\"}),r&&e(\"p\",{\"data-testid\":\"io-alert-text\",className:\"io-text-smaller\",children:r}),\"large\"===i&&l,a&&e(D,{\"data-testid\":\"io-alert-close-button\",className:\"ms-auto\",size:\"16\",iconSize:\"10\",icon:\"close\",onClick:s})]})}function I({className:t,variant:n=\"default\",children:o,...i}){const r=N(\"io-badge\",\"default\"!==n&&[`io-badge-${n}`],t);return e(\"div\",{className:r,...i,children:o})}function M({className:t,tag:n=\"h2\",size:o=\"normal\",text:i=\"Title\",...r}){const a=n,s=N(\"small\"===o&&\"io-title-semibold\",\"normal\"===o&&\"io-title\",\"large\"===o&&\"io-title-large\",t);return e(a,{className:s,...r,children:i})}function P({className:n,title:o,titleSize:i=\"normal\",tag:r,hint:a,children:s,...l}){const c=N(\"io-block\",n),u=o?\"block-title\":void 0;return t(\"section\",{className:c,\"aria-label\":o?void 0:\"Block\",\"aria-labelledby\":u,...l,children:[o&&e(M,{id:u,tag:r,text:o,size:i}),s,a&&e(\"p\",{className:\"io-text-smaller\",children:a})]})}const A=e=>\"Enter\"===e.key||\" \"===e.key,T=r(({className:n,variant:o=\"default\",size:i=\"normal\",icon:r,iconSize:s=\"12\",iconRight:l=!1,text:c,onClick:u,disabled:d,children:f,...m},p)=>{const h=N(\"io-btn\",(\"primary\"===o||\"critical\"===o||\"outline\"===o||\"link\"===o)&&[`io-btn-${o}`],\"large\"===i&&\"io-btn-lg\",n),g=a(e=>{if(!d)return u?u(e):void 0;e.preventDefault()},[u,d]),v=a(e=>{d||A(e)&&(e.preventDefault(),g(e))},[g,d]);return t(\"button\",{className:h,ref:p,type:\"button\",\"aria-disabled\":d,onClick:g,onKeyDown:v,disabled:d,tabIndex:0,...m,children:[r&&!l&&e(S,{variant:r,size:s}),f??c,r&&l&&e(S,{variant:r,size:s})]})});T.displayName=\"Button\";const O=s({}),F=r(({icon:t=\"chevron-down\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(O),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),m=a(e=>{o?.(e),e.defaultPrevented||A(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(T,{icon:t,iconRight:!0,onClick:f,onKeyDown:m,disabled:c,ref:d,...i})});F.displayName=\"DropdownButton\";const L=r(({size:t=\"32\",onClick:n,onKeyDown:o,...i},r)=>{const{handleToggle:s,disabled:c,setTriggerRef:u}=l(O),d=a(e=>{u?.(e),r&&(\"function\"==typeof r?r(e):r.current=e)},[r,u]),f=a(e=>{e.stopPropagation(),n?.(e),e.defaultPrevented||s?.()},[n,s]),m=a(e=>{o?.(e),e.defaultPrevented||A(e)&&(e.preventDefault(),e.stopPropagation(),s?.())},[o,s]);return e(D,{size:t,onClick:f,onKeyDown:m,disabled:c,ref:d,...i})});function B({className:t,...n}){const o=N(\"io-dropdown-content\",t);return e(\"div\",{className:o,...n})}L.displayName=\"DropdownButtonIcon\";const R=s({}),_=r((n,o)=>{const{className:i,prepend:r,append:a,isSelected:s,onClick:c,description:u,disabled:d=!1,children:f,tooltip:m,...p}=n,{variant:h=\"default\",selected:g,checkIcon:v,handleItemClick:y}=l(R),w=s??g?.some(e=>e.children===f),b=\"default\"!==h&&!!v,C=b||r,k=N(\"io-list-item\",C&&\"io-list-item-left\",a&&\"io-list-item-right\",\"default\"!==h&&w&&\"selected\",u&&\"io-list-item-description\",d&&\"io-list-item-disabled\",i);return t(\"li\",{className:k,ref:o,role:\"menuitem\",\"aria-roledescription\":\"menuitem\",tabIndex:0,onClick:e=>{d?e.preventDefault():(y?.(e,{children:f}),c?.(e))},...p,children:[C&&t(\"div\",{className:\"io-list-left-column\",children:[b&&e(S,{variant:v.variant,title:w?v.tooltip:void 0,\"data-testid\":\"list-item-check-icon\"}),r]}),e(\"span\",{className:\"io-list-text\",title:m,\"data-testid\":\"list-item-title\",children:f}),a&&e(\"div\",{className:\"io-list-right-column\",children:a}),u&&e(\"div\",{className:\"io-list-text-description\",children:u})]})});_.displayName=\"ListItem\";const H=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-title\",n);return t(\"li\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,\"data-testid\":\"list-item-title\",children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});H.displayName=\"ListItemTitle\";const j=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"io-list-item\",o&&\"io-list-item-left\",i&&\"io-list-item-right\",\"io-list-item-section\",n);return t(\"li\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});j.displayName=\"ListItemSection\";const $=r(({className:n,prepend:o,append:i,children:r,tooltip:a,...s},l)=>{const c=N(\"io-list-item-header\",n);return t(\"div\",{className:c,ref:l,...s,children:[o&&e(\"div\",{className:\"io-list-left-column\",children:o}),e(\"span\",{className:\"io-list-text\",title:a,children:r}),i&&e(\"div\",{className:\"io-list-right-column\",children:i})]})});$.displayName=\"ListItemHeader\";const z=r(({className:t,children:n,...o},i)=>{const r=N(\"io-list-item\",\"io-list-with-sub-items\",t);return e(\"li\",{className:r,ref:i,...o,children:n})});z.displayName=\"ListItemWithSubItems\";const W=r((t,n)=>{const{className:o,variant:i=\"default\",checkIcon:r,children:s,...l}=t,[d,f]=c([]),m=N(\"io-list\",\"default\"!==i&&\"io-list-selectable\",o),p=u(()=>{if(r)return\"object\"==typeof r?r:{variant:r}},[r]),h=a((e,t)=>{if(\"default\"===i)return;const n=d.some(e=>e.children?.toString()===t.children?.toString());\"single\"===i?f([t]):(()=>{const e=n?d.filter(e=>e.children!==t.children):[...d,t];f(e)})()},[d,i]),g=u(()=>({variant:i,selected:d,checkIcon:p,handleItemClick:h}),[i,d,p,h]);return e(R.Provider,{value:g,children:e(\"ul\",{className:m,ref:n,...l,children:s})})});W.displayName=\"List\";const V=W;V.Item=_,V.ItemTitle=H,V.ItemSection=j,V.ItemHeader=$,V.ItemWithSubItems=z;const Y=r((t,n)=>e(V,{...t,ref:n}));Y.displayName=\"DropdownList\";const U=r((t,n)=>{const{handleClose:o}=l(O),{onClick:i,onKeyDown:r,...s}=t,c=d(null),u=a(e=>{c.current=e,\"function\"==typeof n?n(e):n&&(n.current=e)},[n]);return e(_,{...s,ref:u,onClick:e=>{i?.(e),o?.()},onKeyDown:e=>{if(r?.(e),e.defaultPrevented||!A(e))return;e.preventDefault(),e.stopPropagation();const t=(\"function\"==typeof n?null:n?.current)||c.current;t?.click()}})});U.displayName=\"DropdownItem\";const K=r((t,n)=>e(H,{...t,ref:n}));K.displayName=\"DropdownItemTitle\";const J=r((t,n)=>e(j,{...t,ref:n}));function q({className:t,...n}){const o=N(\"io-separator\",t);return e(\"hr\",{className:o,...n})}J.displayName=\"DropdownItemSection\";const G=r((t,n)=>e(q,{...t}));G.displayName=\"DropdownSeparator\";function Q(e,t,n){const o=a(n=>{const o=t.some(e=>n.key===e);o&&(n.preventDefault(),e())},[e,t]);f(()=>{const e=n?.current||document;return e.addEventListener(\"keydown\",o),()=>{e.removeEventListener(\"keydown\",o)}},[o,n])}const X=r(({className:t,variant:n=\"outline\",align:o=\"down\",disabled:i,isOpen:r,onOpenChange:s,children:l,...p},h)=>{const g=d(null),v=d(null);m(h,()=>v.current,[]);const{isOpen:y,handleOpen:w,handleClose:b}=((e,t)=>{const[n,o]=c(!1),i=void 0!==e,r=i?e:n,s=a(e=>{i||o(e),t?.(e)},[i,t]),l=a(()=>s(!0),[s]),u=a(()=>s(!1),[s]);return{isOpen:r,setOpen:s,handleOpen:l,handleClose:u}})(r,s);((e,t,n=!0)=>{f(()=>{if(!n)return;const o=n=>{const o=n.target;o&&e.current&&!e.current.contains(o)&&(n.composedPath&&n.composedPath().some(t=>t===e.current||e.current&&t.nodeType===Node.ELEMENT_NODE&&e.current.contains(t))||t())},i=requestAnimationFrame(()=>{document.addEventListener(\"mousedown\",o,!0)});return()=>{cancelAnimationFrame(i),document.removeEventListener(\"mousedown\",o,!0)}},[e,t,n])})(v,b,y),Q(()=>{y&&b()},[\"Escape\"],v),Q(()=>{y||i||g.current!==document.activeElement||w()},[\"ArrowDown\",\"ArrowUp\"],v);const C=u(()=>({variant:n,align:o,disabled:i,isOpen:y,handleOpen:w,handleClose:b,handleToggle:y?b:w,setTriggerRef:e=>g.current=e}),[n,o,i,y,w,b]),k=N(\"io-dropdown\",y&&\"io-dropdown-open\",\"default\"!==n&&`io-dropdown-${n}`,t);return e(O.Provider,{value:C,children:e(\"div\",{className:k,ref:v,...p,children:l})})});function Z({className:t,variant:n=\"default\",align:o=\"left\",children:i,...r}){const a=N(\"io-btn-group\",\"default\"!==n&&`io-btn-group-${n}`,\"right\"===o&&\"io-btn-group-right\",t);return e(\"div\",{className:a,\"data-testid\":\"button-group\",...r,children:i})}function ee({className:t,draggable:n=!1,children:o,...i}){const r=N(\"io-header\",n&&[\"draggable\"],t);return e(\"header\",{className:r,...i,children:o})}function te({className:t,children:n,...o}){const i=N(\"io-dialog-header\",t);return e(ee,{\"data-testid\":\"io-dialog-header\",className:i,...o,children:n})}function ne({className:t,children:n,...o}){const i=N(\"io-dialog-body\",t);return e(\"div\",{\"data-testid\":\"io-dialog-body\",className:i,...o,children:n})}function oe({className:t,children:n,...o}){const i=N(\"io-footer\",t);return e(\"footer\",{className:i,...o,children:n})}function ie({className:t,...n}){const o=N(\"io-dialog-footer\",t);return e(oe,{\"data-testid\":\"io-dialog-footer\",className:o,...n})}function re({className:n,variant:o=\"default\",title:i=\"Dialog Title\",isOpen:r=!1,draggable:a=!1,closeFn:s,children:l,...c}){const u=d(null),f=N(\"io-dialog\",\"centered\"===o&&\"io-dialog-center\",n);return p(()=>{const e=u?.current;e&&(r?e.showModal():\"function\"==typeof e.close&&e.close())},[r]),t(\"dialog\",{\"data-testid\":\"io-dialog\",className:f,ref:u,\"data-modal\":!0,onClose:()=>{r&&s&&s()},onClick:e=>{r&&s&&\"DIALOG\"===e.target.nodeName&&s()},onKeyDown:e=>{const t=e.target instanceof HTMLDialogElement&&\"DIALOG\"===e.target.nodeName;r&&s&&\" \"===e.key&&t&&s()},...c,children:[t(te,{draggable:a,children:[e(\"h3\",{\"data-testid\":\"io-dialog-title\",children:i}),e(Z,{children:e(D,{className:\"non-draggable\",\"data-testid\":\"io-dialog-close-button\",size:\"24\",icon:\"close\",iconSize:\"12\",onClick:s,tabIndex:-1})})]}),l]})}function ae(){return\"undefined\"!=typeof window}function se(e){return ue(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function le(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ce(e){var t;return null==(t=(ue(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ue(e){return!!ae()&&(e instanceof Node||e instanceof le(e).Node)}function de(e){return!!ae()&&(e instanceof Element||e instanceof le(e).Element)}function fe(e){return!!ae()&&(e instanceof HTMLElement||e instanceof le(e).HTMLElement)}function me(e){return!(!ae()||\"undefined\"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof le(e).ShadowRoot)}X.Button=F,X.ButtonIcon=L,X.Content=B,X.List=Y,X.Item=U,X.ItemTitle=K,X.ItemSection=J,X.Separator=G,Z.Button=T,Z.ButtonIcon=D,Z.Dropdown=X,ee.Title=M,ee.ButtonGroup=Z,ee.Button=T,ee.ButtonIcon=D,ee.Dropdown=X,te.Title=M,te.ButtonGroup=Z,te.Button=T,te.ButtonIcon=D,te.Dropdown=X,ne.Content=function({className:t,children:n,...o}){const i=N(\"io-dialog-content\",t);return e(\"div\",{className:i,...o,children:n})},oe.ButtonGroup=Z,oe.Button=T,oe.ButtonIcon=D,oe.Dropdown=X,ie.ButtonGroup=Z,ie.Button=T,ie.ButtonIcon=D,ie.Dropdown=X,re.Header=te,re.Body=ne,re.Footer=ie;const pe=new Set([\"inline\",\"contents\"]);function he(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=Ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!pe.has(i)}const ge=new Set([\"table\",\"td\",\"th\"]);function ve(e){return ge.has(se(e))}const ye=[\":popover-open\",\":modal\"];function we(e){return ye.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const be=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\"],Ce=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\",\"filter\"],ke=[\"paint\",\"layout\",\"strict\",\"content\"];function Ne(e){const t=Se(),n=de(e)?Ee(e):e;return be.some(e=>!!n[e]&&\"none\"!==n[e])||!!n.containerType&&\"normal\"!==n.containerType||!t&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!t&&!!n.filter&&\"none\"!==n.filter||Ce.some(e=>(n.willChange||\"\").includes(e))||ke.some(e=>(n.contain||\"\").includes(e))}function Se(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}const De=new Set([\"html\",\"body\",\"#document\"]);function xe(e){return De.has(se(e))}function Ee(e){return le(e).getComputedStyle(e)}function Ie(e){return de(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Me(e){if(\"html\"===se(e))return e;const t=e.assignedSlot||e.parentNode||me(e)&&e.host||ce(e);return me(t)?t.host:t}function Pe(e){const t=Me(e);return xe(t)?e.ownerDocument?e.ownerDocument.body:e.body:fe(t)&&he(t)?t:Pe(t)}function Ae(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=Pe(e),r=i===(null==(o=e.ownerDocument)?void 0:o.body),a=le(i);if(r){const e=Te(a);return t.concat(a,a.visualViewport||[],he(i)?i:[],e&&n?Ae(e):[])}return t.concat(i,Ae(i,[],n))}function Te(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Oe(e){let t=e.activeElement;for(;null!=(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement);){var n;t=t.shadowRoot.activeElement}return t}function Fe(e,t){if(!e||!t)return!1;const n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&me(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function Le(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}function Be(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+\"/\"+n}).join(\" \"):navigator.userAgent}function Re(e){return!(0!==e.mozInputSource||!e.isTrusted)||(je()&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function _e(e){return!Be().includes(\"jsdom/\")&&(!je()&&0===e.width&&0===e.height||je()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function He(){return/apple/i.test(navigator.vendor)}function je(){const e=/android/i;return e.test(Le())||e.test(Be())}function $e(e,t){const n=[\"mouse\",\"pen\"];return t||n.push(\"\",void 0),n.includes(e)}function ze(e){return(null==e?void 0:e.ownerDocument)||document}function We(e,t){if(null==t)return!1;if(\"composedPath\"in e)return e.composedPath().includes(t);const n=e;return null!=n.target&&t.contains(n.target)}function Ve(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}function Ye(e){return fe(e)&&e.matches(\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\")}function Ue(e){e.preventDefault(),e.stopPropagation()}function Ke(e){return!!e&&(\"combobox\"===e.getAttribute(\"role\")&&Ye(e))}const Je=Math.min,qe=Math.max,Ge=Math.round,Qe=Math.floor,Xe=e=>({x:e,y:e}),Ze={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},et={start:\"end\",end:\"start\"};function tt(e,t,n){return qe(e,Je(t,n))}function nt(e,t){return\"function\"==typeof e?e(t):e}function ot(e){return e.split(\"-\")[0]}function it(e){return e.split(\"-\")[1]}function rt(e){return\"x\"===e?\"y\":\"x\"}function at(e){return\"y\"===e?\"height\":\"width\"}const st=new Set([\"top\",\"bottom\"]);function lt(e){return st.has(ot(e))?\"y\":\"x\"}function ct(e){return rt(lt(e))}function ut(e){return e.replace(/start|end/g,e=>et[e])}const dt=[\"left\",\"right\"],ft=[\"right\",\"left\"],mt=[\"top\",\"bottom\"],pt=[\"bottom\",\"top\"];function ht(e,t,n,o){const i=it(e);let r=function(e,t,n){switch(e){case\"top\":case\"bottom\":return n?t?ft:dt:t?dt:ft;case\"left\":case\"right\":return t?mt:pt;default:return[]}}(ot(e),\"start\"===n,o);return i&&(r=r.map(e=>e+\"-\"+i),t&&(r=r.concat(r.map(ut)))),r}function gt(e){return e.replace(/left|right|bottom|top/g,e=>Ze[e])}function vt(e){const{x:t,y:n,width:o,height:i}=e;return{width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/var yt=[\"input:not([inert])\",\"select:not([inert])\",\"textarea:not([inert])\",\"a[href]:not([inert])\",\"button:not([inert])\",\"[tabindex]:not(slot):not([inert])\",\"audio[controls]:not([inert])\",\"video[controls]:not([inert])\",'[contenteditable]:not([contenteditable=\"false\"]):not([inert])',\"details>summary:first-of-type:not([inert])\",\"details:not([inert])\"].join(\",\"),wt=\"undefined\"==typeof Element,bt=wt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ct=!wt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},kt=function e(t,n){var o;void 0===n&&(n=!0);var i=null==t||null===(o=t.getAttribute)||void 0===o?void 0:o.call(t,\"inert\");return\"\"===i||\"true\"===i||n&&t&&e(t.parentNode)},Nt=function e(t,n,o){for(var i=[],r=Array.from(t);r.length;){var a=r.shift();if(!kt(a,!1))if(\"SLOT\"===a.tagName){var s=a.assignedElements(),l=e(s.length?s:a.children,!0,o);o.flatten?i.push.apply(i,l):i.push({scopeParent:a,candidates:l})}else{bt.call(a,yt)&&o.filter(a)&&(n||!t.includes(a))&&i.push(a);var c=a.shadowRoot||\"function\"==typeof o.getShadowRoot&&o.getShadowRoot(a),u=!kt(c,!1)&&(!o.shadowRootFilter||o.shadowRootFilter(a));if(c&&u){var d=e(!0===c?a.children:c.children,!0,o);o.flatten?i.push.apply(i,d):i.push({scopeParent:a,candidates:d})}else r.unshift.apply(r,a.children)}}return i},St=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},Dt=function(e){if(!e)throw new Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,\"contenteditable\");return\"\"===n||\"true\"===n}(e))&&!St(e)?0:e.tabIndex},xt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Et=function(e){return\"INPUT\"===e.tagName},It=function(e){return function(e){return Et(e)&&\"radio\"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,n=e.form||Ct(e),o=function(e){return n.querySelectorAll('input[type=\"radio\"][name=\"'+e+'\"]')};if(\"undefined\"!=typeof window&&void 0!==window.CSS&&\"function\"==typeof window.CSS.escape)t=o(window.CSS.escape(e.name));else try{t=o(e.name)}catch(e){return console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\",e.message),!1}var i=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]}(t,e.form);return!i||i===e}(e)},Mt=function(e){var t=e.getBoundingClientRect(),n=t.width,o=t.height;return 0===n&&0===o},Pt=function(e,t){var n=t.displayCheck,o=t.getShadowRoot;if(\"hidden\"===getComputedStyle(e).visibility)return!0;var i=bt.call(e,\"details>summary:first-of-type\")?e.parentElement:e;if(bt.call(i,\"details:not([open]) *\"))return!0;if(n&&\"full\"!==n&&\"legacy-full\"!==n){if(\"non-zero-area\"===n)return Mt(e)}else{if(\"function\"==typeof o){for(var r=e;e;){var a=e.parentElement,s=Ct(e);if(a&&!a.shadowRoot&&!0===o(a))return Mt(e);e=e.assignedSlot?e.assignedSlot:a||s===e.ownerDocument?a:s.host}e=r}if(function(e){var t,n,o,i,r=e&&Ct(e),a=null===(t=r)||void 0===t?void 0:t.host,s=!1;if(r&&r!==e)for(s=!!(null!==(n=a)&&void 0!==n&&null!==(o=n.ownerDocument)&&void 0!==o&&o.contains(a)||null!=e&&null!==(i=e.ownerDocument)&&void 0!==i&&i.contains(e));!s&&a;){var l,c,u;s=!(null===(c=a=null===(l=r=Ct(a))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(a))}return s}(e))return!e.getClientRects().length;if(\"legacy-full\"!==n)return!0}return!1},At=function(e,t){return!(t.disabled||kt(t)||function(e){return Et(e)&&\"hidden\"===e.type}(t)||Pt(t,e)||function(e){return\"DETAILS\"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return\"SUMMARY\"===e.tagName})}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(\"FIELDSET\"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var o=t.children.item(n);if(\"LEGEND\"===o.tagName)return!!bt.call(t,\"fieldset[disabled] *\")||!o.contains(e)}return!0}t=t.parentElement}return!1}(t))},Tt=function(e,t){return!(It(t)||Dt(t)<0||!At(e,t))},Ot=function(e){var t=parseInt(e.getAttribute(\"tabindex\"),10);return!!(isNaN(t)||t>=0)},Ft=function e(t){var n=[],o=[];return t.forEach(function(t,i){var r=!!t.scopeParent,a=r?t.scopeParent:t,s=function(e,t){var n=Dt(e);return n<0&&t&&!St(e)?0:n}(a,r),l=r?e(t.candidates):a;0===s?r?n.push.apply(n,l):n.push(a):o.push({documentOrder:i,tabIndex:s,item:t,isScope:r,content:l})}),o.sort(xt).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(n)},Lt=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Nt([e],t.includeContainer,{filter:Tt.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Ot}):function(e,t,n){if(kt(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(yt));return t&&bt.call(e,yt)&&o.unshift(e),o.filter(n)}(e,t.includeContainer,Tt.bind(null,t)),Ft(n)};function Bt(e,t,n){let{reference:o,floating:i}=e;const r=lt(t),a=ct(t),s=at(a),l=ot(t),c=\"y\"===r,u=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[s]/2-i[s]/2;let m;switch(l){case\"top\":m={x:u,y:o.y-i.height};break;case\"bottom\":m={x:u,y:o.y+o.height};break;case\"right\":m={x:o.x+o.width,y:d};break;case\"left\":m={x:o.x-i.width,y:d};break;default:m={x:o.x,y:o.y}}switch(it(t)){case\"start\":m[a]-=f*(n&&c?-1:1);break;case\"end\":m[a]+=f*(n&&c?-1:1)}return m}async function Rt(e,t){var n;void 0===t&&(t={});const{x:o,y:i,platform:r,rects:a,elements:s,strategy:l}=e,{boundary:c=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:d=\"floating\",altBoundary:f=!1,padding:m=0}=nt(t,e),p=function(e){return\"number\"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}(m),h=s[f?\"floating\"===d?\"reference\":\"floating\":d],g=vt(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(h)))||n?h:h.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),v=\"floating\"===d?{x:o,y:i,width:a.floating.width,height:a.floating.height}:a.reference,y=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),w=await(null==r.isElement?void 0:r.isElement(y))&&await(null==r.getScale?void 0:r.getScale(y))||{x:1,y:1},b=vt(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:v,offsetParent:y,strategy:l}):v);return{top:(g.top-b.top+p.top)/w.y,bottom:(b.bottom-g.bottom+p.bottom)/w.y,left:(g.left-b.left+p.left)/w.x,right:(b.right-g.right+p.right)/w.x}}const _t=new Set([\"left\",\"top\"]);function Ht(e){const t=Ee(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=fe(e),r=i?e.offsetWidth:n,a=i?e.offsetHeight:o,s=Ge(n)!==r||Ge(o)!==a;return s&&(n=r,o=a),{width:n,height:o,$:s}}function jt(e){return de(e)?e:e.contextElement}function $t(e){const t=jt(e);if(!fe(t))return Xe(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:r}=Ht(t);let a=(r?Ge(n.width):n.width)/o,s=(r?Ge(n.height):n.height)/i;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const zt=Xe(0);function Wt(e){const t=le(e);return Se()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:zt}function Vt(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),r=jt(e);let a=Xe(1);t&&(o?de(o)&&(a=$t(o)):a=$t(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==le(e))&&t}(r,n,o)?Wt(r):Xe(0);let l=(i.left+s.x)/a.x,c=(i.top+s.y)/a.y,u=i.width/a.x,d=i.height/a.y;if(r){const e=le(r),t=o&&de(o)?le(o):o;let n=e,i=Te(n);for(;i&&o&&t!==n;){const e=$t(i),t=i.getBoundingClientRect(),o=Ee(i),r=t.left+(i.clientLeft+parseFloat(o.paddingLeft))*e.x,a=t.top+(i.clientTop+parseFloat(o.paddingTop))*e.y;l*=e.x,c*=e.y,u*=e.x,d*=e.y,l+=r,c+=a,n=le(i),i=Te(n)}}return vt({width:u,height:d,x:l,y:c})}function Yt(e,t){const n=Ie(e).scrollLeft;return t?t.left+n:Vt(ce(e)).left+n}function Ut(e,t,n){void 0===n&&(n=!1);const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-(n?0:Yt(e,o)),y:o.top+t.scrollTop}}const Kt=new Set([\"absolute\",\"fixed\"]);function Jt(e,t,n){let o;if(\"viewport\"===t)o=function(e,t){const n=le(e),o=ce(e),i=n.visualViewport;let r=o.clientWidth,a=o.clientHeight,s=0,l=0;if(i){r=i.width,a=i.height;const e=Se();(!e||e&&\"fixed\"===t)&&(s=i.offsetLeft,l=i.offsetTop)}return{width:r,height:a,x:s,y:l}}(e,n);else if(\"document\"===t)o=function(e){const t=ce(e),n=Ie(e),o=e.ownerDocument.body,i=qe(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=qe(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+Yt(e);const s=-n.scrollTop;return\"rtl\"===Ee(o).direction&&(a+=qe(t.clientWidth,o.clientWidth)-i),{width:i,height:r,x:a,y:s}}(ce(e));else if(de(t))o=function(e,t){const n=Vt(e,!0,\"fixed\"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,r=fe(e)?$t(e):Xe(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:i*r.x,y:o*r.y}}(t,n);else{const n=Wt(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return vt(o)}function qt(e,t){const n=Me(e);return!(n===t||!de(n)||xe(n))&&(\"fixed\"===Ee(n).position||qt(n,t))}function Gt(e,t,n){const o=fe(t),i=ce(t),r=\"fixed\"===n,a=Vt(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const l=Xe(0);function c(){l.x=Yt(i)}if(o||!o&&!r)if((\"body\"!==se(t)||he(i))&&(s=Ie(t)),o){const e=Vt(t,!0,r,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else i&&c();r&&!o&&i&&c();const u=!i||o||r?Xe(0):Ut(i,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function Qt(e){return\"static\"===Ee(e).position}function Xt(e,t){if(!fe(e)||\"fixed\"===Ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return ce(e)===n&&(n=n.ownerDocument.body),n}function Zt(e,t){const n=le(e);if(we(e))return n;if(!fe(e)){let t=Me(e);for(;t&&!xe(t);){if(de(t)&&!Qt(t))return t;t=Me(t)}return n}let o=Xt(e,t);for(;o&&ve(o)&&Qt(o);)o=Xt(o,t);return o&&xe(o)&&Qt(o)&&!Ne(o)?n:o||function(e){let t=Me(e);for(;fe(t)&&!xe(t);){if(Ne(t))return t;if(we(t))return null;t=Me(t)}return null}(e)||n}const en={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e;const r=\"fixed\"===i,a=ce(o),s=!!t&&we(t.floating);if(o===a||s&&r)return n;let l={scrollLeft:0,scrollTop:0},c=Xe(1);const u=Xe(0),d=fe(o);if((d||!d&&!r)&&((\"body\"!==se(o)||he(a))&&(l=Ie(o)),fe(o))){const e=Vt(o);c=$t(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const f=!a||d||r?Xe(0):Ut(a,l,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+f.x,y:n.y*c.y-l.scrollTop*c.y+u.y+f.y}},getDocumentElement:ce,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[...\"clippingAncestors\"===n?we(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let o=Ae(e,[],!1).filter(e=>de(e)&&\"body\"!==se(e)),i=null;const r=\"fixed\"===Ee(e).position;let a=r?Me(e):e;for(;de(a)&&!xe(a);){const t=Ee(a),n=Ne(a);n||\"fixed\"!==t.position||(i=null),(r?!n&&!i:!n&&\"static\"===t.position&&i&&Kt.has(i.position)||he(a)&&!n&&qt(e,a))?o=o.filter(e=>e!==a):i=t,a=Me(a)}return t.set(e,o),o}(t,this._c):[].concat(n),o],a=r[0],s=r.reduce((e,n)=>{const o=Jt(t,n,i);return e.top=qe(o.top,e.top),e.right=Je(o.right,e.right),e.bottom=Je(o.bottom,e.bottom),e.left=qe(o.left,e.left),e},Jt(t,a,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:Zt,getElementRects:async function(e){const t=this.getOffsetParent||Zt,n=this.getDimensions,o=await n(e.floating);return{reference:Gt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Ht(e);return{width:t,height:n}},getScale:$t,isElement:de,isRTL:function(e){return\"rtl\"===Ee(e).direction}};function tn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nn(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:a=\"function\"==typeof ResizeObserver,layoutShift:s=\"function\"==typeof IntersectionObserver,animationFrame:l=!1}=o,c=jt(e),u=i||r?[...c?Ae(c):[],...Ae(t)]:[];u.forEach(e=>{i&&e.addEventListener(\"scroll\",n,{passive:!0}),r&&e.addEventListener(\"resize\",n)});const d=c&&s?function(e,t){let n,o=null;const i=ce(e);function r(){var e;clearTimeout(n),null==(e=o)||e.disconnect(),o=null}return function a(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),r();const c=e.getBoundingClientRect(),{left:u,top:d,width:f,height:m}=c;if(s||t(),!f||!m)return;const p={rootMargin:-Qe(d)+\"px \"+-Qe(i.clientWidth-(u+f))+\"px \"+-Qe(i.clientHeight-(d+m))+\"px \"+-Qe(u)+\"px\",threshold:qe(0,Je(1,l))||1};let h=!0;function g(t){const o=t[0].intersectionRatio;if(o!==l){if(!h)return a();o?a(!1,o):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==o||tn(c,e.getBoundingClientRect())||a(),h=!1}try{o=new IntersectionObserver(g,{...p,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(g,p)}o.observe(e)}(!0),r}(c,n):null;let f,m=-1,p=null;a&&(p=new ResizeObserver(e=>{let[o]=e;o&&o.target===c&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=p)||e.observe(t)})),n()}),c&&!l&&p.observe(c),p.observe(t));let h=l?Vt(e):null;return l&&function t(){const o=Vt(e);h&&!tn(h,o)&&n();h=o,f=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(\"scroll\",n),r&&e.removeEventListener(\"resize\",n)}),null==d||d(),null==(e=p)||e.disconnect(),p=null,l&&cancelAnimationFrame(f)}}const on=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(t){var n,o;const{x:i,y:r,placement:a,middlewareData:s}=t,l=await async function(e,t){const{placement:n,platform:o,elements:i}=e,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),a=ot(n),s=it(n),l=\"y\"===lt(n),c=_t.has(a)?-1:1,u=r&&l?-1:1,d=nt(t,e);let{mainAxis:f,crossAxis:m,alignmentAxis:p}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&\"number\"==typeof p&&(m=\"end\"===s?-1*p:p),l?{x:m*u,y:f*c}:{x:f*c,y:m*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(o=s.arrow)&&o.alignmentOffset?{}:{x:i+l.x,y:r+l.y,data:{...l,placement:a}}}}},rn=function(e){return void 0===e&&(e={}),{name:\"shift\",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:r=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=nt(e,t),c={x:n,y:o},u=await Rt(t,l),d=lt(ot(i)),f=rt(d);let m=c[f],p=c[d];if(r){const e=\"y\"===f?\"bottom\":\"right\";m=tt(m+u[\"y\"===f?\"top\":\"left\"],m,m-u[e])}if(a){const e=\"y\"===d?\"bottom\":\"right\";p=tt(p+u[\"y\"===d?\"top\":\"left\"],p,p-u[e])}const h=s.fn({...t,[f]:m,[d]:p});return{...h,data:{x:h.x-n,y:h.y-o,enabled:{[f]:r,[d]:a}}}}}},an=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(t){var n,o;const{placement:i,middlewareData:r,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:f,fallbackStrategy:m=\"bestFit\",fallbackAxisSideDirection:p=\"none\",flipAlignment:h=!0,...g}=nt(e,t);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const v=ot(i),y=lt(s),w=ot(s)===s,b=await(null==l.isRTL?void 0:l.isRTL(c.floating)),C=f||(w||!h?[gt(s)]:function(e){const t=gt(e);return[ut(e),t,ut(t)]}(s)),k=\"none\"!==p;!f&&k&&C.push(...ht(s,h,p,b));const N=[s,...C],S=await Rt(t,g),D=[];let x=(null==(o=r.flip)?void 0:o.overflows)||[];if(u&&D.push(S[v]),d){const e=function(e,t,n){void 0===n&&(n=!1);const o=it(e),i=ct(e),r=at(i);let a=\"x\"===i?o===(n?\"end\":\"start\")?\"right\":\"left\":\"start\"===o?\"bottom\":\"top\";return t.reference[r]>t.floating[r]&&(a=gt(a)),[a,gt(a)]}(i,a,b);D.push(S[e[0]],S[e[1]])}if(x=[...x,{placement:i,overflows:D}],!D.every(e=>e<=0)){var E,I;const e=((null==(E=r.flip)?void 0:E.index)||0)+1,t=N[e];if(t){if(!(\"alignment\"===d&&y!==lt(t))||x.every(e=>lt(e.placement)!==y||e.overflows[0]>0))return{data:{index:e,overflows:x},reset:{placement:t}}}let n=null==(I=x.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:I.placement;if(!n)switch(m){case\"bestFit\":{var M;const e=null==(M=x.filter(e=>{if(k){const t=lt(e.placement);return t===y||\"y\"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:M[0];e&&(n=e);break}case\"initialPlacement\":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}},sn=(e,t,n)=>{const o=new Map,i={platform:en,...n},r={...i.platform,_c:o};return(async(e,t,n)=>{const{placement:o=\"bottom\",strategy:i=\"absolute\",middleware:r=[],platform:a}=n,s=r.filter(Boolean),l=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Bt(c,o,l),f=o,m={},p=0;for(let n=0;n<s.length;n++){const{name:r,fn:h}=s[n],{x:g,y:v,data:y,reset:w}=await h({x:u,y:d,initialPlacement:o,placement:f,strategy:i,middlewareData:m,rects:c,platform:a,elements:{reference:e,floating:t}});u=null!=g?g:u,d=null!=v?v:d,m={...m,[r]:{...m[r],...y}},w&&p<=50&&(p++,\"object\"==typeof w&&(w.placement&&(f=w.placement),w.rects&&(c=!0===w.rects?await a.getElementRects({reference:e,floating:t,strategy:i}):w.rects),({x:u,y:d}=Bt(c,f,l))),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}})(e,t,{...i,platform:r})};var ln=\"undefined\"!=typeof document?p:function(){};function cn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(\"function\"==typeof e&&e.toString()===t.toString())return!0;let n,o,i;if(e&&t&&\"object\"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;0!==o--;)if(!cn(e[o],t[o]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(o=n;0!==o--;)if(!{}.hasOwnProperty.call(t,i[o]))return!1;for(o=n;0!==o--;){const n=i[o];if((\"_owner\"!==n||!e.$$typeof)&&!cn(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function un(e){if(\"undefined\"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function dn(e,t){const n=un(e);return Math.round(t*n)/n}function fn(e){const t=o.useRef(e);return ln(()=>{t.current=e}),t}const mn=(e,t)=>({...rn(e),options:[e,t]}),pn=(e,t)=>({...an(e),options:[e,t]});function hn(e){return o.useMemo(()=>e.every(e=>null==e)?null:t=>{e.forEach(e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)})},e)}const gn={...o},vn=gn.useInsertionEffect||(e=>e());function yn(e){const t=o.useRef(()=>{if(\"production\"!==process.env.NODE_ENV)throw new Error(\"Cannot call an event handler while rendering.\")});return vn(()=>{t.current=e}),o.useCallback(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return null==t.current?void 0:t.current(...n)},[])}const wn=\"ArrowUp\",bn=\"ArrowDown\",Cn=\"ArrowLeft\",kn=\"ArrowRight\";function Nn(e,t,n){return Math.floor(e/t)!==n}function Sn(e,t){return t<0||t>=e.current.length}function Dn(e,t){return En(e,{disabledIndices:t})}function xn(e,t){return En(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function En(e,t){let{startingIndex:n=-1,decrement:o=!1,disabledIndices:i,amount:r=1}=void 0===t?{}:t;const a=e.current;let s=n;do{s+=o?-r:r}while(s>=0&&s<=a.length-1&&Pn(a,s,i));return s}function In(e,t,n,o,i){if(-1===e)return-1;const r=n.indexOf(e),a=t[e];switch(i){case\"tl\":return r;case\"tr\":return a?r+a.width-1:r;case\"bl\":return a?r+(a.height-1)*o:r;case\"br\":return n.lastIndexOf(e)}}function Mn(e,t){return t.flatMap((t,n)=>e.includes(t)?[n]:[])}function Pn(e,t,n){if(n)return n.includes(t);const o=e[t];return null==o||o.hasAttribute(\"disabled\")||\"true\"===o.getAttribute(\"aria-disabled\")}var An=\"undefined\"!=typeof document?p:f;function Tn(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}const On=o.createContext({register:()=>{},unregister:()=>{},map:new Map,elementsRef:{current:[]}});function Fn(e){const{children:t,elementsRef:n,labelsRef:i}=e,[r,a]=o.useState(()=>new Map),s=o.useCallback(e=>{a(t=>new Map(t).set(e,null))},[]),l=o.useCallback(e=>{a(t=>{const n=new Map(t);return n.delete(e),n})},[]);return An(()=>{const e=new Map(r);Array.from(e.keys()).sort(Tn).forEach((t,n)=>{e.set(t,n)}),function(e,t){if(e.size!==t.size)return!1;for(const[n,o]of e.entries())if(o!==t.get(n))return!1;return!0}(r,e)||a(e)},[r]),o.createElement(On.Provider,{value:o.useMemo(()=>({register:s,unregister:l,map:r,elementsRef:n,labelsRef:i}),[s,l,r,n,i])},t)}function Ln(e){void 0===e&&(e={});const{label:t}=e,{register:n,unregister:i,map:r,elementsRef:a,labelsRef:s}=o.useContext(On),[l,c]=o.useState(null),u=o.useRef(null),d=o.useCallback(e=>{if(u.current=e,null!==l&&(a.current[l]=e,s)){var n;const o=void 0!==t;s.current[l]=o?t:null!=(n=null==e?void 0:e.textContent)?n:null}},[l,a,s,t]);return An(()=>{const e=u.current;if(e)return n(e),()=>{i(e)}},[n,i]),An(()=>{const e=u.current?r.get(u.current):null;null!=e&&c(e)},[r]),o.useMemo(()=>({ref:d,index:null==l?-1:l}),[l,d])}function Bn(){return Bn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Bn.apply(this,arguments)}let Rn=!1,_n=0;const Hn=()=>\"floating-ui-\"+Math.random().toString(36).slice(2,6)+_n++;const jn=gn.useId||function(){const[e,t]=o.useState(()=>Rn?Hn():void 0);return An(()=>{null==e&&t(Hn())},[]),o.useEffect(()=>{Rn=!0},[]),e};let $n;function zn(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=$n)&&e.has(i)||(null==(r=$n)||r.add(i),console.warn(i))}function Wn(){const e=new Map;return{emit(t,n){var o;null==(o=e.get(t))||o.forEach(e=>e(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){var o;e.set(t,(null==(o=e.get(t))?void 0:o.filter(e=>e!==n))||[])}}}\"production\"!==process.env.NODE_ENV&&($n=new Set);const Vn=o.createContext(null),Yn=o.createContext(null),Un=()=>{var e;return(null==(e=o.useContext(Vn))?void 0:e.id)||null},Kn=()=>o.useContext(Yn);function Jn(e){const{children:t,id:n}=e,i=Un();return o.createElement(Vn.Provider,{value:o.useMemo(()=>({id:n,parentId:i}),[n,i])},t)}function qn(e){const{children:t}=e,n=o.useRef([]),i=o.useCallback(e=>{n.current=[...n.current,e]},[]),r=o.useCallback(e=>{n.current=n.current.filter(t=>t!==e)},[]),a=o.useState(()=>Wn())[0];return o.createElement(Yn.Provider,{value:o.useMemo(()=>({nodesRef:n,addNode:i,removeNode:r,events:a}),[i,r,a])},t)}function Gn(e){return\"data-floating-ui-\"+e}function Qn(e){const t=d(e);return An(()=>{t.current=e}),t}const Xn=Gn(\"safe-polygon\");function Zn(e,t,n){return n&&!$e(n)?0:\"number\"==typeof e?e:null==e?void 0:e[t]}let eo=0;function to(e,t){void 0===t&&(t={});const{preventScroll:n=!1,cancelPrevious:o=!0,sync:i=!1}=t;o&&cancelAnimationFrame(eo);const r=()=>null==e?void 0:e.focus({preventScroll:n});i?r():eo=requestAnimationFrame(r)}function no(e,t){let n=e.filter(e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)}),o=n;for(;o.length;)o=e.filter(e=>{var t;return null==(t=o)?void 0:t.some(t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)})}),n=n.concat(o);return n}let oo=new WeakMap,io=new WeakSet,ro={},ao=0;const so=e=>e&&(e.host||so(e.parentNode));function lo(e,t,n,o){const i=\"data-floating-ui-inert\",r=o?\"inert\":n?\"aria-hidden\":null,a=(s=t,e.map(e=>{if(s.contains(e))return e;const t=so(e);return s.contains(t)?t:null}).filter(e=>null!=e));var s;const l=new Set,c=new Set(a),u=[];ro[i]||(ro[i]=new WeakMap);const d=ro[i];return a.forEach(function e(t){if(!t||l.has(t))return;l.add(t),t.parentNode&&e(t.parentNode)}),function e(t){if(!t||c.has(t))return;[].forEach.call(t.children,t=>{if(\"script\"!==se(t))if(l.has(t))e(t);else{const e=r?t.getAttribute(r):null,n=null!==e&&\"false\"!==e,o=(oo.get(t)||0)+1,a=(d.get(t)||0)+1;oo.set(t,o),d.set(t,a),u.push(t),1===o&&n&&io.add(t),1===a&&t.setAttribute(i,\"\"),!n&&r&&t.setAttribute(r,\"true\")}})}(t),l.clear(),ao++,()=>{u.forEach(e=>{const t=(oo.get(e)||0)-1,n=(d.get(e)||0)-1;oo.set(e,t),d.set(e,n),t||(!io.has(e)&&r&&e.removeAttribute(r),io.delete(e)),n||e.removeAttribute(i)}),ao--,ao||(oo=new WeakMap,oo=new WeakMap,io=new WeakSet,ro={})}}function co(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=ze(e[0]).body;return lo(e.concat(Array.from(o.querySelectorAll(\"[aria-live]\"))),o,t,n)}const uo=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function fo(e,t){const n=Lt(e,uo());\"prev\"===t&&n.reverse();const o=n.indexOf(Oe(ze(e)));return n.slice(o+1)[0]}function mo(e,t){const n=t||e.currentTarget,o=e.relatedTarget;return!o||!Fe(n,o)}const po={border:0,clip:\"rect(0 0 0 0)\",height:\"1px\",margin:\"-1px\",overflow:\"hidden\",padding:0,position:\"fixed\",whiteSpace:\"nowrap\",width:\"1px\",top:0,left:0};function ho(e){\"Tab\"===e.key&&(e.target,clearTimeout(undefined))}const go=o.forwardRef(function(e,t){const[n,i]=o.useState();An(()=>(He()&&i(\"button\"),document.addEventListener(\"keydown\",ho),()=>{document.removeEventListener(\"keydown\",ho)}),[]);const r={ref:t,tabIndex:0,role:n,\"aria-hidden\":!n||void 0,[Gn(\"focus-guard\")]:\"\",style:po};return o.createElement(\"span\",Bn({},e,r))}),vo=o.createContext(null),yo=\"data-floating-ui-focusable\";function wo(e){return e?e.hasAttribute(yo)?e:e.querySelector(\"[\"+yo+\"]\")||e:null}let bo=[];function Co(e){bo=bo.filter(e=>e.isConnected);let t=e;if(t&&\"body\"!==se(t)){if(!function(e,t){if(t=t||{},!e)throw new Error(\"No node provided\");return!1!==bt.call(e,yt)&&Tt(t,e)}(t,uo())){const e=Lt(t,uo())[0];e&&(t=e)}bo.push(t),bo.length>20&&(bo=bo.slice(-20))}}function ko(){return bo.slice().reverse().find(e=>e.isConnected)}const No=o.forwardRef(function(e,t){return o.createElement(\"button\",Bn({},e,{type:\"button\",ref:t,tabIndex:-1,style:po}))});function So(e){const{context:t,children:n,disabled:i=!1,order:r=[\"content\"],guards:a=!0,initialFocus:s=0,returnFocus:l=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0}=e,{open:m,refs:p,nodeId:h,onOpenChange:g,events:v,dataRef:y,floatingId:w,elements:{domReference:b,floating:C}}=t,k=\"number\"==typeof s&&s<0,N=Ke(b)&&k,S=\"undefined\"==typeof HTMLElement||!(\"inert\"in HTMLElement.prototype)||a,D=Qn(r),x=Qn(s),E=Qn(l),I=Kn(),M=o.useContext(vo),P=o.useRef(null),A=o.useRef(null),T=o.useRef(!1),O=o.useRef(!1),F=o.useRef(-1),L=null!=M,B=wo(C),R=yn(function(e){return void 0===e&&(e=B),e?Lt(e,uo()):[]}),_=yn(e=>{const t=R(e);return D.current.map(e=>b&&\"reference\"===e?b:B&&\"floating\"===e?B:t).filter(Boolean).flat()});function H(e){return!i&&d&&u?o.createElement(No,{ref:\"start\"===e?P:A,onClick:e=>g(!1,e.nativeEvent)},\"string\"==typeof d?d:\"Dismiss\"):null}o.useEffect(()=>{if(i)return;if(!u)return;function e(e){if(\"Tab\"===e.key){Fe(B,Oe(ze(B)))&&0===R().length&&!N&&Ue(e);const t=_(),n=Ve(e);\"reference\"===D.current[0]&&n===b&&(Ue(e),e.shiftKey?to(t[t.length-1]):to(t[1])),\"floating\"===D.current[1]&&n===B&&e.shiftKey&&(Ue(e),to(t[0]))}}const t=ze(B);return t.addEventListener(\"keydown\",e),()=>{t.removeEventListener(\"keydown\",e)}},[i,b,B,u,D,N,R,_]),o.useEffect(()=>{if(!i&&C)return C.addEventListener(\"focusin\",e),()=>{C.removeEventListener(\"focusin\",e)};function e(e){const t=Ve(e),n=R().indexOf(t);-1!==n&&(F.current=n)}},[i,C,R]),o.useEffect(()=>{if(!i&&f)return C&&fe(b)?(b.addEventListener(\"focusout\",t),b.addEventListener(\"pointerdown\",e),C.addEventListener(\"focusout\",t),()=>{b.removeEventListener(\"focusout\",t),b.removeEventListener(\"pointerdown\",e),C.removeEventListener(\"focusout\",t)}):void 0;function e(){O.current=!0,setTimeout(()=>{O.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const n=!(Fe(b,t)||Fe(C,t)||Fe(t,C)||Fe(null==M?void 0:M.portalNode,t)||null!=t&&t.hasAttribute(Gn(\"focus-guard\"))||I&&(no(I.nodesRef.current,h).find(e=>{var n,o;return Fe(null==(n=e.context)?void 0:n.elements.floating,t)||Fe(null==(o=e.context)?void 0:o.elements.domReference,t)})||function(e,t){var n;let o=[],i=null==(n=e.find(e=>e.id===t))?void 0:n.parentId;for(;i;){const t=e.find(e=>e.id===i);i=null==t?void 0:t.parentId,t&&(o=o.concat(t))}return o}(I.nodesRef.current,h).find(e=>{var n,o;return(null==(n=e.context)?void 0:n.elements.floating)===t||(null==(o=e.context)?void 0:o.elements.domReference)===t})));if(c&&n&&Oe(ze(B))===ze(B).body){fe(B)&&B.focus();const e=F.current,t=R(),n=t[e]||t[t.length-1]||B;fe(n)&&n.focus()}!N&&u||!t||!n||O.current||t===ko()||(T.current=!0,g(!1,e,\"focus-out\"))})}},[i,b,C,B,u,h,I,M,g,f,c,R,N]),o.useEffect(()=>{var e;if(i)return;const t=Array.from((null==M||null==(e=M.portalNode)?void 0:e.querySelectorAll(\"[\"+Gn(\"portal\")+\"]\"))||[]);if(C){const e=[C,...t,P.current,A.current,D.current.includes(\"reference\")||N?b:null].filter(e=>null!=e),n=u||N?co(e,S,!S):co(e);return()=>{n()}}},[i,b,C,u,D,M,N,S]),An(()=>{if(i||!fe(B))return;const e=Oe(ze(B));queueMicrotask(()=>{const t=_(B),n=x.current,o=(\"number\"==typeof n?t[n]:n.current)||B,i=Fe(B,e);k||i||!m||to(o,{preventScroll:o===B})})},[i,m,B,k,_,x]),An(()=>{if(i||!B)return;let e=!1;const t=ze(B),n=Oe(t);let o=y.current.openEvent;function r(t){let{open:n,reason:i,event:r,nested:a}=t;n&&(o=r),\"escape-key\"===i&&p.domReference.current&&Co(p.domReference.current),\"hover\"===i&&\"mouseleave\"===r.type&&(T.current=!0),\"outside-press\"===i&&(a?(T.current=!1,e=!0):T.current=!(Re(r)||_e(r)))}Co(n),v.on(\"openchange\",r);const a=t.createElement(\"span\");return a.setAttribute(\"tabindex\",\"-1\"),a.setAttribute(\"aria-hidden\",\"true\"),Object.assign(a.style,po),L&&b&&b.insertAdjacentElement(\"afterend\",a),()=>{v.off(\"openchange\",r);const n=Oe(t),i=Fe(C,n)||I&&no(I.nodesRef.current,h).some(e=>{var t;return Fe(null==(t=e.context)?void 0:t.elements.floating,n)});(i||o&&[\"click\",\"mousedown\"].includes(o.type))&&p.domReference.current&&Co(p.domReference.current);const s=\"boolean\"==typeof E.current?ko()||a:E.current.current||a;queueMicrotask(()=>{E.current&&!T.current&&fe(s)&&(s===n||n===t.body||i)&&s.focus({preventScroll:e}),a.remove()})}},[i,C,B,E,y,p,v,I,h,L,b]),o.useEffect(()=>{queueMicrotask(()=>{T.current=!1})},[i]),An(()=>{if(!i&&M)return M.setFocusManagerState({modal:u,closeOnFocusOut:f,open:m,onOpenChange:g,refs:p}),()=>{M.setFocusManagerState(null)}},[i,M,u,m,g,p,f]),An(()=>{if(i)return;if(!B)return;if(\"function\"!=typeof MutationObserver)return;if(k)return;const e=()=>{const e=B.getAttribute(\"tabindex\"),t=R(),n=Oe(ze(C)),o=t.indexOf(n);-1!==o&&(F.current=o),D.current.includes(\"floating\")||n!==p.domReference.current&&0===t.length?\"0\"!==e&&B.setAttribute(\"tabindex\",\"0\"):\"-1\"!==e&&B.setAttribute(\"tabindex\",\"-1\")};e();const t=new MutationObserver(e);return t.observe(B,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[i,C,B,p,D,R,k]);const j=!i&&S&&(!u||!N)&&(L||u);return o.createElement(o.Fragment,null,j&&o.createElement(go,{\"data-type\":\"inside\",ref:null==M?void 0:M.beforeInsideRef,onFocus:e=>{if(u){const e=_();to(\"reference\"===r[0]?e[0]:e[e.length-1])}else if(null!=M&&M.preserveTabOrder&&M.portalNode)if(T.current=!1,mo(e,M.portalNode)){const e=fo(document.body,\"next\")||b;null==e||e.focus()}else{var t;null==(t=M.beforeOutsideRef.current)||t.focus()}}}),!N&&H(\"start\"),n,H(\"end\"),j&&o.createElement(go,{\"data-type\":\"inside\",ref:null==M?void 0:M.afterInsideRef,onFocus:e=>{if(u)to(_()[0]);else if(null!=M&&M.preserveTabOrder&&M.portalNode)if(f&&(T.current=!0),mo(e,M.portalNode)){const e=fo(document.body,\"prev\")||b;null==e||e.focus()}else{var t;null==(t=M.afterOutsideRef.current)||t.focus()}}}))}function Do(e){return fe(e.target)&&\"BUTTON\"===e.target.tagName}function xo(e){return Ye(e)}const Eo={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},Io={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},Mo=e=>{var t,n;return{escapeKey:\"boolean\"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:\"boolean\"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function Po(e){const{open:t=!1,onOpenChange:n,elements:i}=e,r=jn(),a=o.useRef({}),[s]=o.useState(()=>Wn()),l=null!=Un();if(\"production\"!==process.env.NODE_ENV){const e=i.reference;e&&!de(e)&&function(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];const i=\"Floating UI: \"+n.join(\" \");var r;null!=(e=$n)&&e.has(i)||(null==(r=$n)||r.add(i),console.error(i))}(\"Cannot pass a virtual element to the `elements.reference` option,\",\"as it must be a real DOM element. Use `refs.setPositionReference()`\",\"instead.\")}const[c,u]=o.useState(i.reference),d=yn((e,t,o)=>{a.current.openEvent=e?t:void 0,s.emit(\"openchange\",{open:e,event:t,reason:o,nested:l}),null==n||n(e,t,o)}),f=o.useMemo(()=>({setPositionReference:u}),[]),m=o.useMemo(()=>({reference:c||i.reference||null,floating:i.floating||null,domReference:i.reference}),[c,i.reference,i.floating]);return o.useMemo(()=>({dataRef:a,open:t,onOpenChange:d,elements:m,events:s,floatingId:r,refs:f}),[t,d,m,s,r,f])}function Ao(e){void 0===e&&(e={});const{nodeId:t}=e,n=Po({...e,elements:{reference:null,floating:null,...e.elements}}),i=e.rootContext||n,r=i.elements,[a,s]=o.useState(null),[l,c]=o.useState(null),u=(null==r?void 0:r.domReference)||a,d=o.useRef(null),f=Kn();An(()=>{u&&(d.current=u)},[u]);const m=function(e){void 0===e&&(e={});const{placement:t=\"bottom\",strategy:n=\"absolute\",middleware:i=[],platform:r,elements:{reference:a,floating:s}={},transform:l=!0,whileElementsMounted:c,open:u}=e,[d,f]=o.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=o.useState(i);cn(m,i)||p(i);const[h,g]=o.useState(null),[y,w]=o.useState(null),b=o.useCallback(e=>{e!==S.current&&(S.current=e,g(e))},[]),C=o.useCallback(e=>{e!==D.current&&(D.current=e,w(e))},[]),k=a||h,N=s||y,S=o.useRef(null),D=o.useRef(null),x=o.useRef(d),E=null!=c,I=fn(c),M=fn(r),P=fn(u),A=o.useCallback(()=>{if(!S.current||!D.current)return;const e={placement:t,strategy:n,middleware:m};M.current&&(e.platform=M.current),sn(S.current,D.current,e).then(e=>{const t={...e,isPositioned:!1!==P.current};T.current&&!cn(x.current,t)&&(x.current=t,v.flushSync(()=>{f(t)}))})},[m,t,n,M,P]);ln(()=>{!1===u&&x.current.isPositioned&&(x.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);const T=o.useRef(!1);ln(()=>(T.current=!0,()=>{T.current=!1}),[]),ln(()=>{if(k&&(S.current=k),N&&(D.current=N),k&&N){if(I.current)return I.current(k,N,A);A()}},[k,N,A,I,E]);const O=o.useMemo(()=>({reference:S,floating:D,setReference:b,setFloating:C}),[b,C]),F=o.useMemo(()=>({reference:k,floating:N}),[k,N]),L=o.useMemo(()=>{const e={position:n,left:0,top:0};if(!F.floating)return e;const t=dn(F.floating,d.x),o=dn(F.floating,d.y);return l?{...e,transform:\"translate(\"+t+\"px, \"+o+\"px)\",...un(F.floating)>=1.5&&{willChange:\"transform\"}}:{position:n,left:t,top:o}},[n,l,F.floating,d.x,d.y]);return o.useMemo(()=>({...d,update:A,refs:O,elements:F,floatingStyles:L}),[d,A,O,F,L])}({...e,elements:{...r,...l&&{reference:l}}}),p=o.useCallback(e=>{const t=de(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;c(t),m.refs.setReference(t)},[m.refs]),h=o.useCallback(e=>{(de(e)||null===e)&&(d.current=e,s(e)),(de(m.refs.reference.current)||null===m.refs.reference.current||null!==e&&!de(e))&&m.refs.setReference(e)},[m.refs]),g=o.useMemo(()=>({...m.refs,setReference:h,setPositionReference:p,domReference:d}),[m.refs,h,p]),y=o.useMemo(()=>({...m.elements,domReference:u}),[m.elements,u]),w=o.useMemo(()=>({...m,...i,refs:g,elements:y,nodeId:t}),[m,g,y,t,i]);return An(()=>{i.dataRef.current.floatingContext=w;const e=null==f?void 0:f.nodesRef.current.find(e=>e.id===t);e&&(e.context=w)}),o.useMemo(()=>({...m,context:w,refs:g,elements:y}),[m,g,y,w])}const To=\"active\",Oo=\"selected\";function Fo(e,t,n){const o=new Map,i=\"item\"===n;let r=e;if(i&&e){const{[To]:t,[Oo]:n,...o}=e;r=o}return{...\"floating\"===n&&{tabIndex:-1,[yo]:\"\"},...r,...t.map(t=>{const o=t?t[n]:null;return\"function\"==typeof o?e?o(e):null:o}).concat(e).reduce((e,t)=>t?(Object.entries(t).forEach(t=>{let[n,r]=t;var a;i&&[To,Oo].includes(n)||(0===n.indexOf(\"on\")?(o.has(n)||o.set(n,[]),\"function\"==typeof r&&(null==(a=o.get(n))||a.push(r),e[n]=function(){for(var e,t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];return null==(e=o.get(n))?void 0:e.map(e=>e(...i)).find(e=>void 0!==e)})):e[n]=r)}),e):e,{})}}let Lo=!1;function Bo(e,t,n){switch(e){case\"vertical\":return t;case\"horizontal\":return n;default:return t||n}}function Ro(e,t){return Bo(t,e===wn||e===bn,e===Cn||e===kn)}function _o(e,t,n){return Bo(t,e===bn,n?e===Cn:e===kn)||\"Enter\"===e||\" \"===e||\"\"===e}function Ho(e,t,n){return Bo(t,n?e===kn:e===Cn,e===wn)}function jo(e,t){const{open:n,onOpenChange:i,elements:r}=e,{listRef:a,activeIndex:s,onNavigate:l=()=>{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:m=!1,rtl:p=!1,virtual:h=!1,focusItemOnOpen:g=\"auto\",focusItemOnHover:v=!0,openOnArrowKeyDown:y=!0,disabledIndices:w,orientation:b=\"vertical\",cols:C=1,scrollItemIntoView:k=!0,virtualItemRef:N,itemSizes:S,dense:D=!1}=t;\"production\"!==process.env.NODE_ENV&&(d&&(f||zn(\"`useListNavigation` looping must be enabled to allow escaping.\"),h||zn(\"`useListNavigation` must be virtual to allow escaping.\")),\"vertical\"===b&&C>1&&zn(\"In grid list navigation mode (`cols` > 1), the `orientation` should\",'be either \"horizontal\" or \"both\".'));const x=Qn(wo(r.floating)),E=Un(),I=Kn(),M=yn(l),P=Ke(r.domReference),A=o.useRef(g),T=o.useRef(null!=u?u:-1),O=o.useRef(null),F=o.useRef(!0),L=o.useRef(M),B=o.useRef(!!r.floating),R=o.useRef(n),_=o.useRef(!1),H=o.useRef(!1),j=Qn(w),$=Qn(n),z=Qn(k),W=Qn(u),[V,Y]=o.useState(),[U,K]=o.useState(),J=yn(function(e,t,n){function o(e){h?(Y(e.id),null==I||I.events.emit(\"virtualfocus\",e),N&&(N.current=e)):to(e,{preventScroll:!0,sync:!(!Le().toLowerCase().startsWith(\"mac\")||navigator.maxTouchPoints||!He())&&(Lo||_.current)})}void 0===n&&(n=!1);const i=e.current[t.current];i&&o(i),requestAnimationFrame(()=>{const r=e.current[t.current]||i;if(!r)return;i||o(r);const a=z.current;a&&G&&(n||!F.current)&&(null==r.scrollIntoView||r.scrollIntoView(\"boolean\"==typeof a?{block:\"nearest\",inline:\"nearest\"}:a))})});An(()=>{document.createElement(\"div\").focus({get preventScroll(){return Lo=!0,!1}})},[]),An(()=>{c&&(n&&r.floating?A.current&&null!=u&&(H.current=!0,T.current=u,M(u)):B.current&&(T.current=-1,L.current(null)))},[c,n,r.floating,u,M]),An(()=>{if(c&&n&&r.floating)if(null==s){if(_.current=!1,null!=W.current)return;if(B.current&&(T.current=-1,J(a,T)),(!R.current||!B.current)&&A.current&&(null!=O.current||!0===A.current&&null==O.current)){let e=0;const t=()=>{if(null==a.current[0]){if(e<2){(e?requestAnimationFrame:queueMicrotask)(t)}e++}else T.current=null==O.current||_o(O.current,b,p)||m?Dn(a,j.current):xn(a,j.current),O.current=null,M(T.current)};t()}}else Sn(a,s)||(T.current=s,J(a,T,H.current),H.current=!1)},[c,n,r.floating,s,W,m,a,b,p,M,J,j]),An(()=>{var e;if(!c||r.floating||!I||h||!B.current)return;const t=I.nodesRef.current,n=null==(e=t.find(e=>e.id===E))||null==(e=e.context)?void 0:e.elements.floating,o=Oe(ze(r.floating)),i=t.some(e=>e.context&&Fe(e.context.elements.floating,o));n&&!i&&F.current&&n.focus({preventScroll:!0})},[c,r.floating,I,E,h]),An(()=>{if(c&&I&&h&&!E)return I.events.on(\"virtualfocus\",e),()=>{I.events.off(\"virtualfocus\",e)};function e(e){K(e.id),N&&(N.current=e)}},[c,I,h,E,N]),An(()=>{L.current=M,B.current=!!r.floating}),An(()=>{n||(O.current=null)},[n]),An(()=>{R.current=n},[n]);const q=null!=s,G=o.useMemo(()=>{function e(e){if(!n)return;const t=a.current.indexOf(e);-1!==t&&M(t)}return{onFocus(t){let{currentTarget:n}=t;e(n)},onClick:e=>{let{currentTarget:t}=e;return t.focus({preventScroll:!0})},...v&&{onMouseMove(t){let{currentTarget:n}=t;e(n)},onPointerLeave(e){let{pointerType:t}=e;F.current&&\"touch\"!==t&&(T.current=-1,J(a,T),M(null),h||to(x.current,{preventScroll:!0}))}}}},[n,x,J,v,a,M,h]),Q=yn(e=>{if(F.current=!1,_.current=!0,229===e.which)return;if(!$.current&&e.currentTarget===x.current)return;if(m&&Ho(e.key,b,p))return Ue(e),i(!1,e.nativeEvent,\"list-navigation\"),void(fe(r.domReference)&&(h?null==I||I.events.emit(\"virtualfocus\",r.domReference):r.domReference.focus()));const t=T.current,o=Dn(a,w),s=xn(a,w);if(P||(\"Home\"===e.key&&(Ue(e),T.current=o,M(T.current)),\"End\"===e.key&&(Ue(e),T.current=s,M(T.current))),C>1){const t=S||Array.from({length:a.current.length},()=>({width:1,height:1})),n=function(e,t,n){const o=[];let i=0;return e.forEach((e,r)=>{let{width:a,height:s}=e;if(a>t&&\"production\"!==process.env.NODE_ENV)throw new Error(\"[Floating UI]: Invalid grid - item width at index \"+r+\" is greater than grid columns\");let l=!1;for(n&&(i=0);!l;){const e=[];for(let n=0;n<a;n++)for(let o=0;o<s;o++)e.push(i+n+o*t);i%t+a<=t&&e.every(e=>null==o[e])?(e.forEach(e=>{o[e]=r}),l=!0):i++}}),[...o]}(t,C,D),i=n.findIndex(e=>null!=e&&!Pn(a.current,e,w)),r=n.reduce((e,t,n)=>null==t||Pn(a.current,t,w)?e:n,-1),l=n[function(e,t){let{event:n,orientation:o,loop:i,rtl:r,cols:a,disabledIndices:s,minIndex:l,maxIndex:c,prevIndex:u,stopEvent:d=!1}=t,f=u;if(n.key===wn){if(d&&Ue(n),-1===u)f=c;else if(f=En(e,{startingIndex:f,amount:a,decrement:!0,disabledIndices:s}),i&&(u-a<l||f<0)){const e=u%a,t=c%a,n=c-(t-e);f=t===e?c:t>e?n:n-a}Sn(e,f)&&(f=u)}if(n.key===bn&&(d&&Ue(n),-1===u?f=l:(f=En(e,{startingIndex:u,amount:a,disabledIndices:s}),i&&u+a>c&&(f=En(e,{startingIndex:u%a-a,amount:a,disabledIndices:s}))),Sn(e,f)&&(f=u)),\"both\"===o){const t=Qe(u/a);n.key===(r?Cn:kn)&&(d&&Ue(n),u%a!==a-1?(f=En(e,{startingIndex:u,disabledIndices:s}),i&&Nn(f,a,t)&&(f=En(e,{startingIndex:u-u%a-1,disabledIndices:s}))):i&&(f=En(e,{startingIndex:u-u%a-1,disabledIndices:s})),Nn(f,a,t)&&(f=u)),n.key===(r?kn:Cn)&&(d&&Ue(n),u%a!==0?(f=En(e,{startingIndex:u,decrement:!0,disabledIndices:s}),i&&Nn(f,a,t)&&(f=En(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s}))):i&&(f=En(e,{startingIndex:u+(a-u%a),decrement:!0,disabledIndices:s})),Nn(f,a,t)&&(f=u));const o=Qe(c/a)===t;Sn(e,f)&&(f=i&&o?n.key===(r?kn:Cn)?c:En(e,{startingIndex:u-u%a-1,disabledIndices:s}):u)}return f}({current:n.map(e=>null!=e?a.current[e]:null)},{event:e,orientation:b,loop:f,rtl:p,cols:C,disabledIndices:Mn([...w||a.current.map((e,t)=>Pn(a.current,t)?t:void 0),void 0],n),minIndex:i,maxIndex:r,prevIndex:In(T.current>s?o:T.current,t,n,C,e.key===bn?\"bl\":e.key===(p?Cn:kn)?\"tr\":\"tl\"),stopEvent:!0})];if(null!=l&&(T.current=l,M(T.current)),\"both\"===b)return}if(Ro(e.key,b)){if(Ue(e),n&&!h&&Oe(e.currentTarget.ownerDocument)===e.currentTarget)return T.current=_o(e.key,b,p)?o:s,void M(T.current);_o(e.key,b,p)?T.current=f?t>=s?d&&t!==a.current.length?-1:o:En(a,{startingIndex:t,disabledIndices:w}):Math.min(s,En(a,{startingIndex:t,disabledIndices:w})):T.current=f?t<=o?d&&-1!==t?a.current.length:s:En(a,{startingIndex:t,decrement:!0,disabledIndices:w}):Math.max(o,En(a,{startingIndex:t,decrement:!0,disabledIndices:w})),Sn(a,T.current)?M(null):M(T.current)}}),X=o.useMemo(()=>h&&n&&q&&{\"aria-activedescendant\":U||V},[h,n,q,U,V]),Z=o.useMemo(()=>({\"aria-orientation\":\"both\"===b?void 0:b,...!Ke(r.domReference)&&X,onKeyDown:Q,onPointerMove(){F.current=!0}}),[X,Q,r.domReference,b]),ee=o.useMemo(()=>{function e(e){\"auto\"===g&&Re(e.nativeEvent)&&(A.current=!0)}return{...X,onKeyDown(e){F.current=!1;const t=e.key.startsWith(\"Arrow\"),o=[\"Home\",\"End\"].includes(e.key),r=t||o,s=function(e,t,n){return Bo(t,n?e===Cn:e===kn,e===bn)}(e.key,b,p),l=Ho(e.key,b,p),c=Ro(e.key,b),d=(m?s:c)||\"Enter\"===e.key||\"\"===e.key.trim();if(h&&n){const t=null==I?void 0:I.nodesRef.current.find(e=>null==e.parentId),n=I&&t?function(e,t){let n,o=-1;return function t(i,r){r>o&&(n=i,o=r),no(e,i).forEach(e=>{t(e.id,r+1)})}(t,0),e.find(e=>e.id===n)}(I.nodesRef.current,t.id):null;if(r&&n&&N){const t=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(s||l){var f,g;const o=(null==(f=n.context)?void 0:f.elements.domReference)===e.currentTarget,i=l&&!o?null==(g=n.context)?void 0:g.elements.domReference:s?a.current.find(e=>(null==e?void 0:e.id)===V):null;i&&(Ue(e),i.dispatchEvent(t),K(void 0))}var v;if((c||o)&&n.context)if(n.context.open&&n.parentId&&e.currentTarget!==n.context.elements.domReference)return Ue(e),void(null==(v=n.context.elements.domReference)||v.dispatchEvent(t))}return Q(e)}(n||y||!t)&&(d&&(O.current=m&&c?null:e.key),m?s&&(Ue(e),n?(T.current=Dn(a,j.current),M(T.current)):i(!0,e.nativeEvent,\"list-navigation\")):c&&(null!=u&&(T.current=u),Ue(e),!n&&y?i(!0,e.nativeEvent,\"list-navigation\"):Q(e),n&&M(T.current)))},onFocus(){n&&!h&&M(null)},onPointerDown:function(e){A.current=g,\"auto\"===g&&_e(e.nativeEvent)&&(A.current=!0)},onMouseDown:e,onClick:e}},[V,X,Q,j,g,a,m,M,i,n,y,b,p,u,I,h,N]);return o.useMemo(()=>c?{reference:ee,floating:Z,item:G}:{},[c,ee,Z,G])}const $o=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]);function zo(e,t){const[n,o]=e;let i=!1;const r=t.length;for(let e=0,a=r-1;e<r;a=e++){const[r,s]=t[e]||[0,0],[l,c]=t[a]||[0,0];s>=o!=c>=o&&n<=(l-r)*(o-s)/(c-s)+r&&(i=!i)}return i}function Wo(e){void 0===e&&(e={});const{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:o=!0}=e;let i,r=!1,a=null,s=null,l=performance.now();const c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:m,tree:p}=e;return function(e){function h(){clearTimeout(i),f()}if(clearTimeout(i),!d.domReference||!d.floating||null==u||null==n||null==c)return;const{clientX:g,clientY:v}=e,y=[g,v],w=Ve(e),b=\"mouseleave\"===e.type,C=Fe(d.floating,w),k=Fe(d.domReference,w),N=d.domReference.getBoundingClientRect(),S=d.floating.getBoundingClientRect(),D=u.split(\"-\")[0],x=n>S.right-S.width/2,E=c>S.bottom-S.height/2,I=function(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}(y,N),M=S.width>N.width,P=S.height>N.height,A=(M?N:S).left,T=(M?N:S).right,O=(P?N:S).top,F=(P?N:S).bottom;if(C&&(r=!0,!b))return;if(k&&(r=!1),k&&!b)return void(r=!0);if(b&&de(e.relatedTarget)&&Fe(d.floating,e.relatedTarget))return;if(p&&no(p.nodesRef.current,m).some(e=>{let{context:t}=e;return null==t?void 0:t.open}))return;if(\"top\"===D&&c>=N.bottom-1||\"bottom\"===D&&c<=N.top+1||\"left\"===D&&n>=N.right-1||\"right\"===D&&n<=N.left+1)return h();let L=[];switch(D){case\"top\":L=[[A,N.top+1],[A,S.bottom-1],[T,S.bottom-1],[T,N.top+1]];break;case\"bottom\":L=[[A,S.top+1],[A,N.bottom-1],[T,N.bottom-1],[T,S.top+1]];break;case\"left\":L=[[S.right-1,F],[S.right-1,O],[N.left+1,O],[N.left+1,F]];break;case\"right\":L=[[N.right-1,F],[N.right-1,O],[S.left+1,O],[S.left+1,F]]}if(!zo([g,v],L)){if(r&&!I)return h();if(!b&&o){const t=function(e,t){const n=performance.now(),o=n-l;if(null===a||null===s||0===o)return a=e,s=t,l=n,null;const i=e-a,r=t-s,c=Math.sqrt(i*i+r*r);return a=e,s=t,l=n,c/o}(e.clientX,e.clientY);if(null!==t&&t<.1)return h()}zo([g,v],function(e){let[n,o]=e;switch(D){case\"top\":return[[M?n+t/2:x?n+4*t:n-4*t,o+t+1],[M?n-t/2:x?n+4*t:n-4*t,o+t+1],...[[S.left,x||M?S.bottom-t:S.top],[S.right,x?M?S.bottom-t:S.top:S.bottom-t]]];case\"bottom\":return[[M?n+t/2:x?n+4*t:n-4*t,o-t],[M?n-t/2:x?n+4*t:n-4*t,o-t],...[[S.left,x||M?S.top+t:S.bottom],[S.right,x?M?S.top+t:S.bottom:S.top+t]]];case\"left\":{const e=[n+t+1,P?o+t/2:E?o+4*t:o-4*t],i=[n+t+1,P?o-t/2:E?o+4*t:o-4*t];return[...[[E||P?S.right-t:S.left,S.top],[E?P?S.right-t:S.left:S.right-t,S.bottom]],e,i]}case\"right\":return[[n-t,P?o+t/2:E?o+4*t:o-4*t],[n-t,P?o-t/2:E?o+4*t:o-4*t],...[[E||P?S.left+t:S.right,S.top],[E?P?S.left+t:S.right:S.left+t,S.bottom]]]}}([n,c]))?!r&&o&&(i=window.setTimeout(h,40)):h()}}};return c.__options={blockPointerEvents:n},c}const Vo=s({getItemProps:()=>({}),activeIndex:null,setActiveIndex:()=>{},setHasFocusInside:()=>{},isOpen:!1,setIsOpen:()=>{}}),Yo=r(({className:t,disabled:n,children:o,...i},r)=>{const a=l(Vo),s=Ln(),c=Kn(),u=s.index===a.activeIndex,d=N(\"io-dropdown-menu-item\",n&&\"io-dropdown-menu-item-disabled\",t);return e(\"div\",{ref:hn([s.ref,r]),role:\"menuitem\",className:d,tabIndex:u?0:-1,\"aria-disabled\":n,...i,...a.getItemProps({onClick(e){if(n)return e.preventDefault(),void e.stopPropagation();i.onClick?.(e),a.setIsOpen(!1),c?.events.emit(\"click\")},onFocus(e){n||(i.onFocus?.(e),a.setHasFocusInside(!0))}}),children:o})});Yo.displayName=\"DropdownMenuItem\";const Uo=r(({className:n,variant:i=\"default\",icon:r,iconRight:a,text:s=\"\",disabled:m,children:p,...h},g)=>{const[v,y]=c(!1),[w,b]=c(!1),[C,k]=c(null),S=d([]),D=d([]),x=l(Vo),E=Kn(),I=function(){const e=jn(),t=Kn(),n=Un();return An(()=>{const o={id:e,parentId:n};return null==t||t.addNode(o),()=>{null==t||t.removeNode(o)}},[t,e,n]),e}(),M=Un(),P=Ln(),A=null!=M,{floatingStyles:O,refs:F,context:L}=Ao({nodeId:I,open:v,onOpenChange:y,placement:A?\"right-start\":\"bottom-start\",middleware:[(B={mainAxis:A?0:4,alignmentAxis:A?-4:0},{...on(B),options:[B,R]}),pn(),mn()],whileElementsMounted:nn});var B,R;const _=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,events:a,elements:s}=e,{enabled:l=!0,delay:c=0,handleClose:u=null,mouseOnly:d=!1,restMs:f=0,move:m=!0}=t,p=Kn(),h=Un(),g=Qn(u),v=Qn(c),y=Qn(n),w=o.useRef(),b=o.useRef(-1),C=o.useRef(),k=o.useRef(-1),N=o.useRef(!0),S=o.useRef(!1),D=o.useRef(()=>{}),x=o.useRef(!1),E=o.useCallback(()=>{var e;const t=null==(e=r.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes(\"mouse\"))&&\"mousedown\"!==t},[r]);o.useEffect(()=>{if(l)return a.on(\"openchange\",e),()=>{a.off(\"openchange\",e)};function e(e){let{open:t}=e;t||(clearTimeout(b.current),clearTimeout(k.current),N.current=!0,x.current=!1)}},[l,a]),o.useEffect(()=>{if(!l)return;if(!g.current)return;if(!n)return;function e(e){E()&&i(!1,e,\"hover\")}const t=ze(s.floating).documentElement;return t.addEventListener(\"mouseleave\",e),()=>{t.removeEventListener(\"mouseleave\",e)}},[s.floating,n,i,l,g,E]);const I=o.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=\"hover\");const o=Zn(v.current,\"close\",w.current);o&&!C.current?(clearTimeout(b.current),b.current=window.setTimeout(()=>i(!1,e,n),o)):t&&(clearTimeout(b.current),i(!1,e,n))},[v,i]),M=yn(()=>{D.current(),C.current=void 0}),P=yn(()=>{if(S.current){const e=ze(s.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(Xn),S.current=!1}}),A=yn(()=>!!r.current.openEvent&&[\"click\",\"mousedown\"].includes(r.current.openEvent.type));o.useEffect(()=>{if(l&&de(s.domReference)){var e;const i=s.domReference;return n&&i.addEventListener(\"mouseleave\",a),null==(e=s.floating)||e.addEventListener(\"mouseleave\",a),m&&i.addEventListener(\"mousemove\",t,{once:!0}),i.addEventListener(\"mouseenter\",t),i.addEventListener(\"mouseleave\",o),()=>{var e;n&&i.removeEventListener(\"mouseleave\",a),null==(e=s.floating)||e.removeEventListener(\"mouseleave\",a),m&&i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseenter\",t),i.removeEventListener(\"mouseleave\",o)}}function t(e){if(clearTimeout(b.current),N.current=!1,d&&!$e(w.current)||f>0&&!Zn(v.current,\"open\"))return;const t=Zn(v.current,\"open\",w.current);t?b.current=window.setTimeout(()=>{y.current||i(!0,e,\"hover\")},t):n||i(!0,e,\"hover\")}function o(e){if(A())return;D.current();const t=ze(s.floating);if(clearTimeout(k.current),x.current=!1,g.current&&r.current.floatingContext){n||clearTimeout(b.current),C.current=g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){P(),M(),A()||I(e,!0,\"safe-polygon\")}});const o=C.current;return t.addEventListener(\"mousemove\",o),void(D.current=()=>{t.removeEventListener(\"mousemove\",o)})}(\"touch\"!==w.current||!Fe(s.floating,e.relatedTarget))&&I(e)}function a(e){A()||r.current.floatingContext&&(null==g.current||g.current({...r.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){P(),M(),A()||I(e)}})(e))}},[s,l,e,d,f,m,I,M,P,i,n,y,p,v,g,r,A]),An(()=>{var e;if(l&&n&&null!=(e=g.current)&&e.__options.blockPointerEvents&&E()){S.current=!0;const e=s.floating;if(de(s.domReference)&&e){var t;const n=ze(s.floating).body;n.setAttribute(Xn,\"\");const o=s.domReference,i=null==p||null==(t=p.nodesRef.current.find(e=>e.id===h))||null==(t=t.context)?void 0:t.elements.floating;return i&&(i.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",o.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",o.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}},[l,n,h,s,p,g,E]),An(()=>{n||(w.current=void 0,x.current=!1,M(),P())},[n,M,P]),o.useEffect(()=>()=>{M(),clearTimeout(b.current),clearTimeout(k.current),P()},[l,s.domReference,M,P]);const T=o.useMemo(()=>{function e(e){w.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){const{nativeEvent:t}=e;function o(){N.current||y.current||i(!0,t,\"hover\")}d&&!$e(w.current)||n||0===f||x.current&&e.movementX**2+e.movementY**2<2||(clearTimeout(k.current),\"touch\"===w.current?o():(x.current=!0,k.current=window.setTimeout(o,f)))}}},[d,i,n,y,f]),O=o.useMemo(()=>({onMouseEnter(){clearTimeout(b.current)},onMouseLeave(e){A()||I(e.nativeEvent,!1)}}),[I,A]);return o.useMemo(()=>l?{reference:T,floating:O}:{},[l,T,O])}(L,{enabled:A,delay:{open:75},handleClose:Wo({blockPointerEvents:!0})}),H=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,dataRef:r,elements:{domReference:a}}=e,{enabled:s=!0,event:l=\"click\",toggle:c=!0,ignoreMouse:u=!1,keyboardHandlers:d=!0,stickIfOpen:f=!0}=t,m=o.useRef(),p=o.useRef(!1),h=o.useMemo(()=>({onPointerDown(e){m.current=e.pointerType},onMouseDown(e){const t=m.current;0===e.button&&\"click\"!==l&&($e(t,!0)&&u||(!n||!c||r.current.openEvent&&f&&\"mousedown\"!==r.current.openEvent.type?(e.preventDefault(),i(!0,e.nativeEvent,\"click\")):i(!1,e.nativeEvent,\"click\")))},onClick(e){const t=m.current;\"mousedown\"===l&&m.current?m.current=void 0:$e(t,!0)&&u||(!n||!c||r.current.openEvent&&f&&\"click\"!==r.current.openEvent.type?i(!0,e.nativeEvent,\"click\"):i(!1,e.nativeEvent,\"click\"))},onKeyDown(e){m.current=void 0,e.defaultPrevented||!d||Do(e)||(\" \"!==e.key||xo(a)||(e.preventDefault(),p.current=!0),\"Enter\"===e.key&&i(!n||!c,e.nativeEvent,\"click\"))},onKeyUp(e){e.defaultPrevented||!d||Do(e)||xo(a)||\" \"===e.key&&p.current&&(p.current=!1,i(!n||!c,e.nativeEvent,\"click\"))}}),[r,a,l,u,d,i,n,f,c]);return o.useMemo(()=>s?{reference:h}:{},[s,h])}(L,{event:\"mousedown\",toggle:!A,ignoreMouse:A}),j=function(e,t){var n;void 0===t&&(t={});const{open:i,floatingId:r}=e,{enabled:a=!0,role:s=\"dialog\"}=t,l=null!=(n=$o.get(s))?n:s,c=jn(),u=null!=Un(),d=o.useMemo(()=>\"tooltip\"===l||\"label\"===s?{[\"aria-\"+(\"label\"===s?\"labelledby\":\"describedby\")]:i?r:void 0}:{\"aria-expanded\":i?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===l?\"dialog\":l,\"aria-controls\":i?r:void 0,...\"listbox\"===l&&{role:\"combobox\"},...\"menu\"===l&&{id:c},...\"menu\"===l&&u&&{role:\"menuitem\"},...\"select\"===s&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===s&&{\"aria-autocomplete\":\"list\"}},[l,r,u,i,c,s]),f=o.useMemo(()=>{const e={id:r,...l&&{role:l}};return\"tooltip\"===l||\"label\"===s?e:{...e,...\"menu\"===l&&{\"aria-labelledby\":c}}},[l,r,c,s]),m=o.useCallback(e=>{let{active:t,selected:n}=e;const o={role:\"option\",...t&&{id:r+\"-option\"}};switch(s){case\"select\":return{...o,\"aria-selected\":t&&n};case\"combobox\":return{...o,...t&&{\"aria-selected\":!0}}}return{}},[r,s]);return o.useMemo(()=>a?{reference:d,floating:f,item:m}:{},[a,d,f,m])}(L,{role:\"menu\"}),$=function(e,t){void 0===t&&(t={});const{open:n,onOpenChange:i,elements:r,dataRef:a}=e,{enabled:s=!0,escapeKey:l=!0,outsidePress:c=!0,outsidePressEvent:u=\"pointerdown\",referencePress:d=!1,referencePressEvent:f=\"pointerdown\",ancestorScroll:m=!1,bubbles:p,capture:h}=t,g=Kn(),v=yn(\"function\"==typeof c?c:()=>!1),y=\"function\"==typeof c?v:c,w=o.useRef(!1),b=o.useRef(!1),{escapeKey:C,outsidePress:k}=Mo(p),{escapeKey:N,outsidePress:S}=Mo(h),D=o.useRef(!1),x=yn(e=>{var t;if(!n||!s||!l||\"Escape\"!==e.key)return;if(D.current)return;const o=null==(t=a.current.floatingContext)?void 0:t.nodeId,r=g?no(g.nodesRef.current,o):[];if(!C&&(e.stopPropagation(),r.length>0)){let e=!0;if(r.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)}),!e)return}i(!1,function(e){return\"nativeEvent\"in e}(e)?e.nativeEvent:e,\"escape-key\")}),E=yn(e=>{var t;const n=()=>{var t;x(e),null==(t=Ve(e))||t.removeEventListener(\"keydown\",n)};null==(t=Ve(e))||t.addEventListener(\"keydown\",n)}),I=yn(e=>{var t;const n=w.current;w.current=!1;const o=b.current;if(b.current=!1,\"click\"===u&&o)return;if(n)return;if(\"function\"==typeof y&&!y(e))return;const s=Ve(e),l=\"[\"+Gn(\"inert\")+\"]\",c=ze(r.floating).querySelectorAll(l);let d=de(s)?s:null;for(;d&&!xe(d);){const e=Me(d);if(xe(e)||!de(e))break;d=e}if(c.length&&de(s)&&!s.matches(\"html,body\")&&!Fe(s,r.floating)&&Array.from(c).every(e=>!Fe(d,e)))return;if(fe(s)&&A){const t=s.clientWidth>0&&s.scrollWidth>s.clientWidth,n=s.clientHeight>0&&s.scrollHeight>s.clientHeight;let o=n&&e.offsetX>s.clientWidth;if(n&&\"rtl\"===Ee(s).direction&&(o=e.offsetX<=s.offsetWidth-s.clientWidth),o||t&&e.offsetY>s.clientHeight)return}const f=null==(t=a.current.floatingContext)?void 0:t.nodeId,m=g&&no(g.nodesRef.current,f).some(t=>{var n;return We(e,null==(n=t.context)?void 0:n.elements.floating)});if(We(e,r.floating)||We(e,r.domReference)||m)return;const p=g?no(g.nodesRef.current,f):[];if(p.length>0){let e=!0;if(p.forEach(t=>{var n;null==(n=t.context)||!n.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)}),!e)return}i(!1,e,\"outside-press\")}),M=yn(e=>{var t;const n=()=>{var t;I(e),null==(t=Ve(e))||t.removeEventListener(u,n)};null==(t=Ve(e))||t.addEventListener(u,n)});o.useEffect(()=>{if(!n||!s)return;a.current.__escapeKeyBubbles=C,a.current.__outsidePressBubbles=k;let e=-1;function t(e){i(!1,e,\"ancestor-scroll\")}function o(){window.clearTimeout(e),D.current=!0}function c(){e=window.setTimeout(()=>{D.current=!1},Se()?5:0)}const d=ze(r.floating);l&&(d.addEventListener(\"keydown\",N?E:x,N),d.addEventListener(\"compositionstart\",o),d.addEventListener(\"compositionend\",c)),y&&d.addEventListener(u,S?M:I,S);let f=[];return m&&(de(r.domReference)&&(f=Ae(r.domReference)),de(r.floating)&&(f=f.concat(Ae(r.floating))),!de(r.reference)&&r.reference&&r.reference.contextElement&&(f=f.concat(Ae(r.reference.contextElement)))),f=f.filter(e=>{var t;return e!==(null==(t=d.defaultView)?void 0:t.visualViewport)}),f.forEach(e=>{e.addEventListener(\"scroll\",t,{passive:!0})}),()=>{l&&(d.removeEventListener(\"keydown\",N?E:x,N),d.removeEventListener(\"compositionstart\",o),d.removeEventListener(\"compositionend\",c)),y&&d.removeEventListener(u,S?M:I,S),f.forEach(e=>{e.removeEventListener(\"scroll\",t)}),window.clearTimeout(e)}},[a,r,l,y,u,n,i,m,s,C,k,x,N,E,I,S,M]),o.useEffect(()=>{w.current=!1},[y,u]);const P=o.useMemo(()=>({onKeyDown:x,[Eo[f]]:e=>{d&&i(!1,e.nativeEvent,\"reference-press\")}}),[x,i,d,f]),A=o.useMemo(()=>({onKeyDown:x,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[Io[u]]:()=>{w.current=!0}}),[x,u]);return o.useMemo(()=>s?{reference:P,floating:A}:{},[s,P,A])}(L,{bubbles:!0}),z=jo(L,{listRef:S,activeIndex:C,nested:A,onNavigate:k}),{getReferenceProps:W,getFloatingProps:V,getItemProps:Y}=function(e){void 0===e&&(e=[]);const t=e.map(e=>null==e?void 0:e.reference),n=e.map(e=>null==e?void 0:e.floating),i=e.map(e=>null==e?void 0:e.item),r=o.useCallback(t=>Fo(t,e,\"reference\"),t),a=o.useCallback(t=>Fo(t,e,\"floating\"),n),s=o.useCallback(t=>Fo(t,e,\"item\"),i);return o.useMemo(()=>({getReferenceProps:r,getFloatingProps:a,getItemProps:s}),[r,a,s])}([_,H,j,$,z]);f(()=>{if(E)return E.events.on(\"click\",e),E.events.on(\"menuopen\",t),()=>{E.events.off(\"click\",e),E.events.off(\"menuopen\",t)};function e(){y(!1)}function t(e){e.nodeId!==I&&e.parentId===M&&y(!1)}},[E,I,M]),f(()=>{v&&E&&E.events.emit(\"menuopen\",{parentId:M,nodeId:I})},[E,v,I,M]);const U={activeIndex:C,setActiveIndex:k,getItemProps:Y,setHasFocusInside:b,isOpen:v,setIsOpen:y},K=u(()=>U,[C,k,Y,b,v]),J=N(\"io-dropdown-menu-button\",A&&\"io-dropdown-menu-item\",v&&!A&&\"active\",n),q=hn([F.setReference,P.ref,g]),G=x.activeIndex===P.index?0:-1;return t(Jn,{id:I,children:[e(T,{className:J,ref:q,variant:A?\"link\":i,tabIndex:A?G:void 0,role:A?\"menuitem\":void 0,\"data-open\":v?\"\":void 0,\"data-nested\":A?\"\":void 0,\"data-focus-inside\":w?\"\":void 0,text:s,icon:A?\"chevron-right\":r,iconSize:\"10\",iconRight:!!A||a,disabled:m,...W(x.getItemProps({onFocus(e){h.onFocus?.(e),b(!1),x.setHasFocusInside(!0)},...h}))}),e(Vo.Provider,{value:K,children:e(Fn,{elementsRef:S,labelsRef:D,children:v&&e(So,{context:L,modal:!1,initialFocus:A?-1:0,returnFocus:!A,children:e(\"div\",{ref:F.setFloating,className:\"io-dropdown-menu\",style:O,...V(),children:p})})})})]})});Uo.displayName=\"DropdownMenu\";const Ko=r(({...t},n)=>null===Un()?e(qn,{children:e(Uo,{ref:n,...t})}):e(Uo,{ref:n,...t}));function Jo({className:t,variant:n=\"default\",size:o=\"16\",src:i,alt:r,...a}){const s=N(\"io-image-icon\",\"grayscale\"===n&&[`io-image-icon-${n}`],o&&[`io-image-icon-${o}`],t);return e(\"img\",{className:s,style:{width:`${o}px`,filter:\"grayscale\"===n?\"grayscale(100%)\":\"none\"},src:i,alt:r,...a})}function qo({className:n,size:o=\"large\",variant:i=\"default\",align:r=\"up\",text:a,...s}){const l=N(\"io-loader\",{[`io-loader-${i}`]:\"default\"!==i},\"normal\"===o&&\"io-loader-md\",\"small\"===o&&\"io-loader-sm\",r&&[`direction-${r}`],n);return t(\"div\",{className:l,role:\"status\",\"aria-live\":\"polite\",...s,children:[e(\"div\",{className:\"io-loader-icon\"}),a&&e(\"div\",{className:\"io-loader-text\",children:a})]})}function Go({className:t,children:n,...o}){const i=N(\"io-panel-header\",t);return e(ee,{className:i,...o,children:n})}Ko.displayName=\"DropdownMenu\",Ko.Item=Yo,Ko.Separator=q,Go.Title=M,Go.ButtonGroup=Z,Go.Button=T,Go.ButtonIcon=D,Go.Dropdown=X;const Qo=r(({className:t,children:n,...o},i)=>{const r=N(\"io-panel-body\",t);return e(\"div\",{className:r,ref:i,\"data-testid\":\"panel-body\",...o,children:n})});function Xo({className:t,...n}){const o=N(\"io-panel-footer\",t);return e(oe,{className:o,...n})}function Zo({className:t,children:n,...o}){const i=N(\"io-panel\",t);return e(\"div\",{className:i,\"data-testid\":\"panel\",...o,children:n})}function ei({className:t,variant:n=\"default\",children:o,...i}){const r=N(\"io-pill\",\"default\"!==n&&[`io-pill-${n}`],t);return e(\"div\",{className:r,role:\"status\",...i,children:o})}function ti({className:t,variant:n=\"active\",value:o=0,...i}){const r=N(\"io-progress\",n,t);let a;return a=o<0?0:o>100?100:o,e(\"div\",{className:r,role:\"progressbar\",\"aria-valuenow\":a,\"aria-valuemin\":0,\"aria-valuemax\":100,...i,children:e(\"div\",{className:\"io-progress-bar\",style:{width:`${a}%`}})})}function ni({text:t=\"Label\",...n}){return e(\"label\",{...n,children:t})}Qo.displayName=\"PanelBody\",Xo.ButtonGroup=Z,Xo.Button=T,Xo.ButtonIcon=D,Xo.Dropdown=X,Zo.Header=Go,Zo.Body=Qo,Zo.Footer=Xo,ei.Icon=S;const oi=r(({id:n=\"input\",className:o,type:i=\"text\",name:r=\"input\",align:s=\"up\",label:l,iconPrepend:c,iconPrependOnClick:u,iconAppend:d,iconAppendOnClick:f,placeholder:m,disabled:p,readOnly:h,errorMessage:g,errorDataTestId:v,...y},w)=>{const b=N(\"io-control-input\",c&&\"io-control-leading-icon\",d&&\"io-control-trailing-icon\",p&&\"io-control-disabled\",h&&\"io-control-readonly\",g&&\"io-control-error\",s&&[`direction-${s}`],o),C=a(e=>{p?e.preventDefault():u&&u(e)},[u,p]),k=a(e=>{p?e.preventDefault():f&&f(e)},[f,p]);return t(\"div\",{className:b,children:[l&&e(ni,{htmlFor:n,text:l}),c&&e(S,{variant:c,onClick:e=>C(e)}),e(\"input\",{id:n,className:\"io-input\",ref:w,type:i,name:r,tabIndex:0,placeholder:m??(()=>{switch(i){case\"email\":return\"Enter your email here...\";case\"number\":return\"Enter number here...\";case\"password\":return\"Enter your password here...\";case\"tel\":return\"Enter your phone number here...\";case\"file\":return\"Select a file...\";default:return\"Enter text here...\"}})(),\"aria-label\":l,disabled:p,readOnly:h,...g?{\"aria-invalid\":!0,\"aria-describedby\":`${n}-error`}:{},...y}),d&&e(S,{variant:d,onClick:e=>k(e)}),g&&t(\"div\",{\"data-testid\":v,id:`${n}-error`,className:\"io-input-error\",children:[e(S,{variant:\"close\"}),g]})]})});oi.displayName=\"Input\";const ii=r(({id:n=\"textarea\",className:o,name:i=\"textarea\",align:r=\"up\",label:a,rows:s=4,placeholder:l=\"Enter text here...\",disabled:c,readOnly:u,...d},f)=>{const m=N(\"io-control-textarea\",c&&\"io-control-disabled\",u&&\"io-control-readonly\",r&&[`direction-${r}`],o);return t(\"div\",{className:m,children:[a&&e(ni,{htmlFor:n,text:a}),e(\"textarea\",{id:n,className:\"io-textarea\",ref:f,name:i,tabIndex:0,placeholder:l,\"aria-label\":a,disabled:c,readOnly:u,rows:s,...d})]})});ii.displayName=\"Textarea\";const ri=r(({id:n=\"checkbox\",className:o,name:i=\"checkbox\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=N(\"io-control-checkbox\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:d,children:[e(\"input\",{type:\"checkbox\",id:n,className:\"io-checkbox\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(ni,{htmlFor:n,text:a,\"data-testid\":c[\"data-testid\"]?`${c[\"data-testid\"]}-label`:void 0})]})});ri.displayName=\"Checkbox\";const ai=r(({id:n=\"radio\",className:o,name:i=\"radio\",align:r=\"left\",label:a,checked:s,disabled:l,...c},u)=>{const d=N(\"io-control-radio\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return t(\"div\",{className:d,children:[e(\"input\",{type:\"radio\",id:n,className:\"io-radio\",ref:u,name:i,tabIndex:l?-1:0,checked:s,disabled:l,\"aria-checked\":s,...c}),a&&e(ni,{htmlFor:n,text:a})]})});ai.displayName=\"Radio\";var si=i[\"undefined\"!=typeof document&&void 0!==document.createElement?\"useLayoutEffect\":\"useEffect\"],li=0,ci=()=>li++,ui=0;const di=\"function\"==typeof h?h:function(e,t){void 0===t&&(t=\"🅰\");var[n,o]=c(ui?ci:void 0);return si(()=>{void 0===n&&o(li++),ui=1},[]),e||(void 0===n?n:t+n)},fi=r(({id:n,className:o,name:i=\"toggle\",align:r=\"left\",label:a,checked:s,disabled:l,onKeyDown:c,\"data-testid\":u=\"toggle\",...d},f)=>{const m=di(),p=n||`toggle-${m}`,h=N(\"io-control-toggle\",s&&\"io-control-checked\",l&&\"io-control-disabled\",r&&[`direction-${r}`],o);return e(\"div\",{className:h,children:t(\"label\",{className:\"io-toggle\",htmlFor:p,tabIndex:l?-1:0,onKeyDown:c,\"data-testid\":`${u}-label`,children:[e(\"input\",{type:\"checkbox\",id:p,className:\"io-checkbox\",ref:f,name:i,checked:s,disabled:l,\"aria-checked\":s,tabIndex:-1,\"data-testid\":u,...d}),e(\"span\",{className:\"slider\",\"data-testid\":`${u}-slider`}),a]})})});function mi(e,t){const n=d(e);p(()=>{n.current=e},[e]),f(()=>{if(!t&&0!==t)return;const e=setTimeout(()=>n.current(),t);return()=>{clearTimeout(e)}},[t])}function pi(e){const[t,n]=c(!1);function o({key:t}){t===e&&n(!0)}const i=({key:t})=>{t===e&&n(!1)};return f(()=>(window.addEventListener(\"keydown\",o),window.addEventListener(\"keyup\",i),()=>{window.removeEventListener(\"keydown\",o),window.removeEventListener(\"keyup\",i)}),[]),t}function hi(e,t=500){const[n,o]=c(e);return f(()=>{const n=setTimeout(()=>{o(e)},t);return()=>clearTimeout(n)},[e,t]),n}function gi(e,t=!0){const n=l(w),o=n?.windows.my(),i=a(async()=>{o&&await o.show().catch(e=>console.log(\"Error showing window:\",e))},[o]),r=a(async()=>{o&&await o.hide().catch(e=>console.log(\"Error hiding window:\",e))},[o]);f(()=>{if(!o)return;(e?i():r()).catch(console.error),e&&t&&o.focus().catch(console.error)},[e,t,o,i,r])}function vi(e,t){f(()=>{const n=n=>{n.code===e&&t()};return document.addEventListener(\"keyup\",n),()=>document.removeEventListener(\"keyup\",n)},[e,t])}function yi(e=!0){const t=l(w),n=t?.windows.my(),o=e=>{e.isFocused||n?.hide().catch(e=>{console.error(\"Error hiding window:\",e)})};return f(()=>{if(!e)return;const t=n?.onFocusChanged(o);return()=>t?.()},[]),t}fi.displayName=\"Toggle\";const wi=()=>void 0!==window.glue42gd||void 0!==window.iodesktop;function bi(){return u(()=>\"object\"==typeof window&&wi(),[])}const Ci=()=>{const e=l(w),[t,n]=c(null),o=a(t=>e?.themes?.select(t),[e]);return f(()=>{if(!e)return;let t=!1;const o=e=>{t||n(e)};return e.themes?.onChanged(o),e.themes?.getCurrent().then(o).catch(console.warn),()=>{t=!0}},[e]),{currentTheme:t,selectTheme:o}};const ki=()=>{const e=l(w),t=e?.windows,n=e?.workspaces,o=d(null),[i,r]=c(null),[s,u]=c(null),[m,p]=c(!1),[h,g]=c(!1),[v,y]=c(null),b=d(void 0),C=function(){const e=d(!1);return f(()=>(e.current=!0,()=>{e.current=!1}),[]),a(()=>e.current,[])}(),{currentTheme:k}=Ci();f(()=>{o.current=i;const e=i?.ioConnectWindow.onVisibilityChanged(()=>{i?.ioConnectWindow.isVisible||p(!1)});return()=>{e?.()}},[i]);const N=a(async(e,o)=>{const i={windowId:e?.ioConnectWindow.id,...o},r=window.glue42gd.windowId;if((()=>{const e=wi()&&!!window.workspacesManager,t=!wi()&&!!window.ioworkspaces;return e||t})()){if(!n)return;const e=(await(n?.getAllFrames())).find(e=>e.id===r);await(e?.showPopup(i))}else if(wi()&&window.webGroupsManager){const e=t.groups.list().find(e=>e.id===r);await(e?.showPopup(i))}else{const e=t.my();if(!e)return void console.warn(\"Cannot access my window to show popup\");await e.showPopup({...i})}},[t,n]),S=a(e=>{try{const t=e.document;k?.name&&(t.documentElement.className=k.name);const n=t.createElement(\"div\");return n.id=\"io-popup-window-container\",t.body.innerHTML=\"\",t.body.appendChild(n),t}catch(e){const t=`Failed to setup popup document: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),C()&&y(t),null}},[k,C]),D=a(async e=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),C()&&y(e),null}C()&&(g(!0),y(null));try{const n=new Promise((e,t)=>{setTimeout(()=>t(new Error(\"Popup creation timeout after 5 seconds\")),5e3)}),o=t.createPopup({...e}),i=await Promise.race([o,n]);if(!C())return await i.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null;r(i);const a=i.browserWindow;if(a?.document){const e=S(a);C()&&e&&u(e)}return i}catch(e){const t=`Failed to create popup: ${String(e)}`;return console.error(\"usePopupWindow:\",t,e),C()&&(y(t),r(null),u(null)),null}finally{C()&&g(!1)}},[t,S,C]),x=a(()=>{if(!i||!t)return!1;try{return t.list().some(e=>e.id===i.ioConnectWindow.id)}catch(e){return console.warn(\"usePopupWindow: Failed to verify popup existence\",e),!1}},[i,t]),E=a(async()=>{if(!i)return null;if(x())return i;console.warn(\"usePopupWindow: Popup window was destroyed, recreating...\");const e=i.ioConnectWindow.bounds,t=await D({left:e.left,top:e.top,width:e.width,height:e.height});if(!t){const e=\"Failed to recreate destroyed popup window\";console.error(\"usePopupWindow:\",e),C()&&y(e)}return t},[i,x,D,C]),I=a(async e=>{if(i)return await E();const t=await D(e);return t?C()?t:(await t.ioConnectWindow.close().catch(()=>{}),console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\"),null):(console.warn(\"usePopupWindow: Failed to create popup, operation aborted\"),null)},[i,E,D,C]);f(()=>{if(i?.browserWindow&&s)try{k?.name&&(s.documentElement.className=k.name)}catch(e){console.warn(\"usePopupWindow: Failed to update popup theme\",e)}},[i,s,k]);const M=a(()=>{y(null)},[]),P=a(async e=>{if(i){if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(C()&&y(e))}try{const t=e||b.current;if(!t)return void console.warn(\"usePopupWindow: No show options available\");const n=await E();if(!n||!C())return;await N(n,t),C()&&p(!0)}catch(e){const t=`Failed to show popup: ${JSON.stringify(e)}`;console.error(\"usePopupWindow:\",t,e),C()&&y(t)}}else console.warn(\"usePopupWindow: Cannot show popup - popup not created yet\")},[i,t,N,C,E]),A=a(async e=>{await(i?.ioConnectWindow.moveResize({...e}))},[i]),T=a(async()=>{if(C()&&(p(!1),o.current))try{await o.current.ioConnectWindow.hide()}catch(e){console.error(\"usePopupWindow: Failed to hide popup\",e)}},[o,C]);Q(()=>{m&&T().catch(e=>{console.error(\"Failed to hide popup on Escape key press in parent window\",e)})},[\"Escape\"]),f(()=>{if(!i?.browserWindow||!m)return;const e=e=>{\"Escape\"===e.key&&(e.preventDefault(),T().catch(e=>{console.error(\"Failed to hide popup on Escape key press in popup window\",e)}))};return i.browserWindow.document.addEventListener(\"keydown\",e),()=>{i.browserWindow.document.removeEventListener(\"keydown\",e)}},[i,m,T]);const O=a(async()=>{if(o.current)try{await o.current.ioConnectWindow.close(),o.current=null}catch(e){const t=`Failed to close popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),C()&&y(t)}finally{C()&&(r(null),u(null),p(!1),b.current=void 0)}},[o,C]),F=a(async(e,n,o)=>{if(!t){const e=\"io.Connect API not available\";return console.error(\"usePopupWindow:\",e),void(C()&&y(e))}C()&&(g(!0),y(null));try{let e=await I(n);if(!e){const t=await D(n);if(!t)return void console.warn(\"usePopupWindow: Failed to create popup, operation aborted\");if(!C())return await t.ioConnectWindow.close().catch(()=>{}),void console.warn(\"usePopupWindow: Component unmounted during popup creation, cleaned up popup\");e=t}o&&(b.current=o),await N(e,o),C()&&p(!0)}catch(e){const t=`Failed to create and show popup: ${String(e)}`;console.error(\"usePopupWindow:\",t,e),C()&&y(t)}finally{C()&&g(!1)}},[D,t,N,C,I]);return{popup:i,loading:h,error:v,clearError:M,isOpen:!!i,isVisible:m,createPopup:D,showPopup:P,createAndShowPopup:F,hidePopup:T,closePopup:O,getContainer:()=>s?.getElementById(\"io-popup-window-container\")||null,resizePopup:A}},Ni=s({theme:\"dark\"}),Si=({children:t})=>{const n=l(w),[o,i]=c({theme:\"dark\"});return f(()=>{const e=window.iodesktop??window.glue42gd;if(e&&\"theme\"in e){const t=e.theme;document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(t);const o=n.themes?.onChanged(e=>{i({theme:e.name}),document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(e.name)});return o}},[n.themes]),e(Ni.Provider,{value:o,children:t})},Di=\"io-connect-platform\",xi=\"___platform_prefs___\",Ei=\"_launchpad_collapsedSections\",Ii=\"_launchpad_favorites\",Mi=\"_launchpad_isLayoutsPanelOpen\",Pi=\"_launchpad_isCollapsed\",Ai=\"_launchpad_isPinned\",Ti=\"_launchpad_pinnedPosition\",Oi=\"_launchpad_allowDocking\",Fi=\"_launchpad_minimizeToTray\",Li=\"_launchpad_autoCloseStartingAppsAndWorkspaces\",Bi=\"_launchpad_showTutorialOnStartup\",Ri=\"_layouts_restoreLastSaved\",_i=\"_layouts_saveCurrentOnExit\",Hi=\"_layouts_showUnsavedChangesPrompt\",ji=\"_layouts_showDeletePrompt\",$i=\"_downloads_askForEachDownload\",zi=\"_downloads_location\",Wi=\"_system_scheduleRestart\",Vi=\"_system_scheduleRestartTime\",Yi=\"_system_scheduleRestartFrequency\",Ui=\"_system_scheduleRestartDay\",Ki=\"_system_scheduleShutdown\",Ji=\"_system_scheduleShutdownTime\",qi=\"_system_scheduleShutdownFrequency\",Gi=\"_system_scheduleShutdownDay\",Qi={[Ei]:[],[Ii]:[],[Mi]:!1,[Pi]:!1,[Ai]:!1,[Ti]:\"Left\",[Oi]:!0,[Fi]:!1,[Li]:!0,[Bi]:!0,[Ri]:!0,[_i]:!0,[Hi]:!0,[ji]:!0,[$i]:!0,[zi]:\"\",[Wi]:!1,[Vi]:\"12:00 AM\",[Yi]:\"daily\",[Ui]:\"Monday\",[Ki]:!1,[Ji]:\"12:00 AM\",[qi]:\"daily\",[Gi]:\"Monday\"},Xi=e=>\"string\"==typeof e?e:e?.message?\"string\"==typeof e.message?e.message:JSON.stringify(e.message):JSON.stringify(e),Zi=\"warning\",er={success:5e3,warning:1e4};var tr=function(e){return{ok:!0,result:e}},nr=function(e){return{ok:!1,error:e}},or=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:tr(e(t.result,n.result))},ir=function(e,t){return!0===t.ok?t:nr(e(t.error))},rr=function(){return rr=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},rr.apply(this,arguments)};function ar(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if(\"object\"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!ar(e[n],t[n]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(n=0;n<o.length;n++){if(!t.hasOwnProperty(o[n]))return!1;if(!ar(e[o[n]],t[o[n]]))return!1}return!0}}var sr=function(e){return Array.isArray(e)},lr=function(e){return\"object\"==typeof e&&null!==e&&!sr(e)},cr=function(e,t){return\"expected \"+e+\", got \"+function(e){switch(typeof e){case\"string\":return\"a string\";case\"number\":return\"a number\";case\"boolean\":return\"a boolean\";case\"undefined\":return\"undefined\";case\"object\":return e instanceof Array?\"an array\":null===e?\"null\":\"an object\";default:return JSON.stringify(e)}}(t)},ur=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},dr=function(e,t){var n=t.at,o=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}(t,[\"at\"]);return rr({at:e+(n||\"\")},o)},fr=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return ir(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return!0===(t=n.run(e)).ok?Promise.resolve(t.result):Promise.reject(t.error);var t},this.runWithException=function(e){return function(e){if(!0===e.ok)return e.result;throw e.error}(n.run(e))},this.map=function(t){return new e(function(e){return function(e,t){return!0===t.ok?tr(e(t.result)):t}(t,n.decode(e))})},this.andThen=function(t){return new e(function(e){return function(e,t){return!0===t.ok?e(t.result):t}(function(n){return t(n).decode(e)},n.decode(e))})},this.where=function(t,o){return n.andThen(function(n){return t(n)?e.succeed(n):e.fail(o)})}}return e.string=function(){return new e(function(e){return\"string\"==typeof e?tr(e):nr({message:cr(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?tr(e):nr({message:cr(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?tr(e):nr({message:cr(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return ar(e,t)?tr(t):nr({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(lr(e)&&t){var n={};for(var o in t)if(t.hasOwnProperty(o)){var i=t[o].decode(e[o]);if(!0!==i.ok)return void 0===e[o]?nr({message:\"the key '\"+o+\"' is required but was not present\"}):nr(dr(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return tr(n)}return lr(e)?tr(e):nr({message:cr(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(sr(e)&&t){return e.reduce(function(e,n,o){return or(function(e,t){return e.concat([t])},e,function(e,n){return ir(function(e){return dr(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},tr([]))}return sr(e)?tr(e):nr({message:cr(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(sr(e)){if(e.length!==t.length)return nr({message:\"expected a tuple of length \"+t.length+\", got one of length \"+e.length});for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e[o]);if(!i.ok)return nr(dr(\"[\"+o+\"]\",i.error));n[o]=i.result}return tr(n)}return nr({message:cr(\"a tuple of length \"+t.length,e)})})},e.union=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e.oneOf.apply(e,[t,n].concat(o))},e.intersection=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return new e(function(e){return[t,n].concat(o).reduce(function(t,n){return or(Object.assign,t,n.decode(e))},tr({}))})},e.anyJson=function(){return new e(function(e){return tr(e)})},e.unknownJson=function(){return new e(function(e){return tr(e)})},e.dict=function(t){return new e(function(e){if(lr(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return nr(dr(\".\"+o,i.error));n[o]=i.result}return tr(n)}return nr({message:cr(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?tr(void 0):t.decode(e)})},e.oneOf=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new e(function(e){for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e);if(!0===i.ok)return i;n[o]=i.error}var r=n.map(function(e){return\"at error\"+(e.at||\"\")+\": \"+e.message}).join('\", \"');return nr({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return tr(function(e,t){return!0===t.ok?t.result:e}(t,n.decode(e)))})},e.valueAt=function(t,n){return new e(function(e){for(var o=e,i=0;i<t.length;i++){if(void 0===o)return nr({at:ur(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!lr(o))return nr({at:ur(t.slice(0,i+1)),message:cr(\"an object\",o)});if(\"number\"==typeof t[i]&&!sr(o))return nr({at:ur(t.slice(0,i+1)),message:cr(\"an array\",o)});o=o[t[i]]}return ir(function(e){return void 0===o?{at:ur(t),message:\"path does not exist\"}:dr(ur(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return tr(t)})},e.fail=function(t){return new e(function(e){return nr({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),mr=fr.string;fr.number;var pr=fr.boolean,hr=fr.anyJson;fr.unknownJson;var gr=fr.constant,vr=fr.object,yr=fr.array;fr.tuple,fr.dict;var wr=fr.optional,br=fr.oneOf;fr.union,fr.intersection,fr.withDefault,fr.valueAt,fr.succeed,fr.fail,fr.lazy;const Cr=[\"name\",\"title\",\"version\",\"customProperties\",\"icon\",\"caption\",\"type\"],kr=[\"appId\",\"name\",\"type\",\"details\",\"version\",\"title\",\"tooltip\",\"lang\",\"description\",\"categories\",\"icons\",\"screenshots\",\"contactEmail\",\"moreInfo\",\"publisher\",\"customConfig\",\"hostManifests\",\"interop\",\"localizedVersions\"];var Nr=function(e){return{ok:!0,result:e}},Sr=function(e){return{ok:!1,error:e}},Dr=function(e,t,n){return!1===t.ok?t:!1===n.ok?n:Nr(e(t.result,n.result))},xr=function(e,t){return!0===t.ok?t:Sr(e(t.error))},Er=function(){return Er=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Er.apply(this,arguments)};function Ir(e,t){if(e===t)return!0;if(null===e&&null===t)return!0;if(typeof e!=typeof t)return!1;if(\"object\"==typeof e){if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!Ir(e[n],t[n]))return!1;return!0}var o=Object.keys(e);if(o.length!==Object.keys(t).length)return!1;for(n=0;n<o.length;n++){if(!t.hasOwnProperty(o[n]))return!1;if(!Ir(e[o[n]],t[o[n]]))return!1}return!0}}var Mr=function(e){return Array.isArray(e)},Pr=function(e){return\"object\"==typeof e&&null!==e&&!Mr(e)},Ar=function(e,t){return\"expected \"+e+\", got \"+function(e){switch(typeof e){case\"string\":return\"a string\";case\"number\":return\"a number\";case\"boolean\":return\"a boolean\";case\"undefined\":return\"undefined\";case\"object\":return e instanceof Array?\"an array\":null===e?\"null\":\"an object\";default:return JSON.stringify(e)}}(t)},Tr=function(e){return e.map(function(e){return\"string\"==typeof e?\".\"+e:\"[\"+e+\"]\"}).join(\"\")},Or=function(e,t){var n=t.at,o=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);i<o.length;i++)t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i])&&(n[o[i]]=e[o[i]])}return n}(t,[\"at\"]);return Er({at:e+(n||\"\")},o)},Fr=function(){function e(t){var n=this;this.decode=t,this.run=function(e){return xr(function(t){return{kind:\"DecoderError\",input:e,at:\"input\"+(t.at||\"\"),message:t.message||\"\"}},n.decode(e))},this.runPromise=function(e){return!0===(t=n.run(e)).ok?Promise.resolve(t.result):Promise.reject(t.error);var t},this.runWithException=function(e){return function(e){if(!0===e.ok)return e.result;throw e.error}(n.run(e))},this.map=function(t){return new e(function(e){return function(e,t){return!0===t.ok?Nr(e(t.result)):t}(t,n.decode(e))})},this.andThen=function(t){return new e(function(e){return function(e,t){return!0===t.ok?e(t.result):t}(function(n){return t(n).decode(e)},n.decode(e))})},this.where=function(t,o){return n.andThen(function(n){return t(n)?e.succeed(n):e.fail(o)})}}return e.string=function(){return new e(function(e){return\"string\"==typeof e?Nr(e):Sr({message:Ar(\"a string\",e)})})},e.number=function(){return new e(function(e){return\"number\"==typeof e?Nr(e):Sr({message:Ar(\"a number\",e)})})},e.boolean=function(){return new e(function(e){return\"boolean\"==typeof e?Nr(e):Sr({message:Ar(\"a boolean\",e)})})},e.constant=function(t){return new e(function(e){return Ir(e,t)?Nr(t):Sr({message:\"expected \"+JSON.stringify(t)+\", got \"+JSON.stringify(e)})})},e.object=function(t){return new e(function(e){if(Pr(e)&&t){var n={};for(var o in t)if(t.hasOwnProperty(o)){var i=t[o].decode(e[o]);if(!0!==i.ok)return void 0===e[o]?Sr({message:\"the key '\"+o+\"' is required but was not present\"}):Sr(Or(\".\"+o,i.error));void 0!==i.result&&(n[o]=i.result)}return Nr(n)}return Pr(e)?Nr(e):Sr({message:Ar(\"an object\",e)})})},e.array=function(t){return new e(function(e){if(Mr(e)&&t){return e.reduce(function(e,n,o){return Dr(function(e,t){return e.concat([t])},e,function(e,n){return xr(function(e){return Or(\"[\"+n+\"]\",e)},t.decode(e))}(n,o))},Nr([]))}return Mr(e)?Nr(e):Sr({message:Ar(\"an array\",e)})})},e.tuple=function(t){return new e(function(e){if(Mr(e)){if(e.length!==t.length)return Sr({message:\"expected a tuple of length \"+t.length+\", got one of length \"+e.length});for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e[o]);if(!i.ok)return Sr(Or(\"[\"+o+\"]\",i.error));n[o]=i.result}return Nr(n)}return Sr({message:Ar(\"a tuple of length \"+t.length,e)})})},e.union=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e.oneOf.apply(e,[t,n].concat(o))},e.intersection=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return new e(function(e){return[t,n].concat(o).reduce(function(t,n){return Dr(Object.assign,t,n.decode(e))},Nr({}))})},e.anyJson=function(){return new e(function(e){return Nr(e)})},e.unknownJson=function(){return new e(function(e){return Nr(e)})},e.dict=function(t){return new e(function(e){if(Pr(e)){var n={};for(var o in e)if(e.hasOwnProperty(o)){var i=t.decode(e[o]);if(!0!==i.ok)return Sr(Or(\".\"+o,i.error));n[o]=i.result}return Nr(n)}return Sr({message:Ar(\"an object\",e)})})},e.optional=function(t){return new e(function(e){return null==e?Nr(void 0):t.decode(e)})},e.oneOf=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return new e(function(e){for(var n=[],o=0;o<t.length;o++){var i=t[o].decode(e);if(!0===i.ok)return i;n[o]=i.error}var r=n.map(function(e){return\"at error\"+(e.at||\"\")+\": \"+e.message}).join('\", \"');return Sr({message:'expected a value matching one of the decoders, got the errors [\"'+r+'\"]'})})},e.withDefault=function(t,n){return new e(function(e){return Nr(function(e,t){return!0===t.ok?t.result:e}(t,n.decode(e)))})},e.valueAt=function(t,n){return new e(function(e){for(var o=e,i=0;i<t.length;i++){if(void 0===o)return Sr({at:Tr(t.slice(0,i+1)),message:\"path does not exist\"});if(\"string\"==typeof t[i]&&!Pr(o))return Sr({at:Tr(t.slice(0,i+1)),message:Ar(\"an object\",o)});if(\"number\"==typeof t[i]&&!Mr(o))return Sr({at:Tr(t.slice(0,i+1)),message:Ar(\"an array\",o)});o=o[t[i]]}return xr(function(e){return void 0===o?{at:Tr(t),message:\"path does not exist\"}:Or(Tr(t),e)},n.decode(o))})},e.succeed=function(t){return new e(function(e){return Nr(t)})},e.fail=function(t){return new e(function(e){return Sr({message:t})})},e.lazy=function(t){return new e(function(e){return t().decode(e)})},e}(),Lr=Fr.string,Br=Fr.number,Rr=Fr.boolean,_r=Fr.anyJson;Fr.unknownJson;var Hr=Fr.constant,jr=Fr.object,$r=Fr.array;Fr.tuple;var zr=Fr.dict,Wr=Fr.optional,Vr=Fr.oneOf;Fr.union,Fr.intersection,Fr.withDefault,Fr.valueAt,Fr.succeed,Fr.fail,Fr.lazy;const Yr=Lr().where(e=>e.length>0,\"Expected a non-empty string\"),Ur=Br().where(e=>e>=0,\"Expected a non-negative number\"),Kr=jr({name:Yr,displayName:Wr(Lr()),contexts:Wr($r(Lr())),customConfig:Wr(jr())}),Jr=Vr(Hr(\"web\"),Hr(\"native\"),Hr(\"citrix\"),Hr(\"onlineNative\"),Hr(\"other\")),qr=jr({url:Yr}),Gr=jr({src:Yr,size:Wr(Yr),type:Wr(Yr)}),Qr=jr({src:Yr,size:Wr(Yr),type:Wr(Yr),label:Wr(Yr)}),Xr=jr({contexts:$r(Yr),displayName:Wr(Yr),resultType:Wr(Yr),customConfig:Wr(_r())}),Zr=jr({listensFor:Wr(zr(Xr)),raises:Wr(zr($r(Yr)))}),ea=jr({broadcasts:Wr($r(Yr)),listensFor:Wr($r(Yr))}),ta=jr({name:Yr,description:Wr(Yr),broadcasts:Wr($r(Yr)),listensFor:Wr($r(Yr))}),na=jr({intents:Wr(Zr),userChannels:Wr(ea),appChannels:Wr($r(ta))}),oa=jr({url:Wr(Yr),top:Wr(Br()),left:Wr(Br()),width:Wr(Ur),height:Wr(Ur)}),ia=jr({name:Wr(Yr),type:Wr(Yr.where(e=>\"window\"===e,\"Expected a value of window\")),title:Wr(Yr),version:Wr(Yr),customProperties:Wr(_r()),icon:Wr(Lr()),caption:Wr(Lr()),details:Wr(oa),intents:Wr($r(Kr)),hidden:Wr(Rr())}),ra=jr({name:Yr,appId:Yr,title:Wr(Yr),version:Wr(Yr),manifest:Yr,manifestType:Yr,tooltip:Wr(Yr),description:Wr(Yr),contactEmail:Wr(Yr),supportEmail:Wr(Yr),publisher:Wr(Yr),images:Wr($r(jr({url:Wr(Yr)}))),icons:Wr($r(jr({icon:Wr(Yr)}))),customConfig:_r(),intents:Wr($r(Kr))}),aa=jr({appId:Wr(Yr),name:Wr(Yr),details:Wr(qr),version:Wr(Yr),title:Wr(Yr),tooltip:Wr(Yr),lang:Wr(Yr),description:Wr(Yr),categories:Wr($r(Yr)),icons:Wr($r(Gr)),screenshots:Wr($r(Qr)),contactEmail:Wr(Yr),supportEmail:Wr(Yr),moreInfo:Wr(Yr),publisher:Wr(Yr),customConfig:Wr($r(_r())),hostManifests:Wr(_r()),interop:Wr(na)}),sa=jr({appId:Yr,name:Wr(Yr),type:Jr,details:qr,version:Wr(Yr),title:Wr(Yr),tooltip:Wr(Yr),lang:Wr(Yr),description:Wr(Yr),categories:Wr($r(Yr)),icons:Wr($r(Gr)),screenshots:Wr($r(Qr)),contactEmail:Wr(Yr),supportEmail:Wr(Yr),moreInfo:Wr(Yr),publisher:Wr(Yr),customConfig:Wr($r(_r())),hostManifests:Wr(_r()),interop:Wr(na),localizedVersions:Wr(zr(aa))}),la=Vr(ra,sa),ca=e=>`${e.kind} at ${e.at}: ${JSON.stringify(e.input)}. Reason - ${e.message}`;class ua{fdc3ToDesktopDefinitionType={web:\"window\",native:\"exe\",citrix:\"citrix\",onlineNative:\"clickonce\",other:\"window\"};toApi(){return{isFdc3Definition:this.isFdc3Definition.bind(this),parseToBrowserBaseAppData:this.parseToBrowserBaseAppData.bind(this),parseToDesktopAppConfig:this.parseToDesktopAppConfig.bind(this)}}isFdc3Definition(e){const t=la.run(e);return t.ok?e.appId&&e.details?{isFdc3:!0,version:\"2.0\"}:e.manifest?{isFdc3:!0,version:\"1.2\"}:{isFdc3:!1,reason:\"The passed definition is not FDC3\"}:{isFdc3:!1,reason:ca(t.error)}}parseToBrowserBaseAppData(e){const{isFdc3:t,version:n}=this.isFdc3Definition(e);if(!t)throw new Error(\"The passed definition is not FDC3\");const o=la.run(e);if(!o.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(o.error)}`);const i=this.getUserPropertiesFromDefinition(e,n),r={url:this.getUrl(e,n)},a={name:e.appId,type:\"window\",createOptions:r,userProperties:{...i,intents:\"1.2\"===n?i.intents:this.getIntentsFromV2AppDefinition(e),details:r},title:e.title,version:e.version,icon:this.getIconFromDefinition(e,n),caption:e.description,fdc3:\"2.0\"===n?{...e,definitionVersion:\"2.0\"}:void 0},s=e.hostManifests?.ioConnect||e.hostManifests?.Glue42;if(!s)return a;const l=ia.run(s);if(!l.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(l.error)}`);return Object.keys(l.result).length?this.mergeBaseAppDataWithGlueManifest(a,l.result):a}parseToDesktopAppConfig(e){const{isFdc3:t,version:n}=this.isFdc3Definition(e);if(!t)throw new Error(\"The passed definition is not FDC3\");const o=la.run(e);if(!o.ok)throw new Error(`Invalid FDC3 ${n} definition. Error: ${ca(o.error)}`);if(\"1.2\"===n){const t=e;return{name:t.appId,type:\"window\",details:{url:this.getUrl(e,n)},version:t.version,title:t.title,tooltip:t.tooltip,caption:t.description,icon:t.icons?.[0].icon,intents:t.intents,customProperties:{manifestType:t.manifestType,images:t.images,contactEmail:t.contactEmail,supportEmail:t.supportEmail,publisher:t.publisher,icons:t.icons,customConfig:t.customConfig}}}const i=e,r={name:i.appId,type:this.fdc3ToDesktopDefinitionType[i.type],details:i.details,version:i.version,title:i.title,tooltip:i.tooltip,caption:i.description,icon:this.getIconFromDefinition(i,\"2.0\"),intents:this.getIntentsFromV2AppDefinition(i),fdc3:{...i,definitionVersion:\"2.0\"}},a=e.hostManifests?.ioConnect||e.hostManifests?.Glue42;if(!a)return r;if(\"object\"!=typeof a||Array.isArray(a))throw new Error(`Invalid '${e.hostManifests.ioConnect?\"hostManifests.ioConnect\":\"hostManifests['Glue42']\"}' key`);return this.mergeDesktopConfigWithGlueManifest(r,a)}getUserPropertiesFromDefinition(e,t){return\"1.2\"===t?Object.fromEntries(Object.entries(e).filter(([e])=>!Cr.includes(e))):Object.fromEntries(Object.entries(e).filter(([e])=>!Cr.includes(e)&&!kr.includes(e)))}getUrl(e,t){let n;if(\"1.2\"===t){const t=JSON.parse(e.manifest);n=t.details?.url||t.url}else n=e.details?.url;if(!n||\"string\"!=typeof n)throw new Error(`Invalid FDC3 ${t} definition. Provide valid 'url' under '${\"1.2\"===t?\"manifest\":\"details\"}' key`);return n}getIntentsFromV2AppDefinition(e){const t=e.interop?.intents?.listensFor;if(!t)return;return Object.entries(t).map(e=>{const[t,n]=e;return{name:t,...n}})}getIconFromDefinition(e,t){return\"1.2\"===t?e.icons?.find(e=>e.icon)?.icon||void 0:e.icons?.find(e=>e.src)?.src||void 0}mergeBaseAppDataWithGlueManifest(e,t){let n=e;if(t.customProperties&&(n.userProperties={...e.userProperties,...t.customProperties}),t.details){const o={...e.createOptions,...t.details};n.createOptions=o,n.userProperties.details=o}return Array.isArray(t.intents)&&(n.userProperties.intents=(n.userProperties.intents||[]).concat(t.intents)),n={...n,...t},delete n.details,delete n.intents,n}mergeDesktopConfigWithGlueManifest(e,t){const n=Object.assign({},e,t,{details:{...e.details,...t.details}});return Array.isArray(t.intents)&&(n.intents=(e.intents||[]).concat(t.intents)),n}}const da={common:{nonEmptyStringDecoder:Yr,nonNegativeNumberDecoder:Ur},fdc3:{allDefinitionsDecoder:la,v1DefinitionDecoder:ra,v2DefinitionDecoder:sa}};var fa;!function(e){e.USER_CANCELLED=\"User Closed Intents Resolver UI without choosing a handler\",e.CALLER_NOT_DEFINED=\"Caller Id is not defined\",e.TIMEOUT_HIT=\"Timeout hit\",e.INTENT_NOT_FOUND=\"Cannot find Intent\",e.HANDLER_NOT_FOUND=\"Cannot find Intent Handler\",e.TARGET_INSTANCE_UNAVAILABLE=\"Cannot start Target Instance\",e.INTENT_DELIVERY_FAILED=\"Target Instance did not add a listener\",e.RESOLVER_UNAVAILABLE=\"Intents Resolver UI unavailable\",e.RESOLVER_TIMEOUT=\"User did not choose a handler\",e.INVALID_RESOLVER_RESPONSE=\"Intents Resolver UI returned invalid response\",e.INTENT_HANDLER_REJECTION=\"Intent Handler function processing the raised intent threw an error or rejected the promise it returned\"}(fa||(fa={}));const ma=new class{_fdc3;_decoders=da;_errors={intents:fa};get fdc3(){return this._fdc3||(this._fdc3=(new ua).toApi()),this._fdc3}get decoders(){return this._decoders}get errors(){return this._errors}};ma.fdc3;const pa=ma.decoders;ma.errors;const ha=pa.common.nonEmptyStringDecoder,ga=br(gr(\"add\"),gr(\"align-bottom\"),gr(\"align-bottom-solid\"),gr(\"align-left\"),gr(\"align-left-bottom\"),gr(\"align-left-bottom-solid\"),gr(\"align-left-solid\"),gr(\"align-left-top\"),gr(\"align-left-top-solid\"),gr(\"align-right\"),gr(\"align-right-bottom\"),gr(\"align-right-bottom-solid\"),gr(\"align-right-solid\"),gr(\"align-right-top\"),gr(\"align-right-top-solid\"),gr(\"align-top\"),gr(\"align-top-solid\"),gr(\"always-on-top\"),gr(\"always-on-top-on\"),gr(\"application\"),gr(\"arrow-down-long\"),gr(\"arrow-down-to-bracket\"),gr(\"arrow-left-long\"),gr(\"arrow-right-from-bracket\"),gr(\"arrow-right-long\"),gr(\"arrow-right\"),gr(\"arrow-up\"),gr(\"arrow-up-long\"),gr(\"ban\"),gr(\"bell\"),gr(\"bell-solid\"),gr(\"bookmark\"),gr(\"bullseye-pointer\"),gr(\"certificate\"),gr(\"check\"),gr(\"check-light\"),gr(\"check-solid\"),gr(\"chevron-down\"),gr(\"chevron-left\"),gr(\"chevron-right\"),gr(\"chevron-up\"),gr(\"circle-info\"),gr(\"circle-xmark\"),gr(\"circle-xmark-full\"),gr(\"clock\"),gr(\"clock-rotate-left\"),gr(\"clone\"),gr(\"close\"),gr(\"cog\"),gr(\"cog-solid\"),gr(\"collapse\"),gr(\"copy\"),gr(\"download\"),gr(\"delete-left\"),gr(\"dev-tools\"),gr(\"ellipsis\"),gr(\"ellipsis-vertical\"),gr(\"expand\"),gr(\"envelope\"),gr(\"envelope-open\"),gr(\"exclamation-mark\"),gr(\"expand\"),gr(\"feedback\"),gr(\"filter\"),gr(\"floppy\"),gr(\"floppy-disk-pen\"),gr(\"folder\"),gr(\"folder-open\"),gr(\"globe\"),gr(\"group\"),gr(\"hidden\"),gr(\"home\"),gr(\"house\"),gr(\"info\"),gr(\"keyboard\"),gr(\"layout\"),gr(\"link\"),gr(\"list-ul\"),gr(\"lock\"),gr(\"logo\"),gr(\"minimize\"),gr(\"minimize-down\"),gr(\"paper-plane-top\"),gr(\"paperclip\"),gr(\"pause\"),gr(\"pen-line\"),gr(\"pen-to-square\"),gr(\"pin\"),gr(\"play\"),gr(\"pop-in\"),gr(\"pop-in-widget\"),gr(\"pop-out\"),gr(\"power-off\"),gr(\"publish\"),gr(\"refresh\"),gr(\"resize\"),gr(\"restore\"),gr(\"rotate-right\"),gr(\"search\"),gr(\"search-filled\"),gr(\"sleep\"),gr(\"sliders\"),gr(\"snooze\"),gr(\"spinner\"),gr(\"square\"),gr(\"square-arrow-down\"),gr(\"square-arrow-up\"),gr(\"star\"),gr(\"star-full\"),gr(\"sticky-off\"),gr(\"sticky-off-hover\"),gr(\"sticky-on\"),gr(\"sticky-on-hover\"),gr(\"subscribe\"),gr(\"system-close\"),gr(\"system-maximize\"),gr(\"system-minimize\"),gr(\"thumbs-down\"),gr(\"thumbs-up\"),gr(\"trash\"),gr(\"trash-can\"),gr(\"triangle-exclamation\"),gr(\"unlock\"),gr(\"unpin\"),gr(\"up-to-line\"),gr(\"user\"),gr(\"user-gear\"),gr(\"visible\"),gr(\"workspace\")),va=vr({id:ha,title:ha,description:wr(mr()),icon:wr(ga),iconSrc:wr(ha),contextMenuActions:wr(yr(hr())),type:ha}),ya=br(gr(\"Left\"),gr(\"Right\")),wa=br(gr(\"daily\"),gr(\"weekly\")),ba=br(gr(\"Sunday\"),gr(\"Monday\"),gr(\"Tuesday\"),gr(\"Wednesday\"),gr(\"Thursday\"),gr(\"Friday\"),gr(\"Saturday\")),Ca=vr({customPrefs:wr(hr()),_launchpad_collapsedSections:wr(yr(ha)),_launchpad_favorites:wr(yr(va)),_launchpad_isLayoutsPanelOpen:wr(pr()),_launchpad_isCollapsed:wr(pr()),_launchpad_isPinned:wr(pr()),_launchpad_pinnedPosition:wr(ya),_launchpad_allowDocking:wr(pr()),_launchpad_minimizeToTray:wr(pr()),_launchpad_autoCloseStartingAppsAndWorkspaces:wr(pr()),_launchpad_showTutorialOnStartup:wr(pr()),_layouts_restoreLastSaved:wr(pr()),_layouts_saveCurrentOnExit:wr(pr()),_layouts_showUnsavedChangesPrompt:wr(pr()),_layouts_showDeletePrompt:wr(pr()),_downloads_askForEachDownload:wr(pr()),_downloads_location:wr(mr()),_system_scheduleRestart:wr(pr()),_system_scheduleRestartTime:wr(ha),_system_scheduleRestartFrequency:wr(wa),_system_scheduleRestartDay:wr(ba),_system_scheduleShutdown:wr(pr()),_system_scheduleShutdownTime:wr(ha),_system_scheduleShutdownFrequency:wr(wa),_system_scheduleShutdownDay:wr(ba)}),ka=async e=>{const{io:t,variant:n,text:o,error:i}=e,r=Xi(i);try{if(n===Zi&&t.logger.warn(r?`${o} ${r}`:o),!(\"modals\"in t)||!t.modals)throw new Error(\"Modals are not enabled.\");const e={text:o,variant:n,ttl:er[n]};await t.modals.alerts.request(e)}catch(e){console.warn(\"Failed to request alert. \",{error:e})}},Na=s(void 0),Sa=({children:t,launchpadMode:n})=>{const[o,i]=c(),[r,a]=c(!1),[s,d]=c(),m=l(w),p=u(()=>({prefs:o,isInitialSetupCompleted:r,initialSetupError:s}),[o,r,s]);return f(()=>{if(!m)return;let e=!1;const t=m.contexts.subscribe(xi,t=>{if(e)return;const n=Ca.run(t);if(!n.ok)return void m.logger.warn(`The received data for context ${xi} is with an invalid shape: ${Xi(n.error.message)}`);const o=n.result;i(o),m.prefs.updateFor(Di,o).catch(e=>{m.logger.warn(`Failed to update platform prefs. Error: ${Xi(e)}`)})});return()=>{e=!0,t.then(e=>{e()})}},[m]),f(()=>{if(!m)return;(async()=>{try{const e=await m.contexts.get(xi),t=Ca.run(e);if(!t.ok)throw new Error(`The data in context ${xi} is with an invalid shape: ${Xi(t.error.message)}`);const o=t.result;if(Object.keys(o).length>0)return;const i=(await m.prefs.get(Di))?.data??{},r=Ca.run(i);if(!r.ok)throw new Error(`The stored platform prefs in io.prefs are with an invalid shape: ${Xi(r.error.message)}`);const a={[Ai]:\"pinned\"===n||(i[Ai]??!1)},s={...Qi,...r.result,...a};await m.contexts.set(xi,s)}catch(e){d({message:Xi(e)}),await ka({io:m,variant:Zi,text:\"Initial platform prefs setup failed.\",error:e})}finally{a(!0)}})().catch(console.error)},[m,n]),e(Na.Provider,{value:p,children:t})};function Da(){const e=l(Na);if(void 0===e)throw new Error(\"usePlatformPrefs must be used within a PlatformPrefsProvider\");return e}function xa({prefKey:e}){const t=l(w),n=l(Na),o=n?.prefs?.[e],i=n?.isInitialSetupCompleted??!1,[r,s]=c(!i),[u,m]=c(),p=d(0);f(()=>{i&&0===p.current&&s(!1)},[i]);const h=a(async n=>{if(!t)return;const o=++p.current;s(!0),m(void 0);const i=async n=>{n&&await ka({io:t,variant:Zi,text:`Failed to update prefKey \"${e}\".`,error:n}),o===p.current&&(s(!1),n&&m({message:Xi(n)}))};let r;if(n instanceof Function)try{r=n((await t.contexts.get(xi))[e])}catch(e){return i(e)}else r=n;try{const n=Ca.runWithException({[e]:r});await t.contexts.update(xi,n)}catch(e){return i(e)}await i()},[t,e]);if(void 0===n)throw new Error(\"usePlatformPref must be used within a PlatformPrefsProvider\");return{error:u,isLoading:r,update:h,value:o}}const Ea=\"var(--io-neutrals-0)\",Ia=\"var(--io-neutrals-900)\";function Ma(e){let t,n,o;if(e.startsWith(\"#\")){let i=e.slice(1);3===i.length&&(i=i.split(\"\").map(e=>e+e).join(\"\")),t=parseInt(i.substring(0,2),16),n=parseInt(i.substring(2,4),16),o=parseInt(i.substring(4,6),16)}else{if(!e.startsWith(\"rgb\")){const t=document.createElement(\"canvas\").getContext(\"2d\");if(!t)return Ia;t.fillStyle=e;return Ma(t.fillStyle)}{const i=e.match(/\\d+/g)?.map(Number);if(!i||i.length<3)return Ia;[t,n,o]=i}}return(.2126*t+.7152*n+.0722*o)/255>.5?Ia:Ea}function Pa({className:t,channel:n,...o}){const i=N(\"io-channel-selector-badge\",t),r=u(()=>Ma(n.color),[n.color]);return e(\"div\",{className:i,style:{color:r,backgroundColor:n.color},\"data-testid\":`channel-selector-badge-${n.color}`,...o,children:e(\"span\",{className:\"io-channel-selector-badge-label\",\"data-testid\":\"channel-selector-label\",children:n.label})})}function Aa(){return e(S,{variant:\"check\",\"data-testid\":\"channel-selector-channel-selected\"})}function Ta({channel:o,handleChannelRestricted:i,lockedChannelRestriction:r}){const a=(e,t)=>n=>{n.stopPropagation(),A(n)&&(n.preventDefault(),t||i({...o,[e]:!o[e]}))};return t(n,{children:[e(\"div\",{children:o.isSelected&&e(\"span\",{\"data-testid\":\"channel-selector-channel-selected\",children:\"Active\"})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-publish-toggle-container\",children:e(fi,{label:\"Publish\",checked:o.write,onChange:()=>{i({...o,write:!o.write})},onKeyDown:a(\"write\",!o.isSelected||r?.write),onClick:e=>e.stopPropagation(),disabled:!o.isSelected||r?.write})}),e(\"div\",{role:\"button\",onClick:e=>e.stopPropagation(),\"data-testid\":\"channel-selector-subscribe-toggle-container\",children:e(fi,{label:\"Subscribe\",checked:o.read,onChange:()=>{i({...o,read:!o.read})},onKeyDown:a(\"read\",!o.isSelected||r?.read),disabled:!o.isSelected||r?.read})})]})}const Oa=s({});function Fa({channel:t,isSelected:n,onChannelSelect:o,onChannelRestrict:i,...r}){const{variant:s,selectedChannels:c,lockedChannelRestrictions:u}=l(Oa),d=n||t.isSelected||c?.includes(t),f=u?.find(e=>e.name===t.name),m=a(()=>o?.({...t,isSelected:!d}),[t,o,d]),p=a(e=>{const n=e.target;n.closest(\".io-toggle\")||n.classList.contains(\"io-toggle\")||A(e)&&(e.preventDefault(),o?.({...t,isSelected:!d}))},[t,o,d]),h=a(e=>{i?.(e)},[i]);return e(_,{prepend:e(Pa,{channel:t}),append:\"single\"===s||\"multi\"===s?d&&e(Aa,{}):e(Ta,{channel:t,handleChannelRestricted:h,lockedChannelRestriction:f}),isSelected:d,onClick:m,onKeyDown:p,...r,children:t.name},t.name)}function La({variant:t,onVariantChange:n,disabled:o=!1}){const i=\"directionalSingle\"===t||\"directionalMulti\"===t,r=a(()=>{n?.(!i)},[i,n]),s=a(e=>{e.stopPropagation()},[]),l=a(e=>{e.stopPropagation(),A(e)&&(e.preventDefault(),o||r())},[o,r]);return e(fi,{label:\"Directional\",align:\"right\",checked:i,onChange:r,onClick:s,onKeyDown:l,disabled:o,\"data-testid\":`channel-selector-toggle-${t}`})}const Ba=r(({className:n,variant:o=\"single\",variantToggle:i=!1,channels:r=[],lockedChannelRestrictions:a=[],onVariantChange:s,onChannelSelect:l,onChannelRestrict:c,...d},f)=>{const m=N(\"io-channel-selector-panel\",(\"directionalSingle\"===o||\"directionalMulti\"===o)&&\"io-channel-selector-panel-directional\",n),p=u(()=>({variant:o,selectedChannels:r.filter(e=>e.isSelected),lockedChannelRestrictions:a,onVariantChange:s,onChannelSelect:l,onChannelRestrict:c}),[r,o,a,s,l,c]);return e(Oa.Provider,{value:p,children:e(\"div\",{className:m,ref:f,children:t(V,{...d,children:[e(V.ItemTitle,{\"data-testid\":\"channel-selector-title\",append:i&&e(La,{variant:o,onVariantChange:s}),children:{single:\"Select Channel\",directionalSingle:\"Select Directional Channel\",multi:\"Select Channels\",directionalMulti:\"Select Directional Channels\"}[o]}),r?.map(t=>e(Fa,{channel:t,isSelected:t.isSelected,onChannelSelect:l,onChannelRestrict:c,\"data-testid\":`channel-selector-channel-${t.name}`},t.name))]})})})});Ba.displayName=\"ChannelSelector\";const Ra=r(({className:t,title:n,ariaLabel:o,onClick:i,onKeyDown:r,children:a,disabled:s=!1,...l},c)=>e(\"div\",{ref:c,className:N(t,{disabled:s}),title:n,role:\"button\",tabIndex:s?-1:0,\"aria-label\":o,\"aria-disabled\":s,onClick:e=>{!s&&i&&i(e)},onKeyDown:e=>{!s&&r&&r(e)},...l,children:a}));Ra.displayName=\"ChannelSelectorButtonWrapper\";function _a(e,t){const n=l(w),o=n.windows,i=n.channels,[r,s]=c({channels:[]});f(()=>{if(!e)return;(async()=>{try{const t=await i.getRestrictions(e);s(t)}catch(e){console.error(\"Failed to fetch channel restrictions:\",e)}})().catch(console.error);const t=o.findById(e);if(!t||\"function\"!=typeof t.onChannelRestrictionsChanged)return;return t.onChannelRestrictionsChanged(s)},[e,i,o]);const u=a(({name:n,read:o,write:r})=>{e&&![\"single\",\"multi\"].includes(t)&&void 0!==o&&void 0!==r&&i.restrict({name:n,read:o,write:r,windowId:e}).catch(console.error)},[e,t,i]),d=a(e=>e.map(e=>{const t=r.channels.find(t=>t.name===e.name);return{...e,read:t?.read??!0,write:t?.write??!0}}),[r.channels]);return{channelRestrictions:r,onChannelRestricted:u,applyChannelRestrictions:d}}function Ha(e){const t=l(w).windows,[n,o]=c([]);return f(()=>{if(!e)return;(async()=>{try{const n=t.findById(e);if(!n)return void o([]);const i=await(n.application?.getConfiguration()),r=i?.details?.channelSelector?.preventModifyingRestrictionsFor;if(!r)return void o([]);o(r)}catch(e){console.error(\"Failed to fetch locked channel restrictions:\",e)}})().catch(console.error)},[e,t]),{lockedChannelRestrictions:n}}var ja=Object.freeze({__proto__:null,Channel:Fa,ChannelBadge:Pa,ChannelDirectionalAppend:Ta,ChannelSelector:Ba,ChannelSelectorButton:function({channels:n,variant:o,className:i,onClick:r,onKeyDown:a,...s}){const c=d(null),u=l(Oa),f=n||u.selectedChannels||[],m=o||u.variant||\"single\",p=f.filter(e=>e.isSelected);if((\"multi\"===m||\"directionalMulti\"===m)&&p.length>1){const t=`io-channel-selector-button io-channel-selector-multi-${Math.min(p.length,4)}`,n=p.map(e=>e.name).join(\", \"),o=function(e){const t={},n=Math.min(e.length,4);return e.slice(0,n).forEach((e,o)=>{t[`--io-channel-selector-multi-${n}-color-${o+1}`]=e.color}),t}(p);return e(Ra,{ref:c,className:i,title:n,ariaLabel:`Selected channels - ${n}`,onClick:r,onKeyDown:a,...s,children:e(\"div\",{className:t,style:o})})}const h=p[0];if(!h)return e(Ra,{ref:c,className:i,title:\"No channel selected\",ariaLabel:\"No channel selected\",onClick:r,onKeyDown:a,...s,children:e(S,{variant:\"link\"})});const g=\"directionalSingle\"===m||\"directionalMulti\"===m,v=g?(y=h).isSelected?y.read&&y.write?\"readwrite\":y.read?\"read\":y.write?\"write\":null:null:null;var y;return t(Ra,{ref:c,className:N(g?\"io-channel-selector-button io-channel-selector-button-directional\":\"io-channel-selector-button\",i),title:h.name,ariaLabel:`Selected channel - ${h.name}`,onClick:r,onKeyDown:a,style:{color:Ma(h.color),backgroundColor:h.color},...s,children:[e(\"span\",{children:h.label}),v&&\"readwrite\"!==v&&e(S,{variant:\"read\"===v?\"subscribe\":\"publish\"})]})},ChannelSingleAppend:Aa,useChannelRestrictionLocks:Ha,useChannelRestrictions:_a,useIOCDChannels:function(e){const t=\"T42.ChannelSelector.Execute\",n=l(w),o=n?.windows,i=n?.channels,r=n?.interop,s=bi(),u=o?.my(),m=d(),[h,g]=c(\"\"),[v,y]=c(\"single\"),[b,C]=c(null),[k,N]=c(!1),[S,D]=c(),{channelRestrictions:x,onChannelRestricted:E,applyChannelRestrictions:I}=_a(h,v),{lockedChannelRestrictions:M}=Ha(h),P=a(async(e,t,n)=>{if(\"will-show\"===e.command)try{N(!0),m.current=n;const{windowId:t,channels:i,variant:r}=e;y(r),g(t);const a=await(o?.findById(t)?.getChannel())??\"\",s=I(function(e,t){return e.map((e,n)=>{const o=!!t&&t.split(\"+++\").includes(e.name);return{...e,color:e.meta?.color,label:e.meta?.label??String.fromCharCode(n+65),isSelected:o,read:e.read??!0,write:e.write??!0}})}(i,a));C(s)}catch(e){console.error(\"Error in channel selector handler:\",e),D(e)}finally{N(!1)}},[o,I]),A=a(async({name:e,isSelected:t})=>{if(i){C(n=>n?n.map(n=>\"single\"===v||\"directionalSingle\"===v?{...n,isSelected:n.name===e&&t}:n.name===e?{...n,isSelected:t}:n):[]);try{t?await i.join(e,h):await i.leave({windowId:h,channel:e})}catch(e){D(e),console.error(\"Error selecting channel:\",e)}\"single\"===v&&s&&u&&u?.hide().catch(console.error)}},[i,v,u,h,s]);return Q(()=>{s&&u&&u?.hide().catch(console.error)},[\"Escape\"]),f(()=>{if(null===s||!s)return;const e=u?.onClosing(async e=>(e({showDialog:!1}),Promise.resolve()));return e},[u,s]),f(()=>{if(!r)return;return r.registerAsync(t,(e,t,n)=>{P(e,t,n).catch(e=>{console.error(\"Error in channel selector handler:\",e),D(e)})}).catch(console.error),()=>{r.unregister(t)}},[r,P]),f(()=>{C(e=>e?I(e):null)},[x,I]),p(()=>{if(e?.current&&b?.length){const{height:t,width:n,x:o,y:i}=e.current.getBoundingClientRect();m.current&&t>0&&m.current({height:t,width:n,x:o,y:i})}},[b,e]),{windowId:h,error:S,variant:v,channels:b,channelRestrictions:x,lockedChannelRestrictions:M,onChannelSelected:A,onChannelRestricted:E,isLoading:k}}});function $a({className:n,draggable:o,title:i,children:r,...a}){const s=N(\"io-dialog-header\",o&&\"draggable\",n);return t(te,{className:s,...a,children:[e(\"h3\",{children:i}),r]})}function za({children:t,...n}){return e(ne,{...n,children:e(ne.Content,{children:t})})}function Wa({children:t,...n}){return e(ie,{...n,children:t})}const Va=s({config:{message:\"\"},theme:\"dark\",setResult:()=>{}}),Ya=()=>l(Va),Ua=t=>{const{id:n,onButtonFocused:o,...i}=t,{config:r}=Ya();return e(T,{variant:\"outline\",onFocus:()=>o&&o(n),autoFocus:(a=n,a===r.defaultAction),...i});var a},Ka=({timerDuration:t,callback:n})=>{const[o,i]=c(t);f(()=>{if(o<=0)return n();{const e=setInterval(()=>{i(e=>e-1)},1e3);return()=>{clearInterval(e)}}},[o,n]);return e(\"p\",{children:`This dialog will close in: ${o} seconds`})};function Ja({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}function qa({className:n,placeHolder:o,maxInputLength:i,errorMessage:r,onInput:a,onEnterKeyDown:s}){const[l,u]=c(\"\"),m=d(null),p=N(\"io-control-input\",n);f(()=>{m.current&&m.current.focus()},[]);return t(\"div\",{className:p,children:[e(\"input\",{className:\"io-input\",ref:m,type:\"text\",maxLength:i,placeholder:o,tabIndex:0,value:l,onChange:e=>{const t=e.target.value,n=e.target.parentElement;u(t);const o=a(t);n&&(0===t.length?n.className=\"\":(n.className=\"was-validated\",o?e.target.setCustomValidity(\"\"):e.target.setCustomValidity(\"Invalid input pattern\")))},onKeyDown:e=>{\"Enter\"===e.key&&(e.preventDefault(),s())}}),r&&l.length>0?e(\"small\",{children:e(\"strong\",{children:r})}):null]})}function Ga({children:t}){return e(\"div\",{className:\"io-dialog\",role:\"dialog\",children:t})}var Qa=Object.freeze({__proto__:null,Dialog:function({config:n,setResult:o,header:i,body:r,footer:s}){if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const[l,u]=c(!1),d=pi(\"Escape\"),m=pi(\"Enter\"),[p,h]=c(n.defaultAction),{theme:g}=Ya();f(()=>{u(\"SingleInputDialog\"===n?.type)},[n]);const v=a(()=>{o({action:\"expired\"})},[o]);f(()=>{document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(g)},[g]),f(()=>{d&&o({action:\"closed\"})},[d,o]),f(()=>{m&&!p&&o({action:\"clicked\",button:n.defaultAction})},[m,p,n.defaultAction,o]);const y=e=>{e.preventDefault(),o({action:\"clicked\",button:p})},w=()=>{b(\"\")},b=e=>{h(e)};return n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration),t(Ja,{children:[i??e($a,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(Z,{children:e(D,{id:\"close\",icon:\"close\",iconSize:\"12\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:w,tabIndex:-1})})})}),r??e(za,{children:t(\"div\",{children:[n?.messageTitle&&e(\"h1\",{children:n?.messageTitle}),e(\"p\",{children:n.message}),n?.showTimer&&n?.timerDuration&&e(Ka,{timerDuration:n.timerDuration,callback:v})]})}),s??e(Wa,{children:t(Z,{align:\"right\",children:[n.showAffirmativeButton&&e(Ua,{id:\"affirmative\",variant:\"primary\",onClick:y,onButtonFocused:b,onBlur:w,disabled:l,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Ua,{id:\"negative\",onClick:y,onButtonFocused:b,onBlur:w,children:n.negativeButtonName}),n.showCancelButton&&e(Ua,{id:\"cancel\",onClick:y,onButtonFocused:b,onBlur:w,children:n.cancelButtonName})]})})]})},DialogBody:za,DialogButton:Ua,DialogFooter:Wa,DialogHeader:$a,DialogsProvider:({children:t})=>{const[n,o]=c({message:\"\",messageTitle:\"\",operation:\"systemShutdown\",type:\"\"}),[i,r]=c(\"dark\");f(()=>{(async()=>{const e=await a();o(e)})()},[]);const a=()=>window.glue42dialog.getConfig(),s=e=>{window.glue42dialog.setResult(e)};f(()=>{window.glue42dialog.onThemeChanged(e=>{r(e)}),r(window.glue42dialog.getTheme())},[]);const l=u(()=>({theme:i,config:n,setResult:s}),[n,i]);return e(Va.Provider,{value:l,children:t})},SingleInputDialog:({config:n,setResult:o,header:i,body:r,footer:s})=>{if(!n)throw new Error(\"Please provide a config prop to Dialog Component\");if(!o)throw new Error(\"Please provide a setResult prop to Dialog Component\");const l=pi(\"Escape\"),u=pi(\"Enter\"),[d,m]=c(n.defaultAction),{theme:p}=Ya(),[h,g]=c(\"\"),[v,y]=c(\"\"),[w,b]=c(!1),C=a(()=>{o({action:\"expired\"})},[o]),k=a(()=>{\"affirmative\"===n?.defaultAction?w&&h.length>0&&o({action:\"clicked\",button:n.defaultAction,value:h}):o({action:\"clicked\",button:n.defaultAction})},[n.defaultAction,h,o,w]);f(()=>{document.documentElement.classList.remove(\"dark\",\"light\"),document.documentElement.classList.add(p)},[p]),f(()=>{l&&o({action:\"closed\"})},[l,o]),f(()=>{u&&!d&&k()},[u,k,d]);const N=e=>{e.preventDefault(),o(\"affirmative\"===d&&h?{action:\"clicked\",button:d,value:h}:{action:\"clicked\",button:d})},S=()=>{x(\"\")},x=e=>{m(e)};n.timerDuration&&!1===n.showTimer&&setTimeout(()=>{o({action:\"expired\"})},1e3*n.timerDuration);return t(Ga,{children:[i??e($a,{title:n?.title,draggable:!0,children:e(\"div\",{className:\"non-draggable\",children:e(Z,{children:e(D,{id:\"close\",icon:\"close\",size:\"24\",onClick:()=>o({action:\"closed\"}),onBlur:S})})})}),r??e(za,{children:t(\"div\",{style:{width:\"100%\"},children:[n.message&&e(\"p\",{children:n.message}),e(qa,{onInput:e=>{let t=!0;try{t=!!e.match(n.inputPattern??\"\"),b(t)}catch(e){console.log(`Failed to validate regular expression pattern: ${n.inputPattern??\"\"}`)}return t?(g(e),y(\"\")):y(n.inputPatternErrorMessage??\"Invalid input pattern\"),t},errorMessage:v,onEnterKeyDown:k,maxInputLength:n.inputMaxLength,placeHolder:n.inputPlaceholder}),n?.showTimer&&n?.timerDuration&&e(Ka,{timerDuration:n.timerDuration,callback:C})]})}),s??e(Wa,{children:t(Z,{align:\"right\",children:[n.showAffirmativeButton&&e(Ua,{id:\"affirmative\",variant:\"primary\",onClick:N,onButtonFocused:x,onBlur:S,disabled:!w,children:n.affirmativeButtonName}),n.showNegativeButton&&e(Ua,{id:\"negative\",onClick:N,onButtonFocused:x,onBlur:S,children:n.negativeButtonName}),n.showCancelButton&&e(Ua,{id:\"cancel\",onClick:N,onButtonFocused:x,onBlur:S,children:n.cancelButtonName})]})})]})},useDialogsContext:Ya});function Xa({title:n=\"Downloads\"}){const{ItemSearch:o,HeaderButtons:i}=Ns();return t(\"div\",{className:\"io-dm-header\",children:[t(ee,{draggable:!0,children:[e(ee.Title,{tag:\"h1\",text:n,size:\"large\"}),e(i,{className:\"non-draggable\"})]}),e(o,{})]})}const Za=window.glue42gd;const es=s({configuration:{},items:[],removeItem:()=>{},pauseResumeItem:()=>{},cancelItem:()=>{},clearItems:()=>{},showItemInFolder:()=>{},isSettingsVisible:!1,showSettings:()=>{},hideSettings:()=>{},searchQuery:\"\",setSearch:()=>{},itemsCount:0,setCount:()=>{},setDownloadLocation:()=>{},setDownloadLocationWithDialog:()=>{},sortItems:()=>[],downloadLocationList:[],isDownloadLocationDialogVisible:!1}),ts=()=>l(es);function ns({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const l=N(\"io-header-search\",n),c=d(null),{searchQuery:u,setSearch:f,itemsCount:m}=ts(),p=u.length>0,h=a(()=>{f(\"\"),c.current&&c.current.focus()},[f]);return t(\"div\",{className:l,children:[e(oi,{ref:c,value:u,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?h:void 0,placeholder:o,onChange:e=>f(e.target.value),...s}),p&&e(\"p\",{className:\"io-header-search-count\",children:`${m} results`})]})}function os({className:n,...o}){const{MoreButton:i,CloseButton:r}=Ns();return t(Z,{className:n,align:\"right\",...o,children:[e(i,{}),e(r,{})]})}function is({icon:n=\"ellipsis-vertical\",...o}){const{items:i,clearItems:r,showSettings:a}=ts(),s=0===i.length;return t(X,{variant:\"light\",...o,children:[e(X.ButtonIcon,{icon:n,variant:\"circle\",size:\"32\"}),e(X.Content,{children:t(X.List,{children:[e(X.Item,{onClick:e=>(e=>{s?e.stopPropagation():r()})(e),disabled:s,children:\"Clear All\"}),e(X.Item,{onClick:a,children:\"Settings\"})]})})]})}const rs={minimizeWindow:async function(e){if(e)try{const t=e.windows?.my();await(t?.minimize())}catch(e){console.error(\"Failed to minimize window\",e)}},closeWindow:async function(e,t){if(e)try{const n=e.windows?.my();await(n?.close(t))}catch(e){console.error(\"Failed to close window\",e)}},restartPlatform:async function(e,t=!0){if(e)try{await e.appManager.restart({autoSave:t,showDialog:!0})}catch(e){console.error(\"Failed to restart io.Connect Desktop\",e)}},shutdownPlatform:async function(e,t=!0){if(e)try{await e.appManager.exit({autoSave:t,showDialog:!0})}catch(e){console.error(\"Failed to shutdown io.Connect Desktop\",e)}}};function as({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const a=l(w);return e(D,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):rs.closeWindow(a).catch(e=>{console.error(\"Failed to close window:\",e)})},...r})}function ss(e,t=!1,n=!1,o=!1){const i=e.getDate(),r=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"][e.getMonth()],a=e.getFullYear(),s=e.getHours(),l=e.getMinutes();let c=\"\";return c=l<10?`0${l}`:`${l}`,t?\"Today\"===t?n?\"Today\":`Today at ${s}:${c}`:\"Yesterday\"===t?n?\"Yesterday\":`Yesterday at ${s}:${c}`:`${s}:${c}`:o?n?`${r} ${i}`:`${r} ${i} at ${s}:${c}`:n?`${r} ${i}, ${a}`:`${r} ${i}, ${a} at ${s}:${c}`}function ls(e,t={showTime:!0}){const n=new Date(1e3*e),o=new Date,i=Math.round((o-n)/1e3),r=Math.round(i/60),a=o.toDateString()===n.toDateString(),s=new Date(o.setDate(o.getDate()-1)).toDateString()===n.toDateString(),l=o.getFullYear()===n.getFullYear();return t.showTime?i<5?\"Just Now\":i<60?`${i} seconds ago`:i<90?\"about a minute ago\":r<60?`${r} minutes ago`:a?ss(n,\"Today\",!1,!0):s?ss(n,\"Yesterday\",!1,!0):l?ss(n,!1,!1,!0):ss(n):a?\"Today\":s?\"Yesterday\":l?ss(n,!1,!0,!0):ss(n,!1,!0)}function cs({className:t,...n}){const o=N(\"io-dm-body\",t),{DownloadListEmpty:i,ItemGroup:r,Item:a}=Ns(),{items:s,searchQuery:l,setCount:c,sortItems:d}=ts(),m=d(s),p=hi(l),h=u(()=>m.filter(e=>e.displayInfo.filename.toLowerCase().includes(p.toLowerCase())||e.displayInfo.url.toLowerCase().includes(p.toLowerCase())),[m,p]),g=u(()=>h.map(e=>({...e,displayInfo:{...e.displayInfo,startTime:ls(e.displayInfo.startTime,{showTime:!1})}})),[h]),v=u(()=>Object.values(g.reduce((e={},t)=>(e[t.displayInfo.startTime]=e[t.displayInfo.startTime]?.concat([])??[],e[t.displayInfo.startTime].push(t),e),{})),[g]);return f(()=>{c(h.length)},[h,c]),e(\"div\",{className:o,...n,children:v&&0!==v.length?v.map(t=>e(r,{title:String(t[0].displayInfo.startTime)??null,children:t.map(t=>e(a,{item:t},t.id))},t[0].id??\"\")):e(i,{})})}function us({className:n,icon:o=\"download\",text:i=\"No downloads to display.\",...r}){const a=N(\"io-dm-no-items\",n);return t(\"div\",{className:a,...r,children:[e(S,{variant:o}),e(\"p\",{children:i})]})}function ds({className:n,title:o,children:i,...r}){const a=N(\"io-dm-item-group\",n);return t(\"div\",{className:a,...r,children:[o&&e(\"p\",{children:o}),i]})}function fs({className:o,item:i,...r}){const{ItemHeader:a,ItemBody:s,ItemFooter:l}=Ns(),{state:c,url:u,filename:d,receivedBytes:f,totalBytes:m,speed:p,timeRemaining:h}=i.displayInfo;if(!i)return e(n,{});const g=N(\"io-dm-item\",i.displayInfo.state&&[c],o);return t(\"div\",{className:g,...r,children:[e(a,{itemID:i.id,filename:d,state:c}),e(s,{state:c,url:u,bytesReceived:f,bytesTotal:m,speed:p,timeRemaining:h}),e(l,{itemID:i.id,state:c})]})}function ms({bytesReceived:t=0,bytesTotal:n=0,...o}){const i=a(()=>t&&n?Math.round(t/n*100):0,[t,n]);return e(ti,{value:i(),...o})}function ps({className:n,itemID:o,filename:i,state:r,cancel:s,remove:l,...c}){const u=N(\"io-dm-item-header\",n),{cancelItem:d,removeItem:f}=ts(),m=a(e=>{s?s(e):d(e)},[s,d]),p=a(e=>{l?l(e):f(e)},[l,f]);return t(\"div\",{className:u,...c,children:[e(M,{text:i,style:{textDecoration:\"interrupted\"===r||\"cancelled\"===r?\"line-through\":\"none\"}}),e(D,{icon:\"close\",iconSize:\"12\",onClick:()=>{\"progressing\"===r||\"paused\"===r?m(o):p(o)}})]})}function hs({className:n,state:o,url:i,bytesReceived:r=0,bytesTotal:a=0,speed:s=0,timeRemaining:l=0,...c}){const u=N(\"io-dm-item-body\",n),d=e=>{const t=[\"Bytes\",\"KB\",\"MB\",\"GB\",\"TB\"];if(0===e)return\"0\";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e}${t[n]}`:`${(e/1024**n).toFixed(1)}${t[n]}`};return t(\"div\",{className:u,...c,children:[e(\"p\",{className:\"io-text-small\",children:i}),(m=o,\"cancelled\"===m||\"interrupted\"===m||\"completed\"===m?null:e(ms,{variant:\"paused\"===m?\"paused\":\"active\",bytesReceived:r,bytesTotal:a})),e(\"p\",{className:\"io-text-default-lh16\",children:\"completed\"===o?`${d(r??0)} - Done`:\"cancelled\"===o||\"interrupted\"===o?`${d(r??0)}/${d(a??0)} - Failed`:`${d(r??0)}/${d(a??0)} (${f=s,(f?`${(f/1e6/8).toFixed(2)}MB/s`:0)??0}) - ${(e=>{const t=Math.floor(e/3600),n=Math.floor(e%3600/60);let o=\"\";return t>0&&(o+=`${t} hour${t>1?\"s\":\"\"}, `),n>0&&(o+=`${n} min${n>1?\"s\":\"\"}, `),((e=Math.floor(e%60))>0||\"\"===o)&&(o+=`${e} sec${1!==e?\"s\":\"\"}`),`${o.trim()} left`})(l)??0}`})]});var f,m}const gs={success:\"check-solid\",warning:\"exclamation-mark\",critical:\"exclamation-mark\"};function vs({className:n,variant:o,text:i}){const r=N(\"io-dm-item-status\",`io-dm-item-status-${o}`,n);return t(\"div\",{className:r,children:[o&&e(S,{variant:gs[o],className:\"icon-severity\",size:\"10\"}),i&&e(\"p\",{className:\"io-text-smaller\",children:i})]})}function ys({className:o,itemID:i,state:r,pauseResume:s,showInFolder:l,cancel:c,...u}){const d=N(\"io-dm-item-footer\",o),{pauseResumeItem:f,showItemInFolder:m,cancelItem:p}=ts(),h=a(e=>{s?s(e):f(e)},[s,f]),g=a(e=>{l?l(e):m(e)},[l,m]),v=a(e=>{c?c(e):p(e)},[c,p]);return e(\"div\",{className:d,...u,children:(()=>{switch(r){case\"progressing\":return t(Z,{align:\"right\",children:[e(Z.Button,{variant:\"primary\",text:\"Pause\",onClick:()=>h(i)}),e(Z.Button,{variant:\"link\",text:\"Cancel\",onClick:()=>v(i)})]});case\"paused\":return e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Resume\",onClick:()=>h(i)})});case\"completed\":return t(n,{children:[e(vs,{variant:\"success\",text:\"Complete\"}),e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Show in Folder\",onClick:()=>g(i)})})]});case\"cancelled\":return e(vs,{variant:\"warning\",text:\"Cancelled\"});case\"interrupted\":return t(n,{children:[e(vs,{variant:\"critical\",text:\"Failed\"}),e(Z,{align:\"right\",children:e(Z.Button,{variant:\"primary\",text:\"Retry\",onClick:()=>h(i)})})]});default:return null}})()})}function ws({className:n,title:o=\"Download Settings\",...i}){const r=N(\"io-dm-settings-panel\",n),{configuration:{downloadFolder:a},hideSettings:s,setDownloadLocation:l,setDownloadLocationWithDialog:c,isDownloadLocationDialogVisible:u,downloadLocationList:d}=ts();return t(Zo,{className:r,...i,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:o,tag:\"h1\"}),e(Zo.Header.ButtonGroup,{children:e(D,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>{s()},disabled:u})})]}),e(Zo.Body,{children:t(Z,{children:[t(X,{variant:\"light\",disabled:u,children:[e(X.Button,{children:e(\"span\",{className:\"io-dm-settings-panel-download-location\",children:a??d[0]})}),d.length>1&&e(X.Content,{children:e(X.List,{children:d.map((t,n)=>!t||0===n||n>3?null:e(X.Item,{onClick:()=>{l(t)},children:t},t))})})]}),e(T,{className:\"io-btn io-dm-settings-panel-download-location-btn\",text:\"Browse\",onClick:()=>{c()},disabled:u})]})})]})}const bs={Header:Xa,ItemSearch:ns,HeaderButtons:os,MoreButton:is,CloseButton:as,Body:cs,DownloadListEmpty:us,ItemGroup:ds,Item:fs,ItemProgress:ms,ItemHeader:ps,ItemBody:hs,ItemFooter:ys,Settings:ws},Cs=s(bs),ks=g(({children:t,components:n})=>{const o=u(()=>({...bs,...n}),[n]);return e(Cs.Provider,{value:o,children:t})});ks.displayName=\"ComponentsStore\";const Ns=()=>l(Cs);function Ss({className:n,...o}){const i=N(\"io-dm\",n),{Header:r,Body:a,Settings:s}=Ns(),{isSettingsVisible:l}=ts();return t(Zo,{className:i,...o,children:[e(r,{}),e(a,{}),l&&e(s,{})]})}var Ds=Object.freeze({__proto__:null,Body:cs,CloseButton:as,DownloadListEmpty:us,DownloadManager:function({components:t,...n}){return e(ks,{components:t,children:e(Ss,{...n})})},DownloadManagerProvider:({children:t})=>{const{configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:m,hideSettings:p,searchQuery:h,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:C,isDownloadLocationDialogVisible:k,downloadLocationList:N}=function(){const[e,t]=c({}),[n,o]=c([]),[i,r]=c(0),[a,s]=c([]),[l,u]=c(\"\"),[d,m]=c(!1),[p,h]=c(!1),[g,v]=c({filePaths:[],canceled:!1});f(()=>{if(!Za)return;const e=Za.downloads.onUpdate(e=>o(t=>y(t,e))),n=Za.downloads.onConfigurationChanged(e=>{t(e)});return Za.downloads.list().then(o).catch(console.error),Za.downloads.getSavePathList().then(e=>{e.pathList&&s(e.pathList)}).catch(console.error),()=>{e(),n()}},[]),f(()=>{h(!1)},[g]);const y=(e,t)=>{const n=e.findIndex(e=>e.id===t.id);if(-1===n)return[t,...e];const o=[...e];return o[n]=t,o};return{items:n,setCount:e=>{r(e)},sortItems:(e,t=!0)=>e.sort((e,n)=>t?e.displayInfo.startTime<n.displayInfo.startTime?1:-1:e.displayInfo.startTime>n.displayInfo.startTime?1:-1),setSearch:e=>{u(e)},cancelItem:async e=>{try{await Za.downloads.cancel(e)}catch(e){console.error(e)}},removeItem:async e=>{try{o(t=>t.filter(t=>t.id!==e)),await Za.downloads.removeItem(e)}catch(e){console.error(e)}},clearItems:async()=>{try{o([]),await Za.downloads.clearDownloadList()}catch(e){console.error(e)}},itemsCount:i,searchQuery:l,showSettings:()=>{m(!0)},hideSettings:()=>{m(!1)},configuration:e,isSettingsVisible:d,pauseResumeItem:async e=>{try{await Za.downloads.pauseResume(e)}catch(e){console.error(e)}},showItemInFolder:async e=>{try{await Za.downloads.showInFolder(e)}catch(e){console.error(e)}},setDownloadLocation:async e=>{try{await Za.downloads.setSavePath(e),s(t=>{if(t.includes(e)){const n=t.filter(t=>t!==e);return[e,...n]}return[e,...t]})}catch(e){console.error(e)}},downloadLocationList:a,isDownloadLocationDialogVisible:p,setDownloadLocationWithDialog:async()=>{h(!0);try{const e=await Za.downloads.showOpenDialog();if(v(e),!e?.filePaths||0===e.filePaths.length)return;await Za.downloads.setSavePath(e.filePaths[0]),s(t=>{if(t.includes(e.filePaths[0])){const n=t.filter(t=>t!==e.filePaths[0]);return[e.filePaths[0],...n]}return[e.filePaths[0],...t]})}catch(e){console.error(e)}}}}(),S=u(()=>({configuration:n,items:o,removeItem:i,pauseResumeItem:r,cancelItem:a,clearItems:s,showItemInFolder:l,isSettingsVisible:d,showSettings:m,hideSettings:p,searchQuery:h,setSearch:g,itemsCount:v,setCount:y,setDownloadLocation:w,setDownloadLocationWithDialog:b,sortItems:C,isDownloadLocationDialogVisible:k,downloadLocationList:N}),[n,o,i,r,a,l,s,d,m,p,h,g,v,y,w,b,C,k,N]);return e(es.Provider,{value:S,children:t})},Header:Xa,HeaderButtons:os,Item:fs,ItemBody:hs,ItemFooter:ys,ItemGroup:ds,ItemHeader:ps,ItemProgress:ms,ItemSearch:ns,MoreButton:is,Settings:ws,useDownloadManagerContext:ts});function xs(e){if(e&&e.errorHandling&&\"function\"!=typeof e.errorHandling&&\"log\"!==e.errorHandling&&\"silent\"!==e.errorHandling&&\"throw\"!==e.errorHandling)throw new Error('Invalid options passed to createRegistry. Prop errorHandling should be [\"log\" | \"silent\" | \"throw\" | (err) => void], but '+typeof e.errorHandling+\" was passed\");var t=e&&\"function\"==typeof e.errorHandling&&e.errorHandling,n={};function o(n,o){var i=n instanceof Error?n:new Error(n);if(t)t(i);else{var r='[ERROR] callback-registry: User callback for key \"'+o+'\" failed: '+i.stack;if(e)switch(e.errorHandling){case\"log\":return console.error(r);case\"silent\":return;case\"throw\":throw new Error(r)}console.error(r)}}return{add:function(e,t,i){var r=n[e];return r||(r=[],n[e]=r),r.push(t),i&&setTimeout(function(){i.forEach(function(i){var r;if(null===(r=n[e])||void 0===r?void 0:r.includes(t))try{Array.isArray(i)?t.apply(void 0,i):t.apply(void 0,[i])}catch(t){o(t,e)}})},0),function(){var o=n[e];o&&(o=o.reduce(function(e,n,o){return n===t&&e.length===o||e.push(n),e},[]),0===o.length?delete n[e]:n[e]=o)}},execute:function(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];var r=n[e];if(!r||0===r.length)return[];var a=[];return r.forEach(function(n){try{var i=n.apply(void 0,t);a.push(i)}catch(t){a.push(void 0),o(t,e)}}),a},clear:function(){n={}},clearKey:function(e){n[e]&&delete n[e]}}}xs.default=xs;var Es=b(xs);var Is=new class{feedback=window.issueReporting;registry=Es();config;subscribed=!1;init(){this.subscribed||(this.subscribed=!0,window.onerror=(e,t,n,o,i)=>{this.feedback.send(\"error\",e,t,n,o,i)},this.feedback.on(\"setTheme\",e=>{const t=e.newTheme;this.registry.execute(\"on-theme-changed\",t)}),this.feedback.on(\"submitEnded\",e=>{const t=this.convertSubmitResultToPublic(e);this.registry.execute(\"on-submit-finished\",t)}))}async getConfig(){return this.config=await this.feedback.invoke(\"config\"),this.convertConfigToPublic(this.config)}onThemeChanged(e){return this.registry.add(\"on-theme-changed\",e)}onSubmitFinished(e){return this.registry.add(\"on-submit-finished\",e)}submitReport(e){return new Promise(t=>{const n=this.convertFeedbackToInternal(e),o=this.onSubmitFinished(e=>{o(),t(e)});this.feedback.send(\"submit\",n)})}closeReport(e){return this.feedback.send(\"cancel\",e)}setBounds(e,t,n,o){return this.feedback.send(\"setBounds\",e,t,n,o)}openUrl(e){return this.feedback.send(\"openUrl\",e)}convertConfigToPublic(e){return{version:e.version,buildVersion:e.buildVersion,region:e.region,env:e.env,theme:e.theme,isError:e.isError,errorMessage:e.errorMessage,mailingList:e.mailList,createJiraTicket:e.jiraEnabled,sendEmail:e.mailEnabled,attachments:e.attachments,applicationTitle:e.applicationTitle,allowEditRecipients:e.allowEditRecipients,attachmentsViewMode:e.attachmentsViewMode,selectedCategories:e.selectedCategories,technicalInfo:e.technicalInfo,environmentInfo:e.environmentDetails,showEnvironmentInfo:e.showEnvironmentInfo,context:e.context,sendEmailClient:e.mailClientConfig?.type??\"Outlook\"}}convertSubmitResultToPublic(e){return{description:e.description,jiraProcessed:e.jiraProcessed,jiraSucceeded:e.jiraSucceeded,jiraDetails:e.jiraDetails,jiraTicketUrl:e.jiraTicketUrl,emailProcessed:e.mailProcessed,emailSucceeded:e.mailSucceeded,emailDetails:e.mailDetails}}convertFeedbackToInternal(e){return{createTicket:e?.createJiraTicket,description:e?.description,summary:e?.summary,sendMail:e?.sendEmail,appendEnvironmentInfo:e?.appendEnvironmentInfo,appendTechnicalInfo:e?.appendTechnicalInfo,mailingList:e?.mailingList,attachments:e?.attachments,attachmentsMode:e?.attachmentsViewMode}}};const Ms=s({config:{env:\"\",region:\"\",version:\"\",buildVersion:\"\",theme:\"\",isError:!1,mailingList:\"\",createJiraTicket:!0,sendEmail:!1,attachments:[],applicationTitle:\"\",allowEditRecipients:!0,attachmentsViewMode:\"category\",environmentInfo:\"\",selectedCategories:[],errorMessage:\"\",showEnvironmentInfo:!1,context:{},technicalInfo:\"\",sendEmailClient:\"Outlook\"},onThemeChanged:e=>{},openUrl:()=>{},submit:()=>Promise.resolve({}),setBounds:()=>{},close:e=>{},showMailingList:!0,setShowMailingList:()=>{},attachmentCategories:[],submitInProgress:!1,setSubmitInProgress:()=>{},submitStatus:{type:\"success\",title:\"\",text:\"\"},setSubmitStatus:()=>{},submitCompleted:!1,setSubmitCompleted:()=>{},jiraTicketURL:\"\",setJiraTicketURL:()=>{},submitFeedback:()=>{}}),Ps=()=>l(Ms);function As({...n}){const{config:o,close:i}=Ps(),{applicationTitle:r}=o;return t(ee,{draggable:!0,...n,children:[e(ee.Title,{tag:\"h1\",text:r?`Feedback Form - ${r}`:\"Feedback Form\",size:\"large\"}),e(ee.ButtonGroup,{className:\"non-draggable\",children:e(ee.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:()=>i()})})]})}function Ts({className:n,handleSubmit:o,...i}){const r=N(\"io-panel-body\",n),{config:a,submitFeedback:s}=Ps(),{IntroField:l,DescriptionField:c,TechInfoField:u,EnvInfoField:d,FileAttachmentsField:f,CategoryAttachmentsField:m,SettingsField:p,MailListField:h}=Gs(),g=o??s,v=`Your feedback will be submitted to the ${a.buildVersion} team and some additional information will be automatically included to help us examine your issue.`;return t(\"form\",{className:r,id:\"feedback\",onSubmit:e=>g(e),...i,children:[e(l,{children:e(\"p\",{children:v})}),e(p,{}),e(h,{}),e(c,{}),e(u,{readOnly:!0}),e(d,{readOnly:!0}),\"file\"===a.attachmentsViewMode?e(f,{}):e(m,{})]})}function Os({...n}){const{FooterButtons:o}=Gs(),{openUrl:i,submitInProgress:r,submitStatus:a,jiraTicketURL:s}=Ps();return e(oe,{...n,children:t(\"div\",r?{className:\"flex ai-center jc-between\",children:[e(P,{children:e(\"p\",{children:a.title})}),e(qo,{align:\"right\",size:\"small\"})]}:{className:\"flex ai-center jc-between\",children:[t(P,{children:[e(\"p\",{className:\"error\"===a.type?\"io-text-error\":\"\",children:a.title}),s&&e(\"a\",{href:s,onClick:e=>{e.preventDefault(),i(s)},children:s})]}),e(o,{})]})})}function Fs({className:t,...n}){const{CloseButton:o}=Gs(),{close:i}=Ps();return e(Z,{className:t,...n,children:e(o,{onClick:()=>i()})})}function Ls({className:n,...o}){const{SubmitButton:i,CancelButton:r,CloseButton:a}=Gs(),{close:s,submitCompleted:l}=Ps();return l?e(Z,{className:n,...o,children:e(a,{text:\"Close\",onClick:()=>s()})}):t(Z,{className:n,...o,children:[e(i,{}),e(r,{onClick:()=>s()})]})}function Bs({text:t=\"Submit\",...n}){return e(T,{form:\"feedback\",type:\"submit\",variant:\"primary\",text:t,...n})}function Rs({text:t=\"Cancel\",...n}){return e(T,{variant:\"link\",text:t,...n})}function _s({...t}){return e(T,{variant:\"primary\",...t})}function Hs({showField:t=!0,className:n,title:o,hint:i,children:r,...a}){return t?e(P,{className:n,title:o,hint:i,...a,children:r}):null}function js({showField:t=!0,className:n,title:o=\"Description\",hint:i,readOnly:r=!1,disabled:a,...s}){return t?e(P,{className:n,hint:i,title:\"\",...s,children:e(ii,{id:\"description\",name:\"description\",label:o,readOnly:r,disabled:a})}):null}function $s({showField:t,className:n,title:o=\"Technical Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=Ps(),u=t??c.errorMessage,d=r??c.errorMessage;return u&&d?e(P,{className:n,hint:i,...l,children:e(ii,{id:\"errorMessage\",name:\"errorMessage\",label:o,value:d,readOnly:a,disabled:s})}):null}function zs({showField:t,className:n,title:o=\"Environment Information\",hint:i,fieldValue:r,readOnly:a=!1,disabled:s,...l}){const{config:c}=Ps(),u=t??c.showEnvironmentInfo,d=r??c.environmentInfo;return u&&d?e(P,{className:n,hint:i,...l,children:e(ii,{id:\"environmentInfo\",name:\"environmentInfo\",label:o,value:d,readOnly:a,disabled:s})}):null}function Ws({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,attachments:l,selectedCategories:c,...u}){const d=N(\"io-block-list-gap\",n),{config:f}=Ps(),m=l??f.attachments,p=c??f.selectedCategories,h=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!m||m.length<=0?e(P,{title:\"Attachments\",children:e(\"p\",{children:\"No Attachments\"})}):e(P,{className:d,title:o,hint:i,...u,children:e(\"div\",{className:\"file-attachments\",children:m.map(t=>e(ri,{id:t.id,name:t.id,label:t.name,readOnly:r,disabled:s,defaultChecked:h(t.category)},t.id))})}):null}function Vs({showField:t=!0,className:n,title:o=\"Attachments\",hint:i,readOnly:r=!1,disabled:s,categories:l,selectedCategories:c,...u}){const{config:d,attachmentCategories:f}=Ps(),m=l??f,p=c??d.selectedCategories,h=a(e=>!!p&&-1!==p.indexOf(e),[p]);return t?!m||m.length<=0?e(\"p\",{children:\"No Attachments\"}):e(P,{className:n,title:o,hint:i,...u,children:e(\"div\",{className:\"category-attachments\",children:m.map(t=>e(fi,{id:t,name:t,align:\"right\",label:t,readOnly:r,disabled:s,defaultChecked:h(t)},t))})}):null}function Ys({className:n,title:o,hint:i,showField:r=!0,showJiraTicketField:a,jiraTicketLabel:s=\"Create Jira Ticket\",showSendEmailField:l,sendEmailLabel:c=\"Send Email\",readOnly:u=!1,disabled:d,...f}){const m=N(\"io-block-list-gap\",n),{config:p,showMailingList:h,setShowMailingList:g}=Ps();if(!r)return null;const v=a??p.createJiraTicket,y=l??p.sendEmail;return t(P,{className:m,hint:i,title:o,...f,children:[v&&e(fi,{id:\"createJiraTicket\",name:\"createJiraTicket\",label:s,align:\"right\",readOnly:u,disabled:d,defaultChecked:v}),y&&e(fi,{onChange:()=>{g(!h)},id:\"sendEmail\",name:\"sendEmail\",label:c,align:\"right\",readOnly:u,disabled:d,defaultChecked:y})]})}function Us({showField:t=!0,className:n,title:o=\"Email List\",hint:i=\"Separate with commas or semicolons.\",placeholder:r=\"john.doe@somedomain.com; jane.doe@otherdomain.com\",readOnly:a,disabled:s,...l}){const{config:c,showMailingList:u}=Ps(),d=t??c.sendEmail,f=a??!1===c.allowEditRecipients;return d&&u?e(P,{className:n,hint:i,...l,children:e(oi,{id:\"mailingList\",name:\"mailingList\",label:o,placeholder:r,readOnly:f,disabled:s,defaultValue:c.mailingList??\"\"})}):null}const Ks={Header:As,Body:Ts,Footer:Os,HeaderButtons:Fs,FooterButtons:Ls,SubmitButton:Bs,CancelButton:Rs,CloseButton:_s,IntroField:Hs,DescriptionField:js,TechInfoField:$s,EnvInfoField:zs,FileAttachmentsField:Ws,CategoryAttachmentsField:Vs,SettingsField:Ys,MailListField:Us},Js=s(Ks),qs=g(({children:t,components:n})=>{const o=u(()=>({...Ks,...n}),[n]);return e(Js.Provider,{value:o,children:t})});function Gs(e){return{...l(Js),...e}}function Qs({className:n,...o}){const i=N(\"io-feedback\",n),{Header:r,Body:a,Footer:s}=Gs();return t(Zo,{className:i,...o,children:[e(r,{}),e(a,{}),e(s,{})]})}qs.displayName=\"ComponentsStore\";var Xs=Object.freeze({__proto__:null,Body:Ts,CancelButton:Rs,CategoryAttachmentsField:Vs,CloseButton:_s,DescriptionField:js,EnvInfoField:zs,Feedback:function({components:t,...n}){return e(qs,{components:t,children:e(Qs,{...n})})},FeedbackProvider:({children:t})=>{const{config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:s,close:l,showMailingList:m,setShowMailingList:p,attachmentCategories:h,submitInProgress:g,setSubmitInProgress:v,submitStatus:y,setSubmitStatus:w,submitCompleted:b,setSubmitCompleted:C,jiraTicketURL:k,setJiraTicketURL:N,submitFeedback:S}=function(){const[e,t]=c({env:\"\",region:\"\",version:\"\",buildVersion:\"\",theme:\"\",isError:!1,mailingList:\"\",createJiraTicket:!0,sendEmail:!1,attachments:[],applicationTitle:\"\",allowEditRecipients:!0,attachmentsViewMode:\"category\",environmentInfo:\"\",selectedCategories:[],errorMessage:\"\",showEnvironmentInfo:!1,context:{},technicalInfo:\"\",sendEmailClient:\"Outlook\"}),[n,o]=c(!1),[i,r]=c(!1),[s,l]=c(!1),[u,m]=c(\"\"),[p,h]=c([]),[g,v]=c({type:\"primary\",title:\"\",text:\"\"}),y=d();Is.init();const w=a(e=>{const t=document.documentElement;return t.className=\"\",t.classList.add(e),()=>{t.classList.remove(e)}},[]),b=a(e=>{const t=new Set;e.filter(e=>{const n=t.has(e.category);return t.add(e.category),!n}),h(Array.from(t))},[]);f(()=>{Is.getConfig().then(e=>{t(e),b(e.attachments),e.theme?w(e.theme):w(\"dark\")}).catch(e=>{throw new Error(\"Failed to get Feedback Config:\",e)}),Is.onThemeChanged(e=>{w(e)})},[b,w]),f(()=>{o(e.sendEmail)},[e.sendEmail]),f(()=>(i&&\"Outlook\"===e.sendEmailClient&&(y.current=setTimeout(()=>{v({title:\"Sending an email. Go to Outlook to allow access.\",type:\"primary\"})},100)),()=>clearTimeout(y.current)),[i,e.sendEmailClient]);const C=a(e=>Is.onThemeChanged(e),[]),k=a(e=>{e.jiraProcessed&&(v({title:e.jiraDetails,type:\"success\"}),m(e.jiraTicketUrl)),e.emailProcessed&&v({title:e.emailDetails,type:\"success\"})},[]),N=a(async t=>{const n={createJiraTicket:e.createJiraTicket,sendEmail:e.sendEmail,mailingList:e.mailingList,attachments:e.attachments,attachmentsViewMode:e.attachmentsViewMode,...t};if(!n.createJiraTicket&&!n.sendEmail){const e=\"Can't send feedback. Feedback via Jira and email has been disabled.\";throw v({title:e,type:\"error\"}),new Error(e)}if(n.sendEmail&&!n.mailingList){const e=\"No email recipient. Provide at least one valid email address in the Email List field.\";throw v({title:e,type:\"error\"}),new Error(e)}n.createJiraTicket&&n.sendEmail&&(v({title:\"Submitting an issue to Jira and sending an email...\",type:\"primary\"}),r(!0)),n.createJiraTicket?(v({title:\"Submitting an issue to Jira...\",type:\"primary\"}),r(!0)):(v({title:\"Sending an email...\",type:\"primary\"}),r(!0));try{const e=await Is.submitReport(t);return k(e),r(!1),l(!0),clearTimeout(y.current),e}catch(e){throw console.log(\"An error occurred while submitting your feedback:\",e),e}},[e.attachments,e.attachmentsViewMode,e.createJiraTicket,e.mailingList,e.sendEmail,k]),S=a(e=>{Is.openUrl(e)},[]),D=a(e=>{Is.closeReport(e)},[]),x=a((e,t,n,o)=>{Is.setBounds(e,t,n,o)},[]),E=a(t=>{t.preventDefault();const n=new FormData(t.currentTarget),o=[],i=[...e.attachments];if(\"file\"===e.attachmentsViewMode)i.filter(e=>\"on\"===n.get(e.id)).map(e=>o.push(e.id));else{const e=p?.filter(e=>\"on\"===n.get(e)),t=i.reduce((t,n)=>(-1!==e.indexOf(n.category)&&t.push(n.id),t),[]);o.push(...t)}const r={createJiraTicket:\"on\"===n.get(\"createJiraTicket\"),sendEmail:\"on\"===n.get(\"sendEmail\"),description:n.get(\"description\"),mailingList:n.get(\"mailingList\"),attachments:o,attachmentsViewMode:e.attachmentsViewMode};return N(r)},[p,e.attachments,e.attachmentsViewMode,N]);return{config:e,onThemeChanged:C,openUrl:S,submit:N,setBounds:x,close:D,showMailingList:n,setShowMailingList:o,attachmentCategories:p,submitInProgress:i,setSubmitInProgress:r,submitStatus:g,setSubmitStatus:v,submitCompleted:s,setSubmitCompleted:l,jiraTicketURL:u,setJiraTicketURL:m,submitFeedback:E}}(),D=u(()=>({config:n,onThemeChanged:o,openUrl:i,submit:r,setBounds:s,close:l,showMailingList:m,setShowMailingList:p,attachmentCategories:h,submitInProgress:g,setSubmitInProgress:v,submitStatus:y,setSubmitStatus:w,submitCompleted:b,setSubmitCompleted:C,jiraTicketURL:k,setJiraTicketURL:N,submitFeedback:S}),[n,o,i,r,s,l,m,h,g,y,b,k,S,N,v,w,C,p]);return e(Ms.Provider,{value:D,children:t})},FileAttachmentsField:Ws,Footer:Os,FooterButtons:Ls,Header:As,HeaderButtons:Fs,IntroField:Hs,MailListField:Us,SettingsField:Ys,SubmitButton:Bs,TechInfoField:$s,useFeedbackContext:Ps});function Zs({className:n,title:o=\"General\",...i}){const r=N(\"io-notifications-settings-panel-general\",n),{AllowNotifications:a,AllowNotificationToasts:s,ShowNotificationBadge:l,CloseNotificationOnClick:c,PanelAutoHide:u,HideToastsAfter:d}=Bl(),f=bi();return e(\"div\",{className:r,...i,children:t(P,{title:o,children:[f&&e(a,{}),f&&e(s,{}),e(l,{}),f&&e(u,{}),f&&e(c,{}),f&&e(d,{})]})})}var el=new class{subscribed=!1;io=void 0;registry=Es();logger=void 0;isPanelVisible=void 0;notifications=[];bulkActionsSupported=!1;init(e){if(this.subscribed)return;this.subscribed=!0,this.io=e,this.logger=this.io.logger.subLogger(\"notifications\");const t=this.io.appManager.myApplication,n=t?.userProperties?.logger?.publishLevel??\"error\",o=t?.userProperties?.logger?.consoleLevel??\"info\";this.logger.publishLevel(n),this.logger.consoleLevel(o),this.logger.info(\"===== IO Notifications v.0.8.2 =====\"),this.getBulkActionsSupport(),this.subscribe()}onPanelVisibilityChanged(e){return this.registry.add(\"on-panel-visibility-changed\",e)}onConfigurationChanged(e){return this.registry.add(\"on-configuration-changed\",e)}onNotificationsChanged(e){return this.registry.add(\"on-notifications-changed\",e)}onCounterChanged(e){return this.registry.add(\"on-counter-changed\",e)}async getNotificationsList(){const e=await(this.io?.notifications.list());if(!e)throw new Error(\"io.notifications.list is not supported in this environment.\");return e.map(e=>this.attachHandlers(e))}async getConfiguration(){if(this.io)return await this.io.notifications.getConfiguration();throw new Error(\"io.notifications.getConfiguration is not supported in this environment.\")}showPanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.show()}hidePanel(){if(this.isDesktopEnvironment())return this.io?.notifications.panel.hide()}clearAll(){return this.logger?.trace(\"clearing all notifications\"),this.io?.notifications.clearAll()}clearAllOld(){return this.logger?.trace(\"clearing all old notifications\"),this.io?.notifications.clearOld()}clearMany(e){return\"function\"==typeof(this.io?.notifications).clearMany?e.length<1?(this.logger?.trace(\"no ids provided to clear notifications\"),Promise.resolve()):(this.logger?.trace(`clearing notifications with ids ${JSON.stringify(e.join(\", \"))}`),(this.io?.notifications).clearMany(e)):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}close(e){return this.logger?.trace(`closing notification with id ${e}`),this.io?.notifications.clear(e)}snooze(e,t){return this.logger?.trace(`snoozing notification with id ${e} for ${t}ms`),this.io?.notifications.snooze(e,t)}snoozeMany(e,t){return\"function\"==typeof(this.io?.notifications).snoozeMany?e.length<1?(this.logger?.trace(\"no ids provided to snooze notifications\"),Promise.resolve()):(this.logger?.trace(`snoozing notifications with ids ${JSON.stringify(e.join(\", \"))} for ${t}ms`),(this.io?.notifications).snoozeMany(e,t)):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}setState(e,t){return this.logger?.trace(`setting state of ${e} to ${t}`),this.io?.notifications.setState(e,t)}setStates(e,t){return\"function\"==typeof(this.io?.notifications).setStates?e.length<1?(this.logger?.trace(`no ids provided to change state to ${t} for notifications`),Promise.resolve()):(this.logger?.trace(`setting state of ${JSON.stringify(e.join(\", \"))} to ${t}`),(this.io?.notifications).setStates(e,t)):Promise.reject(new Error(\"Bulk actions are not supported in this environment\"))}getBulkActionsSupport(){const e=\"function\"==typeof(this.io?.notifications).clearMany&&\"function\"==typeof(this.io?.notifications).setStates&&\"function\"==typeof(this.io?.notifications).snoozeMany;this.bulkActionsSupported=e}setFilter(e){return this.logger?.trace(`setting filter to ${JSON.stringify(e)}`),this.io?.notifications.setFilter(e)}configure(e){return this.io?.notifications.configure(e)}subscribe(){this.io?.notifications.onRaised(e=>{this.logger?.trace(`received event indicating notification raise: ${JSON.stringify(e)}`),this.attachHandlers(e),this.notifications.unshift(e),this.registry.execute(\"on-notifications-changed\",[...this.notifications])}),this.io?.notifications.onStateChanged(({id:e},t)=>{this.logger?.trace(`received event for notification state is changed - \"${e}\" - \"${t?.toString()}\"`),this.notifications=this.notifications.map(n=>n.id===e?(this.logger?.trace(`${n.id} - the state is changed from \"${n.state}\" to \"${t?.toString()}\"`),Object.assign(n,{state:t})):n),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications&&\"onDataChanged\"in this.io.notifications&&\"function\"==typeof this.io.notifications.onDataChanged&&this.io?.notifications.onDataChanged((e,t)=>{const n=e.id;this.logger?.trace(`received event for notification data is changed - \"${n}\" - \"${JSON.stringify(t)}\"`),this.notifications=this.notifications.map(e=>e.id===n?(this.logger?.trace(`${e.id} - the data is changed from \"${JSON.stringify(e.data)}\" to \"${JSON.stringify(t)}\"`),Object.assign(e,{data:t})):e),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications.onClosed(({id:e})=>{this.logger?.trace(`received event for notification is closed - \"${e}\".`),this.notifications=this.notifications.filter(t=>t.id!==e),this.registry.execute(\"on-notifications-changed\",this.notifications)}),this.io?.notifications.onConfigurationChanged(e=>{this.logger?.trace(`received event for configuration changed - ${JSON.stringify(e)}.`),this.registry.execute(\"on-configuration-changed\",e)}),this.isDesktopEnvironment()&&this.io?.notifications.panel.onVisibilityChanged(e=>{this.logger?.trace(`received event for panel visibility changed to \"${e}\".`),this.isPanelVisible=e,this.registry.execute(\"on-panel-visibility-changed\",e)})}isDesktopEnvironment(){return\"object\"==typeof window&&(Boolean(window.iodesktop)||Boolean(window.glue42gd))}attachHandlers(e){e.actions?.forEach(t=>{Object.assign(t,{onClick:async n=>{try{this.logger?.info(`${e.id}/${t.action} - was clicked.`),await(this.io?.notifications.click(e.id,t.action,n))}catch(e){this.logger?.error(\"Error while clicking on action:\",e)}}})});const t={snooze:async(t=1e4)=>{this.logger?.trace(`${e.id} - request to change the state from ${e.state} to Snoozed with duration ${t}ms`),await(this.io?.notifications.snooze(e.id,t))},updateState:async t=>(this.logger?.trace(`${e.id} - request to change the state from ${e.state} to ${t}`),this.io?.notifications.setState(e.id,t)),updateData:async t=>{this.logger?.trace(`${e.id} - request to change the data to ${JSON.stringify(t)}`),this.io?.notifications&&\"updateData\"in this.io.notifications&&\"function\"==typeof this.io.notifications.updateData?await this.io.notifications.updateData(e.id,t):console.log(\"'updateData' method is not supported\")},onClick:async t=>{try{this.logger?.info(`${e.id} - was clicked.`),await(this.io?.notifications.click(e.id,void 0,t))}catch(t){this.logger?.error(`Error while clicking on Notification: ${e.id}`,t)}},onShow:()=>{},close:async()=>(this.logger?.info(`${e.id} - was closed.`),this.close(e.id))};return Object.assign(e,t)}};function tl(e){const t=l(w),n=t?.appManager,o=bi(),[i,r]=c([]),[s,d]=c(0),m=\"Platform\",p=a((e=\"asc\")=>{if(null===o)return[];const t=[...i].sort((t,n)=>{const o=(t.title??t.name).toLowerCase(),i=(n.title??n.name).toLowerCase();return\"asc\"===e?o.localeCompare(i):i.localeCompare(o)});if(!o){const e=t.findIndex(e=>e.name===m);if(-1!==e){const[n]=t.splice(e,1);t.unshift(n)}}return t},[i,o]),h=u(()=>p(\"asc\"),[p]),g=u(()=>p(\"desc\"),[p]);f(()=>{if(null===o||o)return;const e={title:\"System\",name:m,hidden:!1,userProperties:{hidden:!1}};r(t=>t.some(t=>t.name===e.name)?t:[...t,e])},[o]),f(()=>{if(!n)return;const e=n.onAppAdded(e=>{r(t=>[...t,{title:e.title,name:e.name,hidden:e.hidden,userProperties:e.userProperties}])}),t=n.onAppRemoved(e=>{r(t=>t.filter(t=>t.name!==e.name))}),o=n.onAppChanged(e=>{r(t=>{const n=t.find(t=>t.name===e.name);return[...t.filter(t=>t.name!==e.name),{title:e.title,name:n?.name,hidden:n?.hidden,allowed:n?.allowed,userProperties:n?.userProperties}]})});return()=>{e(),t(),o()}},[n]);return{apps:u(()=>{if(!e?.sourceFilter||!Array.isArray(i))return i;const{allowed:t=[],blocked:n=[]}=e.sourceFilter,o=t.includes(\"*\"),r=n.includes(\"*\");let a=0;const s=i.map(e=>{const n=o||t.includes(e.name),i=!r&&n;return i&&a++,{...e,allowed:i}});return d(a),s},[e,i]),allowedApps:s,sortedAppsAsc:h,sortedAppsDesc:g,sortAppsAlphabetically:p}}function nl(e,t,n){const o=u(()=>{if(!t.toastStacking)return[];const o=\"application\"===(i=t.stackBy)?\"source\":\"severity\"===i?\"severity\":\"source\";var i;const r=e.filter(e=>\"Active\"===e.state),a=new Map;for(const e of r){const t=e[o]??\"\";if(e.source&&n?.sourceFilter?.muted?.includes(e.source)||n?.sourceFilter?.muted?.includes(\"*\"))continue;a.has(t)||a.set(t,{key:t,items:[]});const i=a.get(t);i&&i.items.unshift(e)}return Array.from(a.values()).filter(e=>e.items.some(e=>\"Active\"===e.state||\"Stale\"===e.state))},[e,t.toastStacking,t.stackBy,n?.sourceFilter?.muted]);return{notificationStacks:o}}function ol(e){const[t,n]=c([]);return{selectedNotifications:t,selectNotification:(e,o)=>{const i=t;n(o?[...i,e]:i.filter(t=>t!==e))},selectAllNotifications:(t,o)=>{if(o){let o=[];switch(t){case\"read\":o=e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state).map(e=>e.id);break;case\"unread\":o=e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state).map(e=>e.id);break;case\"snoozed\":o=e.filter(e=>\"Snoozed\"===e.state).map(e=>e.id);break;default:o=e.map(e=>e.id)}n(o)}else n([])}}}const il=e=>({enabledNotifications:e.enable,enabledToasts:e.enableToasts,toastStacking:\"stacked\"===e.toasts?.mode,stackBy:e.toasts?.stackBy,toastExpiry:e.toastExpiry,showNotificationBadge:e.showNotificationBadge,placement:e.placement,snooze:e.snooze,closeNotificationOnClick:e.closeNotificationOnClick,autoHidePanel:e.autoHidePanel}),rl=e=>Array.from(e.reduce((e,t)=>e.set(t.id,t),new Map).values());function al(){const e=l(w),[t,n]=c({}),[o,i]=c({}),[r,a]=c([]),[s,u]=c(0),[d,m]=c(!0),{apps:p,allowedApps:h}=tl(t),{notificationStacks:g}=nl(r,{toastStacking:o.toastStacking??!1,stackBy:o.stackBy??\"source\"},{sourceFilter:t.sourceFilter}),{selectedNotifications:v,selectNotification:y,selectAllNotifications:b}=ol(r);el.init(e),f(()=>{(async()=>{await(async()=>{try{const e=await el.getConfiguration();n(e),i(t=>({...t,...il(e)}))}catch(e){console.error(\"Error fetching configuration:\",e)}})(),await(async()=>{try{const e=await el.getNotificationsList();a(rl(e))}catch(e){console.error(\"Error fetching notifications:\",e)}})()})().catch(e=>{console.error(\"Error in useNotifications fetch:\",e)}),C()},[]),f(()=>{const e=el.onNotificationsChanged(e=>{a(rl(e))}),t=el.onConfigurationChanged(e=>{const t=il(e);n(t=>({...t,...e})),i(e=>({...e,...t}))}),o=el.onCounterChanged(e=>{u(e)});return()=>{e(),t(),o()}},[]);const C=()=>{m(el.bulkActionsSupported)},k=async e=>{await el.setFilter(e)};return{close:e=>el.close(e),clearAll:()=>el.clearAll(),settings:o,hidePanel:async()=>{await el.hidePanel()},showPanel:async()=>{await el.showPanel()},saveFilter:k,clearAllOld:()=>el.clearAllOld(),saveSetting:async e=>{const n=((e,t)=>{const n=(e=>({enabledNotifications:e=>({enable:e}),enabledToasts:e=>({enableToasts:e}),toastStacking:t=>({toasts:{mode:t?\"stacked\":\"single\",stackBy:e.toasts?.stackBy}}),stackBy:t=>({toasts:{mode:e.toasts?.mode,stackBy:t}}),showNotificationBadge:e=>({showNotificationBadge:e}),toastExpiry:e=>({toastExpiry:e}),placement:e=>({placement:e}),snooze:e=>({snooze:e}),closeNotificationOnClick:e=>({closeNotificationOnClick:e}),autoHidePanel:e=>({autoHidePanel:e})}))(t),o=Object.keys(e)[0],i=e[o];return o&&void 0!==i&&n[o]?n[o](i):{}})(e,t);n&&await el.configure(n)},allApps:p,saveAllFilter:async e=>{\"subscribe\"in e?await k({allowed:e.subscribe?[\"*\"]:[],blocked:e.subscribe?[]:[\"*\"]}):\"mute\"in e&&await k({muted:e.mute?[\"*\"]:[]})},configuration:t,notifications:r,notificationStacks:g,notificationsCount:s,allApplications:t.allApplications??0,allowedApplications:h,isBulkActionsSupported:d,selectedNotifications:v,selectNotification:y,selectAllNotifications:b,clearMany:async e=>{await el.clearMany(e)},snooze:async(e,t)=>{await el.snooze(e,t)},snoozeMany:async(e,t)=>{await el.snoozeMany(e,t)},setState:async(e,t)=>{await el.setState(e,t)},setStates:async(e,t)=>{await el.setStates(e,t)},setCount:e=>{u(e)},getNotificationsList:async()=>await el.getNotificationsList()}}const sl=s({allApps:[],settings:{},configuration:{},notifications:[],notificationsCount:0,onClose:()=>{},allApplications:0,clearAll:()=>{},showPanel:()=>{},hidePanel:()=>{},saveFilter:()=>{},clearAllOld:()=>{},notificationStacks:[],saveSetting:()=>{},allowedApplications:0,saveAllFilter:()=>{},isBulkActionsSupported:!1,selectedNotifications:[],selectNotification:()=>{},selectAllNotifications:()=>{},clearMany:()=>{},snooze:()=>{},snoozeMany:()=>{},setState:()=>{},setStates:()=>{},setCount:()=>{}}),ll=()=>l(sl);function cl({label:t=\"Allow notifications\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=a(e=>{r({enabledNotifications:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:l,checked:i.enabledNotifications??!1,...o}):null}function ul({label:t=\"Allow notification toasts\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({enabledToasts:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.enabledToasts??!1,disabled:l,...o}):null}function dl({label:t=\"Show notification badge\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi()&&!i.enabledNotifications,l=a(e=>{r({showNotificationBadge:e.target.checked})},[r]);return e(fi,{label:t,align:n,onChange:l,checked:i.showNotificationBadge??!1,disabled:s,...o})}function fl({label:t=\"Close notification on click\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({closeNotificationOnClick:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.closeNotificationOnClick??!1,disabled:l,...o}):null}function ml({label:t=\"Auto hide panel\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=a(e=>{r({autoHidePanel:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:l,checked:i.autoHidePanel??!1,...o}):null}const pl=(e,t)=>e?`${e} ${t}${1!==e?\"s\":\"\"}`:\"\",hl=e=>{const t=Math.floor(e/60),n=e%60,o=pl(t,\"minute\"),i=pl(n,\"second\");return o+(o&&i?\" \":\"\")+i};function gl({className:n,title:o=\"Hide toasts after\",items:i=[15,30,45,60],...r}){const s=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ll(),u=bi(),d=u&&!l.enabledNotifications,f=a((e=15e3)=>{l.toastExpiry!==e&&c({toastExpiry:1e3*e})},[l.toastExpiry,c]);return u?t(\"div\",{className:s,...r,children:[e(\"div\",{className:\"io-text-clipper \"+(d?\"io-text-disabled\":\"\"),children:e(\"span\",{children:o})}),t(X,{variant:\"light\",disabled:d,children:[e(X.Button,{text:hl((l.toastExpiry??0)/1e3)}),e(X.Content,{children:e(X.List,{variant:\"single\",children:i.map(t=>e(X.Item,{onClick:()=>{f(t)},children:hl(t)},t))})})]})]}):null}function vl({className:n,title:o=\"Stacking\",...i}){const r=N(\"io-notifications-settings-panel-stacking\",n),{ToastStacking:a,ToastStackBy:s}=Bl();return bi()?e(\"div\",{className:r,...i,children:t(P,{title:o,children:[e(a,{}),e(s,{})]})}):null}function yl({label:t=\"Allow toast stacking\",align:n=\"right\",...o}){const{settings:i,saveSetting:r}=ll(),s=bi(),l=s&&!i.enabledNotifications,c=a(e=>{r({toastStacking:e.target.checked})},[r]);return s?e(fi,{label:t,align:n,onChange:c,checked:i.toastStacking??!1,disabled:l,...o}):null}const wl={application:\"Application\",severity:\"Priority\"},bl=Object.fromEntries(Object.entries(wl).map(([e,t])=>[t,e]));function Cl({className:n,title:o=\"Group by\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),u=c&&!s.enabledNotifications,d=a((e=\"severity\")=>{s.stackBy!==e&&l({stackBy:e.toLowerCase()})},[s.stackBy,l]);if(!c)return null;const f=Object.values(wl);return t(\"div\",{className:r,...i,children:[e(\"div\",{className:N(\"io-text-clipper\",{\"io-text-disabled\":u}),children:e(\"span\",{children:o})}),t(X,{variant:\"light\",disabled:u,children:[e(X.Button,{text:wl[s.stackBy??\"severity\"]}),e(X.Content,{children:e(X.List,{variant:\"single\",children:f.map(t=>e(X.Item,{onClick:()=>{const e=bl[t];d(e)},children:t},t))})})]})]})}function kl({className:n,title:o=\"Placement\",...i}){const r=N(\"io-notifications-settings-panel-placement\",n),{PlacementPanel:a,PlacementToasts:s}=Bl();return bi()?e(\"div\",{className:r,...i,children:t(P,{title:o,children:[e(a,{}),e(s,{})]})}):null}const Nl=e=>e.replace(/(^|-)\\w/g,e=>e.toUpperCase().replace(\"-\",\" \"));function Sl({className:n,title:o=\"Panel position\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),u=a(e=>{e||(e=\"right\"),s.placement?.panel!==e&&l({placement:{...s.placement,panel:e.toLowerCase()}})},[s.placement,l]);if(!c)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(X,{variant:\"light\",children:[e(X.Button,{text:s.placement?.panel?Nl(s.placement?.panel):\"Right\"}),e(X.Content,{children:e(X.List,{variant:\"single\",children:[\"Right\",\"Left\"].map(t=>e(X.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function Dl({className:n,title:o=\"Toasts position\",...i}){const r=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:s,saveSetting:l}=ll(),c=bi(),u=a(e=>{if(e||(e=\"bottom-right\"),s.placement?.toasts===e)return;const t=e.replace(/\\s+/g,\"-\").toLowerCase();l({placement:{...s.placement,toasts:t}})},[s.placement,l]);if(!c)return null;return t(\"div\",{className:r,...i,children:[e(\"div\",{className:\"io-text-clipper\",children:e(\"span\",{children:o})}),t(X,{variant:\"light\",children:[e(X.Button,{text:s.placement?.toasts?Nl(s.placement?.toasts):\"Bottom Right\"}),e(X.Content,{children:e(X.List,{variant:\"single\",children:[\"Top Right\",\"Top Left\",\"Bottom Right\",\"Bottom Left\"].map(t=>e(X.Item,{onClick:()=>{u(t)},children:t},t))})})]})]})}function xl({className:t,title:n=\"Snooze\",...o}){const i=N(\"io-notifications-settings-panel-snooze\",t),{SnoozeDuration:r}=Bl(),{settings:a}=ll();return bi()&&a.snooze?.enabled?e(\"div\",{className:i,...o,children:e(P,{title:n,children:e(r,{})})}):null}function El({className:n,title:o=\"Default duration\",items:i=[60,120,180,300],...r}){const s=N(\"flex\",\"jc-between\",\"ai-center\",n),{settings:l,saveSetting:c}=ll(),u=bi(),d=u&&!l.enabledNotifications,f=a((e=6e4)=>{l.snooze&&l.snooze?.duration!==e&&c({snooze:{...l.snooze,duration:1e3*e}})},[l.snooze,c]);return u&&l.snooze?.enabled?t(\"div\",{className:s,...r,children:[e(\"div\",{className:N(\"io-text-clipper\",{\"io-text-disabled\":d}),children:e(\"span\",{children:o})}),t(X,{variant:\"light\",disabled:d,children:[e(X.Button,{text:hl((l.snooze?.duration??0)/1e3)}),e(X.Content,{children:e(X.List,{variant:\"single\",children:i.map(t=>e(X.Item,{onClick:()=>{f(t)},children:hl(t)},t))})})]})]}):null}function Il({className:n,title:o,...i}){const r=N(\"io-notifications-settings-panel-subscriptions\",n),{SubscribeAll:a,SubscribeApp:s,SubscribeMuteAll:l,SubscribeMuteApp:c}=Bl(),{sortAppsAlphabetically:u}=tl(),d=bi(),f=u(),m=\"io-notifications-subscriptions-grid \"+(d?\"with-three-columns\":\"with-two-columns\");return e(\"div\",{className:r,...i,children:t(P,{title:o??(d?\"Subscribe & Mute\":\"Subscribe\"),children:[t(\"div\",{className:m,children:[e(\"p\",{className:\"io-text-section\",children:\"Sources\"}),e(\"p\",{className:\"io-text-section\",children:\"Subscribe\"}),d&&e(\"p\",{className:\"io-text-section\",children:\"Mute\"})]}),t(\"div\",{className:m,children:[e(\"p\",{children:\"All Sources\"}),e(a,{label:\"\"}),d&&e(l,{label:\"\"})]}),f.map(n=>!n||n.hidden||n?.userProperties?.hidden?null:t(\"div\",{className:m,children:[e(\"p\",{children:n.title??n.name}),e(s,{app:n,label:\"\"}),d&&e(c,{app:n,label:\"\"})]},n.name))]})})}function Ml({label:t=\"All apps\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ll(),l=bi()&&!i.enabledNotifications,c=a(e=>{s({subscribe:e.target.checked})},[s]);return e(fi,{align:n,label:t,onChange:c,checked:(r.sourceFilter?.allowed?.includes(\"*\")&&0===r.sourceFilter?.blocked?.length)??!1,disabled:l,...o})}function Pl({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ll(),u=bi()&&!s.enabledNotifications,d=a((e,t)=>{const n={...l.sourceFilter},o=n.allowed?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.allowed?.splice(o,1),r.forEach(e=>{e.name!==t.name&&n.allowed?.push(e.name)})),e?(n.allowed=[...new Set([...n.allowed??[],t.name])],n.blocked=n.blocked?.filter(e=>e!==t.name)):(n.allowed=n.allowed?.filter(e=>e!==t.name),n.blocked=[...new Set([...n.blocked??[],t.name])]),n.allowed?.length&&n.blocked?.includes(\"*\")&&n.blocked.splice(n.blocked.indexOf(\"*\"),1),c(n)},[r,l.sourceFilter,c]);return e(fi,{id:o.name,label:t,align:n,onChange:e=>d(e.target.checked,o),checked:(l.sourceFilter?.allowed?.includes(\"*\")&&!l.sourceFilter?.blocked?.includes(o.name)||l.sourceFilter?.allowed?.includes(o.name))??!1,disabled:u,...i})}function Al({label:t=\"Mute all\",align:n=\"right\",...o}){const{settings:i,configuration:r,saveAllFilter:s}=ll(),l=bi(),c=l&&(!i.enabledNotifications||-1===r.sourceFilter?.allowed?.indexOf(\"*\")),u=a(e=>{s({mute:e.target.checked})},[s]);return l?e(fi,{align:n,label:t,onChange:u,checked:r.sourceFilter?.muted?.includes(\"*\")??!1,disabled:c??!1,...o}):null}function Tl({label:t=\"App\",align:n=\"right\",app:o,...i}){const{allApps:r,settings:s,configuration:l,saveFilter:c}=ll(),u=bi(),d=u&&(!s.enabledNotifications||l.sourceFilter?.blocked?.includes(\"*\")||l.sourceFilter?.blocked?.includes(o.name)||0===l.sourceFilter?.allowed?.length||-1===l.sourceFilter?.allowed?.indexOf(o.name)&&-1===l.sourceFilter?.allowed?.indexOf(\"*\")&&0===l.sourceFilter?.blocked?.length),f=a((e,t)=>{const n={...l.sourceFilter},o=n?.muted?.indexOf(\"*\");\"number\"==typeof o&&o>-1&&(n.muted?.splice(o,1),r.forEach(e=>{e.name===t.name||e.hidden||n.muted?.push(e.name)})),e?n.muted?.push(t.name):n.muted=n.muted?.filter(e=>e!==t.name),c(n)},[r,l.sourceFilter,c]);return!u||o.hidden?null:e(fi,{id:o.name,label:t,align:n,onChange:e=>f(e.target.checked,o),checked:(l.sourceFilter?.muted?.includes(\"*\")||l.sourceFilter?.muted?.includes(o.name))??!1,disabled:d??!1,...i})}const Ol={Body:n=>{const{General:o,Placement:i,Stacking:r,Snooze:a,Subscriptions:s}=Bl();return t(Qo,{...n,children:[e(o,{}),e(r,{}),e(i,{}),e(a,{}),e(s,{})]})},General:Zs,AllowNotifications:cl,AllowNotificationToasts:ul,ShowNotificationBadge:dl,CloseNotificationOnClick:fl,PanelAutoHide:ml,HideToastsAfter:gl,Stacking:vl,ToastStacking:yl,ToastStackBy:Cl,Placement:kl,PlacementPanel:Sl,PlacementToasts:Dl,Snooze:xl,SnoozeDuration:El,Subscriptions:Il,SubscribeAll:Ml,SubscribeApp:Pl,SubscribeMuteAll:Al,SubscribeMuteApp:Tl},Fl=s(Ol),Ll=g(({children:t,components:n})=>{const o=u(()=>({...Ol,...n}),[n]);return e(Fl.Provider,{value:o,children:t})});Ll.displayName=\"NotificationsSettingsPanelComponentsStoreProvider\";const Bl=()=>l(Fl),Rl=({className:n,onClose:o,title:i=\"Notification Settings\",...r})=>{const{Body:a}=Bl();return t(Zo,{className:N(\"io-notifications-settings-panel\",n),\"data-testid\":\"notifications-settings-panel\",...r,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:i,tag:\"h1\"}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),e(a,{})]})},_l=({components:t,...n})=>e(Ll,{components:t,children:e(Rl,{...n})});function Hl({isOpen:t,onClose:n,container:o}){return t?y(e(_l,{onClose:n}),o??document.querySelector(\"#root\")??document.body):null}const jl=s({searchQuery:\"\",setSearch:()=>{},isPanelVisible:!1,sortNotificationsBy:\"newest\",setSortBy:()=>{},viewNotificationsBy:\"all\",setViewBy:()=>{},isBulkActionsVisible:!1,showBulkActions:()=>{},hideBulkActions:()=>{}}),$l=()=>l(jl);function zl({title:n,onClose:o,onOpenSettings:i,...r}){const{HeaderCaptionTitle:a,HeaderCaptionCount:s,HeaderCaptionButtonSettings:l,HeaderCaptionButtonClose:c,HeaderActions:u,HeaderBulkActions:d,HeaderSearch:f}=Oc(),{isBulkActionsSupported:m,notificationsCount:p}=ll(),{isBulkActionsVisible:h}=$l(),g=bi();return t(Go,{...r,children:[t(\"div\",{className:\"io-panel-header-caption\",children:[e(a,{title:n}),e(s,{}),t(Go.ButtonGroup,{children:[g&&e(l,{onClick:i}),e(c,{onClick:o})]})]}),e(f,{}),m?t(\"div\",{className:`io-panel-header-actions-wrapper ${h&&p>0?\"io-panel-header-bulk-actions-opened\":\"\"} `,children:[e(u,{}),e(d,{})]}):e(u,{})]})}function Wl({text:n=\"Notifications\",counter:o,...i}){const{notificationsCount:r}=ll();return e(M,{text:n,size:\"large\",...i,children:(o??!0)&&t(\"span\",{children:[\"(\",r,\")\"]})})}const Vl=\"newest\",Yl=\"oldest\",Ul=\"severity\",Kl=[\"None\",\"Low\",\"Medium\",\"High\",\"Critical\"],Jl={key:Vl,descending:!0},ql=e=>[...e].sort((e,t)=>(t.timestamp||0)-(e.timestamp||0)),Gl=e=>[...e].sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)),Ql=(e,t)=>{const n=Kl[0];return[...e].sort((e,o)=>{const i=Kl.indexOf(e.severity||n),r=Kl.indexOf(o.severity||n);return(t?-1:1)*(i-r)})},Xl={[Vl]:ql,[Yl]:Gl,[Ul]:Ql},Zl={severity:\"Priority\",newest:\"Newest\",oldest:\"Oldest\"};function ec({...t}){const[n,o]=c([]),{NotificationsList:i,Notification:r}=Oc(),{notifications:a,setCount:s,notificationsCount:l}=ll(),{sortNotificationsBy:m,viewNotificationsBy:p,searchQuery:h}=$l(),g=d(null),v=hi(h),y=u(()=>{const e=((e,t)=>{if(!e)return[];switch(t){case\"all\":default:return e;case\"unread\":return e.filter(e=>\"Active\"===e.state||\"Stale\"===e.state);case\"read\":return e.filter(e=>\"Acknowledged\"===e.state||\"Seen\"===e.state);case\"snoozed\":return e.filter(e=>\"Snoozed\"===e.state)}})(a,p);return e.filter(e=>e.title.toLowerCase().includes(v.toLowerCase())||e.source?.toLowerCase().includes(v.toLowerCase())||e.body?.toLowerCase().includes(v.toLowerCase()))},[v,a,p]);return f(()=>{switch(m){case\"newest\":o(ql(y));break;case\"oldest\":o(Gl(y));break;case\"severity\":o(Ql(y,!0));break;default:o(y)}s(y.length)},[y,m,s]),f(()=>{g.current&&g.current?.scrollTo({top:0,behavior:\"smooth\"})},[v,l,m,p]),e(Qo,{ref:g,...t,children:e(i,{notifications:n,Notification:r})})}function tc({...t}){const{FooterButtons:n}=Oc();return e(Xo,{...t,children:e(n,{})})}function nc({className:n,...o}){const{FooterButtonClearAll:i,FooterButtonClearAllOld:r}=Oc(),{notifications:a}=ll(),[s,l]=c(!1);return f(()=>{a.filter(e=>\"Stale\"===e.state||\"Acknowledged\"===e.state).length>0?l(!0):l(!1)},[a]),t(Z,{className:n,align:\"right\",...o,children:[e(r,{disabled:!s}),e(i,{disabled:a.length<=0})]})}function oc({text:t=\"Clear All\",...n}){const{clearAll:o}=ll();return e(T,{text:t,onClick:()=>{o()},...n})}function ic({text:t=\"Clear Old\",...n}){const{clearAllOld:o}=ll();return e(T,{text:t,onClick:()=>{o()},...n})}function rc(e){const t=bi(),{onClose:n,settings:o}=ll(),{isPanelVisible:i}=$l(),{id:r,onClick:s,updateState:l}=e,c=a(async()=>{if(!s)return;if(!t){try{await s({close:!0})}catch(e){console.error(e)}return void n(r)}const e=o?.toastStacking??!1;let a;a=i?o?.closeNotificationOnClick??!0:!e&&null;try{null!==a?await s({close:a}):(await s({close:!1}),await l(\"Acknowledged\"))}catch(e){console.error(e)}},[t,r,i,s,n,l,o?.closeNotificationOnClick,o?.toastStacking]),u=a(async e=>{const t=e.target;t.closest(\"button\")||t.closest(\"[role='button']\")||t.closest(\"a\")||t.closest(\".io-dropdown-menu\")||await c()},[c]);return{handleClick:c,handleWrapperClick:u}}function ac({className:n,notification:o,onClick:i,...r}){const a=N(\"io-notification-header\",n),{HeaderCount:s,HeaderBadge:l,HeaderTitle:c,HeaderTimestamp:u,HeaderButtonSnooze:d,HeaderButtonClose:f}=Nc(),{handleWrapperClick:m}=rc(o);return t(\"div\",{className:a,onClick:async e=>{await m(e),i?.(e)},...r,children:[e(l,{notification:o}),e(s,{notification:o}),e(c,{notification:o}),e(u,{notification:o}),t(Z,{children:[e(d,{notification:o}),e(f,{notification:o})]})]})}function sc({notification:t,...n}){const{settings:o,notificationStacks:i}=ll(),{isPanelVisible:r}=$l(),{toastStacking:a,stackBy:s}=o,l=\"application\"===s?\"source\":s??\"source\";let c=0;if(a){const e=i.find(e=>e.key===t[l]);c=e?.items.length??0}return r||!a||c<=1?null:e(ei,{...n,children:c>9?\"9+\":c})}function lc({className:t,notification:n,...o}){if(!n?.severity||\"None\"===n.severity)return null;const i=N(\"io-notification-header-badge\",t);return e(ei,{className:i,...o,children:n.severity})}function cc({className:n,state:o,severity:i=\"None\",icon:r,...a}){const s=N(\"io-notification-header-icon\",n),{isPanelVisible:l}=$l();return t(\"div\",{className:s,...a,children:[r&&e(\"span\",{className:\"io-notification-header-icon-image\",children:e(\"img\",{src:r,alt:`io-notification-header-icon-${r}`})}),e(\"span\",{className:`io-notification-header-icon-badge color-${i.toLowerCase()}`,children:l&&\"Acknowledged\"!==o&&\"New\"})]})}function uc({className:t,notification:{appTitle:n},...o}){const i=N(\"io-notification-header-title\",t);return e(\"div\",{className:i,...o,children:n})}function dc({className:t,notification:{timestamp:n,state:o,snooze:i},...r}){const a=N(\"io-notification-timestamp\",t);return e(\"small\",i&&\"Snoozed\"===o?{className:a,...r,children:\"Snoozed\"}:{className:a,...r,children:ls(n??0)??\"Just Now\"})}function fc({notification:{id:t,state:n},...o}){const{settings:i,snooze:r}=ll(),s=a(e=>{e.stopPropagation(),r&&r(t,i.snooze?.duration??0)},[t,r,i.snooze?.duration]);return r&&\"Snoozed\"!==n&&i.snooze?.enabled?e(T,{icon:\"snooze\",variant:\"link\",text:\"Snooze\",tabIndex:-1,onClick:s,...o}):null}function mc({notification:{id:t,updateState:n},...o}){const i=bi(),{onClose:r}=ll(),{isPanelVisible:s}=$l(),l=a(e=>{e.stopPropagation(),!i||s?r(t):n(\"Acknowledged\").catch(console.error)},[i,t,r,s,n]);return e(D,{icon:\"close\",iconSize:\"10\",tabIndex:-1,onClick:l,...o})}function pc({className:n,notification:o,...i}){const r=N(\"io-notification-body\",n),{BodyIcon:a,BodyTitle:s,BodyDescription:l}=Nc(),{icon:c,title:u,body:d}=o,{handleClick:f}=rc(o);return t(\"div\",{className:r,role:\"button\",tabIndex:0,onKeyDown:async e=>{A(e)&&await f()},onClick:f,...i,children:[e(a,{icon:c}),t(\"div\",{className:\"io-notification-body-content\",children:[e(s,{text:u}),e(l,{text:d})]})]})}function hc({className:t,icon:n,altText:o=\"notification icon\",...i}){if(!n)return null;const r=N(\"io-notification-body-icon\",t);return e(\"div\",{className:r,...i,children:e(\"img\",{src:n,alt:o})})}function gc({text:t,...n}){return e(M,{text:t,...n})}function vc({className:t,text:n,...o}){const i=N(\"io-notification-body-description\",t);return e(\"p\",{className:i,...o,children:n})}function yc({className:n,notification:o}){const i=N(\"io-notification-footer\",n),{FooterButton:r}=Nc(),{handleWrapperClick:a}=rc(o),s=u(()=>function(e){const t=[],n={};if(!e)return;e.forEach(e=>{const{displayId:o,displayPath:i}=e,r={...e,children:[]};if(i&&i.length>0){let e;i.forEach((t,o)=>{0===o?e=n[t]:e&&(e=e.children?.find(e=>e.displayId===t))}),e&&e.children?.push(r)}else o?(t.push(r),n[o]=r):t.push(r);o&&(n[o]=r)});const o=e=>{e.forEach(e=>{0===e.children?.length?delete e.children:e.children&&o(e.children)})};return o(t),t}(o.actions),[o.actions]),l=(t,n)=>t.children?e(Ko,{text:t.title,children:t.children.map(l)},`${t.title}-${n}`):((t,n)=>e(Ko.Item,{children:e(r,{variant:\"link\",className:\"io-dropdown-menu-item io-dropdown-menu-button\",notificationAction:t})},`${t.title}-${n}`))(t,n);return e(\"div\",{className:i,onClick:a,children:e(Z,{align:\"right\",children:s?.map((n,o)=>n.children?t(Z,{variant:\"append\",children:[e(r,{notificationAction:n,variant:0===o?\"primary\":\"default\"}),e(Ko,{variant:0===o?\"primary\":\"default\",icon:\"ellipsis\",children:n.children.map(l)})]},`${n.title}-${o}`):e(r,{notificationAction:n,variant:0===o?\"primary\":\"link\"},`${n.title}-${o}`))})})}function wc({notificationAction:t,...n}){const o=a(e=>{e.stopPropagation(),t.onClick({close:!0})},[t]);return e(T,{text:t.title,onClick:o,...n})}const bc={Header:ac,HeaderCount:sc,HeaderBadge:lc,HeaderIcon:cc,HeaderTitle:uc,HeaderTimestamp:dc,HeaderButtonSnooze:fc,HeaderButtonClose:mc,Body:pc,BodyIcon:hc,BodyTitle:gc,BodyDescription:vc,Footer:yc,FooterButton:wc},Cc=s(bc),kc=g(({children:t,components:n})=>{const o=u(()=>({...bc,...n}),[n]);return e(Cc.Provider,{value:o,children:t})});function Nc(e){return{...l(Cc),...e}}function Sc({className:n,notification:o,...i}){const{Header:r,Body:a,Footer:s}=Nc(),{severity:l}=o,c=N(\"io-notification\",`severity-${l?.toLowerCase()??\"none\"}`,\"Acknowledged\"!==o.state&&\"state-new\",n);return t(\"div\",{className:c,...i,children:[e(r,{notification:o}),e(a,{notification:o}),e(s,{notification:o})]})}function Dc({components:t,notification:n,...o}){return e(kc,{components:t,children:e(Sc,{notification:n,...o})})}function xc({className:n,notifications:o,...i}){const[r,s]=c(!1),l=o.length>=3?\"large\":\"normal\",u=2===o.length?\"small\":l,d=o[0].severity,f=N(\"io-notification-stack\",r&&\"io-notification-stack-open\",\"normal\"!==u&&[`io-notification-stack-${u}`],d&&\"None\"!==d&&[`io-notification-stack-${d.toLowerCase()}`],n),m=a(()=>{s(!0)},[]),p=a(e=>{e.stopPropagation(),o.forEach(e=>{e.close()})},[o]);return t(\"div\",{className:f,onClick:m,...i,children:[r&&\"normal\"!==u&&e(\"div\",{className:\"io-notification-stack-btn\",children:e(T,{icon:\"close\",onClick:e=>p(e),children:e(\"span\",{className:\"io-btn-text\",children:\"Clear Stack\"})})}),o.map(t=>e(Dc,{notification:t},t.id))]})}function Ec({...t}){const{notificationStacks:o}=ll();return e(n,{children:o.map(n=>e(xc,{notifications:n.items,...t},n.key))})}kc.displayName=\"ComponentsStoreProvider\";const Ic=({notification:n,Notification:o,...i})=>{const{configuration:r,isBulkActionsSupported:a,selectedNotifications:s,selectNotification:l}=ll(),{isPanelVisible:c,isBulkActionsVisible:u}=$l(),d=r.sourceFilter?.muted??[],f=n.source&&d.includes(n.source)||d.includes(\"*\");if(!c&&f)return null;const m=c&&a&&u,p=s.includes(n.id);return m?t(\"div\",{className:N(\"io-notification-list-bulk-action-item\",{selected:p}),children:[e(ri,{checked:p,onChange:e=>l(n.id,e.target.checked)}),e(o,{notification:n,...i})]}):e(o,{notification:n,...i})};function Mc({className:n,Notification:o,notifications:i=[],noNotificationText:r=\"No notifications to display\",...a}){const s=N(\"io-notification-list\",n),{settings:l}=ll(),{isPanelVisible:c}=$l(),{toastStacking:u}=l,d=u&&!c,f=i.length>0;return t(\"div\",{className:s,...a,children:[d&&e(Ec,{}),!d&&(f?i.map(t=>e(Ic,{notification:t,Notification:o,...a},t.id)):e(\"div\",{className:\"flex jc-center mt-8\",children:r}))]})}const Pc={Header:zl,HeaderCaptionTitle:Wl,HeaderCaptionCount:function({variant:t=\"primary\",...n}){const{notificationsCount:o=0}=ll();return 0===o?null:e(I,{variant:t,...n,children:o>99?\"99+\":o})},HeaderCaptionButtonSettings:function({icon:t=\"cog\",size:n=\"32\",variant:o=\"circle\",...i}){return bi()?e(D,{icon:t,size:n,variant:o,...i}):null},HeaderCaptionButtonClose:function({icon:t=\"close\",size:n=\"32\",variant:o=\"circle\",onClick:i,...r}){const{hidePanel:a}=ll(),s=bi();return e(D,{icon:t,size:n,variant:o,onClick:e=>{i?i(e):s&&a()},...r})},HeaderActions:function({className:n,...o}){const i=N(\"io-panel-header-actions\",n),{HeaderActionSort:r,HeaderActionView:a,HeaderActionClear:s,HeaderActionEdit:l}=Oc();return t(\"div\",{className:i,...o,children:[t(Z,{children:[e(r,{}),e(a,{})]}),t(Z,{children:[e(s,{}),e(l,{})]})]})},HeaderActionSort:function({text:n=\"Sort by\",...o}){const{sortNotificationsBy:i,setSortBy:r}=$l(),{onNotificationsSort:s}=(()=>{const{notifications:e}=ll(),[t,n]=c(Jl),{key:o,descending:i}=t,r=u(()=>Xl[o](e,i),[e,o,i]),s=a(e=>{n(t=>({key:e,descending:t.key!==e?Jl.descending:!t.descending}))},[]);return{onNotificationsSort:s,sortedNotifications:r}})();return t(X,{variant:\"light\",...o,children:[t(X.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:Zl[i].toLowerCase()})]}),e(X.Content,{children:e(X.List,{variant:\"single\",checkIcon:\"check\",children:[\"Newest\",\"Oldest\",\"Priority\"].map(t=>{const n=\"Priority\"===t?\"severity\":t.toLowerCase();return e(X.Item,{isSelected:i===n,onClick:()=>{r(n),s(n)},children:t},t)})})})]})},HeaderActionView:function({text:n=\"View\",...o}){const{settings:i}=ll(),{viewNotificationsBy:r,setViewBy:a}=$l(),s=i.snooze?.enabled?[\"All\",\"Read\",\"Unread\",\"Snoozed\"]:[\"All\",\"Read\",\"Unread\"];return t(X,{variant:\"light\",...o,children:[t(X.Button,{variant:\"link\",children:[n,\" \",e(\"strong\",{children:r})]}),e(X.Content,{children:e(X.List,{variant:\"single\",checkIcon:\"check\",children:s.map(t=>e(X.Item,{isSelected:r===t.toLowerCase(),onClick:()=>a(t.toLowerCase()),children:t},t))})})]})},HeaderActionClear:function({text:t=\"Clear All\",...n}){const{clearAll:o,notificationsCount:i}=ll();return e(T,{variant:\"link\",text:t,onClick:o,disabled:0===i,...n})},HeaderActionEdit:function({tooltip:t=\"Bulk Edit\",...n}){const{isBulkActionsSupported:o,notificationsCount:i}=ll(),{showBulkActions:r}=$l();return o?e(D,{icon:\"pen-to-square\",title:t,size:\"32\",onClick:r,disabled:0===i,...n}):null},HeaderBulkActions:function({className:n,...o}){const i=N(\"io-panel-header-bulk-actions\",n),{HeaderBulkActionSelect:r,HeaderBulkActionSelectDropdown:a,HeaderBulkActionMarkAsRead:s,HeaderBulkActionMarkAsUnread:l,HeaderBulkActionSnooze:c,HeaderBulkActionClear:u,HeaderBulkActionClose:d}=Oc(),{isBulkActionsSupported:f}=ll();return f?e(\"div\",{className:i,...o,children:t(Z,{children:[e(r,{}),e(a,{}),e(s,{}),e(l,{}),e(c,{}),e(u,{}),e(d,{})]})}):null},HeaderBulkActionSelect:function({...t}){const{isBulkActionsSupported:n,selectedNotifications:o,selectAllNotifications:i,notificationsCount:r}=ll();return n?e(ri,{checked:r===o.length&&r>0,onChange:e=>i(\"all\",e.target.checked),disabled:0===r,...t}):null},HeaderBulkActionSelectDropdown:function({...n}){const{isBulkActionsSupported:o,selectAllNotifications:i,notificationsCount:r}=ll();return o?t(X,{variant:\"light\",...n,children:[e(X.ButtonIcon,{variant:\"default\",icon:\"chevron-down\",size:\"16\",iconSize:\"10\",disabled:0===r}),e(B,{children:t(X.List,{variant:\"single\",checkIcon:\"check\",children:[e(X.ItemSection,{children:\"Select\"}),[\"All\",\"Read\",\"Unread\",\"Snoozed\"].map(t=>e(X.Item,{onClick:()=>i(t.toLowerCase(),!0),children:t},t))]})})]}):null},HeaderBulkActionMarkAsRead:function({icon:t=\"envelope-open\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as read\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,setStates:c,notificationsCount:u}=ll(),d=a(()=>{c(l,\"Seen\")},[l,c]);return s?e(D,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionMarkAsUnread:function({icon:t=\"envelope\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Mark as unread\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,setStates:c,notificationsCount:u}=ll(),d=a(()=>{c(l,\"Active\")},[l,c]);return s?e(D,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionSnooze:function({icon:t=\"snooze\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Snooze\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,snoozeMany:c,settings:u,notificationsCount:d}=ll(),f=a(()=>{c(l,u.snooze?.duration??0)},[l,c,u.snooze?.duration]);return s&&u.snooze?.enabled?e(D,{icon:t,size:n,variant:o,title:i,onClick:f,disabled:0===d,...r}):null},HeaderBulkActionClear:function({icon:t=\"trash\",size:n=\"32\",variant:o=\"circle\",tooltip:i=\"Clear\",...r}){const{isBulkActionsSupported:s,selectedNotifications:l,clearMany:c,notificationsCount:u}=ll(),d=a(()=>{c(l)},[l,c]);return s?e(D,{icon:t,size:n,variant:o,title:i,onClick:d,disabled:0===u,...r}):null},HeaderBulkActionClose:function({text:t=\"Done\",variant:n=\"primary\",...o}){const{isBulkActionsSupported:i,notificationsCount:r}=ll(),{hideBulkActions:a}=$l();return i?e(T,{variant:n,text:t,onClick:a,disabled:0===r,...o}):null},HeaderSearch:function({className:n,placeholder:o=\"Search\",iconPrepend:i=\"search\",iconAppend:r=\"close\",...s}){const l=N(\"io-panel-header-search\",n),c=d(null),{notificationsCount:u}=ll(),{searchQuery:f,setSearch:m}=$l(),p=f.length>0,h=a(()=>{m(\"\"),c.current&&c.current.focus()},[m]);return t(\"div\",{className:l,children:[e(oi,{ref:c,value:f,iconPrepend:i,iconAppend:p?r:void 0,iconAppendOnClick:p?h:void 0,placeholder:o,onChange:e=>m(e.target.value),...s}),p&&e(\"p\",{className:\"io-panel-header-search-count\",children:`${u} results`})]})},Body:ec,Footer:tc,FooterButtons:nc,FooterButtonClearAll:oc,FooterButtonClearAllOld:ic,Notification:Dc,NotificationsList:Mc},Ac=s(Pc),Tc=g(({children:t,components:n})=>{const o=u(()=>({...Pc,...n}),[n]);return e(Ac.Provider,{value:o,children:t})});function Oc(e){return{...l(Ac),...e}}function Fc(){const e=l(w),{settings:t}=ll(),n=bi(),o=a(async()=>{const o=e.windows.my();if(!e||!o||!n)return;const i=o.placementSettings;await o.place({...i,horizontalAlignment:t.placement?.panel})},[e,n,t.placement?.panel]);f(()=>{e&&t.placement?.panel&&n&&o().catch(console.error)},[e,n,o,t.placement?.panel])}function Lc({className:o,onClose:i,title:r=\"Notifications\",...a}){const{Header:s,Body:l}=Oc(),{settings:u}=ll(),{isPanelVisible:d}=$l(),[m,p]=c(!1),h=bi(),g=N(\"io-notifications-panel\",\"left\"===u.placement?.panel&&\"io-panel-left\",\"right\"===u.placement?.panel&&\"io-panel-right\",o);return Fc(),f(()=>{d||p(!1)},[d]),t(n,{children:[t(Zo,{className:g,...a,children:[e(s,{title:r,onClose:i,onOpenSettings:()=>p(!0)}),e(l,{})]}),h&&d&&e(Hl,{isOpen:m,onClose:()=>p(!1)})]})}Tc.displayName=\"ComponentsStoreProvider\";const Bc={Body:function({className:t,notifications:n,maxToasts:o=1,...i}){const r=N(\"io-toasts-body\",t),{NotificationsList:a,Notification:s}=Hc(),[l,u]=c([]);return f(()=>{const e=o<0?n.length:o,t=n.filter(e=>\"Active\"===e.state).slice(0,e);for(const e of t)e.onShow();u(t)},[n,o]),e(\"div\",{className:r,...i,children:e(a,{Notification:s,notifications:l,noNotificationText:\"\"})})},Notification:Dc,NotificationsList:Mc},Rc=s(Bc),_c=g(({children:t,components:n})=>{const o=u(()=>({...Bc,...n}),[n]);return e(Rc.Provider,{value:o,children:t})});function Hc(e){return{...l(Rc),...e}}function jc(){const e=l(w),{settings:t}=ll(),n=a(async()=>{const n=e.windows.my();if(!e||!n)return;const o=n.placementSettings;await n.place({...o,horizontalAlignment:\"top-right\"===t.placement?.toasts||\"bottom-right\"===t.placement?.toasts?\"right\":\"left\"})},[e,t.placement?.toasts]);f(()=>{e&&t.placement?.toasts&&n().catch(console.error)},[e,n,t.placement?.toasts])}function $c({className:n,maxToasts:o=10,...i}){const{Header:r,Body:a,Footer:s}=Hc(),{notifications:l,settings:c}=ll(),u=N(\"io-toasts\",(\"top-left\"===c.placement?.toasts||\"top-right\"===c.placement?.toasts)&&\"io-toasts-top\",(\"top-right\"===c.placement?.toasts||\"bottom-right\"===c.placement?.toasts)&&\"io-toasts-right\",(\"bottom-left\"===c.placement?.toasts||\"bottom-right\"===c.placement?.toasts)&&\"io-toasts-bottom\",(\"top-left\"===c.placement?.toasts||\"bottom-left\"===c.placement?.toasts)&&\"io-toasts-left\",n);return jc(),t(\"div\",{className:u,...i,children:[r&&e(r,{}),e(a,{notifications:l,maxToasts:o}),s&&e(s,{})]})}_c.displayName=\"ComponentsStoreProvider\";var zc=Object.freeze({__proto__:null,Notification:Dc,NotificationBody:pc,NotificationBodyDescription:vc,NotificationBodyIcon:hc,NotificationBodyTitle:gc,NotificationFooter:yc,NotificationFooterButton:wc,NotificationHeader:ac,NotificationHeaderBadge:lc,NotificationHeaderButtonClose:mc,NotificationHeaderButtonSnooze:fc,NotificationHeaderCount:sc,NotificationHeaderIcon:cc,NotificationHeaderTimestamp:dc,NotificationHeaderTitle:uc,NotificationStack:xc,NotificationsList:Mc,NotificationsPanelProvider:({children:t})=>{const{searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:m,showBulkActions:p,hideBulkActions:h}=function(){const e=l(w),[t,n]=c(!1),[o,i]=c(\"newest\"),[r,a]=c(\"all\"),[s,u]=c(\"\"),[d,m]=c(!1),p=bi(),{isBulkActionsSupported:h}=ll();return f(()=>{const e=el.onPanelVisibilityChanged(e=>n(e));return()=>{e()}},[]),f(()=>{null!==p&&p&&(async()=>{const t=await e.notifications.panel.isVisible();n(t)})()},[e.notifications.panel,p]),f(()=>{t||(m(!1),a(\"all\"))},[t]),{isPanelVisible:t,sortNotificationsBy:o,setSortBy:e=>{i(e)},viewNotificationsBy:r,setViewBy:e=>{a(e)},searchQuery:s,setSearch:e=>{u(e)},isBulkActionsVisible:d,showBulkActions:()=>{h&&m(!0)},hideBulkActions:()=>{h&&m(!1)}}}(),g=u(()=>({searchQuery:n,setSearch:o,isPanelVisible:i,sortNotificationsBy:r,setSortBy:a,viewNotificationsBy:s,setViewBy:d,isBulkActionsVisible:m,showBulkActions:p,hideBulkActions:h}),[n,o,i,r,a,s,d,m,p,h]);return e(jl.Provider,{value:g,children:t})},NotificationsProvider:({children:t})=>{const{notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:l,allowedApplications:c,clearAll:d,clearAllOld:f,close:m,hidePanel:p,showPanel:h,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:C,selectAllNotifications:k,clearMany:N,snooze:S,snoozeMany:D,setState:x,setStates:E,setCount:I}=al(),M=u(()=>({notifications:n,notificationStacks:o,notificationsCount:i,configuration:r,settings:a,allApplications:s,allApps:l,allowedApplications:c,clearAll:d,clearAllOld:f,onClose:m,hidePanel:p,showPanel:h,saveSetting:g,saveFilter:v,saveAllFilter:y,isBulkActionsSupported:w,selectedNotifications:b,selectNotification:C,selectAllNotifications:k,clearMany:N,snooze:S,snoozeMany:D,setState:x,setStates:E,setCount:I}),[n,o,i,r,a,s,l,c,d,f,m,p,h,g,v,y,w,b,C,k,N,S,D,x,E,I]);return e(sl.Provider,{value:M,children:t})},Panel:function({components:t,settings:n,...o}){return e(Ll,{components:n,children:e(Tc,{components:t,children:e(Lc,{...o})})})},PanelBody:ec,PanelFooter:tc,PanelFooterButtonClearAll:oc,PanelFooterButtonClearAllOld:ic,PanelFooterButtons:nc,PanelHeader:zl,PanelHeaderCaptionTitle:Wl,SettingsAllowNotificationToasts:ul,SettingsAllowNotifications:cl,SettingsCloseNotificationOnClick:fl,SettingsGeneral:Zs,SettingsHideToastsAfter:gl,SettingsPanel:_l,SettingsPanelAutoHide:ml,SettingsPlacement:kl,SettingsPlacementPanel:Sl,SettingsPlacementToasts:Dl,SettingsShowNotificationBadge:dl,SettingsSnooze:xl,SettingsSnoozeDuration:El,SettingsStacking:vl,SettingsSubscribeAll:Ml,SettingsSubscribeApp:Pl,SettingsSubscribeMuteAll:Al,SettingsSubscribeMuteApp:Tl,SettingsSubscriptions:Il,SettingsToastStackBy:Cl,SettingsToastStacking:yl,Toasts:function({components:t,...n}){return e(_c,{components:t,children:e($c,{...n})})},useAddRemoveApps:tl,useHidePanelOnFocusLost:function(e=!0){const t=l(w),n=bi();return f(()=>{if(!t||!e||null===n||!n)return;const o=t.windows.my()?.onFocusChanged(e=>{e.isFocused||t.notifications.panel.hide().catch(e=>{console.error(\"Error hiding panel:\",e)})});return()=>o?.()},[t,n,e]),t},useHidePanelOnKeyUp:function(e=\"Escape\"){const{hidePanel:t}=ll();vi(e,t)},useNotificationStacking:nl,useNotificationsContext:ll,useNotificationsPanelContext:$l,usePanelWindowPlacement:Fc,useSelectNotifications:ol,useShowHidePanelWindow:function(e=!0){const t=l(w),n=t?.windows.my(),o=bi(),{isPanelVisible:i}=$l();return f(()=>{t&&n&&o&&(i?n.show().then(()=>{e&&n.focus().catch(e=>{console.error(\"Error focusing window:\",e)})}).catch(e=>console.error(\"Error showing window:\",e)):n.hide().catch(e=>console.error(\"Error hiding window:\",e)))},[t,n,o,i,e]),{myWindow:n}},useToastsWindowPlacement:jc});const Wc=n=>{const{General:o,Layouts:i,Downloads:r,System:a}=Zu();return t(Qo,{...n,children:[e(o,{}),e(i,{}),e(r,{}),e(a,{})]})},Vc=({title:n=\"General\",...o})=>{const{Theme:i,PinnedPosition:r,MinimizeToTray:a,ShowTutorialOnStartup:s}=Zu();return t(P,{title:n,...o,children:[e(i,{}),e(r,{}),e(a,{}),e(s,{})]})},Yc=(e=\"dark\")=>{switch(e){case\"dark\":return\"Dark\";case\"light\":return\"Light\";default:return e}},Uc=({className:n,title:o=\"Theme\",...i})=>{const{currentTheme:r,selectTheme:a}=Ci(),s=(()=>{const e=l(w),[t,n]=c([]);return f(()=>{e&&e.themes?.list().then(n).catch(console.warn)},[e]),t})();return t(\"div\",{className:N(\"flex jc-between ai-center\",n),\"data-testid\":\"theme-container\",...i,children:[e(\"label\",{className:\"io-text-clipper\",\"data-testid\":\"theme-label\",children:o}),t(X,{variant:\"light\",\"data-testid\":\"theme-dropdown\",children:[e(X.Button,{text:Yc(r?.name),\"data-testid\":\"theme-dropdown-button\"}),e(X.Content,{\"data-testid\":\"theme-dropdown-content\",children:e(X.List,{children:s.map(({name:t})=>e(X.Item,{onClick:()=>a(t),\"data-testid\":`theme-dropdown-item-${t}`,children:Yc(t)},t))})})]})]})},Kc=({prefKey:n,options:o,disabled:i,...r})=>{const{isLoading:a,value:s=\"Select option\",update:l}=xa({prefKey:n});return t(X,{variant:\"light\",disabled:a||i,...r,children:[e(X.Button,{children:s}),e(X.Content,{children:e(X.List,{children:o.map(t=>e(X.Item,{onClick:()=>(async e=>{if(e!==s)try{await l(e)}catch(e){console.error(\"Failed to update platform preference:\",e)}})(t),children:t},t))})})]})},Jc=({className:n,label:o=\"Pinned position\",...i})=>e(P,{className:N(\"io-block-list-gap\",n),...i,children:t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e(Kc,{className:n,prefKey:Ti,options:[\"Left\",\"Right\"],...i})]})}),qc=({prefKey:t,...n})=>{const{isLoading:o,value:i=!1,update:r}=xa({prefKey:t});return e(fi,{checked:i,disabled:o,onChange:e=>r(e.target.checked),...n})},Gc=({align:t=\"right\",label:n=\"Allow docking\",...o})=>e(qc,{align:t,label:n,prefKey:Oi,...o}),Qc=({align:t=\"right\",label:n=\"Minimize to tray\",...o})=>e(qc,{align:t,label:n,prefKey:Fi,...o}),Xc=({align:t=\"right\",label:n=\"Auto-close on starting apps and workspaces\",...o})=>e(qc,{align:t,label:n,prefKey:Li,disabled:!0,...o}),Zc=({align:t=\"right\",label:n=\"Show tutorial on startup\",...o})=>e(qc,{align:t,label:n,prefKey:Bi,...o}),eu=({title:n=\"Layouts\",...o})=>{const{LayoutsSaveCurrentOnExit:i,LayoutsShowDeletePrompt:r,LayoutsShowUnsavedChangesPrompt:a}=Zu();return t(P,{title:n,...o,children:[e(i,{}),e(a,{}),e(r,{})]})},tu=({align:t=\"right\",label:n=\"Restore last saved on startup\",...o})=>e(qc,{align:t,label:n,prefKey:Ri,...o}),nu=({align:t=\"right\",label:n=\"Save current on exit\",...o})=>e(qc,{align:t,label:n,prefKey:_i,...o}),ou=({align:t=\"right\",label:n=\"Show prompt for unsaved changes\",...o})=>e(qc,{align:t,label:n,prefKey:Hi,\"data-testid\":\"layouts-show-unsaved-changes-prompt-toggle-button\",...o}),iu=({align:t=\"right\",label:n=\"Show prompt for deleting\",...o})=>e(qc,{align:t,label:n,prefKey:ji,\"data-testid\":\"layouts-show-delete-prompt-toggle\",...o}),ru=({className:t,title:n=\"Downloads\",...o})=>{const{DownloadsLocation:i}=Zu();return e(P,{className:N(\"io-block-list-gap\",t),title:n,...o,children:e(i,{})})},au=({align:t=\"right\",label:n=\"Ask where to save each file before downloading\",...o})=>e(qc,{align:t,label:n,prefKey:$i,...o}),su=({className:n,label:o=\"Location\",...i})=>{const{configuration:{downloadFolder:r},setDownloadLocationWithDialog:a,isDownloadLocationDialogVisible:s,downloadLocationList:l}=ts();return t(P,{className:N(\"io-preferences-download-section\",n),...i,children:[t(\"div\",{className:\"flex jc-between ai-center\",children:[e(\"label\",{className:\"io-text-clipper\",children:o}),e(T,{text:\"Change\",onClick:a,disabled:s})]}),e(\"p\",{children:r??l?.[0]??\"Not set\"})]})},lu=({className:n,title:o=\"System\",...i})=>{const{SystemRestartSection:r,SystemShutdownSection:a}=Zu();return t(P,{className:N(\"io-block-list-gap\",n),title:o,...i,children:[e(r,{}),e(a,{})]})};var cu=[\"onChange\",\"onClose\",\"onDayCreate\",\"onDestroy\",\"onKeyDown\",\"onMonthChange\",\"onOpen\",\"onParseConfig\",\"onReady\",\"onValueUpdate\",\"onYearChange\",\"onPreCalendarPosition\"],uu={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:\"F j, Y\",altInput:!1,altInputClass:\"form-control input\",animate:\"object\"==typeof window&&-1===window.navigator.userAgent.indexOf(\"MSIE\"),ariaDateFormat:\"F j, Y\",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:\", \",dateFormat:\"Y-m-d\",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return\"undefined\"!=typeof console&&console.warn(e)},getWeek:function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:\"default\",minuteIncrement:5,mode:\"single\",monthSelectorType:\"dropdown\",nextArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},du={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return\"th\";switch(t%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",monthAriaLabel:\"Month\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},fu=function(e,t){return void 0===t&&(t=2),(\"000\"+e).slice(-1*t)},mu=function(e){return!0===e?1:0};function pu(e,t){var n;return function(){var o=this,i=arguments;clearTimeout(n),n=setTimeout(function(){return e.apply(o,i)},t)}}var hu=function(e){return e instanceof Array?e:[e]};function gu(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function vu(e,t,n){var o=window.document.createElement(e);return t=t||\"\",n=n||\"\",o.className=t,void 0!==n&&(o.textContent=n),o}function yu(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function wu(e,t){return t(e)?e:e.parentNode?wu(e.parentNode,t):void 0}function bu(e,t){var n=vu(\"div\",\"numInputWrapper\"),o=vu(\"input\",\"numInput \"+e),i=vu(\"span\",\"arrowUp\"),r=vu(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?o.type=\"number\":(o.type=\"text\",o.pattern=\"\\\\d*\"),void 0!==t)for(var a in t)o.setAttribute(a,t[a]);return n.appendChild(o),n.appendChild(i),n.appendChild(r),n}function Cu(e){try{return\"function\"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(t){return e.target}}var ku=function(){},Nu=function(e,t,n){return n.months[t?\"shorthand\":\"longhand\"][e]},Su={D:ku,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*mu(new RegExp(n.amPM[1],\"i\").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var o=parseInt(t),i=new Date(e.getFullYear(),0,2+7*(o-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+n.firstDayOfWeek),i},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours((e.getHours()>=12?12:0)+parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:ku,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:ku,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},Du={D:\"\",F:\"\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},xu={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[xu.w(e,t,n)]},F:function(e,t,n){return Nu(xu.n(e,t,n)-1,!1,t)},G:function(e,t,n){return fu(xu.h(e,t,n))},H:function(e){return fu(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[mu(e.getHours()>11)]},M:function(e,t){return Nu(e.getMonth(),!0,t)},S:function(e){return fu(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return fu(e.getFullYear(),4)},d:function(e){return fu(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return fu(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return fu(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},Eu=function(e){var t=e.config,n=void 0===t?uu:t,o=e.l10n,i=void 0===o?du:o,r=e.isMobile,a=void 0!==r&&r;return function(e,t,o){var r=o||i;return void 0===n.formatDate||a?t.split(\"\").map(function(t,o,i){return xu[t]&&\"\\\\\"!==i[o-1]?xu[t](e,r,n):\"\\\\\"!==t?t:\"\"}).join(\"\"):n.formatDate(e,t,r)}},Iu=function(e){var t=e.config,n=void 0===t?uu:t,o=e.l10n,i=void 0===o?du:o;return function(e,t,o,r){if(0===e||e){var a,s=r||i,l=e;if(e instanceof Date)a=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)a=new Date(e);else if(\"string\"==typeof e){var c=t||(n||uu).dateFormat,u=String(e).trim();if(\"today\"===u)a=new Date,o=!0;else if(n&&n.parseDate)a=n.parseDate(e,c);else if(/Z$/.test(u)||/GMT$/.test(u))a=new Date(e);else{for(var d=void 0,f=[],m=0,p=0,h=\"\";m<c.length;m++){var g=c[m],v=\"\\\\\"===g,y=\"\\\\\"===c[m-1]||v;if(Du[g]&&!y){h+=Du[g];var w=new RegExp(h).exec(e);w&&(d=!0)&&f[\"Y\"!==g?\"push\":\"unshift\"]({fn:Su[g],val:w[++p]})}else v||(h+=\".\")}a=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),f.forEach(function(e){var t=e.fn,n=e.val;return a=t(a,n,s)||a}),a=d?a:void 0}}if(a instanceof Date&&!isNaN(a.getTime()))return!0===o&&a.setHours(0,0,0,0),a;n.errorHandler(new Error(\"Invalid date provided: \"+l))}}};function Mu(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}var Pu=function(e,t,n){return 3600*e+60*t+n},Au=864e5;function Tu(e){var t=e.defaultHour,n=e.defaultMinute,o=e.defaultSeconds;if(void 0!==e.minDate){var i=e.minDate.getHours(),r=e.minDate.getMinutes(),a=e.minDate.getSeconds();t<i&&(t=i),t===i&&n<r&&(n=r),t===i&&n===r&&o<a&&(o=e.minDate.getSeconds())}if(void 0!==e.maxDate){var s=e.maxDate.getHours(),l=e.maxDate.getMinutes();(t=Math.min(t,s))===s&&(n=Math.min(l,n)),t===s&&n===l&&(o=e.maxDate.getSeconds())}return{hours:t,minutes:n,seconds:o}}\"function\"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)throw TypeError(\"Cannot convert undefined or null to object\");for(var o=function(t){t&&Object.keys(t).forEach(function(n){return e[n]=t[n]})},i=0,r=t;i<r.length;i++){o(r[i])}return e});var Ou=function(){return Ou=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ou.apply(this,arguments)},Fu=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var o=Array(e),i=0;for(t=0;t<n;t++)for(var r=arguments[t],a=0,s=r.length;a<s;a++,i++)o[i]=r[a];return o};function Lu(e,t){var n={config:Ou(Ou({},uu),Ru.defaultConfig),l10n:du};function o(){var e;return(null===(e=n.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function i(e){return e.bind(n)}function r(){var e=n.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame(function(){if(void 0!==n.calendarContainer&&(n.calendarContainer.style.visibility=\"hidden\",n.calendarContainer.style.display=\"block\"),void 0!==n.daysContainer){var t=(n.days.offsetWidth+1)*e.showMonths;n.daysContainer.style.width=t+\"px\",n.calendarContainer.style.width=t+(void 0!==n.weekWrapper?n.weekWrapper.offsetWidth:0)+\"px\",n.calendarContainer.style.removeProperty(\"visibility\"),n.calendarContainer.style.removeProperty(\"display\")}})}function a(e){if(0===n.selectedDates.length){var t=void 0===n.config.minDate||Mu(new Date,n.config.minDate)>=0?new Date:new Date(n.config.minDate.getTime()),o=Tu(n.config);t.setHours(o.hours,o.minutes,o.seconds,t.getMilliseconds()),n.selectedDates=[t],n.latestSelectedDateObj=t}void 0!==e&&\"blur\"!==e.type&&function(e){e.preventDefault();var t=\"keydown\"===e.type,o=Cu(e),i=o;void 0!==n.amPM&&o===n.amPM&&(n.amPM.textContent=n.l10n.amPM[mu(n.amPM.textContent===n.l10n.amPM[0])]);var r=parseFloat(i.getAttribute(\"min\")),a=parseFloat(i.getAttribute(\"max\")),s=parseFloat(i.getAttribute(\"step\")),l=parseInt(i.value,10),c=e.delta||(t?38===e.which?1:-1:0),u=l+s*c;if(void 0!==i.value&&2===i.value.length){var d=i===n.hourElement,f=i===n.minuteElement;u<r?(u=a+u+mu(!d)+(mu(d)&&mu(!n.amPM)),f&&h(void 0,-1,n.hourElement)):u>a&&(u=i===n.hourElement?u-a-mu(!n.amPM):r,f&&h(void 0,1,n.hourElement)),n.amPM&&d&&(1===s?u+l===23:Math.abs(u-l)>s)&&(n.amPM.textContent=n.l10n.amPM[mu(n.amPM.textContent===n.l10n.amPM[0])]),i.value=fu(u)}}(e);var i=n._input.value;s(),Z(),n._input.value!==i&&n._debouncedChange()}function s(){if(void 0!==n.hourElement&&void 0!==n.minuteElement){var e,t,o=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,i=(parseInt(n.minuteElement.value,10)||0)%60,r=void 0!==n.secondElement?(parseInt(n.secondElement.value,10)||0)%60:0;void 0!==n.amPM&&(e=o,t=n.amPM.textContent,o=e%12+12*mu(t===n.l10n.amPM[1]));var a=void 0!==n.config.minTime||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&0===Mu(n.latestSelectedDateObj,n.config.minDate,!0),s=void 0!==n.config.maxTime||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&0===Mu(n.latestSelectedDateObj,n.config.maxDate,!0);if(void 0!==n.config.maxTime&&void 0!==n.config.minTime&&n.config.minTime>n.config.maxTime){var l=Pu(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),u=Pu(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),d=Pu(o,i,r);if(d>u&&d<l){var f=function(e){var t=Math.floor(e/3600),n=(e-3600*t)/60;return[t,n,e-3600*t-60*n]}(l);o=f[0],i=f[1],r=f[2]}}else{if(s){var m=void 0!==n.config.maxTime?n.config.maxTime:n.config.maxDate;(o=Math.min(o,m.getHours()))===m.getHours()&&(i=Math.min(i,m.getMinutes())),i===m.getMinutes()&&(r=Math.min(r,m.getSeconds()))}if(a){var p=void 0!==n.config.minTime?n.config.minTime:n.config.minDate;(o=Math.max(o,p.getHours()))===p.getHours()&&i<p.getMinutes()&&(i=p.getMinutes()),i===p.getMinutes()&&(r=Math.max(r,p.getSeconds()))}}c(o,i,r)}}function l(e){var t=e||n.latestSelectedDateObj;t&&t instanceof Date&&c(t.getHours(),t.getMinutes(),t.getSeconds())}function c(e,t,o){void 0!==n.latestSelectedDateObj&&n.latestSelectedDateObj.setHours(e%24,t,o||0,0),n.hourElement&&n.minuteElement&&!n.isMobile&&(n.hourElement.value=fu(n.config.time_24hr?e:(12+e)%12+12*mu(e%12==0)),n.minuteElement.value=fu(t),void 0!==n.amPM&&(n.amPM.textContent=n.l10n.amPM[mu(e>=12)]),void 0!==n.secondElement&&(n.secondElement.value=fu(o)))}function u(e){var t=Cu(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(n.toString()))&&P(n)}function d(e,t,o,i){return t instanceof Array?t.forEach(function(t){return d(e,t,o,i)}):e instanceof Array?e.forEach(function(e){return d(e,t,o,i)}):(e.addEventListener(t,o,i),void n._handlers.push({remove:function(){return e.removeEventListener(t,o,i)}}))}function f(){J(\"onChange\")}function m(e,t){var o=void 0!==e?n.parseDate(e):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate<n.now?n.config.maxDate:n.now),i=n.currentYear,r=n.currentMonth;try{void 0!==o&&(n.currentYear=o.getFullYear(),n.currentMonth=o.getMonth())}catch(e){e.message=\"Invalid date supplied: \"+o,n.config.errorHandler(e)}t&&n.currentYear!==i&&(J(\"onYearChange\"),k()),!t||n.currentYear===i&&n.currentMonth===r||J(\"onMonthChange\"),n.redraw()}function p(e){var t=Cu(e);~t.className.indexOf(\"arrow\")&&h(e,t.classList.contains(\"arrowUp\")?1:-1)}function h(e,t,n){var o=e&&Cu(e),i=n||o&&o.parentNode&&o.parentNode.firstChild,r=q(\"increment\");r.delta=t,i&&i.dispatchEvent(r)}function g(e,t,o,i){var r=A(t,!0),a=vu(\"span\",e,t.getDate().toString());return a.dateObj=t,a.$i=i,a.setAttribute(\"aria-label\",n.formatDate(t,n.config.ariaDateFormat)),-1===e.indexOf(\"hidden\")&&0===Mu(t,n.now)&&(n.todayDateElem=a,a.classList.add(\"today\"),a.setAttribute(\"aria-current\",\"date\")),r?(a.tabIndex=-1,G(t)&&(a.classList.add(\"selected\"),n.selectedDateElem=a,\"range\"===n.config.mode&&(gu(a,\"startRange\",n.selectedDates[0]&&0===Mu(t,n.selectedDates[0],!0)),gu(a,\"endRange\",n.selectedDates[1]&&0===Mu(t,n.selectedDates[1],!0)),\"nextMonthDay\"===e&&a.classList.add(\"inRange\")))):a.classList.add(\"flatpickr-disabled\"),\"range\"===n.config.mode&&function(e){return!(\"range\"!==n.config.mode||n.selectedDates.length<2)&&(Mu(e,n.selectedDates[0])>=0&&Mu(e,n.selectedDates[1])<=0)}(t)&&!G(t)&&a.classList.add(\"inRange\"),n.weekNumbers&&1===n.config.showMonths&&\"prevMonthDay\"!==e&&i%7==6&&n.weekNumbers.insertAdjacentHTML(\"beforeend\",\"<span class='flatpickr-day'>\"+n.config.getWeek(t)+\"</span>\"),J(\"onDayCreate\",a),a}function v(e){e.focus(),\"range\"===n.config.mode&&L(e)}function y(e){for(var t=e>0?0:n.config.showMonths-1,o=e>0?n.config.showMonths:-1,i=t;i!=o;i+=e)for(var r=n.daysContainer.children[i],a=e>0?0:r.children.length-1,s=e>0?r.children.length:-1,l=a;l!=s;l+=e){var c=r.children[l];if(-1===c.className.indexOf(\"hidden\")&&A(c.dateObj))return c}}function w(e,t){var i=o(),r=T(i||document.body),a=void 0!==e?e:r?i:void 0!==n.selectedDateElem&&T(n.selectedDateElem)?n.selectedDateElem:void 0!==n.todayDateElem&&T(n.todayDateElem)?n.todayDateElem:y(t>0?1:-1);void 0===a?n._input.focus():r?function(e,t){for(var o=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():n.currentMonth,i=t>0?n.config.showMonths:-1,r=t>0?1:-1,a=o-n.currentMonth;a!=i;a+=r)for(var s=n.daysContainer.children[a],l=o-n.currentMonth===a?e.$i+t:t<0?s.children.length-1:0,c=s.children.length,u=l;u>=0&&u<c&&u!=(t>0?c:-1);u+=r){var d=s.children[u];if(-1===d.className.indexOf(\"hidden\")&&A(d.dateObj)&&Math.abs(e.$i-u)>=Math.abs(t))return v(d)}n.changeMonth(r),w(y(r),0)}(a,t):v(a)}function b(e,t){for(var o=(new Date(e,t,1).getDay()-n.l10n.firstDayOfWeek+7)%7,i=n.utils.getDaysInMonth((t-1+12)%12,e),r=n.utils.getDaysInMonth(t,e),a=window.document.createDocumentFragment(),s=n.config.showMonths>1,l=s?\"prevMonthDay hidden\":\"prevMonthDay\",c=s?\"nextMonthDay hidden\":\"nextMonthDay\",u=i+1-o,d=0;u<=i;u++,d++)a.appendChild(g(\"flatpickr-day \"+l,new Date(e,t-1,u),0,d));for(u=1;u<=r;u++,d++)a.appendChild(g(\"flatpickr-day\",new Date(e,t,u),0,d));for(var f=r+1;f<=42-o&&(1===n.config.showMonths||d%7!=0);f++,d++)a.appendChild(g(\"flatpickr-day \"+c,new Date(e,t+1,f%r),0,d));var m=vu(\"div\",\"dayContainer\");return m.appendChild(a),m}function C(){if(void 0!==n.daysContainer){yu(n.daysContainer),n.weekNumbers&&yu(n.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<n.config.showMonths;t++){var o=new Date(n.currentYear,n.currentMonth,1);o.setMonth(n.currentMonth+t),e.appendChild(b(o.getFullYear(),o.getMonth()))}n.daysContainer.appendChild(e),n.days=n.daysContainer.firstChild,\"range\"===n.config.mode&&1===n.selectedDates.length&&L()}}function k(){if(!(n.config.showMonths>1||\"dropdown\"!==n.config.monthSelectorType)){var e=function(e){return!(void 0!==n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&e<n.config.minDate.getMonth())&&!(void 0!==n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()&&e>n.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML=\"\";for(var t=0;t<12;t++)if(e(t)){var o=vu(\"option\",\"flatpickr-monthDropdown-month\");o.value=new Date(n.currentYear,t).getMonth().toString(),o.textContent=Nu(t,n.config.shorthandCurrentMonth,n.l10n),o.tabIndex=-1,n.currentMonth===t&&(o.selected=!0),n.monthsDropdownContainer.appendChild(o)}}}function N(){var e,t=vu(\"div\",\"flatpickr-month\"),o=window.document.createDocumentFragment();n.config.showMonths>1||\"static\"===n.config.monthSelectorType?e=vu(\"span\",\"cur-month\"):(n.monthsDropdownContainer=vu(\"select\",\"flatpickr-monthDropdown-months\"),n.monthsDropdownContainer.setAttribute(\"aria-label\",n.l10n.monthAriaLabel),d(n.monthsDropdownContainer,\"change\",function(e){var t=Cu(e),o=parseInt(t.value,10);n.changeMonth(o-n.currentMonth),J(\"onMonthChange\")}),k(),e=n.monthsDropdownContainer);var i=bu(\"cur-year\",{tabindex:\"-1\"}),r=i.getElementsByTagName(\"input\")[0];r.setAttribute(\"aria-label\",n.l10n.yearAriaLabel),n.config.minDate&&r.setAttribute(\"min\",n.config.minDate.getFullYear().toString()),n.config.maxDate&&(r.setAttribute(\"max\",n.config.maxDate.getFullYear().toString()),r.disabled=!!n.config.minDate&&n.config.minDate.getFullYear()===n.config.maxDate.getFullYear());var a=vu(\"div\",\"flatpickr-current-month\");return a.appendChild(e),a.appendChild(i),o.appendChild(a),t.appendChild(o),{container:t,yearElement:r,monthElement:e}}function S(){yu(n.monthNav),n.monthNav.appendChild(n.prevMonthNav),n.config.showMonths&&(n.yearElements=[],n.monthElements=[]);for(var e=n.config.showMonths;e--;){var t=N();n.yearElements.push(t.yearElement),n.monthElements.push(t.monthElement),n.monthNav.appendChild(t.container)}n.monthNav.appendChild(n.nextMonthNav)}function D(){n.weekdayContainer?yu(n.weekdayContainer):n.weekdayContainer=vu(\"div\",\"flatpickr-weekdays\");for(var e=n.config.showMonths;e--;){var t=vu(\"div\",\"flatpickr-weekdaycontainer\");n.weekdayContainer.appendChild(t)}return x(),n.weekdayContainer}function x(){if(n.weekdayContainer){var e=n.l10n.firstDayOfWeek,t=Fu(n.l10n.weekdays.shorthand);e>0&&e<t.length&&(t=Fu(t.splice(e,t.length),t.splice(0,e)));for(var o=n.config.showMonths;o--;)n.weekdayContainer.children[o].innerHTML=\"\\n <span class='flatpickr-weekday'>\\n \"+t.join(\"</span><span class='flatpickr-weekday'>\")+\"\\n </span>\\n \"}}function E(e,t){void 0===t&&(t=!0);var o=t?e:e-n.currentMonth;o<0&&!0===n._hidePrevMonthArrow||o>0&&!0===n._hideNextMonthArrow||(n.currentMonth+=o,(n.currentMonth<0||n.currentMonth>11)&&(n.currentYear+=n.currentMonth>11?1:-1,n.currentMonth=(n.currentMonth+12)%12,J(\"onYearChange\"),k()),C(),J(\"onMonthChange\"),Q())}function I(e){return n.calendarContainer.contains(e)}function M(e){if(n.isOpen&&!n.config.inline){var t=Cu(e),o=I(t),i=!(t===n.input||t===n.altInput||n.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(n.input)||~e.path.indexOf(n.altInput)))&&!o&&!I(e.relatedTarget),r=!n.config.ignoredFocusElements.some(function(e){return e.contains(t)});i&&r&&(n.config.allowInput&&n.setDate(n._input.value,!1,n.config.altInput?n.config.altFormat:n.config.dateFormat),void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement&&\"\"!==n.input.value&&void 0!==n.input.value&&a(),n.close(),n.config&&\"range\"===n.config.mode&&1===n.selectedDates.length&&n.clear(!1))}}function P(e){if(!(!e||n.config.minDate&&e<n.config.minDate.getFullYear()||n.config.maxDate&&e>n.config.maxDate.getFullYear())){var t=e,o=n.currentYear!==t;n.currentYear=t||n.currentYear,n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth=Math.min(n.config.maxDate.getMonth(),n.currentMonth):n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&(n.currentMonth=Math.max(n.config.minDate.getMonth(),n.currentMonth)),o&&(n.redraw(),J(\"onYearChange\"),k())}}function A(e,t){var o;void 0===t&&(t=!0);var i=n.parseDate(e,void 0,t);if(n.config.minDate&&i&&Mu(i,n.config.minDate,void 0!==t?t:!n.minDateHasTime)<0||n.config.maxDate&&i&&Mu(i,n.config.maxDate,void 0!==t?t:!n.maxDateHasTime)>0)return!1;if(!n.config.enable&&0===n.config.disable.length)return!0;if(void 0===i)return!1;for(var r=!!n.config.enable,a=null!==(o=n.config.enable)&&void 0!==o?o:n.config.disable,s=0,l=void 0;s<a.length;s++){if(\"function\"==typeof(l=a[s])&&l(i))return r;if(l instanceof Date&&void 0!==i&&l.getTime()===i.getTime())return r;if(\"string\"==typeof l){var c=n.parseDate(l,void 0,!0);return c&&c.getTime()===i.getTime()?r:!r}if(\"object\"==typeof l&&void 0!==i&&l.from&&l.to&&i.getTime()>=l.from.getTime()&&i.getTime()<=l.to.getTime())return r}return!r}function T(e){return void 0!==n.daysContainer&&(-1===e.className.indexOf(\"hidden\")&&-1===e.className.indexOf(\"flatpickr-disabled\")&&n.daysContainer.contains(e))}function O(e){var t=e.target===n._input,o=n._input.value.trimEnd()!==X();!t||!o||e.relatedTarget&&I(e.relatedTarget)||n.setDate(n._input.value,!0,e.target===n.altInput?n.config.altFormat:n.config.dateFormat)}function F(t){var i=Cu(t),r=n.config.wrap?e.contains(i):i===n._input,l=n.config.allowInput,c=n.isOpen&&(!l||!r),u=n.config.inline&&r&&!l;if(13===t.keyCode&&r){if(l)return n.setDate(n._input.value,!0,i===n.altInput?n.config.altFormat:n.config.dateFormat),n.close(),i.blur();n.open()}else if(I(i)||c||u){var d=!!n.timeContainer&&n.timeContainer.contains(i);switch(t.keyCode){case 13:d?(t.preventDefault(),a(),z()):W(t);break;case 27:t.preventDefault(),z();break;case 8:case 46:r&&!n.config.allowInput&&(t.preventDefault(),n.clear());break;case 37:case 39:if(d||r)n.hourElement&&n.hourElement.focus();else{t.preventDefault();var f=o();if(void 0!==n.daysContainer&&(!1===l||f&&T(f))){var m=39===t.keyCode?1:-1;t.ctrlKey?(t.stopPropagation(),E(m),w(y(1),0)):w(void 0,m)}}break;case 38:case 40:t.preventDefault();var p=40===t.keyCode?1:-1;n.daysContainer&&void 0!==i.$i||i===n.input||i===n.altInput?t.ctrlKey?(t.stopPropagation(),P(n.currentYear-p),w(y(1),0)):d||w(void 0,7*p):i===n.currentYearElement?P(n.currentYear-p):n.config.enableTime&&(!d&&n.hourElement&&n.hourElement.focus(),a(t),n._debouncedChange());break;case 9:if(d){var h=[n.hourElement,n.minuteElement,n.secondElement,n.amPM].concat(n.pluginElements).filter(function(e){return e}),g=h.indexOf(i);if(-1!==g){var v=h[g+(t.shiftKey?-1:1)];t.preventDefault(),(v||n._input).focus()}}else!n.config.noCalendar&&n.daysContainer&&n.daysContainer.contains(i)&&t.shiftKey&&(t.preventDefault(),n._input.focus())}}if(void 0!==n.amPM&&i===n.amPM)switch(t.key){case n.l10n.amPM[0].charAt(0):case n.l10n.amPM[0].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[0],s(),Z();break;case n.l10n.amPM[1].charAt(0):case n.l10n.amPM[1].charAt(0).toLowerCase():n.amPM.textContent=n.l10n.amPM[1],s(),Z()}(r||I(i))&&J(\"onKeyDown\",t)}function L(e,t){if(void 0===t&&(t=\"flatpickr-day\"),1===n.selectedDates.length&&(!e||e.classList.contains(t)&&!e.classList.contains(\"flatpickr-disabled\"))){for(var o=e?e.dateObj.getTime():n.days.firstElementChild.dateObj.getTime(),i=n.parseDate(n.selectedDates[0],void 0,!0).getTime(),r=Math.min(o,n.selectedDates[0].getTime()),a=Math.max(o,n.selectedDates[0].getTime()),s=!1,l=0,c=0,u=r;u<a;u+=Au)A(new Date(u),!0)||(s=s||u>r&&u<a,u<i&&(!l||u>l)?l=u:u>i&&(!c||u<c)&&(c=u));Array.from(n.rContainer.querySelectorAll(\"*:nth-child(-n+\"+n.config.showMonths+\") > .\"+t)).forEach(function(t){var r,a,u,d=t.dateObj.getTime(),f=l>0&&d<l||c>0&&d>c;if(f)return t.classList.add(\"notAllowed\"),void[\"inRange\",\"startRange\",\"endRange\"].forEach(function(e){t.classList.remove(e)});s&&!f||([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach(function(e){t.classList.remove(e)}),void 0!==e&&(e.classList.add(o<=n.selectedDates[0].getTime()?\"startRange\":\"endRange\"),i<o&&d===i?t.classList.add(\"startRange\"):i>o&&d===i&&t.classList.add(\"endRange\"),d>=l&&(0===c||d<=c)&&(a=i,u=o,(r=d)>Math.min(a,u)&&r<Math.max(a,u))&&t.classList.add(\"inRange\")))})}}function B(){!n.isOpen||n.config.static||n.config.inline||j()}function R(e){return function(t){var o=n.config[\"_\"+e+\"Date\"]=n.parseDate(t,n.config.dateFormat),i=n.config[\"_\"+(\"min\"===e?\"max\":\"min\")+\"Date\"];void 0!==o&&(n[\"min\"===e?\"minDateHasTime\":\"maxDateHasTime\"]=o.getHours()>0||o.getMinutes()>0||o.getSeconds()>0),n.selectedDates&&(n.selectedDates=n.selectedDates.filter(function(e){return A(e)}),n.selectedDates.length||\"min\"!==e||l(o),Z()),n.daysContainer&&($(),void 0!==o?n.currentYearElement[e]=o.getFullYear().toString():n.currentYearElement.removeAttribute(e),n.currentYearElement.disabled=!!i&&void 0!==o&&i.getFullYear()===o.getFullYear())}}function _(){return n.config.wrap?e.querySelector(\"[data-input]\"):e}function H(){\"object\"!=typeof n.config.locale&&void 0===Ru.l10ns[n.config.locale]&&n.config.errorHandler(new Error(\"flatpickr: invalid locale \"+n.config.locale)),n.l10n=Ou(Ou({},Ru.l10ns.default),\"object\"==typeof n.config.locale?n.config.locale:\"default\"!==n.config.locale?Ru.l10ns[n.config.locale]:void 0),Du.D=\"(\"+n.l10n.weekdays.shorthand.join(\"|\")+\")\",Du.l=\"(\"+n.l10n.weekdays.longhand.join(\"|\")+\")\",Du.M=\"(\"+n.l10n.months.shorthand.join(\"|\")+\")\",Du.F=\"(\"+n.l10n.months.longhand.join(\"|\")+\")\",Du.K=\"(\"+n.l10n.amPM[0]+\"|\"+n.l10n.amPM[1]+\"|\"+n.l10n.amPM[0].toLowerCase()+\"|\"+n.l10n.amPM[1].toLowerCase()+\")\",void 0===Ou(Ou({},t),JSON.parse(JSON.stringify(e.dataset||{}))).time_24hr&&void 0===Ru.defaultConfig.time_24hr&&(n.config.time_24hr=n.l10n.time_24hr),n.formatDate=Eu(n),n.parseDate=Iu({config:n.config,l10n:n.l10n})}function j(e){if(\"function\"!=typeof n.config.position){if(void 0!==n.calendarContainer){J(\"onPreCalendarPosition\");var t=e||n._positionElement,o=Array.prototype.reduce.call(n.calendarContainer.children,function(e,t){return e+t.offsetHeight},0),i=n.calendarContainer.offsetWidth,r=n.config.position.split(\" \"),a=r[0],s=r.length>1?r[1]:null,l=t.getBoundingClientRect(),c=window.innerHeight-l.bottom,u=\"above\"===a||\"below\"!==a&&c<o&&l.top>o,d=window.pageYOffset+l.top+(u?-o-2:t.offsetHeight+2);if(gu(n.calendarContainer,\"arrowTop\",!u),gu(n.calendarContainer,\"arrowBottom\",u),!n.config.inline){var f=window.pageXOffset+l.left,m=!1,p=!1;\"center\"===s?(f-=(i-l.width)/2,m=!0):\"right\"===s&&(f-=i-l.width,p=!0),gu(n.calendarContainer,\"arrowLeft\",!m&&!p),gu(n.calendarContainer,\"arrowCenter\",m),gu(n.calendarContainer,\"arrowRight\",p);var h=window.document.body.offsetWidth-(window.pageXOffset+l.right),g=f+i>window.document.body.offsetWidth,v=h+i>window.document.body.offsetWidth;if(gu(n.calendarContainer,\"rightMost\",g),!n.config.static)if(n.calendarContainer.style.top=d+\"px\",g)if(v){var y=function(){for(var e=null,t=0;t<document.styleSheets.length;t++){var n=document.styleSheets[t];if(n.cssRules){try{n.cssRules}catch(e){continue}e=n;break}}return null!=e?e:(o=document.createElement(\"style\"),document.head.appendChild(o),o.sheet);var o}();if(void 0===y)return;var w=window.document.body.offsetWidth,b=Math.max(0,w/2-i/2),C=y.cssRules.length,k=\"{left:\"+l.left+\"px;right:auto;}\";gu(n.calendarContainer,\"rightMost\",!1),gu(n.calendarContainer,\"centerMost\",!0),y.insertRule(\".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after\"+k,C),n.calendarContainer.style.left=b+\"px\",n.calendarContainer.style.right=\"auto\"}else n.calendarContainer.style.left=\"auto\",n.calendarContainer.style.right=h+\"px\";else n.calendarContainer.style.left=f+\"px\",n.calendarContainer.style.right=\"auto\"}}}else n.config.position(n,e)}function $(){n.config.noCalendar||n.isMobile||(k(),Q(),C())}function z(){n._input.focus(),-1!==window.navigator.userAgent.indexOf(\"MSIE\")||void 0!==navigator.msMaxTouchPoints?setTimeout(n.close,0):n.close()}function W(e){e.preventDefault(),e.stopPropagation();var t=wu(Cu(e),function(e){return e.classList&&e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\")&&!e.classList.contains(\"notAllowed\")});if(void 0!==t){var o=t,i=n.latestSelectedDateObj=new Date(o.dateObj.getTime()),r=(i.getMonth()<n.currentMonth||i.getMonth()>n.currentMonth+n.config.showMonths-1)&&\"range\"!==n.config.mode;if(n.selectedDateElem=o,\"single\"===n.config.mode)n.selectedDates=[i];else if(\"multiple\"===n.config.mode){var a=G(i);a?n.selectedDates.splice(parseInt(a),1):n.selectedDates.push(i)}else\"range\"===n.config.mode&&(2===n.selectedDates.length&&n.clear(!1,!1),n.latestSelectedDateObj=i,n.selectedDates.push(i),0!==Mu(i,n.selectedDates[0],!0)&&n.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if(s(),r){var l=n.currentYear!==i.getFullYear();n.currentYear=i.getFullYear(),n.currentMonth=i.getMonth(),l&&(J(\"onYearChange\"),k()),J(\"onMonthChange\")}if(Q(),C(),Z(),r||\"range\"===n.config.mode||1!==n.config.showMonths?void 0!==n.selectedDateElem&&void 0===n.hourElement&&n.selectedDateElem&&n.selectedDateElem.focus():v(o),void 0!==n.hourElement&&void 0!==n.hourElement&&n.hourElement.focus(),n.config.closeOnSelect){var c=\"single\"===n.config.mode&&!n.config.enableTime,u=\"range\"===n.config.mode&&2===n.selectedDates.length&&!n.config.enableTime;(c||u)&&z()}f()}}n.parseDate=Iu({config:n.config,l10n:n.l10n}),n._handlers=[],n.pluginElements=[],n.loadedPlugins=[],n._bind=d,n._setHoursFromDate=l,n._positionCalendar=j,n.changeMonth=E,n.changeYear=P,n.clear=function(e,t){void 0===e&&(e=!0);void 0===t&&(t=!0);n.input.value=\"\",void 0!==n.altInput&&(n.altInput.value=\"\");void 0!==n.mobileInput&&(n.mobileInput.value=\"\");n.selectedDates=[],n.latestSelectedDateObj=void 0,!0===t&&(n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth());if(!0===n.config.enableTime){var o=Tu(n.config);c(o.hours,o.minutes,o.seconds)}n.redraw(),e&&J(\"onChange\")},n.close=function(){n.isOpen=!1,n.isMobile||(void 0!==n.calendarContainer&&n.calendarContainer.classList.remove(\"open\"),void 0!==n._input&&n._input.classList.remove(\"active\"));J(\"onClose\")},n.onMouseOver=L,n._createElement=vu,n.createDay=g,n.destroy=function(){void 0!==n.config&&J(\"onDestroy\");for(var e=n._handlers.length;e--;)n._handlers[e].remove();if(n._handlers=[],n.mobileInput)n.mobileInput.parentNode&&n.mobileInput.parentNode.removeChild(n.mobileInput),n.mobileInput=void 0;else if(n.calendarContainer&&n.calendarContainer.parentNode)if(n.config.static&&n.calendarContainer.parentNode){var t=n.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else n.calendarContainer.parentNode.removeChild(n.calendarContainer);n.altInput&&(n.input.type=\"text\",n.altInput.parentNode&&n.altInput.parentNode.removeChild(n.altInput),delete n.altInput);n.input&&(n.input.type=n.input._type,n.input.classList.remove(\"flatpickr-input\"),n.input.removeAttribute(\"readonly\"));[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach(function(e){try{delete n[e]}catch(e){}})},n.isEnabled=A,n.jumpToDate=m,n.updateValue=Z,n.open=function(e,t){void 0===t&&(t=n._positionElement);if(!0===n.isMobile){if(e){e.preventDefault();var o=Cu(e);o&&o.blur()}return void 0!==n.mobileInput&&(n.mobileInput.focus(),n.mobileInput.click()),void J(\"onOpen\")}if(n._input.disabled||n.config.inline)return;var i=n.isOpen;n.isOpen=!0,i||(n.calendarContainer.classList.add(\"open\"),n._input.classList.add(\"active\"),J(\"onOpen\"),j(t));!0===n.config.enableTime&&!0===n.config.noCalendar&&(!1!==n.config.allowInput||void 0!==e&&n.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return n.hourElement.select()},50))},n.redraw=$,n.set=function(e,t){if(null!==e&&\"object\"==typeof e)for(var o in Object.assign(n.config,e),e)void 0!==V[o]&&V[o].forEach(function(e){return e()});else n.config[e]=t,void 0!==V[e]?V[e].forEach(function(e){return e()}):cu.indexOf(e)>-1&&(n.config[e]=hu(t));n.redraw(),Z(!0)},n.setDate=function(e,t,o){void 0===t&&(t=!1);void 0===o&&(o=n.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return n.clear(t);Y(e,o),n.latestSelectedDateObj=n.selectedDates[n.selectedDates.length-1],n.redraw(),m(void 0,t),l(),0===n.selectedDates.length&&n.clear(!1);Z(t),t&&J(\"onChange\")},n.toggle=function(e){if(!0===n.isOpen)return n.close();n.open(e)};var V={locale:[H,x],showMonths:[S,r,D],minDate:[m],maxDate:[m],positionElement:[K],clickOpens:[function(){!0===n.config.clickOpens?(d(n._input,\"focus\",n.open),d(n._input,\"click\",n.open)):(n._input.removeEventListener(\"focus\",n.open),n._input.removeEventListener(\"click\",n.open))}]};function Y(e,t){var o=[];if(e instanceof Array)o=e.map(function(e){return n.parseDate(e,t)});else if(e instanceof Date||\"number\"==typeof e)o=[n.parseDate(e,t)];else if(\"string\"==typeof e)switch(n.config.mode){case\"single\":case\"time\":o=[n.parseDate(e,t)];break;case\"multiple\":o=e.split(n.config.conjunction).map(function(e){return n.parseDate(e,t)});break;case\"range\":o=e.split(n.l10n.rangeSeparator).map(function(e){return n.parseDate(e,t)})}else n.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));n.selectedDates=n.config.allowInvalidPreload?o:o.filter(function(e){return e instanceof Date&&A(e,!1)}),\"range\"===n.config.mode&&n.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()})}function U(e){return e.slice().map(function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?n.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:n.parseDate(e.from,void 0),to:n.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function K(){n._positionElement=n.config.positionElement||n._input}function J(e,t){if(void 0!==n.config){var o=n.config[e];if(void 0!==o&&o.length>0)for(var i=0;o[i]&&i<o.length;i++)o[i](n.selectedDates,n.input.value,n,t);\"onChange\"===e&&(n.input.dispatchEvent(q(\"change\")),n.input.dispatchEvent(q(\"input\")))}}function q(e){var t=document.createEvent(\"Event\");return t.initEvent(e,!0,!0),t}function G(e){for(var t=0;t<n.selectedDates.length;t++){var o=n.selectedDates[t];if(o instanceof Date&&0===Mu(o,e))return\"\"+t}return!1}function Q(){n.config.noCalendar||n.isMobile||!n.monthNav||(n.yearElements.forEach(function(e,t){var o=new Date(n.currentYear,n.currentMonth,1);o.setMonth(n.currentMonth+t),n.config.showMonths>1||\"static\"===n.config.monthSelectorType?n.monthElements[t].textContent=Nu(o.getMonth(),n.config.shorthandCurrentMonth,n.l10n)+\" \":n.monthsDropdownContainer.value=o.getMonth().toString(),e.value=o.getFullYear().toString()}),n._hidePrevMonthArrow=void 0!==n.config.minDate&&(n.currentYear===n.config.minDate.getFullYear()?n.currentMonth<=n.config.minDate.getMonth():n.currentYear<n.config.minDate.getFullYear()),n._hideNextMonthArrow=void 0!==n.config.maxDate&&(n.currentYear===n.config.maxDate.getFullYear()?n.currentMonth+1>n.config.maxDate.getMonth():n.currentYear>n.config.maxDate.getFullYear()))}function X(e){var t=e||(n.config.altInput?n.config.altFormat:n.config.dateFormat);return n.selectedDates.map(function(e){return n.formatDate(e,t)}).filter(function(e,t,o){return\"range\"!==n.config.mode||n.config.enableTime||o.indexOf(e)===t}).join(\"range\"!==n.config.mode?n.config.conjunction:n.l10n.rangeSeparator)}function Z(e){void 0===e&&(e=!0),void 0!==n.mobileInput&&n.mobileFormatStr&&(n.mobileInput.value=void 0!==n.latestSelectedDateObj?n.formatDate(n.latestSelectedDateObj,n.mobileFormatStr):\"\"),n.input.value=X(n.config.dateFormat),void 0!==n.altInput&&(n.altInput.value=X(n.config.altFormat)),!1!==e&&J(\"onValueUpdate\")}function ee(e){var t=Cu(e),o=n.prevMonthNav.contains(t),i=n.nextMonthNav.contains(t);o||i?E(o?-1:1):n.yearElements.indexOf(t)>=0?t.select():t.classList.contains(\"arrowUp\")?n.changeYear(n.currentYear+1):t.classList.contains(\"arrowDown\")&&n.changeYear(n.currentYear-1)}return function(){n.element=n.input=e,n.isOpen=!1,function(){var o=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],r=Ou(Ou({},JSON.parse(JSON.stringify(e.dataset||{}))),t),a={};n.config.parseDate=r.parseDate,n.config.formatDate=r.formatDate,Object.defineProperty(n.config,\"enable\",{get:function(){return n.config._enable},set:function(e){n.config._enable=U(e)}}),Object.defineProperty(n.config,\"disable\",{get:function(){return n.config._disable},set:function(e){n.config._disable=U(e)}});var s=\"time\"===r.mode;if(!r.dateFormat&&(r.enableTime||s)){var l=Ru.defaultConfig.dateFormat||uu.dateFormat;a.dateFormat=r.noCalendar||s?\"H:i\"+(r.enableSeconds?\":S\":\"\"):l+\" H:i\"+(r.enableSeconds?\":S\":\"\")}if(r.altInput&&(r.enableTime||s)&&!r.altFormat){var c=Ru.defaultConfig.altFormat||uu.altFormat;a.altFormat=r.noCalendar||s?\"h:i\"+(r.enableSeconds?\":S K\":\" K\"):c+\" h:i\"+(r.enableSeconds?\":S\":\"\")+\" K\"}Object.defineProperty(n.config,\"minDate\",{get:function(){return n.config._minDate},set:R(\"min\")}),Object.defineProperty(n.config,\"maxDate\",{get:function(){return n.config._maxDate},set:R(\"max\")});var u=function(e){return function(t){n.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=n.parseDate(t,\"H:i:S\")}};Object.defineProperty(n.config,\"minTime\",{get:function(){return n.config._minTime},set:u(\"min\")}),Object.defineProperty(n.config,\"maxTime\",{get:function(){return n.config._maxTime},set:u(\"max\")}),\"time\"===r.mode&&(n.config.noCalendar=!0,n.config.enableTime=!0);Object.assign(n.config,a,r);for(var d=0;d<o.length;d++)n.config[o[d]]=!0===n.config[o[d]]||\"true\"===n.config[o[d]];cu.filter(function(e){return void 0!==n.config[e]}).forEach(function(e){n.config[e]=hu(n.config[e]||[]).map(i)}),n.isMobile=!n.config.disableMobile&&!n.config.inline&&\"single\"===n.config.mode&&!n.config.disable.length&&!n.config.enable&&!n.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(d=0;d<n.config.plugins.length;d++){var f=n.config.plugins[d](n)||{};for(var m in f)cu.indexOf(m)>-1?n.config[m]=hu(f[m]).map(i).concat(n.config[m]):void 0===r[m]&&(n.config[m]=f[m])}r.altInputClass||(n.config.altInputClass=_().className+\" \"+n.config.altInputClass);J(\"onParseConfig\")}(),H(),function(){if(n.input=_(),!n.input)return void n.config.errorHandler(new Error(\"Invalid input element specified\"));n.input._type=n.input.type,n.input.type=\"text\",n.input.classList.add(\"flatpickr-input\"),n._input=n.input,n.config.altInput&&(n.altInput=vu(n.input.nodeName,n.config.altInputClass),n._input=n.altInput,n.altInput.placeholder=n.input.placeholder,n.altInput.disabled=n.input.disabled,n.altInput.required=n.input.required,n.altInput.tabIndex=n.input.tabIndex,n.altInput.type=\"text\",n.input.setAttribute(\"type\",\"hidden\"),!n.config.static&&n.input.parentNode&&n.input.parentNode.insertBefore(n.altInput,n.input.nextSibling));n.config.allowInput||n._input.setAttribute(\"readonly\",\"readonly\");K()}(),function(){n.selectedDates=[],n.now=n.parseDate(n.config.now)||new Date;var e=n.config.defaultDate||(\"INPUT\"!==n.input.nodeName&&\"TEXTAREA\"!==n.input.nodeName||!n.input.placeholder||n.input.value!==n.input.placeholder?n.input.value:null);e&&Y(e,n.config.dateFormat);n._initialDate=n.selectedDates.length>0?n.selectedDates[0]:n.config.minDate&&n.config.minDate.getTime()>n.now.getTime()?n.config.minDate:n.config.maxDate&&n.config.maxDate.getTime()<n.now.getTime()?n.config.maxDate:n.now,n.currentYear=n._initialDate.getFullYear(),n.currentMonth=n._initialDate.getMonth(),n.selectedDates.length>0&&(n.latestSelectedDateObj=n.selectedDates[0]);void 0!==n.config.minTime&&(n.config.minTime=n.parseDate(n.config.minTime,\"H:i\"));void 0!==n.config.maxTime&&(n.config.maxTime=n.parseDate(n.config.maxTime,\"H:i\"));n.minDateHasTime=!!n.config.minDate&&(n.config.minDate.getHours()>0||n.config.minDate.getMinutes()>0||n.config.minDate.getSeconds()>0),n.maxDateHasTime=!!n.config.maxDate&&(n.config.maxDate.getHours()>0||n.config.maxDate.getMinutes()>0||n.config.maxDate.getSeconds()>0)}(),n.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=n.currentMonth),void 0===t&&(t=n.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:n.l10n.daysInMonth[e]}},n.isMobile||function(){var e=window.document.createDocumentFragment();if(n.calendarContainer=vu(\"div\",\"flatpickr-calendar\"),n.calendarContainer.tabIndex=-1,!n.config.noCalendar){if(e.appendChild((n.monthNav=vu(\"div\",\"flatpickr-months\"),n.yearElements=[],n.monthElements=[],n.prevMonthNav=vu(\"span\",\"flatpickr-prev-month\"),n.prevMonthNav.innerHTML=n.config.prevArrow,n.nextMonthNav=vu(\"span\",\"flatpickr-next-month\"),n.nextMonthNav.innerHTML=n.config.nextArrow,S(),Object.defineProperty(n,\"_hidePrevMonthArrow\",{get:function(){return n.__hidePrevMonthArrow},set:function(e){n.__hidePrevMonthArrow!==e&&(gu(n.prevMonthNav,\"flatpickr-disabled\",e),n.__hidePrevMonthArrow=e)}}),Object.defineProperty(n,\"_hideNextMonthArrow\",{get:function(){return n.__hideNextMonthArrow},set:function(e){n.__hideNextMonthArrow!==e&&(gu(n.nextMonthNav,\"flatpickr-disabled\",e),n.__hideNextMonthArrow=e)}}),n.currentYearElement=n.yearElements[0],Q(),n.monthNav)),n.innerContainer=vu(\"div\",\"flatpickr-innerContainer\"),n.config.weekNumbers){var t=function(){n.calendarContainer.classList.add(\"hasWeeks\");var e=vu(\"div\",\"flatpickr-weekwrapper\");e.appendChild(vu(\"span\",\"flatpickr-weekday\",n.l10n.weekAbbreviation));var t=vu(\"div\",\"flatpickr-weeks\");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),o=t.weekWrapper,i=t.weekNumbers;n.innerContainer.appendChild(o),n.weekNumbers=i,n.weekWrapper=o}n.rContainer=vu(\"div\",\"flatpickr-rContainer\"),n.rContainer.appendChild(D()),n.daysContainer||(n.daysContainer=vu(\"div\",\"flatpickr-days\"),n.daysContainer.tabIndex=-1),C(),n.rContainer.appendChild(n.daysContainer),n.innerContainer.appendChild(n.rContainer),e.appendChild(n.innerContainer)}n.config.enableTime&&e.appendChild(function(){n.calendarContainer.classList.add(\"hasTime\"),n.config.noCalendar&&n.calendarContainer.classList.add(\"noCalendar\");var e=Tu(n.config);n.timeContainer=vu(\"div\",\"flatpickr-time\"),n.timeContainer.tabIndex=-1;var t=vu(\"span\",\"flatpickr-time-separator\",\":\"),o=bu(\"flatpickr-hour\",{\"aria-label\":n.l10n.hourAriaLabel});n.hourElement=o.getElementsByTagName(\"input\")[0];var i=bu(\"flatpickr-minute\",{\"aria-label\":n.l10n.minuteAriaLabel});n.minuteElement=i.getElementsByTagName(\"input\")[0],n.hourElement.tabIndex=n.minuteElement.tabIndex=-1,n.hourElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getHours():n.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),n.minuteElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getMinutes():e.minutes),n.hourElement.setAttribute(\"step\",n.config.hourIncrement.toString()),n.minuteElement.setAttribute(\"step\",n.config.minuteIncrement.toString()),n.hourElement.setAttribute(\"min\",n.config.time_24hr?\"0\":\"1\"),n.hourElement.setAttribute(\"max\",n.config.time_24hr?\"23\":\"12\"),n.hourElement.setAttribute(\"maxlength\",\"2\"),n.minuteElement.setAttribute(\"min\",\"0\"),n.minuteElement.setAttribute(\"max\",\"59\"),n.minuteElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild(o),n.timeContainer.appendChild(t),n.timeContainer.appendChild(i),n.config.time_24hr&&n.timeContainer.classList.add(\"time24hr\");if(n.config.enableSeconds){n.timeContainer.classList.add(\"hasSeconds\");var r=bu(\"flatpickr-second\");n.secondElement=r.getElementsByTagName(\"input\")[0],n.secondElement.value=fu(n.latestSelectedDateObj?n.latestSelectedDateObj.getSeconds():e.seconds),n.secondElement.setAttribute(\"step\",n.minuteElement.getAttribute(\"step\")),n.secondElement.setAttribute(\"min\",\"0\"),n.secondElement.setAttribute(\"max\",\"59\"),n.secondElement.setAttribute(\"maxlength\",\"2\"),n.timeContainer.appendChild(vu(\"span\",\"flatpickr-time-separator\",\":\")),n.timeContainer.appendChild(r)}n.config.time_24hr||(n.amPM=vu(\"span\",\"flatpickr-am-pm\",n.l10n.amPM[mu((n.latestSelectedDateObj?n.hourElement.value:n.config.defaultHour)>11)]),n.amPM.title=n.l10n.toggleTitle,n.amPM.tabIndex=-1,n.timeContainer.appendChild(n.amPM));return n.timeContainer}());gu(n.calendarContainer,\"rangeMode\",\"range\"===n.config.mode),gu(n.calendarContainer,\"animate\",!0===n.config.animate),gu(n.calendarContainer,\"multiMonth\",n.config.showMonths>1),n.calendarContainer.appendChild(e);var r=void 0!==n.config.appendTo&&void 0!==n.config.appendTo.nodeType;if((n.config.inline||n.config.static)&&(n.calendarContainer.classList.add(n.config.inline?\"inline\":\"static\"),n.config.inline&&(!r&&n.element.parentNode?n.element.parentNode.insertBefore(n.calendarContainer,n._input.nextSibling):void 0!==n.config.appendTo&&n.config.appendTo.appendChild(n.calendarContainer)),n.config.static)){var a=vu(\"div\",\"flatpickr-wrapper\");n.element.parentNode&&n.element.parentNode.insertBefore(a,n.element),a.appendChild(n.element),n.altInput&&a.appendChild(n.altInput),a.appendChild(n.calendarContainer)}n.config.static||n.config.inline||(void 0!==n.config.appendTo?n.config.appendTo:window.document.body).appendChild(n.calendarContainer)}(),function(){n.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach(function(e){Array.prototype.forEach.call(n.element.querySelectorAll(\"[data-\"+e+\"]\"),function(t){return d(t,\"click\",n[e])})});if(n.isMobile)return void function(){var e=n.config.enableTime?n.config.noCalendar?\"time\":\"datetime-local\":\"date\";n.mobileInput=vu(\"input\",n.input.className+\" flatpickr-mobile\"),n.mobileInput.tabIndex=1,n.mobileInput.type=e,n.mobileInput.disabled=n.input.disabled,n.mobileInput.required=n.input.required,n.mobileInput.placeholder=n.input.placeholder,n.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",n.selectedDates.length>0&&(n.mobileInput.defaultValue=n.mobileInput.value=n.formatDate(n.selectedDates[0],n.mobileFormatStr));n.config.minDate&&(n.mobileInput.min=n.formatDate(n.config.minDate,\"Y-m-d\"));n.config.maxDate&&(n.mobileInput.max=n.formatDate(n.config.maxDate,\"Y-m-d\"));n.input.getAttribute(\"step\")&&(n.mobileInput.step=String(n.input.getAttribute(\"step\")));n.input.type=\"hidden\",void 0!==n.altInput&&(n.altInput.type=\"hidden\");try{n.input.parentNode&&n.input.parentNode.insertBefore(n.mobileInput,n.input.nextSibling)}catch(e){}d(n.mobileInput,\"change\",function(e){n.setDate(Cu(e).value,!1,n.mobileFormatStr),J(\"onChange\"),J(\"onClose\")})}();var e=pu(B,50);n._debouncedChange=pu(f,300),n.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&d(n.daysContainer,\"mouseover\",function(e){\"range\"===n.config.mode&&L(Cu(e))});d(n._input,\"keydown\",F),void 0!==n.calendarContainer&&d(n.calendarContainer,\"keydown\",F);n.config.inline||n.config.static||d(window,\"resize\",e);void 0!==window.ontouchstart?d(window.document,\"touchstart\",M):d(window.document,\"mousedown\",M);d(window.document,\"focus\",M,{capture:!0}),!0===n.config.clickOpens&&(d(n._input,\"focus\",n.open),d(n._input,\"click\",n.open));void 0!==n.daysContainer&&(d(n.monthNav,\"click\",ee),d(n.monthNav,[\"keyup\",\"increment\"],u),d(n.daysContainer,\"click\",W));if(void 0!==n.timeContainer&&void 0!==n.minuteElement&&void 0!==n.hourElement){var t=function(e){return Cu(e).select()};d(n.timeContainer,[\"increment\"],a),d(n.timeContainer,\"blur\",a,{capture:!0}),d(n.timeContainer,\"click\",p),d([n.hourElement,n.minuteElement],[\"focus\",\"click\"],t),void 0!==n.secondElement&&d(n.secondElement,\"focus\",function(){return n.secondElement&&n.secondElement.select()}),void 0!==n.amPM&&d(n.amPM,\"click\",function(e){a(e)})}n.config.allowInput&&d(n._input,\"blur\",O)}(),(n.selectedDates.length||n.config.noCalendar)&&(n.config.enableTime&&l(n.config.noCalendar?n.latestSelectedDateObj:void 0),Z(!1)),r();var o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!n.isMobile&&o&&j(),J(\"onReady\")}(),n}function Bu(e,t){for(var n=Array.prototype.slice.call(e).filter(function(e){return e instanceof HTMLElement}),o=[],i=0;i<n.length;i++){var r=n[i];try{if(null!==r.getAttribute(\"data-fp-omit\"))continue;void 0!==r._flatpickr&&(r._flatpickr.destroy(),r._flatpickr=void 0),r._flatpickr=Lu(r,t||{}),o.push(r._flatpickr)}catch(e){console.error(e)}}return 1===o.length?o[0]:o}\"undefined\"!=typeof HTMLElement&&\"undefined\"!=typeof HTMLCollection&&\"undefined\"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return Bu(this,e)},HTMLElement.prototype.flatpickr=function(e){return Bu([this],e)});var Ru=function(e,t){return\"string\"==typeof e?Bu(window.document.querySelectorAll(e),t):e instanceof Node?Bu([e],t):Bu(e,t)};Ru.defaultConfig={},Ru.l10ns={en:Ou({},du),default:Ou({},du)},Ru.localize=function(e){Ru.l10ns.default=Ou(Ou({},Ru.l10ns.default),e)},Ru.setDefaults=function(e){Ru.defaultConfig=Ou(Ou({},Ru.defaultConfig),e)},Ru.parseDate=Iu({}),Ru.formatDate=Eu({}),Ru.compareDates=Mu,\"undefined\"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return Bu(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+(\"string\"==typeof e?parseInt(e,10):e))},\"undefined\"!=typeof window&&(window.flatpickr=Ru);const _u=[\"onCreate\",\"onDestroy\"],Hu=[\"onChange\",\"onOpen\",\"onClose\",\"onMonthChange\",\"onYearChange\",\"onReady\",\"onValueUpdate\",\"onDayCreate\"],ju=t=>{const n=u(()=>({...t}),[t]),{defaultValue:o,options:i={},value:r,children:s,render:l,onCreate:c,onDestroy:p}=n,h=u(()=>((e,t)=>(Hu.forEach(n=>{const o=t[n],i=e[n];if(o){i&&!Array.isArray(i)?e[n]=[e[n]]:e[n]||(e[n]=[]);const t=Array.isArray(o)?o:[o];0===e[n].length?e[n]=t:e[n].push(...t)}}),Hu.forEach(e=>{delete t[e]}),_u.forEach(e=>{delete t[e]}),e))(i,n),[i,n]),g=d(null),v=d(void 0);m(t.ref,()=>({get flatpickr(){return v.current}}),[]),f(()=>{return h.onClose=h.onClose||(()=>{var e;null!=(e=g.current)&&e.blur&&g.current.blur()}),v.current=((null==(e=Ru)?void 0:e.default)||Ru)(g.current,h),null==c||c(v.current),()=>{null==p||p(v.current),v.current&&v.current.destroy(),v.current=void 0};var e},[h,c,p]),f(()=>{var e;if(v.current){const t=Object.getOwnPropertyNames(h);for(let n=t.length-1;n>=0;n--){const o=t[n];let i=h[o];(null==i?void 0:i.toString())!==(null==(e=v.current.config[o])?void 0:e.toString())&&(Hu.includes(o)&&!Array.isArray(i)&&(i=[i]),v.current.set(o,i))}void 0!==r&&r!==v.current.input.value&&v.current.setDate(r,!1)}},[h,r]);const y=a(e=>{g.current=e},[]);if(l)return l({...n,defaultValue:o,value:r},y);const w=a(e=>{var n,o;t&&t.onChange&&(Array.isArray(null==t?void 0:t.onChange)?null==(n=null==t?void 0:t.onChange)||n.forEach(()=>[new Date(e.target.value)],(null==r?void 0:r.toString())||\"\"):\"function\"==typeof t.onChange&&(null==(o=null==t?void 0:t.onChange)||o.call(t,[new Date(e.target.value)],(null==r?void 0:r.toString())||\"\",v.current)))},[t,r]);return i.wrap?e(\"div\",{className:\"flatpickr\",ref:y,children:s}):e(\"input\",{onChange:w,...n,value:null==r?void 0:r.toString(),defaultValue:o,ref:y})},$u=\"T42.GD.Execute\",zu=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],Wu=(e,t)=>e in t;function Vu({time:e,frequency:t,day:n}){const o=new Date(`01/01/2000 ${e}`),i=o.getMinutes(),r=o.getHours();let a=\"*\";return\"weekly\"===t&&n&&(a=function(e){const t={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6};if(!Wu(e,t))throw new Error(`Invalid day: ${e}`);return t[e]}(n).toString()),`${i} ${r} * * ${a}`}function Yu(e){const t=l(w),{value:n,update:o}=xa({prefKey:Uu(e)}),{value:i,update:r}=xa({prefKey:Uu(e,\"Time\")}),{value:s,update:c}=xa({prefKey:Uu(e,\"Frequency\")}),{value:u,update:d}=xa({prefKey:Uu(e,\"Day\")}),m=a(async()=>{try{await t.interop.invoke($u,{command:`cancel-${e}`})}catch(e){console.error(e)}},[t,e]),p=a(async()=>{try{const n=Vu({time:i??\"12:00 AM\",frequency:s??\"daily\",day:\"weekly\"===s?u:\"*\"});await t.interop.invoke($u,{command:`schedule-${e}`,args:{cronTime:n,discardUnsavedLayoutChanges:!1}})}catch(t){console.error(`Failed to update cron job for ${e}:`,t)}},[t,e,i,s,u]);f(()=>{t&&n&&p()},[t,n,p]);return{enabled:n??!1,time:i??\"12:00 AM\",frequency:s??\"daily\",day:u??\"Monday\",setEnabled:async e=>{e||await m();try{await o(e)}catch(e){console.error(\"Failed to update enabled state:\",e)}},setTime:async e=>{try{await r(e)}catch(e){console.error(\"Failed to update time:\",e)}},setFrequency:async e=>{try{await c(e),\"daily\"===e&&await d(void 0)}catch(e){console.error(\"Failed to update frequency:\",e)}},setDay:async e=>{var t;if(t=e,zu.includes(t))try{await d(e)}catch(e){console.error(\"Failed to update day:\",e)}else console.error(\"Invalid day provided\")}}}function Uu(e,t){const n=\"restart\"===e?\"_system_scheduleRestart\":\"_system_scheduleShutdown\";return t?`${n}${t}`:n}function Ku({className:n,variant:o,...i}){const r=N(\"io-block-list-gap\",o,n),{enabled:a,time:s,frequency:l,day:c,setEnabled:u,setTime:d,setFrequency:f,setDay:m}=Yu(o);return t(P,{className:r,...i,children:[e(fi,{label:`Schedule ${o}`,align:\"right\",onChange:e=>u(e.target.checked),checked:a}),t(\"div\",{className:\"scheduler-controls\",children:[t(\"div\",{className:\"io-control-input io-control-leading-icon direction-up\",children:[e(S,{variant:\"clock\"}),e(ju,{className:\"io-input\",options:{enableTime:!0,noCalendar:!0,dateFormat:\"h:i K\",defaultDate:s,clickOpens:!0},value:s,onClose:async([e])=>{const t=e.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\",hour12:!0});await d(t)}})]}),t(Ko,{text:l.charAt(0).toUpperCase()+l.slice(1),icon:\"chevron-down\",iconRight:!0,children:[e(Ko.Item,{onClick:()=>f(\"daily\"),children:\"Daily\"}),e(Ko.Item,{onClick:()=>f(\"weekly\"),children:\"Weekly\"})]}),\"weekly\"===l&&e(Ko,{text:c,icon:\"chevron-down\",iconRight:!0,children:zu.map(t=>e(Ko.Item,{onClick:()=>m(t),children:t},t))})]})]})}function Ju({className:t,...n}){return e(Ku,{...n,className:t,variant:\"restart\"})}function qu({className:t,...n}){return e(Ku,{...n,className:t,variant:\"shutdown\"})}const Gu={Body:Wc,General:Vc,Theme:Uc,PinnedPosition:Jc,AllowDocking:Gc,MinimizeToTray:Qc,AutoClose:Xc,ShowTutorialOnStartup:Zc,Layouts:eu,LayoutsRestoreLastSaved:tu,LayoutsSaveCurrentOnExit:nu,LayoutsShowUnsavedChangesPrompt:ou,LayoutsShowDeletePrompt:iu,Downloads:ru,DownloadsAskForEachDownload:au,DownloadsLocation:su,System:lu,SystemRestartSection:Ju,SystemShutdownSection:qu},Qu=s(Gu),Xu=g(({children:t,components:n})=>{const o=u(()=>({...Gu,...n}),[n]);return e(Qu.Provider,{value:o,children:t})});Xu.displayName=\"PreferencesPanelComponentsStoreProvider\";const Zu=()=>l(Qu),ed=({className:n,onClose:o,title:i=\"Platform Preferences\",children:r,...a})=>t(Zo,{className:N(\"io-preferences-panel\",n),\"data-testid\":\"preferences-panel\",...a,children:[t(Zo.Header,{\"data-testid\":\"preferences-panel-header\",children:[e(Zo.Header.Title,{size:\"large\",text:i,tag:\"h1\",\"data-testid\":\"preferences-panel-title\"}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o,\"data-testid\":\"preferences-panel-close-button\"})})]}),r]}),td=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=Zu();return e(ed,{title:n,onClose:t,...o,children:e(i,{})})},nd=({components:t,...n})=>e(Xu,{components:t,children:e(td,{...n})});var od=Object.freeze({__proto__:null,AllowDocking:Gc,AutoClose:Xc,Downloads:ru,DownloadsAskForEachDownload:au,DownloadsLocation:su,General:Vc,Layouts:eu,LayoutsRestoreLastSaved:tu,LayoutsSaveCurrentOnExit:nu,LayoutsShowDeletePrompt:iu,LayoutsShowUnsavedChangesPrompt:ou,MinimizeToTray:Qc,Panel:nd,PanelBody:Wc,PinnedPosition:Jc,ShowTutorialOnStartup:Zc,System:lu,SystemRestartSection:Ju,SystemShutdownSection:qu,Theme:Uc});const id=n=>{const{General:o,Layouts:i}=ud();return t(Qo,{...n,children:[e(o,{}),e(i,{})]})},rd=({title:t=\"General\",...n})=>{const{Theme:o}=ud();return e(P,{title:t,\"data-testid\":\"preferences-panel-general-block\",...n,children:e(o,{})})},ad=({title:t=\"Layouts\",...n})=>{const{LayoutsShowDeletePrompt:o}=ud();return e(P,{title:t,\"data-testid\":\"preferences-panel-layouts-block\",...n,children:e(o,{})})},sd={Body:id,General:rd,Theme:Uc,Layouts:ad,LayoutsShowUnsavedChangesPrompt:ou,LayoutsShowDeletePrompt:iu},ld=s(sd),cd=g(({children:t,components:n})=>{const o=u(()=>({...sd,...n}),[n]);return e(ld.Provider,{value:o,children:t})});cd.displayName=\"PreferencesPanelComponentsStoreProvider\";const ud=()=>l(ld),dd=({onClose:t,title:n=\"Platform Preferences\",...o})=>{const{Body:i}=ud();return e(ed,{title:n,onClose:t,...o,children:e(i,{})})};var fd=Object.freeze({__proto__:null,General:rd,Layouts:ad,LayoutsShowDeletePrompt:iu,LayoutsShowUnsavedChangesPrompt:ou,Panel:({components:t,...n})=>e(cd,{components:t,children:e(dd,{...n})}),PanelBody:id,Theme:Uc});const md=({actionButtons:t,actionButtonElementsRefs:n,isAutofocusButton:o,isButtonDisabled:i,onButtonClick:r})=>e(Z,{\"data-testid\":\"io-dialog-action-buttons-group\",align:\"right\",children:t.map((t,a)=>{const{id:s,text:l,variant:c}=t,u=o(s);return e(T,{\"data-testid\":`io-dialog-action-button-${s}`,id:s,ref:e=>{0===a&&(n.current=[]),n.current[a]=e},className:u?\"io-focus-button\":void 0,disabled:i(s),onClick:()=>r(t),variant:c,children:l},s)})}),pd=({actionButtons:n,children:o,onCompletion:i,size:r,title:a=(wi()?\"io.Connect Desktop\":\"io.Connect Browser\"),validationErrors:s=[]})=>{const{actionButtonElementsRefs:l,autofocusButtonId:f,hasAutofocusButtonLostInitialFocus:m}=(e=>{const t=d([]),n=u(()=>e.find(e=>e.autofocus)?.id??null,[e]),o=d(n),[i,r]=c(!o.current);return p(()=>{if(i)return;if(n!==o.current)return void r(!0);const e=t.current.find(e=>e?.id===n);if(!e)return;e.focus();const a=()=>{r(!0)};return e.addEventListener(\"blur\",a),()=>{e.removeEventListener(\"blur\",a)}},[n,i]),{actionButtonElementsRefs:t,autofocusButtonId:n,hasAutofocusButtonLostInitialFocus:i}})(n),h=()=>{i({isClosed:!0})},g={...r};return t(re,{className:\"io-dialog-template\",closeFn:h,isOpen:!0,onCancel:e=>{e.preventDefault(),h()},onKeyDown:e=>{!A(e)||s.length||e.target instanceof HTMLButtonElement||\" \"===e.key&&e.target instanceof HTMLInputElement||i({isEnterPressed:!0})},style:g,title:a,children:[e(re.Body,{children:o}),e(re.Footer,{children:e(md,{actionButtonElementsRefs:l,actionButtons:n,isAutofocusButton:e=>f===e&&!m,isButtonDisabled:e=>s.some(t=>t.disabledButtonIds.some(t=>t===e)),onButtonClick:({id:e,text:t})=>{i({responseButtonClicked:{id:e,text:t}})}})})]})},hd=({children:t})=>e(\"h3\",{\"data-testid\":\"io-dialog-heading\",className:\"io-dialog-template-heading\",children:t});var gd=Object.freeze({__proto__:null,NoInputsConfirmationDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,heading:a,text:s,title:l}=i;return e(pd,{actionButtons:r,onCompletion:n,size:o,title:l,children:t(\"div\",{children:[e(hd,{children:a}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:s})]})})},SingleCheckboxDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,checkbox:s,heading:l,text:u,title:d}=i,[f,m]=c(s.initialValue),p=a(()=>m(e=>!e),[]),h=[{id:s.id,type:\"checkbox\",checked:f}];return t(pd,{actionButtons:r,onCompletion:e=>n({...e,inputs:h}),size:o,title:d,children:[t(\"div\",{children:[e(hd,{children:l}),e(\"p\",{\"data-testid\":\"io-dialog-text\",children:u})]}),e(ri,{\"data-testid\":`io-dialog-checkbox-${s.id}`,checked:f,id:s.id,label:s.label,name:s.id,onChange:p})]})},SingleTextInputDialog:({onCompletion:n,size:o,variables:i})=>{const{actionButtons:r,heading:a,input:s,title:l}=i,[u,f]=c(s.initialValue??\"\"),m=d(null),h=(g=u,!(v=s.validation)||new RegExp(v.regexPattern).test(g)?null:{disabledButtonIds:v.disabledButtonIds,message:v.errorMessage});var g,v;const y=[{id:s.id,type:\"text\",value:u}];return p(()=>{m.current?.select()},[]),t(pd,{actionButtons:r,onCompletion:e=>n({...e,inputs:y}),size:o,title:l,validationErrors:h?[h]:[],children:[e(hd,{children:a}),e(oi,{\"data-testid\":`io-dialog-input-${s.id}`,ref:m,errorDataTestId:`io-dialog-input-${s.id}-error-message`,errorMessage:h?.message,id:s.id,label:s.label,name:s.id,onChange:e=>f(e.target.value),placeholder:s.placeholder,type:\"text\",value:u})]})}});const vd=({name:n,value:o})=>t(\"div\",{className:\"io-profile-section-item\",children:[e(\"div\",{className:\"io-profile-section-item-name\",children:n}),e(\"div\",{className:\"io-profile-section-item-value\",children:o})]}),yd=({className:n,items:o,title:i})=>t(\"div\",{className:N(\"io-profile-section-body\",n),children:[i&&e(M,{className:\"io-profile-section-title\",text:i}),o.map(({name:t,value:n})=>e(vd,{name:t,value:n},t))]}),wd=({className:n,items:o,title:i})=>t(\"section\",{className:N(\"io-profile-section\",n),children:[e(yd,{items:o,title:i}),e(q,{className:\"mt-8\"})]}),bd=({title:t=\"License\",...n})=>e(wd,{title:t,...n}),Cd=({title:t=\"Version\",...n})=>e(wd,{title:t,...n}),kd=({title:t=\"Plugins\",...n})=>e(wd,{title:t,...n}),Nd=({className:n})=>{const o=wi()?\"io.Connect Desktop\":\"io.Connect Browser\";return t(\"div\",{className:N(\"io-trademark-container\",n),children:[e(\"h4\",{className:\"io-trademark-title\",children:o}),t(\"p\",{className:\"io-trademark-text\",children:[o,\"® is a registered trademark of\",\" \",e(\"a\",{href:\"https://www.interop.io\",rel:\"noreferrer\",target:\"_blank\",children:\"Interop Inc©\"}),\" \",(new Date).getFullYear(),\". All rights reserved.\"]})]})},Sd=({avatarInitials:n=(wi()?\"CD\":\"CB\"),className:o,items:i,onLogout:r,title:a})=>t(\"section\",{className:N(\"io-profile-section\",o),children:[t(\"div\",{className:\"io-user-details-container\",children:[e(\"div\",{className:\"io-user-avatar\",children:n}),e(yd,{className:\"mt-12\",items:i,title:a})]}),r&&e(T,{className:\"io-log-out-button\",onClick:r,variant:\"primary\",icon:\"arrow-right-from-bracket\",children:\"Log out\"}),e(q,{className:\"mt-8\"})]}),Dd={LicenseSection:bd,ProductsInfoSection:Cd,PluginsSection:kd,Trademark:Nd,UserSection:Sd},xd=s(Dd),Ed=g(({children:t,components:n})=>{const o=u(()=>({...Dd,...n}),[n]);return e(xd.Provider,{value:o,children:t})});Ed.displayName=\"ProfilePanelComponentsStoreProvider\";const Id=e=>{const t=new Date(e);return[{day:\"numeric\"},{month:\"short\"},{year:\"numeric\"}].map(e=>t.toLocaleDateString(\"en\",e)).join(\" \")},Md=e=>{if(!e)return{items:[]};const t=[...e.email?[{name:\"Email\",value:e.email}]:[],...e.type?[{name:\"User Type\",value:e.type}]:[],...e.role?[{name:\"User Role\",value:e.role}]:[],{name:\"User ID\",value:e.id}];if(e.firstName||e.lastName){const n=[e.firstName,e.lastName].filter(e=>!!e);return{avatarInitials:n.map(e=>e.charAt(0)).join(\"\"),items:t,title:n.join(\" \")}}return e.username?{avatarInitials:e.username.charAt(0),items:t,title:e.username}:e.email?{avatarInitials:e.email.charAt(0),items:t}:{items:t}},Pd=e=>{const t=new Date(2023,5,6),n=e.expiration<t.getTime()?1e3:1;return{items:[{name:\"Type\",value:e.type},{name:\"Expiration Date\",value:Id(e.expiration*n)}]}},Ad=e=>({items:e.map(e=>({name:e.name,value:e.version}))}),Td=e=>{const t={\"@interopio/workspaces-ui-react\":\"Workspaces React Frame\",\"@interopio/workspaces-ui-web-components\":\"Workspaces Web Components Frame\"};return{items:[{name:\"io.Connect Browser platform\",value:e.platform.apiVersion},{name:\"io.Connect Browser client\",value:e.client.apiVersion},...e.workspaces?[{name:\"Workspaces API\",value:e.workspaces.apiVersion}]:[],...e.workspaces?.container&&Wu(e.workspaces.container.type,t)?[{name:t[e.workspaces.container.type],value:e.workspaces.container.version}]:[],...e.home?[{name:\"Home UI\",value:e.home.version}]:[],...e.search?[{name:\"Search API\",value:e.search.apiVersion}]:[],...e.modals?[{name:\"Modals API\",value:e.modals.apiVersion}]:[]]}},Od=()=>{const e=window.glue42gd??window.iodesktop;if(!e)throw new Error(\"both window.glue42gd and window.iodesktop are not available\");const{user:t,env:n}=e,o=[{name:\"Environment\",value:n.env},{name:\"Region\",value:n.region}];return t?{avatarInitials:t.charAt(0),items:o,title:t}:{items:o}},Fd=e=>{const t=Object.entries(e??{}).map(([e,t])=>({name:e,value:t}));return{items:t}},Ld=e=>{const t=e.map(({product:e,version:t})=>({name:e,value:t}));return{items:t}},Bd=e=>wi()?(async e=>{const{licInfo:t,productInfo:n}=(await e.interop.invoke(\"T42.GD.GetInfo\")).returned;return{user:Od(),license:Fd(t),productsInfo:Ld(n)}})(e):(async()=>{if(!window.iobrowser)throw new Error(\"window.iobrowser is not available\");const e=await window.iobrowser.system.getProfileData();return{user:Md(e.user),license:Pd(e.license),plugins:Ad(e.plugins),productsInfo:Td(e.productsInfo)}})(),Rd=({className:n,onClose:o,onLogout:i,title:r=\"Profile\",...a})=>{const{LicenseSection:s,ProductsInfoSection:u,PluginsSection:d,Trademark:m,UserSection:p}=l(xd),h=l(w),[g,v]=c(null);return f(()=>{if(!h)return;(async()=>{const e=await Bd(h);v(e)})().catch(console.error)},[h]),t(Zo,{className:N(\"io-profile-panel\",n),\"data-testid\":\"profile-panel\",...a,children:[t(Zo.Header,{children:[e(Zo.Header.Title,{size:\"large\",text:r}),e(Zo.Header.ButtonGroup,{children:e(Zo.Header.ButtonIcon,{variant:\"circle\",icon:\"close\",size:\"32\",onClick:o})})]}),t(Zo.Body,{children:[g?.user.items.length||g?.user.title?e(p,{avatarInitials:g.user.avatarInitials,items:g.user.items,onLogout:i,title:g.user.title}):null,t(\"div\",{className:\"io-scrollable-profile-sections-container\",children:[g?.license.items.length?e(s,{items:g.license.items}):null,g?.productsInfo.items.length?e(u,{items:g.productsInfo.items}):null,g?.plugins?.items.length?e(d,{items:g.plugins.items}):null]}),e(m,{className:\"mt-auto\"})]})]})},_d=({components:t,...n})=>e(Ed,{components:t,children:e(Rd,{...n})});var Hd=Object.freeze({__proto__:null,LicenseSection:bd,Panel:_d,PluginsSection:kd,ProductsInfoSection:Cd,Trademark:Nd,UserSection:Sd});const jd=s(void 0),$d=()=>{const e=l(jd);if(!e)throw new Error(\"usePanelManagerContext must be used within a PanelManagerContext.Provider\");return e},zd=document.querySelector(\"#root\")??document.body,Wd={preferences:nd,\"notification-settings\":_l,profile:_d};var Vd=Object.freeze({__proto__:null,ActivePanelRenderer:()=>{const{panel:t,deselectPanel:n}=$d();Q(()=>{t&&n()},[\"Escape\"]);const o=t?Wd[t]:null;return o?y(e(\"div\",{className:\"io-panel-overlay\",children:e(o,{onClose:n})}),zd):null},PanelManagerProvider:({children:t})=>{const[n,o]=c(null),i=a(e=>{o(e)},[]),r=a(()=>{o(null)},[]),s=u(()=>({panel:n,selectPanel:i,deselectPanel:r}),[n,i,r]);return e(jd.Provider,{value:s,children:t})},usePanelManagerContext:$d});const Yd=od,Ud=fd;export{E as Alert,I as Badge,P as Block,T as Button,Z as ButtonGroup,D as ButtonIcon,ri as Checkbox,re as Dialog,X as Dropdown,Ko as DropdownMenu,oe as Footer,ee as Header,Vd as IOActivePanelRenderer,ja as IOChannelSelector,gd as IODialogTemplates,Qa as IODialogs,Ds as IODownloadManager,Xs as IOFeedback,zc as IONotifications,Ud as IOPreferencesBrowser,Yd as IOPreferencesDesktop,Hd as IOProfile,S as Icon,Jo as ImageIcon,oi as Input,ni as Label,V as List,qo as Loader,Zo as Panel,ei as Pill,Sa as PlatformPrefsProvider,ti as Progress,ai as Radio,q as Separator,ii as Textarea,Ni as ThemeContext,Si as ThemeProvider,M as Title,fi as Toggle,hi as useDebounce,yi as useHideWindowOnFocusLost,bi as useIsIODesktop,Q as useKeyDown,pi as useKeyPress,vi as useKeyUp,xa as usePlatformPref,Da as usePlatformPrefs,ki as usePopupWindow,gi as useShowHideWindow,mi as useTimeout};\n//# sourceMappingURL=index.js.map\n","import { useCallback } from \"react\";\r\nimport { ExternalWindowPopupResult } from \"../../types/api\";\r\nimport { usePopupWindow } from \"@interopio/components-react\";\r\nimport { Size } from \"../../types/internal\";\r\n\r\nexport default function useExternalWindowPopup(): ExternalWindowPopupResult {\r\n const { getContainer, closePopup, createPopup, hidePopup, showPopup, isOpen, isVisible, popup } = usePopupWindow();\r\n\r\n const resizePopup = useCallback(async (size: Size) => {\r\n await popup?.ioConnectWindow.moveResize({ ...size });\r\n }, [popup]);\r\n\r\n return {\r\n getContainer,\r\n closePopup,\r\n createPopup,\r\n hidePopup,\r\n showPopup: showPopup as ExternalWindowPopupResult[\"showPopup\"],\r\n isOpen,\r\n isVisible,\r\n resizePopup,\r\n popup\r\n }\r\n}","import CloseButton from \"./defaultComponents/buttons/CloseButton\";\r\nimport FlatCaptionBar from \"./defaultComponents/flatCaptionBar/FlatCaptionBar\";\r\nimport GroupCaptionBar from \"./defaultComponents/groupCaptionBar/GroupCaptionBar\";\r\nimport MaximizeButton from \"./defaultComponents/buttons/MaximizeButton\";\r\nimport MinimizeButton from \"./defaultComponents/buttons/MinimizeButton\";\r\nimport Tab from \"./defaultComponents/tabs/Tab\";\r\nimport TabHeaderButtons from \"./defaultComponents/tabs/TabHeaderButtons\";\r\nimport TabCaption from \"./defaultComponents/tabs/TabCaption\";\r\nimport TabCloseButton from \"./defaultComponents/tabs/TabCloseButton\";\r\nimport GroupElementCreationWrapper from \"./GroupElementCreationWrapper\";\r\nimport webGroupsManager from \"./webGroupsManager\";\r\nimport GroupMoveArea from \"./defaultComponents/groupCaptionBar/GroupMoveArea\";\r\nimport GroupButtons from \"./defaultComponents/groupCaptionBar/GroupButtons\";\r\nimport FlatMoveArea from \"./defaultComponents/flatCaptionBar/FlatMoveArea\";\r\nimport FlatButtons from \"./defaultComponents/flatCaptionBar/FlatButtons\";\r\nimport FlatCaption from \"./defaultComponents/flatCaptionBar/FlatCaption\";\r\nimport GroupCaption from \"./defaultComponents/groupCaptionBar/GroupCaption\";\r\nimport FlatChannelSelector from \"./defaultComponents/channelSelector/FlatChannelSelector\";\r\nimport TabChannelSelector from \"./defaultComponents/channelSelector/TabChannelSelector\";\r\nimport RestoreButton from \"./defaultComponents/buttons/RestoreButton\";\r\nimport LockButton from \"./defaultComponents/buttons/LockButtons\";\r\nimport UnlockButton from \"./defaultComponents/buttons/UnlockButton\";\r\nimport ExtractButton from \"./defaultComponents/buttons/ExtractButton\";\r\nimport FeedbackButton from \"./defaultComponents/buttons/FeedbackButton\";\r\nimport CloneButton from \"./defaultComponents/buttons/CloneButton\";\r\nimport StickyButton from \"./defaultComponents/buttons/StickyButton\";\r\nimport OverflowButton from \"./defaultComponents/buttons/OverflowButton\";\r\nimport useIOConnectWindow from \"./useIOConnectWindow\";\r\nimport CustomButton from \"./defaultComponents/buttons/CustomButton\";\r\nimport { waitForWindow } from \"./utils\";\r\nimport useGroupComponentVisibility from \"./useGroupComponentVisibility\";\r\nimport type {\r\n CloseButtonProps,\r\n ExtractButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n FlatCaptionProps,\r\n FlatChannelSelectorProps,\r\n FlatMoveAreaProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupMoveAreaProps,\r\n LockButtonProps,\r\n MaximizeButtonProps,\r\n MinimizeButtonProps,\r\n RestoreButtonProps,\r\n TabCaptionEditorProps,\r\n TabCaptionProps,\r\n TabChannelSelectorProps,\r\n TabCloseButtonProps,\r\n UnlockButtonProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n OverflowButtonProps\r\n} from \"./types/defaultComponents\";\r\nimport type {\r\n AboveTabsProps,\r\n AboveWindowProps,\r\n AfterTabsProps,\r\n BeforeTabsProps,\r\n BelowTabsProps,\r\n BelowWindowProps,\r\n FlatCaptionBarProps,\r\n FrameLoadingAnimationProps,\r\n FrameWindowOverlayProps,\r\n GroupCaptionBarProps,\r\n GroupComponentVisibilityState,\r\n GroupOverlayProps,\r\n GroupProps,\r\n HtmlButtonsProps,\r\n MoveAreaProps,\r\n OpenTabOverflowPopupOptions,\r\n TabElementProps,\r\n TabHeaderButtonsProps,\r\n TabOverflowPopupProps,\r\n WindowContentOverlayProps,\r\n} from \"./types/api\";\r\nimport GroupCaptionEditor from \"./defaultComponents/groupCaptionBar/GroupCaptionEditor\";\r\nimport FlatCaptionEditor from \"./defaultComponents/flatCaptionBar/FlatCaptionEditor\";\r\nimport TabCaptionEditor from \"./defaultComponents/tabs/TabCaptionEditor\";\r\nimport { TargetType } from \"./types/internal\";\r\nimport type { Location } from \"./types/internal\";\r\nimport useCommitTabCaptionEditingRequested from \"./defaultComponents/tabs/useCommitTabCaptionEditingRequested\";\r\nimport useCommitGroupCaptionEditingRequested from \"./defaultComponents/groupCaptionBar/useCommitGroupCaptionEditingRequested\";\r\nimport useCommitFlatCaptionEditingRequested from \"./defaultComponents/flatCaptionBar/useCommitFlatCaptionEditingRequested\";\r\nimport useEditableCaption from \"./defaultComponents/captionEditor/useEditableCaption\";\r\nimport useCaptionEditor from \"./defaultComponents/captionEditor/useCaptionEditor\";\r\nimport FrameLoadingAnimation from \"./defaultComponents/loadingAnimation/FrameLoadingAnimation\";\r\nimport HtmlButtons from \"./defaultComponents/htmlButtonsBar/buttons\";\r\nimport TabOverflowPopup from \"./defaultComponents/popups/TabOverflowPopup\";\r\nimport TabMultiChannelSelector from \"./defaultComponents/channelSelector/multi/TabMultiChannelSelector\";\r\nimport FlatMultiChannelSelector from \"./defaultComponents/channelSelector/multi/FlatMultiChannelSelector\";\r\nimport { useDragMove } from \"./defaultComponents/utils/useDragMove\";\r\nimport useExternalWindowPopup from \"./defaultComponents/hooks/useExternalWindowPopup\";\r\n\r\nexport {\r\n GroupCaptionBar,\r\n GroupMoveArea,\r\n GroupButtons,\r\n GroupCaptionEditor,\r\n Tab,\r\n TabChannelSelector,\r\n TabCaption,\r\n TabCloseButton,\r\n TabCaptionEditor,\r\n FeedbackButton,\r\n CloneButton,\r\n StickyButton,\r\n ExtractButton,\r\n LockButton,\r\n UnlockButton,\r\n MinimizeButton,\r\n RestoreButton,\r\n MaximizeButton,\r\n CustomButton,\r\n CloseButton,\r\n FlatCaptionBar,\r\n FlatChannelSelector,\r\n FlatCaption,\r\n FlatMoveArea,\r\n FlatButtons,\r\n FlatCaptionEditor,\r\n TabHeaderButtons,\r\n FrameLoadingAnimation,\r\n HtmlButtons,\r\n TabOverflowPopup,\r\n OverflowButton,\r\n TabMultiChannelSelector,\r\n FlatMultiChannelSelector,\r\n useIOConnectWindow,\r\n useGroupComponentVisibility,\r\n waitForWindow,\r\n useEditableCaption,\r\n useCaptionEditor,\r\n useDragMove,\r\n useCommitGroupCaptionEditingRequested,\r\n useCommitFlatCaptionEditingRequested,\r\n useCommitTabCaptionEditingRequested,\r\n useExternalWindowPopup,\r\n}\r\n\r\nexport const getGroupId: () => string = () => webGroupsManager?.getGroupId();\r\nexport const requestPageFocus: () => void = () => webGroupsManager?.requestPageFocus();\r\nexport const requestFrameFocus: (frameId: string) => void = (frameId) => webGroupsManager?.requestFrameFocus(frameId);\r\nexport const requestGroupFocus: () => void = () => webGroupsManager?.requestGroupFocus();\r\nexport const openTabOverflowPopup: (options: OpenTabOverflowPopupOptions) => void = ({ frameId, location }: OpenTabOverflowPopupOptions) => webGroupsManager.openTabOverflowPopup(frameId, location);\r\n\r\nexport const onCommitGroupCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Group, targetId, cb);\r\nexport const onCommitFlatCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Frame, targetId, cb);\r\nexport const onCommitTabCaptionEditingRequested = (targetId: string, cb: () => void) => webGroupsManager.onCommitCaptionEditingRequested(TargetType.Tab, targetId, cb);\r\n\r\nexport { GroupCaption };\r\n\r\nexport type {\r\n MoveAreaProps,\r\n GroupProps,\r\n GroupCaptionBarProps,\r\n GroupMoveAreaProps,\r\n GroupOverlayProps,\r\n GroupButtonsProps,\r\n GroupCaptionEditorProps,\r\n GroupComponentVisibilityState,\r\n TabElementProps,\r\n TabChannelSelectorProps,\r\n TabCaptionProps,\r\n TabCloseButtonProps,\r\n TabHeaderButtonsProps,\r\n TabCaptionEditorProps,\r\n HtmlButtonsProps,\r\n FlatCaptionBarProps,\r\n FlatCaptionProps,\r\n FrameWindowOverlayProps,\r\n FlatMoveAreaProps,\r\n FlatChannelSelectorProps,\r\n FlatButtonsProps,\r\n FlatCaptionEditorProps,\r\n OverflowButtonProps,\r\n StickyButtonProps,\r\n FeedbackButtonProps,\r\n ExtractButtonProps,\r\n LockButtonProps,\r\n UnlockButtonProps,\r\n MinimizeButtonProps,\r\n MaximizeButtonProps,\r\n RestoreButtonProps,\r\n CloseButtonProps,\r\n FrameLoadingAnimationProps,\r\n UseCaptionEditorOptions,\r\n UseEditableCaptionOptions,\r\n AboveWindowProps,\r\n BelowWindowProps,\r\n AboveTabsProps,\r\n BelowTabsProps,\r\n BeforeTabsProps,\r\n AfterTabsProps,\r\n WindowContentOverlayProps,\r\n TabOverflowPopupProps,\r\n}\r\n\r\nexport default GroupElementCreationWrapper;\r\n"],"names":["StandardButtonTarget","TargetType","StandardButtons","index","_i","io","hash","r","b","e","ResizeObserverController","observers","ResizeObservation","ResizeObserverEntry","ResizeObserverSPI","ResizeObserver","require$$0","is","useState","useEffect","useLayoutEffect","shim","shimModule","require$$1","React","ReactDOM","_","useSyncExternalStore","te","t","o","n","a","s","l","C","k","c","u","d","f","m","i","p","h","N","S","D","I","M","P","A","T","O","F","L","B","R","H","j","g","y","w","v","$","z","W","V","Y","U","K","J","G","q","Q","X","Z","ee","x","E","usePopupWindow"],"mappings":"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","x_google_ignoreList":[1,7,24,49,50,51,64]}