react-semaphor 0.1.507 → 0.1.509

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 (254) hide show
  1. package/DATA_APP_SDK.md +56 -0
  2. package/dist/analytics-protocol/index.cjs +1 -1
  3. package/dist/analytics-protocol/index.js +194 -172
  4. package/dist/appearance/index.cjs +1 -1
  5. package/dist/appearance/index.js +1 -1
  6. package/dist/appearance-runtime/index.cjs +1 -1
  7. package/dist/appearance-runtime/index.js +1 -1
  8. package/dist/brand-studio/index.cjs +2 -2
  9. package/dist/brand-studio/index.js +279 -250
  10. package/dist/briefings/index.cjs +1 -1
  11. package/dist/briefings/index.js +3 -3
  12. package/dist/chunks/appearance-context-DzqCdhB4.cjs +1 -0
  13. package/dist/chunks/{appearance-context-XviHOhWJ.js → appearance-context-VJdrKi7r.js} +2 -1
  14. package/dist/chunks/{appearance-runtime-provider-D0xVQWnH.js → appearance-runtime-provider-CC4HT2Gi.js} +2 -2
  15. package/dist/chunks/{appearance-runtime-provider-Ca8rxO86.cjs → appearance-runtime-provider-D5pkvgE4.cjs} +1 -1
  16. package/dist/chunks/calculated-field-identity-BiTGmnST.cjs +1 -0
  17. package/dist/chunks/calculated-field-identity-CJL54uFx.js +1373 -0
  18. package/dist/chunks/{constants-NUleP4DY.js → card-config-utils-Bq1enstT.js} +260 -260
  19. package/dist/chunks/card-config-utils-CMO4_zVs.cjs +1 -0
  20. package/dist/chunks/{dashboard-briefing-launcher-DXTpU85p.js → dashboard-briefing-launcher-B5AQu-Vb.js} +12 -12
  21. package/dist/chunks/{dashboard-briefing-launcher-C8nDSDnV.cjs → dashboard-briefing-launcher-BoXFrqq0.cjs} +1 -1
  22. package/dist/chunks/{dashboard-controls-CyL0yimg.js → dashboard-controls-CKKkSXEX.js} +16 -14
  23. package/dist/chunks/dashboard-controls-gUVkQm8o.cjs +52 -0
  24. package/dist/chunks/dashboard-json-B7fSi6_b.cjs +1 -0
  25. package/dist/chunks/{dashboard-json-5Jr3RudV.js → dashboard-json-CAJJquVx.js} +9 -9
  26. package/dist/chunks/edit-dashboard-visual-AZetLUv1.cjs +172 -0
  27. package/dist/chunks/{edit-dashboard-visual-C7X-um9g.js → edit-dashboard-visual-DCnbqRRn.js} +1986 -1990
  28. package/dist/chunks/{editor-action-buttons-CcDm8nA5.cjs → editor-action-buttons-CBQsVYdt.cjs} +2 -2
  29. package/dist/chunks/{editor-action-buttons-C5Wja_J4.js → editor-action-buttons-DDA5JGwO.js} +6 -6
  30. package/dist/chunks/field-aggregations-DUb0NU6c.js +1229 -0
  31. package/dist/chunks/field-aggregations-jSi77h9Z.cjs +1 -0
  32. package/dist/chunks/{field-dependencies-DVl2p1Nm.js → field-dependencies-Cl97kkHy.js} +30 -34
  33. package/dist/chunks/{field-dependencies-r_U0CGQ-.cjs → field-dependencies-DIab72rQ.cjs} +1 -1
  34. package/dist/chunks/{index-BVr4fcCB.js → index-0pdaQ9e1.js} +5 -5
  35. package/dist/chunks/{index-De2QNsqV.js → index-CL2lvhwk.js} +47783 -46019
  36. package/dist/chunks/{index-C9KXfCkC.js → index-CLIro-EG.js} +3 -0
  37. package/dist/chunks/index-Cx3qmRUB.cjs +1 -0
  38. package/dist/chunks/{index-BlYf8gNa.cjs → index-DhlVxvyI.cjs} +1 -1
  39. package/dist/chunks/index-DkEAikW8.cjs +1420 -0
  40. package/dist/chunks/{matrix-card-DACDwdTq.js → matrix-card-CnKQpnsj.js} +1 -1
  41. package/dist/chunks/{matrix-card-CRXcmAjp.cjs → matrix-card-U4c72doZ.cjs} +1 -1
  42. package/dist/chunks/{matrix-control-sources-ClQzIk7E.js → matrix-control-sources-CRRdP03Q.js} +165 -134
  43. package/dist/chunks/matrix-control-sources-FjxGIbqk.cjs +1 -0
  44. package/dist/chunks/{matrix-formatter-7GLTcBuy.cjs → matrix-formatter-CveLJo6S.cjs} +1 -1
  45. package/dist/chunks/{matrix-formatter-xsq7n_e6.js → matrix-formatter-ZVS5QOuq.js} +2 -2
  46. package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +1 -0
  47. package/dist/chunks/matrix-member-presentation-CzGZJd3a.js +182 -0
  48. package/dist/chunks/matrix-operation-contract-DoiWTUbT.cjs +1 -0
  49. package/dist/chunks/matrix-operation-contract-xL8IhFzp.js +1802 -0
  50. package/dist/chunks/{pivot-header-presentation-3wqWChFd.cjs → pivot-header-presentation-Cxz8-06f.cjs} +1 -1
  51. package/dist/chunks/{pivot-header-presentation-D44ODZGn.js → pivot-header-presentation-DVylCBHB.js} +2 -2
  52. package/dist/chunks/{pivot-result-lifecycle-DZ0ZSMoM.cjs → pivot-result-lifecycle-BiERyXnS.cjs} +1 -1
  53. package/dist/chunks/{pivot-result-lifecycle-BSmqVkVG.js → pivot-result-lifecycle-CmjpW7qG.js} +1 -1
  54. package/dist/chunks/{report-preferences-dialog-xADifRXs.js → report-preferences-dialog-Bv2VIOKc.js} +4 -4
  55. package/dist/chunks/report-preferences-dialog-Wg9g9fIj.cjs +1 -0
  56. package/dist/chunks/{search-BHsQIWBV.js → selection-reducer-B94WgZ9V.js} +55 -11
  57. package/dist/chunks/selection-reducer-CGKKsaPa.cjs +26 -0
  58. package/dist/chunks/{semantic-format-BhIL1PXP.cjs → semantic-format-BzH69TRq.cjs} +1 -1
  59. package/dist/chunks/{semantic-format-C3amkGmY.js → semantic-format-CBlRO8Aw.js} +1 -1
  60. package/dist/chunks/{switch-DHGiC0aU.js → switch-CD4uGTZI.js} +7450 -7694
  61. package/dist/chunks/switch-iC1x2dcE.cjs +134 -0
  62. package/dist/chunks/token-types-Ahh5u4iT.cjs +1 -0
  63. package/dist/chunks/token-types-CPde8_LG.js +8 -0
  64. package/dist/chunks/{update-policy-Cc9h57pA.cjs → update-policy-COjFudhl.cjs} +1 -1
  65. package/dist/chunks/{update-policy-eTcz52jO.js → update-policy-D9q1Tz8k.js} +1 -1
  66. package/dist/dashboard/index.cjs +1 -1
  67. package/dist/dashboard/index.js +1 -1
  68. package/dist/dashboard-authoring/index.cjs +3 -3
  69. package/dist/dashboard-authoring/index.js +734 -622
  70. package/dist/data-app-builder/index.cjs +1 -1
  71. package/dist/data-app-builder/index.js +3 -3
  72. package/dist/data-app-codegen/index.cjs +1 -1
  73. package/dist/data-app-codegen/index.js +2 -2
  74. package/dist/data-app-codegen-node/index.cjs +94 -92
  75. package/dist/data-app-codegen-node/index.js +337 -333
  76. package/dist/data-app-sdk/index.cjs +9 -9
  77. package/dist/data-app-sdk/index.js +1091 -969
  78. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  79. package/dist/data-app-sdk-adapters/index.js +104 -96
  80. package/dist/data-app-sdk-validation/index.cjs +1 -1
  81. package/dist/data-app-sdk-validation/index.js +2 -2
  82. package/dist/format-utils/index.cjs +1 -1
  83. package/dist/format-utils/index.js +8 -8
  84. package/dist/index.cjs +1 -1
  85. package/dist/index.js +15 -15
  86. package/dist/style.css +1 -1
  87. package/dist/surfboard/index.cjs +1 -1
  88. package/dist/surfboard/index.js +2 -2
  89. package/dist/types/brand-studio/brand-studio-draft.d.ts +3 -1
  90. package/dist/types/components/dashboard/card-selection-pill.d.ts +5 -0
  91. package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
  92. package/dist/types/components/dashboard/drill-breadcrumb.d.ts +1 -0
  93. package/dist/types/components/dashboard/drill-navigation-controls.d.ts +3 -3
  94. package/dist/types/components/interactions/applied-filters-display.d.ts +6 -1
  95. package/dist/types/components/interactions/click-to-filter-review-dialog.d.ts +21 -0
  96. package/dist/types/components/interactions/dashboard-drill-host.d.ts +13 -0
  97. package/dist/types/components/interactions/filter-badge-tooltip.d.ts +4 -4
  98. package/dist/types/components/interactions/insight-modal.d.ts +4 -14
  99. package/dist/types/components/interactions/insight-viewer.d.ts +7 -19
  100. package/dist/types/components/interactions/interactions-sheet.d.ts +6 -0
  101. package/dist/types/components/interactions/panels/click-to-filter-panel.d.ts +20 -0
  102. package/dist/types/components/interactions/reusable/interaction-selection-popover.d.ts +2 -2
  103. package/dist/types/components/interactions/sheet/action-editor.d.ts +17 -0
  104. package/dist/types/components/interactions/sheet/action-meta.d.ts +45 -0
  105. package/dist/types/components/interactions/sheet/action-picker.d.ts +7 -0
  106. package/dist/types/components/interactions/sheet/click-outcome-preview.d.ts +10 -0
  107. package/dist/types/components/interactions/sheet/interactions-home.d.ts +28 -0
  108. package/dist/types/components/interactions/sheet/sheet-parts.d.ts +37 -0
  109. package/dist/types/components/surfboard/filter/dashboard-filter-mapping-panel.d.ts +28 -1
  110. package/dist/types/components/surfboard/filter/selection-chip.d.ts +11 -0
  111. package/dist/types/components/surfboard/filter/selection-filter-section.d.ts +4 -0
  112. package/dist/types/components/surfboard/filter/use-dashboard-filter-mapping-popover.d.ts +3 -0
  113. package/dist/types/components/ui/resizable.d.ts +1 -1
  114. package/dist/types/components/visual/matrix-table/matrix-interaction-actions.d.ts +24 -3
  115. package/dist/types/components/visual/matrix-table/matrix-selection-click.d.ts +6 -0
  116. package/dist/types/components/visual/matrix-table/matrix-window-viewer.d.ts +1 -1
  117. package/dist/types/data-app-sdk/adapters.d.ts +3 -2
  118. package/dist/types/data-app-sdk/builders.d.ts +2 -1
  119. package/dist/types/data-app-sdk/contracts.d.ts +44 -2
  120. package/dist/types/data-app-sdk/index.d.ts +1 -0
  121. package/dist/types/data-app-sdk/query-request.d.ts +7 -2
  122. package/dist/types/data-app-sdk/selection.d.ts +2 -0
  123. package/dist/types/index.cjs +1 -1
  124. package/dist/types/index.js +24 -23
  125. package/dist/types/lib/appearance/types.d.ts +3 -1
  126. package/dist/types/lib/briefings/briefing-attachment-model.d.ts +0 -2
  127. package/dist/types/lib/contexts/interactions-popover-context.d.ts +1 -8
  128. package/dist/types/lib/dashboard/click-to-filter-card-references.d.ts +23 -0
  129. package/dist/types/lib/dashboard-inputs/build-normalized-dashboard-inputs.d.ts +16 -2
  130. package/dist/types/lib/dashboard-inputs/build-selection-dashboard-inputs.d.ts +31 -0
  131. package/dist/types/lib/dashboard-inputs/click-to-filter-emitted-fields.d.ts +17 -0
  132. package/dist/types/lib/dashboard-inputs/click-to-filter-mapping-draft.d.ts +99 -0
  133. package/dist/types/lib/dashboard-inputs/click-to-filter-sheet-reach.d.ts +12 -0
  134. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-authoring.d.ts +18 -1
  135. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-candidate-metadata.d.ts +4 -1
  136. package/dist/types/lib/dashboard-inputs/dashboard-input-scope.d.ts +10 -0
  137. package/dist/types/lib/dashboard-inputs/dashboard-input-snapshot.d.ts +8 -1
  138. package/dist/types/lib/dashboard-inputs/index.d.ts +1 -0
  139. package/dist/types/lib/dashboard-inputs/resolve-dashboard-input-context.d.ts +18 -7
  140. package/dist/types/lib/dashboard-inputs/resolve-field-date-comparison-coverage.d.ts +5 -2
  141. package/dist/types/lib/dashboard-inputs/resolve-selection-input.d.ts +77 -0
  142. package/dist/types/lib/dashboard-inputs/selection-targets.d.ts +26 -0
  143. package/dist/types/lib/dashboard-inputs/transient-input-context.d.ts +102 -0
  144. package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +50 -0
  145. package/dist/types/lib/dashboard-navigation/describe-carried-context.d.ts +11 -0
  146. package/dist/types/lib/dashboard-navigation/index.d.ts +1 -0
  147. package/dist/types/lib/dashboard-navigation/navigation-state.d.ts +120 -0
  148. package/dist/types/lib/dashboard-navigation/run-one-off-drill.d.ts +11 -0
  149. package/dist/types/lib/dashboard-navigation/use-transient-contexts.d.ts +17 -0
  150. package/dist/types/lib/dashboard-view-state/card-view-state.d.ts +48 -0
  151. package/dist/types/lib/dashboard-view-state/drill-path.d.ts +20 -0
  152. package/dist/types/lib/dashboard-view-state/index.d.ts +2 -0
  153. package/dist/types/lib/download-pdf.d.ts +0 -3
  154. package/dist/types/lib/formatters/metric-formatting.d.ts +1 -1
  155. package/dist/types/lib/hooks/ai/dashboard-context.d.ts +15 -8
  156. package/dist/types/lib/hooks/chartjs/use-chart-blur.d.ts +10 -2
  157. package/dist/types/lib/hooks/interactions/{use-event-engine.d.ts → use-drill-actions.d.ts} +28 -7
  158. package/dist/types/lib/hooks/selection/use-active-selections.d.ts +15 -0
  159. package/dist/types/lib/hooks/selection/use-click-to-filter-mapping-draft.d.ts +20 -0
  160. package/dist/types/lib/hooks/selection/use-selection-click.d.ts +34 -0
  161. package/dist/types/lib/hooks/selection/use-selection-gestures.d.ts +38 -0
  162. package/dist/types/lib/hooks/selection/use-table-row-selection.d.ts +46 -0
  163. package/dist/types/lib/hooks/use-dashboard-card.d.ts +0 -2
  164. package/dist/types/lib/hooks/use-dashboard-filter-mapping-candidates.d.ts +18 -0
  165. package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +0 -1
  166. package/dist/types/lib/hooks/use-dashboard.d.ts +1 -3
  167. package/dist/types/lib/hooks/use-interactions-popover.d.ts +1 -8
  168. package/dist/types/lib/hooks/use-resolved-card-config.d.ts +6 -0
  169. package/dist/types/lib/interactions/click-outcome.d.ts +25 -0
  170. package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +3 -1
  171. package/dist/types/lib/interactions/get-click-context-from-matrix.d.ts +1 -1
  172. package/dist/types/lib/interactions/get-click-context-from-table.d.ts +7 -0
  173. package/dist/types/lib/interactions/interaction-utils.d.ts +17 -1
  174. package/dist/types/lib/matrix-table/build-matrix-drill-to-detail.d.ts +15 -0
  175. package/dist/types/lib/matrix-table/matrix-card-interactions.d.ts +14 -3
  176. package/dist/types/lib/matrix-table/matrix-runtime-types.d.ts +0 -3
  177. package/dist/types/lib/matrix-table/matrix-runtime.d.ts +0 -4
  178. package/dist/types/lib/matrix-table/{use-matrix-selection.d.ts → use-matrix-cell-focus.d.ts} +13 -17
  179. package/dist/types/lib/matrix-table/use-matrix.d.ts +0 -1
  180. package/dist/types/lib/query-context/build-card-query-context.d.ts +19 -8
  181. package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +5 -3
  182. package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +12 -4
  183. package/dist/types/lib/query-context/compile-selection-filters.d.ts +5 -0
  184. package/dist/types/lib/query-context/dashboard-filter-mapping-resolution.d.ts +46 -0
  185. package/dist/types/lib/query-context/filter-group-utils.d.ts +3 -0
  186. package/dist/types/lib/query-context/resolve-runtime-card-filters.d.ts +29 -0
  187. package/dist/types/lib/selection/click-to-filter-authoring-support.d.ts +9 -0
  188. package/dist/types/lib/selection/selection-from-click-context.d.ts +41 -0
  189. package/dist/types/lib/selection/selection-labels.d.ts +3 -0
  190. package/dist/types/lib/selection/selection-notices.d.ts +9 -0
  191. package/dist/types/lib/selection/selection-reducer.d.ts +46 -0
  192. package/dist/types/lib/stores/dashboard-store.d.ts +62 -17
  193. package/dist/types/lib/stores/editor-store.d.ts +1 -2
  194. package/dist/types/lib/stores/index.d.ts +0 -2
  195. package/dist/types/lib/types/common-types.d.ts +60 -6
  196. package/dist/types/lib/types/explorer-types.d.ts +1 -22
  197. package/dist/types/lib/types/interaction-types.d.ts +6 -198
  198. package/dist/types/lib/utils/calculate-context-aware-filters.d.ts +21 -12
  199. package/dist/types/lib/utils/card-utils.d.ts +11 -0
  200. package/dist/types/lib/utils/date-hierarchy-utils.d.ts +3 -1
  201. package/dist/types/lib/utils/drag-and-drop-utils.d.ts +1 -1
  202. package/dist/types/lib/utils/interaction-icons.d.ts +1 -1
  203. package/dist/types/shared/analytics-protocol/execution-input-schemas.d.ts +32 -32
  204. package/dist/types/shared/analytics-protocol/index.d.ts +2 -0
  205. package/dist/types/shared/analytics-protocol/selection-contract.d.ts +100 -0
  206. package/dist/types/shared/analytics-protocol/selection-filter-compiler.d.ts +12 -0
  207. package/dist/types/shared/dashboard-authoring/apply-group-by-override.d.ts +19 -0
  208. package/dist/types/shared/dashboard-authoring/click-to-filter-settings.d.ts +88 -0
  209. package/dist/types/shared/dashboard-authoring/contracts.d.ts +8 -0
  210. package/dist/types/shared/dashboard-authoring/index.d.ts +3 -0
  211. package/dist/types/shared/dashboard-authoring/linked-click-to-filter-overrides.d.ts +32 -0
  212. package/dist/types/shared/format-utils/matrix-continuation.d.ts +3 -3
  213. package/package.json +1 -1
  214. package/src/data-app-sdk/README.md +58 -1
  215. package/dist/chunks/appearance-context-tNjvTJj3.cjs +0 -1
  216. package/dist/chunks/calculated-field-identity-BTpUqfEu.js +0 -1276
  217. package/dist/chunks/calculated-field-identity-rMuXuzEY.cjs +0 -1
  218. package/dist/chunks/constants-vtu7_IUo.cjs +0 -1
  219. package/dist/chunks/dashboard-controls-DlxeddZN.cjs +0 -52
  220. package/dist/chunks/dashboard-json-DhS4yJfc.cjs +0 -1
  221. package/dist/chunks/edit-dashboard-visual-X3OCnivL.cjs +0 -172
  222. package/dist/chunks/field-aggregations-BU_3gHKR.js +0 -957
  223. package/dist/chunks/field-aggregations-CDCamEsQ.cjs +0 -1
  224. package/dist/chunks/index-C8XCKzB6.cjs +0 -1
  225. package/dist/chunks/index-DSa6RSdg.cjs +0 -1417
  226. package/dist/chunks/matrix-control-sources-CeC5EMyq.cjs +0 -1
  227. package/dist/chunks/matrix-member-presentation-E2B4k3ws.cjs +0 -1
  228. package/dist/chunks/matrix-member-presentation-qiHxv67e.js +0 -105
  229. package/dist/chunks/matrix-operation-contract-Cqy4EW2H.js +0 -1638
  230. package/dist/chunks/matrix-operation-contract-D9dLX-Wr.cjs +0 -1
  231. package/dist/chunks/report-preferences-dialog-7Vsc_fsG.cjs +0 -1
  232. package/dist/chunks/search-BqqhaMx9.cjs +0 -26
  233. package/dist/chunks/switch-BytP6QY8.cjs +0 -139
  234. package/dist/types/components/interactions/configuration-popover.d.ts +0 -1
  235. package/dist/types/components/interactions/interaction-card.d.ts +0 -59
  236. package/dist/types/components/interactions/interaction-event-handler.d.ts +0 -11
  237. package/dist/types/components/interactions/interactions-list.d.ts +0 -50
  238. package/dist/types/components/interactions/panels/cross-filter-panel.d.ts +0 -24
  239. package/dist/types/components/interactions/panels/inline-drill-panel.d.ts +0 -24
  240. package/dist/types/components/interactions/selectors/action-selector.d.ts +0 -31
  241. package/dist/types/components/interactions/selectors/trigger-selector.d.ts +0 -38
  242. package/dist/types/components/surfboard/filter/click-filter-section.d.ts +0 -5
  243. package/dist/types/lib/interactions/build-interaction-event.d.ts +0 -25
  244. package/dist/types/lib/interactions/convert-click-filters-to-filter-group.d.ts +0 -10
  245. package/dist/types/lib/interactions/execute-interaction-event.d.ts +0 -80
  246. package/dist/types/lib/interactions/field-utils.d.ts +0 -11
  247. package/dist/types/lib/interactions/handle-chart-click.d.ts +0 -75
  248. package/dist/types/lib/interactions/linked-interaction-utils.d.ts +0 -14
  249. package/dist/types/lib/interactions/source-card-filter-utils.d.ts +0 -9
  250. package/dist/types/lib/matrix-table/matrix-clipboard.d.ts +0 -45
  251. package/dist/types/lib/matrix-table/matrix-selection.d.ts +0 -20
  252. package/dist/types/lib/stores/drill-actions.d.ts +0 -139
  253. package/dist/types/lib/stores/interaction-store.d.ts +0 -113
  254. package/dist/types/lib/stores/pointer-interaction-store.d.ts +0 -18
