@burdenoff/microfe-bigconsole 2026.1006.1 → 2026.1007.10

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 (1442) hide show
  1. package/README.md +0 -22
  2. package/dist/bigconsole/AdminRoot.d.ts +1 -0
  3. package/dist/bigconsole/AdminRoot.d.ts.map +1 -0
  4. package/dist/bigconsole/AdminRoot.js +2 -0
  5. package/dist/bigconsole/AdminRoot.js.map +1 -0
  6. package/dist/bigconsole/AdminRoutes.d.ts +1 -0
  7. package/dist/bigconsole/AdminRoutes.d.ts.map +1 -0
  8. package/dist/bigconsole/AdminRoutes.js +2 -0
  9. package/dist/bigconsole/AdminRoutes.js.map +1 -0
  10. package/dist/bigconsole/BigConsoleRoot.d.ts +1 -0
  11. package/dist/bigconsole/BigConsoleRoot.d.ts.map +1 -0
  12. package/dist/bigconsole/BigConsoleRoot.js +84 -88
  13. package/dist/bigconsole/BigConsoleRoot.js.map +1 -0
  14. package/dist/bigconsole/BigConsoleRoutes.d.ts +1 -0
  15. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -0
  16. package/dist/bigconsole/BigConsoleRoutes.js +5 -39
  17. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -0
  18. package/dist/bigconsole/assistant/assistantApi.d.ts +1 -0
  19. package/dist/bigconsole/assistant/assistantApi.d.ts.map +1 -0
  20. package/dist/bigconsole/assistant/assistantApi.js +2 -0
  21. package/dist/bigconsole/assistant/assistantApi.js.map +1 -0
  22. package/dist/bigconsole/assistant/assistantProduct.d.ts +1 -0
  23. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -0
  24. package/dist/bigconsole/assistant/assistantProduct.js +4 -1
  25. package/dist/bigconsole/assistant/assistantProduct.js.map +1 -0
  26. package/dist/bigconsole/assistant/assistantPrompt.d.ts +1 -0
  27. package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +1 -0
  28. package/dist/bigconsole/assistant/assistantPrompt.js +2 -0
  29. package/dist/bigconsole/assistant/assistantPrompt.js.map +1 -0
  30. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +1 -0
  31. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +1 -0
  32. package/dist/bigconsole/assistant/assistantRunPersistence.js +2 -0
  33. package/dist/bigconsole/assistant/assistantRunPersistence.js.map +1 -0
  34. package/dist/bigconsole/assistant/assistantRunStore.d.ts +1 -0
  35. package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +1 -0
  36. package/dist/bigconsole/assistant/assistantRunStore.js +2 -0
  37. package/dist/bigconsole/assistant/assistantRunStore.js.map +1 -0
  38. package/dist/bigconsole/assistant/assistantRuntime.d.ts +1 -0
  39. package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +1 -0
  40. package/dist/bigconsole/assistant/assistantRuntime.js +2 -0
  41. package/dist/bigconsole/assistant/assistantRuntime.js.map +1 -0
  42. package/dist/bigconsole/assistant/attachmentExtract.d.ts +1 -0
  43. package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +1 -0
  44. package/dist/bigconsole/assistant/attachmentExtract.js +2 -0
  45. package/dist/bigconsole/assistant/attachmentExtract.js.map +1 -0
  46. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +1 -0
  47. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +1 -0
  48. package/dist/bigconsole/assistant/conversationHistoryApi.js +2 -0
  49. package/dist/bigconsole/assistant/conversationHistoryApi.js.map +1 -0
  50. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +1 -0
  51. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +1 -0
  52. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +2 -0
  53. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +1 -0
  54. package/dist/bigconsole/assistant/index.d.ts +1 -0
  55. package/dist/bigconsole/assistant/index.d.ts.map +1 -0
  56. package/dist/bigconsole/assistant/modes.d.ts +1 -0
  57. package/dist/bigconsole/assistant/modes.d.ts.map +1 -0
  58. package/dist/bigconsole/assistant/modes.js +2 -0
  59. package/dist/bigconsole/assistant/modes.js.map +1 -0
  60. package/dist/bigconsole/assistant/pageContext.d.ts +1 -0
  61. package/dist/bigconsole/assistant/pageContext.d.ts.map +1 -0
  62. package/dist/bigconsole/assistant/pageContext.js +2 -0
  63. package/dist/bigconsole/assistant/pageContext.js.map +1 -0
  64. package/dist/bigconsole/assistant/previewController.d.ts +1 -0
  65. package/dist/bigconsole/assistant/previewController.d.ts.map +1 -0
  66. package/dist/bigconsole/assistant/previewController.js +2 -0
  67. package/dist/bigconsole/assistant/previewController.js.map +1 -0
  68. package/dist/bigconsole/assistant/previewMutationResult.d.ts +1 -0
  69. package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +1 -0
  70. package/dist/bigconsole/assistant/previewMutationResult.js +2 -0
  71. package/dist/bigconsole/assistant/previewMutationResult.js.map +1 -0
  72. package/dist/bigconsole/assistant/previewRunAction.d.ts +1 -0
  73. package/dist/bigconsole/assistant/previewRunAction.d.ts.map +1 -0
  74. package/dist/bigconsole/assistant/previewRunAction.js +2 -0
  75. package/dist/bigconsole/assistant/previewRunAction.js.map +1 -0
  76. package/dist/bigconsole/assistant/product.d.ts +1 -0
  77. package/dist/bigconsole/assistant/product.d.ts.map +1 -0
  78. package/dist/bigconsole/assistant/product.js +2 -0
  79. package/dist/bigconsole/assistant/product.js.map +1 -0
  80. package/dist/bigconsole/assistant/recordAdapters.d.ts +1 -0
  81. package/dist/bigconsole/assistant/recordAdapters.d.ts.map +1 -0
  82. package/dist/bigconsole/assistant/recordAdapters.js +29 -26
  83. package/dist/bigconsole/assistant/recordAdapters.js.map +1 -0
  84. package/dist/bigconsole/assistant/types.d.ts +1 -0
  85. package/dist/bigconsole/assistant/types.d.ts.map +1 -0
  86. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +1 -0
  87. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +1 -0
  88. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +2 -0
  89. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +1 -0
  90. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +1 -0
  91. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +1 -0
  92. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +2 -0
  93. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +1 -0
  94. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +1 -0
  95. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +1 -0
  96. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +2 -0
  97. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -0
  98. package/dist/bigconsole/components/DrilldownModal.d.ts +1 -0
  99. package/dist/bigconsole/components/DrilldownModal.d.ts.map +1 -0
  100. package/dist/bigconsole/components/DrilldownModal.js +2 -0
  101. package/dist/bigconsole/components/DrilldownModal.js.map +1 -0
  102. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +1 -0
  103. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +1 -0
  104. package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -0
  105. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -0
  106. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +1 -0
  107. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +1 -0
  108. package/dist/bigconsole/components/builder/BuilderTopbar.js +2 -0
  109. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -0
  110. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +1 -0
  111. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +1 -0
  112. package/dist/bigconsole/components/builder/DashboardEditorShell.js +2 -0
  113. package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +1 -0
  114. package/dist/bigconsole/components/builder/WidgetInspector.d.ts +1 -0
  115. package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +1 -0
  116. package/dist/bigconsole/components/builder/WidgetInspector.js +2 -0
  117. package/dist/bigconsole/components/builder/WidgetInspector.js.map +1 -0
  118. package/dist/bigconsole/components/builder/index.d.ts +1 -0
  119. package/dist/bigconsole/components/builder/index.d.ts.map +1 -0
  120. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +1 -0
  121. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +1 -0
  122. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +2 -0
  123. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -0
  124. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +1 -0
  125. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +1 -0
  126. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +2 -0
  127. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -0
  128. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +1 -0
  129. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +1 -0
  130. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +2 -0
  131. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -0
  132. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +1 -0
  133. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +1 -0
  134. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +2 -0
  135. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -0
  136. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +1 -0
  137. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +1 -0
  138. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +2 -0
  139. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +1 -0
  140. package/dist/bigconsole/components/builder/inspector/index.d.ts +1 -0
  141. package/dist/bigconsole/components/builder/inspector/index.d.ts.map +1 -0
  142. package/dist/bigconsole/components/common/Section.d.ts +1 -0
  143. package/dist/bigconsole/components/common/Section.d.ts.map +1 -0
  144. package/dist/bigconsole/components/common/Section.js +2 -0
  145. package/dist/bigconsole/components/common/Section.js.map +1 -0
  146. package/dist/bigconsole/components/common/index.d.ts +1 -0
  147. package/dist/bigconsole/components/common/index.d.ts.map +1 -0
  148. package/dist/bigconsole/components/common/sectionStyles.d.ts +1 -0
  149. package/dist/bigconsole/components/common/sectionStyles.d.ts.map +1 -0
  150. package/dist/bigconsole/components/common/sectionStyles.js +2 -0
  151. package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
  152. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +1 -0
  153. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +1 -0
  154. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +2 -0
  155. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -0
  156. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +1 -0
  157. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +1 -0
  158. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +2 -0
  159. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -0
  160. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +1 -0
  161. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +1 -0
  162. package/dist/bigconsole/components/dashboard/DashboardGrid.js +2 -0
  163. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -0
  164. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +1 -0
  165. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +1 -0
  166. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +2 -0
  167. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +1 -0
  168. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +1 -0
  169. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +1 -0
  170. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +2 -0
  171. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -0
  172. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +1 -0
  173. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +1 -0
  174. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +64 -63
  175. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -0
  176. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +1 -0
  177. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +1 -0
  178. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +2 -0
  179. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -0
  180. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +1 -0
  181. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +1 -0
  182. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +2 -0
  183. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -0
  184. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +1 -0
  185. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +1 -0
  186. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +2 -0
  187. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -0
  188. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +1 -0
  189. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +1 -0
  190. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +2 -0
  191. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -0
  192. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +1 -0
  193. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +1 -0
  194. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +2 -0
  195. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -0
  196. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +1 -0
  197. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +1 -0
  198. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +1 -0
  199. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +1 -0
  200. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +2 -0
  201. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -0
  202. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +1 -0
  203. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +1 -0
  204. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +2 -0
  205. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -0
  206. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +1 -0
  207. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +1 -0
  208. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +2 -0
  209. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +1 -0
  210. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +1 -0
  211. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +1 -0
  212. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +2 -0
  213. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -0
  214. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +1 -0
  215. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +1 -0
  216. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +1 -0
  217. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +1 -0
  218. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +2 -0
  219. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -0
  220. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +1 -0
  221. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +1 -0
  222. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +2 -0
  223. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -0
  224. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +1 -0
  225. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +1 -0
  226. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +1 -0
  227. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +1 -0
  228. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +108 -97
  229. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -0
  230. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +1 -0
  231. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +1 -0
  232. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +2 -0
  233. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -0
  234. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +1 -0
  235. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +1 -0
  236. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +1 -0
  237. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +1 -0
  238. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +2 -0
  239. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -0
  240. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +1 -0
  241. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +1 -0
  242. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +2 -0
  243. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +1 -0
  244. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +1 -0
  245. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +1 -0
  246. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +2 -0
  247. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +1 -0
  248. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +1 -0
  249. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +1 -0
  250. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +1 -0
  251. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +1 -0
  252. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +1 -0
  253. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +1 -0
  254. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +2 -0
  255. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -0
  256. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +1 -0
  257. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +1 -0
  258. package/dist/bigconsole/components/dashboard/WidgetPalette.js +165 -165
  259. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -0
  260. package/dist/bigconsole/components/dashboard/index.d.ts +1 -0
  261. package/dist/bigconsole/components/dashboard/index.d.ts.map +1 -0
  262. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +1 -0
  263. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +1 -0
  264. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +2 -0
  265. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +1 -0
  266. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +1 -0
  267. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +1 -0
  268. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +2 -0
  269. package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +1 -0
  270. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +1 -0
  271. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +1 -0
  272. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +2 -0
  273. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -0
  274. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +1 -0
  275. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +1 -0
  276. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +1 -0
  277. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +1 -0
  278. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +1 -0
  279. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +1 -0
  280. package/dist/bigconsole/components/datasink/DataSinkCard.js +2 -0
  281. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -0
  282. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +1 -0
  283. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +1 -0
  284. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +2 -0
  285. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -0
  286. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +1 -0
  287. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +1 -0
  288. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +2 -0
  289. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -0
  290. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +1 -0
  291. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +1 -0
  292. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +1 -0
  293. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +1 -0
  294. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +2 -0
  295. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -0
  296. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +1 -0
  297. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +1 -0
  298. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +2 -0
  299. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -0
  300. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +1 -0
  301. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +1 -0
  302. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +2 -0
  303. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -0
  304. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +1 -0
  305. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +1 -0
  306. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +2 -0
  307. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -0
  308. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +1 -0
  309. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +1 -0
  310. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +1 -0
  311. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +1 -0
  312. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +2 -0
  313. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -0
  314. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +1 -0
  315. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +1 -0
  316. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +2 -0
  317. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -0
  318. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +1 -0
  319. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +1 -0
  320. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +2 -0
  321. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -0
  322. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +1 -0
  323. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +1 -0
  324. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +2 -0
  325. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -0
  326. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +1 -0
  327. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +1 -0
  328. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +2 -0
  329. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -0
  330. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +1 -0
  331. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +1 -0
  332. package/dist/bigconsole/components/datasink/SetupStateBadge.js +2 -0
  333. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -0
  334. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +1 -0
  335. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +1 -0
  336. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +2 -0
  337. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -0
  338. package/dist/bigconsole/components/datasink/index.d.ts +1 -0
  339. package/dist/bigconsole/components/datasink/index.d.ts.map +1 -0
  340. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +1 -0
  341. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +1 -0
  342. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +2 -0
  343. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +1 -0
  344. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +1 -0
  345. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +1 -0
  346. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +2 -0
  347. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +1 -0
  348. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +1 -0
  349. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +1 -0
  350. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +2 -0
  351. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +1 -0
  352. package/dist/bigconsole/components/embed/drilldown.d.ts +1 -0
  353. package/dist/bigconsole/components/embed/drilldown.d.ts.map +1 -0
  354. package/dist/bigconsole/components/embed/drilldown.js +2 -0
  355. package/dist/bigconsole/components/embed/drilldown.js.map +1 -0
  356. package/dist/bigconsole/components/embed/index.d.ts +1 -0
  357. package/dist/bigconsole/components/embed/index.d.ts.map +1 -0
  358. package/dist/bigconsole/components/embed/renderer-manifest.d.ts +1 -0
  359. package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +1 -0
  360. package/dist/bigconsole/components/embed/renderer-manifest.js +2 -0
  361. package/dist/bigconsole/components/embed/renderer-manifest.js.map +1 -0
  362. package/dist/bigconsole/components/embed/types.d.ts +1 -0
  363. package/dist/bigconsole/components/embed/types.d.ts.map +1 -0
  364. package/dist/bigconsole/components/embed/types.js +2 -0
  365. package/dist/bigconsole/components/embed/types.js.map +1 -0
  366. package/dist/bigconsole/components/embed/validate.d.ts +1 -0
  367. package/dist/bigconsole/components/embed/validate.d.ts.map +1 -0
  368. package/dist/bigconsole/components/embed/validate.js +2 -0
  369. package/dist/bigconsole/components/embed/validate.js.map +1 -0
  370. package/dist/bigconsole/components/embed/widgetShim.d.ts +1 -0
  371. package/dist/bigconsole/components/embed/widgetShim.d.ts.map +1 -0
  372. package/dist/bigconsole/components/embed/widgetShim.js +2 -0
  373. package/dist/bigconsole/components/embed/widgetShim.js.map +1 -0
  374. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +1 -0
  375. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +1 -0
  376. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +2 -0
  377. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +1 -0
  378. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +1 -0
  379. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +1 -0
  380. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +2 -0
  381. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +1 -0
  382. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +1 -0
  383. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +1 -0
  384. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +2 -0
  385. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +1 -0
  386. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +1 -0
  387. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +1 -0
  388. package/dist/bigconsole/components/embed/widgets/FormEmbed.js +2 -0
  389. package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +1 -0
  390. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +1 -0
  391. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +1 -0
  392. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +2 -0
  393. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +1 -0
  394. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +1 -0
  395. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +1 -0
  396. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +2 -0
  397. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +1 -0
  398. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +1 -0
  399. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +1 -0
  400. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +2 -0
  401. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +1 -0
  402. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +1 -0
  403. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +1 -0
  404. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +2 -0
  405. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +1 -0
  406. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +1 -0
  407. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +1 -0
  408. package/dist/bigconsole/components/embed/widgets/ListEmbed.js +2 -0
  409. package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +1 -0
  410. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +1 -0
  411. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +1 -0
  412. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +2 -0
  413. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +1 -0
  414. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +1 -0
  415. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +1 -0
  416. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +2 -0
  417. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +1 -0
  418. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +1 -0
  419. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +1 -0
  420. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +2 -0
  421. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +1 -0
  422. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +1 -0
  423. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +1 -0
  424. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +2 -0
  425. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +1 -0
  426. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +1 -0
  427. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +1 -0
  428. package/dist/bigconsole/components/embed/widgets/TableEmbed.js +2 -0
  429. package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +1 -0
  430. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +1 -0
  431. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +1 -0
  432. package/dist/bigconsole/components/embed/widgets/TextEmbed.js +2 -0
  433. package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +1 -0
  434. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +1 -0
  435. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +1 -0
  436. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +2 -0
  437. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +1 -0
  438. package/dist/bigconsole/components/embed/widgets/shared.d.ts +1 -0
  439. package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +1 -0
  440. package/dist/bigconsole/components/embed/widgets/shared.js +2 -0
  441. package/dist/bigconsole/components/embed/widgets/shared.js.map +1 -0
  442. package/dist/bigconsole/components/overview/DashboardGuide.d.ts +1 -0
  443. package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +1 -0
  444. package/dist/bigconsole/components/overview/DashboardGuide.js +2 -0
  445. package/dist/bigconsole/components/overview/DashboardGuide.js.map +1 -0
  446. package/dist/bigconsole/components/overview/DataHealthCard.d.ts +1 -0
  447. package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +1 -0
  448. package/dist/bigconsole/components/overview/DataHealthCard.js +2 -0
  449. package/dist/bigconsole/components/overview/DataHealthCard.js.map +1 -0
  450. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +1 -0
  451. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +1 -0
  452. package/dist/bigconsole/components/overview/OverviewQuickActions.js +2 -0
  453. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +1 -0
  454. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +1 -0
  455. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +1 -0
  456. package/dist/bigconsole/components/overview/OverviewStatCard.js +2 -0
  457. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +1 -0
  458. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +1 -0
  459. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +1 -0
  460. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +2 -0
  461. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +1 -0
  462. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +1 -0
  463. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +1 -0
  464. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +2 -0
  465. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +1 -0
  466. package/dist/bigconsole/components/overview/index.d.ts +1 -0
  467. package/dist/bigconsole/components/overview/index.d.ts.map +1 -0
  468. package/dist/bigconsole/components/overview/overviewModel.d.ts +1 -0
  469. package/dist/bigconsole/components/overview/overviewModel.d.ts.map +1 -0
  470. package/dist/bigconsole/components/overview/overviewModel.js +2 -0
  471. package/dist/bigconsole/components/overview/overviewModel.js.map +1 -0
  472. package/dist/bigconsole/components/overview/useOverviewData.d.ts +1 -0
  473. package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +1 -0
  474. package/dist/bigconsole/components/overview/useOverviewData.js +2 -0
  475. package/dist/bigconsole/components/overview/useOverviewData.js.map +1 -0
  476. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +1 -0
  477. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +1 -0
  478. package/dist/bigconsole/components/parser/DataSinkSelector.js +2 -0
  479. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -0
  480. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +1 -0
  481. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +1 -0
  482. package/dist/bigconsole/components/parser/ExportParserDialog.js +2 -0
  483. package/dist/bigconsole/components/parser/ExportParserDialog.js.map +1 -0
  484. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +1 -0
  485. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +1 -0
  486. package/dist/bigconsole/components/parser/ExpressionEditor.js +2 -0
  487. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -0
  488. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +1 -0
  489. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +1 -0
  490. package/dist/bigconsole/components/parser/ImportParserDialog.js +2 -0
  491. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -0
  492. package/dist/bigconsole/components/parser/ParserBuilder.d.ts +1 -0
  493. package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +1 -0
  494. package/dist/bigconsole/components/parser/ParserCard.d.ts +1 -0
  495. package/dist/bigconsole/components/parser/ParserCard.d.ts.map +1 -0
  496. package/dist/bigconsole/components/parser/ParserCard.js +2 -0
  497. package/dist/bigconsole/components/parser/ParserCard.js.map +1 -0
  498. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +1 -0
  499. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +1 -0
  500. package/dist/bigconsole/components/parser/ParserSelector.d.ts +1 -0
  501. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +1 -0
  502. package/dist/bigconsole/components/parser/ParserSelector.js +2 -0
  503. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -0
  504. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +1 -0
  505. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +1 -0
  506. package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -0
  507. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -0
  508. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +1 -0
  509. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +1 -0
  510. package/dist/bigconsole/components/parser/ParserTypeBadge.js +2 -0
  511. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -0
  512. package/dist/bigconsole/components/parser/TestPanel.d.ts +1 -0
  513. package/dist/bigconsole/components/parser/TestPanel.d.ts.map +1 -0
  514. package/dist/bigconsole/components/parser/index.d.ts +1 -0
  515. package/dist/bigconsole/components/parser/index.d.ts.map +1 -0
  516. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +1 -0
  517. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +1 -0
  518. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +1 -0
  519. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +1 -0
  520. package/dist/bigconsole/components/pipeline/PipelineCard.js +2 -0
  521. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -0
  522. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +1 -0
  523. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +1 -0
  524. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +2 -0
  525. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -0
  526. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +1 -0
  527. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +1 -0
  528. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +2 -0
  529. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +1 -0
  530. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +1 -0
  531. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +1 -0
  532. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +2 -0
  533. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -0
  534. package/dist/bigconsole/components/pipeline/index.d.ts +1 -0
  535. package/dist/bigconsole/components/pipeline/index.d.ts.map +1 -0
  536. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +1 -0
  537. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +1 -0
  538. package/dist/bigconsole/components/preview/AiPreviewContent.js +2 -0
  539. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -0
  540. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +1 -0
  541. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +1 -0
  542. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +2 -0
  543. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -0
  544. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +1 -0
  545. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +1 -0
  546. package/dist/bigconsole/components/preview/AiPreviewPanel.js +2 -0
  547. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -0
  548. package/dist/bigconsole/components/preview/parserPreview.d.ts +1 -0
  549. package/dist/bigconsole/components/preview/parserPreview.d.ts.map +1 -0
  550. package/dist/bigconsole/components/preview/parserPreview.js +2 -0
  551. package/dist/bigconsole/components/preview/parserPreview.js.map +1 -0
  552. package/dist/bigconsole/components/preview/previewShared.d.ts +1 -0
  553. package/dist/bigconsole/components/preview/previewShared.d.ts.map +1 -0
  554. package/dist/bigconsole/components/preview/previewShared.js +2 -0
  555. package/dist/bigconsole/components/preview/previewShared.js.map +1 -0
  556. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +1 -0
  557. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +1 -0
  558. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +2 -0
  559. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -0
  560. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +1 -0
  561. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +1 -0
  562. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +2 -0
  563. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -0
  564. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +1 -0
  565. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -0
  566. package/dist/bigconsole/components/widgets/PropertiesPanel.js +2 -0
  567. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -0
  568. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +1 -0
  569. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +1 -0
  570. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +2 -0
  571. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -0
  572. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +1 -0
  573. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +1 -0
  574. package/dist/bigconsole/components/widgets/WidgetHeader.js +2 -0
  575. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -0
  576. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +1 -0
  577. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +1 -0
  578. package/dist/bigconsole/components/widgets/WidgetMenu.js +2 -0
  579. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -0
  580. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +1 -0
  581. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +1 -0
  582. package/dist/bigconsole/components/widgets/WidgetRegistry.js +3 -0
  583. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -0
  584. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +1 -0
  585. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +1 -0
  586. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +1 -0
  587. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +1 -0
  588. package/dist/bigconsole/components/widgets/WidgetWrapper.js +2 -0
  589. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -0
  590. package/dist/bigconsole/components/widgets/actionConfig.d.ts +1 -0
  591. package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +1 -0
  592. package/dist/bigconsole/components/widgets/actionConfig.js +2 -0
  593. package/dist/bigconsole/components/widgets/actionConfig.js.map +1 -0
  594. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +1 -0
  595. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +1 -0
  596. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +2 -0
  597. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -0
  598. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +1 -0
  599. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +1 -0
  600. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +1 -0
  601. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +1 -0
  602. package/dist/bigconsole/components/widgets/calendar/CalendarView.js +2 -0
  603. package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +1 -0
  604. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +1 -0
  605. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +1 -0
  606. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +2 -0
  607. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -0
  608. package/dist/bigconsole/components/widgets/calendar/index.d.ts +1 -0
  609. package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +1 -0
  610. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +1 -0
  611. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +1 -0
  612. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +2 -0
  613. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -0
  614. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +1 -0
  615. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +1 -0
  616. package/dist/bigconsole/components/widgets/chart/ChartLegend.js +2 -0
  617. package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +1 -0
  618. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +1 -0
  619. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +1 -0
  620. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +2 -0
  621. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +1 -0
  622. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +1 -0
  623. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +1 -0
  624. package/dist/bigconsole/components/widgets/chart/ChartWidget.js +2 -0
  625. package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +1 -0
  626. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +1 -0
  627. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +1 -0
  628. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +2 -0
  629. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +1 -0
  630. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +1 -0
  631. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +1 -0
  632. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +2 -0
  633. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +1 -0
  634. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +1 -0
  635. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +1 -0
  636. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +2 -0
  637. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +1 -0
  638. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +1 -0
  639. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +1 -0
  640. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +2 -0
  641. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +1 -0
  642. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +1 -0
  643. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +1 -0
  644. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +2 -0
  645. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +1 -0
  646. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +1 -0
  647. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +1 -0
  648. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +2 -0
  649. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +1 -0
  650. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +1 -0
  651. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +1 -0
  652. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +2 -0
  653. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +1 -0
  654. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +1 -0
  655. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +1 -0
  656. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +2 -0
  657. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +1 -0
  658. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +1 -0
  659. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +1 -0
  660. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +1 -0
  661. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +1 -0
  662. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +2 -0
  663. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +1 -0
  664. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +1 -0
  665. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +1 -0
  666. package/dist/bigconsole/components/widgets/chart/index.d.ts +1 -0
  667. package/dist/bigconsole/components/widgets/chart/index.d.ts.map +1 -0
  668. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +1 -0
  669. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +1 -0
  670. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +2 -0
  671. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -0
  672. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +1 -0
  673. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +1 -0
  674. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +133 -73
  675. package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +1 -0
  676. package/dist/bigconsole/components/widgets/custom/config.d.ts +1 -0
  677. package/dist/bigconsole/components/widgets/custom/config.d.ts.map +1 -0
  678. package/dist/bigconsole/components/widgets/custom/config.js +2 -0
  679. package/dist/bigconsole/components/widgets/custom/config.js.map +1 -0
  680. package/dist/bigconsole/components/widgets/custom/index.d.ts +1 -0
  681. package/dist/bigconsole/components/widgets/custom/index.d.ts.map +1 -0
  682. package/dist/bigconsole/components/widgets/custom/utils.d.ts +1 -0
  683. package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +1 -0
  684. package/dist/bigconsole/components/widgets/custom/utils.js +2 -0
  685. package/dist/bigconsole/components/widgets/custom/utils.js.map +1 -0
  686. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +1 -0
  687. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +1 -0
  688. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +2 -0
  689. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -0
  690. package/dist/bigconsole/components/widgets/event-logs/index.d.ts +1 -0
  691. package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +1 -0
  692. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +1 -0
  693. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +1 -0
  694. package/dist/bigconsole/components/widgets/form/FormWidget.js +2 -0
  695. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -0
  696. package/dist/bigconsole/components/widgets/form/index.d.ts +1 -0
  697. package/dist/bigconsole/components/widgets/form/index.d.ts.map +1 -0
  698. package/dist/bigconsole/components/widgets/funnel/index.d.ts +1 -0
  699. package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +1 -0
  700. package/dist/bigconsole/components/widgets/funnel/index.js +2 -0
  701. package/dist/bigconsole/components/widgets/funnel/index.js.map +1 -0
  702. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +1 -0
  703. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +1 -0
  704. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +2 -0
  705. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -0
  706. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +1 -0
  707. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +1 -0
  708. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +2 -0
  709. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -0
  710. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +1 -0
  711. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +1 -0
  712. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +2 -0
  713. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -0
  714. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +1 -0
  715. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +1 -0
  716. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +2 -0
  717. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -0
  718. package/dist/bigconsole/components/widgets/gauge/index.d.ts +1 -0
  719. package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +1 -0
  720. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +1 -0
  721. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +1 -0
  722. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +2 -0
  723. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -0
  724. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +1 -0
  725. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +1 -0
  726. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +2 -0
  727. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +1 -0
  728. package/dist/bigconsole/components/widgets/heatmap/index.d.ts +1 -0
  729. package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +1 -0
  730. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +10 -28
  731. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +1 -0
  732. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +44 -115
  733. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -0
  734. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +2 -2
  735. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +1 -0
  736. package/dist/bigconsole/components/widgets/iframe-widget/index.js +2 -3
  737. package/dist/bigconsole/components/widgets/index.d.ts +1 -0
  738. package/dist/bigconsole/components/widgets/index.d.ts.map +1 -0
  739. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +1 -0
  740. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +1 -0
  741. package/dist/bigconsole/components/widgets/kanban/KanbanView.js +2 -0
  742. package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +1 -0
  743. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +1 -0
  744. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +1 -0
  745. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +2 -0
  746. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -0
  747. package/dist/bigconsole/components/widgets/kanban/index.d.ts +1 -0
  748. package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +1 -0
  749. package/dist/bigconsole/components/widgets/kanban/model.d.ts +1 -0
  750. package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +1 -0
  751. package/dist/bigconsole/components/widgets/kanban/model.js +2 -0
  752. package/dist/bigconsole/components/widgets/kanban/model.js.map +1 -0
  753. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +1 -0
  754. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +1 -0
  755. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +2 -0
  756. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +1 -0
  757. package/dist/bigconsole/components/widgets/kpi/index.d.ts +1 -0
  758. package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +1 -0
  759. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +1 -0
  760. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +1 -0
  761. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +2 -0
  762. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -0
  763. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +1 -0
  764. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +1 -0
  765. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +1 -0
  766. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +1 -0
  767. package/dist/bigconsole/components/widgets/list/ListConfig.js +2 -0
  768. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -0
  769. package/dist/bigconsole/components/widgets/list/ListItem.d.ts +1 -0
  770. package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +1 -0
  771. package/dist/bigconsole/components/widgets/list/ListItem.js +2 -0
  772. package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -0
  773. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +1 -0
  774. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +1 -0
  775. package/dist/bigconsole/components/widgets/list/ListWidget.js +2 -0
  776. package/dist/bigconsole/components/widgets/list/ListWidget.js.map +1 -0
  777. package/dist/bigconsole/components/widgets/list/index.d.ts +1 -0
  778. package/dist/bigconsole/components/widgets/list/index.d.ts.map +1 -0
  779. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +1 -0
  780. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +1 -0
  781. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +2 -0
  782. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -0
  783. package/dist/bigconsole/components/widgets/map-widget/index.d.ts +1 -0
  784. package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +1 -0
  785. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +1 -0
  786. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +1 -0
  787. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +2 -0
  788. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +1 -0
  789. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +1 -0
  790. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +1 -0
  791. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +2 -0
  792. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -0
  793. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +1 -0
  794. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +1 -0
  795. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +2 -0
  796. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -0
  797. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +1 -0
  798. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +1 -0
  799. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +2 -0
  800. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -0
  801. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +1 -0
  802. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +1 -0
  803. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +2 -0
  804. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -0
  805. package/dist/bigconsole/components/widgets/metric-card/index.d.ts +1 -0
  806. package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +1 -0
  807. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +1 -0
  808. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +1 -0
  809. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +2 -0
  810. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -0
  811. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +1 -0
  812. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +1 -0
  813. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +1 -0
  814. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +1 -0
  815. package/dist/bigconsole/components/widgets/progress/ProgressBar.js +2 -0
  816. package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +1 -0
  817. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +1 -0
  818. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +1 -0
  819. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +2 -0
  820. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -0
  821. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +1 -0
  822. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +1 -0
  823. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +2 -0
  824. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -0
  825. package/dist/bigconsole/components/widgets/progress/index.d.ts +1 -0
  826. package/dist/bigconsole/components/widgets/progress/index.d.ts.map +1 -0
  827. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +1 -0
  828. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +1 -0
  829. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +2 -0
  830. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -0
  831. package/dist/bigconsole/components/widgets/retention/index.d.ts +1 -0
  832. package/dist/bigconsole/components/widgets/retention/index.d.ts.map +1 -0
  833. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +1 -0
  834. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +1 -0
  835. package/dist/bigconsole/components/widgets/states/EmptyState.js +2 -0
  836. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -0
  837. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +1 -0
  838. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +1 -0
  839. package/dist/bigconsole/components/widgets/states/ErrorState.js +2 -0
  840. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -0
  841. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +1 -0
  842. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +1 -0
  843. package/dist/bigconsole/components/widgets/states/LoadingState.js +2 -0
  844. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -0
  845. package/dist/bigconsole/components/widgets/states/index.d.ts +1 -0
  846. package/dist/bigconsole/components/widgets/states/index.d.ts.map +1 -0
  847. package/dist/bigconsole/components/widgets/table/TableCell.d.ts +1 -0
  848. package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +1 -0
  849. package/dist/bigconsole/components/widgets/table/TableCell.js +2 -0
  850. package/dist/bigconsole/components/widgets/table/TableCell.js.map +1 -0
  851. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +1 -0
  852. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +1 -0
  853. package/dist/bigconsole/components/widgets/table/TableConfig.js +2 -0
  854. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -0
  855. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +1 -0
  856. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +1 -0
  857. package/dist/bigconsole/components/widgets/table/TableHeader.js +2 -0
  858. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -0
  859. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +1 -0
  860. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +1 -0
  861. package/dist/bigconsole/components/widgets/table/TablePagination.js +2 -0
  862. package/dist/bigconsole/components/widgets/table/TablePagination.js.map +1 -0
  863. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +1 -0
  864. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +1 -0
  865. package/dist/bigconsole/components/widgets/table/TableWidget.js +2 -0
  866. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -0
  867. package/dist/bigconsole/components/widgets/table/cellLink.d.ts +1 -0
  868. package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +1 -0
  869. package/dist/bigconsole/components/widgets/table/cellLink.js +2 -0
  870. package/dist/bigconsole/components/widgets/table/cellLink.js.map +1 -0
  871. package/dist/bigconsole/components/widgets/table/index.d.ts +1 -0
  872. package/dist/bigconsole/components/widgets/table/index.d.ts.map +1 -0
  873. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +1 -0
  874. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +1 -0
  875. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +29 -110
  876. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -0
  877. package/dist/bigconsole/components/widgets/text-widget/index.d.ts +1 -0
  878. package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +1 -0
  879. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +1 -6
  880. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +1 -0
  881. package/dist/bigconsole/components/widgets/text-widget/textData.js +16 -17
  882. package/dist/bigconsole/components/widgets/text-widget/textData.js.map +1 -0
  883. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +1 -0
  884. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +1 -0
  885. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +2 -0
  886. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -0
  887. package/dist/bigconsole/components/widgets/timeline/index.d.ts +1 -0
  888. package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +1 -0
  889. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +1 -0
  890. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +1 -0
  891. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -0
  892. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -0
  893. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +1 -0
  894. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +1 -0
  895. package/dist/bigconsole/components/widgets/utils/inferFields.js +2 -0
  896. package/dist/bigconsole/components/widgets/utils/inferFields.js.map +1 -0
  897. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +1 -0
  898. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +1 -0
  899. package/dist/bigconsole/components/widgets/utils/targetProgress.js +2 -0
  900. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +1 -0
  901. package/dist/bigconsole/components/widgets/utils/translate.d.ts +1 -0
  902. package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +1 -0
  903. package/dist/bigconsole/components/widgets/utils/translate.js +2 -0
  904. package/dist/bigconsole/components/widgets/utils/translate.js.map +1 -0
  905. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +1 -0
  906. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +1 -0
  907. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +2 -0
  908. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -0
  909. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +1 -0
  910. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +1 -0
  911. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +1 -0
  912. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +1 -0
  913. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +2 -0
  914. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -0
  915. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +1 -0
  916. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +1 -0
  917. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +1 -0
  918. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +1 -0
  919. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +1 -0
  920. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +1 -0
  921. package/dist/bigconsole/components/workflow/WorkflowCard.js +2 -0
  922. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -0
  923. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +1 -0
  924. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +1 -0
  925. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +2 -0
  926. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -0
  927. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +1 -0
  928. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +1 -0
  929. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +2 -0
  930. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +1 -0
  931. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +1 -0
  932. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +1 -0
  933. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +2 -0
  934. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +1 -0
  935. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +1 -0
  936. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +1 -0
  937. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +2 -0
  938. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +1 -0
  939. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +1 -0
  940. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +1 -0
  941. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +2 -0
  942. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -0
  943. package/dist/bigconsole/components/workflow/index.d.ts +1 -0
  944. package/dist/bigconsole/components/workflow/index.d.ts.map +1 -0
  945. package/dist/bigconsole/constants/backendErrors.d.ts +1 -0
  946. package/dist/bigconsole/constants/backendErrors.d.ts.map +1 -0
  947. package/dist/bigconsole/constants.d.ts +1 -0
  948. package/dist/bigconsole/constants.d.ts.map +1 -0
  949. package/dist/bigconsole/constants.js +2 -0
  950. package/dist/bigconsole/constants.js.map +1 -0
  951. package/dist/bigconsole/context/BigConsoleContext.d.ts +1 -10
  952. package/dist/bigconsole/context/BigConsoleContext.d.ts.map +1 -0
  953. package/dist/bigconsole/context/BigConsoleContext.js +32 -47
  954. package/dist/bigconsole/context/BigConsoleContext.js.map +1 -0
  955. package/dist/bigconsole/context/index.d.ts +2 -1
  956. package/dist/bigconsole/context/index.d.ts.map +1 -0
  957. package/dist/bigconsole/contexts/CrossFilterContext.d.ts +1 -0
  958. package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +1 -0
  959. package/dist/bigconsole/contexts/CrossFilterContext.js +2 -0
  960. package/dist/bigconsole/contexts/CrossFilterContext.js.map +1 -0
  961. package/dist/bigconsole/contexts/NavigationContext.d.ts +1 -0
  962. package/dist/bigconsole/contexts/NavigationContext.d.ts.map +1 -0
  963. package/dist/bigconsole/contexts/NavigationContext.js +2 -0
  964. package/dist/bigconsole/contexts/NavigationContext.js.map +1 -0
  965. package/dist/bigconsole/contexts/index.d.ts +1 -0
  966. package/dist/bigconsole/contexts/index.d.ts.map +1 -0
  967. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +1 -0
  968. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +1 -0
  969. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +2 -0
  970. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -0
  971. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +1 -0
  972. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +1 -0
  973. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +2 -0
  974. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -0
  975. package/dist/bigconsole/customWidget/index.d.ts +1 -0
  976. package/dist/bigconsole/customWidget/index.d.ts.map +1 -0
  977. package/dist/bigconsole/customWidget/proposalContract.d.ts +1 -0
  978. package/dist/bigconsole/customWidget/proposalContract.d.ts.map +1 -0
  979. package/dist/bigconsole/customWidget/proposalContract.js +2 -0
  980. package/dist/bigconsole/customWidget/proposalContract.js.map +1 -0
  981. package/dist/bigconsole/customWidget/proposalSource.d.ts +1 -0
  982. package/dist/bigconsole/customWidget/proposalSource.d.ts.map +1 -0
  983. package/dist/bigconsole/customWidget/proposalSource.js +2 -0
  984. package/dist/bigconsole/customWidget/proposalSource.js.map +1 -0
  985. package/dist/bigconsole/graphql/apollo-compat.d.ts +1 -0
  986. package/dist/bigconsole/graphql/apollo-compat.d.ts.map +1 -0
  987. package/dist/bigconsole/graphql/storeTemplates.d.ts +1 -0
  988. package/dist/bigconsole/graphql/storeTemplates.d.ts.map +1 -0
  989. package/dist/bigconsole/graphql/storeTemplates.js +2 -0
  990. package/dist/bigconsole/graphql/storeTemplates.js.map +1 -0
  991. package/dist/bigconsole/hooks/index.d.ts +1 -0
  992. package/dist/bigconsole/hooks/index.d.ts.map +1 -0
  993. package/dist/bigconsole/hooks/useActivePage.d.ts +1 -0
  994. package/dist/bigconsole/hooks/useActivePage.d.ts.map +1 -0
  995. package/dist/bigconsole/hooks/useActivePage.js +2 -0
  996. package/dist/bigconsole/hooks/useActivePage.js.map +1 -0
  997. package/dist/bigconsole/hooks/useAutoRefresh.d.ts +1 -0
  998. package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +1 -0
  999. package/dist/bigconsole/hooks/useAutoRefresh.js +2 -0
  1000. package/dist/bigconsole/hooks/useAutoRefresh.js.map +1 -0
  1001. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +1 -0
  1002. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +1 -0
  1003. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +2 -0
  1004. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +1 -0
  1005. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +1 -0
  1006. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +1 -0
  1007. package/dist/bigconsole/hooks/useBigConsoleSettings.js +2 -0
  1008. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +1 -0
  1009. package/dist/bigconsole/hooks/useCrossFilter.d.ts +1 -0
  1010. package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +1 -0
  1011. package/dist/bigconsole/hooks/useCrossFilter.js +2 -0
  1012. package/dist/bigconsole/hooks/useCrossFilter.js.map +1 -0
  1013. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +1 -0
  1014. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +1 -0
  1015. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +2 -0
  1016. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +1 -0
  1017. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +1 -0
  1018. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +1 -0
  1019. package/dist/bigconsole/hooks/useDashboardImageExport.js +2 -0
  1020. package/dist/bigconsole/hooks/useDashboardImageExport.js.map +1 -0
  1021. package/dist/bigconsole/hooks/useDashboardOperations.d.ts +1 -0
  1022. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +1 -0
  1023. package/dist/bigconsole/hooks/useDashboardOperations.js +2 -0
  1024. package/dist/bigconsole/hooks/useDashboardOperations.js.map +1 -0
  1025. package/dist/bigconsole/hooks/useDashboardSharing.d.ts +1 -0
  1026. package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +1 -0
  1027. package/dist/bigconsole/hooks/useDashboardSharing.js +2 -0
  1028. package/dist/bigconsole/hooks/useDashboardSharing.js.map +1 -0
  1029. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +1 -0
  1030. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +1 -0
  1031. package/dist/bigconsole/hooks/useDashboardViews.d.ts +1 -0
  1032. package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +1 -0
  1033. package/dist/bigconsole/hooks/useDashboardViews.js +2 -0
  1034. package/dist/bigconsole/hooks/useDashboardViews.js.map +1 -0
  1035. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +1 -0
  1036. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +1 -0
  1037. package/dist/bigconsole/hooks/useDataSinkAlerts.js +2 -0
  1038. package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +1 -0
  1039. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +1 -7
  1040. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +1 -0
  1041. package/dist/bigconsole/hooks/useDataSinkOperations.js +100 -109
  1042. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +1 -0
  1043. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +1 -0
  1044. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +1 -0
  1045. package/dist/bigconsole/hooks/useDataSinkSubscription.js +3 -0
  1046. package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +1 -0
  1047. package/dist/bigconsole/hooks/useDrilldown.d.ts +1 -0
  1048. package/dist/bigconsole/hooks/useDrilldown.d.ts.map +1 -0
  1049. package/dist/bigconsole/hooks/useDrilldown.js +70 -69
  1050. package/dist/bigconsole/hooks/useDrilldown.js.map +1 -0
  1051. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +1 -0
  1052. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +1 -0
  1053. package/dist/bigconsole/hooks/useDrilldownOperations.js +2 -0
  1054. package/dist/bigconsole/hooks/useDrilldownOperations.js.map +1 -0
  1055. package/dist/bigconsole/hooks/useEventLogs.d.ts +1 -0
  1056. package/dist/bigconsole/hooks/useEventLogs.d.ts.map +1 -0
  1057. package/dist/bigconsole/hooks/useEventLogs.js +2 -0
  1058. package/dist/bigconsole/hooks/useEventLogs.js.map +1 -0
  1059. package/dist/bigconsole/hooks/useEventWebhooks.d.ts +1 -0
  1060. package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +1 -0
  1061. package/dist/bigconsole/hooks/useEventWebhooks.js +2 -0
  1062. package/dist/bigconsole/hooks/useEventWebhooks.js.map +1 -0
  1063. package/dist/bigconsole/hooks/useExportDashboard.d.ts +1 -0
  1064. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +1 -0
  1065. package/dist/bigconsole/hooks/useExportDashboard.js +2 -0
  1066. package/dist/bigconsole/hooks/useExportDashboard.js.map +1 -0
  1067. package/dist/bigconsole/hooks/useExportDataSink.d.ts +1 -0
  1068. package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +1 -0
  1069. package/dist/bigconsole/hooks/useExportDataSink.js +3 -1
  1070. package/dist/bigconsole/hooks/useExportDataSink.js.map +1 -0
  1071. package/dist/bigconsole/hooks/useExportParser.d.ts +1 -0
  1072. package/dist/bigconsole/hooks/useExportParser.d.ts.map +1 -0
  1073. package/dist/bigconsole/hooks/useExportParser.js +2 -0
  1074. package/dist/bigconsole/hooks/useExportParser.js.map +1 -0
  1075. package/dist/bigconsole/hooks/useFilterPresets.d.ts +1 -0
  1076. package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +1 -0
  1077. package/dist/bigconsole/hooks/useFilterPresets.js +2 -0
  1078. package/dist/bigconsole/hooks/useFilterPresets.js.map +1 -0
  1079. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +1 -0
  1080. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +1 -0
  1081. package/dist/bigconsole/hooks/useFilterUrlSync.js +2 -0
  1082. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +1 -0
  1083. package/dist/bigconsole/hooks/useGlobalFilters.d.ts +1 -0
  1084. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +1 -0
  1085. package/dist/bigconsole/hooks/useGlobalFilters.js +2 -0
  1086. package/dist/bigconsole/hooks/useGlobalFilters.js.map +1 -0
  1087. package/dist/bigconsole/hooks/useImportDashboard.d.ts +1 -0
  1088. package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +1 -0
  1089. package/dist/bigconsole/hooks/useImportDashboard.js +2 -0
  1090. package/dist/bigconsole/hooks/useImportDashboard.js.map +1 -0
  1091. package/dist/bigconsole/hooks/useImportDataSink.d.ts +1 -0
  1092. package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +1 -0
  1093. package/dist/bigconsole/hooks/useImportDataSink.js +92 -102
  1094. package/dist/bigconsole/hooks/useImportDataSink.js.map +1 -0
  1095. package/dist/bigconsole/hooks/useImportParser.d.ts +1 -0
  1096. package/dist/bigconsole/hooks/useImportParser.d.ts.map +1 -0
  1097. package/dist/bigconsole/hooks/useImportParser.js +2 -0
  1098. package/dist/bigconsole/hooks/useImportParser.js.map +1 -0
  1099. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +1 -0
  1100. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +1 -0
  1101. package/dist/bigconsole/hooks/useInstalledWidgets.js +2 -0
  1102. package/dist/bigconsole/hooks/useInstalledWidgets.js.map +1 -0
  1103. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +1 -0
  1104. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +1 -0
  1105. package/dist/bigconsole/hooks/useModalFocusTrap.js +2 -0
  1106. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
  1107. package/dist/bigconsole/hooks/usePageOperations.d.ts +1 -0
  1108. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +1 -0
  1109. package/dist/bigconsole/hooks/usePageOperations.js +2 -0
  1110. package/dist/bigconsole/hooks/usePageOperations.js.map +1 -0
  1111. package/dist/bigconsole/hooks/useParserOperations.d.ts +1 -0
  1112. package/dist/bigconsole/hooks/useParserOperations.d.ts.map +1 -0
  1113. package/dist/bigconsole/hooks/useParserOperations.js +2 -0
  1114. package/dist/bigconsole/hooks/useParserOperations.js.map +1 -0
  1115. package/dist/bigconsole/hooks/usePipelineOperations.d.ts +1 -0
  1116. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +1 -0
  1117. package/dist/bigconsole/hooks/usePipelineOperations.js +2 -0
  1118. package/dist/bigconsole/hooks/usePipelineOperations.js.map +1 -0
  1119. package/dist/bigconsole/hooks/useShareRecipients.d.ts +1 -0
  1120. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +1 -0
  1121. package/dist/bigconsole/hooks/useShareRecipients.js +2 -0
  1122. package/dist/bigconsole/hooks/useShareRecipients.js.map +1 -0
  1123. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +1 -0
  1124. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +1 -0
  1125. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +2 -0
  1126. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +1 -0
  1127. package/dist/bigconsole/hooks/useWidgetActions.d.ts +1 -0
  1128. package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +1 -0
  1129. package/dist/bigconsole/hooks/useWidgetActions.js +2 -0
  1130. package/dist/bigconsole/hooks/useWidgetActions.js.map +1 -0
  1131. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +1 -0
  1132. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +1 -0
  1133. package/dist/bigconsole/hooks/useWidgetCatalog.js +2 -0
  1134. package/dist/bigconsole/hooks/useWidgetCatalog.js.map +1 -0
  1135. package/dist/bigconsole/hooks/useWidgetComments.d.ts +1 -0
  1136. package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +1 -0
  1137. package/dist/bigconsole/hooks/useWidgetComments.js +2 -0
  1138. package/dist/bigconsole/hooks/useWidgetComments.js.map +1 -0
  1139. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +1 -0
  1140. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +1 -0
  1141. package/dist/bigconsole/hooks/useWidgetConfigPersist.js +2 -0
  1142. package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +1 -0
  1143. package/dist/bigconsole/hooks/useWidgetData.d.ts +1 -0
  1144. package/dist/bigconsole/hooks/useWidgetData.d.ts.map +1 -0
  1145. package/dist/bigconsole/hooks/useWidgetData.js +2 -0
  1146. package/dist/bigconsole/hooks/useWidgetData.js.map +1 -0
  1147. package/dist/bigconsole/hooks/useWidgetEvents.d.ts +1 -0
  1148. package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +1 -0
  1149. package/dist/bigconsole/hooks/useWidgetEvents.js +2 -0
  1150. package/dist/bigconsole/hooks/useWidgetEvents.js.map +1 -0
  1151. package/dist/bigconsole/hooks/useWidgetExport.d.ts +1 -0
  1152. package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +1 -0
  1153. package/dist/bigconsole/hooks/useWidgetExport.js +2 -0
  1154. package/dist/bigconsole/hooks/useWidgetExport.js.map +1 -0
  1155. package/dist/bigconsole/hooks/useWidgetOperations.d.ts +1 -0
  1156. package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +1 -0
  1157. package/dist/bigconsole/hooks/useWidgetOperations.js +2 -0
  1158. package/dist/bigconsole/hooks/useWidgetOperations.js.map +1 -0
  1159. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +1 -0
  1160. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +1 -0
  1161. package/dist/bigconsole/hooks/useWorkflowOperations.js +2 -0
  1162. package/dist/bigconsole/hooks/useWorkflowOperations.js.map +1 -0
  1163. package/dist/bigconsole/index.d.ts +1 -0
  1164. package/dist/bigconsole/index.d.ts.map +1 -0
  1165. package/dist/bigconsole/modules/dashboard/index.d.ts +1 -0
  1166. package/dist/bigconsole/modules/dashboard/index.d.ts.map +1 -0
  1167. package/dist/bigconsole/modules/index.d.ts +1 -0
  1168. package/dist/bigconsole/modules/index.d.ts.map +1 -0
  1169. package/dist/bigconsole/modules/renderer/index.d.ts +1 -0
  1170. package/dist/bigconsole/modules/renderer/index.d.ts.map +1 -0
  1171. package/dist/bigconsole/modules/widget/index.d.ts +1 -0
  1172. package/dist/bigconsole/modules/widget/index.d.ts.map +1 -0
  1173. package/dist/bigconsole/pages/AdminPage.d.ts +1 -0
  1174. package/dist/bigconsole/pages/AdminPage.d.ts.map +1 -0
  1175. package/dist/bigconsole/pages/AdminPage.js +2 -0
  1176. package/dist/bigconsole/pages/AdminPage.js.map +1 -0
  1177. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +1 -0
  1178. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -0
  1179. package/dist/bigconsole/pages/DashboardBuilderPage.js +2 -0
  1180. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -0
  1181. package/dist/bigconsole/pages/DashboardViewPage.d.ts +1 -0
  1182. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +1 -0
  1183. package/dist/bigconsole/pages/DashboardViewPage.js +207 -205
  1184. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -0
  1185. package/dist/bigconsole/pages/DashboardsPage.d.ts +1 -0
  1186. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +1 -0
  1187. package/dist/bigconsole/pages/DashboardsPage.js +2 -0
  1188. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -0
  1189. package/dist/bigconsole/pages/DataParsersPage.d.ts +1 -0
  1190. package/dist/bigconsole/pages/DataParsersPage.d.ts.map +1 -0
  1191. package/dist/bigconsole/pages/DataParsersPage.js +2 -0
  1192. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -0
  1193. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +1 -0
  1194. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -0
  1195. package/dist/bigconsole/pages/DataSinkAlertsPage.js +2 -0
  1196. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -0
  1197. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +1 -0
  1198. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -0
  1199. package/dist/bigconsole/pages/DataSinkBuilderPage.js +282 -312
  1200. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -0
  1201. package/dist/bigconsole/pages/DataSinkViewPage.d.ts +1 -0
  1202. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +1 -0
  1203. package/dist/bigconsole/pages/DataSinkViewPage.js +257 -256
  1204. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -0
  1205. package/dist/bigconsole/pages/DataSinksPage.d.ts +1 -0
  1206. package/dist/bigconsole/pages/DataSinksPage.d.ts.map +1 -0
  1207. package/dist/bigconsole/pages/DataSinksPage.js +197 -196
  1208. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -0
  1209. package/dist/bigconsole/pages/DataSourcesPage.d.ts +1 -0
  1210. package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +1 -0
  1211. package/dist/bigconsole/pages/DataSourcesPage.js +2 -0
  1212. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -0
  1213. package/dist/bigconsole/pages/InsightsPage.d.ts +1 -0
  1214. package/dist/bigconsole/pages/InsightsPage.d.ts.map +1 -0
  1215. package/dist/bigconsole/pages/InsightsPage.js +2 -0
  1216. package/dist/bigconsole/pages/InsightsPage.js.map +1 -0
  1217. package/dist/bigconsole/pages/OverviewPage.d.ts +1 -0
  1218. package/dist/bigconsole/pages/OverviewPage.d.ts.map +1 -0
  1219. package/dist/bigconsole/pages/OverviewPage.js +2 -0
  1220. package/dist/bigconsole/pages/OverviewPage.js.map +1 -0
  1221. package/dist/bigconsole/pages/ParserBuilderPage.d.ts +1 -0
  1222. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -0
  1223. package/dist/bigconsole/pages/ParserBuilderPage.js +2 -0
  1224. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -0
  1225. package/dist/bigconsole/pages/ParserViewPage.d.ts +1 -0
  1226. package/dist/bigconsole/pages/ParserViewPage.d.ts.map +1 -0
  1227. package/dist/bigconsole/pages/ParserViewPage.js +2 -0
  1228. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -0
  1229. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +1 -0
  1230. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -0
  1231. package/dist/bigconsole/pages/PipelineBuilderPage.js +2 -0
  1232. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -0
  1233. package/dist/bigconsole/pages/PipelineViewPage.d.ts +1 -0
  1234. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +1 -0
  1235. package/dist/bigconsole/pages/PipelineViewPage.js +2 -0
  1236. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -0
  1237. package/dist/bigconsole/pages/PipelinesPage.d.ts +1 -0
  1238. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +1 -0
  1239. package/dist/bigconsole/pages/PipelinesPage.js +2 -0
  1240. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -0
  1241. package/dist/bigconsole/pages/SettingsPage.d.ts +1 -0
  1242. package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -0
  1243. package/dist/bigconsole/pages/SettingsPage.js +2 -0
  1244. package/dist/bigconsole/pages/SettingsPage.js.map +1 -0
  1245. package/dist/bigconsole/pages/WidgetDemoPage.d.ts +1 -0
  1246. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +1 -0
  1247. package/dist/bigconsole/pages/WidgetDemoPage.js +2 -0
  1248. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -0
  1249. package/dist/bigconsole/pages/WorkflowViewPage.d.ts +1 -0
  1250. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +1 -0
  1251. package/dist/bigconsole/pages/WorkflowViewPage.js +2 -0
  1252. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -0
  1253. package/dist/bigconsole/pages/WorkflowsPage.d.ts +1 -0
  1254. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +1 -0
  1255. package/dist/bigconsole/pages/WorkflowsPage.js +2 -0
  1256. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -0
  1257. package/dist/bigconsole/pages/index.d.ts +1 -0
  1258. package/dist/bigconsole/pages/index.d.ts.map +1 -0
  1259. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +1 -0
  1260. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +1 -0
  1261. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +2 -0
  1262. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +1 -0
  1263. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +1 -0
  1264. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +1 -0
  1265. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +124 -235
  1266. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -0
  1267. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +1 -0
  1268. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +1 -0
  1269. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +2 -0
  1270. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +1 -0
  1271. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +2 -6
  1272. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +1 -0
  1273. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +157 -155
  1274. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -0
  1275. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +1 -0
  1276. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +1 -0
  1277. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +2 -0
  1278. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -0
  1279. package/dist/bigconsole/renderers/adapters/index.d.ts +1 -0
  1280. package/dist/bigconsole/renderers/adapters/index.d.ts.map +1 -0
  1281. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +1 -0
  1282. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +1 -0
  1283. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +2 -0
  1284. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +1 -0
  1285. package/dist/bigconsole/renderers/index.d.ts +1 -0
  1286. package/dist/bigconsole/renderers/index.d.ts.map +1 -0
  1287. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +1 -0
  1288. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +1 -0
  1289. package/dist/bigconsole/renderers/registry/RendererRegistry.js +2 -0
  1290. package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +1 -0
  1291. package/dist/bigconsole/renderers/types/index.d.ts +1 -0
  1292. package/dist/bigconsole/renderers/types/index.d.ts.map +1 -0
  1293. package/dist/bigconsole/renderers/types/renderer.d.ts +1 -0
  1294. package/dist/bigconsole/renderers/types/renderer.d.ts.map +1 -0
  1295. package/dist/bigconsole/store/dashboardStore.d.ts +1 -0
  1296. package/dist/bigconsole/store/dashboardStore.d.ts.map +1 -0
  1297. package/dist/bigconsole/store/dashboardStore.js +2 -0
  1298. package/dist/bigconsole/store/dashboardStore.js.map +1 -0
  1299. package/dist/bigconsole/store/dataSinkStore.d.ts +1 -0
  1300. package/dist/bigconsole/store/dataSinkStore.d.ts.map +1 -0
  1301. package/dist/bigconsole/store/dataSinkStore.js +2 -0
  1302. package/dist/bigconsole/store/dataSinkStore.js.map +1 -0
  1303. package/dist/bigconsole/store/drilldownStore.d.ts +1 -0
  1304. package/dist/bigconsole/store/drilldownStore.d.ts.map +1 -0
  1305. package/dist/bigconsole/store/drilldownStore.js +2 -0
  1306. package/dist/bigconsole/store/drilldownStore.js.map +1 -0
  1307. package/dist/bigconsole/store/index.d.ts +1 -0
  1308. package/dist/bigconsole/store/index.d.ts.map +1 -0
  1309. package/dist/bigconsole/store/parserStore.d.ts +1 -0
  1310. package/dist/bigconsole/store/parserStore.d.ts.map +1 -0
  1311. package/dist/bigconsole/store/parserStore.js +2 -0
  1312. package/dist/bigconsole/store/parserStore.js.map +1 -0
  1313. package/dist/bigconsole/store/pipelineStore.d.ts +1 -0
  1314. package/dist/bigconsole/store/pipelineStore.d.ts.map +1 -0
  1315. package/dist/bigconsole/store/pipelineStore.js +2 -0
  1316. package/dist/bigconsole/store/pipelineStore.js.map +1 -0
  1317. package/dist/bigconsole/store/widgetStore.d.ts +1 -0
  1318. package/dist/bigconsole/store/widgetStore.d.ts.map +1 -0
  1319. package/dist/bigconsole/store/widgetStore.js +2 -0
  1320. package/dist/bigconsole/store/widgetStore.js.map +1 -0
  1321. package/dist/bigconsole/store/workflowStore.d.ts +1 -0
  1322. package/dist/bigconsole/store/workflowStore.d.ts.map +1 -0
  1323. package/dist/bigconsole/store/workflowStore.js +2 -0
  1324. package/dist/bigconsole/store/workflowStore.js.map +1 -0
  1325. package/dist/bigconsole/types/index.d.ts +3 -17
  1326. package/dist/bigconsole/types/index.d.ts.map +1 -0
  1327. package/dist/bigconsole/utils/alertRules.d.ts +1 -0
  1328. package/dist/bigconsole/utils/alertRules.d.ts.map +1 -0
  1329. package/dist/bigconsole/utils/alertRules.js +2 -0
  1330. package/dist/bigconsole/utils/alertRules.js.map +1 -0
  1331. package/dist/bigconsole/utils/backendError.d.ts +1 -0
  1332. package/dist/bigconsole/utils/backendError.d.ts.map +1 -0
  1333. package/dist/bigconsole/utils/createDialogParam.d.ts +1 -0
  1334. package/dist/bigconsole/utils/createDialogParam.d.ts.map +1 -0
  1335. package/dist/bigconsole/utils/createDialogParam.js +2 -0
  1336. package/dist/bigconsole/utils/createDialogParam.js.map +1 -0
  1337. package/dist/bigconsole/utils/csv.d.ts +1 -0
  1338. package/dist/bigconsole/utils/csv.d.ts.map +1 -0
  1339. package/dist/bigconsole/utils/csv.js +2 -0
  1340. package/dist/bigconsole/utils/csv.js.map +1 -0
  1341. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +1 -0
  1342. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +1 -0
  1343. package/dist/bigconsole/utils/dashboardTemplateContent.js +2 -0
  1344. package/dist/bigconsole/utils/dashboardTemplateContent.js.map +1 -0
  1345. package/dist/bigconsole/utils/drilldownParams.d.ts +1 -0
  1346. package/dist/bigconsole/utils/drilldownParams.d.ts.map +1 -0
  1347. package/dist/bigconsole/utils/drilldownParams.js +2 -0
  1348. package/dist/bigconsole/utils/drilldownParams.js.map +1 -0
  1349. package/dist/bigconsole/utils/format.d.ts +1 -0
  1350. package/dist/bigconsole/utils/format.d.ts.map +1 -0
  1351. package/dist/bigconsole/utils/format.js +2 -0
  1352. package/dist/bigconsole/utils/format.js.map +1 -0
  1353. package/dist/bigconsole/utils/index.d.ts +1 -2
  1354. package/dist/bigconsole/utils/index.d.ts.map +1 -0
  1355. package/dist/bigconsole/utils/quota.d.ts +1 -0
  1356. package/dist/bigconsole/utils/quota.d.ts.map +1 -0
  1357. package/dist/bigconsole/utils/quota.js +2 -0
  1358. package/dist/bigconsole/utils/quota.js.map +1 -0
  1359. package/dist/bigconsole/utils/semanticTokens.d.ts +1 -0
  1360. package/dist/bigconsole/utils/semanticTokens.d.ts.map +1 -0
  1361. package/dist/bigconsole/utils/semanticTokens.js +2 -0
  1362. package/dist/bigconsole/utils/semanticTokens.js.map +1 -0
  1363. package/dist/bigconsole/utils/templateInstallInputs.d.ts +1 -0
  1364. package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +1 -0
  1365. package/dist/bigconsole/utils/templateInstallInputs.js +2 -0
  1366. package/dist/bigconsole/utils/templateInstallInputs.js.map +1 -0
  1367. package/dist/bigconsole/utils/widgetBinding.d.ts +1 -0
  1368. package/dist/bigconsole/utils/widgetBinding.d.ts.map +1 -0
  1369. package/dist/bigconsole/utils/widgetBinding.js +2 -0
  1370. package/dist/bigconsole/utils/widgetBinding.js.map +1 -0
  1371. package/dist/bigconsole/utils/widgetPositioning.d.ts +1 -0
  1372. package/dist/bigconsole/utils/widgetPositioning.d.ts.map +1 -0
  1373. package/dist/bigconsole/utils/widgetPositioning.js +2 -0
  1374. package/dist/bigconsole/utils/widgetPositioning.js.map +1 -0
  1375. package/dist/bigconsole/utils/widgetTypeMapping.d.ts +1 -0
  1376. package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +1 -0
  1377. package/dist/bigconsole/utils/widgetTypeMapping.js +2 -0
  1378. package/dist/bigconsole/utils/widgetTypeMapping.js.map +1 -0
  1379. package/dist/bigconsole/workflowOpen.d.ts +1 -0
  1380. package/dist/bigconsole/workflowOpen.d.ts.map +1 -0
  1381. package/dist/bigconsole/workflowOpen.js +2 -0
  1382. package/dist/bigconsole/workflowOpen.js.map +1 -0
  1383. package/dist/constants/permissions.d.ts +1 -0
  1384. package/dist/constants/permissions.d.ts.map +1 -0
  1385. package/dist/constants/permissions.js +2 -0
  1386. package/dist/constants/permissions.js.map +1 -0
  1387. package/dist/generated/global-operations.d.ts +1 -0
  1388. package/dist/generated/global-operations.d.ts.map +1 -0
  1389. package/dist/generated/global-operations.js +2 -0
  1390. package/dist/generated/global-operations.js.map +1 -0
  1391. package/dist/generated/global-types.d.ts +1 -0
  1392. package/dist/generated/global-types.d.ts.map +1 -0
  1393. package/dist/generated/wspace-operations.d.ts +9 -138
  1394. package/dist/generated/wspace-operations.d.ts.map +1 -0
  1395. package/dist/generated/wspace-operations.js +242 -281
  1396. package/dist/generated/wspace-operations.js.map +1 -0
  1397. package/dist/generated/wspace-types.d.ts +1 -0
  1398. package/dist/generated/wspace-types.d.ts.map +1 -0
  1399. package/dist/generated/wspace-types.js +2 -0
  1400. package/dist/generated/wspace-types.js.map +1 -0
  1401. package/dist/index.d.ts +1 -0
  1402. package/dist/index.d.ts.map +1 -0
  1403. package/dist/node_modules/@e965/xlsx/xlsx.js +2 -0
  1404. package/dist/node_modules/@e965/xlsx/xlsx.js.map +1 -0
  1405. package/dist/node_modules/pdfjs-dist/build/pdf.js +2 -0
  1406. package/dist/node_modules/pdfjs-dist/build/pdf.js.map +1 -0
  1407. package/dist/shared/hooks/useTr.d.ts +1 -0
  1408. package/dist/shared/hooks/useTr.d.ts.map +1 -0
  1409. package/dist/shared/hooks/useTr.js +2 -0
  1410. package/dist/shared/hooks/useTr.js.map +1 -0
  1411. package/dist/stories/DashboardGuide.stories.d.ts +15 -0
  1412. package/dist/stories/DashboardGuide.stories.d.ts.map +1 -0
  1413. package/dist/stories/DataSinkStatusBadge.stories.d.ts +12 -0
  1414. package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +1 -0
  1415. package/dist/stories/GaugeWidget.stories.d.ts +58 -0
  1416. package/dist/stories/GaugeWidget.stories.d.ts.map +1 -0
  1417. package/dist/stories/KPIComparisonWidget.stories.d.ts +76 -0
  1418. package/dist/stories/KPIComparisonWidget.stories.d.ts.map +1 -0
  1419. package/dist/stories/LiveCanvasToggle.stories.d.ts +9 -0
  1420. package/dist/stories/LiveCanvasToggle.stories.d.ts.map +1 -0
  1421. package/dist/stories/MetricCardWidget.stories.d.ts +88 -0
  1422. package/dist/stories/MetricCardWidget.stories.d.ts.map +1 -0
  1423. package/dist/stories/ProgressWidget.stories.d.ts +48 -0
  1424. package/dist/stories/ProgressWidget.stories.d.ts.map +1 -0
  1425. package/dist/stories/SetupStateBadge.stories.d.ts +12 -0
  1426. package/dist/stories/SetupStateBadge.stories.d.ts.map +1 -0
  1427. package/dist/translations/en.d.ts +1 -0
  1428. package/dist/translations/en.d.ts.map +1 -0
  1429. package/dist/utils/nativeBridge.d.ts +1 -0
  1430. package/dist/utils/nativeBridge.d.ts.map +1 -0
  1431. package/package.json +6 -11
  1432. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.d.ts +0 -20
  1433. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.js +0 -10
  1434. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.d.ts +0 -29
  1435. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.js +0 -51
  1436. package/dist/bigconsole/utils/dataSinkPayload.d.ts +0 -48
  1437. package/dist/bigconsole/utils/dataSinkPayload.js +0 -38
  1438. package/dist/bigconsole/utils/safeUrl.d.ts +0 -79
  1439. package/dist/bigconsole/utils/safeUrl.js +0 -93
  1440. package/dist/bigconsole/utils/sanitizeHtml.d.ts +0 -16
  1441. package/dist/bigconsole/utils/sanitizeHtml.js +0 -67
  1442. package/dist/node_modules/dompurify/dist/purify.es.js +0 -800
