drizzle-cube 0.4.40 → 0.4.42

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 (166) hide show
  1. package/dist/cli/index.cjs +439 -0
  2. package/dist/client/charts/ChartLoader.d.ts +18 -3
  3. package/dist/client/charts/chartConfigRegistry.d.ts +11 -1
  4. package/dist/client/charts/chartPlugin.d.ts +74 -0
  5. package/dist/client/charts/lazyChartConfigRegistry.d.ts +10 -0
  6. package/dist/client/charts.js +13 -15
  7. package/dist/client/chunks/{DashboardEditModal-iGhIvNP6.js → DashboardEditModal-4zzjtZRR.js} +683 -685
  8. package/dist/client/chunks/DashboardEditModal-4zzjtZRR.js.map +1 -0
  9. package/dist/client/chunks/{FieldSearchModal-BxQ5JhWz.js → FieldSearchModal-trURu9Sa.js} +15 -16
  10. package/dist/client/chunks/{FieldSearchModal-BxQ5JhWz.js.map → FieldSearchModal-trURu9Sa.js.map} +1 -1
  11. package/dist/client/chunks/{RetentionCombinedChart-D4Yf1TnQ.js → RetentionCombinedChart-B1hUYaXt.js} +2 -2
  12. package/dist/client/chunks/{RetentionCombinedChart-D4Yf1TnQ.js.map → RetentionCombinedChart-B1hUYaXt.js.map} +1 -1
  13. package/dist/client/chunks/{RetentionHeatmap-BoGY6mlZ.js → RetentionHeatmap-Dn2ocjVf.js} +2 -2
  14. package/dist/client/chunks/{RetentionHeatmap-BoGY6mlZ.js.map → RetentionHeatmap-Dn2ocjVf.js.map} +1 -1
  15. package/dist/client/chunks/{analysis-builder-DEGG5NwE.js → analysis-builder-B7XSIMkr.js} +1474 -1523
  16. package/dist/client/chunks/analysis-builder-B7XSIMkr.js.map +1 -0
  17. package/dist/client/chunks/{analysis-builder-shared-BxHYfTzo.js → analysis-builder-shared-DaqtrLxd.js} +762 -778
  18. package/dist/client/chunks/analysis-builder-shared-DaqtrLxd.js.map +1 -0
  19. package/dist/client/chunks/{chart-bar-Bx4oKlqo.js → chart-bar-CPt67rLR.js} +1 -1
  20. package/dist/client/chunks/{chart-bar-Bx4oKlqo.js.map → chart-bar-CPt67rLR.js.map} +1 -1
  21. package/dist/client/chunks/{chart-box-plot-CVIi1aM5.js → chart-box-plot-Dp_nqQen.js} +1 -1
  22. package/dist/client/chunks/{chart-box-plot-CVIi1aM5.js.map → chart-box-plot-Dp_nqQen.js.map} +1 -1
  23. package/dist/client/chunks/{chart-bubble-DvyG15UB.js → chart-bubble-CYQ8loeS.js} +1 -1
  24. package/dist/client/chunks/{chart-bubble-DvyG15UB.js.map → chart-bubble-CYQ8loeS.js.map} +1 -1
  25. package/dist/client/chunks/{chart-candlestick-caHyxB9O.js → chart-candlestick-DTeSf7C5.js} +1 -1
  26. package/dist/client/chunks/{chart-candlestick-caHyxB9O.js.map → chart-candlestick-DTeSf7C5.js.map} +1 -1
  27. package/dist/client/chunks/{chart-config-activity-grid-USo7JrPh.js → chart-config-activity-grid-BSWS08cI.js} +1 -1
  28. package/dist/client/chunks/{chart-config-activity-grid-USo7JrPh.js.map → chart-config-activity-grid-BSWS08cI.js.map} +1 -1
  29. package/dist/client/chunks/{chart-config-area-D_ZufYzg.js → chart-config-area-DKwgcHp4.js} +1 -1
  30. package/dist/client/chunks/{chart-config-area-D_ZufYzg.js.map → chart-config-area-DKwgcHp4.js.map} +1 -1
  31. package/dist/client/chunks/{chart-config-bar-BCi2Wmd6.js → chart-config-bar-deTjEhap.js} +1 -1
  32. package/dist/client/chunks/{chart-config-bar-BCi2Wmd6.js.map → chart-config-bar-deTjEhap.js.map} +1 -1
  33. package/dist/client/chunks/{chart-config-box-plot-afKLzJSp.js → chart-config-box-plot-DU4iWk3V.js} +1 -1
  34. package/dist/client/chunks/{chart-config-box-plot-afKLzJSp.js.map → chart-config-box-plot-DU4iWk3V.js.map} +1 -1
  35. package/dist/client/chunks/{chart-config-bubble-CgbBjPv8.js → chart-config-bubble-B8FSHSW-.js} +1 -1
  36. package/dist/client/chunks/{chart-config-bubble-CgbBjPv8.js.map → chart-config-bubble-B8FSHSW-.js.map} +1 -1
  37. package/dist/client/chunks/{chart-config-candlestick-7boGjZ-A.js → chart-config-candlestick-BGfyWFft.js} +1 -1
  38. package/dist/client/chunks/{chart-config-candlestick-7boGjZ-A.js.map → chart-config-candlestick-BGfyWFft.js.map} +1 -1
  39. package/dist/client/chunks/{chart-config-data-table-Cl7sBasW.js → chart-config-data-table-DKRcGa8t.js} +1 -1
  40. package/dist/client/chunks/{chart-config-data-table-Cl7sBasW.js.map → chart-config-data-table-DKRcGa8t.js.map} +1 -1
  41. package/dist/client/chunks/{chart-config-funnel-CXPYQtTl.js → chart-config-funnel-Bt4iGFo_.js} +1 -1
  42. package/dist/client/chunks/{chart-config-funnel-CXPYQtTl.js.map → chart-config-funnel-Bt4iGFo_.js.map} +1 -1
  43. package/dist/client/chunks/{chart-config-gauge-DUNEUCvh.js → chart-config-gauge-Bk4Jjp3W.js} +1 -1
  44. package/dist/client/chunks/{chart-config-gauge-DUNEUCvh.js.map → chart-config-gauge-Bk4Jjp3W.js.map} +1 -1
  45. package/dist/client/chunks/{chart-config-heat-map-BFf1tO11.js → chart-config-heat-map-CkHsqkrY.js} +1 -1
  46. package/dist/client/chunks/{chart-config-heat-map-BFf1tO11.js.map → chart-config-heat-map-CkHsqkrY.js.map} +1 -1
  47. package/dist/client/chunks/{chart-config-kpi-delta-C5k2waIJ.js → chart-config-kpi-delta-CkUX98JV.js} +1 -1
  48. package/dist/client/chunks/{chart-config-kpi-delta-C5k2waIJ.js.map → chart-config-kpi-delta-CkUX98JV.js.map} +1 -1
  49. package/dist/client/chunks/{chart-config-kpi-number-DptOyhk0.js → chart-config-kpi-number-DcxyiUgs.js} +1 -1
  50. package/dist/client/chunks/{chart-config-kpi-number-DptOyhk0.js.map → chart-config-kpi-number-DcxyiUgs.js.map} +1 -1
  51. package/dist/client/chunks/{chart-config-kpi-text-D9DdVWqd.js → chart-config-kpi-text-DI4mj8CN.js} +1 -1
  52. package/dist/client/chunks/{chart-config-kpi-text-D9DdVWqd.js.map → chart-config-kpi-text-DI4mj8CN.js.map} +1 -1
  53. package/dist/client/chunks/{chart-config-line-B3NgLF7K.js → chart-config-line--j7-dLue.js} +1 -1
  54. package/dist/client/chunks/{chart-config-line-B3NgLF7K.js.map → chart-config-line--j7-dLue.js.map} +1 -1
  55. package/dist/client/chunks/{chart-config-markdown-tlfivQTt.js → chart-config-markdown-DUjvVjV4.js} +1 -1
  56. package/dist/client/chunks/{chart-config-markdown-tlfivQTt.js.map → chart-config-markdown-DUjvVjV4.js.map} +1 -1
  57. package/dist/client/chunks/{chart-config-measure-profile-D7XDwrU2.js → chart-config-measure-profile-B9FKBNGc.js} +1 -1
  58. package/dist/client/chunks/{chart-config-measure-profile-D7XDwrU2.js.map → chart-config-measure-profile-B9FKBNGc.js.map} +1 -1
  59. package/dist/client/chunks/{chart-config-pie-wY0B52PC.js → chart-config-pie-yU4jipl9.js} +1 -1
  60. package/dist/client/chunks/{chart-config-pie-wY0B52PC.js.map → chart-config-pie-yU4jipl9.js.map} +1 -1
  61. package/dist/client/chunks/{chart-config-radar-DRpJBy1M.js → chart-config-radar-R9Fkc8wL.js} +1 -1
  62. package/dist/client/chunks/{chart-config-radar-DRpJBy1M.js.map → chart-config-radar-R9Fkc8wL.js.map} +1 -1
  63. package/dist/client/chunks/{chart-config-radial-bar-DCUpXv9G.js → chart-config-radial-bar-DeoXfpIp.js} +1 -1
  64. package/dist/client/chunks/{chart-config-radial-bar-DCUpXv9G.js.map → chart-config-radial-bar-DeoXfpIp.js.map} +1 -1
  65. package/dist/client/chunks/{chart-config-sankey-CdOhlm4h.js → chart-config-sankey-CXEsxo6s.js} +1 -1
  66. package/dist/client/chunks/{chart-config-sankey-CdOhlm4h.js.map → chart-config-sankey-CXEsxo6s.js.map} +1 -1
  67. package/dist/client/chunks/{chart-config-scatter-B2su_x8f.js → chart-config-scatter-MVUFupub.js} +1 -1
  68. package/dist/client/chunks/{chart-config-scatter-B2su_x8f.js.map → chart-config-scatter-MVUFupub.js.map} +1 -1
  69. package/dist/client/chunks/{chart-config-sunburst-BPdjbk18.js → chart-config-sunburst-Z_gqIY5u.js} +1 -1
  70. package/dist/client/chunks/{chart-config-sunburst-BPdjbk18.js.map → chart-config-sunburst-Z_gqIY5u.js.map} +1 -1
  71. package/dist/client/chunks/{chart-config-tree-map-Cbsh2fe2.js → chart-config-tree-map-BD-xAeIy.js} +1 -1
  72. package/dist/client/chunks/{chart-config-tree-map-Cbsh2fe2.js.map → chart-config-tree-map-BD-xAeIy.js.map} +1 -1
  73. package/dist/client/chunks/{chart-config-waterfall-DGmuZfQF.js → chart-config-waterfall-CHwVkXZc.js} +1 -1
  74. package/dist/client/chunks/{chart-config-waterfall-DGmuZfQF.js.map → chart-config-waterfall-CHwVkXZc.js.map} +1 -1
  75. package/dist/client/chunks/{chart-data-table-CW_qZDpt.js → chart-data-table-BZ7StNWv.js} +1452 -826
  76. package/dist/client/chunks/chart-data-table-BZ7StNWv.js.map +1 -0
  77. package/dist/client/chunks/{chart-gauge-BLLJqeXo.js → chart-gauge-_Xdgk_qI.js} +1 -1
  78. package/dist/client/chunks/{chart-gauge-BLLJqeXo.js.map → chart-gauge-_Xdgk_qI.js.map} +1 -1
  79. package/dist/client/chunks/{chart-heat-map-f2fM2mDC.js → chart-heat-map-BOMQeUDL.js} +1 -1
  80. package/dist/client/chunks/{chart-heat-map-f2fM2mDC.js.map → chart-heat-map-BOMQeUDL.js.map} +1 -1
  81. package/dist/client/chunks/{chart-kpi-delta-BPexzOe7.js → chart-kpi-delta-C2tdpWki.js} +4 -4
  82. package/dist/client/chunks/{chart-kpi-delta-BPexzOe7.js.map → chart-kpi-delta-C2tdpWki.js.map} +1 -1
  83. package/dist/client/chunks/{chart-kpi-number-BBtGBtZL.js → chart-kpi-number-BUNKM7yg.js} +5 -5
  84. package/dist/client/chunks/{chart-kpi-number-BBtGBtZL.js.map → chart-kpi-number-BUNKM7yg.js.map} +1 -1
  85. package/dist/client/chunks/{chart-kpi-text-BqHhmJEB.js → chart-kpi-text-COF8iN0K.js} +2 -2
  86. package/dist/client/chunks/{chart-kpi-text-BqHhmJEB.js.map → chart-kpi-text-COF8iN0K.js.map} +1 -1
  87. package/dist/client/chunks/{chart-line-CPhQRMZ7.js → chart-line-D3SEwXDS.js} +1 -1
  88. package/dist/client/chunks/{chart-line-CPhQRMZ7.js.map → chart-line-D3SEwXDS.js.map} +1 -1
  89. package/dist/client/chunks/{chart-markdown-B2X4IwLO.js → chart-markdown-DMekYkKz.js} +647 -644
  90. package/dist/client/chunks/chart-markdown-DMekYkKz.js.map +1 -0
  91. package/dist/client/chunks/{chart-measure-profile-CVlqGslU.js → chart-measure-profile-BPhI1Z9s.js} +1 -1
  92. package/dist/client/chunks/{chart-measure-profile-CVlqGslU.js.map → chart-measure-profile-BPhI1Z9s.js.map} +1 -1
  93. package/dist/client/chunks/{chart-pie-DafSc9sE.js → chart-pie-COl3Rmdk.js} +1 -1
  94. package/dist/client/chunks/{chart-pie-DafSc9sE.js.map → chart-pie-COl3Rmdk.js.map} +1 -1
  95. package/dist/client/chunks/{chart-radar-Dz9F5k-B.js → chart-radar-BKZXylBB.js} +1 -1
  96. package/dist/client/chunks/{chart-radar-Dz9F5k-B.js.map → chart-radar-BKZXylBB.js.map} +1 -1
  97. package/dist/client/chunks/{chart-radial-bar-N3MNUL7o.js → chart-radial-bar-CMfC7SPd.js} +1 -1
  98. package/dist/client/chunks/{chart-radial-bar-N3MNUL7o.js.map → chart-radial-bar-CMfC7SPd.js.map} +1 -1
  99. package/dist/client/chunks/{chart-scatter-J2JNi88S.js → chart-scatter-xQMa3dUt.js} +1 -1
  100. package/dist/client/chunks/{chart-scatter-J2JNi88S.js.map → chart-scatter-xQMa3dUt.js.map} +1 -1
  101. package/dist/client/chunks/{chart-sunburst-D1NFQjqk.js → chart-sunburst-BGhJ4fui.js} +1 -1
  102. package/dist/client/chunks/{chart-sunburst-D1NFQjqk.js.map → chart-sunburst-BGhJ4fui.js.map} +1 -1
  103. package/dist/client/chunks/{chart-tree-map-CbYjko2s.js → chart-tree-map-Cn1pmrAw.js} +1 -1
  104. package/dist/client/chunks/{chart-tree-map-CbYjko2s.js.map → chart-tree-map-Cn1pmrAw.js.map} +1 -1
  105. package/dist/client/chunks/{chart-waterfall-Z65TGMUO.js → chart-waterfall-C2nVN4pn.js} +1 -1
  106. package/dist/client/chunks/{chart-waterfall-Z65TGMUO.js.map → chart-waterfall-C2nVN4pn.js.map} +1 -1
  107. package/dist/client/chunks/{charts-core-CJlGzwsW.js → charts-core-Cy3rHADX.js} +1 -1
  108. package/dist/client/chunks/{charts-core-CJlGzwsW.js.map → charts-core-Cy3rHADX.js.map} +1 -1
  109. package/dist/client/chunks/{core-DJrniqct.js → core-BdWfCZ3y.js} +1 -1
  110. package/dist/client/chunks/{core-DJrniqct.js.map → core-BdWfCZ3y.js.map} +1 -1
  111. package/dist/client/chunks/{dist-DDBeV_JI.js → dist-BWPE2m_X.js} +1 -1
  112. package/dist/client/chunks/{dist-DDBeV_JI.js.map → dist-BWPE2m_X.js.map} +1 -1
  113. package/dist/client/chunks/{javascript-BBwTSo6e.js → javascript-O1RIRkZr.js} +1 -1
  114. package/dist/client/chunks/{javascript-BBwTSo6e.js.map → javascript-O1RIRkZr.js.map} +1 -1
  115. package/dist/client/chunks/{json-BpTrLZSh.js → json-C5bX2tt1.js} +1 -1
  116. package/dist/client/chunks/{json-BpTrLZSh.js.map → json-C5bX2tt1.js.map} +1 -1
  117. package/dist/client/chunks/{retention-UEXlSdZ-.js → retention-YhT1Oohi.js} +1 -1
  118. package/dist/client/chunks/{retention-UEXlSdZ-.js.map → retention-YhT1Oohi.js.map} +1 -1
  119. package/dist/client/chunks/{schema-visualization-CwiEtwdu.js → schema-visualization-DVdfx6N8.js} +92 -96
  120. package/dist/client/chunks/schema-visualization-DVdfx6N8.js.map +1 -0
  121. package/dist/client/chunks/{sql-B0chxcEK.js → sql-D2qikO5q.js} +1 -1
  122. package/dist/client/chunks/{sql-B0chxcEK.js.map → sql-D2qikO5q.js.map} +1 -1
  123. package/dist/client/chunks/{syntaxHighlighting-BLl0ch4A.js → syntaxHighlighting-BYYWYmjr.js} +2 -2
  124. package/dist/client/chunks/{syntaxHighlighting-BLl0ch4A.js.map → syntaxHighlighting-BYYWYmjr.js.map} +1 -1
  125. package/dist/client/chunks/{useDebounce-C_wstEud.js → useDebounce-Bel8J05v.js} +12 -12
  126. package/dist/client/chunks/{useDebounce-C_wstEud.js.map → useDebounce-Bel8J05v.js.map} +1 -1
  127. package/dist/client/chunks/{useDirtyStateTracking-CgKZWkel.js → useDirtyStateTracking-KAjwj1Ht.js} +1 -1
  128. package/dist/client/chunks/{useDirtyStateTracking-CgKZWkel.js.map → useDirtyStateTracking-KAjwj1Ht.js.map} +1 -1
  129. package/dist/client/chunks/{useExplainAI-C9ytXRIC.js → useExplainAI-CxdzY2N0.js} +14 -14
  130. package/dist/client/chunks/{useExplainAI-C9ytXRIC.js.map → useExplainAI-CxdzY2N0.js.map} +1 -1
  131. package/dist/client/chunks/{useNotebookLayout-BFZ_33Kb.js → useNotebookLayout-DKkMenhj.js} +1 -1
  132. package/dist/client/chunks/{useNotebookLayout-BFZ_33Kb.js.map → useNotebookLayout-DKkMenhj.js.map} +1 -1
  133. package/dist/client/chunks/{utils-3FNmeZJR.js → utils-CMkS7h9x.js} +2 -2
  134. package/dist/client/chunks/{utils-3FNmeZJR.js.map → utils-CMkS7h9x.js.map} +1 -1
  135. package/dist/client/chunks/{vendor-BPRWulB7.js → vendor-BoWEubRu.js} +40 -40
  136. package/dist/client/chunks/{vendor-BPRWulB7.js.map → vendor-BoWEubRu.js.map} +1 -1
  137. package/dist/client/components.js +3 -3
  138. package/dist/client/hooks.js +5 -5
  139. package/dist/client/icons/registry.d.ts +6 -0
  140. package/dist/client/icons.js +2 -2
  141. package/dist/client/index.d.ts +3 -2
  142. package/dist/client/index.js +39 -41
  143. package/dist/client/index.js.map +1 -1
  144. package/dist/client/providers/CubeProvider.d.ts +4 -1
  145. package/dist/client/providers.js +2 -2
  146. package/dist/client/schema.d.ts +13 -0
  147. package/dist/client/schema.js +2 -0
  148. package/dist/client/styles.css +1 -1
  149. package/dist/client/types.d.ts +2 -1
  150. package/dist/client/utils.js +6 -6
  151. package/dist/client-bundle-stats.html +1 -1
  152. package/package.json +10 -2
  153. package/dist/client/chunks/DashboardEditModal-iGhIvNP6.js.map +0 -1
  154. package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js +0 -56
  155. package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js.map +0 -1
  156. package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js +0 -25
  157. package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js.map +0 -1
  158. package/dist/client/chunks/analysis-builder-DEGG5NwE.js.map +0 -1
  159. package/dist/client/chunks/analysis-builder-shared-BxHYfTzo.js.map +0 -1
  160. package/dist/client/chunks/chart-data-table-CW_qZDpt.js.map +0 -1
  161. package/dist/client/chunks/chart-markdown-B2X4IwLO.js.map +0 -1
  162. package/dist/client/chunks/charts-loader-gZjOqZwG.js +0 -259
  163. package/dist/client/chunks/charts-loader-gZjOqZwG.js.map +0 -1
  164. package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js +0 -149
  165. package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js.map +0 -1
  166. package/dist/client/chunks/schema-visualization-CwiEtwdu.js.map +0 -1
@@ -1,22 +1,20 @@
1
- import { a as e, n as t, o as n, r, s as i, u as a } from "./vendor-BPRWulB7.js";
2
- import { C as o, S as s, T as c, V as l, d as u, w as d } from "./chart-data-table-CW_qZDpt.js";
3
- import { C as f, D as p, E as m, O as h, S as g, T as _, a as v, b as y, c as b, l as x, n as S, r as C, s as w, t as T, w as E, y as D } from "./useDebounce-C_wstEud.js";
4
- import { r as ee } from "./chart-sankey-8nRYnupt.js";
5
- import { n as O, t as te } from "./providers-DX3Vw5kc.js";
1
+ import { a as e, n as t, o as n, r, s as i, u as a } from "./vendor-BoWEubRu.js";
2
+ import { A as o, H as s, T as c, U as l, V as u, W as d, b as f, ot as p, x as m } from "./chart-data-table-BZ7StNWv.js";
3
+ import { C as h, D as g, E as _, O as v, S as y, T as b, a as x, b as S, c as C, l as w, n as T, r as E, s as D, t as ee, w as O, y as te } from "./useDebounce-Bel8J05v.js";
4
+ import { r as ne } from "./chart-sankey-8nRYnupt.js";
5
+ import { n as re, t as ie } from "./providers-DX3Vw5kc.js";
6
6
  import { A as k } from "./chart-activity-grid-wR2Twpo7.js";
7
- import { u as ne } from "./chart-area-e9ysnatQ.js";
8
- import { a as re, t as A } from "./charts-loader-gZjOqZwG.js";
9
- import { c as ie } from "./lazyChartConfigRegistry-BjhxDaSf.js";
10
- import { l as j } from "./retention-UEXlSdZ-.js";
11
- import { S as M, _ as ae, a as oe, b as N, c as se, g as P, h as F, i as I, l as L, m as R, n as z, o as B, p as V, r as ce, s as H, t as le, v as ue, y as de } from "./FieldSearchModal-BxQ5JhWz.js";
12
- import { t as U } from "./chart-markdown-B2X4IwLO.js";
13
- import { n as fe, t as W } from "./useDirtyStateTracking-CgKZWkel.js";
14
- import G, { Component as pe, Suspense as me, createContext as he, forwardRef as ge, lazy as _e, startTransition as ve, useCallback as K, useContext as ye, useEffect as q, useImperativeHandle as be, useMemo as J, useRef as Y, useState as X } from "react";
7
+ import { u as ae } from "./chart-area-e9ysnatQ.js";
8
+ import { l as A } from "./retention-YhT1Oohi.js";
9
+ import { S as j, _ as oe, a as se, b as M, c as ce, g as N, h as P, i as F, l as I, m as L, n as R, o as z, p as B, r as le, s as V, t as ue, v as de, y as fe } from "./FieldSearchModal-trURu9Sa.js";
10
+ import { t as H } from "./chart-markdown-DMekYkKz.js";
11
+ import { n as pe, t as U } from "./useDirtyStateTracking-KAjwj1Ht.js";
12
+ import W, { Component as me, Suspense as he, createContext as ge, forwardRef as _e, lazy as ve, startTransition as ye, useCallback as G, useContext as K, useEffect as q, useImperativeHandle as be, useMemo as J, useRef as Y, useState as X } from "react";
15
13
  import { Fragment as Z, jsx as Q, jsxs as $ } from "react/jsx-runtime";