@@ -1,12 +1,12 @@
1
1
  import { ay as U, a4 as G, ak as L, a_ as T, t as j } from "./validators-BDYzZFgs.js";
2
- import { K as N } from "./matrix-operation-contract-Cqy4EW2H.js";
2
+ import { a4 as N } from "./matrix-operation-contract-xL8IhFzp.js";
3
3
  import "./matrix-continuation-C4sRcjZU.js";
4
4
  import "../value-format-preferences/index.js";
5
5
  import { v as A } from "./temporal-bucket-B9hMwemw.js";
6
- import { A as b, e as E } from "./field-aggregations-BU_3gHKR.js";
7
- import { b as W, g as V, a as K } from "./matrix-definition-RyU0cpLX.js";
8
- import { i as Q } from "./matrix-card-DACDwdTq.js";
9
- import { S as H, a as k } from "./color-CJvdlFM_.js";
6
+ import { A as b, f as E } from "./field-aggregations-DUb0NU6c.js";
7
+ import { S as W, a as k } from "./color-CJvdlFM_.js";
8
+ import { b as V, g as Q, a as H } from "./matrix-definition-RyU0cpLX.js";
9
+ import { i as K } from "./matrix-card-CnKQpnsj.js";
10
10
  let v;
11
11
  const $ = new Uint8Array(16);