@@ -1448,3 +1448,5 @@ var D = d(function({ isOpen: d, onClose: _e }) {
1448
1448
  });
1449
1449
  //#endregion
1450
1450
  export { D as default };
1451
+
1452
+ //# sourceMappingURL=PropertiesPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertiesPanel.js","names":[],"sources":["../../../../src/bigconsole/components/widgets/PropertiesPanel.tsx"],"sourcesContent":["/**\n * PropertiesPanel Component\n *\n * Right-side panel for widget configuration.\n * v2.0: Added Actions tab for managing widget actions.\n * Uses fe-libs shared components for consistent styling.\n */\n\nimport React, { type FC, memo, useCallback, useState, useEffect, useRef, useMemo } from 'react';\nimport { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription } from '@burdenoff/fe-libs/ui';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '@burdenoff/fe-libs/ui';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Input } from '@burdenoff/fe-libs/ui';\nimport { Textarea } from '@burdenoff/fe-libs/ui';\nimport { Label } from '@burdenoff/fe-libs/ui';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@burdenoff/fe-libs/ui';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { Card, CardContent } from '@burdenoff/fe-libs/ui';\nimport { Plus, ChevronUp, ChevronDown, Pencil, Trash2, ExternalLink, Check, X, Info } from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { toast } from 'sonner';\nimport type { Widget, DataSourceType, RendererType, Parser } from '../../types';\nimport { useWidgetStore, useIsEditMode } from '../../store';\nimport { useWidgetOperations, useDrilldownOperations } from '../../hooks';\nimport {\n useWidgetActions,\n type WidgetAction,\n type CreateWidgetActionInput,\n type UpdateWidgetActionInput,\n} from '../../hooks/useWidgetActions';\nimport { getWidgetDefinition } from './WidgetRegistry';\nimport { ActionConfigDialog, type ActionSaveData, type ActionWebhookDraft } from './ActionConfigDialog';\nimport { useEventWebhooks, type EventWebhookMapping } from '../../hooks/useEventWebhooks';\nimport { WebhookConfigPanel } from './webhook-config';\nimport { EventLogViewer } from './event-logs';\nimport { DrilldownConfigPanel, type DrilldownConfig } from './DrilldownConfigPanel';\n// Data Source selectors\nimport { useDataSinkOperations } from '../../hooks/useDataSinkOperations';\nimport { useParserOperations } from '../../hooks/useParserOperations';\nimport {\n AdvancedSection,\n AppearanceSection,\n DataBindingSection,\n GeneralSection,\n LayoutSection,\n} from '../builder/inspector';\nimport { DEFAULT_GRID_CONFIG, type WidgetPosition } from '../../utils/widgetPositioning';\nimport { Section, SectionStack } from '../common';\nimport {\n getWidgetBinding,\n getWidgetBindingStatus,\n reconcilePanelConfig,\n serializeWidgetBinding,\n} from '../../utils/widgetBinding';\n\n// ============================================================================\n// v2.0: Renderer Options\n// ============================================================================\n\nconst RENDERER_OPTIONS: {\n value: RendererType;\n labelKey: string;\n label: string;\n descriptionKey: string;\n description: string;\n}[] = [\n {\n value: 'BIGCONSOLE',\n labelKey: 'bigconsole.widget.properties.renderer.bigconsole.label',\n label: 'BigConsole Native',\n descriptionKey: 'bigconsole.widget.properties.renderer.bigconsole.description',\n description: 'Full-featured native widgets',\n },\n {\n value: 'ADAPTIVE_CARD',\n labelKey: 'bigconsole.widget.properties.renderer.adaptiveCard.label',\n label: 'Adaptive Cards',\n descriptionKey: 'bigconsole.widget.properties.renderer.adaptiveCard.description',\n description: 'Microsoft Teams/Outlook format',\n },\n {\n value: 'BLOCKKIT',\n labelKey: 'bigconsole.widget.properties.renderer.blockKit.label',\n label: 'Block Kit',\n descriptionKey: 'bigconsole.widget.properties.renderer.blockKit.description',\n description: 'Slack format',\n },\n {\n value: 'CUSTOM',\n labelKey: 'bigconsole.widget.properties.renderer.custom.label',\n label: 'Custom',\n descriptionKey: 'bigconsole.widget.properties.renderer.custom.description',\n description: 'Custom React component',\n },\n];\n\n// ============================================================================\n// Data Source Constants\n// ============================================================================\n\nconst DATA_SOURCE_TYPES: {\n value: DataSourceType;\n labelKey: string;\n label: string;\n descriptionKey: string;\n description: string;\n}[] = [\n {\n value: 'DATASINK',\n labelKey: 'bigconsole.widget.properties.dataSourceType.datasink.label',\n label: 'DataSink',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.datasink.description',\n description: 'Use data from BigConsole DataSinks',\n },\n {\n value: 'REST_API',\n labelKey: 'bigconsole.widget.properties.dataSourceType.restApi.label',\n label: 'REST API',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.restApi.description',\n description: 'Fetch data from REST endpoints',\n },\n {\n value: 'GRAPHQL',\n labelKey: 'bigconsole.widget.properties.dataSourceType.graphql.label',\n label: 'GraphQL',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.graphql.description',\n description: 'Query data using GraphQL',\n },\n {\n value: 'SQL',\n labelKey: 'bigconsole.widget.properties.dataSourceType.sql.label',\n label: 'SQL Database',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.sql.description',\n description: 'Query SQL databases directly',\n },\n {\n value: 'WEBSOCKET',\n labelKey: 'bigconsole.widget.properties.dataSourceType.websocket.label',\n label: 'WebSocket',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.websocket.description',\n description: 'Real-time data streaming',\n },\n {\n value: 'MOCK',\n labelKey: 'bigconsole.widget.properties.dataSourceType.mock.label',\n label: 'Sample JSON',\n descriptionKey: 'bigconsole.widget.properties.dataSourceType.mock.description',\n description: 'Manually enter sample JSON data',\n },\n];\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface PropertiesPanelProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\ntype TabId = 'general' | 'data' | 'appearance' | 'advanced';\n\n// The event a button emits when clicked. MUST match DashboardGrid.handleWidgetAction\n// (`widget:${name.toLowerCase().replace(/\\s+/g,'_')}:clicked`) so a webhook mapping\n// created here actually fires for the click.\nfunction eventPatternForAction(actionName: string): string {\n return `widget:${actionName.toLowerCase().replace(/\\s+/g, '_')}:clicked`;\n}\n\n// Action style colours. `bg-action-primary` / `bg-muted-foreground` are not\n// registered in the BigConsole shell theme, so they emitted no CSS at all and\n// the status dot rendered invisible — see sectionStyles.ts for the failure mode.\nconst ACTION_STYLE_COLORS: Record<string, string> = {\n PRIMARY: 'bg-action-primary-bg',\n SECONDARY: 'bg-[var(--color-text-muted)]',\n SUCCESS: 'bg-status-success-bg',\n WARNING: 'bg-status-warning-bg',\n DANGER: 'bg-status-error-bg',\n};\n\nconst ACTION_STYLE_FALLBACK_COLOR = 'bg-[var(--color-text-muted)]';\n\n/** Tab triggers: body-sm type and a 40px touch target on every device. */\nconst TAB_TRIGGER_STYLE: React.CSSProperties = {\n fontWeight: 'var(--font-weight-semibold)',\n fontSize: 'var(--font-size-body-sm)',\n padding: '6px 10px',\n minHeight: 'var(--size-controlHeight-md)',\n flexShrink: 0,\n};\n\n// ============================================================================\n// Config Component Map\n// ============================================================================\n\n/**\n * Detects field names from parser output and returns suggested labelField and valueField\n * @param output - The parser execution output\n * @returns Object with suggested labelField and valueField\n */\nfunction detectFieldsFromParserOutput(output: unknown): {\n labelField?: string;\n valueField?: string;\n xAxisField?: string;\n} {\n if (!output) return {};\n\n // If output is an array, look at the first item\n const sampleItem = Array.isArray(output) ? output[0] : output;\n\n if (!sampleItem || typeof sampleItem !== 'object') return {};\n\n const keys = Object.keys(sampleItem as Record<string, unknown>);\n\n // Common label field names (in order of priority)\n const labelFieldCandidates = [\n 'name',\n 'label',\n 'category',\n 'title',\n 'key',\n 'id',\n 'month',\n 'date',\n 'region',\n 'product',\n ];\n // Common value field names (in order of priority)\n const valueFieldCandidates = ['value', 'amount', 'count', 'total', 'revenue', 'sales', 'quantity', 'orders', 'sum'];\n\n let labelField: string | undefined;\n let valueField: string | undefined;\n\n // Find the best label field\n for (const candidate of labelFieldCandidates) {\n if (keys.includes(candidate)) {\n labelField = candidate;\n break;\n }\n }\n\n // Find the best value field\n for (const candidate of valueFieldCandidates) {\n if (keys.includes(candidate)) {\n valueField = candidate;\n break;\n }\n }\n\n // If no standard names found, use heuristics:\n // - First string field as label\n // - First number field as value\n if (!labelField || !valueField) {\n for (const key of keys) {\n const val = (sampleItem as Record<string, unknown>)[key];\n if (!labelField && typeof val === 'string') {\n labelField = key;\n }\n if (!valueField && typeof val === 'number') {\n valueField = key;\n }\n if (labelField && valueField) break;\n }\n }\n\n return {\n labelField,\n valueField,\n xAxisField: labelField, // For line/bar charts, xAxisField is usually the same as labelField\n };\n}\n\n// ============================================================================\n// Template Editor Component\n// ============================================================================\n\ninterface TemplateEditorProps {\n widget: Widget;\n onSave: (template: Record<string, unknown>) => void;\n}\n\nconst TemplateEditor: FC<TemplateEditorProps> = memo(function TemplateEditor({ widget, onSave }) {\n const { t } = useI18n();\n const [localValue, setLocalValue] = useState<string>('');\n const [jsonError, setJsonError] = useState<string | null>(null);\n const initializedRef = useRef(false);\n\n // Initialize from widget.template only once per widget\n useEffect(() => {\n try {\n const templateStr =\n widget.template && typeof widget.template === 'object' ? JSON.stringify(widget.template, null, 2) : '';\n setLocalValue(templateStr);\n setJsonError(null);\n initializedRef.current = true;\n } catch {\n setLocalValue('');\n }\n }, [widget.id, widget.template]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const value = e.target.value;\n setLocalValue(value);\n\n if (value.trim() === '') {\n setJsonError(null);\n // Empty template is valid - notify parent\n onSave({});\n } else {\n try {\n const parsed = JSON.parse(value);\n setJsonError(null);\n // Valid JSON - immediately notify parent so main Save button becomes active\n onSave(parsed);\n } catch (err) {\n setJsonError((err as Error).message);\n // Don't call onSave for invalid JSON\n }\n }\n },\n [onSave]\n );\n\n const handleFormat = useCallback(() => {\n try {\n const parsed = JSON.parse(localValue);\n const formatted = JSON.stringify(parsed, null, 2);\n setLocalValue(formatted);\n setJsonError(null);\n onSave(parsed);\n } catch (err) {\n setJsonError((err as Error).message);\n }\n }, [localValue, onSave]);\n\n return (\n <Section\n emphasis=\"muted\"\n padding=\"compact\"\n headingLevel={4}\n title={t('bigconsole.widget.properties.template.label', 'Template (JSON)')}\n description={`The ${widget.renderer} payload this widget renders.`}\n tone={jsonError ? 'danger' : 'neutral'}\n meta={\n jsonError ? (\n <span className=\"text-xs font-medium text-[var(--color-status-error-text)]\">\n {t('bigconsole.widget.properties.template.invalidJson', 'Invalid JSON')}\n </span>\n ) : undefined\n }\n className=\"mt-form-gap\"\n data-testid=\"widget-inspector-template\"\n >\n <Textarea\n value={localValue}\n onChange={handleChange}\n spellCheck={false}\n placeholder={t('bigconsole.widget.properties.template.placeholder', 'Enter {{renderer}} template JSON...', {\n renderer: widget.renderer ?? '',\n })}\n style={{\n fontFamily: 'var(--font-family-mono)',\n fontSize: 'var(--font-size-body-sm)',\n minHeight: '180px',\n borderColor: jsonError ? 'var(--color-status-error-border)' : undefined,\n resize: 'vertical',\n }}\n />\n\n {jsonError && (\n <p\n style={{\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-status-error-text)',\n backgroundColor: 'var(--color-status-error-bgSubtle)',\n padding: 'var(--space-controlGap)',\n borderRadius: 'var(--radius-button)',\n marginTop: 'var(--space-controlGap)',\n }}\n >\n {jsonError}\n </p>\n )}\n\n <div className=\"mt-control-gap flex flex-wrap items-center gap-control-gap\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleFormat}\n disabled={!!jsonError || localValue.trim() === ''}\n style={{ height: 'var(--size-controlHeight-sm)', fontWeight: 'var(--font-weight-semibold)' }}\n >\n {t('bigconsole.widget.properties.template.format', 'Format')}\n </Button>\n {!jsonError && localValue.trim() !== '' && (\n <span\n style={{\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-status-success-text)',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n }}\n >\n <Check style={{ width: '12px', height: '12px' }} />\n {t('bigconsole.widget.properties.template.validJson', 'Valid JSON')}\n </span>\n )}\n </div>\n\n <div className=\"mt-control-gap flex flex-wrap items-center justify-between gap-x-4 gap-y-1 border-t border-[var(--color-border-subtle)] pt-control-gap text-xs text-text-muted\">\n <span className=\"font-medium\">{t('bigconsole.widget.properties.template.ctrlSToSave', 'Ctrl+S to save')}</span>\n {widget.renderer === 'ADAPTIVE_CARD' && (\n <a\n href=\"https://adaptivecards.io/designer/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--space-controlGap)',\n color: 'var(--color-text-link)',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-medium)',\n textDecoration: 'none',\n }}\n >\n {t('bigconsole.widget.properties.template.designer', 'Designer')}\n <ExternalLink style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n </a>\n )}\n {widget.renderer === 'BLOCKKIT' && (\n <a\n href=\"https://app.slack.com/block-kit-builder\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--space-controlGap)',\n color: 'var(--color-text-link)',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-medium)',\n textDecoration: 'none',\n }}\n >\n {t('bigconsole.widget.properties.template.blockKitBuilder', 'Block Kit Builder')}\n <ExternalLink style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n </a>\n )}\n </div>\n </Section>\n );\n});\n\n// ============================================================================\n// Local Form State Type\n// ============================================================================\n\ninterface LocalFormState {\n title: string;\n description: string;\n refreshInterval: number | undefined;\n renderer: RendererType;\n template: Record<string, unknown> | undefined;\n // v2.0: Data source fields (DataSink → Parser → Widget)\n dataSinkId: string | undefined;\n datasetId: string | undefined;\n parserId: string | undefined;\n parserRules: string | undefined;\n config: Record<string, unknown>;\n // Drilldown configuration\n drilldownConfig: DrilldownConfig | undefined;\n}\n\nfunction createLocalFormStateFromWidget(widget: Widget): LocalFormState {\n const widgetFields = widget as unknown as Record<string, string | undefined>;\n const binding = getWidgetBinding({\n dataSinkId: widgetFields.dataSinkId,\n parserId: widgetFields.parserId,\n config: (widget.config as Record<string, unknown>) || {},\n });\n\n return {\n title: widget.title || '',\n description: widget.description || '',\n refreshInterval: widget.refreshInterval ?? undefined,\n renderer: (widget.renderer as RendererType) || 'BIGCONSOLE',\n template: widget.template as Record<string, unknown> | undefined,\n // v2.0: Data source fields (DataSink → Parser → Widget)\n dataSinkId: binding.source.kind === 'DATASINK' ? binding.source.ref : undefined,\n datasetId: widgetFields.datasetId ?? undefined,\n parserId: binding.parserId,\n parserRules: widgetFields.parserRules ?? undefined,\n config: (widget.config as Record<string, unknown>) || {},\n // Drilldown configuration\n drilldownConfig: widget.drilldown\n ? {\n enabled: widget.drilldown.enabled ?? false,\n targetDashboardId: widget.drilldown.targetDashboardId ?? '',\n targetPageId: widget.drilldown.targetPageId ?? null,\n navigationMode: widget.drilldown.navigationMode ?? 'MODAL',\n parameterMapping: (widget.drilldown.parameterMapping as Record<string, string>) ?? {},\n passGlobalFilters: widget.drilldown.passGlobalFilters ?? true,\n maxDepth: widget.drilldown.maxDepth ?? 3,\n }\n : undefined,\n };\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const PropertiesPanel: FC<PropertiesPanelProps> = memo(function PropertiesPanel({ isOpen, onClose }) {\n const { t } = useI18n();\n const [activeTab, setActiveTab] = useState<TabId>('general');\n const [saveStatus, setSaveStatus] = useState<'idle' | 'saving' | 'saved' | 'error'>('idle');\n const [localForm, setLocalForm] = useState<LocalFormState | null>(null);\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);\n\n const selectedWidgetId = useWidgetStore((state) => state.selectedWidgetId);\n const widgets = useWidgetStore((state) => state.widgets);\n const updateWidgetInStore = useWidgetStore((state) => state.updateWidget);\n const updateWidgetPosition = useWidgetStore((state) => state.updateWidgetPosition);\n // Grid placement is only editable while the board is in edit mode — outside\n // it there is no Save to persist the change, so the fields would look live\n // and quietly revert on reload.\n const isEditMode = useIsEditMode();\n\n const selectedWidget = selectedWidgetId ? widgets.get(selectedWidgetId) : undefined;\n\n /**\n * The widget's grid placement. `position` is the canonical field; the flat\n * `positionX/Y/Width/Height` mirrors are the fallback for widgets normalised\n * before `position` was populated.\n */\n const selectedPosition: WidgetPosition | null = selectedWidget\n ? {\n x: selectedWidget.position?.x ?? selectedWidget.positionX ?? 0,\n y: selectedWidget.position?.y ?? selectedWidget.positionY ?? 0,\n width: selectedWidget.position?.width ?? selectedWidget.positionWidth ?? 4,\n height: selectedWidget.position?.height ?? selectedWidget.positionHeight ?? 4,\n }\n : null;\n\n const handlePositionChange = useCallback(\n (next: WidgetPosition) => {\n if (!selectedWidgetId) return;\n updateWidgetPosition(selectedWidgetId, next);\n },\n [selectedWidgetId, updateWidgetPosition]\n );\n const previousSelectedWidgetIdRef = useRef<string | null>(null);\n // The widget config as it was when `localForm` was last seeded. Used on save to\n // apply only the panel's own config changes without clobbering keys another\n // editor (e.g. the pivot canvas) persisted while the panel held unsaved edits.\n const seededConfigRef = useRef<Record<string, unknown>>({});\n\n /**\n * Monotonic counter bumped on every local edit.\n *\n * `handleSaveAll` snapshots it before awaiting the mutation. Any edit made\n * while that request is in flight bumps it, which tells the completion\n * handler NOT to clear `hasUnsavedChanges` — otherwise the re-seed effect\n * below (which only bails out `if (hasUnsavedChanges)`) would immediately\n * overwrite `localForm` with the just-saved server state and the user's\n * in-flight edit would vanish with no error.\n */\n const formRevisionRef = useRef(0);\n const markFormDirty = useCallback(() => {\n formRevisionRef.current += 1;\n setHasUnsavedChanges(true);\n }, []);\n\n useEffect(() => {\n if (!selectedWidgetId) {\n previousSelectedWidgetIdRef.current = null;\n setLocalForm(null);\n setHasUnsavedChanges(false);\n setSaveStatus('idle');\n return;\n }\n\n const widgetSwitched = previousSelectedWidgetIdRef.current !== selectedWidgetId;\n previousSelectedWidgetIdRef.current = selectedWidgetId;\n\n if (selectedWidget) {\n if (hasUnsavedChanges && !widgetSwitched) return;\n\n setLocalForm(createLocalFormStateFromWidget(selectedWidget));\n seededConfigRef.current = (selectedWidget.config as Record<string, unknown>) || {};\n setHasUnsavedChanges(false);\n setSaveStatus('idle');\n } else {\n setLocalForm(null);\n setHasUnsavedChanges(false);\n setSaveStatus('idle');\n }\n }, [selectedWidgetId, selectedWidget, hasUnsavedChanges]);\n\n const { updateWidget: updateWidgetApi } = useWidgetOperations(selectedWidget?.pageId, selectedWidget?.dashboardId, {\n skipFetch: true,\n });\n\n // Drilldown operations\n const { createDrilldown, updateDrilldown, deleteDrilldown } = useDrilldownOperations();\n\n // DataSink operations - for looking up DataSink by key\n const { dataSinks } = useDataSinkOperations({ skipFetch: false });\n\n // Track selected DataSink key for filtering parsers\n const [selectedDataSinkKey, setSelectedDataSinkKey] = useState<string | null>(null);\n\n // Parser operations - for executing parser to detect fields\n const { executeParser, fetchParser } = useParserOperations({\n consoleId: selectedWidget?.dashboardId,\n skipFetch: true,\n });\n\n const [resolvedBindingParser, setResolvedBindingParser] = useState<Parser | null>(null);\n const [isResolvingBinding, setIsResolvingBinding] = useState(false);\n const bindingParserId = localForm?.parserId;\n\n // AI-created widgets can bind a parser without duplicating its input sink ID.\n // Resolve that existing parser rather than presenting a valid chart as unbound.\n useEffect(() => {\n let cancelled = false;\n setResolvedBindingParser(null);\n if (!isOpen || !bindingParserId) {\n setIsResolvingBinding(false);\n return;\n }\n setIsResolvingBinding(true);\n void fetchParser(bindingParserId).then((parser) => {\n if (cancelled) return;\n setResolvedBindingParser(parser);\n setIsResolvingBinding(false);\n });\n return () => {\n cancelled = true;\n };\n }, [isOpen, bindingParserId, selectedWidgetId, fetchParser]);\n\n // Track if we're auto-detecting fields\n const [isDetectingFields, setIsDetectingFields] = useState(false);\n const [bindingPreview, setBindingPreview] = useState<unknown>(undefined);\n const [bindingPreviewComplete, setBindingPreviewComplete] = useState(false);\n const [bindingPreviewError, setBindingPreviewError] = useState<string | null>(null);\n\n useEffect(() => {\n setBindingPreview(undefined);\n setBindingPreviewComplete(false);\n setBindingPreviewError(null);\n setIsDetectingFields(false);\n }, [selectedWidgetId]);\n\n const {\n actions,\n loading: actionsLoading,\n createAction,\n updateAction,\n deleteAction,\n reorderActions,\n } = useWidgetActions(selectedWidgetId || undefined);\n\n // Webhook mappings for this widget — used to pair a button with an HTTP call\n // inline (\"When clicked → call a webhook\") without leaving the Add-Button flow.\n const {\n webhooks,\n loading: webhooksLoading,\n createWebhook,\n updateWebhook,\n deleteWebhook,\n refetch: refetchWebhooks,\n } = useEventWebhooks({\n widgetId: selectedWidgetId || undefined,\n skipFetch: !selectedWidgetId,\n });\n\n // Match a webhook mapping to an action (by its emitted event) within a given list.\n const findWebhookIn = useCallback(\n (list: EventWebhookMapping[], actionName: string) => {\n const pattern = eventPatternForAction(actionName);\n return list.find((w) => w.widgetId === selectedWidgetId && w.eventPattern === pattern) ?? null;\n },\n [selectedWidgetId]\n );\n\n // Find the webhook mapping paired to an action from the currently-loaded list.\n const webhookForAction = useCallback(\n (actionName: string) => findWebhookIn(webhooks, actionName),\n [findWebhookIn, webhooks]\n );\n\n // Create/update/remove the paired webhook mapping to match the dialog's outcome.\n // Returns false if a required webhook mutation failed so the caller can surface\n // it instead of silently leaving a button that looks wired but isn't (#5).\n const reconcileActionWebhook = useCallback(\n async (actionName: string, draft: ActionWebhookDraft | null | undefined): Promise<boolean> => {\n if (!selectedWidgetId || draft === undefined) return true;\n const pattern = eventPatternForAction(actionName);\n let existing = webhookForAction(actionName);\n // If the mapping list is still loading, a null lookup is unreliable and a\n // create here would duplicate an existing mapping (two endpoints firing per\n // click). Force a fresh fetch and re-check before deciding there is none (#7).\n if (!existing && webhooksLoading) {\n const res = await refetchWebhooks();\n const fresh = (res?.data?.listEventWebhookMappings ?? []) as EventWebhookMapping[];\n existing = findWebhookIn(fresh, actionName);\n }\n if (draft && draft.url) {\n if (existing) {\n // Re-activate on save — a mapping disabled in the Webhooks panel would\n // otherwise show as wired while clicks are still ignored (#4).\n const res = await updateWebhook({\n id: existing.id,\n eventPattern: pattern,\n webhookUrl: draft.url,\n method: draft.method,\n isActive: true,\n });\n return res !== null;\n }\n const res = await createWebhook({\n widgetId: selectedWidgetId,\n eventPattern: pattern,\n webhookUrl: draft.url,\n method: draft.method,\n });\n return res !== null;\n }\n if (draft === null && existing) {\n // Outcome switched away from \"call a webhook\" — drop the binding.\n return deleteWebhook(existing.id);\n }\n return true;\n },\n [\n selectedWidgetId,\n webhookForAction,\n webhooksLoading,\n refetchWebhooks,\n findWebhookIn,\n createWebhook,\n updateWebhook,\n deleteWebhook,\n ]\n );\n\n const [isActionDialogOpen, setIsActionDialogOpen] = useState(false);\n const [editingAction, setEditingAction] = useState<WidgetAction | undefined>(undefined);\n const [actionSaving, setActionSaving] = useState(false);\n // When a webhook mutation fails after the action itself saved, we keep the\n // dialog open on the persisted action so the user can retry. That reassigns\n // the dialog's `action` prop and re-runs its reset effect, which would wipe the\n // URL the user just typed (the mapping never persisted, so `editingWebhook` is\n // null). Stash the attempted draft here and feed it back as `initialWebhook` so\n // the dialog re-seeds it instead of clearing it.\n //\n // Tri-state: `undefined` = no retry draft (use the persisted mapping);\n // an object = a failed webhook create/update to re-seed; `null` = a failed\n // \"switch to Emit / remove webhook\" so the retry keeps the Emit selection\n // instead of falling back to the still-present old mapping (#8).\n const [pendingWebhookDraft, setPendingWebhookDraft] = useState<ActionWebhookDraft | null | undefined>(undefined);\n // Surfaces a save failure inside the dialog so the user isn't left with a\n // silently-editable form and no idea what went wrong (#9).\n const [pendingActionError, setPendingActionError] = useState<string | null>(null);\n\n // Prefill the dialog's webhook field when editing an action already paired with one.\n const editingWebhook = useMemo<ActionWebhookDraft | null>(() => {\n if (!editingAction) return null;\n const paired = webhookForAction(editingAction.name);\n return paired ? { url: paired.webhookUrl, method: paired.method } : null;\n }, [editingAction, webhookForAction]);\n\n // A retry draft (from a failed save) wins over the persisted mapping — including\n // an explicit `null` removal retry, which must NOT fall back to `editingWebhook`.\n const dialogInitialWebhook = pendingWebhookDraft !== undefined ? pendingWebhookDraft : editingWebhook;\n\n // Pre-compute each action's paired webhook once per render instead of running a\n // `.find()` inside the action-list JSX for every row on every render.\n const webhookByActionName = useMemo(() => {\n const map = new Map<string, EventWebhookMapping>();\n for (const a of actions) {\n const paired = webhookForAction(a.name);\n if (paired) map.set(a.name, paired);\n }\n return map;\n }, [actions, webhookForAction]);\n\n const handleAddAction = useCallback(() => {\n setPendingWebhookDraft(undefined);\n setPendingActionError(null);\n setEditingAction(undefined);\n setIsActionDialogOpen(true);\n }, []);\n\n const handleEditAction = useCallback((action: WidgetAction) => {\n setPendingWebhookDraft(undefined);\n setPendingActionError(null);\n setEditingAction(action);\n setIsActionDialogOpen(true);\n }, []);\n\n const handleSaveAction = useCallback(\n async (data: ActionSaveData, webhook: ActionWebhookDraft | null) => {\n if (!selectedWidgetId) return;\n\n setActionSaving(true);\n setPendingActionError(null);\n try {\n // `data` carries only action fields; the webhook binding arrives as a\n // separate arg so it can never leak into the GraphQL mutation input.\n const isUpdate = 'id' in data && !!data.id;\n\n let newAction: WidgetAction | null = null;\n if (isUpdate) {\n newAction = await updateAction(data as UpdateWidgetActionInput);\n } else {\n newAction = await createAction(data as Omit<CreateWidgetActionInput, 'widgetId'>);\n }\n\n // Immediately sync to widget store after successful save\n // This ensures the widget displays the action right away\n if (newAction) {\n const currentActions = [...actions];\n if (isUpdate) {\n // Update existing action\n const idx = currentActions.findIndex((a) => a.id === newAction?.id);\n if (idx >= 0) {\n currentActions[idx] = newAction;\n }\n } else {\n // Add new action\n currentActions.push(newAction);\n }\n // Sort by order and update store\n const sortedActions = currentActions.sort((a, b) => a.order - b.order);\n updateWidgetInStore(selectedWidgetId, { actions: sortedActions });\n\n // Pair (or unpair) the webhook that actually gives the button its behaviour.\n const webhookOk = await reconcileActionWebhook(newAction.name, webhook);\n if (!webhookOk) {\n // The action saved but its webhook did not. Keep the dialog open on\n // the now-persisted action so the user can retry (as an update, not a\n // duplicate). Stash the typed draft (which may be `null` for a failed\n // switch-to-Emit) so re-seeding the dialog keeps the user's choice (#8),\n // and surface why the save didn't fully land (#9).\n setPendingWebhookDraft(webhook);\n setPendingActionError(\n webhook\n ? t(\n 'bigconsole.widget.properties.action.webhookSaveFailed',\n 'The button was saved, but its webhook could not be saved. Check the URL and try again.'\n )\n : t(\n 'bigconsole.widget.properties.action.webhookRemoveFailed',\n 'The button was saved, but its old webhook could not be removed. Try again.'\n )\n );\n setEditingAction(newAction);\n return;\n }\n\n setPendingWebhookDraft(undefined);\n setPendingActionError(null);\n setIsActionDialogOpen(false);\n setEditingAction(undefined);\n }\n } catch (err) {\n // Keep the dialog open (we never closed it in the throw path) and surface\n // the failure to the user — console.log is globally no-op'd here, so warn (#9).\n console.warn('Failed to save widget action:', err);\n setPendingActionError(\n err instanceof Error\n ? err.message\n : t('bigconsole.widget.properties.action.saveFailed', 'Could not save the button. Please try again.')\n );\n } finally {\n setActionSaving(false);\n }\n },\n [selectedWidgetId, actions, createAction, updateAction, updateWidgetInStore, reconcileActionWebhook, t]\n );\n\n const handleDeleteAction = useCallback(\n async (actionId: string) => {\n if (!selectedWidgetId) return;\n\n if (\n window.confirm(\n t('bigconsole.widget.properties.action.deleteConfirm', 'Are you sure you want to delete this action?')\n )\n ) {\n const target = actions.find((a) => a.id === actionId);\n const success = await deleteAction(actionId);\n if (success) {\n // Immediately sync to widget store after deletion\n const updatedActions = actions.filter((a) => a.id !== actionId);\n updateWidgetInStore(selectedWidgetId, { actions: updatedActions });\n\n // Best-effort: remove the webhook mapping this button was paired with.\n if (target) {\n const paired = webhookForAction(target.name);\n if (paired) await deleteWebhook(paired.id);\n }\n }\n }\n },\n [selectedWidgetId, actions, deleteAction, updateWidgetInStore, webhookForAction, deleteWebhook, t]\n );\n\n const handleMoveActionUp = useCallback(\n async (index: number) => {\n if (!selectedWidgetId || index === 0) return;\n const sortedActions = [...actions].sort((a, b) => a.order - b.order);\n const newOrder = sortedActions.map((a) => a.id);\n [newOrder[index - 1], newOrder[index]] = [newOrder[index], newOrder[index - 1]];\n const success = await reorderActions(newOrder);\n if (success) {\n // Immediately update local order for UI responsiveness\n const reordered = sortedActions\n .map((a, _i) => ({\n ...a,\n order: newOrder.indexOf(a.id),\n }))\n .sort((a, b) => a.order - b.order);\n updateWidgetInStore(selectedWidgetId, { actions: reordered });\n }\n },\n [selectedWidgetId, actions, reorderActions, updateWidgetInStore]\n );\n\n const handleMoveActionDown = useCallback(\n async (index: number) => {\n if (!selectedWidgetId) return;\n const sortedActions = [...actions].sort((a, b) => a.order - b.order);\n if (index === sortedActions.length - 1) return;\n const newOrder = sortedActions.map((a) => a.id);\n [newOrder[index], newOrder[index + 1]] = [newOrder[index + 1], newOrder[index]];\n const success = await reorderActions(newOrder);\n if (success) {\n // Immediately update local order for UI responsiveness\n const reordered = sortedActions\n .map((a, _i) => ({\n ...a,\n order: newOrder.indexOf(a.id),\n }))\n .sort((a, b) => a.order - b.order);\n updateWidgetInStore(selectedWidgetId, { actions: reordered });\n }\n },\n [selectedWidgetId, actions, reorderActions, updateWidgetInStore]\n );\n\n useEffect(() => {\n if (selectedWidgetId && actions.length >= 0 && !actionsLoading) {\n updateWidgetInStore(selectedWidgetId, { actions });\n }\n }, [selectedWidgetId, actions, actionsLoading, updateWidgetInStore]);\n\n const updateLocalForm = useCallback(\n <K extends keyof LocalFormState>(key: K, value: LocalFormState[K]) => {\n setLocalForm((prev) => (prev ? { ...prev, [key]: value } : prev));\n markFormDirty();\n },\n [markFormDirty]\n );\n\n const updateLocalConfig = useCallback(\n (newConfig: Record<string, unknown>) => {\n setLocalForm((prev) => (prev ? { ...prev, config: newConfig } : prev));\n markFormDirty();\n },\n [markFormDirty]\n );\n\n // Explicit bindings win. Only an absent DataSink ref is inferred from the\n // actual parser input key and the current workspace's real sink records.\n useEffect(() => {\n if (!localForm) {\n setSelectedDataSinkKey(null);\n return;\n }\n if (localForm.dataSinkId) {\n setSelectedDataSinkKey(dataSinks.find((sink) => sink.id === localForm.dataSinkId)?.key ?? null);\n return;\n }\n const binding = getWidgetBinding({ parserId: localForm.parserId, config: localForm.config });\n const parser = resolvedBindingParser?.id === localForm.parserId ? resolvedBindingParser : null;\n const sink =\n binding.source.kind === 'DATASINK' && !binding.source.ref && parser\n ? dataSinks.find((candidate) => candidate.key === parser.inputSinkKey)\n : undefined;\n setSelectedDataSinkKey(sink?.key ?? null);\n if (sink) {\n setLocalForm((previous) =>\n previous && previous.parserId === parser?.id && !previous.dataSinkId\n ? { ...previous, dataSinkId: sink.id }\n : previous\n );\n }\n }, [localForm, dataSinks, resolvedBindingParser]);\n\n // Handle DataSink selection - looks up ID from key and updates form\n const handleDataSinkChange = useCallback(\n (key: string | null) => {\n setBindingPreview(undefined);\n setBindingPreviewComplete(false);\n setBindingPreviewError(null);\n setSelectedDataSinkKey(key);\n if (key) {\n const ds = dataSinks.find((d) => d.key === key);\n if (ds) {\n updateLocalForm('dataSinkId', ds.id);\n // Also update config.dataSinkKey for backward compatibility\n setLocalForm((prev) =>\n prev\n ? {\n ...prev,\n config: { ...prev.config, dataSinkKey: key },\n }\n : prev\n );\n markFormDirty();\n }\n } else {\n updateLocalForm('dataSinkId', undefined);\n setLocalForm((prev) =>\n prev\n ? {\n ...prev,\n config: { ...prev.config, dataSinkKey: undefined },\n parserId: undefined, // Clear parser when DataSink is cleared\n }\n : prev\n );\n markFormDirty();\n }\n },\n [dataSinks, updateLocalForm, markFormDirty]\n );\n\n // Handle Parser selection - with auto-detection of field mappings\n const handleParserChange = useCallback(\n async (parserId: string | null) => {\n updateLocalForm('parserId', parserId || undefined);\n setBindingPreview(undefined);\n setBindingPreviewComplete(false);\n setBindingPreviewError(null);\n\n // If a parser is selected, execute it to detect field structure\n if (parserId && selectedWidget) {\n setIsDetectingFields(true);\n try {\n const result = await executeParser(parserId);\n\n if (result?.success) {\n setBindingPreview(result.output);\n setBindingPreviewComplete(true);\n const detectedFields = detectFieldsFromParserOutput(result.output);\n\n // Only auto-populate if fields were detected and not already set\n if (detectedFields.labelField || detectedFields.valueField) {\n setLocalForm((prev) => {\n if (!prev) return prev;\n\n const currentConfig = prev.config || {};\n const newConfig = { ...currentConfig };\n\n // Auto-populate labelField if not already set\n if (detectedFields.labelField && !currentConfig.labelField) {\n newConfig.labelField = detectedFields.labelField;\n }\n\n // Auto-populate valueField if not already set\n if (detectedFields.valueField && !currentConfig.valueField) {\n newConfig.valueField = detectedFields.valueField;\n }\n\n // Auto-populate xAxisField for line/bar/area charts if not already set\n if (detectedFields.xAxisField && !currentConfig.xAxisField) {\n newConfig.xAxisField = detectedFields.xAxisField;\n }\n\n return { ...prev, config: newConfig };\n });\n markFormDirty();\n }\n } else {\n setBindingPreviewComplete(true);\n setBindingPreviewError(\n result?.error ||\n t('bigconsole.widget.properties.parser.previewFailed', 'The parser could not produce a preview.')\n );\n }\n } catch (err) {\n setBindingPreviewComplete(true);\n setBindingPreviewError(\n err instanceof Error\n ? err.message\n : t('bigconsole.widget.properties.parser.previewFailed', 'The parser could not produce a preview.')\n );\n console.warn('Failed to auto-detect parser fields:', err);\n } finally {\n setIsDetectingFields(false);\n }\n }\n },\n [updateLocalForm, executeParser, selectedWidget, markFormDirty, t]\n );\n\n const handleSaveAll = useCallback(async () => {\n if (!selectedWidget || !localForm) return;\n\n // Snapshot the form revision before awaiting: any edit made while the\n // mutation is in flight bumps it, and must survive the completion handler.\n const revisionAtSave = formRevisionRef.current;\n\n setSaveStatus('saving');\n\n try {\n const metadata = { ...(selectedWidget.metadata || {}), description: localForm.description || '' };\n // Reconcile against the latest persisted config so we don't wipe keys another\n // editor changed while the panel held unsaved edits (e.g. pivot rows/columns/\n // values dragged on the canvas). See reconcilePanelConfig.\n const latestConfig =\n (useWidgetStore.getState().widgets.get(selectedWidget.id)?.config as Record<string, unknown>) ?? {};\n const mergedConfig = reconcilePanelConfig(latestConfig, seededConfigRef.current, localForm.config);\n const bindingDraft = getWidgetBinding({\n dataSinkId: localForm.dataSinkId,\n parserId: localForm.parserId,\n config: { ...mergedConfig, binding: undefined },\n });\n const bindingWrite = serializeWidgetBinding(bindingDraft, mergedConfig);\n\n const result = await updateWidgetApi({\n id: selectedWidget.id,\n title: localForm.title,\n renderer: localForm.renderer,\n template: localForm.template,\n config: bindingWrite.config,\n refreshInterval: localForm.refreshInterval,\n // v2.0: Data source fields (DataSink → Parser → Widget)\n dataSinkId: bindingWrite.dataSinkId,\n datasetId: localForm.datasetId,\n parserId: bindingWrite.parserId,\n parserRules: localForm.parserRules,\n metadata,\n });\n\n // Save drilldown configuration to backend. A rejected drilldown (target\n // archived or no longer shared, a page from another dashboard) must not\n // read as a successful save, so it is reported separately (BOFF-7625).\n let savedDrilldown = selectedWidget.drilldown;\n let drilldownFailure: Error | null = null;\n const existingDrilldownId = selectedWidget.drilldown?.id;\n try {\n if (localForm.drilldownConfig) {\n const {\n enabled,\n targetDashboardId,\n targetPageId,\n navigationMode,\n parameterMapping,\n passGlobalFilters,\n maxDepth,\n } = localForm.drilldownConfig;\n\n if (existingDrilldownId && !enabled) {\n // Turning drilldown off removes it, as the panel tells the user.\n await deleteDrilldown(existingDrilldownId);\n savedDrilldown = undefined;\n } else if (existingDrilldownId) {\n const drilldownResult = await updateDrilldown({\n id: existingDrilldownId,\n targetDashboardId,\n targetPageId,\n parameterMapping,\n navigationMode,\n enabled,\n passGlobalFilters,\n maxDepth,\n });\n if (drilldownResult) {\n savedDrilldown = drilldownResult;\n }\n } else if (enabled && targetDashboardId) {\n const drilldownResult = await createDrilldown({\n sourceWidgetId: selectedWidget.id,\n targetDashboardId,\n targetPageId,\n parameterMapping: parameterMapping || {},\n navigationMode,\n passGlobalFilters,\n maxDepth,\n });\n if (drilldownResult) {\n savedDrilldown = drilldownResult;\n }\n }\n }\n } catch (err) {\n drilldownFailure = err instanceof Error ? err : new Error(String(err));\n }\n\n if (result) {\n updateWidgetInStore(selectedWidget.id, {\n title: localForm.title,\n description: localForm.description,\n renderer: localForm.renderer,\n template: localForm.template,\n config: bindingWrite.config,\n refreshInterval: localForm.refreshInterval,\n // v2.0: Data source fields\n dataSinkId: bindingWrite.dataSinkId,\n datasetId: localForm.datasetId,\n parserId: bindingWrite.parserId,\n parserRules: localForm.parserRules,\n // Drilldown configuration from backend\n drilldown: savedDrilldown,\n // Update timestamp to trigger WidgetWrapper re-render (fixes drilldown mode change bug)\n updatedAt: new Date().toISOString(),\n } as Partial<Widget>);\n\n if (drilldownFailure) {\n // The widget itself saved; keep the form dirty so the drilldown edit\n // can be corrected and saved again.\n setSaveStatus('error');\n toast.error(t('bigconsole.widget.drilldown.saveFailed', 'Drilldown not saved'), {\n description: drilldownFailure.message,\n });\n return;\n }\n\n setSaveStatus('saved');\n // Only mark clean if nothing was edited during the round-trip.\n // Clearing unconditionally let the re-seed effect overwrite localForm\n // with the just-saved server state, silently discarding that edit.\n if (formRevisionRef.current === revisionAtSave) {\n setHasUnsavedChanges(false);\n }\n setTimeout(() => setSaveStatus('idle'), 2000);\n } else {\n setSaveStatus('error');\n }\n } catch (err) {\n setSaveStatus('error');\n }\n }, [\n selectedWidget,\n localForm,\n updateWidgetApi,\n updateWidgetInStore,\n createDrilldown,\n updateDrilldown,\n deleteDrilldown,\n t,\n ]);\n\n const handleDiscardAll = useCallback(() => {\n if (!selectedWidget) return;\n\n setLocalForm(createLocalFormStateFromWidget(selectedWidget));\n seededConfigRef.current = (selectedWidget.config as Record<string, unknown>) || {};\n setHasUnsavedChanges(false);\n setSaveStatus('idle');\n }, [selectedWidget]);\n\n const handleConfigChange = useCallback(\n (newConfig: Record<string, unknown>) => {\n updateLocalConfig(newConfig);\n },\n [updateLocalConfig]\n );\n\n const handleDrilldownChange = useCallback(\n (config: DrilldownConfig) => {\n setLocalForm((prev) => (prev ? { ...prev, drilldownConfig: config } : prev));\n markFormDirty();\n },\n [markFormDirty]\n );\n\n const definition = selectedWidget ? getWidgetDefinition(selectedWidget.type) : null;\n\n const rendererOptions = useMemo(\n () =>\n RENDERER_OPTIONS.map((opt) => ({\n value: opt.value,\n label: t(opt.labelKey, opt.label),\n description: t(opt.descriptionKey, opt.description),\n })),\n [t]\n );\n\n const dataSourceTypes = useMemo(\n () =>\n DATA_SOURCE_TYPES.map((type) => ({\n value: type.value,\n label: t(type.labelKey, type.label),\n })),\n [t]\n );\n\n return (\n <Sheet open={isOpen} onOpenChange={(open) => !open && onClose()} modal={false}>\n {/*\n `min(420px, 100vw)` instead of a hard 420px + 90vw cap: on a 390px\n viewport the old sizing left a 39px sliver of unusable canvas beside a\n full-bleed sheet. Now the sheet simply takes the viewport (BOFF-5636).\n */}\n <SheetContent\n style={{\n width: 'min(420px, 100vw)',\n maxWidth: '100vw',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n overflow: 'hidden',\n }}\n >\n <SheetHeader\n style={{\n padding: 'var(--space-cardPadding)',\n borderBottom: '1px solid var(--color-border-subtle)',\n backgroundColor: 'var(--color-bg-surface)',\n flexShrink: 0,\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-controlGap)' }}>\n <div\n style={{\n display: 'flex',\n height: 'var(--size-controlHeight-lg)',\n width: 'var(--size-controlHeight-lg)',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'var(--radius-card)',\n backgroundColor: 'var(--color-action-primary-bg)',\n boxShadow: 'var(--shadow-elevation-2)',\n flexShrink: 0,\n }}\n >\n <Info\n style={{\n height: 'var(--size-icon-md)',\n width: 'var(--size-icon-md)',\n color: 'var(--color-action-primary-text)',\n }}\n />\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <SheetTitle\n style={{\n fontSize: 'var(--font-size-body-md)',\n fontWeight: 'var(--font-weight-bold)',\n color: 'var(--color-text-primary)',\n margin: 0,\n }}\n >\n {selectedWidget\n ? t('bigconsole.widget.properties.header.widgetProperties', 'Widget Properties')\n : t('bigconsole.widget.properties.header.properties', 'Properties')}\n </SheetTitle>\n {saveStatus === 'saving' && (\n <Spinner style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n )}\n {saveStatus === 'saved' && (\n <Check\n style={{\n height: 'var(--size-icon-sm)',\n width: 'var(--size-icon-sm)',\n color: 'var(--color-status-success-bg)',\n }}\n />\n )}\n {saveStatus === 'error' && (\n <X\n style={{\n height: 'var(--size-icon-sm)',\n width: 'var(--size-icon-sm)',\n color: 'var(--color-status-error-bg)',\n }}\n />\n )}\n </div>\n {definition && (\n <SheetDescription\n style={{\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-text-secondary)',\n margin: 'var(--space-controlGap) 0 0 0',\n fontWeight: 'var(--font-weight-medium)',\n }}\n >\n {definition.name}\n </SheetDescription>\n )}\n </div>\n </div>\n </SheetHeader>\n\n {selectedWidget ? (\n <Tabs\n value={activeTab}\n onValueChange={(v) => setActiveTab(v as TabId)}\n style={{ flex: 1, display: 'flex', flexDirection: 'column', minHeight: 0, overflow: 'hidden' }}\n >\n {/*\n The tab strip is the panel's navigation, so it no longer renders in\n type smaller than the content it switches (was a hard-coded 12px),\n and it wraps to a second row instead of becoming a horizontal\n scroller that can hide the fourth tab off-screen (BOFF-5636).\n */}\n <TabsList\n style={{\n width: '100%',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'flex-start',\n borderRadius: 0,\n borderBottom: '1px solid var(--color-border-subtle)',\n padding: '2px 8px',\n backgroundColor: 'var(--color-bg-sunken)',\n minHeight: 'var(--size-controlHeight-lg)',\n height: 'auto',\n flexShrink: 0,\n gap: '2px',\n }}\n >\n <TabsTrigger value=\"general\" style={TAB_TRIGGER_STYLE}>\n {t('bigconsole.widget.properties.tab.general', 'General')}\n </TabsTrigger>\n <TabsTrigger value=\"data\" style={TAB_TRIGGER_STYLE}>\n {t('bigconsole.widget.properties.tab.data', 'Data')}\n </TabsTrigger>\n <TabsTrigger value=\"advanced\" style={TAB_TRIGGER_STYLE}>\n {t('bigconsole.widget.properties.tab.advanced', 'Advanced')}\n </TabsTrigger>\n <TabsTrigger value=\"appearance\" style={TAB_TRIGGER_STYLE}>\n {t('bigconsole.widget.properties.tab.style', 'Style')}\n </TabsTrigger>\n </TabsList>\n\n <div style={{ flex: 1, overflow: 'auto', padding: 'var(--space-cardPadding)', minHeight: 0 }}>\n <TabsContent value=\"general\" className=\"mt-0\">\n {localForm && (\n <SectionStack>\n <GeneralSection\n title={localForm.title}\n description={localForm.description}\n refreshInterval={localForm.refreshInterval}\n onTitleChange={(title) => updateLocalForm('title', title)}\n onDescriptionChange={(description) => updateLocalForm('description', description)}\n onRefreshIntervalChange={(refreshInterval) => updateLocalForm('refreshInterval', refreshInterval)}\n />\n\n <Section\n title={t('bigconsole.widget.properties.actions.heading', 'Buttons')}\n description={t(\n 'bigconsole.widget.properties.actions.subheading',\n 'Configure buttons on this widget'\n )}\n headingLevel={3}\n meta={\n actions.length > 0 ? (\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {actions.length}\n </span>\n ) : undefined\n }\n actions={\n <Button size=\"sm\" onClick={handleAddAction}>\n <Plus className=\"size-4\" />\n {t('bigconsole.widget.properties.actions.add', 'Add button')}\n </Button>\n }\n data-testid=\"widget-inspector-actions\"\n >\n {actionsLoading ? (\n <div className=\"flex justify-center py-8\">\n <Spinner className=\"size-6\" />\n </div>\n ) : actions.length === 0 ? (\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'bigconsole.widget.properties.actions.empty',\n 'No buttons yet — add one to let viewers take an action.'\n )}\n </p>\n ) : (\n <div className=\"space-y-2\">\n {[...actions]\n .sort((a, b) => a.order - b.order)\n .map((action, index) => (\n <Card key={action.id} className={action.disabled ? 'opacity-60' : ''}>\n <CardContent className=\"p-3 flex items-center gap-2\">\n <div className=\"flex flex-col gap-0.5\">\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={() => handleMoveActionUp(index)}\n disabled={index === 0}\n className=\"h-5 w-5\"\n >\n <ChevronUp className=\"size-3\" />\n </Button>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={() => handleMoveActionDown(index)}\n disabled={index === actions.length - 1}\n className=\"h-5 w-5\"\n >\n <ChevronDown className=\"size-3\" />\n </Button>\n </div>\n\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-2\">\n <span\n aria-hidden=\"true\"\n className={`size-2 shrink-0 rounded-full ${ACTION_STYLE_COLORS[action.style] || ACTION_STYLE_FALLBACK_COLOR}`}\n />\n <span className=\"text-sm font-medium truncate\">{action.label}</span>\n </div>\n <p className=\"text-xs text-text-secondary truncate\">\n {webhookByActionName.has(action.name)\n ? t(\n 'bigconsole.widget.properties.actions.webhookSummary',\n '→ {{method}} {{url}}',\n {\n method: webhookByActionName.get(action.name)?.method ?? '',\n url: webhookByActionName.get(action.name)?.webhookUrl ?? '',\n }\n )\n : t('bigconsole.widget.properties.actions.emitsEvent', 'Emits an event')}\n </p>\n </div>\n\n <div className=\"flex shrink-0 gap-1\">\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={`Edit ${action.label}`}\n onClick={() => handleEditAction(action)}\n >\n <Pencil className=\"size-4\" />\n </Button>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={`Delete ${action.label}`}\n onClick={() => handleDeleteAction(action.id)}\n >\n <Trash2 className=\"size-4\" />\n </Button>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n )}\n </Section>\n\n {isEditMode && selectedPosition && (\n <LayoutSection\n position={selectedPosition}\n columns={DEFAULT_GRID_CONFIG.cols}\n onChange={handlePositionChange}\n />\n )}\n </SectionStack>\n )}\n </TabsContent>\n\n <TabsContent value=\"data\" className=\"mt-0\">\n {localForm && (\n <SectionStack>\n {(() => {\n const binding = getWidgetBinding({\n dataSinkId: localForm.dataSinkId,\n parserId: localForm.parserId,\n config: { ...localForm.config, binding: undefined },\n });\n const validation = getWidgetBindingStatus({\n binding,\n loading: isDetectingFields || isResolvingBinding,\n error: bindingPreviewError,\n preview: bindingPreview,\n previewComplete: bindingPreviewComplete,\n });\n\n return (\n <DataBindingSection\n consoleId={selectedWidget?.dashboardId || ''}\n binding={binding}\n resolvedParser={resolvedBindingParser ?? undefined}\n dataSinkKey={selectedDataSinkKey}\n dataPath={\n typeof localForm.config.dataPath === 'string' ? localForm.config.dataPath : undefined\n }\n status={validation.status}\n resolving={isResolvingBinding}\n missingFields={validation.missingFields}\n preview={bindingPreview}\n error={bindingPreviewError}\n onDataSinkChange={handleDataSinkChange}\n onParserChange={handleParserChange}\n onDataPathChange={(dataPath) => updateLocalConfig({ ...localForm.config, dataPath })}\n />\n );\n })()}\n\n {/*\n Escape hatch for widgets that bypass the DataSink pipeline.\n It used to be an uppercase micro-label over up to seven\n ungrouped fields shaped exactly like the primary binding\n above it; a recessed section says plainly that this is the\n alternative path (BOFF-5636).\n */}\n <Section\n emphasis=\"muted\"\n title={t('bigconsole.widget.properties.data.alternativeSources', 'Alternative Data Sources')}\n description=\"Skip the DataSink pipeline and fetch straight from an API, a GraphQL endpoint or sample JSON.\"\n headingLevel={3}\n data-testid=\"widget-inspector-alt-sources\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.data.sourceTypeLabel', 'Data Source Type')}</Label>\n <Select\n value={(localForm.config?.dataSourceType as string) || ''}\n onValueChange={(value) =>\n updateLocalConfig({ ...localForm.config, dataSourceType: value || undefined })\n }\n >\n <SelectTrigger\n style={{ height: 'var(--size-controlHeight-md)', fontSize: 'var(--font-size-body-sm)' }}\n >\n <SelectValue\n placeholder={t(\n 'bigconsole.widget.properties.data.selectTypePlaceholder',\n 'Select type...'\n )}\n />\n </SelectTrigger>\n <SelectContent\n position=\"popper\"\n side=\"bottom\"\n sideOffset={4}\n align=\"start\"\n style={{\n zIndex: 9999,\n maxHeight: '200px',\n backgroundColor: 'var(--color-overlay-popoverBg, var(--color-bg-surface))',\n border: '1px solid var(--color-border-subtle)',\n boxShadow: 'var(--shadow-elevation-3)',\n borderRadius: 'var(--radius-button)',\n }}\n >\n {dataSourceTypes.map((type) => (\n <SelectItem key={type.value} value={type.value}>\n {type.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n {localForm.config?.dataSourceType === 'REST_API' && (\n <div className=\"space-y-3\">\n {/* Endpoint URL */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.rest.endpointUrlLabel', 'Endpoint URL *')}</Label>\n <Input\n value={(localForm.config?.endpointUrl as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, endpointUrl: e.target.value || undefined })\n }\n placeholder=\"https://api.example.com/data\"\n />\n </div>\n\n {/* HTTP Method */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.rest.httpMethodLabel', 'HTTP Method')}</Label>\n <Select\n value={(localForm.config?.httpMethod as string) || 'GET'}\n onValueChange={(value) => updateLocalConfig({ ...localForm.config, httpMethod: value })}\n >\n <SelectTrigger style={{ height: 'var(--size-controlHeight-md)' }}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent position=\"popper\" side=\"bottom\" sideOffset={4}>\n <SelectItem value=\"GET\">GET</SelectItem>\n <SelectItem value=\"POST\">POST</SelectItem>\n <SelectItem value=\"PUT\">PUT</SelectItem>\n <SelectItem value=\"DELETE\">DELETE</SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n {/* Headers */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.rest.headersLabel', 'Headers (JSON)')}</Label>\n <Textarea\n value={(localForm.config?.headers as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, headers: e.target.value || undefined })\n }\n rows={3}\n placeholder='{\"Authorization\": \"Bearer token\", \"Content-Type\": \"application/json\"}'\n className=\"font-mono text-xs\"\n />\n </div>\n\n {/* Authentication Type */}\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.rest.authenticationLabel', 'Authentication')}\n </Label>\n <Select\n value={(localForm.config?.authType as string) || 'none'}\n onValueChange={(value) => updateLocalConfig({ ...localForm.config, authType: value })}\n >\n <SelectTrigger style={{ height: 'var(--size-controlHeight-md)' }}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent position=\"popper\" side=\"bottom\" sideOffset={4}>\n <SelectItem value=\"none\">\n {t('bigconsole.widget.properties.rest.authNone', 'None')}\n </SelectItem>\n <SelectItem value=\"api_key\">\n {t('bigconsole.widget.properties.rest.authApiKey', 'API Key')}\n </SelectItem>\n <SelectItem value=\"bearer\">\n {t('bigconsole.widget.properties.rest.authBearer', 'Bearer Token')}\n </SelectItem>\n <SelectItem value=\"basic\">\n {t('bigconsole.widget.properties.rest.authBasic', 'Basic Auth')}\n </SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n {/* Auth Value (conditional) */}\n {!!(localForm.config?.authType && localForm.config.authType !== 'none') && (\n <div className=\"space-y-2\">\n <Label>\n {String(localForm.config.authType) === 'basic'\n ? t('bigconsole.widget.properties.rest.credentialsLabel', 'Credentials (user:pass)')\n : t('bigconsole.widget.properties.rest.tokenKeyLabel', 'Token/Key')}\n </Label>\n <Input\n type=\"password\"\n value={(localForm.config?.authValue as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, authValue: e.target.value || undefined })\n }\n placeholder={\n localForm.config.authType === 'basic'\n ? t(\n 'bigconsole.widget.properties.rest.credentialsPlaceholder',\n 'username:password'\n )\n : t(\n 'bigconsole.widget.properties.rest.tokenKeyPlaceholder',\n 'Enter token or API key'\n )\n }\n />\n </div>\n )}\n\n {/* Request Body (for POST/PUT) */}\n {(localForm.config?.httpMethod === 'POST' || localForm.config?.httpMethod === 'PUT') && (\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.rest.requestBodyLabel', 'Request Body (JSON)')}\n </Label>\n <Textarea\n value={(localForm.config?.requestBody as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, requestBody: e.target.value || undefined })\n }\n rows={4}\n placeholder='{\"key\": \"value\"}'\n className=\"font-mono text-xs\"\n />\n </div>\n )}\n\n {/* Data Path */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.dataPath.label', 'Data Path (optional)')}</Label>\n <Input\n value={(localForm.config?.dataPath as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, dataPath: e.target.value || undefined })\n }\n placeholder=\"$.data.items or .data.items\"\n />\n <p className=\"text-xs text-text-secondary\">\n {t(\n 'bigconsole.widget.properties.dataPath.restHelp',\n 'JSONPath or dot notation to extract data from response'\n )}\n </p>\n </div>\n </div>\n )}\n\n {localForm.config?.dataSourceType === 'GRAPHQL' && (\n <div className=\"space-y-3\">\n {/* GraphQL Endpoint */}\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.graphql.endpointLabel', 'GraphQL Endpoint *')}\n </Label>\n <Input\n value={(localForm.config?.graphqlEndpoint as string) || ''}\n onChange={(e) =>\n updateLocalConfig({\n ...localForm.config,\n graphqlEndpoint: e.target.value || undefined,\n })\n }\n placeholder=\"https://api.example.com/graphql\"\n />\n </div>\n\n {/* GraphQL Query */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.graphql.queryLabel', 'Query *')}</Label>\n <Textarea\n value={(localForm.config?.graphqlQuery as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, graphqlQuery: e.target.value || undefined })\n }\n rows={6}\n placeholder={`query GetData($limit: Int) {\n items(limit: $limit) {\n id\n name\n value\n }\n}`}\n className=\"font-mono text-xs\"\n />\n </div>\n\n {/* GraphQL Variables */}\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.graphql.variablesLabel', 'Variables (JSON, optional)')}\n </Label>\n <Textarea\n value={(localForm.config?.graphqlVariables as string) || ''}\n onChange={(e) =>\n updateLocalConfig({\n ...localForm.config,\n graphqlVariables: e.target.value || undefined,\n })\n }\n rows={3}\n placeholder='{\"limit\": 10, \"offset\": 0}'\n className=\"font-mono text-xs\"\n />\n </div>\n\n {/* Headers */}\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.graphql.headersLabel', 'Headers (JSON, optional)')}\n </Label>\n <Textarea\n value={(localForm.config?.headers as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, headers: e.target.value || undefined })\n }\n rows={2}\n placeholder='{\"Authorization\": \"Bearer token\"}'\n className=\"font-mono text-xs\"\n />\n </div>\n\n {/* Data Path */}\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.widget.properties.dataPath.label', 'Data Path (optional)')}</Label>\n <Input\n value={(localForm.config?.dataPath as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, dataPath: e.target.value || undefined })\n }\n placeholder=\".data.items\"\n />\n <p className=\"text-xs text-text-secondary\">\n {t(\n 'bigconsole.widget.properties.dataPath.graphqlHelp',\n 'Path to extract data from GraphQL response'\n )}\n </p>\n </div>\n </div>\n )}\n\n {localForm.config?.dataSourceType === 'MOCK' && (\n <div className=\"space-y-2\">\n <Label>\n {t('bigconsole.widget.properties.mock.sampleDataLabel', 'Sample Data (JSON)')}\n </Label>\n <Textarea\n value={(localForm.config?.mockData as string) || ''}\n onChange={(e) =>\n updateLocalConfig({ ...localForm.config, mockData: e.target.value || undefined })\n }\n rows={5}\n placeholder='{\"value\": 100}'\n className=\"font-mono text-sm\"\n />\n </div>\n )}\n </div>\n </Section>\n </SectionStack>\n )}\n </TabsContent>\n\n <TabsContent value=\"advanced\" className=\"mt-0\">\n <SectionStack>\n {localForm && (\n <AdvancedSection\n renderer={localForm.renderer}\n rendererOptions={rendererOptions}\n onRendererChange={(renderer) => {\n updateLocalForm('renderer', renderer);\n if (renderer === 'BIGCONSOLE') updateLocalForm('template', undefined);\n }}\n templateEditor={\n localForm.renderer !== 'BIGCONSOLE' ? (\n <TemplateEditor\n widget={{ ...selectedWidget, template: localForm.template, renderer: localForm.renderer }}\n onSave={(template) => updateLocalForm('template', template)}\n />\n ) : undefined\n }\n />\n )}\n\n <Section\n title={t('bigconsole.widget.properties.section.drilldown', 'Drilldown')}\n description=\"Where a click on this widget's data takes the viewer.\"\n headingLevel={3}\n data-testid=\"widget-inspector-drilldown\"\n >\n <DrilldownConfigPanel widget={selectedWidget} onChange={handleDrilldownChange} />\n </Section>\n\n <Section\n title={t('bigconsole.widget.properties.section.webhooks', 'Webhooks')}\n description=\"HTTP endpoints called when this widget emits an event.\"\n headingLevel={3}\n data-testid=\"widget-inspector-webhooks\"\n >\n <WebhookConfigPanel dashboardId={selectedWidget.dashboardId} widgetId={selectedWidget.id} />\n </Section>\n\n <Section\n emphasis=\"muted\"\n title={t('bigconsole.widget.properties.section.events', 'Events')}\n description=\"Recent deliveries for this widget, newest first. Supporting detail — nothing here changes the widget.\"\n headingLevel={3}\n data-testid=\"widget-inspector-events\"\n >\n <EventLogViewer\n dashboardId={selectedWidget.dashboardId}\n widgetId={selectedWidget.id}\n maxHeight=\"min(50vh, 360px)\"\n />\n </Section>\n </SectionStack>\n </TabsContent>\n\n <TabsContent value=\"appearance\" className=\"mt-0\">\n {localForm && (\n <AppearanceSection\n widgetType={selectedWidget.type}\n config={localForm.config || {}}\n onChange={handleConfigChange}\n />\n )}\n </TabsContent>\n </div>\n </Tabs>\n ) : (\n <div className=\"flex min-h-0 flex-1 items-center justify-center p-card-padding\">\n <Section\n tone=\"info\"\n title={t('bigconsole.widget.properties.emptyState', 'Select a widget to edit')}\n headingLevel={3}\n icon={<Info className=\"h-icon-md w-icon-md\" />}\n className=\"w-full max-w-sm\"\n data-testid=\"widget-inspector-empty\"\n >\n <p className=\"text-sm text-text-secondary\">\n Pick a widget on the canvas and its identity, data binding, actions and style options appear here.\n </p>\n </Section>\n </div>\n )}\n\n {/* Global Save/Discard Footer */}\n {selectedWidget && (\n <div\n style={{\n padding: 'var(--space-cardPadding)',\n borderTop: '1px solid var(--color-border-subtle)',\n backgroundColor: 'var(--color-bg-sunken)',\n flexShrink: 0,\n }}\n >\n {/*\n Save state used to be three ad-hoc inline chips with raw rgba()\n fallbacks baked into the var() calls. They are now one toned\n section, so \"unsaved / saved / failed\" reads the same here as every\n other status surface in the module (BOFF-5636).\n */}\n {hasUnsavedChanges && (\n <Section\n tone=\"warning\"\n padding=\"compact\"\n title={t('bigconsole.widget.properties.footer.unsavedChanges', 'You have unsaved changes')}\n headingLevel={3}\n className=\"mb-control-gap\"\n data-testid=\"widget-inspector-save-unsaved\"\n />\n )}\n\n {saveStatus === 'saved' && !hasUnsavedChanges && (\n <Section\n tone=\"success\"\n padding=\"compact\"\n title={t('bigconsole.widget.properties.footer.allSaved', 'All changes saved')}\n headingLevel={3}\n icon={<Check className=\"h-icon-sm w-icon-sm\" />}\n className=\"mb-control-gap\"\n data-testid=\"widget-inspector-save-saved\"\n />\n )}\n\n {saveStatus === 'error' && (\n <Section\n tone=\"danger\"\n padding=\"compact\"\n title={t('bigconsole.widget.properties.footer.saveFailed', 'Failed to save changes')}\n headingLevel={3}\n icon={<X className=\"h-icon-sm w-icon-sm\" />}\n className=\"mb-control-gap\"\n data-testid=\"widget-inspector-save-error\"\n />\n )}\n\n {/* Action buttons */}\n <div className=\"flex flex-wrap gap-control-gap\">\n <Button\n onClick={handleSaveAll}\n disabled={saveStatus === 'saving' || !hasUnsavedChanges}\n style={{\n flex: 1,\n height: 'var(--size-controlHeight-md)',\n backgroundColor: hasUnsavedChanges ? 'var(--color-action-primary-bg)' : undefined,\n opacity: hasUnsavedChanges ? 1 : 0.5,\n }}\n >\n {saveStatus === 'saving' ? (\n <span style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <Spinner style={{ width: 'var(--size-icon-sm)', height: 'var(--size-icon-sm)' }} />\n {t('bigconsole.widget.properties.footer.saving', 'Saving...')}\n </span>\n ) : (\n <span style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <Check style={{ width: 'var(--size-icon-sm)', height: 'var(--size-icon-sm)' }} />\n {t('bigconsole.widget.properties.footer.saveChanges', 'Save Changes')}\n </span>\n )}\n </Button>\n <Button\n variant=\"outline\"\n onClick={handleDiscardAll}\n disabled={saveStatus === 'saving' || !hasUnsavedChanges}\n style={{\n height: 'var(--size-controlHeight-md)',\n opacity: hasUnsavedChanges ? 1 : 0.5,\n }}\n >\n <X style={{ width: 'var(--size-icon-sm)', height: 'var(--size-icon-sm)' }} />\n {t('bigconsole.widget.properties.footer.discard', 'Discard')}\n </Button>\n </div>\n </div>\n )}\n\n <ActionConfigDialog\n isOpen={isActionDialogOpen}\n action={editingAction}\n initialWebhook={dialogInitialWebhook}\n isLoading={actionSaving}\n saveError={pendingActionError}\n onClose={() => {\n setIsActionDialogOpen(false);\n setEditingAction(undefined);\n setPendingWebhookDraft(undefined);\n setPendingActionError(null);\n }}\n onSave={handleSaveAction}\n />\n </SheetContent>\n </Sheet>\n );\n});\n\nexport default PropertiesPanel;\n"],"mappings":"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"}
@@ -20,3 +20,4 @@ export declare class WidgetErrorBoundary extends Component<WidgetErrorBoundaryPr
20
20
  render(): ReactNode;