16
14
  import { createPortal as xe } from "react-dom";
17
15
  import Se, { verticalCompactor as Ce } from "react-grid-layout";
18
16
  //#region src/client/components/ChartErrorBoundary.tsx
19
- var we = u("refresh"), Te = class extends pe {
17
+ var we = o("refresh"), Te = class extends me {
20
18
  constructor(e) {
21
19
  super(e), this.state = {
22
20
  hasError: !1,
@@ -422,7 +420,7 @@ function ze({ path: e, onNavigate: t, onLevelClick: n }) {
422
420
  }),
423
421
  e.map((t, r) => {
424
422
  let i = Re(t.label);
425
- return /* @__PURE__ */ $(G.Fragment, { children: [/* @__PURE__ */ Q(Ie, { className: "dc:w-3 dc:h-3 text-dc-text-muted" }), r === e.length - 1 ? /* @__PURE__ */ Q("span", {
423
+ return /* @__PURE__ */ $(W.Fragment, { children: [/* @__PURE__ */ Q(Ie, { className: "dc:w-3 dc:h-3 text-dc-text-muted" }), r === e.length - 1 ? /* @__PURE__ */ Q("span", {
426
424
  className: "dc:px-1.5 dc:py-1 text-dc-text dc:font-medium",
427
425
  title: i,
428
426
  children: i
@@ -773,7 +771,7 @@ function tt(e) {
773
771
  t
774
772
  ]), D = J(() => !a || !o ? !1 : a.some((e) => e.isUniversalTime && o.includes(e.id)), [a, o]);
775
773
  return {
776
- handleDataPointClick: K((e) => {
774
+ handleDataPointClick: G((e) => {
777
775
  if (!s || !n) return;
778
776
  let r = Ge(e, t, n, a, o);
779
777
  r.length !== 0 && (h(e), p(r), d(e.position), l(!0));
@@ -787,7 +785,7 @@ function tt(e) {
787
785
  menuOpen: c,
788
786
  menuPosition: u,
789
787
  menuOptions: f,
790
- handleOptionSelect: K((e) => {
788
+ handleOptionSelect: G((e) => {
791
789
  if (!(!m || !n)) {
792
790
  try {
793
791
  if (e.targetGranularity && g.length > 0) {
@@ -841,11 +839,11 @@ function tt(e) {
841
839
  i,
842
840
  b
843
841
  ]),
844
- closeMenu: K(() => {
842
+ closeMenu: G(() => {
845
843
  l(!1), d(null), p([]), h(null);
846
844
  }, []),
847
845
  drillPath: g,
848
- navigateBack: K(() => {
846
+ navigateBack: G(() => {
849
847
  if (g.length !== 0) if (g.length === 1) {
850
848
  let e = w || t;
851
849
  _([]), C(b), x(null), y(null), T(null), r(e);
@@ -860,7 +858,7 @@ function tt(e) {
860
858
  w,
861
859
  t
862
860
  ]),
863
- navigateToLevel: K((e) => {
861
+ navigateToLevel: G((e) => {
864
862
  if (e <= 0) {
865
863
  let e = w || t;
866
864
  _([]), C(b), x(null), y(null), T(null), r(e);
@@ -890,19 +888,19 @@ function rt(e) {
890
888
  }
891
889
  //#endregion
892
890
  //#region src/client/components/AnalyticsPortlet.tsx
893
- var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r, dashboardFilters: i, dashboardFilterMapping: o, eagerLoad: s = !1, isVisible: c, height: u = 300, title: d, colorPalette: f, loadingComponent: p, onDebugDataReady: m }, h) => {
894
- let _ = Y(m), { ref: S, inView: T } = a({
895
- root: O(),
891
+ var it = W.memo(_e(({ query: e, chartType: t, chartConfig: n, displayConfig: r, dashboardFilters: i, dashboardFilterMapping: o, eagerLoad: s = !1, isVisible: l, height: u = 300, title: d, colorPalette: h, loadingComponent: g, onDebugDataReady: _ }, v) => {
892
+ let b = Y(_), { ref: T, inView: ee } = a({
893
+ root: re(),
896
894
  rootMargin: "500px",
897
895
  triggerOnce: !0,
898
896
  initialInView: !1,
899
897
  skip: s
900
- }), E = s || T;
898
+ }), O = s || ee;
901
899
  q(() => {
902
- _.current = m;
903
- }, [m]);
904
- let { config: te } = ie(t), M = te.skipQuery === !0, oe = J(() => i?.filter((e) => !e.isUniversalTime), [i]), { queryObject: se, multiQueryConfig: P, serverFunnelQuery: F, serverFlowQuery: I, serverRetentionQuery: L } = J(() => {
905
- if (M) return {
900
+ b.current = _;
901
+ }, [_]);
902
+ let { config: ie } = f(t), j = ie.skipQuery === !0, se = J(() => i?.filter((e) => !e.isUniversalTime), [i]), { queryObject: ce, multiQueryConfig: N, serverFunnelQuery: P, serverFlowQuery: F, serverRetentionQuery: I } = J(() => {
903
+ if (j) return {
906
904
  queryObject: null,
907
905
  multiQueryConfig: null,
908
906
  serverFunnelQuery: null,
@@ -910,15 +908,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
910
908
  serverRetentionQuery: null
911
909
  };
912
910
  try {
913
- let t = JSON.parse(e), n = de(oe, o);
914
- if (j(t)) return {
911
+ let t = JSON.parse(e), n = fe(se, o);
912
+ if (A(t)) return {
915
913
  queryObject: null,
916
914
  multiQueryConfig: null,
917
915
  serverFunnelQuery: null,
918
916
  serverFlowQuery: null,
919
917
  serverRetentionQuery: t
920
918
  };
921
- if (ee(t)) return {
919
+ if (ne(t)) return {
922
920
  queryObject: null,
923
921
  multiQueryConfig: null,
924
922
  serverFunnelQuery: null,
@@ -935,7 +933,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
935
933
  };
936
934
  if (n.length > 0 && r.funnel.steps.length > 0) {
937
935
  let e = { ...r.funnel.steps[0] };
938
- e.filter = N(n, e.filter ? Array.isArray(e.filter) ? e.filter : [e.filter] : []), r.funnel.steps[0] = e;
936
+ e.filter = M(n, e.filter ? Array.isArray(e.filter) ? e.filter : [e.filter] : []), r.funnel.steps[0] = e;
939
937
  }
940
938
  let a = i?.filter((e) => e.isUniversalTime && o?.includes(e.id));
941
939
  if (a && a.length > 0 && r.funnel.steps.length > 0) {
@@ -975,15 +973,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
975
973
  ...t,
976
974
  queries: t.queries.map((e) => ({
977
975
  ...e,
978
- filters: N(n, e.filters),
979
- timeDimensions: ae(i, o, e.timeDimensions)
976
+ filters: M(n, e.filters),
977
+ timeDimensions: oe(i, o, e.timeDimensions)
980
978
  }))
981
979
  },
982
980
  serverFunnelQuery: null,
983
981
  serverFlowQuery: null,
984
982
  serverRetentionQuery: null
985
983
  };
986
- let r = N(n, t.filters), a = ae(i, o, t.timeDimensions);
984
+ let r = M(n, t.filters), a = oe(i, o, t.timeDimensions);
987
985
  return {
988
986
  queryObject: {
989
987
  ...t,
@@ -1006,108 +1004,108 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1006
1004
  }
1007
1005
  }, [
1008
1006
  e,
1009
- M,
1010
- oe,
1007
+ j,
1008
+ se,
1011
1009
  i,
1012
1010
  o
1013
- ]), R = P !== null, z = F !== null, B = I !== null, V = L !== null, [ce, H] = X(null), le = se ? JSON.stringify(se) : null, ue = Y(null);
1011
+ ]), L = N !== null, R = P !== null, z = F !== null, B = I !== null, [le, V] = X(null), ue = ce ? JSON.stringify(ce) : null, de = Y(null);
1014
1012
  q(() => {
1015
- le !== ue.current && (ue.current = le, ce && H(null));
1016
- }, [le, ce]);
1017
- let U = ce || se, { meta: fe } = k(), W = tt({
1018
- query: U || {
1013
+ ue !== de.current && (de.current = ue, le && V(null));
1014
+ }, [ue, le]);
1015
+ let H = le || ce, { meta: pe } = k(), U = tt({
1016
+ query: H || {
1019
1017
  measures: [],
1020
1018
  dimensions: []
1021
1019
  },
1022
- metadata: fe,
1020
+ metadata: pe,
1023
1021
  onQueryChange: (e) => {
1024
- H(e);
1022
+ V(e);
1025
1023
  },
1026
1024
  chartConfig: n,
1027
1025
  dashboardFilters: i,
1028
1026
  dashboardFilterMapping: o,
1029
- enabled: !R && !z && !B && !V && !!U
1030
- }), G = K(() => {
1031
- W.drillPath.length === 1 && H(null), W.navigateBack();
1032
- }, [W]), pe = K((e) => {
1033
- e === 0 && H(null), W.navigateToLevel(e);
1034
- }, [W]), me = !U || M || !s && !E || R || z || B || V, he = !P || M || !s && !E || z || B || V, ge = !z || M || !s && !E, _e = !B || M || !s && !E, ve = !V || M || !s && !E, ye = l(), Z = y(U, {
1035
- skip: me,
1027
+ enabled: !L && !R && !z && !B && !!H
1028
+ }), W = G(() => {
1029
+ U.drillPath.length === 1 && V(null), U.navigateBack();
1030
+ }, [U]), me = G((e) => {
1031
+ e === 0 && V(null), U.navigateToLevel(e);
1032
+ }, [U]), he = !H || j || !s && !O || L || R || z || B, ge = !N || j || !s && !O || R || z || B, _e = !R || j || !s && !O, ve = !z || j || !s && !O, ye = !B || j || !s && !O, K = p(), Z = S(H, {
1033
+ skip: he,
1036
1034
  resetResultSetOnChange: !0,
1037
1035
  debounceMs: 100
1038
- }), xe = x(P, {
1039
- skip: he,
1036
+ }), xe = w(N, {
1037
+ skip: ge,
1040
1038
  resetResultSetOnChange: !0,
1041
1039
  debounceMs: 100
1042
- }), Se = w(null, {
1043
- skip: ge || !F,
1040
+ }), Se = D(null, {
1041
+ skip: _e || !P,
1044
1042
  debounceMs: 100,
1045
- prebuiltServerQuery: F
1046
- }), Ce = v(I, {
1047
- skip: _e,
1048
- debounceMs: 100
1049
- }), we = C(L, {
1043
+ prebuiltServerQuery: P
1044
+ }), Ce = x(F, {
1050
1045
  skip: ve,
1051
1046
  debounceMs: 100
1052
- }), Ee = R ? null : Z.resultSet, De = V ? we.isLoading || we.isDebouncing : B ? Ce.isLoading || Ce.isDebouncing : z ? Se.isExecuting || Se.isDebouncing : R ? xe.isLoading : Z.isLoading, Oe = V ? we.isFetching : B ? Ce.isFetching : z ? Se.isExecuting : R ? xe.isFetching : Z.isFetching, ke = V ? we.error : B ? Ce.error : z ? Se.error : R ? xe.error : Z.error, Ae = V || B ? null : z ? Se.chartData : R ? xe.data : null, je = B ? Ce.data : null, Me = V ? we.chartData : null;
1053
- be(h, () => ({ refresh: (e) => {
1047
+ }), we = E(I, {
1048
+ skip: ye,
1049
+ debounceMs: 100
1050
+ }), Ee = L ? null : Z.resultSet, De = B ? we.isLoading || we.isDebouncing : z ? Ce.isLoading || Ce.isDebouncing : R ? Se.isExecuting || Se.isDebouncing : L ? xe.isLoading : Z.isLoading, Oe = B ? we.isFetching : z ? Ce.isFetching : R ? Se.isExecuting : L ? xe.isFetching : Z.isFetching, ke = B ? we.error : z ? Ce.error : R ? Se.error : L ? xe.error : Z.error, Ae = B || z ? null : R ? Se.chartData : L ? xe.data : null, je = z ? Ce.data : null, Me = B ? we.chartData : null;
1051
+ be(v, () => ({ refresh: (e) => {
1054
1052
  let t = e?.bustCache ?? !1;
1055
- if (V && L) {
1053
+ if (B && I) {
1056
1054
  let e = [
1057
1055
  "cube",
1058
1056
  "retention",
1059
- JSON.stringify(L)
1057
+ JSON.stringify(I)
1060
1058
  ];
1061
- t ? ye.removeQueries({ queryKey: e }) : ye.invalidateQueries({ queryKey: e }), we.refetch();
1062
- } else if (B && I) {
1059
+ t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), we.refetch();
1060
+ } else if (z && F) {
1063
1061
  let e = [
1064
1062
  "cube",
1065
1063
  "flow",
1066
- JSON.stringify(I)
1064
+ JSON.stringify(F)
1067
1065
  ];
1068
- t ? ye.removeQueries({ queryKey: e }) : ye.invalidateQueries({ queryKey: e }), Ce.refetch({ bustCache: t });
1069
- } else if (z && F) {
1066
+ t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), Ce.refetch({ bustCache: t });
1067
+ } else if (R && P) {
1070
1068
  let e = [
1071
1069
  "cube",
1072
1070
  "funnel",
1073
- F.funnel?.steps?.length || 0,
1074
- JSON.stringify(F)
1071
+ P.funnel?.steps?.length || 0,
1072
+ JSON.stringify(P)
1075
1073
  ];
1076
- t ? ye.removeQueries({ queryKey: e }) : ye.invalidateQueries({ queryKey: e }), Se.execute({ bustCache: t });
1077
- } else if (R && P) {
1074
+ t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), Se.execute({ bustCache: t });
1075
+ } else if (L && N) {
1078
1076
  let e = {
1079
- ...P,
1080
- queries: P.queries.map((e) => g(e))
1077
+ ...N,
1078
+ queries: N.queries.map((e) => y(e))
1081
1079
  };
1082
- t ? ye.removeQueries({ queryKey: b(e) }) : ye.invalidateQueries({ queryKey: b(e) }), xe.refetch({ bustCache: t });
1083
- } else if (U) {
1084
- let e = g(U);
1085
- t ? ye.removeQueries({ queryKey: D(e) }) : ye.invalidateQueries({ queryKey: D(e) }), Z.refetch({ bustCache: t });
1080
+ t ? K.removeQueries({ queryKey: C(e) }) : K.invalidateQueries({ queryKey: C(e) }), xe.refetch({ bustCache: t });
1081
+ } else if (H) {
1082
+ let e = y(H);
1083
+ t ? K.removeQueries({ queryKey: te(e) }) : K.invalidateQueries({ queryKey: te(e) }), Z.refetch({ bustCache: t });
1086
1084
  }
1087
1085
  } }), [
1088
- V,
1089
1086
  B,
1090
1087
  z,
1091
1088
  R,
1092
- P,
1093
- U,
1094
- ye,
1095
1089
  L,
1090
+ N,
1091
+ H,
1092
+ K,
1096
1093
  I,
1097
1094
  F,
1095
+ P,
1098
1096
  we,
1099
1097
  Ce,
1100
1098
  Se,
1101
1099
  xe,
1102
1100
  Z
1103
1101
  ]);
1104
- let Ne = K(() => {
1105
- V ? we.refetch() : B ? Ce.refetch() : z ? Se.execute() : R ? xe.refetch() : Z.refetch();
1102
+ let Ne = G(() => {
1103
+ B ? we.refetch() : z ? Ce.refetch() : R ? Se.execute() : L ? xe.refetch() : Z.refetch();
1106
1104
  }, [
1107
- V,
1108
1105
  B,
1109
1106
  z,
1110
1107
  R,
1108
+ L,
1111
1109
  we,
1112
1110
  Ce,
1113
1111
  Se,
@@ -1115,41 +1113,41 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1115
1113
  Z
1116
1114
  ]);
1117
1115
  q(() => {
1118
- if (!(!_.current || ke)) {
1119
- if (z && Ae && Ae.length > 0) {
1120
- _.current({
1116
+ if (!(!b.current || ke)) {
1117
+ if (R && Ae && Ae.length > 0) {
1118
+ b.current({
1121
1119
  chartConfig: n || {},
1122
1120
  displayConfig: r || {},
1123
- queryObject: F,
1121
+ queryObject: P,
1124
1122
  data: Ae,
1125
1123
  chartType: t,
1126
1124
  cacheInfo: Se.cacheInfo ?? void 0
1127
1125
  });
1128
1126
  return;
1129
1127
  }
1130
- if (B && I && je) {
1131
- _.current({
1128
+ if (z && F && je) {
1129
+ b.current({
1132
1130
  chartConfig: n || {},
1133
1131
  displayConfig: r || {},
1134
- queryObject: I,
1132
+ queryObject: F,
1135
1133
  data: je,
1136
1134
  chartType: t,
1137
1135
  cacheInfo: Ce.cacheInfo
1138
1136
  });
1139
1137
  return;
1140
1138
  }
1141
- if (V && L && Me) {
1142
- _.current({
1139
+ if (B && I && Me) {
1140
+ b.current({
1143
1141
  chartConfig: n || {},
1144
1142
  displayConfig: r || {},
1145
- queryObject: L,
1143
+ queryObject: I,
1146
1144
  data: Me,
1147
1145
  chartType: t,
1148
1146
  cacheInfo: we.cacheInfo ?? void 0
1149
1147
  });
1150
1148
  return;
1151
1149
  }
1152
- if (n && se && Ee) {
1150
+ if (n && ce && Ee) {
1153
1151
  let e = (() => {
1154
1152
  switch (t) {
1155
1153
  case "pie":
@@ -1158,9 +1156,9 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1158
1156
  }
1159
1157
  })();
1160
1158
  if (e) {
1161
- let i = W.drillPath.length > 0 ? {
1159
+ let i = U.drillPath.length > 0 ? {
1162
1160
  isDrilling: !0,
1163
- drillPath: W.drillPath.map((e) => ({
1161
+ drillPath: U.drillPath.map((e) => ({
1164
1162
  id: e.id,
1165
1163
  label: e.label,
1166
1164
  clickedValue: e.clickedValue,
@@ -1168,14 +1166,14 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1168
1166
  granularity: e.granularity,
1169
1167
  hierarchy: e.hierarchy
1170
1168
  })),
1171
- currentDrillDepth: W.drillPath.length,
1172
- originalQuery: se,
1173
- activeQuery: U
1169
+ currentDrillDepth: U.drillPath.length,
1170
+ originalQuery: ce,
1171
+ activeQuery: H
1174
1172
  } : void 0;
1175
- _.current({
1176
- chartConfig: W.currentChartConfig || n || {},
1173
+ b.current({
1174
+ chartConfig: U.currentChartConfig || n || {},
1177
1175
  displayConfig: r || {},
1178
- queryObject: U || se,
1176
+ queryObject: H || ce,
1179
1177
  data: e,
1180
1178
  chartType: t,
1181
1179
  cacheInfo: Ee.cacheInfo?.(),
@@ -1187,29 +1185,29 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1187
1185
  }, [
1188
1186
  n,
1189
1187
  r,
1190
- se,
1191
- U,
1188
+ ce,
1189
+ H,
1192
1190
  Ee,
1193
1191
  t,
1194
1192
  ke,
1193
+ R,
1195
1194
  z,
1196
1195
  B,
1197
- V,
1198
1196
  Ae,
1197
+ P,
1199
1198
  F,
1200
1199
  I,
1201
- L,
1202
1200
  je,
1203
1201
  Me,
1204
1202
  Ce.cacheInfo,
1205
1203
  Se.cacheInfo,
1206
1204
  we.cacheInfo,
1207
- W.drillPath,
1208
- W.currentChartConfig
1205
+ U.drillPath,
1206
+ U.currentChartConfig
1209
1207
  ]);
1210
- let Fe = !M && te.dropZones.some((e) => e.mandatory === !0);
1208
+ let Fe = !j && ie.dropZones.some((e) => e.mandatory === !0);
1211
1209
  if (!n && Fe) return /* @__PURE__ */ Q("div", {
1212
- ref: S,
1210
+ ref: T,
1213
1211
  className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
1214
1212
  style: { height: u },
1215
1213
  children: /* @__PURE__ */ $("div", {
@@ -1223,8 +1221,8 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1223
1221
  })]
1224
1222
  })
1225
1223
  });
1226
- if (!M && !s && !E) return /* @__PURE__ */ Q("div", {
1227
- ref: S,
1224
+ if (!j && !s && !O) return /* @__PURE__ */ Q("div", {
1225
+ ref: T,
1228
1226
  className: "dc:w-full dc:h-full",
1229
1227
  style: { height: u },
1230
1228
  children: /* @__PURE__ */ Q("div", {
@@ -1232,15 +1230,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1232
1230
  style: { minHeight: "100px" }
1233
1231
  })
1234
1232
  });
1235
- if (!M) {
1236
- if (De || Oe || se && !Ee && !ke) return /* @__PURE__ */ Q("div", {
1237
- ref: S,
1233
+ if (!j) {
1234
+ if (De || Oe || ce && !Ee && !ke) return /* @__PURE__ */ Q("div", {
1235
+ ref: T,
1238
1236
  className: "dc:flex dc:items-center dc:justify-center dc:w-full",
1239
1237
  style: { height: u },
1240
- children: p || /* @__PURE__ */ Q(ne, { size: "md" })
1238
+ children: g || /* @__PURE__ */ Q(ae, { size: "md" })
1241
1239
  });
1242
1240
  if (ke) return /* @__PURE__ */ $("div", {
1243
- ref: S,
1241
+ ref: T,
1244
1242
  className: "dc:p-4 dc:border dc:rounded-sm",
1245
1243
  style: {
1246
1244
  height: u,
@@ -1285,7 +1283,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1285
1283
  }), /* @__PURE__ */ Q("pre", {
1286
1284
  className: "dc:mt-1 dc:p-2 dc:rounded-sm dc:text-xs dc:overflow-auto dc:max-h-20",
1287
1285
  style: { backgroundColor: "rgba(var(--dc-primary-rgb), 0.1)" },
1288
- children: U ? JSON.stringify(U, null, 2) : e
1286
+ children: H ? JSON.stringify(H, null, 2) : e
1289
1287
  })] }), /* @__PURE__ */ $("details", { children: [/* @__PURE__ */ Q("summary", {
1290
1288
  className: "dc:cursor-pointer dc:font-medium",
1291
1289
  style: { color: "var(--dc-text-secondary)" },
@@ -1295,25 +1293,25 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1295
1293
  style: { backgroundColor: "rgba(var(--dc-primary-rgb), 0.05)" },
1296
1294
  children: JSON.stringify({
1297
1295
  chartType: t,
1298
- chartConfig: W.currentChartConfig || n,
1296
+ chartConfig: U.currentChartConfig || n,
1299
1297
  displayConfig: r
1300
1298
  }, null, 2)
1301
1299
  })] })]
1302
1300
  })
1303
1301
  ]
1304
1302
  });
1305
- if (!(V ? Me !== null && L !== null : B ? je !== null && I !== null : z ? Ae !== null && F !== null : R ? Ae !== null && P !== null : Ee !== null && se !== null)) {
1306
- let e = W.drillPath.length > 0;
1303
+ if (!(B ? Me !== null && I !== null : z ? je !== null && F !== null : R ? Ae !== null && P !== null : L ? Ae !== null && N !== null : Ee !== null && ce !== null)) {
1304
+ let e = U.drillPath.length > 0;
1307
1305
  return /* @__PURE__ */ $("div", {
1308
- ref: S,
1306
+ ref: T,
1309
1307
  className: "dc:flex dc:flex-col dc:w-full",
1310
1308
  style: { height: u },
1311
1309
  children: [e && /* @__PURE__ */ Q("div", {
1312
1310
  className: "dc:mb-2 dc:flex-shrink-0",
1313
1311
  children: /* @__PURE__ */ Q(ze, {
1314
- path: W.drillPath,
1315
- onNavigate: G,
1316
- onLevelClick: pe
1312
+ path: U.drillPath,
1313
+ onNavigate: W,
1314
+ onLevelClick: me
1317
1315
  })
1318
1316
  }), /* @__PURE__ */ Q("div", {
1319
1317
  className: "dc:flex dc:items-center dc:justify-center dc:flex-1 text-dc-text-muted",
@@ -1332,16 +1330,16 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1332
1330
  }
1333
1331
  }
1334
1332
  let Ie = (() => {
1335
- if (M) return [];
1336
- if (V) return Me || {
1333
+ if (j) return [];
1334
+ if (B) return Me || {
1337
1335
  rows: [],
1338
1336
  periods: []
1339
1337
  };
1340
- if (B) return je || {
1338
+ if (z) return je || {
1341
1339
  nodes: [],
1342
1340
  links: []
1343
1341
  };
1344
- if (z || R) return Ae || [];
1342
+ if (R || L) return Ae || [];
1345
1343
  if (!Ee) return [];
1346
1344
  switch (t) {
1347
1345
  case "pie":
@@ -1351,7 +1349,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1351
1349
  })(), Le = () => {
1352
1350
  try {
1353
1351
  let e = u, i = t === "sankey" && r?.flowVisualization === "sunburst" ? "sunburst" : t;
1354
- if (!re(i)) return /* @__PURE__ */ Q("div", {
1352
+ if (!c(i)) return /* @__PURE__ */ Q("div", {
1355
1353
  className: "dc:flex dc:items-center dc:justify-center dc:w-full",
1356
1354
  style: { height: u },
1357
1355
  children: /* @__PURE__ */ $("div", {
@@ -1365,16 +1363,16 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1365
1363
  })]
1366
1364
  })
1367
1365
  });
1368
- let a = i === "markdown" ? [] : Ie, o = !R && !z && !B && !V && W.drillEnabled;
1369
- return /* @__PURE__ */ Q(A, {
1366
+ let a = i === "markdown" ? [] : Ie, o = !L && !R && !z && !B && U.drillEnabled;
1367
+ return /* @__PURE__ */ Q(m, {
1370
1368
  chartType: i,
1371
1369
  data: a,
1372
- chartConfig: o && W.currentChartConfig ? W.currentChartConfig : n,
1370
+ chartConfig: o && U.currentChartConfig ? U.currentChartConfig : n,
1373
1371
  displayConfig: r,
1374
- queryObject: U ?? void 0,
1372
+ queryObject: H ?? void 0,
1375
1373
  height: e,
1376
- colorPalette: f,
1377
- onDataPointClick: o ? W.handleDataPointClick : void 0,
1374
+ colorPalette: h,
1375
+ onDataPointClick: o ? U.handleDataPointClick : void 0,
1378
1376
  drillEnabled: o,
1379
1377
  fallback: /* @__PURE__ */ Q("div", {
1380
1378
  className: "dc:flex dc:items-center dc:justify-center dc:w-full",
@@ -1398,9 +1396,9 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1398
1396
  })
1399
1397
  });
1400
1398
  }
1401
- }, Re = !R && !z && !B && !V && W.drillEnabled;
1399
+ }, Re = !L && !R && !z && !B && U.drillEnabled;
1402
1400
  return /* @__PURE__ */ $("div", {
1403
- ref: S,
1401
+ ref: T,
1404
1402
  className: "dc:w-full dc:h-full dc:relative",
1405
1403
  children: [/* @__PURE__ */ Q(Te, {
1406
1404
  portletTitle: d,
@@ -1414,23 +1412,23 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
1414
1412
  children: /* @__PURE__ */ $("div", {
1415
1413
  className: "dc:w-full dc:h-full dc:flex dc:flex-col dc:flex-1",
1416
1414
  style: { minHeight: t === "markdown" ? void 0 : "200px" },
1417
- children: [Re && W.drillPath.length > 0 && /* @__PURE__ */ Q("div", {
1415
+ children: [Re && U.drillPath.length > 0 && /* @__PURE__ */ Q("div", {
1418
1416
  className: "dc:mb-2 dc:flex-shrink-0",
1419
1417
  children: /* @__PURE__ */ Q(ze, {
1420
- path: W.drillPath,
1421
- onNavigate: G,
1422
- onLevelClick: pe
1418
+ path: U.drillPath,
1419
+ onNavigate: W,
1420
+ onLevelClick: me
1423
1421
  })
1424
1422
  }), /* @__PURE__ */ Q("div", {
1425
1423
  className: "dc:flex-1 dc:min-h-0",
1426
1424
  children: Le()
1427
1425
  })]
1428
1426
  })
1429
- }), Re && W.menuOpen && W.menuPosition && /* @__PURE__ */ Q(Pe, {
1430
- options: W.menuOptions,
1431
- position: W.menuPosition,
1432
- onSelect: W.handleOptionSelect,
1433
- onClose: W.closeMenu
1427
+ }), Re && U.menuOpen && U.menuPosition && /* @__PURE__ */ Q(Pe, {
1428
+ options: U.menuOptions,
1429
+ position: U.menuPosition,
1430
+ onSelect: U.handleOptionSelect,
1431
+ onClose: U.closeMenu
1434
1432
  })]
1435
1433
  });
1436
1434
  }));
@@ -1493,10 +1491,10 @@ function ot(e, { threshold: t = 80, debounceMs: n = 100, containerRef: r, contai
1493
1491
  //#endregion
1494
1492
  //#region src/client/hooks/useDragAutoScroll.ts
1495
1493
  function st(e, t = {}) {
1496
- let { edgeThreshold: n = 80, maxScrollSpeed: r = 15, enabled: i = !0 } = t, a = Y(null), o = Y(null), s = Y(0), c = K((e) => {
1494
+ let { edgeThreshold: n = 80, maxScrollSpeed: r = 15, enabled: i = !0 } = t, a = Y(null), o = Y(null), s = Y(0), c = G((e) => {
1497
1495
  let t = Math.max(0, Math.min(1, 1 - e / n));
1498
1496
  return Math.round(t * t * r);
1499
- }, [n, r]), l = K(() => {
1497
+ }, [n, r]), l = G(() => {
1500
1498
  let t = e.current;
1501
1499
  if (!t || !o.current) {
1502
1500
  a.current = null;
@@ -1508,11 +1506,11 @@ function st(e, t = {}) {
1508
1506
  t.scrollTop += e;
1509
1507
  }
1510
1508
  a.current = requestAnimationFrame(l);
1511
- }, [e]), u = K((e, t) => {
1509
+ }, [e]), u = G((e, t) => {
1512
1510
  o.current = e, s.current = t, a.current === null && (a.current = requestAnimationFrame(l));
1513
- }, [l]), d = K(() => {
1511
+ }, [l]), d = G(() => {
1514
1512
  o.current = null, s.current = 0, a.current !== null && (cancelAnimationFrame(a.current), a.current = null);
1515
- }, []), f = K((t) => {
1513
+ }, []), f = G((t) => {
1516
1514
  let r = e.current;
1517
1515
  if (!r) return;
1518
1516
  let i = r.getBoundingClientRect(), a = t.clientY;
@@ -1528,7 +1526,7 @@ function st(e, t = {}) {
1528
1526
  c,
1529
1527
  u,
1530
1528
  d
1531
- ]), p = K(() => {
1529
+ ]), p = G(() => {
1532
1530
  d();
1533
1531
  }, [d]);
1534
1532
  q(() => {
@@ -1636,37 +1634,37 @@ function ct({ chartConfig: e, displayConfig: t, queryObject: n, data: r, chartTy
1636
1634
  /* @__PURE__ */ $("div", {
1637
1635
  className: "dc:grid dc:grid-cols-1 dc:lg:grid-cols-2 dc:gap-4 dc:flex-1 dc:overflow-auto",
1638
1636
  children: [
1639
- /* @__PURE__ */ Q(P, {
1637
+ /* @__PURE__ */ Q(N, {
1640
1638
  code: i,
1641
1639
  language: "json",
1642
1640
  title: "Chart Type",
1643
1641
  maxHeight: "3rem"
1644
1642
  }),
1645
- /* @__PURE__ */ Q(P, {
1643
+ /* @__PURE__ */ Q(N, {
1646
1644
  code: c,
1647
1645
  language: "json",
1648
1646
  title: "Field Analysis",
1649
1647
  maxHeight: "8rem"
1650
1648
  }),
1651
- /* @__PURE__ */ Q(P, {
1649
+ /* @__PURE__ */ Q(N, {
1652
1650
  code: JSON.stringify(e, null, 2),
1653
1651
  language: "json",
1654
1652
  title: "Chart Config",
1655
1653
  className: "dc:lg:col-span-2"
1656
1654
  }),
1657
- /* @__PURE__ */ Q(P, {
1655
+ /* @__PURE__ */ Q(N, {
1658
1656
  code: JSON.stringify(t, null, 2),
1659
1657
  language: "json",
1660
1658
  title: "Display Config",
1661
1659
  className: "dc:lg:col-span-2"
1662
1660
  }),
1663
- /* @__PURE__ */ Q(P, {
1661
+ /* @__PURE__ */ Q(N, {
1664
1662
  code: JSON.stringify(n, null, 2),
1665
1663
  language: "json",
1666
1664
  title: "Query Object",
1667
1665
  className: "dc:lg:col-span-2"
1668
1666
  }),
1669
- /* @__PURE__ */ Q(P, {
1667
+ /* @__PURE__ */ Q(N, {
1670
1668
  code: JSON.stringify(Array.isArray(r) ? r.slice(0, 3) : r, null, 2),
1671
1669
  language: "json",
1672
1670
  title: "Data Sample (first 3 rows)",
@@ -1832,7 +1830,7 @@ var pt = null;
1832
1830
  function mt() {
1833
1831
  return pt ||= ft(), pt;
1834
1832
  }
1835
- var ht = he(null);
1833
+ var ht = ge(null);
1836
1834
  function gt({ children: e, initialEditMode: t }) {
1837
1835
  let n = Y(null);
1838
1836
  return n.current ||= ft({ initialEditMode: t }), /* @__PURE__ */ Q(ht.Provider, {
@@ -1841,17 +1839,17 @@ function gt({ children: e, initialEditMode: t }) {
1841
1839
  });
1842
1840
  }
1843
1841
  function _t(e) {
1844
- let t = ye(ht);
1842
+ let t = K(ht);
1845
1843
  if (!t) throw Error("useDashboardStore must be used within DashboardStoreProvider");
1846
1844
  return n(t, e);
1847
1845
  }
1848
1846
  function vt() {
1849
- let e = ye(ht);
1847
+ let e = K(ht);
1850
1848
  if (!e) throw Error("useDashboardStoreApi must be used within DashboardStoreProvider");
1851
1849
  return e;
1852
1850
  }
1853
1851
  function yt(e) {
1854
- let t = ye(ht), r = n(t ?? mt(), e);
1852
+ let t = K(ht), r = n(t ?? mt(), e);
1855
1853
  return t ? r : null;
1856
1854
  }
1857
1855
  var bt = (e) => ({
@@ -1936,7 +1934,7 @@ function Nt(e, t) {
1936
1934
  for (let r of n) if (e[r] !== t[r]) return !1;
1937
1935
  return !0;
1938
1936
  }
1939
- var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortletComponentRef: n, renderQuery: r, renderChartType: i, renderChartConfig: a, renderDisplayConfig: o, dashboardFilters: s, dashboardFilterMapping: c, eagerLoad: l, title: u, isMarkdownAutoHeight: d, colorPalette: f, loadingComponent: p, onDebugDataReady: m }) {
1937
+ var Pt = W.memo(function({ isTransparent: e, setChartContainerRef: t, setPortletComponentRef: n, renderQuery: r, renderChartType: i, renderChartConfig: a, renderDisplayConfig: o, dashboardFilters: s, dashboardFilterMapping: c, eagerLoad: l, title: u, isMarkdownAutoHeight: d, colorPalette: f, loadingComponent: p, onDebugDataReady: m }) {
1940
1938
  return /* @__PURE__ */ Q("div", {
1941
1939
  ref: t,
1942
1940
  className: `dc:flex-1 dc:min-h-0 dc:flex dc:flex-col${e ? "" : " dc:px-2 dc:py-3 dc:md:px-4 dc:md:py-4"}`,
@@ -1956,65 +1954,65 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
1956
1954
  onDebugDataReady: m
1957
1955
  })
1958
1956
  });
1959
- }), Ft = G.memo(function({ portlet: e, editable: t, layoutMode: n = "grid", dashboardFilters: r, configEagerLoad: i, loadingComponent: a, colorPalette: o, containerProps: l, headerProps: f, setPortletRef: p, setPortletComponentRef: m, callbacks: h, icons: g }) {
1960
- let { analysisConfig: _ } = J(() => M(e), [e]), v = _.charts[_.analysisType], y = J(() => JSON.stringify(_.query), [_.query]), b = v?.chartType || "line", x = v?.chartConfig, S = v?.displayConfig, C = _t((e) => e.isEditMode), w = _t((e) => e.selectedFilterId), T = _t((t) => t.debugData[e.id]), E = b === "markdown", D = n !== "grid" && E && (S?.autoHeight ?? !0), ee = E && !!S?.transparentBackground, O = ee && !C, te = b === "markdown" ? (S?.hideHeader ?? !0) || !!S?.transparentBackground || !e.title : S?.hideHeader ?? !1, k = _t((e) => e.setDebugData), { features: ne } = s(), re = u("camera"), A = u("check"), [ie, j] = X(!1), [ae, oe] = X(!1), N = Y(null), [se, P] = X(!1), [F, I] = X(!1);
1957
+ }), Ft = W.memo(function({ portlet: e, editable: t, layoutMode: n = "grid", dashboardFilters: r, configEagerLoad: i, loadingComponent: a, colorPalette: s, containerProps: c, headerProps: f, setPortletRef: p, setPortletComponentRef: m, callbacks: h, icons: g }) {
1958
+ let { analysisConfig: _ } = J(() => j(e), [e]), v = _.charts[_.analysisType], y = J(() => JSON.stringify(_.query), [_.query]), b = v?.chartType || "line", x = v?.chartConfig, S = v?.displayConfig, C = _t((e) => e.isEditMode), w = _t((e) => e.selectedFilterId), T = _t((t) => t.debugData[e.id]), E = b === "markdown", D = n !== "grid" && E && (S?.autoHeight ?? !0), ee = E && !!S?.transparentBackground, O = ee && !C, te = b === "markdown" ? (S?.hideHeader ?? !0) || !!S?.transparentBackground || !e.title : S?.hideHeader ?? !1, ne = _t((e) => e.setDebugData), { features: re } = u(), ie = o("camera"), k = o("check"), [ae, A] = X(!1), [oe, se] = X(!1), M = Y(null), [ce, N] = X(!1), [P, F] = X(!1);
1961
1959
  q(() => {
1962
1960
  let e = (e) => {
1963
- e.key === "Shift" && P(!0);
1961
+ e.key === "Shift" && N(!0);
1964
1962
  }, t = (e) => {
1965
- e.key === "Shift" && P(!1);
1963
+ e.key === "Shift" && N(!1);
1966
1964
  };
1967
1965
  return window.addEventListener("keydown", e), window.addEventListener("keyup", t), () => {
1968
1966
  window.removeEventListener("keydown", e), window.removeEventListener("keyup", t);
1969
1967
  };
1970
1968
  }, []);
1971
- let L = se && F;
1969
+ let I = ce && P;
1972
1970
  q(() => {
1973
- ne.thumbnail?.enabled ? c().then(oe) : oe(!1);
1974
- }, [ne.thumbnail?.enabled]);
1975
- let R = K(async (e) => {
1976
- e.stopPropagation(), N.current && await d(N.current) && (j(!0), setTimeout(() => j(!1), 2e3));
1977
- }, []), z = w ? (e.dashboardFilterMapping || []).includes(w) : !1, B = !!w, V = [
1971
+ re.thumbnail?.enabled ? d().then(se) : se(!1);
1972
+ }, [re.thumbnail?.enabled]);
1973
+ let L = G(async (e) => {
1974
+ e.stopPropagation(), M.current && await l(M.current) && (A(!0), setTimeout(() => A(!1), 2e3));
1975
+ }, []), R = w ? (e.dashboardFilterMapping || []).includes(w) : !1, z = !!w, B = [
1978
1976
  O ? "dc:flex dc:flex-col dc:transition-all" : "bg-dc-surface dc:border dc:rounded-lg dc:flex dc:flex-col dc:transition-all",
1979
1977
  D ? "" : "dc:h-full",
1980
- B ? "dc:cursor-pointer" : "",
1981
- l?.className
1982
- ].filter(Boolean).join(" "), ce = [
1978
+ z ? "dc:cursor-pointer" : "",
1979
+ c?.className
1980
+ ].filter(Boolean).join(" "), le = [
1983
1981
  "flex items-center justify-between px-3 py-1.5 md:px-4 md:py-1 border-b border-dc-border shrink-0 bg-dc-surface-secondary rounded-t-lg portlet-drag-handle",
1984
1982
  C ? "cursor-move" : "cursor-default",
1985
1983
  f?.className
1986
- ].filter(Boolean).join(" "), { onClick: H, className: le, style: ue, ...de } = l ?? {}, { onClick: U, className: fe, style: W, ...G } = f ?? {}, pe = K((t) => {
1987
- k(e.id, t);
1988
- }, [e.id, k]), me = K((t) => {
1984
+ ].filter(Boolean).join(" "), { onClick: V, className: ue, style: de, ...fe } = c ?? {}, { onClick: H, className: pe, style: U, ...W } = f ?? {}, me = G((t) => {
1985
+ ne(e.id, t);
1986
+ }, [e.id, ne]), he = G((t) => {
1989
1987
  p(e.id, t);
1990
- }, [e.id, p]), he = K((t) => {
1988
+ }, [e.id, p]), ge = G((t) => {
1991
1989
  m(e.id, t);
1992
- }, [e.id, m]), ge = K((e) => {
1993
- N.current = e;
1990
+ }, [e.id, m]), _e = G((e) => {
1991
+ M.current = e;
1994
1992
  }, []);
1995
1993
  return /* @__PURE__ */ $("div", {
1996
1994
  "data-portlet-id": e.id,
1997
- ref: me,
1998
- className: V,
1995
+ ref: he,
1996
+ className: B,
1999
1997
  style: {
2000
1998
  boxShadow: O ? "none" : "var(--dc-shadow-sm)",
2001
- borderColor: O ? "transparent" : B && z ? "var(--dc-primary)" : "var(--dc-border)",
2002
- borderWidth: O ? "0" : B && z ? "2px" : "1px",
2003
- backgroundColor: O ? "transparent" : B && z ? "rgba(var(--dc-primary-rgb), 0.05)" : "var(--dc-surface)",
2004
- opacity: B && !z ? "0.5" : "1",
2005
- ...ue
1999
+ borderColor: O ? "transparent" : z && R ? "var(--dc-primary)" : "var(--dc-border)",
2000
+ borderWidth: O ? "0" : z && R ? "2px" : "1px",
2001
+ backgroundColor: O ? "transparent" : z && R ? "rgba(var(--dc-primary-rgb), 0.05)" : "var(--dc-surface)",
2002
+ opacity: z && !R ? "0.5" : "1",
2003
+ ...de
2006
2004
  },
2007
2005
  onClick: (t) => {
2008
- B && w && (t.stopPropagation(), h.onToggleFilter(e.id, w)), H?.(t);
2006
+ z && w && (t.stopPropagation(), h.onToggleFilter(e.id, w)), V?.(t);
2009
2007
  },
2010
- ...de,
2008
+ ...fe,
2011
2009
  children: [(!te || C) && /* @__PURE__ */ $("div", {
2012
- className: ce,
2013
- style: W,
2010
+ className: le,
2011
+ style: U,
2014
2012
  onClick: (e) => {
2015
- U?.(e);
2013
+ H?.(e);
2016
2014
  },
2017
- ...G,
2015
+ ...W,
2018
2016
  children: [/* @__PURE__ */ $("div", {
2019
2017
  className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
2020
2018
  children: [/* @__PURE__ */ Q("h3", {
@@ -2080,23 +2078,23 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
2080
2078
  onTouchEnd: (t) => {
2081
2079
  t.stopPropagation(), t.preventDefault(), h.onRefresh(e.id);
2082
2080
  },
2083
- onMouseEnter: () => I(!0),
2084
- onMouseLeave: () => I(!1),
2085
- disabled: B,
2086
- className: `dc:p-1 bg-transparent dc:border-none dc:rounded-sm dc:transition-colors ${B ? "dc:cursor-not-allowed dc:opacity-50 text-dc-text-secondary" : L ? "dc:cursor-pointer text-dc-warning bg-dc-warning-bg" : "dc:cursor-pointer text-dc-text-secondary hover:bg-dc-surface-hover"}`,
2087
- title: L ? "Click to refresh and bypass cache" : "Refresh portlet data (Shift+click to bypass cache)",
2081
+ onMouseEnter: () => F(!0),
2082
+ onMouseLeave: () => F(!1),
2083
+ disabled: z,
2084
+ className: `dc:p-1 bg-transparent dc:border-none dc:rounded-sm dc:transition-colors ${z ? "dc:cursor-not-allowed dc:opacity-50 text-dc-text-secondary" : I ? "dc:cursor-pointer text-dc-warning bg-dc-warning-bg" : "dc:cursor-pointer text-dc-text-secondary hover:bg-dc-surface-hover"}`,
2085
+ title: I ? "Click to refresh and bypass cache" : "Refresh portlet data (Shift+click to bypass cache)",
2088
2086
  children: /* @__PURE__ */ Q(g.RefreshIcon, { style: jt })
2089
2087
  }),
2090
- ae && !B && /* @__PURE__ */ Q("button", {
2091
- onClick: R,
2088
+ oe && !z && /* @__PURE__ */ Q("button", {
2089
+ onClick: L,
2092
2090
  onTouchEnd: (e) => {
2093
- e.preventDefault(), R(e);
2091
+ e.preventDefault(), L(e);
2094
2092
  },
2095
2093
  className: "dc:p-1 bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer hover:bg-dc-surface-hover dc:transition-colors",
2096
- title: ie ? "Copied!" : "Copy chart to clipboard",
2097
- children: Q(ie ? A : re, { style: jt })
2094
+ title: ae ? "Copied!" : "Copy chart to clipboard",
2095
+ children: Q(ae ? k : ie, { style: jt })
2098
2096
  }),
2099
- t && C && !B && /* @__PURE__ */ $(Z, { children: [
2097
+ t && C && !z && /* @__PURE__ */ $(Z, { children: [
2100
2098
  /* @__PURE__ */ Q("button", {
2101
2099
  onClick: (t) => {
2102
2100
  t.stopPropagation(), h.onOpenFilterConfig(e);
@@ -2147,8 +2145,8 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
2147
2145
  })]
2148
2146
  }), /* @__PURE__ */ Q(Pt, {
2149
2147
  isTransparent: ee,
2150
- setChartContainerRef: ge,
2151
- setPortletComponentRef: he,
2148
+ setChartContainerRef: _e,
2149
+ setPortletComponentRef: ge,
2152
2150
  renderQuery: y,
2153
2151
  renderChartType: b,
2154
2152
  renderChartConfig: x,
@@ -2158,18 +2156,18 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
2158
2156
  eagerLoad: e.eagerLoad ?? i ?? !1,
2159
2157
  title: e.title,
2160
2158
  isMarkdownAutoHeight: D,
2161
- colorPalette: o,
2159
+ colorPalette: s,
2162
2160
  loadingComponent: a,
2163
- onDebugDataReady: pe
2161
+ onDebugDataReady: me
2164
2162
  })]
2165
2163
  });
2166
2164
  }, Mt), It = 16;
2167
2165
  function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, isDragging: a, onRowResize: o, onColumnResize: s, onPortletDragStart: c, onPortletDragEnd: l, onRowDrop: u, onNewRowDrop: d, renderPortlet: f }) {
2168
2166
  let p = new Map(t.map((e) => [e.id, e])), [m, h] = X(null), g = (e) => {
2169
2167
  h(e);
2170
- }, _ = a || m !== null, v = K((e) => {
2168
+ }, _ = a || m !== null, v = G((e) => {
2171
2169
  c(parseInt(e.currentTarget.dataset.rowIndex || "0", 10), parseInt(e.currentTarget.dataset.columnIndex || "0", 10), e.currentTarget.dataset.portletId || "", e);
2172
- }, [c]), y = K(() => {
2170
+ }, [c]), y = G(() => {
2173
2171
  g(null), l();
2174
2172
  }, [l]), b = m === "row-insert-0", x = m === "row-bottom";
2175
2173
  return /* @__PURE__ */ $("div", {
@@ -2195,7 +2193,7 @@ function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, i
2195
2193
  let a = e.columns.length > 0 && e.columns.every((e) => {
2196
2194
  let t = p.get(e.portletId);
2197
2195
  if (!t) return !1;
2198
- let n = M(t), r = n.analysisConfig.charts[n.analysisConfig.analysisType];
2196
+ let n = j(t), r = n.analysisConfig.charts[n.analysisConfig.analysisType];
2199
2197
  return r?.chartType === "markdown" && (r.displayConfig?.autoHeight ?? !0);
2200
2198
  }), c = a ? void 0 : e.h * n.rowHeight, l = r || n.cols * n.rowHeight, h = m === `row-${t}-insert-0` ? It : 0, _ = m === `row-${t}-insert-${e.columns.length}` ? It : 0, b = (l - (e.columns.length - 1) * It - h - _) / n.cols;
2201
2199
  return /* @__PURE__ */ $("div", {
@@ -2290,7 +2288,7 @@ function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, i
2290
2288
  }
2291
2289
  //#endregion
2292
2290
  //#region src/client/components/FloatingEditToolbar.tsx
2293
- var Rt = u("edit"), zt = u("check"), Bt = u("segment"), Vt = u("table"), Ht = u("add");
2291
+ var Rt = o("edit"), zt = o("check"), Bt = o("segment"), Vt = o("table"), Ht = o("add");
2294
2292
  function Ut({ className: e }) {
2295
2293
  return /* @__PURE__ */ $("svg", {
2296
2294
  className: e,
@@ -2314,7 +2312,7 @@ function Ut({ className: e }) {
2314
2312
  })]
2315
2313
  });
2316
2314
  }
2317
- var Wt = u("swatch");
2315
+ var Wt = o("swatch");
2318
2316
  function Gt({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle: r, layoutMode: i, onLayoutModeChange: a, allowedModes: o, canChangeLayoutMode: s, currentPalette: c, onPaletteChange: l, onAddPortlet: u, onAddText: d }) {
2319
2317
  let [f, p] = X(!1), m = Y(null);
2320
2318
  q(() => {
@@ -2406,7 +2404,7 @@ function qt({ position: e, currentPalette: t, onPaletteChange: n }) {
2406
2404
  style: { boxShadow: "var(--dc-shadow-lg)" },
2407
2405
  children: /* @__PURE__ */ Q("div", {
2408
2406
  className: "dc:py-1",
2409
- children: R.slice().sort((e, t) => e.label.localeCompare(t.label)).map((e) => /* @__PURE__ */ Q("button", {
2407
+ children: L.slice().sort((e, t) => e.label.localeCompare(t.label)).map((e) => /* @__PURE__ */ Q("button", {
2410
2408
  type: "button",
2411
2409
  onClick: () => n(e.name),
2412
2410
  className: `dc:w-full dc:px-3 dc:py-2 dc:text-left dc:text-sm hover:bg-dc-surface-hover dc:transition-colors ${e.name === t ? "bg-dc-surface-secondary text-dc-primary" : "text-dc-text-secondary"}`,
@@ -2433,10 +2431,10 @@ function qt({ position: e, currentPalette: t, onPaletteChange: n }) {
2433
2431
  }
2434
2432
  //#endregion
2435
2433
  //#region src/client/components/AnalysisBuilderLazy.tsx
2436
- var Jt = _e(() => import("./analysis-builder-DEGG5NwE.js")), Yt = ge((e, t) => /* @__PURE__ */ Q(me, {
2434
+ var Jt = ve(() => import("./analysis-builder-B7XSIMkr.js")), Yt = _e((e, t) => /* @__PURE__ */ Q(he, {
2437
2435
  fallback: /* @__PURE__ */ Q("div", {
2438
2436
  className: "dc:flex dc:items-center dc:justify-center dc:w-full dc:py-6",
2439
- children: /* @__PURE__ */ Q(ne, {})
2437
+ children: /* @__PURE__ */ Q(ae, {})
2440
2438
  }),
2441
2439
  children: /* @__PURE__ */ Q(Jt, {
2442
2440
  ...e,
@@ -2447,7 +2445,7 @@ Yt.displayName = "AnalysisBuilder";
2447
2445
  //#endregion
2448
2446
  //#region src/client/components/PortletAnalysisModal.tsx
2449
2447
  function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, title: a, submitText: o, colorPalette: s }) {
2450
- let c = Y(null), [l, u] = X(""), d = J(() => r ? M(r).analysisConfig : null, [r]), f = J(() => {
2448
+ let c = Y(null), [l, u] = X(""), d = J(() => r ? j(r).analysisConfig : null, [r]), f = J(() => {
2451
2449
  if (!d) return;
2452
2450
  let e = d.query;
2453
2451
  if (e) return e;
@@ -2471,7 +2469,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2471
2469
  funnelDisplayConfig: r.funnelDisplayConfig
2472
2470
  };
2473
2471
  if (d.query && "funnel" in d.query) {
2474
- let e = H.load(d), t = d.charts?.funnel;
2472
+ let e = V.load(d), t = d.charts?.funnel;
2475
2473
  return {
2476
2474
  ...e,
2477
2475
  funnelChartType: t?.chartType,
@@ -2482,7 +2480,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2482
2480
  }
2483
2481
  }, [d, r]), g = J(() => {
2484
2482
  if (d?.analysisType === "flow" && d.query && "flow" in d.query) {
2485
- let e = B.load(d), t = d.charts?.flow;
2483
+ let e = z.load(d), t = d.charts?.flow;
2486
2484
  return {
2487
2485
  ...e,
2488
2486
  flowChartType: t?.chartType,
@@ -2492,7 +2490,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2492
2490
  }
2493
2491
  }, [d]), _ = J(() => {
2494
2492
  if (d?.analysisType === "retention" && d.query && "retention" in d.query) {
2495
- let e = oe.load(d), t = d.charts?.retention;
2493
+ let e = se.load(d), t = d.charts?.retention;
2496
2494
  return {
2497
2495
  ...e,
2498
2496
  retentionChartType: t?.chartType,
@@ -2504,7 +2502,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2504
2502
  q(() => {
2505
2503
  e && u(r?.title || "");
2506
2504
  }, [e, r]);
2507
- let v = K(() => {
2505
+ let v = G(() => {
2508
2506
  if (!l.trim()) {
2509
2507
  alert("Please enter a title for the portlet.");
2510
2508
  return;
@@ -2545,7 +2543,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2545
2543
  n,
2546
2544
  t
2547
2545
  ]);
2548
- return /* @__PURE__ */ Q(V, {
2546
+ return /* @__PURE__ */ Q(B, {
2549
2547
  isOpen: e,
2550
2548
  onClose: t,
2551
2549
  title: a,
@@ -2556,7 +2554,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2556
2554
  noPadding: !0,
2557
2555
  footer: /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("button", {
2558
2556
  type: "button",
2559
- onClick: K(() => {
2557
+ onClick: G(() => {
2560
2558
  t();
2561
2559
  }, [t]),
2562
2560
  className: "dc:px-4 dc:py-2 dc:text-sm dc:font-medium text-dc-text-secondary hover:text-dc-text bg-dc-surface dc:border border-dc-border dc:rounded-md hover:bg-dc-surface-hover dc:transition-colors",
@@ -2610,9 +2608,9 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
2610
2608
  }
2611
2609
  //#endregion
2612
2610
  //#region src/client/components/TextPortletModal.tsx
2613
- var Zt = u("close");
2611
+ var Zt = o("close");
2614
2612
  function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, existingTitles: a = [] }) {
2615
- let [o, s] = X(J(() => r ? M(r).analysisConfig.charts.query?.displayConfig ?? {} : {
2613
+ let [o, s] = X(J(() => r ? j(r).analysisConfig.charts.query?.displayConfig ?? {} : {
2616
2614
  content: "",
2617
2615
  hideHeader: !0,
2618
2616
  autoHeight: !0,
@@ -2623,7 +2621,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2623
2621
  accentBorder: "none"
2624
2622
  }, [r])), [c, l] = X(() => r?.title ?? ""), [u, d] = X(!1), [f, p] = X(r);
2625
2623
  if (r !== f) if (p(r), d(!1), r) {
2626
- let e = M(r).analysisConfig.charts.query;
2624
+ let e = j(r).analysisConfig.charts.query;
2627
2625
  s(e?.displayConfig ?? {}), l(r.title ?? "");
2628
2626
  } else s({
2629
2627
  content: "",
@@ -2635,7 +2633,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2635
2633
  transparentBackground: !1,
2636
2634
  accentBorder: "none"
2637
2635
  }), l("");
2638
- let m = K((e) => {
2636
+ let m = G((e) => {
2639
2637
  l(e), d(!0);
2640
2638
  }, []), h = J(() => {
2641
2639
  if (u) return c;
@@ -2648,9 +2646,9 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2648
2646
  u,
2649
2647
  r,
2650
2648
  a
2651
- ]), g = K((e) => {
2649
+ ]), g = G((e) => {
2652
2650
  s(e);
2653
- }, []), _ = K(() => {
2651
+ }, []), _ = G(() => {
2654
2652
  let e = {
2655
2653
  ...o,
2656
2654
  autoHeight: o.autoHeight ?? !0,
@@ -2683,7 +2681,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2683
2681
  r,
2684
2682
  h,
2685
2683
  n
2686
- ]), v = K((e) => {
2684
+ ]), v = G((e) => {
2687
2685
  s((t) => ({
2688
2686
  ...t,
2689
2687
  content: e
@@ -2751,7 +2749,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2751
2749
  }), /* @__PURE__ */ Q("div", {
2752
2750
  className: "dc:overflow-hidden",
2753
2751
  style: { minHeight: "200px" },
2754
- children: /* @__PURE__ */ Q(U, {
2752
+ children: /* @__PURE__ */ Q(H, {
2755
2753
  data: [],
2756
2754
  displayConfig: o,
2757
2755
  colorPalette: i,
@@ -2762,7 +2760,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
2762
2760
  ]
2763
2761
  }), /* @__PURE__ */ Q("div", {
2764
2762
  className: "dc:w-72 dc:shrink-0",
2765
- children: /* @__PURE__ */ Q(I, {
2763
+ children: /* @__PURE__ */ Q(F, {
2766
2764
  chartType: "markdown",
2767
2765
  displayConfig: o,
2768
2766
  colorPalette: i,
@@ -2931,87 +2929,87 @@ function $t({ isOpen: e, onClose: t, dashboardFilters: n = [], currentMapping: r
2931
2929
  }
2932
2930
  //#endregion
2933
2931
  //#region src/client/components/DashboardFilters/DashboardFilterConfigModal.tsx
2934
- var en = u("close"), tn = u("chevronDown"), nn = u("dimension"), rn = u("timeDimension"), an = u("measure"), on = u("edit"), sn = u("eye"), cn = u("eyeOff");
2932
+ var en = o("close"), tn = o("chevronDown"), nn = o("dimension"), rn = o("timeDimension"), an = o("measure"), on = o("edit"), sn = o("eye"), cn = o("eyeOff");
2935
2933
  function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i, onDelete: a, onClose: o }) {
2936
- let [s, c] = X(e.label), [l, u] = X(e.filter), [d, g] = X(!1), [v, y] = X(!1), [b, x] = X(!1), [C, w] = X(!1), [E, D] = X(!1), [ee, O] = X("this_month"), [te, k] = X(1), [ne, re] = X(""), A = Y(null), ie = d ? t : n;
2934
+ let [s, c] = X(e.label), [l, u] = X(e.filter), [d, f] = X(!1), [p, m] = X(!1), [y, x] = X(!1), [S, C] = X(!1), [w, E] = X(!1), [D, O] = X("this_month"), [te, ne] = X(1), [re, ie] = X(""), k = Y(null), ae = d ? t : n;
2937
2935
  q(() => {
2938
2936
  r && (c(e.label), u(e.filter));
2939
2937
  }, [e, r]);
2940
- let j = T(ne, 300), M = se(l.member, ie), ae = M?.field.type || "string", oe = ae === "time", N = M?.fieldType === "measure", P = M?.fieldType === "dimension", F = L(l.member, ie), I = h[l.operator], R = _(ae), z = oe && l.operator === "inDateRange", B = [
2938
+ let A = ee(re, 300), j = ce(l.member, ae), oe = j?.field.type || "string", se = oe === "time", M = j?.fieldType === "measure", N = j?.fieldType === "dimension", P = I(l.member, ae), F = v[l.operator], L = b(oe), R = se && l.operator === "inDateRange", z = [
2941
2939
  "equals",
2942
2940
  "notEquals",
2943
2941
  "in",
2944
2942
  "notIn"
2945
- ].includes(l.operator) && P && !oe, { values: V, loading: ce, error: H, searchValues: ue } = S(l.member, B);
2943
+ ].includes(l.operator) && N && !se, { values: B, loading: le, error: V, searchValues: de } = T(l.member, z);
2946
2944
  q(() => {
2947
2945
  let e = (e) => {
2948
- A.current && !A.current.contains(e.target) && (x(!1), w(!1), D(!1));
2946
+ k.current && !k.current.contains(e.target) && (x(!1), C(!1), E(!1));
2949
2947
  };
2950
2948
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
2951
2949
  }, []), q(() => {
2952
- C && B && ue && ue("", !0);
2950
+ S && z && de && de("", !0);
2953
2951
  }, [
2954
- C,
2955
- B,
2956
- ue
2952
+ S,
2953
+ z,
2954
+ de
2957
2955
  ]), q(() => {
2958
- C && B && ue && j !== void 0 && ue(j);
2956
+ S && z && de && A !== void 0 && de(A);
2959
2957
  }, [
2960
- j,
2961
- C,
2962
- B,
2963
- ue
2958
+ A,
2959
+ S,
2960
+ z,
2961
+ de
2964
2962
  ]), q(() => {
2965
- if (!(!z || !l.dateRange)) if (Array.isArray(l.dateRange)) O("custom");
2963
+ if (!(!R || !l.dateRange)) if (Array.isArray(l.dateRange)) O("custom");
2966
2964
  else {
2967
2965
  let e = l.dateRange.match(/^last (\d+) (days|weeks|months|quarters|years)$/), t = !e && l.dateRange.match(/^last (day|week|month|quarter|year)$/);
2968
2966
  if (e) {
2969
2967
  let [, t, n] = e;
2970
- O(`last_n_${n}`), k(parseInt(t) || 1);
2968
+ O(`last_n_${n}`), ne(parseInt(t) || 1);
2971
2969
  } else if (t) {
2972
2970
  let [, e] = t;
2973
- O(`last_n_${e === "day" ? "days" : e === "week" ? "weeks" : e === "month" ? "months" : e === "quarter" ? "quarters" : "years"}`), k(1);
2971
+ O(`last_n_${e === "day" ? "days" : e === "week" ? "weeks" : e === "month" ? "months" : e === "quarter" ? "quarters" : "years"}`), ne(1);
2974
2972
  } else {
2975
2973
  let e = !1;
2976
- for (let t of p) if (t.value !== "custom" && !m(t.value) && f(t.value) === l.dateRange) {
2974
+ for (let t of g) if (t.value !== "custom" && !_(t.value) && h(t.value) === l.dateRange) {
2977
2975
  O(t.value), e = !0;
2978
2976
  break;
2979
2977
  }
2980
2978
  e || O("custom");
2981
2979
  }
2982
2980
  }
2983
- }, [l.dateRange, z]);
2984
- let de = K((e, t) => {
2985
- let n = e.type, r = _(n)[0]?.operator || "equals";
2981
+ }, [l.dateRange, R]);
2982
+ let fe = G((e, t) => {
2983
+ let n = e.type, r = b(n)[0]?.operator || "equals";
2986
2984
  u({
2987
2985
  member: e.name,
2988
2986
  operator: r,
2989
2987
  values: []
2990
- }), y(!1);
2991
- }, []), U = K((e) => {
2988
+ }), m(!1);
2989
+ }, []), H = G((e) => {
2992
2990
  u({
2993
2991
  member: l.member,
2994
2992
  operator: e,
2995
2993
  values: []
2996
2994
  }), x(!1);
2997
- }, [l.member]), fe = K((e) => {
2995
+ }, [l.member]), pe = G((e) => {
2998
2996
  let t = l.values || [];
2999
- I?.supportsMultipleValues ? t.includes(e) || u({
2997
+ F?.supportsMultipleValues ? t.includes(e) || u({
3000
2998
  ...l,
3001
2999
  values: [...t, e]
3002
3000
  }) : (u({
3003
3001
  ...l,
3004
3002
  values: [e]
3005
- }), w(!1)), re("");
3006
- }, [l, I?.supportsMultipleValues]), W = K((e) => {
3003
+ }), C(!1)), ie("");
3004
+ }, [l, F?.supportsMultipleValues]), U = G((e) => {
3007
3005
  let t = (l.values || []).filter((t) => t !== e);
3008
3006
  u({
3009
3007
  ...l,
3010
3008
  values: t
3011
3009
  });
3012
- }, [l]), G = K((e) => {
3010
+ }, [l]), W = G((e) => {
3013
3011
  let t = e.target.value;
3014
- if (I?.valueType === "number") {
3012
+ if (F?.valueType === "number") {
3015
3013
  let e = parseFloat(t);
3016
3014
  isNaN(e) ? (t === "" || t === "-") && u({
3017
3015
  ...l,
@@ -3024,56 +3022,56 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3024
3022
  ...l,
3025
3023
  values: t ? [t] : []
3026
3024
  });
3027
- }, [l, I?.valueType]), pe = K((e) => {
3025
+ }, [l, F?.valueType]), me = G((e) => {
3028
3026
  let t = parseFloat(e.target.value), n = [isNaN(t) ? "" : t, (l.values?.length >= 2 ? l.values : ["", ""])[1]].filter((e) => e !== "");
3029
3027
  u({
3030
3028
  ...l,
3031
3029
  values: n
3032
3030
  });
3033
- }, [l]), me = K((e) => {
3031
+ }, [l]), he = G((e) => {
3034
3032
  let t = parseFloat(e.target.value), n = [(l.values?.length >= 2 ? l.values : ["", ""])[0], isNaN(t) ? "" : t].filter((e) => e !== "");
3035
3033
  u({
3036
3034
  ...l,
3037
3035
  values: n
3038
3036
  });
3039
- }, [l]), he = K((e) => {
3037
+ }, [l]), ge = G((e) => {
3040
3038
  let t = e.target.value;
3041
3039
  u({
3042
3040
  ...l,
3043
3041
  values: t ? [t] : []
3044
3042
  });
3045
- }, [l]), ge = K((e) => {
3046
- O(e), D(!1);
3043
+ }, [l]), _e = G((e) => {
3044
+ O(e), E(!1);
3047
3045
  let t;
3048
3046
  if (e === "custom") {
3049
3047
  let e = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
3050
3048
  t = [e, e];
3051
- } else t = m(e) ? f(e, te) : f(e);
3049
+ } else t = _(e) ? h(e, te) : h(e);
3052
3050
  u({
3053
3051
  ...l,
3054
3052
  dateRange: t
3055
3053
  });
3056
- }, [l, te]), _e = K((e) => {
3057
- if (k(e), m(ee)) {
3058
- let t = f(ee, e);
3054
+ }, [l, te]), ve = G((e) => {
3055
+ if (ne(e), _(D)) {
3056
+ let t = h(D, e);
3059
3057
  u({
3060
3058
  ...l,
3061
3059
  dateRange: t
3062
3060
  });
3063
3061
  }
3064
- }, [l, ee]), ve = K((e) => {
3062
+ }, [l, D]), ye = G((e) => {
3065
3063
  let t = e.target.value, n = (Array.isArray(l.dateRange) ? l.dateRange : [l.dateRange || "", ""])[1] || t;
3066
3064
  u({
3067
3065
  ...l,
3068
3066
  dateRange: [t, n]
3069
3067
  });
3070
- }, [l]), ye = K((e) => {
3068
+ }, [l]), K = G((e) => {
3071
3069
  let t = e.target.value, n = (Array.isArray(l.dateRange) ? l.dateRange : ["", l.dateRange || ""])[0] || t;
3072
3070
  u({
3073
3071
  ...l,
3074
3072
  dateRange: [n, t]
3075
3073
  });
3076
- }, [l]), be = K(() => {
3074
+ }, [l]), be = G(() => {
3077
3075
  if (!s.trim()) {
3078
3076
  alert("Filter label is required");
3079
3077
  return;
@@ -3094,13 +3092,13 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3094
3092
  s,
3095
3093
  l,
3096
3094
  i
3097
- ]), J = R.find((e) => e.operator === l.operator)?.label || l.operator, xe = p.find((e) => e.value === ee)?.label || "Select range", Se = oe ? rn : N ? an : nn;
3095
+ ]), J = L.find((e) => e.operator === l.operator)?.label || l.operator, xe = g.find((e) => e.value === D)?.label || "Select range", Se = se ? rn : M ? an : nn;
3098
3096
  return r ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("div", {
3099
3097
  className: "dc:fixed dc:inset-0 dc:z-50 dc:flex dc:items-center dc:justify-center dc:p-4",
3100
3098
  style: { backgroundColor: "var(--dc-overlay)" },
3101
3099
  onClick: o,
3102
3100
  children: /* @__PURE__ */ $("div", {
3103
- ref: A,
3101
+ ref: k,
3104
3102
  className: "bg-dc-surface dc:rounded-lg dc:border border-dc-border dc:max-w-md dc:w-full dc:max-h-[90vh] dc:overflow-auto",
3105
3103
  style: { boxShadow: "var(--dc-shadow-xl)" },
3106
3104
  onClick: (e) => e.stopPropagation(),
@@ -3145,20 +3143,20 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3145
3143
  className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary",
3146
3144
  children: "Field"
3147
3145
  }), /* @__PURE__ */ Q("button", {
3148
- onClick: () => g(!d),
3146
+ onClick: () => f(!d),
3149
3147
  className: "dc:flex dc:items-center dc:gap-1 dc:text-xs dc:px-2 dc:py-1 dc:rounded hover:bg-dc-surface-hover text-dc-text-muted",
3150
3148
  title: d ? "Show dashboard fields only" : "Show all fields",
3151
3149
  children: d ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q(cn, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ Q("span", { children: "Dashboard" })] }) : /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q(sn, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ Q("span", { children: "All" })] })
3152
3150
  })]
3153
3151
  }), /* @__PURE__ */ $("button", {
3154
- onClick: () => y(!0),
3152
+ onClick: () => m(!0),
3155
3153
  className: "dc:w-full dc:flex dc:items-center dc:gap-2 dc:p-3 bg-dc-surface-secondary dc:rounded hover:bg-dc-surface-tertiary dc:transition-colors",
3156
3154
  children: [l.member ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("span", {
3157
- className: `dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded ${oe ? "bg-dc-time-dimension" : N ? "bg-dc-measure" : "bg-dc-dimension"} ${oe ? "text-dc-time-dimension-text" : N ? "text-dc-measure-text" : "text-dc-dimension-text"}`,
3155
+ className: `dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded ${se ? "bg-dc-time-dimension" : M ? "bg-dc-measure" : "bg-dc-dimension"} ${se ? "text-dc-time-dimension-text" : M ? "text-dc-measure-text" : "text-dc-dimension-text"}`,
3158
3156
  children: Se && /* @__PURE__ */ Q(Se, { className: "dc:w-4 dc:h-4" })
3159
3157
  }), /* @__PURE__ */ Q("span", {
3160
3158
  className: "dc:flex-1 dc:text-sm dc:font-medium text-dc-text dc:text-left",
3161
- children: F
3159
+ children: P
3162
3160
  })] }) : /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("span", {
3163
3161
  className: "dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded bg-dc-surface-tertiary text-dc-text-muted",
3164
3162
  children: /* @__PURE__ */ Q(nn, { className: "dc:w-4 dc:h-4" })
@@ -3174,17 +3172,17 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3174
3172
  className: "dc:relative",
3175
3173
  children: [/* @__PURE__ */ $("button", {
3176
3174
  onClick: () => {
3177
- w(!1), D(!1), x(!b);
3175
+ C(!1), E(!1), x(!y);
3178
3176
  },
3179
3177
  className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
3180
3178
  children: [/* @__PURE__ */ Q("span", {
3181
3179
  className: "dc:truncate",
3182
3180
  children: J
3183
- }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${b ? "dc:rotate-180" : ""}` })]
3184
- }), b && /* @__PURE__ */ Q("div", {
3181
+ }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${y ? "dc:rotate-180" : ""}` })]
3182
+ }), y && /* @__PURE__ */ Q("div", {
3185
3183
  className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
3186
- children: R.map((e) => /* @__PURE__ */ Q("button", {
3187
- onClick: () => U(e.operator),
3184
+ children: L.map((e) => /* @__PURE__ */ Q("button", {
3185
+ onClick: () => H(e.operator),
3188
3186
  className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.operator === l.operator ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
3189
3187
  children: e.label
3190
3188
  }, e.operator))
@@ -3193,50 +3191,50 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3193
3191
  l.member && !e.isUniversalTime && /* @__PURE__ */ $("div", { children: [/* @__PURE__ */ Q("label", {
3194
3192
  className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary dc:mb-2",
3195
3193
  children: "Default Value"
3196
- }), I?.requiresValues ? z ? /* @__PURE__ */ $("div", {
3194
+ }), F?.requiresValues ? R ? /* @__PURE__ */ $("div", {
3197
3195
  className: "dc:space-y-2",
3198
3196
  children: [
3199
3197
  /* @__PURE__ */ $("div", {
3200
3198
  className: "dc:relative",
3201
3199
  children: [/* @__PURE__ */ $("button", {
3202
3200
  onClick: () => {
3203
- x(!1), w(!1), D(!E);
3201
+ x(!1), C(!1), E(!w);
3204
3202
  },
3205
3203
  className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
3206
3204
  children: [/* @__PURE__ */ Q("span", {
3207
3205
  className: "dc:truncate",
3208
3206
  children: xe
3209
- }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${E ? "dc:rotate-180" : ""}` })]
3210
- }), E && /* @__PURE__ */ Q("div", {
3207
+ }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${w ? "dc:rotate-180" : ""}` })]
3208
+ }), w && /* @__PURE__ */ Q("div", {
3211
3209
  className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
3212
- children: p.map((e) => /* @__PURE__ */ Q("button", {
3213
- onClick: () => ge(e.value),
3214
- className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value === ee ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
3210
+ children: g.map((e) => /* @__PURE__ */ Q("button", {
3211
+ onClick: () => _e(e.value),
3212
+ className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value === D ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
3215
3213
  children: e.label
3216
3214
  }, e.value))
3217
3215
  })]
3218
3216
  }),
3219
- m(ee) && /* @__PURE__ */ $("div", {
3217
+ _(D) && /* @__PURE__ */ $("div", {
3220
3218
  className: "dc:flex dc:items-center dc:gap-2",
3221
3219
  children: [/* @__PURE__ */ Q("input", {
3222
3220
  type: "number",
3223
3221
  min: "1",
3224
3222
  max: "1000",
3225
3223
  value: te,
3226
- onChange: (e) => _e(Math.max(1, parseInt(e.target.value) || 1)),
3224
+ onChange: (e) => ve(Math.max(1, parseInt(e.target.value) || 1)),
3227
3225
  className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text dc:w-20"
3228
3226
  }), /* @__PURE__ */ Q("span", {
3229
3227
  className: "dc:text-sm text-dc-text-muted",
3230
- children: ee.replace("last_n_", "")
3228
+ children: D.replace("last_n_", "")
3231
3229
  })]
3232
3230
  }),
3233
- ee === "custom" && /* @__PURE__ */ $("div", {
3231
+ D === "custom" && /* @__PURE__ */ $("div", {
3234
3232
  className: "dc:flex dc:items-center dc:gap-2",
3235
3233
  children: [
3236
3234
  /* @__PURE__ */ Q("input", {
3237
3235
  type: "date",
3238
3236
  value: Array.isArray(l.dateRange) ? l.dateRange[0] : "",
3239
- onChange: ve,
3237
+ onChange: ye,
3240
3238
  className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-2 dc:py-2 bg-dc-surface text-dc-text"
3241
3239
  }),
3242
3240
  /* @__PURE__ */ Q("span", {
@@ -3246,7 +3244,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3246
3244
  /* @__PURE__ */ Q("input", {
3247
3245
  type: "date",
3248
3246
  value: Array.isArray(l.dateRange) ? l.dateRange[1] : "",
3249
- onChange: ye,
3247
+ onChange: K,
3250
3248
  className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-2 dc:py-2 bg-dc-surface text-dc-text"
3251
3249
  })
3252
3250
  ]
@@ -3258,7 +3256,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3258
3256
  /* @__PURE__ */ Q("input", {
3259
3257
  type: "number",
3260
3258
  value: l.values?.[0] ?? "",
3261
- onChange: pe,
3259
+ onChange: me,
3262
3260
  placeholder: "Min",
3263
3261
  className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
3264
3262
  }),
@@ -3269,23 +3267,23 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3269
3267
  /* @__PURE__ */ Q("input", {
3270
3268
  type: "number",
3271
3269
  value: l.values?.[1] ?? "",
3272
- onChange: me,
3270
+ onChange: he,
3273
3271
  placeholder: "Max",
3274
3272
  className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
3275
3273
  })
3276
3274
  ]
3277
- }) : I?.valueType === "date" ? /* @__PURE__ */ Q("input", {
3275
+ }) : F?.valueType === "date" ? /* @__PURE__ */ Q("input", {
3278
3276
  type: "date",
3279
3277
  value: l.values?.[0] || "",
3280
- onChange: he,
3278
+ onChange: ge,
3281
3279
  className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
3282
- }) : I?.valueType === "number" ? /* @__PURE__ */ Q("input", {
3280
+ }) : F?.valueType === "number" ? /* @__PURE__ */ Q("input", {
3283
3281
  type: "number",
3284
3282
  value: l.values?.[0] ?? "",
3285
- onChange: G,
3283
+ onChange: W,
3286
3284
  placeholder: "Enter number",
3287
3285
  className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
3288
- }) : B ? /* @__PURE__ */ $("div", {
3286
+ }) : z ? /* @__PURE__ */ $("div", {
3289
3287
  className: "dc:space-y-2",
3290
3288
  children: [l.values && l.values.length > 0 && /* @__PURE__ */ Q("div", {
3291
3289
  className: "dc:flex dc:flex-wrap dc:gap-1.5",
@@ -3295,7 +3293,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3295
3293
  className: "dc:max-w-[150px] dc:truncate",
3296
3294
  children: String(e)
3297
3295
  }), /* @__PURE__ */ Q("button", {
3298
- onClick: () => W(e),
3296
+ onClick: () => U(e),
3299
3297
  className: "hover:text-dc-danger",
3300
3298
  children: /* @__PURE__ */ Q(en, { className: "dc:w-3.5 dc:h-3.5" })
3301
3299
  })]
@@ -3304,40 +3302,40 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3304
3302
  className: "dc:relative",
3305
3303
  children: [/* @__PURE__ */ $("button", {
3306
3304
  onClick: () => {
3307
- x(!1), D(!1), w(!C);
3305
+ x(!1), E(!1), C(!S);
3308
3306
  },
3309
3307
  className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
3310
3308
  children: [/* @__PURE__ */ Q("span", {
3311
3309
  className: "text-dc-text-muted dc:truncate",
3312
- children: ce ? "Loading..." : "Select value..."
3313
- }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${C ? "dc:rotate-180" : ""}` })]
3314
- }), C && /* @__PURE__ */ $("div", {
3310
+ children: le ? "Loading..." : "Select value..."
3311
+ }), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${S ? "dc:rotate-180" : ""}` })]
3312
+ }), S && /* @__PURE__ */ $("div", {
3315
3313
  className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-56 dc:overflow-hidden",
3316
3314
  children: [/* @__PURE__ */ Q("div", {
3317
3315
  className: "dc:p-2 dc:border-b border-dc-border",
3318
3316
  children: /* @__PURE__ */ Q("input", {
3319
3317
  type: "text",
3320
- value: ne,
3321
- onChange: (e) => re(e.target.value),
3318
+ value: re,
3319
+ onChange: (e) => ie(e.target.value),
3322
3320
  placeholder: "Search...",
3323
3321
  className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text",
3324
3322
  autoFocus: !0
3325
3323
  })
3326
3324
  }), /* @__PURE__ */ Q("div", {
3327
3325
  className: "dc:max-h-40 dc:overflow-y-auto",
3328
- children: ce ? /* @__PURE__ */ Q("div", {
3326
+ children: le ? /* @__PURE__ */ Q("div", {
3329
3327
  className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
3330
3328
  children: "Loading..."
3331
- }) : H ? /* @__PURE__ */ $("div", {
3329
+ }) : V ? /* @__PURE__ */ $("div", {
3332
3330
  className: "dc:px-3 dc:py-2 dc:text-sm text-dc-error",
3333
- children: ["Error: ", H]
3334
- }) : V.length === 0 ? /* @__PURE__ */ Q("div", {
3331
+ children: ["Error: ", V]
3332
+ }) : B.length === 0 ? /* @__PURE__ */ Q("div", {
3335
3333
  className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
3336
3334
  children: "No values found"
3337
- }) : V.map((e, t) => {
3335
+ }) : B.map((e, t) => {
3338
3336
  let n = l.values?.includes(e);
3339
3337
  return /* @__PURE__ */ $("button", {
3340
- onClick: () => fe(e),
3338
+ onClick: () => pe(e),
3341
3339
  className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${n ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
3342
3340
  children: [String(e), n && /* @__PURE__ */ Q("span", {
3343
3341
  className: "dc:float-right",
@@ -3351,7 +3349,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3351
3349
  }) : /* @__PURE__ */ Q("input", {
3352
3350
  type: "text",
3353
3351
  value: l.values?.[0] ?? "",
3354
- onChange: G,
3352
+ onChange: W,
3355
3353
  placeholder: "Enter value...",
3356
3354
  className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text placeholder-dc-text-muted"
3357
3355
  }) : /* @__PURE__ */ Q("div", {
@@ -3381,19 +3379,19 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
3381
3379
  })
3382
3380
  ]
3383
3381
  })
3384
- }), v && /* @__PURE__ */ Q(le, {
3385
- isOpen: v,
3386
- onClose: () => y(!1),
3387
- onSelect: de,
3382
+ }), p && /* @__PURE__ */ Q(ue, {
3383
+ isOpen: p,
3384
+ onClose: () => m(!1),
3385
+ onSelect: fe,
3388
3386
  mode: "filter",
3389
- schema: ie,
3387
+ schema: ae,
3390
3388
  selectedFields: l.member ? [l.member] : []
3391
3389
  })] }) : null;
3392
3390
  }
3393
3391
  //#endregion
3394
3392
  //#region src/client/components/DashboardFilters/FilterEditModal.tsx
3395
3393
  var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onClose: a, onDelete: o, convertToMetaResponse: s }) => {
3396
- let c = J(() => s(t), [t, s]), l = J(() => ue(n), [n]), u = J(() => {
3394
+ let c = J(() => s(t), [t, s]), l = J(() => de(n), [n]), u = J(() => {
3397
3395
  if (!t) return null;
3398
3396
  let e = t.cubes.map((e) => {
3399
3397
  let t = e.name, n = e.measures.filter((e) => {
@@ -3417,7 +3415,7 @@ var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
3417
3415
  t,
3418
3416
  l,
3419
3417
  s
3420
- ]), d = K(async (e) => {
3418
+ ]), d = G(async (e) => {
3421
3419
  try {
3422
3420
  await i(e), a();
3423
3421
  } catch (e) {
@@ -3433,8 +3431,8 @@ var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
3433
3431
  onDelete: o,
3434
3432
  onClose: a
3435
3433
  }) : null;
3436
- }, dn = u("filter"), fn = u("add"), pn = u("close"), mn = u("edit"), hn = u("chevronDown"), gn = u("timeDimension"), _n = ({ dashboardFilters: e, onAddFilter: t, onAddTimeFilter: n, onEditFilter: r, onRemoveFilter: i, selectedFilterId: a, onFilterSelect: o }) => {
3437
- let [s, c] = G.useState(!1), l = (e) => {
3434
+ }, dn = o("filter"), fn = o("add"), pn = o("close"), mn = o("edit"), hn = o("chevronDown"), gn = o("timeDimension"), _n = ({ dashboardFilters: e, onAddFilter: t, onAddTimeFilter: n, onEditFilter: r, onRemoveFilter: i, selectedFilterId: a, onFilterSelect: o }) => {
3435
+ let [s, c] = W.useState(!1), l = (e) => {
3438
3436
  let { id: t, label: n, isUniversalTime: s } = e, c = a === t;
3439
3437
  return /* @__PURE__ */ $("div", {
3440
3438
  className: "dc:inline-flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1 dc:rounded-md dc:border dc:text-xs dc:transition-all dc:cursor-pointer dc:hover:shadow-md",
@@ -3859,13 +3857,13 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
3859
3857
  label: "Years"
3860
3858
  }
3861
3859
  ], En = ({ isOpen: e, onClose: t, onDateRangeChange: n, currentDateRange: r }) => {
3862
- let i = Y(null), [a, o] = X("fixed"), [s, c] = X(""), [l, u] = X(""), [d, p] = X(""), [m, h] = X(7), [g, _] = X("days");
3860
+ let i = Y(null), [a, o] = X("fixed"), [s, c] = X(""), [l, u] = X(""), [d, f] = X(""), [p, m] = X(7), [g, _] = X("days");
3863
3861
  q(() => {
3864
3862
  if (r) if (Array.isArray(r)) o("fixed"), c(r[0] || ""), u(r[1] || r[0] || "");
3865
3863
  else {
3866
3864
  let e = r.match(/^last\s+(\d+)\s+(day|days|week|weeks|month|months|quarter|quarters|year|years)$/i);
3867
3865
  if (e) {
3868
- o("last"), h(parseInt(e[1], 10));
3866
+ o("last"), m(parseInt(e[1], 10));
3869
3867
  let t = e[2].toLowerCase();
3870
3868
  _(t === "day" ? "days" : t === "week" ? "weeks" : t === "month" ? "months" : t === "quarter" ? "quarters" : t === "year" ? "years" : t.endsWith("s") ? t : `${t}s`);
3871
3869
  }
@@ -3883,18 +3881,18 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
3883
3881
  clearTimeout(a), document.removeEventListener("mousedown", n), document.removeEventListener("keydown", r);
3884
3882
  };
3885
3883
  }, [e, t]);
3886
- let v = K(() => {
3884
+ let v = G(() => {
3887
3885
  s && l ? n([s, l]) : s && n([s, s]);
3888
3886
  }, [
3889
3887
  s,
3890
3888
  l,
3891
3889
  n
3892
- ]), y = K(() => {
3893
- d && n([d, E(/* @__PURE__ */ new Date())]);
3894
- }, [d, n]), b = K(() => {
3895
- m > 0 && n(f(`last_n_${g}`, m));
3890
+ ]), y = G(() => {
3891
+ d && n([d, O(/* @__PURE__ */ new Date())]);
3892
+ }, [d, n]), b = G(() => {
3893
+ p > 0 && n(h(`last_n_${g}`, p));
3896
3894
  }, [
3897
- m,
3895
+ p,
3898
3896
  g,
3899
3897
  n
3900
3898
  ]);
@@ -3991,7 +3989,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
3991
3989
  }), /* @__PURE__ */ Q("input", {
3992
3990
  type: "date",
3993
3991
  value: d,
3994
- onChange: (e) => p(e.target.value),
3992
+ onChange: (e) => f(e.target.value),
3995
3993
  className: "dc:w-full dc:px-3 dc:py-2 dc:text-sm dc:border dc:rounded dc:focus:outline-none dc:focus:ring-2",
3996
3994
  style: {
3997
3995
  borderColor: "var(--dc-border)",
@@ -4032,8 +4030,8 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4032
4030
  type: "number",
4033
4031
  min: "1",
4034
4032
  max: "999",
4035
- value: m,
4036
- onChange: (e) => h(Math.max(1, parseInt(e.target.value, 10) || 1)),
4033
+ value: p,
4034
+ onChange: (e) => m(Math.max(1, parseInt(e.target.value, 10) || 1)),
4037
4035
  className: "dc:w-full dc:px-3 dc:py-2 dc:text-sm dc:border dc:rounded dc:focus:outline-none dc:focus:ring-2",
4038
4036
  style: {
4039
4037
  borderColor: "var(--dc-border)",
@@ -4068,15 +4066,15 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4068
4066
  style: { color: "var(--dc-text-secondary)" },
4069
4067
  children: [
4070
4068
  "Last ",
4071
- m,
4069
+ p,
4072
4070
  " ",
4073
- m === 1 ? g.slice(0, -1) : g
4071
+ p === 1 ? g.slice(0, -1) : g
4074
4072
  ]
4075
4073
  }),
4076
4074
  /* @__PURE__ */ Q("button", {
4077
4075
  type: "button",
4078
4076
  onClick: b,
4079
- disabled: m < 1,
4077
+ disabled: p < 1,
4080
4078
  className: "dc:w-full dc:py-2 dc:text-sm dc:font-medium dc:rounded dc:transition-colors dc:disabled:opacity-50 dc:disabled:cursor-not-allowed",
4081
4079
  style: {
4082
4080
  backgroundColor: "var(--dc-primary)",
@@ -4104,7 +4102,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4104
4102
  })
4105
4103
  ]
4106
4104
  });
4107
- }, Dn = u("check"), On = ({ isOpen: e, onClose: t, onSelect: n, currentXTD: r }) => {
4105
+ }, Dn = o("check"), On = ({ isOpen: e, onClose: t, onSelect: n, currentXTD: r }) => {
4108
4106
  let i = Y(null);
4109
4107
  if (q(() => {
4110
4108
  if (!e) return;
@@ -4165,70 +4163,70 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4165
4163
  }, e.id);
4166
4164
  })
4167
4165
  });
4168
- }, kn = u("chevronDown"), An = u("close"), jn = ({ fieldName: e, operator: t, values: n, onValuesChange: r, schema: i }) => {
4169
- let a = h[t], [o, s] = X(!1), [c, l] = X(""), [u, d] = X(!1), f = Y(null), p = Y(""), m = T(c, 300), g = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e)) : !1, [i, e]), _ = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e && t.type === "time")) : !1, [i, e]), v = J(() => [
4166
+ }, kn = o("chevronDown"), An = o("close"), jn = ({ fieldName: e, operator: t, values: n, onValuesChange: r, schema: i }) => {
4167
+ let a = v[t], [o, s] = X(!1), [c, l] = X(""), [u, d] = X(!1), f = Y(null), p = Y(""), m = ee(c, 300), h = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e)) : !1, [i, e]), g = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e && t.type === "time")) : !1, [i, e]), _ = J(() => [
4170
4168
  "equals",
4171
4169
  "notEquals",
4172
4170
  "in",
4173
4171
  "notIn"
4174
- ].includes(t) && g && !_, [
4172
+ ].includes(t) && h && !g, [
4175
4173
  t,
4176
- g,
4177
- _
4178
- ]), y = v, { values: b, loading: x, error: C, searchValues: w } = S(e, v);
4174
+ h,
4175
+ g
4176
+ ]), y = _, { values: b, loading: x, error: S, searchValues: C } = T(e, _);
4179
4177
  q(() => {
4180
4178
  let e = (e) => {
4181
4179
  f.current && !f.current.contains(e.target) && s(!1);
4182
4180
  };
4183
4181
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
4184
4182
  }, []), q(() => {
4185
- o && v && w && (w("", !0), d(!0), p.current = "");
4183
+ o && _ && C && (C("", !0), d(!0), p.current = "");
4186
4184
  }, [
4187
4185
  o,
4188
- v,
4189
- w
4186
+ _,
4187
+ C
4190
4188
  ]), q(() => {
4191
- u && v && w && m !== p.current && (p.current = m, w(m));
4189
+ u && _ && C && m !== p.current && (p.current = m, C(m));
4192
4190
  }, [
4193
4191
  m,
4194
4192
  u,
4195
- v,
4196
- w
4193
+ _,
4194
+ C
4197
4195
  ]);
4198
- let E = K(() => {
4196
+ let w = G(() => {
4199
4197
  let e = !o;
4200
4198
  s(e), e || (l(""), p.current = "");
4201
- }, [o]), D = K((e) => {
4199
+ }, [o]), E = G((e) => {
4202
4200
  let t = e.target.value;
4203
4201
  l(t);
4204
- }, []), ee = K((e) => {
4202
+ }, []), D = G((e) => {
4205
4203
  a.supportsMultipleValues ? n.includes(e) || r([...n, e]) : (r([e]), s(!1)), l("");
4206
4204
  }, [
4207
4205
  a.supportsMultipleValues,
4208
4206
  n,
4209
4207
  r
4210
- ]), O = K((e) => {
4208
+ ]), O = G((e) => {
4211
4209
  r(n.filter((t) => t !== e));
4212
- }, [n, r]), te = K((e) => {
4210
+ }, [n, r]), te = G((e) => {
4213
4211
  let t = e.target.value;
4214
4212
  if (a.valueType === "number") {
4215
4213
  let e = parseFloat(t);
4216
4214
  isNaN(e) ? (t === "" || t === "-") && r([]) : r([e]);
4217
4215
  } else r(t ? [t] : []);
4218
- }, [a.valueType, r]), k = K((e) => {
4216
+ }, [a.valueType, r]), ne = G((e) => {
4219
4217
  let i = e.target.value;
4220
4218
  r(t === "inDateRange" ? [i, (n.length >= 2 ? n : ["", ""])[1]] : i ? [i] : []);
4221
4219
  }, [
4222
4220
  t,
4223
4221
  n,
4224
4222
  r
4225
- ]), ne = K((e) => {
4223
+ ]), re = G((e) => {
4226
4224
  let t = e.target.value;
4227
4225
  r([(n.length >= 2 ? n : ["", ""])[0], t]);
4228
- }, [n, r]), re = K((e) => {
4226
+ }, [n, r]), ie = G((e) => {
4229
4227
  let t = parseFloat(e.target.value), i = n.length >= 2 ? n : ["", ""];
4230
4228
  r([isNaN(t) ? e.target.value === "" ? "" : i[0] : t, i[1]].filter((e) => e !== ""));
4231
- }, [n, r]), A = K((e) => {
4229
+ }, [n, r]), k = G((e) => {
4232
4230
  let t = parseFloat(e.target.value), i = n.length >= 2 ? n : ["", ""];
4233
4231
  r([i[0], isNaN(t) ? e.target.value === "" ? "" : i[1] : t].filter((e) => e !== ""));
4234
4232
  }, [n, r]);
@@ -4238,7 +4236,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4238
4236
  /* @__PURE__ */ Q("input", {
4239
4237
  type: "date",
4240
4238
  value: n[0] || "",
4241
- onChange: k,
4239
+ onChange: ne,
4242
4240
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4243
4241
  }),
4244
4242
  /* @__PURE__ */ Q("span", {
@@ -4248,7 +4246,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4248
4246
  /* @__PURE__ */ Q("input", {
4249
4247
  type: "date",
4250
4248
  value: n[1] || "",
4251
- onChange: ne,
4249
+ onChange: re,
4252
4250
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4253
4251
  })
4254
4252
  ]
@@ -4258,7 +4256,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4258
4256
  /* @__PURE__ */ Q("input", {
4259
4257
  type: "number",
4260
4258
  value: n[0] !== void 0 && n[0] !== null ? n[0] : "",
4261
- onChange: re,
4259
+ onChange: ie,
4262
4260
  placeholder: "Min",
4263
4261
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4264
4262
  }),
@@ -4269,7 +4267,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4269
4267
  /* @__PURE__ */ Q("input", {
4270
4268
  type: "number",
4271
4269
  value: n[1] !== void 0 && n[1] !== null ? n[1] : "",
4272
- onChange: A,
4270
+ onChange: k,
4273
4271
  placeholder: "Max",
4274
4272
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4275
4273
  })
@@ -4277,7 +4275,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4277
4275
  }) : a.valueType === "date" ? /* @__PURE__ */ Q("input", {
4278
4276
  type: "date",
4279
4277
  value: n[0] || "",
4280
- onChange: k,
4278
+ onChange: ne,
4281
4279
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4282
4280
  }) : a.valueType === "number" ? /* @__PURE__ */ Q("input", {
4283
4281
  type: "number",
@@ -4285,7 +4283,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4285
4283
  onChange: te,
4286
4284
  placeholder: "Enter number",
4287
4285
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4288
- }) : _ && [
4286
+ }) : g && [
4289
4287
  "equals",
4290
4288
  "notEquals",
4291
4289
  "in",
@@ -4316,7 +4314,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4316
4314
  }) : /* @__PURE__ */ Q("input", {
4317
4315
  type: "date",
4318
4316
  value: n[0] || "",
4319
- onChange: k,
4317
+ onChange: ne,
4320
4318
  className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
4321
4319
  }) : y ? /* @__PURE__ */ $("div", {
4322
4320
  className: "dc:relative dc:min-w-0 dc:max-w-full",
@@ -4351,7 +4349,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4351
4349
  })
4352
4350
  }),
4353
4351
  /* @__PURE__ */ $("button", {
4354
- onClick: E,
4352
+ onClick: w,
4355
4353
  className: "dc:w-full dc:text-left dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface hover:bg-dc-surface-hover dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent dc:flex dc:items-center dc:justify-between dc:min-w-0",
4356
4354
  children: [/* @__PURE__ */ Q("span", {
4357
4355
  className: "text-dc-text-muted dc:truncate",
@@ -4365,7 +4363,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4365
4363
  children: /* @__PURE__ */ Q("input", {
4366
4364
  type: "text",
4367
4365
  value: c,
4368
- onChange: D,
4366
+ onChange: E,
4369
4367
  placeholder: "Search values...",
4370
4368
  className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent",
4371
4369
  autoFocus: !0
@@ -4375,16 +4373,16 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
4375
4373
  children: x ? /* @__PURE__ */ Q("div", {
4376
4374
  className: "dc:p-2 dc:text-sm text-dc-text-muted",
4377
4375
  children: c ? "Searching..." : "Loading values..."
4378
- }) : C ? /* @__PURE__ */ $("div", {
4376
+ }) : S ? /* @__PURE__ */ $("div", {
4379
4377
  className: "dc:p-2 dc:text-sm text-dc-error",
4380
- children: ["Error loading values: ", C]
4378
+ children: ["Error loading values: ", S]
4381
4379
  }) : b.length === 0 ? /* @__PURE__ */ Q("div", {
4382
4380
  className: "dc:p-2 dc:text-sm text-dc-text-muted",
4383
4381
  children: c ? "No matching values" : "No values available"
4384
4382
  }) : b.map((e, t) => {
4385
4383
  let r = n.includes(e);
4386
4384
  return /* @__PURE__ */ $("button", {
4387
- onClick: () => ee(e),
4385
+ onClick: () => D(e),
4388
4386
  className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover focus:outline-hidden focus:bg-dc-surface-hover ${r ? "bg-dc-accent-bg text-dc-accent" : "text-dc-text-secondary"}`,
4389
4387
  children: [String(e), r && /* @__PURE__ */ Q("span", {
4390
4388
  className: "dc:float-right text-dc-accent",
@@ -4450,7 +4448,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4450
4448
  clearTimeout(n), document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
4451
4449
  };
4452
4450
  }, [r, i]);
4453
- let o = K((e) => {
4451
+ let o = G((e) => {
4454
4452
  n(e);
4455
4453
  }, [n]), s = Mn(t);
4456
4454
  return /* @__PURE__ */ $("div", {
@@ -4494,8 +4492,8 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4494
4492
  })
4495
4493
  ]
4496
4494
  });
4497
- }, Pn = u("close"), Fn = u("edit"), In = ({ filter: e, schema: t, isEditMode: n, onChange: r, onEdit: i, onRemove: a }) => {
4498
- let [o, s] = X(!1), c = Y(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p = Cn(f || [], d), m = K((t) => {
4495
+ }, Pn = o("close"), Fn = o("edit"), In = ({ filter: e, schema: t, isEditMode: n, onChange: r, onEdit: i, onRemove: a }) => {
4496
+ let [o, s] = X(!1), c = Y(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p = Cn(f || [], d), m = G((t) => {
4499
4497
  r({
4500
4498
  ...e,
4501
4499
  filter: {
@@ -4507,7 +4505,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4507
4505
  e,
4508
4506
  l,
4509
4507
  r
4510
- ]), h = K(() => {
4508
+ ]), h = G(() => {
4511
4509
  n ? i?.() : s(!0);
4512
4510
  }, [n, i]);
4513
4511
  return "member" in e.filter ? /* @__PURE__ */ $("div", {
@@ -4579,7 +4577,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4579
4577
  anchorRef: c
4580
4578
  })]
4581
4579
  }) : null;
4582
- }, Ln = u("add"), Rn = u("timeDimension"), zn = u("chevronDown"), Bn = u("filter"), Vn = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersChange: r, onAddFilter: i, onEditFilter: a, onRemoveFilter: o }) => {
4580
+ }, Ln = o("add"), Rn = o("timeDimension"), zn = o("chevronDown"), Bn = o("filter"), Vn = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersChange: r, onAddFilter: i, onEditFilter: a, onRemoveFilter: o }) => {
4583
4581
  let [s, c] = X(e);
4584
4582
  q(() => {
4585
4583
  c(e);
@@ -4592,7 +4590,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4592
4590
  if (!g || Array.isArray(g)) return null;
4593
4591
  let e = Sn(g);
4594
4592
  return yn.find((t) => t.id === e)?.id || null;
4595
- }, [g]), y = J(() => s.filter((e) => !e.isUniversalTime), [s]), b = K(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), x = K((e) => {
4593
+ }, [g]), y = J(() => s.filter((e) => !e.isUniversalTime), [s]), b = G(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), x = G((e) => {
4596
4594
  if (h) {
4597
4595
  let t = s.map((t) => t.id === h.id ? {
4598
4596
  ...t,
@@ -4622,13 +4620,13 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4622
4620
  h,
4623
4621
  r,
4624
4622
  b
4625
- ]), S = K((e) => {
4623
+ ]), S = G((e) => {
4626
4624
  x(e);
4627
- }, [x]), C = K((e) => {
4625
+ }, [x]), C = G((e) => {
4628
4626
  x(e), f(!1);
4629
- }, [x]), w = K((e) => {
4627
+ }, [x]), w = G((e) => {
4630
4628
  x(e), u(!1);
4631
- }, [x]), T = K((e, t) => {
4629
+ }, [x]), T = G((e, t) => {
4632
4630
  let n = s.map((n) => n.id === e ? t : n);
4633
4631
  c(n), r(n);
4634
4632
  }, [s, r]), E = J(() => {
@@ -4833,7 +4831,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4833
4831
  })]
4834
4832
  });
4835
4833
  }, Hn = ({ dashboardFilters: e, editable: t, schema: n, dashboardConfig: r, onDashboardFiltersChange: i, onSaveFilters: a, selectedFilterId: o, onFilterSelect: s, isEditMode: c = !1 }) => {
4836
- let [l, u] = X(null), [d, f] = X(!1), p = K((e) => e ? { cubes: e.cubes.map((e) => ({
4834
+ let [l, u] = X(null), [d, f] = X(!1), p = G((e) => e ? { cubes: e.cubes.map((e) => ({
4837
4835
  name: e.name,
4838
4836
  title: e.title || e.name,
4839
4837
  description: e.description || "",
@@ -4858,7 +4856,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4858
4856
  description: "",
4859
4857
  shortTitle: e.shortTitle
4860
4858
  })) || []
4861
- })) } : null, []), m = K(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), h = K(() => {
4859
+ })) } : null, []), m = G(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), h = G(() => {
4862
4860
  u({
4863
4861
  id: m(),
4864
4862
  label: `Filter ${e.length + 1}`,
@@ -4868,7 +4866,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4868
4866
  values: []
4869
4867
  }
4870
4868
  }), f(!0);
4871
- }, [e.length, m]), g = K(() => {
4869
+ }, [e.length, m]), g = G(() => {
4872
4870
  let t = {
4873
4871
  id: m(),
4874
4872
  label: "Date Range Filter",
@@ -4884,16 +4882,16 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4884
4882
  m,
4885
4883
  e,
4886
4884
  i
4887
- ]), _ = K((t) => {
4885
+ ]), _ = G((t) => {
4888
4886
  let n = e.find((e) => e.id === t);
4889
4887
  n && (u(n), f(!0));
4890
- }, [e]), v = K((t) => {
4888
+ }, [e]), v = G((t) => {
4891
4889
  i(e.filter((e) => e.id !== t)), l?.id === t && (u(null), f(!1));
4892
4890
  }, [
4893
4891
  e,
4894
4892
  l,
4895
4893
  i
4896
- ]), y = K(async (t) => {
4894
+ ]), y = G(async (t) => {
4897
4895
  let n = e.findIndex((e) => e.id === t.id), r;
4898
4896
  if (r = n >= 0 ? e.map((e) => e.id === t.id ? t : e) : [...e, t], i(r), a) try {
4899
4897
  await a(r);
@@ -4904,7 +4902,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
4904
4902
  e,
4905
4903
  i,
4906
4904
  a
4907
- ]), b = K(() => {
4905
+ ]), b = G(() => {
4908
4906
  u(null), f(!1);
4909
4907
  }, []);
4910
4908
  return !t || !c && e.length === 0 ? null : /* @__PURE__ */ $("div", {
@@ -4978,7 +4976,7 @@ function Un({ scaleFactor: e, designWidth: t, children: n }) {
4978
4976
  }
4979
4977
  //#endregion
4980
4978
  //#region src/client/components/MobileStackedLayout.tsx
4981
- var Wn = u("refresh");
4979
+ var Wn = o("refresh");
4982
4980
  function Gn(e) {
4983
4981
  if (!e) return null;
4984
4982
  let t = e.parentElement;
@@ -4991,18 +4989,18 @@ function Gn(e) {
4991
4989
  return null;
4992
4990
  }
4993
4991
  function Kn({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh: r }) {
4994
- let i = Y({}), [a, o] = X(null), s = Y(null), c = K((e) => {
4992
+ let i = Y({}), [a, o] = X(null), s = Y(null), c = G((e) => {
4995
4993
  s.current = e, e && o(Gn(e));
4996
4994
  }, []), l = J(() => [...e.portlets].sort((e, t) => e.y === t.y ? e.x - t.x : e.y - t.y), [e.portlets]), u = (e) => {
4997
4995
  i.current[e]?.refresh(), r?.(e);
4998
4996
  };
4999
- return /* @__PURE__ */ Q(te, {
4997
+ return /* @__PURE__ */ Q(ie, {
5000
4998
  value: a,
5001
4999
  children: /* @__PURE__ */ Q("div", {
5002
5000
  ref: c,
5003
5001
  className: "mobile-stacked-layout dc:space-y-4 dc:px-2",
5004
5002
  children: l.map((r) => {
5005
- let { analysisConfig: a } = M(r), o = a.charts[a.analysisType], s = JSON.stringify(a.query), c = o?.chartType || "line", l = o?.chartConfig, d = o?.displayConfig, f = c === "markdown" && !!d?.transparentBackground, p = c === "markdown" && (d?.autoHeight ?? !0), m = c === "markdown" ? (d?.hideHeader ?? !0) || !r.title : d?.hideHeader ?? !1, h = Math.max(300, r.h * 80), g = h - (m ? 0 : 40) - 24;
5003
+ let { analysisConfig: a } = j(r), o = a.charts[a.analysisType], s = JSON.stringify(a.query), c = o?.chartType || "line", l = o?.chartConfig, d = o?.displayConfig, f = c === "markdown" && !!d?.transparentBackground, p = c === "markdown" && (d?.autoHeight ?? !0), m = c === "markdown" ? (d?.hideHeader ?? !0) || !r.title : d?.hideHeader ?? !1, h = Math.max(300, r.h * 80), g = h - (m ? 0 : 40) - 24;
5006
5004
  return /* @__PURE__ */ $("div", {
5007
5005
  "data-portlet-id": r.id,
5008
5006
  className: f ? "dc:flex dc:flex-col" : "bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
@@ -5058,7 +5056,7 @@ function Kn({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh:
5058
5056
  //#endregion
5059
5057
  //#region src/client/hooks/dashboard/useGridLayoutEngine.ts
5060
5058
  function qn({ storeApi: e }) {
5061
- return { hasLayoutActuallyChanged: K((t) => {
5059
+ return { hasLayoutActuallyChanged: G((t) => {
5062
5060
  let { isInitialized: n, lastKnownLayout: r } = e.getState();
5063
5061
  if (!n || r.length === 0) return !1;
5064
5062
  for (let e of t) {
@@ -5158,7 +5156,7 @@ function er({ layoutMode: e, draftRows: t, config: n, gridSettings: r, configRef
5158
5156
  n.portlets,
5159
5157
  r
5160
5158
  ]),
5161
- updateRowLayout: K(async (e, t = !0, n) => {
5159
+ updateRowLayout: G(async (e, t = !0, n) => {
5162
5160
  if (!a.current) return;
5163
5161
  let l = n ?? i.current.portlets, u = Qn(e, l, r), d = $n(u, l), f = {
5164
5162
  ...i.current,
@@ -5183,14 +5181,14 @@ function er({ layoutMode: e, draftRows: t, config: n, gridSettings: r, configRef
5183
5181
  }
5184
5182
  //#endregion
5185
5183
  //#region src/client/hooks/dashboard/useDashboardController.ts
5186
- function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n, layoutMode: r, resolvedRows: i, gridSettings: a, thumbnailConfig: s, dashboardRef: c, storeApi: l, storeActions: u, configRef: d, onConfigChangeRef: f, onSaveRef: p, onSaveThumbnailRef: m, updateRowLayout: h, portletComponentRefs: g, onPortletRefresh: _ }) {
5184
+ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n, layoutMode: r, resolvedRows: i, gridSettings: a, thumbnailConfig: o, dashboardRef: c, storeApi: l, storeActions: u, configRef: d, onConfigChangeRef: f, onSaveRef: p, onSaveThumbnailRef: m, updateRowLayout: h, portletComponentRefs: g, onPortletRefresh: _ }) {
5187
5185
  let v = Y(r);
5188
5186
  v.current = r;
5189
5187
  let y = Y(t);
5190
5188
  y.current = t;
5191
5189
  let b = Y(i);
5192
5190
  b.current = i;
5193
- let x = K(async (e, t) => {
5191
+ let x = G(async (e, t) => {
5194
5192
  if (f.current && (f.current(e), u.setThumbnailDirty(!0), p.current)) try {
5195
5193
  await p.current(e);
5196
5194
  } catch (e) {
@@ -5200,15 +5198,15 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5200
5198
  f,
5201
5199
  p,
5202
5200
  u
5203
- ]), S = K(() => {
5204
- ve(() => {
5201
+ ]), S = G(() => {
5202
+ ye(() => {
5205
5203
  u.setEditMode(!0);
5206
5204
  });
5207
- }, [u]), C = K(() => {
5208
- ve(() => {
5205
+ }, [u]), C = G(() => {
5206
+ ye(() => {
5209
5207
  u.setEditMode(!1);
5210
- }), l.getState().thumbnailDirty && s?.enabled && c && setTimeout(async () => {
5211
- let e = await o(c, s);
5208
+ }), l.getState().thumbnailDirty && o?.enabled && c && setTimeout(async () => {
5209
+ let e = await s(c, o);
5212
5210
  if (e && m.current) try {
5213
5211
  let t = await m.current(e);
5214
5212
  t && f.current && f.current({
@@ -5228,9 +5226,9 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5228
5226
  m,
5229
5227
  l,
5230
5228
  u,
5231
- s
5232
- ]), w = K(() => {
5233
- n && (l.getState().isEditMode ? C() : ve(() => {
5229
+ o
5230
+ ]), w = G(() => {
5231
+ n && (l.getState().isEditMode ? C() : ye(() => {
5234
5232
  u.setEditMode(!0);
5235
5233
  }));
5236
5234
  }, [
@@ -5238,20 +5236,20 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5238
5236
  n,
5239
5237
  u,
5240
5238
  l
5241
- ]), T = K((e) => {
5239
+ ]), T = G((e) => {
5242
5240
  let t = l.getState().selectedFilterId;
5243
5241
  l.getState().setSelectedFilterId(e === t ? null : e);
5244
- }, [l]), E = K(() => {
5242
+ }, [l]), E = G(() => {
5245
5243
  u.openPortletModal(null);
5246
- }, [u]), D = K((e) => {
5244
+ }, [u]), D = G((e) => {
5247
5245
  u.openPortletModal(e);
5248
- }, [u]), ee = K(() => {
5246
+ }, [u]), ee = G(() => {
5249
5247
  u.openTextModal(null);
5250
- }, [u]), O = K((e) => {
5248
+ }, [u]), O = G((e) => {
5251
5249
  u.openTextModal(e);
5252
- }, [u]), te = K((e) => {
5250
+ }, [u]), te = G((e) => {
5253
5251
  u.openFilterConfigModal(e);
5254
- }, [u]), k = K(async (t) => {
5252
+ }, [u]), ne = G(async (t) => {
5255
5253
  if (!f.current || t === v.current || !y.current || !e.includes(t)) return;
5256
5254
  let n = d.current, r = Qn(n.rows && n.rows.length > 0 ? n.rows : Zn(n.portlets, a), n.portlets, a), i = $n(r, n.portlets);
5257
5255
  await x({
@@ -5266,7 +5264,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5266
5264
  a,
5267
5265
  f,
5268
5266
  x
5269
- ]), ne = K(async (e) => {
5267
+ ]), re = G(async (e) => {
5270
5268
  if (!f.current) return null;
5271
5269
  let t = d.current, n = [...t.portlets], r = !1, i = null, o = l.getState(), s = o.editingPortlet || o.editingTextPortlet;
5272
5270
  if (s) {
@@ -5310,7 +5308,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5310
5308
  u,
5311
5309
  l,
5312
5310
  h
5313
- ]), re = K(async (e) => {
5311
+ ]), ie = G(async (e) => {
5314
5312
  if (!f.current) return;
5315
5313
  let t = d.current, n = t.portlets.filter((t) => t.id !== e);
5316
5314
  v.current === "rows" ? await h(b.current.map((t) => ({
@@ -5341,20 +5339,20 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5341
5339
  openAddText: ee,
5342
5340
  openEditText: O,
5343
5341
  openFilterConfig: te,
5344
- handleLayoutModeChange: k,
5345
- savePortlet: ne,
5346
- deletePortlet: K(async (e) => {
5342
+ handleLayoutModeChange: ne,
5343
+ savePortlet: re,
5344
+ deletePortlet: G(async (e) => {
5347
5345
  u.openDeleteConfirm(e);
5348
5346
  }, [u]),
5349
- confirmDelete: K(async () => {
5347
+ confirmDelete: G(async () => {
5350
5348
  let e = l.getState().deleteConfirmPortletId;
5351
- e && (await re(e), u.closeDeleteConfirm());
5349
+ e && (await ie(e), u.closeDeleteConfirm());
5352
5350
  }, [
5353
- re,
5351
+ ie,
5354
5352
  u,
5355
5353
  l
5356
5354
  ]),
5357
- duplicatePortlet: K(async (e) => {
5355
+ duplicatePortlet: G(async (e) => {
5358
5356
  if (!f.current) return;
5359
5357
  let t = d.current, n = t.portlets.find((t) => t.id === e);
5360
5358
  if (!n) return;
@@ -5388,11 +5386,11 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5388
5386
  x,
5389
5387
  h
5390
5388
  ]),
5391
- refreshPortlet: K((e, t) => {
5389
+ refreshPortlet: G((e, t) => {
5392
5390
  let n = g?.current?.[e];
5393
5391
  n?.refresh && n.refresh(t), _?.(e, t);
5394
5392
  }, [_, g]),
5395
- toggleFilterForPortlet: K(async (e, t) => {
5393
+ toggleFilterForPortlet: G(async (e, t) => {
5396
5394
  if (!f.current) return;
5397
5395
  let n = d.current, r = n.portlets.map((n) => {
5398
5396
  if (n.id === e) {
@@ -5413,7 +5411,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5413
5411
  f,
5414
5412
  x
5415
5413
  ]),
5416
- selectAllForFilter: K(async (e) => {
5414
+ selectAllForFilter: G(async (e) => {
5417
5415
  if (!f.current) return;
5418
5416
  let t = d.current, n = t.portlets.map((t) => {
5419
5417
  let n = t.dashboardFilterMapping || [];
@@ -5431,7 +5429,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5431
5429
  f,
5432
5430
  x
5433
5431
  ]),
5434
- saveFilterConfig: K(async (e) => {
5432
+ saveFilterConfig: G(async (e) => {
5435
5433
  let t = l.getState().filterConfigPortlet;
5436
5434
  if (!f.current || !t) return;
5437
5435
  let n = d.current, r = n.portlets.map((n) => n.id === t.id ? {
@@ -5448,7 +5446,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
5448
5446
  x,
5449
5447
  l
5450
5448
  ]),
5451
- handlePaletteChange: K(async (e) => {
5449
+ handlePaletteChange: G(async (e) => {
5452
5450
  f.current && await x({
5453
5451
  ...d.current,
5454
5452
  colorPalette: e
@@ -5500,26 +5498,26 @@ var nr = (e) => ({
5500
5498
  setThumbnailDirty: e.setThumbnailDirty
5501
5499
  });
5502
5500
  function ir(e) {
5503
- let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable: c = !0, onConfigChange: l, onSave: u, onSaveThumbnail: d, portletComponentRefs: f, onPortletRefresh: p, dashboardRef: m } = e, h = _t(t(nr)), g = _t(t(rr)), _ = vt(), { features: v } = s(), y = v.thumbnail, b = Y(n);
5501
+ let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable: s = !0, onConfigChange: c, onSave: l, onSaveThumbnail: d, portletComponentRefs: f, onPortletRefresh: p, dashboardRef: m } = e, h = _t(t(nr)), g = _t(t(rr)), _ = vt(), { features: v } = u(), y = v.thumbnail, b = Y(n);
5504
5502
  b.current = n;
5505
- let x = Y(l);
5506
- x.current = l;
5507
- let S = Y(u);
5508
- S.current = u;
5503
+ let x = Y(c);
5504
+ x.current = c;
5505
+ let S = Y(l);
5506
+ S.current = l;
5509
5507
  let C = Y(d);
5510
5508
  C.current = d;
5511
5509
  let w = J(() => o && o.length > 0 ? o : ["rows", "grid"], [o]), T = J(() => {
5512
5510
  let e = w.includes("rows") ? "rows" : w[0] ?? "grid", t = n.layoutMode ?? "grid";
5513
5511
  return w.includes(t) ? t : e;
5514
- }, [n.layoutMode, w]), E = J(() => r && h.isEditMode && c && !h.selectedFilterId, [
5512
+ }, [n.layoutMode, w]), E = J(() => r && h.isEditMode && s && !h.selectedFilterId, [
5515
5513
  r,
5516
5514
  h.isEditMode,
5517
- c,
5515
+ s,
5518
5516
  h.selectedFilterId
5519
- ]), D = J(() => r && h.isEditMode && c && !h.selectedFilterId && w.length > 1, [
5517
+ ]), D = J(() => r && h.isEditMode && s && !h.selectedFilterId && w.length > 1, [
5520
5518
  r,
5521
5519
  h.isEditMode,
5522
- c,
5520
+ s,
5523
5521
  h.selectedFilterId,
5524
5522
  w.length
5525
5523
  ]), ee = J(() => !h.selectedFilterId || !i ? null : i.find((e) => e.id === h.selectedFilterId) ?? null, [h.selectedFilterId, i]), { resolvedRows: O, updateRowLayout: te } = er({
@@ -5532,10 +5530,10 @@ function ir(e) {
5532
5530
  onSaveRef: S,
5533
5531
  setDraftRows: g.setDraftRows,
5534
5532
  setThumbnailDirty: g.setThumbnailDirty
5535
- }), { hasLayoutActuallyChanged: k } = qn({ storeApi: _ }), { enterEditMode: ne, exitEditMode: re, toggleEditMode: A, selectFilter: ie, openAddPortlet: j, openEditPortlet: M, openAddText: ae, openEditText: oe, openFilterConfig: N, handleLayoutModeChange: se, savePortlet: P, deletePortlet: F, confirmDelete: I, duplicatePortlet: L, refreshPortlet: R, toggleFilterForPortlet: z, selectAllForFilter: B, saveFilterConfig: V, handlePaletteChange: ce } = tr({
5533
+ }), { hasLayoutActuallyChanged: ne } = qn({ storeApi: _ }), { enterEditMode: re, exitEditMode: ie, toggleEditMode: k, selectFilter: ae, openAddPortlet: A, openEditPortlet: j, openAddText: oe, openEditText: se, openFilterConfig: M, handleLayoutModeChange: ce, savePortlet: N, deletePortlet: P, confirmDelete: F, duplicatePortlet: I, refreshPortlet: L, toggleFilterForPortlet: R, selectAllForFilter: z, saveFilterConfig: B, handlePaletteChange: le } = tr({
5536
5534
  allowedModes: w,
5537
5535
  canChangeLayoutMode: D,
5538
- isResponsiveEditable: c,
5536
+ isResponsiveEditable: s,
5539
5537
  layoutMode: T,
5540
5538
  resolvedRows: O,
5541
5539
  gridSettings: a,
@@ -5550,19 +5548,19 @@ function ir(e) {
5550
5548
  updateRowLayout: te,
5551
5549
  portletComponentRefs: f,
5552
5550
  onPortletRefresh: p
5553
- }), H = J(() => ({
5554
- enterEditMode: ne,
5555
- exitEditMode: re,
5556
- toggleEditMode: A,
5557
- selectFilter: ie,
5551
+ }), V = J(() => ({
5552
+ enterEditMode: re,
5553
+ exitEditMode: ie,
5554
+ toggleEditMode: k,
5555
+ selectFilter: ae,
5558
5556
  exitFilterSelectionMode: g.exitFilterSelectionMode,
5559
- openAddPortlet: j,
5560
- openEditPortlet: M,
5557
+ openAddPortlet: A,
5558
+ openEditPortlet: j,
5561
5559
  closePortletModal: g.closePortletModal,
5562
- openAddText: ae,
5563
- openEditText: oe,
5560
+ openAddText: oe,
5561
+ openEditText: se,
5564
5562
  closeTextModal: g.closeTextModal,
5565
- openFilterConfig: N,
5563
+ openFilterConfig: M,
5566
5564
  closeFilterConfig: g.closeFilterConfigModal,
5567
5565
  setDraftRows: g.setDraftRows,
5568
5566
  setIsDraggingPortlet: g.setIsDraggingPortlet,
@@ -5570,45 +5568,45 @@ function ir(e) {
5570
5568
  setIsInitialized: g.setIsInitialized,
5571
5569
  setDragState: g.setDragState,
5572
5570
  clearDragState: g.clearDragState,
5573
- hasLayoutActuallyChanged: k,
5571
+ hasLayoutActuallyChanged: ne,
5574
5572
  updateRowLayout: te,
5575
- handleLayoutModeChange: se,
5576
- savePortlet: P,
5577
- deletePortlet: F,
5578
- duplicatePortlet: L,
5579
- refreshPortlet: R,
5580
- toggleFilterForPortlet: z,
5581
- selectAllForFilter: B,
5582
- saveFilterConfig: V,
5583
- handlePaletteChange: ce,
5573
+ handleLayoutModeChange: ce,
5574
+ savePortlet: N,
5575
+ deletePortlet: P,
5576
+ duplicatePortlet: I,
5577
+ refreshPortlet: L,
5578
+ toggleFilterForPortlet: R,
5579
+ selectAllForFilter: z,
5580
+ saveFilterConfig: B,
5581
+ handlePaletteChange: le,
5584
5582
  openDeleteConfirm: g.openDeleteConfirm,
5585
5583
  closeDeleteConfirm: g.closeDeleteConfirm,
5586
- confirmDelete: I,
5584
+ confirmDelete: F,
5587
5585
  setDebugData: g.setDebugData,
5588
5586
  clearDebugData: g.clearDebugData
5589
5587
  }), [
5590
- ne,
5591
5588
  re,
5592
- A,
5593
5589
  ie,
5590
+ k,
5591
+ ae,
5594
5592
  g,
5593
+ A,
5595
5594
  j,
5596
- M,
5597
- ae,
5598
5595
  oe,
5599
- N,
5600
- k,
5601
- te,
5602
5596
  se,
5597
+ M,
5598
+ ne,
5599
+ te,
5600
+ ce,
5601
+ N,
5603
5602
  P,
5604
- F,
5603
+ I,
5605
5604
  L,
5606
5605
  R,
5607
5606
  z,
5608
5607
  B,
5609
- V,
5610
- ce,
5611
- I
5608
+ le,
5609
+ F
5612
5610
  ]);
5613
5611
  return {
5614
5612
  ...h,
@@ -5618,12 +5616,12 @@ function ir(e) {
5618
5616
  resolvedRows: O,
5619
5617
  layoutMode: T,
5620
5618
  allowedModes: w,
5621
- actions: H
5619
+ actions: V
5622
5620
  };
5623
5621
  }
5624
5622
  //#endregion
5625
5623
  //#region src/client/components/DashboardGrid.tsx
5626
- var ar = u("measure"), or = u("refresh"), sr = u("edit"), cr = u("check"), lr = u("delete"), ur = u("add"), dr = u("copy"), fr = u("filter"), pr = u("desktop"), mr = u("segment"), hr = u("table");
5624
+ var ar = o("measure"), or = o("refresh"), sr = o("edit"), cr = o("check"), lr = o("delete"), ur = o("add"), dr = o("copy"), fr = o("filter"), pr = o("desktop"), mr = o("segment"), hr = o("table");
5627
5625
  function gr({ className: e, style: t }) {
5628
5626
  return /* @__PURE__ */ $("svg", {
5629
5627
  className: e,
@@ -5706,13 +5704,13 @@ var vr = {
5706
5704
  }
5707
5705
  return i;
5708
5706
  };
5709
- function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onPortletRefresh: a, onSave: o, onSaveThumbnail: c, colorPalette: l, schema: u, onDashboardFiltersChange: d, dashboardModes: f }) {
5710
- let { features: p } = s(), { containerRef: m, containerWidth: h, displayMode: g, scaleFactor: _, isEditable: v, designWidth: y } = fe(), b = f && f.length > 0 ? f : ["rows", "grid"], x = J(() => br(e), [e]), [S, C] = X(null), w = Y(null), T = Y(null), E = Y(null), D = Y(null), ee = K((e) => {
5707
+ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onPortletRefresh: a, onSave: o, onSaveThumbnail: s, colorPalette: c, schema: l, onDashboardFiltersChange: d, dashboardModes: f }) {
5708
+ let { features: p } = u(), { containerRef: m, containerWidth: h, displayMode: g, scaleFactor: _, isEditable: v, designWidth: y } = pe(), b = f && f.length > 0 ? f : ["rows", "grid"], x = J(() => br(e), [e]), [S, C] = X(null), w = Y(null), T = Y(null), E = Y(null), D = Y(null), ee = G((e) => {
5711
5709
  if (w.current = e, m(e), e) {
5712
5710
  let t = _r(e);
5713
5711
  C(t), T.current = t;
5714
5712
  }
5715
- }, [m]), O = g === "desktop" ? h : y, k = Y({}), ne = Y({}), re = Y(null), A = Y(null), ie = Y(null), { isEditMode: j, selectedFilterId: ae, isPortletModalOpen: oe, editingPortlet: N, isTextModalOpen: se, editingTextPortlet: P, isFilterConfigModalOpen: F, filterConfigPortlet: I, deleteConfirmPortletId: L, draftRows: R, isDraggingPortlet: B, isInitialized: V, canEdit: H, canChangeLayoutMode: le, selectedFilter: ue, resolvedRows: de, layoutMode: U, actions: W } = ir({
5713
+ }, [m]), O = g === "desktop" ? h : y, te = Y({}), ne = Y({}), re = Y(null), k = Y(null), ae = Y(null), { isEditMode: A, selectedFilterId: oe, isPortletModalOpen: se, editingPortlet: M, isTextModalOpen: ce, editingTextPortlet: N, isFilterConfigModalOpen: P, filterConfigPortlet: F, deleteConfirmPortletId: I, draftRows: L, isDraggingPortlet: z, isInitialized: B, canEdit: V, canChangeLayoutMode: ue, selectedFilter: de, resolvedRows: fe, layoutMode: H, actions: U } = ir({
5716
5714
  config: e,
5717
5715
  editable: t,
5718
5716
  dashboardFilters: n,
@@ -5721,48 +5719,48 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5721
5719
  isResponsiveEditable: v,
5722
5720
  onConfigChange: i,
5723
5721
  onSave: o,
5724
- onSaveThumbnail: c,
5722
+ onSaveThumbnail: s,
5725
5723
  gridWidth: O,
5726
5724
  portletComponentRefs: ne,
5727
5725
  onPortletRefresh: a,
5728
5726
  dashboardRef: D
5729
- }), G = Y(W);
5730
- G.current = W;
5731
- let pe = Y(H);
5732
- pe.current = H, q(() => {
5733
- re.current = R;
5734
- }, [R]), q(() => {
5735
- (!j || !v) && ae && W.exitFilterSelectionMode();
5727
+ }), W = Y(U);
5728
+ W.current = U;
5729
+ let me = Y(V);
5730
+ me.current = V, q(() => {
5731
+ re.current = L;
5732
+ }, [L]), q(() => {
5733
+ (!A || !v) && oe && U.exitFilterSelectionMode();
5736
5734
  }, [
5737
- j,
5735
+ A,
5738
5736
  v,
5739
- ae,
5740
- W
5737
+ oe,
5738
+ U
5741
5739
  ]), q(() => {
5742
- !v && j && W.exitEditMode();
5740
+ !v && A && U.exitEditMode();
5743
5741
  }, [
5744
5742
  v,
5745
- j,
5746
- W
5743
+ A,
5744
+ U
5747
5745
  ]);
5748
- let me = at(T, {
5746
+ let he = at(T, {
5749
5747
  threshold: 20,
5750
5748
  debounceMs: 150,
5751
5749
  container: S
5752
- }), he = ot(E, {
5750
+ }), ge = ot(E, {
5753
5751
  threshold: 80,
5754
5752
  debounceMs: 100,
5755
5753
  containerRef: T,
5756
5754
  container: S
5757
5755
  });
5758
5756
  st(T, {
5759
- enabled: U === "rows" && B,
5757
+ enabled: H === "rows" && z,
5760
5758
  edgeThreshold: 80,
5761
5759
  maxScrollSpeed: 15
5762
5760
  }), q(() => {
5763
- if (V) return;
5761
+ if (B) return;
5764
5762
  let t = setTimeout(() => {
5765
- W.setIsInitialized(!0);
5763
+ U.setIsInitialized(!0);
5766
5764
  let t = e.portlets.map((e) => ({
5767
5765
  i: e.id,
5768
5766
  x: e.x,
@@ -5770,25 +5768,25 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5770
5768
  w: e.w,
5771
5769
  h: e.h
5772
5770
  }));
5773
- W.setLastKnownLayout(t);
5771
+ U.setLastKnownLayout(t);
5774
5772
  }, 200);
5775
5773
  return () => clearTimeout(t);
5776
5774
  }, [
5777
- V,
5775
+ B,
5778
5776
  e.portlets,
5779
- W
5777
+ U
5780
5778
  ]), q(() => {
5781
5779
  let e = (e) => {
5782
- e.key === "Escape" && ae && W.exitFilterSelectionMode();
5780
+ e.key === "Escape" && oe && U.exitFilterSelectionMode();
5783
5781
  };
5784
5782
  return window.addEventListener("keydown", e), () => {
5785
5783
  window.removeEventListener("keydown", e);
5786
5784
  };
5787
- }, [ae, W]);
5788
- let ge = K((e) => {}, []), _e = K(async (n, r, a, s, c, l) => {
5789
- if (!t || !j || !o || !V) return;
5785
+ }, [oe, U]);
5786
+ let _e = G((e) => {}, []), ve = G(async (n, r, a, s, c, l) => {
5787
+ if (!t || !A || !o || !B) return;
5790
5788
  let u = [...n];
5791
- if (!W.hasLayoutActuallyChanged(u)) return;
5789
+ if (!U.hasLayoutActuallyChanged(u)) return;
5792
5790
  let d = e.portlets.map((e) => {
5793
5791
  let t = u.find((t) => t.i === e.id);
5794
5792
  return t ? {
@@ -5806,7 +5804,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5806
5804
  lg: u
5807
5805
  }
5808
5806
  };
5809
- W.setLastKnownLayout(u), i?.(f);
5807
+ U.setLastKnownLayout(u), i?.(f);
5810
5808
  try {
5811
5809
  await o(f);
5812
5810
  } catch (e) {
@@ -5815,15 +5813,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5815
5813
  }, [
5816
5814
  e,
5817
5815
  t,
5818
- j,
5816
+ A,
5819
5817
  i,
5820
5818
  o,
5821
- V,
5822
- W
5823
- ]), ve = K(async (n, r, a, s, c, l) => {
5824
- if (!t || !j || !i || !V) return;
5819
+ B,
5820
+ U
5821
+ ]), ye = G(async (n, r, a, s, c, l) => {
5822
+ if (!t || !A || !i || !B) return;
5825
5823
  let u = [...n];
5826
- if (!W.hasLayoutActuallyChanged(u)) return;
5824
+ if (!U.hasLayoutActuallyChanged(u)) return;
5827
5825
  let d = e.portlets.map((e) => {
5828
5826
  let t = u.find((t) => t.i === e.id);
5829
5827
  return t ? {
@@ -5841,7 +5839,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5841
5839
  lg: u
5842
5840
  }
5843
5841
  };
5844
- if (W.setLastKnownLayout(u), i(f), o) try {
5842
+ if (U.setLastKnownLayout(u), i(f), o) try {
5845
5843
  await o(f);
5846
5844
  } catch (e) {
5847
5845
  console.error("Auto-save failed after resize:", e);
@@ -5849,50 +5847,50 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5849
5847
  }, [
5850
5848
  e,
5851
5849
  t,
5852
- j,
5850
+ A,
5853
5851
  i,
5854
5852
  o,
5855
- V,
5856
- W
5857
- ]), ye = K((e, t) => {
5858
- if (!H) return;
5853
+ B,
5854
+ U
5855
+ ]), K = G((e, t) => {
5856
+ if (!V) return;
5859
5857
  t.preventDefault();
5860
- let n = t.clientY, r = de.map((e) => ({
5858
+ let n = t.clientY, r = fe.map((e) => ({
5861
5859
  ...e,
5862
5860
  columns: e.columns.map((e) => ({ ...e }))
5863
5861
  }));
5864
- A.current = null;
5862
+ k.current = null;
5865
5863
  let i = (t) => {
5866
5864
  let i = t.clientY - n, a = Math.round(i / x.rowHeight), o = r.map((t, n) => n === e ? {
5867
5865
  ...t,
5868
5866
  h: Math.max(x.minH, t.h + a)
5869
5867
  } : t);
5870
- A.current = o, W.setDraftRows(o);
5868
+ k.current = o, U.setDraftRows(o);
5871
5869
  }, a = () => {
5872
5870
  document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", a);
5873
- let e = A.current ?? r;
5874
- A.current = null, W.updateRowLayout(e);
5871
+ let e = k.current ?? r;
5872
+ k.current = null, U.updateRowLayout(e);
5875
5873
  };
5876
5874
  document.addEventListener("mousemove", i), document.addEventListener("mouseup", a);
5877
5875
  }, [
5878
- H,
5876
+ V,
5879
5877
  x,
5880
- de,
5881
- W
5882
- ]), be = K((e, t, n) => {
5883
- if (!H) return;
5878
+ fe,
5879
+ U
5880
+ ]), be = G((e, t, n) => {
5881
+ if (!V) return;
5884
5882
  n.preventDefault();
5885
- let r = n.clientX, i = de.map((e) => ({
5883
+ let r = n.clientX, i = fe.map((e) => ({
5886
5884
  ...e,
5887
5885
  columns: e.columns.map((e) => ({ ...e }))
5888
5886
  })), a = i[e], o = a?.columns[t], s = a?.columns[t + 1];
5889
5887
  if (!a || !o || !s) return;
5890
5888
  let c = (O - (a.columns.length - 1) * 16) / x.cols;
5891
- A.current = null;
5889
+ k.current = null;
5892
5890
  let l = (n) => {
5893
5891
  let a = n.clientX - r, l = Math.round(a / c);
5894
5892
  if (l === 0) {
5895
- A.current = i, W.setDraftRows(i);
5893
+ k.current = i, U.setDraftRows(i);
5896
5894
  return;
5897
5895
  }
5898
5896
  let u = o.w + l, d = s.w - l;
@@ -5919,31 +5917,31 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5919
5917
  columns: Sr(i, x)
5920
5918
  };
5921
5919
  });
5922
- A.current = f, W.setDraftRows(f);
5920
+ k.current = f, U.setDraftRows(f);
5923
5921
  }, u = () => {
5924
5922
  document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", u);
5925
- let e = A.current ?? i;
5926
- A.current = null, W.updateRowLayout(e);
5923
+ let e = k.current ?? i;
5924
+ k.current = null, U.updateRowLayout(e);
5927
5925
  };
5928
5926
  document.addEventListener("mousemove", l), document.addEventListener("mouseup", u);
5929
5927
  }, [
5930
- H,
5928
+ V,
5931
5929
  x,
5932
5930
  O,
5933
- de,
5934
- W
5935
- ]), xe = K((e, t, n, r) => {
5936
- pe.current && (ie.current = {
5931
+ fe,
5932
+ U
5933
+ ]), xe = G((e, t, n, r) => {
5934
+ me.current && (ae.current = {
5937
5935
  rowIndex: e,
5938
5936
  colIndex: t,
5939
5937
  portletId: n
5940
- }, G.current.setIsDraggingPortlet(!0), r.dataTransfer.effectAllowed = "move", r.dataTransfer.setData("text/plain", n));
5941
- }, []), we = K(() => {
5942
- ie.current = null, G.current.setIsDraggingPortlet(!1);
5943
- }, []), Te = K((e, t) => {
5944
- let n = ie.current;
5938
+ }, W.current.setIsDraggingPortlet(!0), r.dataTransfer.effectAllowed = "move", r.dataTransfer.setData("text/plain", n));
5939
+ }, []), we = G(() => {
5940
+ ae.current = null, W.current.setIsDraggingPortlet(!1);
5941
+ }, []), Te = G((e, t) => {
5942
+ let n = ae.current;
5945
5943
  if (!n) return;
5946
- let r = de.map((e) => ({
5944
+ let r = fe.map((e) => ({
5947
5945
  ...e,
5948
5946
  columns: e.columns.map((e) => ({ ...e }))
5949
5947
  })), i = n.rowIndex, a = r[i];
@@ -5961,15 +5959,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5961
5959
  }), r[c] = {
5962
5960
  ...r[c],
5963
5961
  columns: xr(r[c].columns.map((e) => e.portletId), x)
5964
- }), W.updateRowLayout(r);
5962
+ }), U.updateRowLayout(r);
5965
5963
  }, [
5966
5964
  x,
5967
- de,
5968
- W
5969
- ]), Ee = K((e) => {
5970
- let t = ie.current;
5965
+ fe,
5966
+ U
5967
+ ]), Ee = G((e) => {
5968
+ let t = ae.current;
5971
5969
  if (!t) return;
5972
- let n = de.map((e) => ({
5970
+ let n = fe.map((e) => ({
5973
5971
  ...e,
5974
5972
  columns: e.columns.map((e) => ({ ...e }))
5975
5973
  })), r = n[t.rowIndex];
@@ -5981,18 +5979,18 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
5981
5979
  h: Math.max(x.minH, 3),
5982
5980
  columns: xr([i.portletId], x)
5983
5981
  };
5984
- n.splice(e, 0, a), W.updateRowLayout(n);
5982
+ n.splice(e, 0, a), U.updateRowLayout(n);
5985
5983
  }, [
5986
5984
  x,
5987
- de,
5988
- W
5989
- ]), De = K((e, t) => {
5990
- G.current.refreshPortlet(e, t);
5991
- }, []), Oe = K(async (e) => {
5992
- let t = await W.savePortlet(e);
5993
- W.closePortletModal(), t && setTimeout(() => {
5985
+ fe,
5986
+ U
5987
+ ]), De = G((e, t) => {
5988
+ W.current.refreshPortlet(e, t);
5989
+ }, []), Oe = G(async (e) => {
5990
+ let t = await U.savePortlet(e);
5991
+ U.closePortletModal(), t && setTimeout(() => {
5994
5992
  let e = () => {
5995
- let e = k.current[t];
5993
+ let e = te.current[t];
5996
5994
  return e ||= document.querySelector(`[data-portlet-id="${t}"]`), e ? (e.scrollIntoView({
5997
5995
  behavior: "smooth",
5998
5996
  block: "center",
@@ -6005,13 +6003,13 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6005
6003
  }, 300);
6006
6004
  }, 200);
6007
6005
  }, 200);
6008
- }, [W]), ke = K(async (e) => {
6009
- await G.current.deletePortlet(e);
6010
- }, []), Ae = K(async (e) => {
6011
- let t = await G.current.duplicatePortlet(e);
6006
+ }, [U]), ke = G(async (e) => {
6007
+ await W.current.deletePortlet(e);
6008
+ }, []), Ae = G(async (e) => {
6009
+ let t = await W.current.duplicatePortlet(e);
6012
6010
  t && setTimeout(() => {
6013
6011
  let e = () => {
6014
- let e = k.current[t];
6012
+ let e = te.current[t];
6015
6013
  return e ||= document.querySelector(`[data-portlet-id="${t}"]`), e ? (e.scrollIntoView({
6016
6014
  behavior: "smooth",
6017
6015
  block: "center",
@@ -6024,22 +6022,22 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6024
6022
  }, 300);
6025
6023
  }, 200);
6026
6024
  }, 200);
6027
- }, []), je = K(() => {
6028
- W.openAddPortlet();
6029
- }, [W]), Me = K(() => {
6030
- W.openAddText();
6031
- }, [W]), Ne = K((e) => {
6032
- let t = M(e);
6033
- t.analysisConfig.charts[t.analysisConfig.analysisType]?.chartType === "markdown" ? G.current.openEditText(e) : G.current.openEditPortlet(e);
6034
- }, []), Pe = K(async (e) => {
6035
- await W.handlePaletteChange(e);
6036
- }, [W]), Fe = K((e) => {
6037
- G.current.openFilterConfig(e);
6038
- }, []), Ie = K(async (e) => {
6039
- await W.saveFilterConfig(e);
6040
- }, [W]), Le = K((e, t) => {
6041
- k.current[e] = t;
6042
- }, []), Re = K((e, t) => {
6025
+ }, []), je = G(() => {
6026
+ U.openAddPortlet();
6027
+ }, [U]), Me = G(() => {
6028
+ U.openAddText();
6029
+ }, [U]), Ne = G((e) => {
6030
+ let t = j(e);
6031
+ t.analysisConfig.charts[t.analysisConfig.analysisType]?.chartType === "markdown" ? W.current.openEditText(e) : W.current.openEditPortlet(e);
6032
+ }, []), Pe = G(async (e) => {
6033
+ await U.handlePaletteChange(e);
6034
+ }, [U]), Fe = G((e) => {
6035
+ W.current.openFilterConfig(e);
6036
+ }, []), Ie = G(async (e) => {
6037
+ await U.saveFilterConfig(e);
6038
+ }, [U]), Le = G((e, t) => {
6039
+ te.current[e] = t;
6040
+ }, []), Re = G((e, t) => {
6043
6041
  ne.current[e] = t;
6044
6042
  }, []), ze = J(() => ({
6045
6043
  RefreshIcon: or,
@@ -6047,13 +6045,13 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6047
6045
  DeleteIcon: lr,
6048
6046
  CopyIcon: dr,
6049
6047
  FilterIcon: fr
6050
- }), []), Be = K(async (e, t) => {
6051
- await G.current.toggleFilterForPortlet(e, t);
6052
- }, []), Ve = K((e) => {
6053
- W.selectFilter(e);
6054
- }, [W]), He = K(async (e) => {
6055
- await W.selectAllForFilter(e);
6056
- }, [W]), Ue = J(() => ({
6048
+ }), []), Be = G(async (e, t) => {
6049
+ await W.current.toggleFilterForPortlet(e, t);
6050
+ }, []), Ve = G((e) => {
6051
+ U.selectFilter(e);
6052
+ }, [U]), He = G(async (e) => {
6053
+ await U.selectAllForFilter(e);
6054
+ }, [U]), Ue = J(() => ({
6057
6055
  onToggleFilter: Be,
6058
6056
  onRefresh: De,
6059
6057
  onDuplicate: Ae,
@@ -6067,14 +6065,14 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6067
6065
  Ne,
6068
6066
  ke,
6069
6067
  Fe
6070
- ]), We = K((i, a, o) => /* @__PURE__ */ Q(Ft, {
6068
+ ]), We = G((i, a, o) => /* @__PURE__ */ Q(Ft, {
6071
6069
  portlet: i,
6072
6070
  editable: t,
6073
- layoutMode: U,
6071
+ layoutMode: H,
6074
6072
  dashboardFilters: n,
6075
6073
  configEagerLoad: e.eagerLoad,
6076
6074
  loadingComponent: r,
6077
- colorPalette: l,
6075
+ colorPalette: c,
6078
6076
  containerProps: a,
6079
6077
  headerProps: o,
6080
6078
  callbacks: Ue,
@@ -6083,11 +6081,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6083
6081
  icons: ze
6084
6082
  }), [
6085
6083
  t,
6086
- U,
6084
+ H,
6087
6085
  n,
6088
6086
  e.eagerLoad,
6089
6087
  r,
6090
- l,
6088
+ c,
6091
6089
  Ue,
6092
6090
  Le,
6093
6091
  Re,
@@ -6141,21 +6139,21 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6141
6139
  })
6142
6140
  }),
6143
6141
  /* @__PURE__ */ Q(Xt, {
6144
- isOpen: oe,
6145
- onClose: W.closePortletModal,
6142
+ isOpen: se,
6143
+ onClose: U.closePortletModal,
6146
6144
  onSave: Oe,
6147
- portlet: N,
6148
- title: N ? "Edit Portlet" : "Add New Portlet",
6149
- submitText: N ? "Update Portlet" : "Add Portlet",
6150
- colorPalette: l,
6145
+ portlet: M,
6146
+ title: M ? "Edit Portlet" : "Add New Portlet",
6147
+ submitText: M ? "Update Portlet" : "Add Portlet",
6148
+ colorPalette: c,
6151
6149
  dashboardFilters: n
6152
6150
  }),
6153
6151
  /* @__PURE__ */ Q(Qt, {
6154
- isOpen: se,
6155
- onClose: W.closeTextModal,
6152
+ isOpen: ce,
6153
+ onClose: U.closeTextModal,
6156
6154
  onSave: Oe,
6157
- portlet: P,
6158
- colorPalette: l,
6155
+ portlet: N,
6156
+ colorPalette: c,
6159
6157
  existingTitles: e.portlets.map((e) => e.title)
6160
6158
  })
6161
6159
  ] });
@@ -6167,9 +6165,9 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6167
6165
  h: e.h,
6168
6166
  minW: x.minW,
6169
6167
  minH: x.minH,
6170
- isDraggable: H,
6171
- isResizable: H,
6172
- ...H ? { resizeHandles: [
6168
+ isDraggable: V,
6169
+ isResizable: V,
6170
+ ...V ? { resizeHandles: [
6173
6171
  "s",
6174
6172
  "w",
6175
6173
  "e",
@@ -6179,14 +6177,14 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6179
6177
  "ne",
6180
6178
  "nw"
6181
6179
  ] } : {}
6182
- })), Ke = U === "rows" ? /* @__PURE__ */ Q(Lt, {
6183
- rows: de,
6180
+ })), Ke = H === "rows" ? /* @__PURE__ */ Q(Lt, {
6181
+ rows: fe,
6184
6182
  portlets: e.portlets,
6185
6183
  gridSettings: x,
6186
6184
  gridWidth: O,
6187
- canEdit: H,
6188
- isDragging: B,
6189
- onRowResize: ye,
6185
+ canEdit: V,
6186
+ isDragging: z,
6187
+ onRowResize: K,
6190
6188
  onColumnResize: be,
6191
6189
  onPortletDragStart: xe,
6192
6190
  onPortletDragEnd: we,
@@ -6196,9 +6194,9 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6196
6194
  }) : /* @__PURE__ */ Q(Se, {
6197
6195
  className: "layout",
6198
6196
  layout: Ge,
6199
- onLayoutChange: ge,
6200
- onDragStop: _e,
6201
- onResizeStop: ve,
6197
+ onLayoutChange: _e,
6198
+ onDragStop: ve,
6199
+ onResizeStop: ye,
6202
6200
  width: O,
6203
6201
  gridConfig: {
6204
6202
  cols: x.cols,
@@ -6207,11 +6205,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6207
6205
  containerPadding: [0, 0]
6208
6206
  },
6209
6207
  dragConfig: {
6210
- enabled: H,
6208
+ enabled: V,
6211
6209
  handle: ".portlet-drag-handle"
6212
6210
  },
6213
6211
  resizeConfig: {
6214
- enabled: H,
6212
+ enabled: V,
6215
6213
  handles: [
6216
6214
  "s",
6217
6215
  "w",
@@ -6231,7 +6229,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6231
6229
  compactor: Ce,
6232
6230
  children: e.portlets.filter((e) => e && e.id).map((e) => /* @__PURE__ */ Q("div", { children: We(e) }, e.id))
6233
6231
  });
6234
- return /* @__PURE__ */ Q(te, {
6232
+ return /* @__PURE__ */ Q(ie, {
6235
6233
  value: S,
6236
6234
  children: /* @__PURE__ */ $("div", {
6237
6235
  ref: ee,
@@ -6243,32 +6241,32 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6243
6241
  children: [
6244
6242
  t && p.editToolbar !== "floating" && /* @__PURE__ */ $("div", {
6245
6243
  ref: E,
6246
- className: `dc:mb-4 dc:flex dc:justify-between dc:items-center dc:sticky dc:top-0 dc:z-10 dc:px-4 dc:py-4 bg-dc-surface-tertiary dc:border border-dc-border dc:rounded-lg dc:transition-all dc:duration-200 ${me ? "dc:border-b" : ""}`,
6247
- style: { boxShadow: me ? "var(--dc-shadow-md)" : "var(--dc-shadow-sm)" },
6244
+ className: `dc:mb-4 dc:flex dc:justify-between dc:items-center dc:sticky dc:top-0 dc:z-10 dc:px-4 dc:py-4 bg-dc-surface-tertiary dc:border border-dc-border dc:rounded-lg dc:transition-all dc:duration-200 ${he ? "dc:border-b" : ""}`,
6245
+ style: { boxShadow: he ? "var(--dc-shadow-md)" : "var(--dc-shadow-sm)" },
6248
6246
  children: [/* @__PURE__ */ $("div", {
6249
6247
  className: "dc:flex dc:items-center dc:gap-4",
6250
6248
  children: [
6251
6249
  /* @__PURE__ */ $("button", {
6252
- onClick: () => v && W.toggleEditMode(),
6250
+ onClick: () => v && U.toggleEditMode(),
6253
6251
  disabled: !v,
6254
- className: `dc:inline-flex dc:items-center dc:px-4 dc:py-2 dc:text-sm dc:font-medium dc:rounded-md dc:transition-colors focus:outline-hidden dc:focus:ring-2 dc:focus:ring-offset-2 ${v ? j ? "bg-dc-surface-secondary dc:border border-dc-border hover:bg-dc-surface-hover" : "bg-dc-surface dc:border border-dc-border hover:bg-dc-surface-hover" : "dc:opacity-50 dc:cursor-not-allowed bg-dc-surface-secondary dc:border border-dc-border"}`,
6252
+ className: `dc:inline-flex dc:items-center dc:px-4 dc:py-2 dc:text-sm dc:font-medium dc:rounded-md dc:transition-colors focus:outline-hidden dc:focus:ring-2 dc:focus:ring-offset-2 ${v ? A ? "bg-dc-surface-secondary dc:border border-dc-border hover:bg-dc-surface-hover" : "bg-dc-surface dc:border border-dc-border hover:bg-dc-surface-hover" : "dc:opacity-50 dc:cursor-not-allowed bg-dc-surface-secondary dc:border border-dc-border"}`,
6255
6253
  style: {
6256
6254
  color: v ? "var(--dc-primary)" : "var(--dc-text-muted)",
6257
- borderColor: v ? j ? "var(--dc-border)" : "var(--dc-primary)" : "var(--dc-border)"
6255
+ borderColor: v ? A ? "var(--dc-border)" : "var(--dc-primary)" : "var(--dc-border)"
6258
6256
  },
6259
- children: [Q(j ? cr : sr, { className: "dc:w-4 dc:h-4 dc:mr-1.5" }), j ? "Finish Editing" : "Edit"]
6257
+ children: [Q(A ? cr : sr, { className: "dc:w-4 dc:h-4 dc:mr-1.5" }), A ? "Finish Editing" : "Edit"]
6260
6258
  }),
6261
- j && b.length > 1 && /* @__PURE__ */ $("div", {
6259
+ A && b.length > 1 && /* @__PURE__ */ $("div", {
6262
6260
  className: "dc:inline-flex dc:rounded-md dc:border border-dc-border dc:overflow-hidden dc:whitespace-nowrap",
6263
6261
  children: [/* @__PURE__ */ $("button", {
6264
- onClick: () => W.handleLayoutModeChange("grid"),
6265
- disabled: !le,
6266
- className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${U === "grid" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${le ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
6262
+ onClick: () => U.handleLayoutModeChange("grid"),
6263
+ disabled: !ue,
6264
+ className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${H === "grid" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${ue ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
6267
6265
  children: [/* @__PURE__ */ Q(mr, { className: "dc:w-4 dc:h-4 dc:shrink-0" }), "Grid"]
6268
6266
  }), /* @__PURE__ */ $("button", {
6269
- onClick: () => W.handleLayoutModeChange("rows"),
6270
- disabled: !le,
6271
- className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${U === "rows" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${le ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
6267
+ onClick: () => U.handleLayoutModeChange("rows"),
6268
+ disabled: !ue,
6269
+ className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${H === "rows" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${ue ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
6272
6270
  children: [/* @__PURE__ */ Q(hr, { className: "dc:w-4 dc:h-4 dc:shrink-0" }), "Rows"]
6273
6271
  })]
6274
6272
  }),
@@ -6276,15 +6274,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6276
6274
  className: "dc:flex dc:items-center dc:gap-2 dc:text-sm text-dc-text-secondary",
6277
6275
  children: [/* @__PURE__ */ Q(pr, { className: "dc:w-4 dc:h-4" }), /* @__PURE__ */ Q("span", { children: "Desktop view required for editing" })]
6278
6276
  }),
6279
- j && v && /* @__PURE__ */ Q("p", {
6277
+ A && v && /* @__PURE__ */ Q("p", {
6280
6278
  className: "dc:hidden dc:md:block dc:text-sm text-dc-text-secondary",
6281
6279
  children: "Drag • Resize • Auto-save"
6282
6280
  })
6283
6281
  ]
6284
- }), j && /* @__PURE__ */ $("div", {
6282
+ }), A && /* @__PURE__ */ $("div", {
6285
6283
  className: "dc:flex dc:items-center dc:gap-3",
6286
6284
  children: [
6287
- /* @__PURE__ */ Q(z, {
6285
+ /* @__PURE__ */ Q(R, {
6288
6286
  currentPalette: e.colorPalette,
6289
6287
  onPaletteChange: Pe,
6290
6288
  className: "dc:shrink-0"
@@ -6311,23 +6309,23 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6311
6309
  })]
6312
6310
  }),
6313
6311
  t && p.editToolbar !== "top" && g === "desktop" && /* @__PURE__ */ Q(Gt, {
6314
- isEditBarVisible: p.editToolbar === "floating" ? !1 : he,
6312
+ isEditBarVisible: p.editToolbar === "floating" ? !1 : ge,
6315
6313
  position: p.floatingToolbarPosition || "right",
6316
- isEditMode: j,
6317
- onEditModeToggle: () => v && W.toggleEditMode(),
6318
- layoutMode: U,
6319
- onLayoutModeChange: W.handleLayoutModeChange,
6314
+ isEditMode: A,
6315
+ onEditModeToggle: () => v && U.toggleEditMode(),
6316
+ layoutMode: H,
6317
+ onLayoutModeChange: U.handleLayoutModeChange,
6320
6318
  allowedModes: b,
6321
- canChangeLayoutMode: le,
6319
+ canChangeLayoutMode: ue,
6322
6320
  currentPalette: e.colorPalette || "default",
6323
- onPaletteChange: W.handlePaletteChange,
6324
- onAddPortlet: W.openAddPortlet,
6325
- onAddText: W.openAddText
6321
+ onPaletteChange: U.handlePaletteChange,
6322
+ onAddPortlet: U.openAddPortlet,
6323
+ onAddText: U.openAddText
6326
6324
  }),
6327
6325
  /* @__PURE__ */ Q(Hn, {
6328
6326
  dashboardFilters: n || [],
6329
6327
  editable: t,
6330
- schema: u || null,
6328
+ schema: l || null,
6331
6329
  dashboardConfig: e,
6332
6330
  onDashboardFiltersChange: d || (() => {}),
6333
6331
  onSaveFilters: o ? async (t) => {
@@ -6336,11 +6334,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6336
6334
  filters: t
6337
6335
  });
6338
6336
  } : void 0,
6339
- selectedFilterId: ae,
6337
+ selectedFilterId: oe,
6340
6338
  onFilterSelect: Ve,
6341
- isEditMode: j
6339
+ isEditMode: A
6342
6340
  }),
6343
- ae && ue && /* @__PURE__ */ Q("div", {
6341
+ oe && de && /* @__PURE__ */ Q("div", {
6344
6342
  className: "dc:mb-4 dc:px-4 dc:py-3 dc:rounded-md dc:border-2 dc:transition-all",
6345
6343
  style: {
6346
6344
  backgroundColor: "var(--dc-primary)",
@@ -6357,7 +6355,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6357
6355
  className: "dc:font-medium",
6358
6356
  children: [
6359
6357
  "Filter Selection Mode - Click portlets to toggle '",
6360
- ue.label,
6358
+ de.label,
6361
6359
  "'"
6362
6360
  ]
6363
6361
  }),
@@ -6369,7 +6367,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6369
6367
  }), /* @__PURE__ */ $("div", {
6370
6368
  className: "dc:flex dc:items-center dc:gap-2",
6371
6369
  children: [/* @__PURE__ */ Q("button", {
6372
- onClick: () => He(ae),
6370
+ onClick: () => He(oe),
6373
6371
  className: "dc:px-3 dc:py-1 dc:rounded-md dc:transition-colors dc:text-sm dc:font-medium",
6374
6372
  style: {
6375
6373
  backgroundColor: "rgba(255, 255, 255, 0.2)",
@@ -6379,7 +6377,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6379
6377
  onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "rgba(255, 255, 255, 0.2)",
6380
6378
  children: "Select All"
6381
6379
  }), /* @__PURE__ */ Q("button", {
6382
- onClick: () => W.exitFilterSelectionMode(),
6380
+ onClick: () => U.exitFilterSelectionMode(),
6383
6381
  className: "dc:px-3 dc:py-1 dc:rounded-md dc:transition-colors dc:text-sm dc:font-medium",
6384
6382
  style: {
6385
6383
  backgroundColor: "rgba(255, 255, 255, 0.2)",
@@ -6396,7 +6394,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6396
6394
  ref: D,
6397
6395
  children: g === "mobile" ? /* @__PURE__ */ Q(Kn, {
6398
6396
  config: e,
6399
- colorPalette: l,
6397
+ colorPalette: c,
6400
6398
  dashboardFilters: n,
6401
6399
  onPortletRefresh: De
6402
6400
  }) : g === "scaled" ? /* @__PURE__ */ Q(Un, {
@@ -6406,40 +6404,40 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6406
6404
  }) : Ke
6407
6405
  }),
6408
6406
  /* @__PURE__ */ Q(Xt, {
6409
- isOpen: oe,
6410
- onClose: W.closePortletModal,
6407
+ isOpen: se,
6408
+ onClose: U.closePortletModal,
6411
6409
  onSave: Oe,
6412
- portlet: N,
6413
- title: N ? "Edit Portlet" : "Add New Portlet",
6414
- submitText: N ? "Update Portlet" : "Add Portlet",
6415
- colorPalette: l,
6410
+ portlet: M,
6411
+ title: M ? "Edit Portlet" : "Add New Portlet",
6412
+ submitText: M ? "Update Portlet" : "Add Portlet",
6413
+ colorPalette: c,
6416
6414
  dashboardFilters: n
6417
6415
  }),
6418
6416
  /* @__PURE__ */ Q(Qt, {
6419
- isOpen: se,
6420
- onClose: W.closeTextModal,
6417
+ isOpen: ce,
6418
+ onClose: U.closeTextModal,
6421
6419
  onSave: Oe,
6422
- portlet: P,
6423
- colorPalette: l,
6420
+ portlet: N,
6421
+ colorPalette: c,
6424
6422
  existingTitles: e.portlets.map((e) => e.title)
6425
6423
  }),
6426
6424
  /* @__PURE__ */ Q($t, {
6427
- isOpen: F,
6428
- onClose: W.closeFilterConfig,
6425
+ isOpen: P,
6426
+ onClose: U.closeFilterConfig,
6429
6427
  dashboardFilters: n || [],
6430
- currentMapping: I?.dashboardFilterMapping || [],
6428
+ currentMapping: F?.dashboardFilterMapping || [],
6431
6429
  onSave: Ie,
6432
- portletTitle: I?.title || ""
6430
+ portletTitle: F?.title || ""
6433
6431
  }),
6434
- /* @__PURE__ */ Q(ce, {
6435
- isOpen: !!L,
6436
- onClose: W.closeDeleteConfirm,
6437
- onConfirm: W.confirmDelete,
6432
+ /* @__PURE__ */ Q(le, {
6433
+ isOpen: !!I,
6434
+ onClose: U.closeDeleteConfirm,
6435
+ onConfirm: U.confirmDelete,
6438
6436
  title: "Delete Portlet",
6439
6437
  message: /* @__PURE__ */ $(Z, { children: [
6440
6438
  "Are you sure you want to delete",
6441
6439
  " ",
6442
- /* @__PURE__ */ Q("strong", { children: e.portlets.find((e) => e.id === L)?.title || "this portlet" }),
6440
+ /* @__PURE__ */ Q("strong", { children: e.portlets.find((e) => e.id === I)?.title || "this portlet" }),
6443
6441
  "? This action cannot be undone."
6444
6442
  ] }),
6445
6443
  confirmText: "Delete",
@@ -6451,12 +6449,12 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6451
6449
  }
6452
6450
  //#endregion
6453
6451
  //#region src/client/components/AnalyticsDashboard.tsx
6454
- function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onSave: a, onSaveThumbnail: o, onDirtyStateChange: c }) {
6455
- let { meta: l } = k(), { dashboardModes: u } = s(), { handleConfigChange: d, handleSave: f } = W({
6452
+ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onSave: a, onSaveThumbnail: o, onDirtyStateChange: s }) {
6453
+ let { meta: c } = k(), { dashboardModes: l } = u(), { handleConfigChange: d, handleSave: f } = U({
6456
6454
  initialConfig: e,
6457
6455
  onConfigChange: i,
6458
6456
  onSave: a,
6459
- onDirtyStateChange: c
6457
+ onDirtyStateChange: s
6460
6458
  }), p = J(() => {
6461
6459
  let t = e.filters || [], r = n || [];
6462
6460
  if (r.length === 0) return t;
@@ -6469,7 +6467,7 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6469
6467
  } : e;
6470
6468
  }), a = new Set(t.map((e) => e.id)), o = r.filter((e) => !a.has(e.id));
6471
6469
  return [...i, ...o];
6472
- }, [e.filters, n]), m = K((t) => {
6470
+ }, [e.filters, n]), m = G((t) => {
6473
6471
  !n || n.length === 0 ? d({
6474
6472
  ...e,
6475
6473
  filters: t
@@ -6491,10 +6489,10 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6491
6489
  onSaveThumbnail: o,
6492
6490
  colorPalette: J(() => {
6493
6491
  let t = e.colorPalette;
6494
- return F(t);
6492
+ return P(t);
6495
6493
  }, [e.colorPalette]),
6496
- schema: l,
6497
- dashboardModes: u,
6494
+ schema: c,
6495
+ dashboardModes: l,
6498
6496
  onDashboardFiltersChange: m
6499
6497
  })
6500
6498
  }) });
@@ -6502,7 +6500,7 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
6502
6500
  //#endregion
6503
6501
  //#region src/client/components/PortletContainer.tsx
6504
6502
  function Tr({ portlet: e, editable: t = !1, onEdit: n, onDelete: r, onRefresh: i }) {
6505
- let { analysisConfig: a } = J(() => M(e), [e]), o = a.charts[a.analysisType], s = J(() => JSON.stringify(a.query), [a.query]), c = o?.chartType || "line", l = o?.chartConfig, u = o?.displayConfig, [d, f] = X(null), p = K((e) => {
6503
+ let { analysisConfig: a } = J(() => j(e), [e]), o = a.charts[a.analysisType], s = J(() => JSON.stringify(a.query), [a.query]), c = o?.chartType || "line", l = o?.chartConfig, u = o?.displayConfig, [d, f] = X(null), p = G((e) => {
6506
6504
  f(e);
6507
6505
  }, []);
6508
6506
  return /* @__PURE__ */ $("div", {
@@ -6622,7 +6620,7 @@ function Er({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
6622
6620
  }, m = () => {
6623
6621
  c(""), u(""), f(!1), t();
6624
6622
  };
6625
- return /* @__PURE__ */ Q(V, {
6623
+ return /* @__PURE__ */ Q(B, {
6626
6624
  isOpen: e,
6627
6625
  onClose: m,
6628
6626
  title: r,
@@ -6675,4 +6673,4 @@ function Er({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
6675
6673
  //#endregion
6676
6674
  export { tt as A, yt as C, it as D, at as E, Pe as M, Te as N, nt as O, vt as S, ot as T, Et as _, ir as a, kt as b, gt as c, Ct as d, Ot as f, St as g, Dt as h, Cr as i, ze as j, rt as k, ft as l, bt as m, Tr as n, Xt as o, Tt as p, wr as r, Yt as s, Er as t, At as u, xt as v, ct as w, _t as x, wt as y };
6677
6675
 
6678
- //# sourceMappingURL=DashboardEditModal-iGhIvNP6.js.map
6676
+ //# sourceMappingURL=DashboardEditModal-4zzjtZRR.js.map