12
12
  function z() {
@@ -173,211 +173,12 @@ function Me(e) {
173
173
  });
174
174
  }), a;
175
175
  }
176
- function R(e, t) {
177
- var n, i;
178
- if ((n = e.config) != null && n.matrix) return e.config.matrix;
179
- const a = ((i = e.dataSource) == null ? void 0 : i.selectedEntities) ?? [], r = t ?? (a.length === 1 ? E(a[0], e.dataSource) : void 0);
180
- if (!r) throw new Error("Select a base dataset before configuring Matrix fields or filters.");
181
- return W({ source: r, rows: [], columns: [], measures: [], sorts: [], rankings: [] });
182
- }
183
- function Be(e) {
184
- const { spec: t, window: a, queryContext: r, reportContext: n } = e;
185
- if (!e.cardId) throw new Error("Matrix query requires its card identity.");
186
- return {
187
- cardId: e.cardId,
188
- cardType: "matrixTable",
189
- cardConfig: { matrix: { spec: t } },
190
- matrixWindowRequest: a,
191
- ...N({ runtimeFilters: r.resolvedFilters, runtimeSorts: e.runtimeSorts }),
192
- active_filters: r.cardFilterValues,
193
- calendarContext: n.calendar,
194
- controlDefinitions: r.controlDefinitions,
195
- cardControlDefinitions: r.cardControlDefinitions,
196
- controlBindings: r.controlBindings,
197
- controlValues: r.controlValues
198
- };
199
- }
200
- function ae(e) {
201
- return (t, a) => {
202
- const r = e.filter((n) => n.field.name === t.name && !!n.field.source && T(n.field.source, t.source ?? a));
203
- return r.length === 1 ? r[0] : void 0;
204
- };
205
- }
206
- function P(e) {
207
- const t = ae(e);
208
- return (a, r) => {
209
- var n;
210
- return (n = t(a, r)) == null ? void 0 : n.resolvedField;
211
- };
212
- }
213
- function Ye(e) {
214
- const t = P(e);
215
- return (a, r) => a.derivedField ? void 0 : t(a, r);
216
- }
217
- function oe(e, t, a) {
218
- if (e.derivedField) return e.derivedField.dataType;
219
- const r = a.filter((i) => !i.derivedField && i.name === e.name && T(i.source ?? t, e.source ?? t));
220
- return r.length ? new Set(r.map((i) => i.dataType)).size === 1 ? r[0].dataType ?? e.dataType : void 0 : e.dataType;
221
- }
222
- function C(e, t, a) {
223
- var d;
224
- const r = (d = e.config) == null ? void 0 : d.matrix;
225
- if (!r) return [];
226
- const n = P(a), i = (o, u, p) => {
227
- const c = n(o, r.spec.source);
228
- return {
229
- ...c,
230
- source: o.source ?? r.spec.source,
231
- id: u,
232
- name: o.name,
233
- label: p,
234
- dataType: oe(
235
- o,
236
- r.spec.source,
237
- a.map((m) => m.field)
238
- ) ?? "unknown",
239
- qualifiedFieldName: (c == null ? void 0 : c.qualifiedFieldName) ?? o.name,
240
- entityId: (c == null ? void 0 : c.entityId) ?? "",
241
- entityName: (c == null ? void 0 : c.entityName) ?? "",
242
- entityType: (c == null ? void 0 : c.entityType) ?? "table",
243
- ...o.derivedField ? { derivedField: o.derivedField } : {}
244
- };
245
- }, f = t === "groupBy" ? "rows" : t === "pivotBy" ? "columns" : void 0;
246
- return f ? r.spec[f].map((o) => ({
247
- ...i(
248
- o.field,
249
- o.id,
250
- V(o, r.presentation)
251
- ),
252
- granularity: o.grain,
253
- role: f === "rows" ? "groupby" : "pivotby"
254
- })) : t !== "metrics" ? [] : r.spec.measures.map((o) => ({
255
- ...i(
256
- o.kind === "aggregate" ? o.field : {
257
- name: o.definition.name,
258
- derivedField: o.definition
259
- },
260
- o.id,
261
- K(o, r.presentation)
262
- ),
263
- role: "metric",
264
- ...o.kind === "aggregate" ? { aggregate: o.aggregate } : {}
265
- }));
266
- }
267
- function ne(e) {
268
- return Q(e, { authoringDraft: !0 });
269
- }
270
- function ie(e) {
271
- return e.type !== "matrixTable";
272
- }
273
- function x(e) {
274
- var t, a, r, n;
275
- return {
276
- rows: ((t = e.config) == null ? void 0 : t.groupByColumns) ?? [],
277
- columns: ((a = e.config) == null ? void 0 : a.pivotByColumns) ?? [],
278
- metrics: ((r = e.config) == null ? void 0 : r.metricColumns) ?? [],
279
- details: ((n = e.config) == null ? void 0 : n.detailColumns) ?? []
280
- };
281
- }
282
- function _(e, t = []) {
283
- var i, f, d, o, u, p, c, m;
284
- if (ie(e)) {
285
- const y = x(e);
286
- return {
287
- kind: "shelf",
288
- status: e.config ? "ready" : "absent",
289
- fields: y,
290
- filters: (i = e.config) == null ? void 0 : i.filters,
291
- joinPlan: (f = e.config) == null ? void 0 : f.joinPlan,
292
- configured: Object.values(y).some((h) => h.length > 0),
293
- supportsSql: !0
294
- };
295
- }
296
- const a = ne(e), r = a.status === "ready" ? a.config : void 0, n = { config: { matrix: r } };
297
- return {
298
- kind: "matrix",
299
- status: a.status,
300
- matrix: r,
301
- error: a.status === "invalid" ? a.error : void 0,
302
- get fields() {
303
- return r ? {
304
- rows: C(n, "groupBy", t),
305
- columns: C(n, "pivotBy", t),
306
- metrics: C(n, "metrics", t),
307
- details: []
308
- } : { rows: [], columns: [], metrics: [], details: [] };
309
- },
310
- // Repair surfaces must still see authored predicates/joins on an invalid
311
- // draft. Validity is reported separately; execution uses its strict boundary.
312
- filters: (u = (o = (d = e.config) == null ? void 0 : d.matrix) == null ? void 0 : o.spec) == null ? void 0 : u.filters,
313
- joinPlan: (m = (c = (p = e.config) == null ? void 0 : p.matrix) == null ? void 0 : c.spec) == null ? void 0 : m.joinPlan,
314
- get configured() {
315
- return j.safeParse(r).success;
316
- },
317
- supportsSql: !1
318
- };
319
- }
320
- function se(e) {
321
- return e ? Object.values(x({ config: e })).some((t) => t.length > 0) : !1;
322
- }
323
- function Re(e) {
324
- return _({ type: e }).supportsSql;
325
- }
326
- function Pe(e, t) {
327
- return e.type !== t && (e.type === "matrixTable" || t === "matrixTable") ? { config: {}, controlBindings: [], sql: "", python: "" } : {};
328
- }
329
- function xe(e, t) {
330
- var n, i;
331
- const a = e.type === "matrixTable" ? (i = (n = e.config) == null ? void 0 : n.matrix) == null ? void 0 : i.spec.source : void 0;
332
- return !a || (t.selectedEntities ?? []).some((f) => {
333
- const d = E(f, t);
334
- return d && T(a, d);
335
- }) ? { dataSource: t } : { dataSource: t, config: {}, controlBindings: [] };
336
- }
337
- function De(e) {
338
- return _(e).joinPlan;
339
- }
340
- function Ie(e, t) {
341
- var i;
342
- if (e.type !== "matrixTable") return { ...e.config, joinPlan: t };
343
- const a = (i = e.config) == null ? void 0 : i.matrix, r = t ? E(t.baseEntity, e.dataSource) : a == null ? void 0 : a.spec.source;
344
- if (!r) {
345
- if (!t) return e.config ?? {};
346
- throw new Error("Matrix joins require a configured base source.");
347
- }
348
- const n = R(e, r);
349
- return { matrix: { ...n, spec: { ...n.spec, source: r, joinPlan: t } } };
350
- }
351
- function Oe(e) {
352
- return e ? _(e).filters : void 0;
353
- }
354
- function qe(e, t) {
355
- var r;
356
- if (e.type !== "matrixTable") return { ...e.config, filters: t };
357
- if (!t && !((r = e.config) != null && r.matrix)) return e.config ?? {};
358
- const a = R(e);
359
- return { matrix: { ...a, spec: { ...a.spec, filters: t } } };
360
- }
361
- function fe(e, t) {
362
- return e ? t ? _({ type: t, config: e }).configured : se(e) : !1;
363
- }
364
- function Ue(e, t) {
365
- var f, d, o;
366
- if (t != null && t.skipSetupCheck || e.type === "text")
367
- return !1;
368
- const a = _(e);
369
- if (!a.supportsSql) return !a.configured;
370
- if ((f = e.customCardPreferences) != null && f.url)
371
- return !1;
372
- const r = !!(e.connectionId || (d = e.dataSource) != null && d.connectionId), n = !!((o = e.sql) != null && o.trim()), i = fe(e.config);
373
- return !r || !i && !n;
374
- }
375
- var D = {}, I = {}, S = { exports: {} }, s = String, O = function() {
176
+ var R = {}, P = {}, S = { exports: {} }, s = String, x = function() {
376
177
  return { isColorSupported: !1, reset: s, bold: s, dim: s, italic: s, underline: s, inverse: s, hidden: s, strikethrough: s, black: s, red: s, green: s, yellow: s, blue: s, magenta: s, cyan: s, white: s, gray: s, bgBlack: s, bgRed: s, bgGreen: s, bgYellow: s, bgBlue: s, bgMagenta: s, bgCyan: s, bgWhite: s, blackBright: s, redBright: s, greenBright: s, yellowBright: s, blueBright: s, magentaBright: s, cyanBright: s, whiteBright: s, bgBlackBright: s, bgRedBright: s, bgGreenBright: s, bgYellowBright: s, bgBlueBright: s, bgMagentaBright: s, bgCyanBright: s, bgWhiteBright: s };
377
178
  };
378
- S.exports = O();
379
- S.exports.createColors = O;
380
- var de = S.exports;
179
+ S.exports = x();
180
+ S.exports.createColors = x;
181
+ var ae = S.exports;
381
182
  (function(e) {
382
183
  Object.defineProperty(e, "__esModule", {
383
184
  value: !0
@@ -396,7 +197,7 @@ var de = S.exports;
396
197
  return d;
397
198
  }
398
199
  });
399
- const a = /* @__PURE__ */ r(de);
200
+ const a = /* @__PURE__ */ r(ae);
400
201
  function r(o) {
401
202
  return o && o.__esModule ? o : {
402
203
  default: o
@@ -435,7 +236,7 @@ var de = S.exports;
435
236
  ]);
436
237
  }
437
238
  };