21
21
  }
22
22
  export default WidgetErrorBoundary;
23
+ //# sourceMappingURL=WidgetErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/WidgetErrorBoundary.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACnD;AAED,UAAU,wBAAwB;IAChC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IACpG,KAAK,EAAE,wBAAwB,CAAmB;IAElD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,wBAAwB;IAIvE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAatD,kBAAkB,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI;IAU7D,OAAO,CAAC,WAAW,CAEjB;IAEF,MAAM,IAAI,SAAS;CAkDpB;AAED,eAAe,mBAAmB,CAAC"}
@@ -73,3 +73,5 @@ var r = class extends e {
73
73
  };
74
74
  //#endregion
75
75
  export { r as default };
76
+
77
+ //# sourceMappingURL=WidgetErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetErrorBoundary.js","names":[],"sources":["../../../../src/bigconsole/components/widgets/WidgetErrorBoundary.tsx"],"sourcesContent":["// Per-widget error boundary — isolates render errors so one bad widget can't\n// unmount the whole dashboard (BOFF-2242).\n\nimport { Component, type ErrorInfo, type ReactNode } from 'react';\n\nexport interface WidgetErrorBoundaryProps {\n widgetId: string;\n widgetType?: string;\n widgetTitle?: string;\n // Change to reset even when widgetId is stable (e.g. parser re-bind or config edit).\n resetKey?: string | number;\n children: ReactNode;\n onError?: (error: Error, info: ErrorInfo) => void;\n}\n\ninterface WidgetErrorBoundaryState {\n error: Error | null;\n}\n\nexport class WidgetErrorBoundary extends Component<WidgetErrorBoundaryProps, WidgetErrorBoundaryState> {\n state: WidgetErrorBoundaryState = { error: null };\n\n static getDerivedStateFromError(error: Error): WidgetErrorBoundaryState {\n return { error };\n }\n\n componentDidCatch(error: Error, info: ErrorInfo): void {\n const { widgetId, widgetType, widgetTitle, onError } = this.props;\n // eslint-disable-next-line no-console -- boundary needs a visible trace\n console.error(\n `[WidgetErrorBoundary] widget ${widgetId}${widgetType ? ` (${widgetType})` : ''}${\n widgetTitle ? ` \"${widgetTitle}\"` : ''\n } threw:`,\n error,\n info.componentStack\n );\n onError?.(error, info);\n }\n\n componentDidUpdate(prevProps: WidgetErrorBoundaryProps): void {\n // Reset on widgetId or resetKey change so config edits auto-recover without requiring Retry.\n if (\n this.state.error &&\n (prevProps.widgetId !== this.props.widgetId || prevProps.resetKey !== this.props.resetKey)\n ) {\n this.setState({ error: null });\n }\n }\n\n private handleRetry = (): void => {\n this.setState({ error: null });\n };\n\n render(): ReactNode {\n const { error } = this.state;\n if (!error) return this.props.children;\n\n // Full error is logged via componentDidCatch — never render raw error\n // text in the DOM (title, data-*, etc.) since it can leak internal paths.\n const { widgetType, widgetTitle } = this.props;\n const label = widgetTitle || widgetType || 'This widget';\n\n return (\n /* Shares the widget-state recipe (chip, copy width, padding, retry button). */\n <div\n className=\"flex h-full w-full min-w-0 min-h-[120px] flex-col items-center justify-center px-3 text-center\"\n role=\"alert\"\n data-widget-error=\"true\"\n >\n <div className=\"mb-3 flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-status-error-bg-subtle text-[var(--color-status-error-text)]\">\n <svg aria-hidden=\"true\" className=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n </div>\n\n <p className=\"mb-1 text-sm font-semibold text-[var(--color-status-error-text)]\">Widget failed to render</p>\n <p className=\"mb-3 max-w-[32ch] text-xs text-text-secondary\">\n {label} hit an unexpected error. Check the console for details or retry.\n </p>\n\n <button\n type=\"button\"\n onClick={this.handleRetry}\n className=\"inline-flex min-h-control-md items-center gap-1.5 rounded-button bg-action-primary-bg px-3 text-sm font-medium text-action-primary-text hover:bg-action-primary-bgHover motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface\"\n >\n <svg aria-hidden=\"true\" className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"\n />\n </svg>\n Retry\n </button>\n </div>\n );\n }\n}\n\nexport default WidgetErrorBoundary;\n"],"mappings":";;;AAmBA,IAAa,IAAb,cAAyC,EAA8D;CACrG,QAAkC,EAAE,OAAO,MAAM;CAEjD,OAAO,yBAAyB,GAAwC;AACtE,SAAO,EAAE,UAAO;;CAGlB,kBAAkB,GAAc,GAAuB;EACrD,IAAM,EAAE,aAAU,eAAY,gBAAa,eAAY,KAAK;AAS5D,EAPA,QAAQ,MACN,gCAAgC,IAAW,IAAa,KAAK,EAAW,KAAK,KAC3E,IAAc,KAAK,EAAY,KAAK,GACrC,UACD,GACA,EAAK,eACN,EACD,IAAU,GAAO,EAAK;;CAGxB,mBAAmB,GAA2C;AAE5D,EACE,KAAK,MAAM,UACV,EAAU,aAAa,KAAK,MAAM,YAAY,EAAU,aAAa,KAAK,MAAM,aAEjF,KAAK,SAAS,EAAE,OAAO,MAAM,CAAC;;CAIlC,oBAAkC;AAChC,OAAK,SAAS,EAAE,OAAO,MAAM,CAAC;;CAGhC,SAAoB;EAClB,IAAM,EAAE,aAAU,KAAK;AACvB,MAAI,CAAC,EAAO,QAAO,KAAK,MAAM;EAI9B,IAAM,EAAE,eAAY,mBAAgB,KAAK;AAGzC,SAEE,kBAAC,OAAD;GACE,WAAU;GACV,MAAK;GACL,qBAAkB;aAHpB;IAKE,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,OAAD;MAAK,eAAY;MAAO,WAAU;MAAU,MAAK;MAAO,QAAO;MAAe,SAAQ;gBACpF,kBAAC,QAAD;OACE,eAAc;OACd,gBAAe;OACf,aAAa;OACb,GAAE;OACF,CAAA;MACE,CAAA;KACF,CAAA;IAEN,kBAAC,KAAD;KAAG,WAAU;eAAmE;KAA2B,CAAA;IAC3G,kBAAC,KAAD;KAAG,WAAU;eAAb,CArBU,KAAe,KAAc,eAsB9B,oEACL;;IAEJ,kBAAC,UAAD;KACE,MAAK;KACL,SAAS,KAAK;KACd,WAAU;eAHZ,CAKE,kBAAC,OAAD;MAAK,eAAY;MAAO,WAAU;MAAU,MAAK;MAAO,QAAO;MAAe,SAAQ;gBACpF,kBAAC,QAAD;OACE,eAAc;OACd,gBAAe;OACf,aAAa;OACb,GAAE;OACF,CAAA;MACE,CAAA,EAAA,QAEC;;IACL"}
@@ -41,3 +41,4 @@ export interface WidgetHeaderProps {
41
41
  }
42
42
  export declare const WidgetHeader: FC<WidgetHeaderProps>;
43
43
  export default WidgetHeader;
44
+ //# sourceMappingURL=WidgetHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetHeader.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/WidgetHeader.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA2B,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOzD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAsO7C,CAAC;AAgHH,eAAe,YAAY,CAAC"}
@@ -284,3 +284,5 @@ var a = t(function({ previewOnly: t = !1, widget: a, definition: s, isSelected:
284
284
  };
285
285
  //#endregion
286
286
  export { a as default };
287
+
288
+ //# sourceMappingURL=WidgetHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetHeader.js","names":[],"sources":["../../../../src/bigconsole/components/widgets/WidgetHeader.tsx"],"sourcesContent":["/**\n * WidgetHeader Component\n *\n * Header section of a widget with title, icon, and action menu.\n */\n\nimport { type FC, type ReactElement, memo } from 'react';\nimport { MessageSquare } from 'lucide-react';\nimport type { Widget } from '../../types';\nimport type { WidgetDefinition } from './WidgetRegistry';\nimport { WidgetMenu } from './WidgetMenu';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface WidgetHeaderProps {\n previewOnly?: boolean;\n /** The widget data */\n widget: Widget;\n /** Widget definition from registry */\n definition: WidgetDefinition;\n /** Whether the widget is selected */\n isSelected?: boolean;\n /** Whether in edit mode */\n isEditMode?: boolean;\n /**\n * The rendered values come from a template's embedded sample, not a\n * connected data source. Badged so nobody mistakes example numbers for\n * their own.\n */\n isSampleData?: boolean;\n /** Whether the widget is loading */\n isLoading?: boolean;\n /** Time until next refresh (formatted string) */\n timeUntilRefresh?: string;\n /** Whether drilldown is enabled on this widget */\n hasDrilldown?: boolean;\n /** Callback to refresh widget */\n onRefresh?: () => void;\n /** Callback to export as CSV */\n onExportCSV?: () => void;\n /** Callback to export as PNG */\n onExportPNG?: () => void;\n /** Callback for drilldown */\n onDrilldown?: () => void;\n /** Toggle the widget comments panel */\n onToggleComments?: () => void;\n /** Whether the comments panel is currently open */\n commentsOpen?: boolean;\n /** Number of comments on this widget (badge) */\n commentCount?: number;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const WidgetHeader: FC<WidgetHeaderProps> = memo(function WidgetHeader({\n previewOnly = false,\n widget,\n definition,\n isSelected,\n isEditMode,\n isLoading,\n isSampleData,\n timeUntilRefresh,\n hasDrilldown,\n onRefresh,\n onExportCSV,\n onExportPNG,\n onDrilldown,\n onToggleComments,\n commentsOpen,\n commentCount = 0,\n}) {\n return (\n /*\n The card's title band. It is the anchor of the card, so the title is\n `font-semibold` (was `font-medium`, identical to body copy) and the band\n sits on the card surface with a seam — the sunken fill now belongs to the\n action tray at the bottom, so the two strips read as different jobs\n (BOFF-5636).\n\n The fill is chosen in ONE branch rather than layering\n `bg-action-primary-bg/5` on top of `bg-bg-surface`: two background-colour\n utilities on the same element are resolved by Tailwind's output order, not\n by the order they are written, so the selected tint was not reliably\n winning.\n */\n <div\n className={`\n flex min-w-0 items-center justify-between gap-1\n px-3 py-2 sm:px-4\n border-b border-[var(--color-border-subtle)]\n ${isSelected && isEditMode ? 'bg-action-primary-bg/5' : 'bg-bg-surface'}\n `}\n >\n {/* Left side: Icon and Title - THIS IS THE DRAG HANDLE */}\n <div\n className={`\n widget-drag-handle\n flex items-center gap-2 min-w-0 flex-1\n ${isEditMode ? 'cursor-move' : ''}\n `}\n >\n {/* Widget type icon */}\n <div\n className={`\n flex-shrink-0 h-icon-md w-icon-md\n text-text-secondary\n ${isLoading ? 'animate-pulse' : ''}\n `}\n >\n <WidgetIcon name={definition.icon} />\n </div>\n\n {/* Title */}\n <h3\n className=\"\n truncate text-sm font-semibold leading-tight tracking-tight\n text-text-primary\n \"\n title={widget.title}\n >\n {widget.title}\n </h3>\n\n {/* Sample-data badge — example values, not the viewer's own data */}\n {isSampleData && (\n <span\n className=\"\n flex-shrink-0\n px-1.5 py-0.5\n rounded\n text-[10px] font-medium uppercase tracking-wide\n bg-status-info-bg-subtle text-status-info-text\n \"\n title=\"Example values from the template. Connect a data source to see your own data.\"\n >\n Sample\n </span>\n )}\n\n {/* Drilldown indicator badge */}\n {hasDrilldown && (\n <span\n className=\"\n flex-shrink-0 inline-flex items-center gap-0.5\n px-1.5 py-0.5 rounded-md\n bg-action-primary-bg/10 text-action-primary-text\n text-[10px] font-medium\n \"\n title=\"Click data to drill down\"\n >\n <svg className=\"w-2.5 h-2.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2.5}\n d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"\n />\n </svg>\n Drilldown\n </span>\n )}\n\n {/* Refresh indicator */}\n {timeUntilRefresh && !isEditMode && (\n <span\n className=\"\n flex-shrink-0 text-xs\n text-text-secondary\n tabular-nums\n \"\n title=\"Time until next refresh\"\n >\n {timeUntilRefresh}\n </span>\n )}\n </div>\n\n {/* Right side: Actions — allowed to shrink so a narrow card keeps its title */}\n <div className=\"flex min-w-0 shrink items-center gap-0.5\">\n {/* Drilldown button (shown in view mode) */}\n {onDrilldown && !isEditMode && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onDrilldown();\n }}\n className=\"\n p-1.5 rounded-md\n text-text-secondary\n hover:text-text-primary\n hover:bg-bg-sunken\n transition-colors\n \"\n title=\"Drill down to details\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"\n />\n </svg>\n </button>\n )}\n\n {/* Refresh button */}\n {onRefresh && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onRefresh();\n }}\n disabled={isLoading}\n className={`\n p-1.5 rounded-md\n text-text-secondary\n hover:text-text-primary\n hover:bg-bg-sunken\n transition-colors\n disabled:opacity-50 disabled:cursor-not-allowed\n ${isLoading ? 'animate-spin' : ''}\n `}\n title=\"Refresh data\"\n >\n <svg className=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"\n />\n </svg>\n </button>\n )}\n\n {/* Comments toggle */}\n {onToggleComments && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onToggleComments();\n }}\n aria-label=\"Toggle comments\"\n aria-pressed={commentsOpen}\n className={`\n relative p-1.5 rounded-md\n transition-colors\n ${\n commentsOpen\n ? 'text-action-primary-text bg-action-primary-bg/10'\n : 'text-text-secondary hover:text-text-primary hover:bg-bg-sunken'\n }\n `}\n title=\"Comments\"\n >\n <MessageSquare className=\"w-4 h-4\" />\n {commentCount > 0 && (\n <span className=\"absolute -top-0.5 -right-0.5 min-w-[14px] h-[14px] px-0.5 rounded-full bg-action-primary-bg text-action-primary-text text-[9px] font-semibold leading-[14px] text-center tabular-nums\">\n {commentCount > 99 ? '99+' : commentCount}\n </span>\n )}\n </button>\n )}\n\n {/* Menu (always visible) */}\n {!previewOnly && (\n <div className=\"block\">\n <WidgetMenu\n widget={widget}\n isEditMode={isEditMode}\n onRefresh={onRefresh}\n onExportCSV={onExportCSV}\n onExportPNG={onExportPNG}\n />\n </div>\n )}\n </div>\n </div>\n );\n});\n\n// ============================================================================\n// Widget Icon Component\n// ============================================================================\n\ninterface WidgetIconProps {\n name: string;\n className?: string;\n}\n\nconst WidgetIcon: FC<WidgetIconProps> = ({ name, className = '' }) => {\n // Simple icon mapping - in production, use lucide-react or similar\n const icons: Record<string, ReactElement> = {\n TrendingUp: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\" />\n </svg>\n ),\n BarChart3: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M18 20V10M12 20V4M6 20v-6\" />\n </svg>\n ),\n LineChart: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M7 20l4-16m2 16l4-16M6 9h14M4 15h14\" />\n </svg>\n ),\n Table: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"\n />\n </svg>\n ),\n Gauge: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n Activity: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M22 12h-4l-3 9L9 3l-3 9H2\" />\n </svg>\n ),\n List: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4 6h16M4 10h16M4 14h16M4 18h16\" />\n </svg>\n ),\n PieChart: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z\"\n />\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z\"\n />\n </svg>\n ),\n BarChart: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"\n />\n </svg>\n ),\n AreaChart: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4v16\"\n />\n </svg>\n ),\n };\n\n // Default icon\n const defaultIcon = (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className={className}>\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"\n />\n </svg>\n );\n\n return icons[name] || defaultIcon;\n};\n\nexport default WidgetHeader;\n"],"mappings":"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"}
@@ -15,3 +15,4 @@ export interface WidgetMenuProps {
15
15
  }
16
16
  export declare const WidgetMenu: FC<WidgetMenuProps>;
17
17
  export default WidgetMenu;
18
+ //# sourceMappingURL=WidgetMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetMenu.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/WidgetMenu.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqE,MAAM,OAAO,CAAC;AAGnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAsBD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAuZzC,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -303,3 +303,5 @@ var p = r(function({ widget: r, isEditMode: p, onRefresh: m, onExportCSV: h, onE
303
303
  });