438
- })(I);
239
+ })(P);
439
240
  (function(e) {
440
241
  Object.defineProperty(e, "__esModule", {
441
242
  value: !0
@@ -445,7 +246,7 @@ var de = S.exports;
445
246
  return n;
446
247
  }
447
248
  });
448
- const t = /* @__PURE__ */ a(I);
249
+ const t = /* @__PURE__ */ a(P);
449
250
  function a(i) {
450
251
  return i && i.__esModule ? i : {
451
252
  default: i
@@ -785,23 +586,23 @@ var de = S.exports;
785
586
  }), this.slate;
786
587
  }
787
588
  };
788
- })(D);
789
- let w = D;
790
- var le = (w.__esModule ? w : { default: w }).default;
791
- const l = /* @__PURE__ */ re(le), ce = ".semaphor-scope";
792
- function ue(e) {
793
- return e ? e.closest(ce) : null;
589
+ })(R);
590
+ let C = R;
591
+ var oe = (C.__esModule ? C : { default: C }).default;
592
+ const l = /* @__PURE__ */ re(oe), ne = ".semaphor-scope";
593
+ function ie(e) {
594
+ return e ? e.closest(ne) : null;
794
595
  }
795
- function pe(e) {
596
+ function se(e) {
796
597
  if (!e) return "light";
797
598
  const t = e.dataset.semaphorTheme;
798
599
  return t === "dark" || t === "light" ? t : e.classList.contains("dark") ? "dark" : "light";
799
600
  }
800
- const Ge = !1, Le = [
601
+ const Be = !1, Ye = [
801
602
  "table",
802
603
  "view",
803
604
  "materialized view"
804
- ], je = ["_forecast"], Ne = "dm", We = "semaphor_calculated_fields", Ve = "calculated_fields", Ke = ["lg", "md", "sm", "xs", "xxs"], Qe = {
605
+ ], Re = ["_forecast"], Pe = "dm", xe = "semaphor_calculated_fields", De = "calculated_fields", Ie = ["lg", "md", "sm", "xs", "xxs"], Oe = {
805
606
  // dashboardHeader: ' font-mono border-b-2 border-red-700',
806
607
  default: {
807
608
  dashboardPanel: "",
@@ -813,7 +614,7 @@ const Ge = !1, Le = [
813
614
  },
814
615
  chart: {
815
616
  font: {
816
- family: H
617
+ family: W
817
618
  // family:
818
619
  // 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
819
620
  },
@@ -1040,16 +841,16 @@ function Y(e) {
1040
841
  var r, n, i, f, d, o, u, p, c;
1041
842
  const t = (d = (f = (i = (n = (r = e == null ? void 0 : e.chart) == null ? void 0 : r.config) == null ? void 0 : n._config) == null ? void 0 : i.options) == null ? void 0 : f.plugins) == null ? void 0 : d.datalabels;
1042
843
  let a = (o = e == null ? void 0 : e.dataset) == null ? void 0 : o.backgroundColor;
1043
- return (t == null ? void 0 : t.align) === "end" && (t == null ? void 0 : t.anchor) === "end" && (a = F((u = e == null ? void 0 : e.chart) == null ? void 0 : u.canvas)), (t == null ? void 0 : t.align) === "start" && (t == null ? void 0 : t.anchor) === "start" && (a = F((p = e == null ? void 0 : e.chart) == null ? void 0 : p.canvas)), ge(a, {
1044
- baseColor: F((c = e == null ? void 0 : e.chart) == null ? void 0 : c.canvas)
844
+ return (t == null ? void 0 : t.align) === "end" && (t == null ? void 0 : t.anchor) === "end" && (a = w((u = e == null ? void 0 : e.chart) == null ? void 0 : u.canvas)), (t == null ? void 0 : t.align) === "start" && (t == null ? void 0 : t.anchor) === "start" && (a = w((p = e == null ? void 0 : e.chart) == null ? void 0 : p.canvas)), fe(a, {
845
+ baseColor: w((c = e == null ? void 0 : e.chart) == null ? void 0 : c.canvas)
1045
846
  });
1046
847
  }
1047
- function F(e) {
848
+ function w(e) {
1048
849
  if (typeof document < "u") {
1049
- const t = ue(e);
850
+ const t = ie(e);
1050
851
  if (t) {
1051
852
  const r = window.getComputedStyle(t).getPropertyValue("--semaphor-background").trim();
1052
- return r ? `hsl(${r})` : pe(t) === "dark" ? "#000000" : "#FFFFFF";
853
+ return r ? `hsl(${r})` : se(t) === "dark" ? "#000000" : "#FFFFFF";
1053
854
  }
1054
855
  const a = document.documentElement;
1055
856
  if (a.classList.contains("dark"))
@@ -1059,13 +860,13 @@ function F(e) {
1059
860
  }
1060
861
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").matches ? "#000000" : "#FFFFFF";
1061
862
  }
1062
- function ge(e, t = {}) {
863
+ function fe(e, t = {}) {
1063
864
  let a = 0, r = 0, n = 0, i = 0;
1064
865
  const f = t.baseColor ? k(t.baseColor) : null, d = (m) => {
1065
866
  if (!m) return l.gray[500];
1066
867
  const y = k(m);
1067
868
  if (!y) return l.gray[500];
1068
- const h = q(y, f);
869
+ const h = D(y, f);
1069
870
  a += h.r, r += h.g, n += h.b, i++;
1070
871
  };
1071
872
  if (Array.isArray(e) ? e.forEach((m) => {
@@ -1074,58 +875,257 @@ function ge(e, t = {}) {
1074
875
  const o = a / i, u = r / i, p = n / i;
1075
876
  return (o * 299 + u * 587 + p * 114) / 1e3 >= 180 ? "black" : "white";
1076
877
  }
1077
- function q(e, t) {
878
+ function D(e, t) {
1078
879
  if (e.alpha >= 1)
1079
880
  return e;
1080
- const a = t ? q(t, null) : me;
881
+ const a = t ? D(t, null) : de;
1081
882
  return {
1082
883
  r: e.r * e.alpha + a.r * (1 - e.alpha),
1083
884
  g: e.g * e.alpha + a.g * (1 - e.alpha),
1084
885
  b: e.b * e.alpha + a.b * (1 - e.alpha)
1085
886
  };
1086
887
  }
1087
- const me = {
888
+ const de = {
1088
889
  r: 255,
1089
890
  g: 255,
1090
891
  b: 255
1091
892
  };
893
+ function I(e, t) {
894
+ var n, i;
895
+ if ((n = e.config) != null && n.matrix) return e.config.matrix;
896
+ const a = ((i = e.dataSource) == null ? void 0 : i.selectedEntities) ?? [], r = t ?? (a.length === 1 ? E(a[0], e.dataSource) : void 0);
897
+ if (!r) throw new Error("Select a base dataset before configuring Matrix fields or filters.");
898
+ return V({ source: r, rows: [], columns: [], measures: [], sorts: [], rankings: [] });
899
+ }
900
+ function qe(e) {
901
+ const { spec: t, window: a, queryContext: r, reportContext: n } = e;
902
+ if (!e.cardId) throw new Error("Matrix query requires its card identity.");
903
+ return {
904
+ cardId: e.cardId,
905
+ cardType: "matrixTable",
906
+ cardConfig: { matrix: { spec: t } },
907
+ matrixWindowRequest: a,
908
+ ...N({ runtimeFilters: r.resolvedFilters, runtimeSorts: e.runtimeSorts }),
909
+ active_filters: r.cardFilterValues,
910
+ calendarContext: n.calendar,
911
+ controlDefinitions: r.controlDefinitions,
912
+ cardControlDefinitions: r.cardControlDefinitions,
913
+ controlBindings: r.controlBindings,
914
+ controlValues: r.controlValues
915
+ };
916
+ }
917
+ function le(e) {
918
+ return (t, a) => {
919
+ const r = e.filter((n) => n.field.name === t.name && !!n.field.source && T(n.field.source, t.source ?? a));
920
+ return r.length === 1 ? r[0] : void 0;
921
+ };
922
+ }
923
+ function O(e) {
924
+ const t = le(e);
925
+ return (a, r) => {
926
+ var n;
927
+ return (n = t(a, r)) == null ? void 0 : n.resolvedField;
928
+ };
929
+ }
930
+ function Ue(e) {
931
+ const t = O(e);
932
+ return (a, r) => a.derivedField ? void 0 : t(a, r);
933
+ }
934
+ function ce(e, t, a) {
935
+ if (e.derivedField) return e.derivedField.dataType;
936
+ const r = a.filter((i) => !i.derivedField && i.name === e.name && T(i.source ?? t, e.source ?? t));
937
+ return r.length ? new Set(r.map((i) => i.dataType)).size === 1 ? r[0].dataType ?? e.dataType : void 0 : e.dataType;
938
+ }
939
+ function F(e, t, a) {
940
+ var d;
941
+ const r = (d = e.config) == null ? void 0 : d.matrix;
942
+ if (!r) return [];
943
+ const n = O(a), i = (o, u, p) => {
944
+ const c = n(o, r.spec.source);
945
+ return {
946
+ ...c,
947
+ source: o.source ?? r.spec.source,
948
+ id: u,
949
+ name: o.name,
950
+ label: p,
951
+ dataType: ce(
952
+ o,
953
+ r.spec.source,
954
+ a.map((m) => m.field)
955
+ ) ?? "unknown",
956
+ qualifiedFieldName: (c == null ? void 0 : c.qualifiedFieldName) ?? o.name,
957
+ entityId: (c == null ? void 0 : c.entityId) ?? "",
958
+ entityName: (c == null ? void 0 : c.entityName) ?? "",
959
+ entityType: (c == null ? void 0 : c.entityType) ?? "table",
960
+ ...o.derivedField ? { derivedField: o.derivedField } : {}
961
+ };
962
+ }, f = t === "groupBy" ? "rows" : t === "pivotBy" ? "columns" : void 0;
963
+ return f ? r.spec[f].map((o) => ({
964
+ ...i(
965
+ o.field,
966
+ o.id,
967
+ Q(o, r.presentation)
968
+ ),
969
+ granularity: o.grain,
970
+ role: f === "rows" ? "groupby" : "pivotby"
971
+ })) : t !== "metrics" ? [] : r.spec.measures.map((o) => ({
972
+ ...i(
973
+ o.kind === "aggregate" ? o.field : {
974
+ name: o.definition.name,
975
+ derivedField: o.definition
976
+ },
977
+ o.id,
978
+ H(o, r.presentation)
979
+ ),
980
+ role: "metric",
981
+ ...o.kind === "aggregate" ? { aggregate: o.aggregate } : {}
982
+ }));
983
+ }
984
+ function ue(e) {
985
+ return K(e, { authoringDraft: !0 });
986
+ }
987
+ function pe(e) {
988
+ return e.type !== "matrixTable";
989
+ }
990
+ function q(e) {
991
+ var t, a, r, n;
992
+ return {
993
+ rows: ((t = e.config) == null ? void 0 : t.groupByColumns) ?? [],
994
+ columns: ((a = e.config) == null ? void 0 : a.pivotByColumns) ?? [],
995
+ metrics: ((r = e.config) == null ? void 0 : r.metricColumns) ?? [],
996
+ details: ((n = e.config) == null ? void 0 : n.detailColumns) ?? []
997
+ };
998
+ }
999
+ function _(e, t = []) {
1000
+ var i, f, d, o, u, p, c, m;
1001
+ if (pe(e)) {
1002
+ const y = q(e);
1003
+ return {
1004
+ kind: "shelf",
1005
+ status: e.config ? "ready" : "absent",
1006
+ fields: y,
1007
+ filters: (i = e.config) == null ? void 0 : i.filters,
1008
+ joinPlan: (f = e.config) == null ? void 0 : f.joinPlan,
1009
+ configured: Object.values(y).some((h) => h.length > 0),
1010
+ supportsSql: !0
1011
+ };
1012
+ }
1013
+ const a = ue(e), r = a.status === "ready" ? a.config : void 0, n = { config: { matrix: r } };
1014
+ return {
1015
+ kind: "matrix",
1016
+ status: a.status,
1017
+ matrix: r,
1018
+ error: a.status === "invalid" ? a.error : void 0,
1019
+ get fields() {
1020
+ return r ? {
1021
+ rows: F(n, "groupBy", t),
1022
+ columns: F(n, "pivotBy", t),
1023
+ metrics: F(n, "metrics", t),
1024
+ details: []
1025
+ } : { rows: [], columns: [], metrics: [], details: [] };
1026
+ },
1027
+ // Repair surfaces must still see authored predicates/joins on an invalid
1028
+ // draft. Validity is reported separately; execution uses its strict boundary.
1029
+ filters: (u = (o = (d = e.config) == null ? void 0 : d.matrix) == null ? void 0 : o.spec) == null ? void 0 : u.filters,
1030
+ joinPlan: (m = (c = (p = e.config) == null ? void 0 : p.matrix) == null ? void 0 : c.spec) == null ? void 0 : m.joinPlan,
1031
+ get configured() {
1032
+ return j.safeParse(r).success;
1033
+ },
1034
+ supportsSql: !1
1035
+ };
1036
+ }
1037
+ function ge(e) {
1038
+ return e ? Object.values(q({ config: e })).some((t) => t.length > 0) : !1;
1039
+ }
1040
+ function Ge(e) {
1041
+ return _({ type: e }).supportsSql;
1042
+ }
1043
+ function Le(e, t) {
1044
+ return e.type !== t && (e.type === "matrixTable" || t === "matrixTable") ? { config: {}, controlBindings: [], sql: "", python: "" } : {};
1045
+ }
1046
+ function je(e, t) {
1047
+ var n, i;
1048
+ const a = e.type === "matrixTable" ? (i = (n = e.config) == null ? void 0 : n.matrix) == null ? void 0 : i.spec.source : void 0;
1049
+ return !a || (t.selectedEntities ?? []).some((f) => {
1050
+ const d = E(f, t);
1051
+ return d && T(a, d);
1052
+ }) ? { dataSource: t } : { dataSource: t, config: {}, controlBindings: [] };
1053
+ }
1054
+ function Ne(e) {
1055
+ return _(e).joinPlan;
1056
+ }
1057
+ function We(e, t) {
1058
+ var i;
1059
+ if (e.type !== "matrixTable") return { ...e.config, joinPlan: t };
1060
+ const a = (i = e.config) == null ? void 0 : i.matrix, r = t ? E(t.baseEntity, e.dataSource) : a == null ? void 0 : a.spec.source;
1061
+ if (!r) {
1062
+ if (!t) return e.config ?? {};
1063
+ throw new Error("Matrix joins require a configured base source.");
1064
+ }
1065
+ const n = I(e, r);
1066
+ return { matrix: { ...n, spec: { ...n.spec, source: r, joinPlan: t } } };
1067
+ }
1068
+ function Ve(e) {
1069
+ return e ? _(e).filters : void 0;
1070
+ }
1071
+ function Qe(e, t) {
1072
+ var r;
1073
+ if (e.type !== "matrixTable") return { ...e.config, filters: t };
1074
+ if (!t && !((r = e.config) != null && r.matrix)) return e.config ?? {};
1075
+ const a = I(e);
1076
+ return { matrix: { ...a, spec: { ...a.spec, filters: t } } };
1077
+ }
1078
+ function me(e, t) {
1079
+ return e ? t ? _({ type: t, config: e }).configured : ge(e) : !1;
1080
+ }
1081
+ function He(e, t) {
1082
+ var f, d, o;
1083
+ if (t != null && t.skipSetupCheck || e.type === "text")
1084
+ return !1;
1085
+ const a = _(e);
1086
+ if (!a.supportsSql) return !a.configured;
1087
+ if ((f = e.customCardPreferences) != null && f.url)
1088
+ return !1;
1089
+ const r = !!(e.connectionId || (d = e.dataSource) != null && d.connectionId), n = !!((o = e.sql) != null && o.trim()), i = me(e.config);
1090
+ return !r || !i && !n;
1091
+ }
1092
1092
  export {
1093
1093
  Me as A,
1094
- Ke as B,
1095
- Ve as C,
1096
- Ne as D,
1097
- Ye as E,
1098
- P as F,
1094
+ Ie as B,
1095
+ De as C,
1096
+ Pe as D,
1097
+ Ue as E,
1098
+ O as F,
1099
1099
  Y as G,
1100
- x as H,
1101
- R as I,
1102
- We as J,
1103
- C as K,
1104
- je as M,
1100
+ q as H,
1101
+ I,
1102
+ xe as J,
1103
+ F as K,
1104
+ Re as M,
1105
1105
  Ee as a,
1106
- Ue as b,
1106
+ He as b,
1107
1107
  l as c,
1108
- ne as d,
1109
- Ge as e,
1110
- ge as f,
1111
- De as g,
1112
- fe as h,
1113
- ie as i,
1114
- F as j,
1115
- Oe as k,
1108
+ ue as d,
1109
+ Be as e,
1110
+ fe as f,
1111
+ Ne as g,
1112
+ me as h,
1113
+ pe as i,
1114
+ w as j,
1115
+ Ve as k,
1116
1116
  re as l,
1117
- oe as m,
1117
+ ce as m,
1118
1118
  _ as n,
1119
- Le as o,
1120
- qe as p,
1121
- xe as q,
1119
+ Ye as o,
1120
+ Qe as p,
1121
+ je as q,
1122
1122
  Se as r,
1123
- Re as s,
1124
- Pe as t,
1125
- Qe as u,
1123
+ Ge as s,
1124
+ Le as t,
1125
+ Oe as u,
1126
1126
  Te as v,
1127
- Ie as w,
1127
+ We as w,
1128
1128
  ke as x,
1129
- Be as y,
1130
- ae as z
1129
+ qe as y,
1130
+ le as z
1131
1131
  };
@@ -0,0 +1 @@
1
+ "use strict";const y=require("./validators-DVYAnnX0.cjs"),V=require("./matrix-operation-contract-DoiWTUbT.cjs");require("./matrix-continuation-6nhDy-lF.cjs");require("../value-format-preferences/index.cjs");const F=require("./temporal-bucket-4YEPEKlJ.cjs"),m=require("./field-aggregations-jSi77h9Z.cjs"),M=require("./color-CyB5o13F.cjs"),S=require("./matrix-definition-CBJW_4ii.cjs"),Q=require("./matrix-card-U4c72doZ.cjs");let A;const J=new Uint8Array(16);function z(){if(!A&&(A=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!A))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return A(J)}const g=[];for(let e=0;e<256;++e)g.push((e+256).toString(16).slice(1));function H(e,t=0){return g[e[t+0]]+g[e[t+1]]+g[e[t+2]]+g[e[t+3]]+"-"+g[e[t+4]]+g[e[t+5]]+"-"+g[e[t+6]]+g[e[t+7]]+"-"+g[e[t+8]]+g[e[t+9]]+"-"+g[e[t+10]]+g[e[t+11]]+g[e[t+12]]+g[e[t+13]]+g[e[t+14]]+g[e[t+15]]}const $=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),O={randomUUID:$};function Z(e,t,a){if(O.randomUUID&&!e)return O.randomUUID();e=e||{};const r=e.random||(e.rng||z)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,H(r)}function X(e){return e.format!=null||e.dateFormat!=null}const P={"Week of MMM DD, YYYY":{type:"temporal_bucket",presentation:{mode:"preset",preset:"week_of_short"}},"Week of MMMM DD, YYYY":{type:"temporal_bucket",presentation:{mode:"preset",preset:"week_of_long"}},"Q1 YYYY":{type:"temporal_bucket",presentation:{mode:"preset",preset:"quarter_short"}},"1st Quarter YYYY":{type:"temporal_bucket",presentation:{mode:"preset",preset:"quarter_long"}},"YYYY Q1":void 0,"YYYY-Q1":void 0,"Quarter 1, YYYY":void 0,"YYYY-WW":void 0};function ee(e,t,a,r){return{code:t,severity:"warning",fieldId:e.fieldId,...r?{ignoredPattern:r}:{},effectiveFormat:a}}function te(e,t){if(e.dateFormat===void 0||e.dateFormat===null)return{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT};if(typeof e.dateFormat!="string")return{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,repairCode:"unsupported_pattern"};const a=e.dateFormat==="custom"?typeof e.customFormat=="string"?e.customFormat.trim():"":e.dateFormat.trim();if(!a)return{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,repairCode:"missing_custom_pattern"};if(Object.prototype.hasOwnProperty.call(P,a)){const i=P[a];return i?F.validateTemporalBucketFormatApplicability(i,t).ok?{format:i}:{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,repairCode:"grain_incompatible_pattern",ignoredPattern:a}:{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,repairCode:"unsupported_pattern",ignoredPattern:a}}const r={type:"temporal_bucket",presentation:{mode:"pattern",pattern:a}},n=F.validateTemporalBucketFormatApplicability(r,t);return n.ok?{format:r}:{format:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,repairCode:n.code==="incompatible_temporal_bucket_pattern"||n.code==="incompatible_temporal_bucket_preset"?"grain_incompatible_pattern":"unsupported_pattern",ignoredPattern:a}}function re(e){if(y.isSemaphorTimeGrain(e.granularity))return{granularity:e.granularity,assumedDay:!1};if(!(e.granularity!==void 0&&e.granularity!==null))return y.normalizeAnalyticsCatalogDataType(e.dataType)==="date"?{granularity:"day",assumedDay:!0}:void 0}function ae(e){const t=re(e);if(!t)return{ok:!1,error:{code:"ambiguous_temporal_grain",fieldId:e.fieldId}};let a,r,n;if(e.format!==void 0&&e.format!==null){const d=y.temporalBucketFormatSchema.safeParse(e.format);if(!d.success)a=m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,r="unsupported_pattern";else{const l=F.validateTemporalBucketFormatApplicability(d.data,t.granularity);a=l.ok?d.data:m.AUTOMATIC_TEMPORAL_BUCKET_FORMAT,l.ok||(r=l.code==="invalid_temporal_bucket_pattern"?"unsupported_pattern":"grain_incompatible_pattern",n=d.data.presentation.mode==="pattern"?d.data.presentation.pattern:d.data.presentation.mode==="preset"?d.data.presentation.preset:void 0)}}else({format:a,repairCode:r,ignoredPattern:n}=te(e,t.granularity));const i=t.assumedDay?"missing_grain_assumed_day":r;return{ok:!0,format:a,...i?{diagnostic:ee(e,i,a,n)}:{}}}var oe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function x(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ne(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var a=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(a,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),a}var Y={},U={},R={exports:{}},s=String,I=function(){return{isColorSupported:!1,reset:s,bold:s,dim:s,italic:s,underline:s,inverse:s,hidden:s,strikethrough:s,black:s,red:s,green:s,yellow:s,blue:s,magenta:s,cyan:s,white:s,gray:s,bgBlack:s,bgRed:s,bgGreen:s,bgYellow:s,bgBlue:s,bgMagenta:s,bgCyan:s,bgWhite:s,blackBright:s,redBright:s,greenBright:s,yellowBright:s,blueBright:s,magentaBright:s,cyanBright:s,whiteBright:s,bgBlackBright:s,bgRedBright:s,bgGreenBright:s,bgYellowBright:s,bgBlueBright:s,bgMagentaBright:s,bgCyanBright:s,bgWhiteBright:s}};R.exports=I();R.exports.createColors=I;var ie=R.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(o,u){for(var p in u)Object.defineProperty(o,p,{enumerable:!0,get:u[p]})}t(e,{dim:function(){return d},default:function(){return l}});const a=r(ie);function r(o){return o&&o.__esModule?o:{default:o}}let n=new Set;function i(o,u,p){typeof process<"u"&&process.env.JEST_WORKER_ID||p&&n.has(p)||(p&&n.add(p),console.warn(""),u.forEach(c=>console.warn(o,"-",c)))}function d(o){return a.default.dim(o)}const l={info(o,u){i(a.default.bold(a.default.cyan("info")),...Array.isArray(o)?[o]:[u,o])},warn(o,u){i(a.default.bold(a.default.yellow("warn")),...Array.isArray(o)?[o]:[u,o])},risk(o,u){i(a.default.bold(a.default.magenta("risk")),...Array.isArray(o)?[o]:[u,o])}}})(U);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});const t=a(U);function a(i){return i&&i.__esModule?i:{default:i}}function r({version:i,from:d,to:l}){t.default.warn(`${d}-color-renamed`,[`As of Tailwind CSS ${i}, \`${d}\` has been renamed to \`${l}\`.`,"Update your configuration file to silence this warning."])}const n={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return r({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return r({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return r({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return r({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return r({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}})(Y);let E=Y;var se=(E.__esModule?E:{default:E}).default;const f=x(se),de=".semaphor-scope";function fe(e){return e?e.closest(de):null}function le(e){if(!e)return"light";const t=e.dataset.semaphorTheme;return t==="dark"||t==="light"?t:e.classList.contains("dark")?"dark":"light"}const ce=!1,ue=["table","view","materialized view"],pe=["_forecast"],ge="dm",me="semaphor_calculated_fields",be="calculated_fields",ye=["lg","md","sm","xs","xxs"],he={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:M.SEMAPHOR_DEFAULT_FONT_FAMILY},dataset:{backgroundColor:[f.teal[500],f.teal[300],f.gray[700],f.gray[500],f.gray[300]],borderColor:[f.teal[500],f.teal[300],f.gray[700],f.gray[500],f.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:w},title:{display:!0},tooltip:{backgroundColor:"#fff",bodyColor:"#000",borderWidth:.25,titleColor:"#000",borderColor:"rgb(128,131,139)",cornerRadius:4,usePointStyle:!0,pointStyle:"rectRounded",boxPadding:4},legend:{position:"top",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},scales:{y:{grid:{display:!0},title:{display:!0,text:""},beginAtZero:!0,ticks:{precision:0}},x:{grid:{display:!0},title:{display:!0}}},layout:{padding:{top:-40}},borderRadius:2,responsive:!0,maintainAspectRatio:!1}}},dark:{chart:{dataset:{datalables:{color:w},backgroundColor:[f.teal[500],f.teal[300],f.gray[700],f.gray[500],f.gray[300]],borderColor:[f.teal[500],f.teal[300],f.gray[700],f.gray[500],f.gray[300]]},options:{plugins:{tooltip:{backgroundColor:"#000",bodyColor:"#fff",borderWidth:.25,titleColor:"#fff",borderColor:"rgb(128,131,139)",cornerRadius:2,boxPadding:4}},datalabels:{display:!1},scales:{x:{grid:{display:!0,color:f.slate[800]}},y:{grid:{display:!0,color:f.slate[800]}}}}}}};function w(e){var r,n,i,d,l,o,u,p,c;const t=(l=(d=(i=(n=(r=e==null?void 0:e.chart)==null?void 0:r.config)==null?void 0:n._config)==null?void 0:i.options)==null?void 0:d.plugins)==null?void 0:l.datalabels;let a=(o=e==null?void 0:e.dataset)==null?void 0:o.backgroundColor;return(t==null?void 0:t.align)==="end"&&(t==null?void 0:t.anchor)==="end"&&(a=T((u=e==null?void 0:e.chart)==null?void 0:u.canvas)),(t==null?void 0:t.align)==="start"&&(t==null?void 0:t.anchor)==="start"&&(a=T((p=e==null?void 0:e.chart)==null?void 0:p.canvas)),L(a,{baseColor:T((c=e==null?void 0:e.chart)==null?void 0:c.canvas)})}function T(e){if(typeof document<"u"){const t=fe(e);if(t){const r=window.getComputedStyle(t).getPropertyValue("--semaphor-background").trim();return r?`hsl(${r})`:le(t)==="dark"?"#000000":"#FFFFFF"}const a=document.documentElement;if(a.classList.contains("dark"))return"#000000";if(a.classList.contains("light"))return"#FFFFFF"}return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"#000000":"#FFFFFF"}function L(e,t={}){let a=0,r=0,n=0,i=0;const d=t.baseColor?M.parseRuntimeColor(t.baseColor):null,l=b=>{if(!b)return f.gray[500];const C=M.parseRuntimeColor(b);if(!C)return f.gray[500];const _=q(C,d);a+=_.r,r+=_.g,n+=_.b,i++};if(Array.isArray(e)?e.forEach(b=>{l(b)}):l(e),i===0)return f.gray[500];const o=a/i,u=r/i,p=n/i;return(o*299+u*587+p*114)/1e3>=180?"black":"white"}function q(e,t){if(e.alpha>=1)return e;const a=t?q(t,null):Ce;return{r:e.r*e.alpha+a.r*(1-e.alpha),g:e.g*e.alpha+a.g*(1-e.alpha),b:e.b*e.alpha+a.b*(1-e.alpha)}}const Ce={r:255,g:255,b:255};function B(e,t){var n,i;if((n=e.config)!=null&&n.matrix)return e.config.matrix;const a=((i=e.dataSource)==null?void 0:i.selectedEntities)??[],r=t??(a.length===1?m.resolveDashboardEntitySource(a[0],e.dataSource):void 0);if(!r)throw new Error("Select a base dataset before configuring Matrix fields or filters.");return S.createMatrixAuthoringDraft({source:r,rows:[],columns:[],measures:[],sorts:[],rankings:[]})}function _e(e){const{spec:t,window:a,queryContext:r,reportContext:n}=e;if(!e.cardId)throw new Error("Matrix query requires its card identity.");return{cardId:e.cardId,cardType:"matrixTable",cardConfig:{matrix:{spec:t}},matrixWindowRequest:a,...V.parseMatrixRuntimeInputs({runtimeFilters:r.resolvedFilters,runtimeSorts:e.runtimeSorts}),active_filters:r.cardFilterValues,calendarContext:n.calendar,controlDefinitions:r.controlDefinitions,cardControlDefinitions:r.cardControlDefinitions,controlBindings:r.controlBindings,controlValues:r.controlValues}}function G(e){return(t,a)=>{const r=e.filter(n=>n.field.name===t.name&&!!n.field.source&&y.semaphorSourcesReferToSameDataset(n.field.source,t.source??a));return r.length===1?r[0]:void 0}}function D(e){const t=G(e);return(a,r)=>{var n;return(n=t(a,r))==null?void 0:n.resolvedField}}function Ae(e){const t=D(e);return(a,r)=>a.derivedField?void 0:t(a,r)}function N(e,t,a){if(e.derivedField)return e.derivedField.dataType;const r=a.filter(i=>!i.derivedField&&i.name===e.name&&y.semaphorSourcesReferToSameDataset(i.source??t,e.source??t));return r.length?new Set(r.map(i=>i.dataType)).size===1?r[0].dataType??e.dataType:void 0:e.dataType}function v(e,t,a){var l;const r=(l=e.config)==null?void 0:l.matrix;if(!r)return[];const n=D(a),i=(o,u,p)=>{const c=n(o,r.spec.source);return{...c,source:o.source??r.spec.source,id:u,name:o.name,label:p,dataType:N(o,r.spec.source,a.map(b=>b.field))??"unknown",qualifiedFieldName:(c==null?void 0:c.qualifiedFieldName)??o.name,entityId:(c==null?void 0:c.entityId)??"",entityName:(c==null?void 0:c.entityName)??"",entityType:(c==null?void 0:c.entityType)??"table",...o.derivedField?{derivedField:o.derivedField}:{}}},d=t==="groupBy"?"rows":t==="pivotBy"?"columns":void 0;return d?r.spec[d].map(o=>({...i(o.field,o.id,S.getMatrixLevelLabel(o,r.presentation)),granularity:o.grain,role:d==="rows"?"groupby":"pivotby"})):t!=="metrics"?[]:r.spec.measures.map(o=>({...i(o.kind==="aggregate"?o.field:{name:o.definition.name,derivedField:o.definition},o.id,S.getMatrixMeasureLabel(o,r.presentation)),role:"metric",...o.kind==="aggregate"?{aggregate:o.aggregate}:{}}))}function j(e){return Q.inspectMatrixCardConfig(e,{authoringDraft:!0})}function K(e){return e.type!=="matrixTable"}function k(e){var t,a,r,n;return{rows:((t=e.config)==null?void 0:t.groupByColumns)??[],columns:((a=e.config)==null?void 0:a.pivotByColumns)??[],metrics:((r=e.config)==null?void 0:r.metricColumns)??[],details:((n=e.config)==null?void 0:n.detailColumns)??[]}}function h(e,t=[]){var i,d,l,o,u,p,c,b;if(K(e)){const C=k(e);return{kind:"shelf",status:e.config?"ready":"absent",fields:C,filters:(i=e.config)==null?void 0:i.filters,joinPlan:(d=e.config)==null?void 0:d.joinPlan,configured:Object.values(C).some(_=>_.length>0),supportsSql:!0}}const a=j(e),r=a.status==="ready"?a.config:void 0,n={config:{matrix:r}};return{kind:"matrix",status:a.status,matrix:r,error:a.status==="invalid"?a.error:void 0,get fields(){return r?{rows:v(n,"groupBy",t),columns:v(n,"pivotBy",t),metrics:v(n,"metrics",t),details:[]}:{rows:[],columns:[],metrics:[],details:[]}},filters:(u=(o=(l=e.config)==null?void 0:l.matrix)==null?void 0:o.spec)==null?void 0:u.filters,joinPlan:(b=(c=(p=e.config)==null?void 0:p.matrix)==null?void 0:c.spec)==null?void 0:b.joinPlan,get configured(){return y.matrixConfigSchema.safeParse(r).success},supportsSql:!1}}function Te(e){return e?Object.values(k({config:e})).some(t=>t.length>0):!1}function ve(e){return h({type:e}).supportsSql}function Ee(e,t){return e.type!==t&&(e.type==="matrixTable"||t==="matrixTable")?{config:{},controlBindings:[],sql:"",python:""}:{}}function Fe(e,t){var n,i;const a=e.type==="matrixTable"?(i=(n=e.config)==null?void 0:n.matrix)==null?void 0:i.spec.source:void 0;return!a||(t.selectedEntities??[]).some(d=>{const l=m.resolveDashboardEntitySource(d,t);return l&&y.semaphorSourcesReferToSameDataset(a,l)})?{dataSource:t}:{dataSource:t,config:{},controlBindings:[]}}function Me(e){return h(e).joinPlan}function Se(e,t){var i;if(e.type!=="matrixTable")return{...e.config,joinPlan:t};const a=(i=e.config)==null?void 0:i.matrix,r=t?m.resolveDashboardEntitySource(t.baseEntity,e.dataSource):a==null?void 0:a.spec.source;if(!r){if(!t)return e.config??{};throw new Error("Matrix joins require a configured base source.")}const n=B(e,r);return{matrix:{...n,spec:{...n.spec,source:r,joinPlan:t}}}}function we(e){return e?h(e).filters:void 0}function Re(e,t){var r;if(e.type!=="matrixTable")return{...e.config,filters:t};if(!t&&!((r=e.config)!=null&&r.matrix))return e.config??{};const a=B(e);return{matrix:{...a,spec:{...a.spec,filters:t}}}}function W(e,t){return e?t?h({type:t,config:e}).configured:Te(e):!1}function Be(e,t){var d,l,o;if(t!=null&&t.skipSetupCheck||e.type==="text")return!1;const a=h(e);if(!a.supportsSql)return!a.configured;if((d=e.customCardPreferences)!=null&&d.url)return!1;const r=!!(e.connectionId||(l=e.dataSource)!=null&&l.connectionId),n=!!((o=e.sql)!=null&&o.trim()),i=W(e.config);return!r||!i&&!n}exports.BREAKPOINTS=ye;exports.CALCULATED_FIELDS_GROUP_ID=me;exports.CALCULATED_FIELDS_GROUP_NAME=be;exports.DATABASE_ENTITY_TYPES=ue;exports.DATAMODEL_NAMESPCACE=ge;exports.DEFAULT_STYLE=he;exports.METADATA_KEYS=pe;exports.buildMatrixCardQueryPayload=_e;exports.colors=f;exports.commonjsGlobal=oe;exports.createMatrixCatalogResolver=G;exports.createMatrixFieldResolver=D;exports.createMatrixInteractionFieldResolver=Ae;exports.getAugmentedNamespace=ne;exports.getAuthoredCardFilters=we;exports.getAuthoredCardJoinPlan=Me;exports.getCanvasBackgroundColor=T;exports.getCardDefinition=h;exports.getContrastColor=L;exports.getDatalabelColor=w;exports.getDefaultExportFromCjs=x;exports.hasSavedTemporalBucketPresentation=X;exports.hasValidCardConfig=W;exports.initializeMatrixCardDraft=B;exports.isCardUnconfigured=Be;exports.isDevEnv=ce;exports.isShelfCard=K;exports.matrixAuthoringDataType=N;exports.matrixEditorFields=v;exports.readMatrixEditorConfig=j;exports.readSavedTemporalBucketFormat=ae;exports.readShelfCardFields=k;exports.resetMatrixRepresentation=Ee;exports.supportsSqlEditor=ve;exports.v4=Z;exports.withAuthoredCardDataSource=Fe;exports.withAuthoredCardFilters=Re;exports.withAuthoredCardJoinPlan=Se;