304
304
  //#endregion
305
305
  export { p as default };
306
+
307
+ //# sourceMappingURL=WidgetMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetMenu.js","names":[],"sources":["../../../../src/bigconsole/components/widgets/WidgetMenu.tsx"],"sourcesContent":["/**\n * WidgetMenu Component\n *\n * Dropdown menu with widget actions (edit, duplicate, delete, etc.)\n */\n\nimport { type FC, type ReactElement, useState, useRef, useEffect, useCallback, memo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport type { Widget } from '../../types';\nimport { useWidgetStore } from '../../store';\nimport { useWidgetOperations } from '../../hooks';\nimport { BIGCONSOLE_PERMISSIONS } from '../../../constants/permissions';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface WidgetMenuProps {\n /** The widget data */\n widget: Widget;\n /** Whether in edit mode */\n isEditMode?: boolean;\n /** Callback to refresh widget */\n onRefresh?: () => void;\n /** Callback to export as CSV */\n onExportCSV?: () => void;\n /** Callback to export as PNG */\n onExportPNG?: () => void;\n}\n\ninterface MenuItem {\n id: string;\n label: string;\n icon: ReactElement;\n action: () => void;\n disabled?: boolean;\n destructive?: boolean;\n divider?: boolean;\n /**\n * When `false`, the item is filtered out entirely because the caller lacks the\n * matching widget permission. `undefined`/`true` = always shown (read-only\n * actions and dividers).\n */\n permitted?: boolean;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const WidgetMenu: FC<WidgetMenuProps> = memo(function WidgetMenu({\n widget,\n isEditMode,\n onRefresh,\n onExportCSV,\n onExportPNG,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const [menuPosition, setMenuPosition] = useState({ top: 0, left: 0 });\n const menuRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // Permission gating for the widget CRUD actions. Read-only actions (refresh,\n // export) are always available; mutating actions are hidden when denied. The\n // menu items are custom portalled <button>s (not fe-libs Button), so we filter\n // by capability rather than wrapping in PermissionButton.\n const { hasPermission } = usePermissions();\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.WIDGET_UPDATE);\n const canCreate = hasPermission(BIGCONSOLE_PERMISSIONS.WIDGET_CREATE);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.WIDGET_DELETE);\n\n // Store actions\n const selectWidget = useWidgetStore((state) => state.selectWidget);\n const copyWidget = useWidgetStore((state) => state.copyWidget);\n const cutWidget = useWidgetStore((state) => state.cutWidget);\n const removeWidget = useWidgetStore((state) => state.removeWidget);\n const openConfigPanel = useWidgetStore((state) => state.openConfigPanel);\n\n // API operations - skipFetch since parent page fetches\n const {\n duplicateWidget: duplicateWidgetApi,\n deleteWidget: deleteWidgetApi,\n refreshWidgetData,\n } = useWidgetOperations(widget.pageId, widget.dashboardId, { skipFetch: true });\n\n // Close menu when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n menuRef.current &&\n !menuRef.current.contains(event.target as Node) &&\n buttonRef.current &&\n !buttonRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isOpen]);\n\n // Close menu on escape\n useEffect(() => {\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n buttonRef.current?.focus();\n }\n };\n\n if (isOpen) {\n document.addEventListener('keydown', handleEscape);\n }\n\n return () => {\n document.removeEventListener('keydown', handleEscape);\n };\n }, [isOpen]);\n\n // Toggle menu with collision detection\n const toggleMenu = useCallback((event: React.MouseEvent) => {\n event.stopPropagation();\n setIsOpen((prev) => {\n if (!prev && buttonRef.current) {\n // Calculate position when opening with collision detection\n const rect = buttonRef.current.getBoundingClientRect();\n const menuWidth = 160;\n const menuHeight = 320; // Approximate max height of menu\n const collisionPadding = 10;\n\n // Calculate initial position\n let top = rect.bottom + 4;\n let left = rect.right - menuWidth;\n\n // Check right overflow - ensure menu doesn't go past viewport right edge\n if (left + menuWidth > window.innerWidth - collisionPadding) {\n left = window.innerWidth - menuWidth - collisionPadding;\n }\n\n // Check left overflow - ensure menu doesn't go past viewport left edge\n if (left < collisionPadding) {\n left = collisionPadding;\n }\n\n // Check bottom overflow - flip to top if needed\n if (top + menuHeight > window.innerHeight - collisionPadding) {\n top = rect.top - menuHeight - 4;\n // If still overflows at top, position at top of viewport\n if (top < collisionPadding) {\n top = collisionPadding;\n }\n }\n\n setMenuPosition({\n top: top + window.scrollY,\n left: left + window.scrollX,\n });\n }\n return !prev;\n });\n }, []);\n\n // Menu items\n const menuItems: MenuItem[] = [\n {\n id: 'edit',\n label: 'Edit Widget',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"\n />\n </svg>\n ),\n action: () => {\n selectWidget(widget.id);\n openConfigPanel();\n setIsOpen(false);\n },\n disabled: !isEditMode,\n permitted: canUpdate,\n },\n {\n id: 'refresh',\n label: 'Refresh Data',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"\n />\n </svg>\n ),\n action: async () => {\n setIsOpen(false);\n if (onRefresh) {\n onRefresh();\n } else {\n await refreshWidgetData(widget.id);\n }\n },\n disabled: false,\n },\n {\n id: 'exportCSV',\n label: 'Export CSV',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n ),\n action: () => {\n setIsOpen(false);\n onExportCSV?.();\n },\n disabled: !onExportCSV,\n },\n {\n id: 'exportPNG',\n label: 'Export PNG',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n ),\n action: () => {\n setIsOpen(false);\n onExportPNG?.();\n },\n disabled: !onExportPNG,\n },\n {\n id: 'divider1',\n label: '',\n icon: <></>,\n action: () => {},\n divider: true,\n },\n {\n id: 'copy',\n label: 'Copy',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"\n />\n </svg>\n ),\n action: () => {\n copyWidget(widget.id);\n setIsOpen(false);\n },\n disabled: !isEditMode,\n permitted: canCreate,\n },\n {\n id: 'cut',\n label: 'Cut',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z\"\n />\n </svg>\n ),\n action: () => {\n cutWidget(widget.id);\n setIsOpen(false);\n },\n disabled: !isEditMode,\n // Cut both removes the source widget and stages a paste, so it needs\n // create AND update rights.\n permitted: canCreate && canUpdate,\n },\n {\n id: 'duplicate',\n label: 'Duplicate',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2\"\n />\n </svg>\n ),\n action: async () => {\n setIsOpen(false);\n // Calculate new position (offset from original)\n const newPosition = {\n x: (widget.positionX ?? 0) + 1,\n y: (widget.positionY ?? 0) + 1,\n width: widget.positionWidth ?? 4,\n height: widget.positionHeight ?? 4,\n };\n await duplicateWidgetApi(widget.id, newPosition, `${widget.title} (Copy)`);\n },\n disabled: !isEditMode,\n permitted: canCreate,\n },\n {\n id: 'divider2',\n label: '',\n icon: <></>,\n action: () => {},\n divider: true,\n },\n {\n id: 'delete',\n label: 'Delete',\n icon: (\n <svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" className=\"w-4 h-4\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"\n />\n </svg>\n ),\n action: async () => {\n if (window.confirm('Are you sure you want to delete this widget?')) {\n setIsOpen(false);\n const success = await deleteWidgetApi(widget.id);\n if (!success) {\n // Fallback to local store removal if API fails\n removeWidget(widget.id);\n }\n } else {\n setIsOpen(false);\n }\n },\n disabled: !isEditMode,\n destructive: true,\n permitted: canDelete,\n },\n ];\n\n // Drop items the caller lacks permission for, then collapse any dividers that\n // are now leading, trailing, or adjacent to another divider (so removing a\n // gated action never leaves an orphaned separator line).\n const permittedItems = menuItems.filter((item) => item.permitted !== false);\n const visibleMenuItems = permittedItems.filter((item, index) => {\n if (!item.divider) return true;\n const prev = permittedItems[index - 1];\n const next = permittedItems[index + 1];\n return prev !== undefined && next !== undefined && !prev.divider && !next.divider;\n });\n\n return (\n <div className=\"relative\">\n {/* Menu Button */}\n <button\n ref={buttonRef}\n type=\"button\"\n onClick={toggleMenu}\n className={`\n p-1.5 rounded-md\n text-text-secondary\n hover:text-text-primary\n hover:bg-bg-sunken\n transition-colors\n ${isOpen ? 'bg-bg-sunken' : ''}\n `}\n title=\"Widget options\"\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n >\n <svg className=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <circle cx=\"12\" cy=\"5\" r=\"2\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <circle cx=\"12\" cy=\"19\" r=\"2\" />\n </svg>\n </button>\n\n {/* Dropdown Menu - Rendered via Portal to avoid overflow clipping */}\n {isOpen &&\n createPortal(\n <div\n ref={menuRef}\n style={{\n position: 'fixed',\n top: menuPosition.top,\n left: menuPosition.left,\n zIndex: 99999,\n }}\n className=\"\n min-w-[160px]\n py-1\n bg-bg-surface\n border border-border-default\n rounded-lg shadow-lg\n \"\n role=\"menu\"\n aria-orientation=\"vertical\"\n >\n {visibleMenuItems.map((item) => {\n if (item.divider) {\n return <div key={item.id} className=\"my-1 border-t border-border-default\" />;\n }\n\n return (\n <button\n key={item.id}\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n item.action();\n }}\n disabled={item.disabled}\n className={`\n w-full flex items-center gap-2\n px-3 py-2 text-left text-sm\n transition-colors\n ${item.disabled ? 'opacity-50 cursor-not-allowed' : 'hover:bg-bg-sunken'}\n ${item.destructive ? 'text-status-error-text hover:text-status-error-text' : 'text-text-primary'}\n `}\n role=\"menuitem\"\n >\n {item.icon}\n <span>{item.label}</span>\n </button>\n );\n })}\n </div>,\n document.body\n )}\n </div>\n );\n});\n\nexport default WidgetMenu;\n"],"mappings":"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"}
@@ -128,3 +128,4 @@ export declare function validateWidgetSize(type: WidgetType, width: number, heig
128
128
  */
129
129
  export declare function getWidgetKey(widget: WidgetDefinition): string;
130
130
  export default WIDGET_DEFINITIONS;
131
+ //# sourceMappingURL=WidgetRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetRegistry.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/WidgetRegistry.ts"],"names":[],"mappings":"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"}
@@ -490,6 +490,7 @@ var e = {
490
490
  component: null,
491
491
  defaultConfig: {
492
492
  url: "",
493
+ sandbox: "allow-scripts allow-same-origin",
493
494
  allowFullscreen: !1
494
495
  },
495
496
  defaultSize: {
@@ -890,3 +891,5 @@ function s(e) {
890
891
  }
891
892
  //#endregion
892
893
  export { a as WIDGET_CATEGORY_LABELS, e as default, r as getAllWidgetDefinitions, o as getWidgetCategories, n as getWidgetDefinition, s as getWidgetKey, i as getWidgetsByCategory };
894
+
895
+ //# sourceMappingURL=WidgetRegistry.js.map