react-semaphor 0.1.507 → 0.1.508

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 (247) 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 +139 -119
  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-B9l0ZAbv.js} +12 -12
  21. package/dist/chunks/{dashboard-briefing-launcher-C8nDSDnV.cjs → dashboard-briefing-launcher-C4zsM3Hd.cjs} +1 -1
  22. package/dist/chunks/{dashboard-controls-CyL0yimg.js → dashboard-controls-BCQv4xWM.js} +16 -14
  23. package/dist/chunks/dashboard-controls-CWwllVOe.cjs +52 -0
  24. package/dist/chunks/{dashboard-json-5Jr3RudV.js → dashboard-json-BtU_q_0A.js} +9 -9
  25. package/dist/chunks/dashboard-json-DVj2xLsH.cjs +1 -0
  26. package/dist/chunks/edit-dashboard-visual-CO2IVBOq.cjs +172 -0
  27. package/dist/chunks/{edit-dashboard-visual-C7X-um9g.js → edit-dashboard-visual-RgFUx-py.js} +1986 -1990
  28. package/dist/chunks/{editor-action-buttons-CcDm8nA5.cjs → editor-action-buttons-BE8Fby6n.cjs} +2 -2
  29. package/dist/chunks/{editor-action-buttons-C5Wja_J4.js → editor-action-buttons-D-MaqTIs.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-BaIrLSBb.cjs +1422 -0
  36. package/dist/chunks/{index-De2QNsqV.js → index-ByiS9sB4.js} +45343 -43665
  37. package/dist/chunks/{index-C9KXfCkC.js → index-CLIro-EG.js} +3 -0
  38. package/dist/chunks/index-Cx3qmRUB.cjs +1 -0
  39. package/dist/chunks/{index-BlYf8gNa.cjs → index-DhlVxvyI.cjs} +1 -1
  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-BbkXcnnn.js} +4 -4
  55. package/dist/chunks/report-preferences-dialog-C9rpWgQZ.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 +13 -1
  115. package/dist/types/components/visual/matrix-table/matrix-selection-click.d.ts +6 -0
  116. package/dist/types/data-app-sdk/adapters.d.ts +3 -2
  117. package/dist/types/data-app-sdk/builders.d.ts +2 -1
  118. package/dist/types/data-app-sdk/contracts.d.ts +44 -2
  119. package/dist/types/data-app-sdk/index.d.ts +1 -0
  120. package/dist/types/data-app-sdk/query-request.d.ts +7 -2
  121. package/dist/types/data-app-sdk/selection.d.ts +2 -0
  122. package/dist/types/index.cjs +1 -1
  123. package/dist/types/index.js +24 -23
  124. package/dist/types/lib/appearance/types.d.ts +3 -1
  125. package/dist/types/lib/briefings/briefing-attachment-model.d.ts +0 -2
  126. package/dist/types/lib/contexts/interactions-popover-context.d.ts +1 -8
  127. package/dist/types/lib/dashboard/click-to-filter-card-references.d.ts +23 -0
  128. package/dist/types/lib/dashboard-inputs/build-normalized-dashboard-inputs.d.ts +16 -2
  129. package/dist/types/lib/dashboard-inputs/build-selection-dashboard-inputs.d.ts +31 -0
  130. package/dist/types/lib/dashboard-inputs/click-to-filter-emitted-fields.d.ts +17 -0
  131. package/dist/types/lib/dashboard-inputs/click-to-filter-mapping-draft.d.ts +99 -0
  132. package/dist/types/lib/dashboard-inputs/click-to-filter-sheet-reach.d.ts +12 -0
  133. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-authoring.d.ts +18 -1
  134. package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-candidate-metadata.d.ts +4 -1
  135. package/dist/types/lib/dashboard-inputs/dashboard-input-scope.d.ts +10 -0
  136. package/dist/types/lib/dashboard-inputs/dashboard-input-snapshot.d.ts +8 -1
  137. package/dist/types/lib/dashboard-inputs/index.d.ts +1 -0
  138. package/dist/types/lib/dashboard-inputs/resolve-dashboard-input-context.d.ts +18 -7
  139. package/dist/types/lib/dashboard-inputs/resolve-field-date-comparison-coverage.d.ts +5 -2
  140. package/dist/types/lib/dashboard-inputs/resolve-selection-input.d.ts +77 -0
  141. package/dist/types/lib/dashboard-inputs/selection-targets.d.ts +26 -0
  142. package/dist/types/lib/dashboard-inputs/transient-input-context.d.ts +102 -0
  143. package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +50 -0
  144. package/dist/types/lib/dashboard-navigation/describe-carried-context.d.ts +11 -0
  145. package/dist/types/lib/dashboard-navigation/index.d.ts +1 -0
  146. package/dist/types/lib/dashboard-navigation/navigation-state.d.ts +120 -0
  147. package/dist/types/lib/dashboard-navigation/run-one-off-drill.d.ts +11 -0
  148. package/dist/types/lib/dashboard-navigation/use-transient-contexts.d.ts +17 -0
  149. package/dist/types/lib/dashboard-view-state/card-view-state.d.ts +48 -0
  150. package/dist/types/lib/dashboard-view-state/drill-path.d.ts +20 -0
  151. package/dist/types/lib/dashboard-view-state/index.d.ts +2 -0
  152. package/dist/types/lib/download-pdf.d.ts +0 -3
  153. package/dist/types/lib/formatters/metric-formatting.d.ts +1 -1
  154. package/dist/types/lib/hooks/ai/dashboard-context.d.ts +15 -8
  155. package/dist/types/lib/hooks/chartjs/use-chart-blur.d.ts +10 -2
  156. package/dist/types/lib/hooks/interactions/{use-event-engine.d.ts → use-drill-actions.d.ts} +28 -7
  157. package/dist/types/lib/hooks/selection/use-active-selections.d.ts +15 -0
  158. package/dist/types/lib/hooks/selection/use-click-to-filter-mapping-draft.d.ts +20 -0
  159. package/dist/types/lib/hooks/selection/use-selection-click.d.ts +34 -0
  160. package/dist/types/lib/hooks/selection/use-selection-gestures.d.ts +38 -0
  161. package/dist/types/lib/hooks/selection/use-table-row-selection.d.ts +46 -0
  162. package/dist/types/lib/hooks/use-dashboard-card.d.ts +0 -2
  163. package/dist/types/lib/hooks/use-dashboard-filter-mapping-candidates.d.ts +18 -0
  164. package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +0 -1
  165. package/dist/types/lib/hooks/use-dashboard.d.ts +1 -3
  166. package/dist/types/lib/hooks/use-interactions-popover.d.ts +1 -8
  167. package/dist/types/lib/hooks/use-resolved-card-config.d.ts +6 -0
  168. package/dist/types/lib/interactions/click-outcome.d.ts +25 -0
  169. package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +3 -1
  170. package/dist/types/lib/interactions/get-click-context-from-matrix.d.ts +1 -1
  171. package/dist/types/lib/interactions/get-click-context-from-table.d.ts +7 -0
  172. package/dist/types/lib/interactions/interaction-utils.d.ts +17 -1
  173. package/dist/types/lib/matrix-table/build-matrix-drill-to-detail.d.ts +15 -0
  174. package/dist/types/lib/matrix-table/matrix-card-interactions.d.ts +14 -3
  175. package/dist/types/lib/query-context/build-card-query-context.d.ts +19 -8
  176. package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +5 -3
  177. package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +12 -4
  178. package/dist/types/lib/query-context/compile-selection-filters.d.ts +5 -0
  179. package/dist/types/lib/query-context/dashboard-filter-mapping-resolution.d.ts +46 -0
  180. package/dist/types/lib/query-context/filter-group-utils.d.ts +3 -0
  181. package/dist/types/lib/query-context/resolve-runtime-card-filters.d.ts +29 -0
  182. package/dist/types/lib/selection/click-to-filter-authoring-support.d.ts +9 -0
  183. package/dist/types/lib/selection/selection-from-click-context.d.ts +41 -0
  184. package/dist/types/lib/selection/selection-labels.d.ts +3 -0
  185. package/dist/types/lib/selection/selection-notices.d.ts +9 -0
  186. package/dist/types/lib/selection/selection-reducer.d.ts +46 -0
  187. package/dist/types/lib/stores/dashboard-store.d.ts +62 -17
  188. package/dist/types/lib/stores/editor-store.d.ts +1 -2
  189. package/dist/types/lib/stores/index.d.ts +0 -2
  190. package/dist/types/lib/types/common-types.d.ts +60 -6
  191. package/dist/types/lib/types/explorer-types.d.ts +1 -22
  192. package/dist/types/lib/types/interaction-types.d.ts +6 -198
  193. package/dist/types/lib/utils/calculate-context-aware-filters.d.ts +21 -12
  194. package/dist/types/lib/utils/card-utils.d.ts +11 -0
  195. package/dist/types/lib/utils/date-hierarchy-utils.d.ts +3 -1
  196. package/dist/types/lib/utils/drag-and-drop-utils.d.ts +1 -1
  197. package/dist/types/lib/utils/interaction-icons.d.ts +1 -1
  198. package/dist/types/shared/analytics-protocol/execution-input-schemas.d.ts +32 -32
  199. package/dist/types/shared/analytics-protocol/index.d.ts +2 -0
  200. package/dist/types/shared/analytics-protocol/selection-contract.d.ts +100 -0
  201. package/dist/types/shared/analytics-protocol/selection-filter-compiler.d.ts +12 -0
  202. package/dist/types/shared/dashboard-authoring/apply-group-by-override.d.ts +19 -0
  203. package/dist/types/shared/dashboard-authoring/click-to-filter-settings.d.ts +88 -0
  204. package/dist/types/shared/dashboard-authoring/contracts.d.ts +8 -0
  205. package/dist/types/shared/dashboard-authoring/index.d.ts +3 -0
  206. package/dist/types/shared/dashboard-authoring/linked-click-to-filter-overrides.d.ts +32 -0
  207. package/dist/types/shared/format-utils/matrix-continuation.d.ts +3 -3
  208. package/package.json +1 -1
  209. package/src/data-app-sdk/README.md +58 -1
  210. package/dist/chunks/appearance-context-tNjvTJj3.cjs +0 -1
  211. package/dist/chunks/calculated-field-identity-BTpUqfEu.js +0 -1276
  212. package/dist/chunks/calculated-field-identity-rMuXuzEY.cjs +0 -1
  213. package/dist/chunks/constants-vtu7_IUo.cjs +0 -1
  214. package/dist/chunks/dashboard-controls-DlxeddZN.cjs +0 -52
  215. package/dist/chunks/dashboard-json-DhS4yJfc.cjs +0 -1
  216. package/dist/chunks/edit-dashboard-visual-X3OCnivL.cjs +0 -172
  217. package/dist/chunks/field-aggregations-BU_3gHKR.js +0 -957
  218. package/dist/chunks/field-aggregations-CDCamEsQ.cjs +0 -1
  219. package/dist/chunks/index-C8XCKzB6.cjs +0 -1
  220. package/dist/chunks/index-DSa6RSdg.cjs +0 -1417
  221. package/dist/chunks/matrix-control-sources-CeC5EMyq.cjs +0 -1
  222. package/dist/chunks/matrix-member-presentation-E2B4k3ws.cjs +0 -1
  223. package/dist/chunks/matrix-member-presentation-qiHxv67e.js +0 -105
  224. package/dist/chunks/matrix-operation-contract-Cqy4EW2H.js +0 -1638
  225. package/dist/chunks/matrix-operation-contract-D9dLX-Wr.cjs +0 -1
  226. package/dist/chunks/report-preferences-dialog-7Vsc_fsG.cjs +0 -1
  227. package/dist/chunks/search-BqqhaMx9.cjs +0 -26
  228. package/dist/chunks/switch-BytP6QY8.cjs +0 -139
  229. package/dist/types/components/interactions/configuration-popover.d.ts +0 -1
  230. package/dist/types/components/interactions/interaction-card.d.ts +0 -59
  231. package/dist/types/components/interactions/interaction-event-handler.d.ts +0 -11
  232. package/dist/types/components/interactions/interactions-list.d.ts +0 -50
  233. package/dist/types/components/interactions/panels/cross-filter-panel.d.ts +0 -24
  234. package/dist/types/components/interactions/panels/inline-drill-panel.d.ts +0 -24
  235. package/dist/types/components/interactions/selectors/action-selector.d.ts +0 -31
  236. package/dist/types/components/interactions/selectors/trigger-selector.d.ts +0 -38
  237. package/dist/types/components/surfboard/filter/click-filter-section.d.ts +0 -5
  238. package/dist/types/lib/interactions/build-interaction-event.d.ts +0 -25
  239. package/dist/types/lib/interactions/convert-click-filters-to-filter-group.d.ts +0 -10
  240. package/dist/types/lib/interactions/execute-interaction-event.d.ts +0 -80
  241. package/dist/types/lib/interactions/field-utils.d.ts +0 -11
  242. package/dist/types/lib/interactions/handle-chart-click.d.ts +0 -75
  243. package/dist/types/lib/interactions/linked-interaction-utils.d.ts +0 -14
  244. package/dist/types/lib/interactions/source-card-filter-utils.d.ts +0 -9
  245. package/dist/types/lib/stores/drill-actions.d.ts +0 -139
  246. package/dist/types/lib/stores/interaction-store.d.ts +0 -113
  247. package/dist/types/lib/stores/pointer-interaction-store.d.ts +0 -18
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../chunks/raw-temporal-BUeTpG76.cjs");require("../chunks/validators-DVYAnnX0.cjs");require("../chunks/matrix-continuation-6nhDy-lF.cjs");require("../chunks/matrix-operation-contract-D9dLX-Wr.cjs");require("../value-format-preferences/index.cjs");require("../chunks/pivot-result-lifecycle-DZ0ZSMoM.cjs");const e=require("../chunks/index-BlYf8gNa.cjs");exports.BRIEFING_ARTIFACT_FORMATS=e.BRIEFING_ARTIFACT_FORMATS;exports.BRIEFING_CONTENT_LIMITS=e.BRIEFING_CONTENT_LIMITS;exports.BRIEFING_KIND=e.BRIEFING_KIND;exports.BRIEFING_TEXT_LIMITS=e.BRIEFING_TEXT_LIMITS;exports.BriefingContractError=e.BriefingContractError;exports.DEFAULT_BRIEFING_ARTIFACT_FORMATS=e.DEFAULT_BRIEFING_ARTIFACT_FORMATS;exports.DEFAULT_BRIEFING_SCHEDULE=e.DEFAULT_BRIEFING_SCHEDULE;exports.MAX_BRIEFING_ATTACHMENTS=e.MAX_BRIEFING_ATTACHMENTS;exports.buildBriefingJobConfig=e.buildBriefingJobConfig;exports.buildBriefingScheduleExpr=e.buildBriefingScheduleExpr;exports.buildCreateBriefingRequest=e.buildCreateBriefingRequest;exports.buildDashboardTemporalSnapshotEntries=e.buildDashboardTemporalSnapshotEntries;exports.buildMatrixDeliveryEnvelope=e.buildMatrixDeliveryEnvelope;exports.buildUpdateBriefingRequest=e.buildUpdateBriefingRequest;exports.canCreateBriefingForUser=e.canCreateBriefingForUser;exports.captureMatrixExport=e.captureMatrixExport;exports.describeBriefingSchedule=e.describeBriefingSchedule;exports.formatBriefingComparisonValues=e.formatBriefingComparisonValues;exports.formatBriefingDisplayValue=e.formatBriefingDisplayValue;exports.getBriefingCardAttachmentCapability=e.getBriefingCardAttachmentCapability;exports.getBriefingCardAttachmentFormats=e.getBriefingCardAttachmentFormats;exports.getBriefingCreationIntents=e.getBriefingCreationIntents;exports.getBriefingDisplayTypeLabel=e.getBriefingDisplayTypeLabel;exports.getBriefingPresentation=e.getBriefingPresentation;exports.getDefaultBriefingCardAttachmentFormat=e.getDefaultBriefingCardAttachmentFormat;exports.isBriefingArtifactFormat=e.isBriefingArtifactFormat;exports.isBriefingDeliveryChannel=e.isBriefingDeliveryChannel;exports.isBriefingNumericValue=e.isBriefingNumericValue;exports.isEmailOnlyBriefingDelivery=e.isEmailOnlyBriefingDelivery;exports.isValidBriefingTimezone=e.isValidBriefingTimezone;exports.matrixDeliveryPayloadSchema=e.matrixDeliveryPayloadSchema;exports.matrixDeliveryQuerySchema=e.matrixDeliveryQuerySchema;exports.normalizeBriefingContentDocument=e.normalizeBriefingContentDocument;exports.normalizeBriefingDraft=e.normalizeBriefingDraft;exports.normalizeBriefingJobConfig=e.normalizeBriefingJobConfig;exports.parseBriefingScheduleExpr=e.parseBriefingScheduleExpr;exports.validateBriefingContentDocument=e.validateBriefingContentDocument;exports.validateBriefingDraft=e.validateBriefingDraft;exports.validateBriefingJobConfig=e.validateBriefingJobConfig;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../chunks/raw-temporal-BUeTpG76.cjs");require("../chunks/validators-DVYAnnX0.cjs");require("../chunks/matrix-continuation-6nhDy-lF.cjs");require("../chunks/matrix-operation-contract-DoiWTUbT.cjs");require("../value-format-preferences/index.cjs");require("../chunks/pivot-result-lifecycle-BiERyXnS.cjs");const e=require("../chunks/index-DhlVxvyI.cjs");exports.BRIEFING_ARTIFACT_FORMATS=e.BRIEFING_ARTIFACT_FORMATS;exports.BRIEFING_CONTENT_LIMITS=e.BRIEFING_CONTENT_LIMITS;exports.BRIEFING_KIND=e.BRIEFING_KIND;exports.BRIEFING_TEXT_LIMITS=e.BRIEFING_TEXT_LIMITS;exports.BriefingContractError=e.BriefingContractError;exports.DEFAULT_BRIEFING_ARTIFACT_FORMATS=e.DEFAULT_BRIEFING_ARTIFACT_FORMATS;exports.DEFAULT_BRIEFING_SCHEDULE=e.DEFAULT_BRIEFING_SCHEDULE;exports.MAX_BRIEFING_ATTACHMENTS=e.MAX_BRIEFING_ATTACHMENTS;exports.buildBriefingJobConfig=e.buildBriefingJobConfig;exports.buildBriefingScheduleExpr=e.buildBriefingScheduleExpr;exports.buildCreateBriefingRequest=e.buildCreateBriefingRequest;exports.buildDashboardTemporalSnapshotEntries=e.buildDashboardTemporalSnapshotEntries;exports.buildMatrixDeliveryEnvelope=e.buildMatrixDeliveryEnvelope;exports.buildUpdateBriefingRequest=e.buildUpdateBriefingRequest;exports.canCreateBriefingForUser=e.canCreateBriefingForUser;exports.captureMatrixExport=e.captureMatrixExport;exports.describeBriefingSchedule=e.describeBriefingSchedule;exports.formatBriefingComparisonValues=e.formatBriefingComparisonValues;exports.formatBriefingDisplayValue=e.formatBriefingDisplayValue;exports.getBriefingCardAttachmentCapability=e.getBriefingCardAttachmentCapability;exports.getBriefingCardAttachmentFormats=e.getBriefingCardAttachmentFormats;exports.getBriefingCreationIntents=e.getBriefingCreationIntents;exports.getBriefingDisplayTypeLabel=e.getBriefingDisplayTypeLabel;exports.getBriefingPresentation=e.getBriefingPresentation;exports.getDefaultBriefingCardAttachmentFormat=e.getDefaultBriefingCardAttachmentFormat;exports.isBriefingArtifactFormat=e.isBriefingArtifactFormat;exports.isBriefingDeliveryChannel=e.isBriefingDeliveryChannel;exports.isBriefingNumericValue=e.isBriefingNumericValue;exports.isEmailOnlyBriefingDelivery=e.isEmailOnlyBriefingDelivery;exports.isValidBriefingTimezone=e.isValidBriefingTimezone;exports.matrixDeliveryPayloadSchema=e.matrixDeliveryPayloadSchema;exports.matrixDeliveryQuerySchema=e.matrixDeliveryQuerySchema;exports.normalizeBriefingContentDocument=e.normalizeBriefingContentDocument;exports.normalizeBriefingDraft=e.normalizeBriefingDraft;exports.normalizeBriefingJobConfig=e.normalizeBriefingJobConfig;exports.parseBriefingScheduleExpr=e.parseBriefingScheduleExpr;exports.validateBriefingContentDocument=e.validateBriefingContentDocument;exports.validateBriefingDraft=e.validateBriefingDraft;exports.validateBriefingJobConfig=e.validateBriefingJobConfig;
@@ -1,10 +1,10 @@
1
1
  import "../chunks/raw-temporal-CUJ86xHI.js";
2
2
  import "../chunks/validators-BDYzZFgs.js";
3
3
  import "../chunks/matrix-continuation-C4sRcjZU.js";
4
- import "../chunks/matrix-operation-contract-Cqy4EW2H.js";
4
+ import "../chunks/matrix-operation-contract-xL8IhFzp.js";
5
5
  import "../value-format-preferences/index.js";
6
- import "../chunks/pivot-result-lifecycle-BSmqVkVG.js";
7
- import { aa as f, ae as g, a9 as l, ad as B, ai as m, ab as d, a1 as p, ac as E, am as I, a0 as u, ao as C, B as T, E as D, ap as c, a3 as F, D as A, d as _, ah as b, ag as R, Z as h, C as y, a as N, ax as S, g as v, aw as x, as as M, at as G, af as L, a2 as U, _ as z, au as O, av as V, aj as q, an as J, al as H, $ as P, ak as X, aq as j, ar as k } from "../chunks/index-BVr4fcCB.js";
6
+ import "../chunks/pivot-result-lifecycle-CmjpW7qG.js";
7
+ import { aa as f, ae as g, a9 as l, ad as B, ai as m, ab as d, a1 as p, ac as E, am as I, a0 as u, ao as C, B as T, E as D, ap as c, a3 as F, D as A, d as _, ah as b, ag as R, Z as h, C as y, a as N, ax as S, g as v, aw as x, as as M, at as G, af as L, a2 as U, _ as z, au as O, av as V, aj as q, an as J, al as H, $ as P, ak as X, aq as j, ar as k } from "../chunks/index-0pdaQ9e1.js";
8
8
  export {
9
9
  f as BRIEFING_ARTIFACT_FORMATS,
10
10
  g as BRIEFING_CONTENT_LIMITS,
@@ -0,0 +1 @@
1
+ "use strict";const C=require("react"),g=require("./color-CyB5o13F.cjs"),d=require("./index-Cx3qmRUB.cjs"),E={background:"--semaphor-background",foreground:"--semaphor-foreground",muted:"--semaphor-muted",mutedForeground:"--semaphor-muted-foreground",border:"--semaphor-border",input:"--semaphor-input",primary:"--semaphor-primary",primaryForeground:"--semaphor-primary-foreground",accent:"--semaphor-accent",accentForeground:"--semaphor-accent-foreground",selection:"--semaphor-selection",card:"--semaphor-card",cardForeground:"--semaphor-card-foreground",positive:"--semaphor-positive",negative:"--semaphor-negative",warning:"--semaphor-warning",info:"--semaphor-info",destructive:"--semaphor-destructive",destructiveForeground:"--semaphor-destructive-foreground"},k={light:{"--semaphor-code-string":"158 64% 22%","--semaphor-code-number":"158 64% 22%","--semaphor-code-boolean":"158 64% 22%","--semaphor-code-fn":"217 91% 40%","--semaphor-code-keyword":"263 70% 42%"},dark:{"--semaphor-code-string":"158 64% 52%","--semaphor-code-number":"158 64% 52%","--semaphor-code-boolean":"158 64% 52%","--semaphor-code-fn":"213 94% 68%","--semaphor-code-keyword":"264 89% 74%"}};function _(e){var a,c,s,u,f,p,h,i;const o=e.defaults??d.SEMAPHOR_DEFAULT_APPEARANCE_SPEC,n=e.mode??x(e.spec.mode,e.systemMode),r=e.spec.schemes[n]??o.schemes[n],m=((a=r.tokens)==null?void 0:a.color)??{},t={...k[n]};for(const[l,R]of Object.entries(E)){const A=m[l];if(!A)continue;const F=g.compileColorToHslTriplet(A);if(!F)throw new Error(`Invalid compiled appearance color for ${l}`);t[R]=F}return T(t,(c=r.tokens)==null?void 0:c.radius),O(t,(s=r.tokens)==null?void 0:s.typography),{mode:n,scheme:r,cssVariables:t,colorValues:m,chartPalette:((f=(u=r.components)==null?void 0:u.chart)==null?void 0:f.palette)??((h=(p=o.schemes[n].components)==null?void 0:p.chart)==null?void 0:h.palette)??d.SEMAPHOR_DEFAULT_CHART_PALETTE,table:(i=r.components)==null?void 0:i.table}}function O(e,o){o!=null&&o.fontFamily&&(e["--semaphor-font-family"]=o.fontFamily),o!=null&&o.headingFontFamily&&(e["--semaphor-heading-font-family"]=o.headingFontFamily),o!=null&&o.monoFontFamily&&(e["--semaphor-mono-font-family"]=o.monoFontFamily),(o==null?void 0:o.baseFontSize)!==void 0&&(e["--semaphor-font-size"]=`${o.baseFontSize}px`)}function T(e,o){e["--semaphor-brand"]=e["--semaphor-primary"]??e["--semaphor-foreground"],e["--semaphor-secondary"]=e["--semaphor-accent"]??e["--semaphor-muted"],e["--semaphor-secondary-foreground"]=e["--semaphor-accent-foreground"]??e["--semaphor-foreground"],e["--semaphor-popover"]=e["--semaphor-card"]??e["--semaphor-background"],e["--semaphor-popover-foreground"]=e["--semaphor-card-foreground"]??e["--semaphor-foreground"],e["--semaphor-ring"]=e["--semaphor-primary"]??e["--semaphor-foreground"];const n=S((o==null?void 0:o.control)??5),r=S((o==null?void 0:o.card)??(o==null?void 0:o.control)??5);e["--semaphor-radius"]=n,e["--semaphor-control-radius"]=n,e["--semaphor-card-radius"]=r}function S(e){return`${Number((e/16).toFixed(4))}rem`}function x(e,o="light"){return e==="system"?o:e}const z=_({spec:d.resolveAppearance(),mode:"light"}),v=C.createContext(P("semaphor-default-appearance",z));function L(){return C.useContext(v)}function P(e,o){return{instanceId:e,compiledAppearance:o,scopeProps:M(e,o),portalSnapshot:{instanceId:e,compiledAppearance:o}}}function M(e,o){return{className:o.mode,style:w(o),"data-semaphor-theme":o.mode,"data-semaphor-appearance-instance":e}}function w(e){var t,a;const o={colorScheme:e.mode};e.cssVariables["--semaphor-font-family"]&&(o.fontFamily="var(--semaphor-font-family)");const r=(t=e.scheme.tokens)==null?void 0:t.typography,m=(a=d.SEMAPHOR_DEFAULT_APPEARANCE_SPEC.schemes[e.mode].tokens)==null?void 0:a.typography;(r==null?void 0:r.baseFontSize)!==void 0&&r.baseFontSize!==(m==null?void 0:m.baseFontSize)&&(o.fontSize=r.baseFontSize);for(const[c,s]of Object.entries(e.cssVariables))o[c]=s;return o}exports.APPEARANCE_COLOR_CSS_VARS=E;exports.AppearanceContext=v;exports.compileAppearance=_;exports.createAppearanceContextValue=P;exports.useAppearance=L;
@@ -1,6 +1,6 @@
1
1
  import { createContext as g, useContext as C } from "react";
2
2
  import { c as E } from "./color-CJvdlFM_.js";
3
- import { S as v, a as _, r as k } from "./index-C9KXfCkC.js";
3
+ import { S as v, a as _, r as k } from "./index-CLIro-EG.js";
4
4
  const P = {
5
5
  background: "--semaphor-background",
6
6
  foreground: "--semaphor-foreground",
@@ -12,6 +12,7 @@ const P = {
12
12
  primaryForeground: "--semaphor-primary-foreground",
13
13
  accent: "--semaphor-accent",
14
14
  accentForeground: "--semaphor-accent-foreground",
15
+ selection: "--semaphor-selection",
15
16
  card: "--semaphor-card",
16
17
  cardForeground: "--semaphor-card-foreground",
17
18
  positive: "--semaphor-positive",
@@ -1,7 +1,7 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
2
  import { createContext as w, useId as y, useMemo as m, useContext as M, useState as v, useEffect as A } from "react";
3
- import { c as T, a as x, A as I } from "./appearance-context-XviHOhWJ.js";
4
- import { r as g } from "./index-C9KXfCkC.js";
3
+ import { c as T, a as x, A as I } from "./appearance-context-VJdrKi7r.js";
4
+ import { r as g } from "./index-CLIro-EG.js";
5
5
  const k = {
6
6
  theme: "system",
7
7
  setTheme: () => null
@@ -1 +1 @@
1
- "use strict";const f=require("react/jsx-runtime"),r=require("react"),d=require("./appearance-context-tNjvTJj3.cjs"),y=require("./index-C8XCKzB6.cjs"),T={theme:"system",setTheme:()=>null},l=r.createContext(T);function M(e,n="system"){return A(e)?e:n}function A(e){return e==="light"||e==="dark"||e==="system"}function C(e){return f.jsx(v,{...e})}function v({appearance:e,organizationAppearance:n,tokenAppearance:a,reactAppearance:i,resolvedAppearance:t,systemMode:o,children:m}){const s=r.useId(),c=r.useMemo(()=>I(s),[s]),{theme:x}=r.useContext(l),u=P(x),p=r.useMemo(()=>t??y.resolveAppearance({organizationAppearance:n,tokenAppearance:a,reactAppearance:i??e}),[e,n,i,t,a]),h=r.useMemo(()=>d.compileAppearance({spec:p,systemMode:o??u}),[p,u,o]),w=r.useMemo(()=>d.createAppearanceContextValue(c,h),[h,c]);return f.jsx(d.AppearanceContext.Provider,{value:w,children:m})}function I(e){return`semaphor-appearance-${e.replace(/[^a-zA-Z0-9_-]/g,"")}`}function P(e){const n=M(e),[a,i]=r.useState(()=>R());return r.useEffect(()=>{var m,s;if(n!=="system"||typeof window>"u")return;const t=(m=window.matchMedia)==null?void 0:m.call(window,"(prefers-color-scheme: dark)");if(!t)return;const o=()=>{i(t.matches?"dark":"light")};return o(),typeof t.addEventListener=="function"?(t.addEventListener("change",o),()=>t.removeEventListener("change",o)):((s=t.addListener)==null||s.call(t,o),()=>{var c;return(c=t.removeListener)==null?void 0:c.call(t,o)})},[n]),n==="system"?a:n}function R(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}exports.AppearanceRuntimeProvider=C;exports.InternalAppearanceRuntimeProvider=v;exports.ThemeProviderContext=l;exports.normalizeTheme=M;
1
+ "use strict";const f=require("react/jsx-runtime"),r=require("react"),d=require("./appearance-context-DzqCdhB4.cjs"),y=require("./index-Cx3qmRUB.cjs"),T={theme:"system",setTheme:()=>null},l=r.createContext(T);function M(e,n="system"){return A(e)?e:n}function A(e){return e==="light"||e==="dark"||e==="system"}function C(e){return f.jsx(v,{...e})}function v({appearance:e,organizationAppearance:n,tokenAppearance:a,reactAppearance:i,resolvedAppearance:t,systemMode:o,children:m}){const s=r.useId(),c=r.useMemo(()=>I(s),[s]),{theme:x}=r.useContext(l),u=P(x),p=r.useMemo(()=>t??y.resolveAppearance({organizationAppearance:n,tokenAppearance:a,reactAppearance:i??e}),[e,n,i,t,a]),h=r.useMemo(()=>d.compileAppearance({spec:p,systemMode:o??u}),[p,u,o]),w=r.useMemo(()=>d.createAppearanceContextValue(c,h),[h,c]);return f.jsx(d.AppearanceContext.Provider,{value:w,children:m})}function I(e){return`semaphor-appearance-${e.replace(/[^a-zA-Z0-9_-]/g,"")}`}function P(e){const n=M(e),[a,i]=r.useState(()=>R());return r.useEffect(()=>{var m,s;if(n!=="system"||typeof window>"u")return;const t=(m=window.matchMedia)==null?void 0:m.call(window,"(prefers-color-scheme: dark)");if(!t)return;const o=()=>{i(t.matches?"dark":"light")};return o(),typeof t.addEventListener=="function"?(t.addEventListener("change",o),()=>t.removeEventListener("change",o)):((s=t.addListener)==null||s.call(t,o),()=>{var c;return(c=t.removeListener)==null?void 0:c.call(t,o)})},[n]),n==="system"?a:n}function R(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}exports.AppearanceRuntimeProvider=C;exports.InternalAppearanceRuntimeProvider=v;exports.ThemeProviderContext=l;exports.normalizeTheme=M;
@@ -0,0 +1 @@
1
+ "use strict";var be=Object.defineProperty;var ve=(e,t,n)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var H=(e,t,n)=>ve(e,typeof t!="symbol"?t+"":t,n);const p=require("./validators-DVYAnnX0.cjs");require("./matrix-operation-contract-DoiWTUbT.cjs");const $=require("./field-aggregations-jSi77h9Z.cjs"),U=require("./matrix-analytical-definition-Ct5Tu8np.cjs"),A=require("./stable-serialize-jqCpyZvd.cjs"),Z=(e,t)=>{const n={};if(e===null||t===null)return t;const r=new Set([...Object.keys(e),...Object.keys(t)]);for(const i of r){if(!(i in e)&&i in t){n[i]=t[i];continue}if(i in e&&!(i in t)){n[i]=void 0;continue}const a=e[i],s=t[i];if(!M(a,s))if(Array.isArray(a)&&Array.isArray(s))n[i]=s;else if(V(a)&&V(s)){const o=Z(a,s);Object.keys(o).length>0&&(n[i]=o)}else n[i]=s}return n},M=(e,t)=>{if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))return e.length!==t.length?!1:e.every((i,a)=>M(i,t[a]));const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>M(e[i],t[i]))}return!1},V=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),N=e=>{if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(n=>N(n));const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=N(e[n]));return t},L={kind:"allSheets"},S=(e,t)=>(t==null?void 0:t[e])??e;function ee(e,t){switch(e.kind){case"cards":return{kind:"cards",cardIds:e.cardIds.map(n=>S(n,t.cardIds))};case"sheets":return{kind:"sheets",sheetIds:e.sheetIds.map(n=>S(n,t.sheetIds))};case"documentSections":return{...e,sheetId:S(e.sheetId,t.sheetIds),sectionIds:e.sectionIds.map(n=>S(n,t.sectionIds))};default:return e}}function te(e,t){return{...e,targets:ee(e.targets,t),cardMappings:e.cardMappings.map(n=>({...n,cardId:S(n.cardId,t.cardIds)}))}}function Fe(e,t){return{...e.targets!==void 0?{targets:e.targets&&ee(e.targets,t)}:{},...e.cardMappings!==void 0?{cardMappings:e.cardMappings&&e.cardMappings.map(n=>({...n,cardId:S(n.cardId,t.cardIds)}))}:{}}}function De(e,t){return t?{...e,targets:t.targets===void 0?e.targets:t.targets??L,cardMappings:t.cardMappings===void 0?e.cardMappings:t.cardMappings??[]}:e}const O=(e,t)=>JSON.stringify(e)===JSON.stringify(t);function ke(e,t){const n={};return O(e.targets,t.targets)||(n.targets=O(e.targets,L)?null:e.targets),O(e.cardMappings,t.cardMappings)||(n.cardMappings=e.cardMappings.length?e.cardMappings:null),Object.keys(n).length?n:void 0}function Te(e,t){return{...e,targets:(t==null?void 0:t.targets)??L,cardMappings:(t==null?void 0:t.cardMappings)??[]}}function _e(e){const t=Object.values(e.linkedInteractionTargetOverrides??{});if(!t.length)return;const n={};if(t.some(a=>a.applyToCardIds!==void 0)){const a=t.flatMap(s=>Array.isArray(s.applyToCardIds)?[s.applyToCardIds]:[]);n.targets=a.length===t.length?{kind:"cards",cardIds:[...new Set(a.flat())]}:null}const i=t.filter(a=>!Array.isArray(a.applyToCardIds));if(i.some(a=>a.excludeCardIds!==void 0)){const a=[...new Set(i.flatMap(s=>s.excludeCardIds??[]))].filter(s=>i.every(o=>{var l;return(l=o.excludeCardIds)==null?void 0:l.includes(s)}));n.cardMappings=a.length?a.map(s=>({kind:"excluded",cardId:s})):null}return Object.keys(n).length?n:void 0}const W=/\[\[\s*param\.([A-Za-z0-9_.-]+)\s*\]\]/g,Y=/\bparam\s*\(\s*(['"])([^'"]+)\1/g;function Se(e){const t=[];let n=0;for(;n<e.length;){const r=e.indexOf("{{",n),i=e.indexOf("{%",n);let a=-1,s="";if(r===-1?(a=i,s="%}"):i===-1||r<i?(a=r,s="}}"):(a=i,s="%}"),a===-1)break;const o=e.indexOf(s,a+2);if(o===-1){n=a+2;continue}t.push(e.slice(a+2,o)),n=o+2}return t}function z(e){var r,i;if(!e)return[];const t=new Set;let n;for(W.lastIndex=0;(n=W.exec(e))!==null;){const a=(r=n[1])==null?void 0:r.trim();a&&t.add(a)}for(const a of Se(e))for(Y.lastIndex=0;(n=Y.exec(a))!==null;){const s=(i=n[2])==null?void 0:i.trim();s&&t.add(s)}return Array.from(t)}function Ae(e){const t=new Set,n=new Map;for(const r of e.controlBindings||[])t.add(r.controlId),r.target==="sql_param"&&n.set(r.paramId,r.controlId);for(const r of z(e.sql))t.add(n.get(r)??r);return Array.from(t)}function ne(e){const t=new Map,n=new Map;for(const r of e.controlBindings||[])r.target==="sql_param"&&n.set(r.paramId,r.controlId);for(const r of z(e.sql))t.set(r,{paramId:r,controlId:n.get(r)??r});return Array.from(t.values())}function xe(e,t){var i;const n=(i=e.controlBindings)==null?void 0:i.map(a=>({...a,controlId:t.get(a.controlId)??a.controlId})),r=ne(e).flatMap(({paramId:a,controlId:s})=>{var l;const o=t.get(s);return!o||o===s||(l=e.controlBindings)!=null&&l.some(d=>d.target==="sql_param"&&d.paramId===a)?[]:[{target:"sql_param",paramId:a,controlId:o}]});return r.length?[...n??[],...r]:n}function re(e,t){var i,a;const n=e.source==="dashboardInputAlias"?((i=t.inputAliases)==null?void 0:i[e.variableName])??e:e,r=e.source==="dashboardInputAlias"&&n!==e?{...n,export:e.export??"label"}:n;return r.source==="dashboardInput"?{...r,inputId:((a=t.inputIds)==null?void 0:a[r.inputId])??r.inputId}:r}function Ne(e,t){var i;const n={};for(const a of["cardIds","sheetIds","inputIds","controlIds","filterIds"]){const s={...t[a]};for(const[o,l]of Object.entries((e==null?void 0:e[a])??{}))s[o]=((i=t[a])==null?void 0:i[l])??l;Object.keys(s).length&&(n[a]=s)}const r={...t.inputAliases};for(const[a,s]of Object.entries((e==null?void 0:e.inputAliases)??{}))r[a]=re(s,t);return Object.keys(r).length&&(n.inputAliases=r),n}function we(e,t){var i,a,s,o;const n=N(e);n.controlBindings=xe(e,new Map(Object.entries(t.controlIds??{})));for(const l of n.controls??[])l.id=((i=t.controlIds)==null?void 0:i[l.id])??l.id;for(const l of n.inlineFilters??[])l.id=((a=t.filterIds)==null?void 0:a[l.id])??l.id;const r=l=>{var m,f,u;if(!l||typeof l!="object")return;if(Array.isArray(l)){l.forEach(r);return}const d=l;if(d.type==="variable"&&d.ref&&typeof d.ref=="object"){const h=d.ref;d.ref=h.source==="input"?{...h,inputId:((m=t.inputIds)==null?void 0:m[h.inputId])??h.inputId}:re(h,t)}if(typeof d.entityId=="string"){const h=d.entityId;d.fieldScope==="card"&&(d.entityId=((f=t.cardIds)==null?void 0:f[h])??h),d.fieldScope==="sheet"&&(d.entityId=((u=t.sheetIds)==null?void 0:u[h])??h)}for(const[h,D]of Object.entries(d))h!=="linkedReferenceOverrides"&&r(D)};r(n),n.clickToFilter&&(n.clickToFilter=te(n.clickToFilter,t));for(const l of Object.values(((s=n.customCardPreferences)==null?void 0:s.dataInputCardIds)??{}))l.cardId=((o=t.cardIds)==null?void 0:o[l.cardId])??l.cardId;return n}function R(e){return(e==null?void 0:e.trim())||void 0}function K(e){return e.split(".").at(-1)||e}function G(e,t){var l,d;const n=R(t);if(!n)return;const r=K(n),i=R((l=e.fieldMeta)==null?void 0:l.name);if(i&&i!==n&&i!==r)return;const a=R((d=e.fieldMeta)==null?void 0:d.qualifiedFieldName);if(a&&K(a)!==r)return;const s=n.includes(".")?n:void 0,o=a!=null&&a.includes(".")?a:void 0;if(!(s&&o&&s!==o))return{leafName:r,...s||o?{qualifiedFieldName:s||o}:{}}}function J(e,t){return G(e,t)||G({},t)}function X({source:e,sourceFieldName:t,target:n,targetFieldName:r}){const i=J(e,t),a=J(n,r);return!i||!a||i.leafName!==a.leafName?!1:a.qualifiedFieldName?i.qualifiedFieldName===a.qualifiedFieldName:!0}function w(e,t){var i,a;const n=Ce(e);if(n)return n;const r=(a=(i=e==null?void 0:e.fieldMeta)==null?void 0:i.nativeDataType)==null?void 0:a.trim();if(j(e==null?void 0:e.fieldMeta,t)&&r&&r!=="date"&&r!=="datetime")return r}function Ce(e){var n;const t=(n=e==null?void 0:e.nativeDataType)==null?void 0:n.trim();return t&&t!=="date"&&t!=="datetime"?t:void 0}function j(e,t){var s,o;const n=t.trim();if(!n)return!1;const r=n.split(".").at(-1),i=(s=e==null?void 0:e.qualifiedFieldName)==null?void 0:s.trim();if(i&&!(i===n||!i.includes(".")&&i===r))return!1;const a=(o=e==null?void 0:e.name)==null?void 0:o.trim();return a&&a!==n&&a!==r?!1:!!(i||a)}function Oe({fieldName:e,definition:t,value:n}){if((t==null?void 0:t.column)===e){const r=w(t,e);if(r)return r}return(n==null?void 0:n.name)===e?w(n,e):void 0}function ie({definition:e,value:t,sourceValue:n=t}){const r=e&&X({source:e,sourceFieldName:e.column,target:t,targetFieldName:t.name})?e:void 0,i=n&&X({source:n,sourceFieldName:n.name,target:t,targetFieldName:t.name})?n:void 0,a=(r?w(r,r.column):void 0)||(i?w(i,i.name):void 0);return ae({carrier:t,nativeDataType:a,projectNestedNativeDataType:j(t.fieldMeta,t.name)})}function Re({filterDefinitions:e,filterValues:t}){if(!(e!=null&&e.length)||!t.length)return t;const n=new Map(e.map(a=>[a.id,a]));let r=!1;const i=t.map(a=>{if(typeof a.name!="string"||!a.name.trim())return a;const s=n.get(a.filterId);if(!s)return a;const o=ie({definition:s,value:a});return r||(r=o!==a),o});return r?i:t}function $e(e){const t=Oe({fieldName:e.column,definition:e});return ae({carrier:e,nativeDataType:t,projectNestedNativeDataType:j(e.fieldMeta,e.column)})}function ae({carrier:e,nativeDataType:t,projectNestedNativeDataType:n}){var d;const r=(d=e.fieldMeta)==null?void 0:d.nativeDataType;if(t){if(e.nativeDataType===t&&(!e.fieldMeta||(n?r===t:!r)))return e;const{nativeDataType:m,...f}=e.fieldMeta||{};return{...e,nativeDataType:t,...e.fieldMeta?{fieldMeta:n?{...e.fieldMeta,nativeDataType:t}:f}:{}}}if(e.nativeDataType===void 0&&r===void 0)return e;const{nativeDataType:i,fieldMeta:a,...s}=e,{nativeDataType:o,...l}=a||{};return{...s,...a?{fieldMeta:l}:{}}}function Q(e){const t=new Set;for(const n of[e.name,e.sourceField]){if(!n)continue;const r=p.normalizeAnalyticsCatalogName(n);if(!r)continue;t.add(r);const i=r.split("."),a=i[i.length-1];a&&t.add(a)}return t}function oe(e,t){const n=p.normalizeAnalyticsCatalogDataType(e),r=p.normalizeAnalyticsCatalogDataType(t);return n==="unknown"||r==="unknown"?!1:(n==="date"||n==="datetime")&&(r==="date"||r==="datetime")?!0:n===r}function Me(e,t){return p.semaphorSourcesReferToSameDataset(e.field.source,t.field.source)&&p.normalizeAnalyticsCatalogName(e.field.name)===p.normalizeAnalyticsCatalogName(t.field.name)&&p.normalizeAnalyticsCatalogName(e.field.sourceField||e.field.name)===p.normalizeAnalyticsCatalogName(t.field.sourceField||t.field.name)}function se(e,t){if(e.kind!=="field")return!1;const n=Q(t),r=Q(e.field);return oe(t.dataType,e.field.dataType)&&[...r].some(i=>n.has(i))}function Ee(e){const t=e.candidates.filter(n=>se(n,e.logicalValueField));return t.length===1?{status:"matched",target:t[0]}:t.length>1?{status:"ambiguous"}:{status:"notApplicable"}}function Pe(e){const t=[];for(const n of e.acceptedTargets)!oe(e.logicalValueField.dataType,n.field.dataType)||t.some(r=>Me(r,n))||t.push(n);return t.length===1?{status:"matched",target:t[0]}:t.length>1?{status:"ambiguous"}:{status:"notApplicable"}}const Le=/\{\{-?\s*filters\s*\|\s*where\s*-?\}\}/i,ze=/\{\{-?\s*filters\s*\|\s*and\s*-?\}\}/i,je=/\bwhere\b/i;function de(e){return e!=null&&e.trim()?Le.test(e)||ze.test(e):!1}function Be(e){return!(e!=null&&e.trim())||de(e)?null:je.test(e)?{helper:"{{ filters | and }}",description:"For queries with an existing WHERE clause."}:{helper:"{{ filters | where }}",description:"For queries without a WHERE clause."}}function qe(e){return(e.field.sourceField||e.field.name).trim()||void 0}function He(e){if(e.inventory.kind!=="sql"||e.target.kind!=="field")return{status:"ineligible"};const t=$.findDashboardSqlPinnedCatalogSource(e.inventory,e.target.field.source),n=qe(e.target);if(!t||!n)return{status:"ineligible"};if(t.executionTable){const s=[t.executionTable.databaseName,t.executionTable.schemaName,t.executionTable.tableName,n].filter(Boolean).join(".");return{status:"eligible",source:t.source,executionIdentifier:s}}if(e.inventory.pinnedCatalogSources.length!==1)return{status:"ineligible"};const r=p.normalizeAnalyticsCatalogName(n),i=(e.candidateTargets||[]).filter(s=>p.normalizeAnalyticsCatalogName(s.field.sourceField||s.field.name)===r),a=[];for(const s of i)a.some(o=>p.semaphorSourcesReferToSameDataset(o,s.field.source))||a.push(s.field.source);return a.length>1?{status:"ineligible"}:{status:"eligible",source:t.source,executionIdentifier:n}}const le=Object.freeze({mode:"all_applicable"});function ce(e){if(e===void 0)return{ok:!0,dependencies:{...le}};const t=p.validateSemaphorOptionDependencies(e,"dashboard");if(!t.ok)return{ok:!1,error:"Invalid dashboard option dependency policy.",issues:t.errors.map(r=>r.message)};const n=e;switch(n.mode){case"independent":return{ok:!0,dependencies:{mode:"independent"}};case"explicit":return{ok:!0,dependencies:{mode:"explicit",includeInputIds:[...n.includeInputIds||[]]}};case"all_applicable":return{ok:!0,dependencies:{mode:"all_applicable",...n.excludeInputIds?{excludeInputIds:[...n.excludeInputIds]}:{}}};default:return{ok:!1,error:"Invalid dashboard option dependency policy.",issues:["Dashboard option dependencies must declare a mode."]}}}function ue(e){if(e===void 0)return{ok:!0,population:void 0};const t={ok:!1,error:"Invalid option population."};if(!e||typeof e!="object"||Array.isArray(e))return t;const n=e;if(n.kind==="option_source")return{ok:!0,population:{kind:"option_source"}};if(n.kind!=="related_population")return t;const r=n.baseSource;if(!r||r.kind!=="semantic"||!p.hasCompleteSemaphorSourceIdentity(r))return t;const i=n.relationshipHint;return i!==void 0&&(!i||typeof i!="object"||i.relationshipIds!==void 0&&(!Array.isArray(i.relationshipIds)||i.relationshipIds.some(a=>typeof a!="string"||!a.trim())))?t:{ok:!0,population:{kind:"related_population",baseSource:r,...i?{relationshipHint:i}:{}}}}function Ue(e){const{dependencies:t}=e,n=new Set([e.targetInputId,...t.excludeInputIds||[]]);return t.mode==="independent"?[]:t.mode==="explicit"?(t.includeInputIds||[]).filter(r=>!n.has(r)):e.peerInputIds.filter(r=>!n.has(r))}function Ve(e,t,n){if(t===n)return e;let r=!1;const i=s=>s!=null&&s.includes(t)?(r=!0,Array.from(new Set(s.map(o=>o===t?n:o)))):s,a=e.map(s=>{const o=s.optionDependencies;if(!o)return s;const l=i(o.includeInputIds),d=i(o.excludeInputIds);return l===o.includeInputIds&&d===o.excludeInputIds?s:{...s,optionDependencies:{...o,...l?{includeInputIds:l}:{},...d?{excludeInputIds:d}:{}}}});return r?a:e}function We(e,t){const n=fe(e.dependencies,t);return n===e.dependencies?e:{...e,dependencies:n}}function fe(e,t){if(!(t!=null&&t.length)||e.mode!=="explicit")return e;const n=new Set(e.includeInputIds||[]),r=Array.from(new Set(t)).filter(i=>n.has(i));return r.length?{...e,omitInputIds:r}:e}class pe extends Error{constructor(n){super(n.map(r=>r.message).join(" "));H(this,"issues");this.name="DashboardFilterMappingContractError",this.issues=n}}const Ye={string:!0,number:!0,boolean:!0,date:!0,datetime:!0};function F(e){return typeof e=="string"&&e.trim().length>0}function g(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function x(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ke(e){if(!g(e))return!1;switch(e.kind){case"allSheets":return e.sheetKinds===void 0||x(e.sheetKinds)&&e.sheetKinds.every(t=>t==="dashboard"||t==="document");case"sheets":return x(e.sheetIds);case"cards":return x(e.cardIds);case"documentSections":return F(e.sheetId)&&x(e.sectionIds);default:return!1}}function Ge(e){return e==="shared"||e==="perSheet"||e==="perCard"||e==="perDocumentSection"}function Je(e){return g(e)?F(e.id)&&F(e.column)&&F(e.dataType):!1}function Xe(e,t,n,r){var o;if(!g(t)){r.push({code:"invalid_option_source",path:n,message:`${n} must be a semantic or physical option source.`,inputId:e});return}const i=t.source,a=[["labelField",t.labelField],["valueField",t.valueField],["searchField",t.searchField]];if(!g(i)||i.kind!=="semantic"&&i.kind!=="physical"||!p.hasCompleteSemaphorSourceIdentity(i)||!g(t.labelField)||!g(t.valueField)||t.searchField!==void 0&&!g(t.searchField)||t.disambiguationFields!==void 0&&(!Array.isArray(t.disambiguationFields)||!t.disambiguationFields.every(g))){r.push({code:"invalid_option_source",path:n,message:`${n} must contain a valid semantic or physical source and field references.`,inputId:e});return}for(const[l,d]of a)d!==void 0&&g(d)&&(!F(d.name)||d.source!==void 0&&!p.semaphorSourcesReferToSameDataset(d.source,i))&&r.push({code:"invalid_option_source",path:`${n}.${l}`,message:`${n}.${l} must be a named field belonging to the declared option source.`,inputId:e});for(const[l,d]of((o=t.disambiguationFields)==null?void 0:o.entries())||[])(!g(d)||!F(d.name)||d.source!==void 0&&!p.semaphorSourcesReferToSameDataset(d.source,i))&&r.push({code:"invalid_option_source",path:`${n}.disambiguationFields[${l}]`,message:`${n}.disambiguationFields[${l}] must be a named field belonging to the declared option source.`,inputId:e});const s=t.valueField;["string","number","boolean","date","datetime"].includes(String(s.dataType))||r.push({code:"invalid_option_source",path:`${n}.valueField.dataType`,message:`${n}.valueField.dataType must be a known option-value datatype.`,inputId:e})}function Qe(e,t,n){var r;if(e.optionDependencies!==void 0){const i=ce(e.optionDependencies);i.ok?g(e.optionDependencies)&&e.optionDependencies.omitInputIds!==void 0&&n.push({code:"invalid_option_dependencies",path:`${t}.optionDependencies.omitInputIds`,message:`${t}.optionDependencies cannot persist a browse override (omitInputIds).`,inputId:e.id}):n.push({code:"invalid_option_dependencies",path:`${t}.optionDependencies`,message:`${t}.optionDependencies ${i.issues.join("; ")||i.error}`,inputId:e.id})}if(e.optionPopulation!==void 0){const i=ue(e.optionPopulation);i.ok?((r=i.population)==null?void 0:r.kind)==="related_population"&&!Ze(e.optionSource)&&n.push({code:"invalid_option_population",path:`${t}.optionPopulation`,message:`${t}.optionPopulation related_population requires an authored semantic optionSource.`,inputId:e.id}):n.push({code:"invalid_option_population",path:`${t}.optionPopulation`,message:`${t}.optionPopulation must be option_source or a related_population with a complete semantic baseSource.`,inputId:e.id})}}function Ze(e){return g(e)&&g(e.source)&&e.source.kind==="semantic"}function et(e,t,n,r,i,a){var d;if(F(t.bindingId)||i.push({code:"invalid_binding_id",path:`${n}.bindingId`,message:`${n}.bindingId must be an opaque non-empty id.`,inputId:e,cardId:t.cardId}),((d=t.target)==null?void 0:d.kind)!=="field"){i.push({code:"unsupported_target",path:`${n}.target`,message:`${n}.target must be one direct field target.`,inputId:e,cardId:t.cardId,bindingId:t.bindingId});return}const s=t.target.field;if(!F(s==null?void 0:s.name)||!s.source||s.source.kind!=="semantic"&&s.source.kind!=="physical"||!p.hasCompleteSemaphorSourceIdentity(s.source)){i.push({code:"invalid_target_field",path:`${n}.target.field`,message:`${n}.target.field must have a name and a source-qualified semantic or physical identity.`,inputId:e,cardId:t.cardId,bindingId:t.bindingId});return}if(Object.prototype.hasOwnProperty.call(Ye,s.dataType)||i.push({code:"unknown_target_data_type",path:`${n}.target.field.dataType`,message:`${n}.target.field.dataType must be known.`,inputId:e,cardId:t.cardId,bindingId:t.bindingId}),s.sourceField!==void 0&&!F(s.sourceField)&&i.push({code:"invalid_target_field",path:`${n}.target.field.sourceField`,message:`${n}.target.field.sourceField must be a non-empty catalog-grounded column when provided.`,inputId:e,cardId:t.cardId,bindingId:t.bindingId}),!a)return;const o=r.get(t.cardId);if(!o){i.push({code:"unknown_card",path:`${n}.cardId`,message:`${n}.cardId '${t.cardId}' does not exist.`,inputId:e,cardId:t.cardId,bindingId:t.bindingId});return}const l=$.buildDashboardCardSourceIndex(o);(l.kind==="unconfigured"||!$.dashboardCardFilterSourceInventoryContains(l,s.source))&&i.push({code:"unavailable_card_source",path:`${n}.target.field.source`,message:`${n}.target field source is not declared by card '${o.id}'.`,inputId:e,cardId:o.id,bindingId:t.bindingId})}function tt(e,t,n,r,i,a){if(t===void 0)return;if(!g(t)||t.kind!=="cardMappings"||!Array.isArray(t.cards)){i.push({code:"invalid_application",path:n,message:`${n} must be a cardMappings application with a cards array.`,inputId:e});return}const s=new Set;t.cards.forEach((o,l)=>{const d=`${n}.cards[${l}]`;if(!F(o==null?void 0:o.cardId)){i.push({code:"unknown_card",path:`${d}.cardId`,message:`${d}.cardId is required.`,inputId:e});return}if(s.has(o.cardId)){i.push({code:"duplicate_card_application",path:`${d}.cardId`,message:`${n} contains more than one entry for card '${o.cardId}'.`,inputId:e,cardId:o.cardId});return}if(s.add(o.cardId),a&&!r.has(o.cardId)){i.push({code:"unknown_card",path:`${d}.cardId`,message:`${d}.cardId '${o.cardId}' does not exist.`,inputId:e,cardId:o.cardId});return}o.kind==="bound"?et(e,o,d,r,i,a):o.kind!=="excluded"&&i.push({code:"invalid_application",path:d,message:`${d}.kind must be 'bound' or 'excluded'.`,inputId:e,cardId:o.cardId})})}function me({inputs:e,dashboardFilters:t,cards:n=[],validateCardTargets:r=!1}){const i=[],a=new Map((t||[]).map(d=>[d.id,d])),s=new Map(r?n.map(d=>[d.id,d]):[]),o=[],l=new Map;return e!=null&&!Array.isArray(e)?(i.push({code:"invalid_input",path:"dashboard.inputs",message:"dashboard.inputs must be an array when present."}),{ok:!1,inputs:o,issues:i}):((Array.isArray(e)?e:[]).forEach((d,m)=>{const f=`dashboard.inputs[${m}]`;if(!g(d)||d.kind!=="filter"&&d.kind!=="control"||!F(d.id)||!F(d.label)||!F(d.variableName)||!Ke(d.scope)||!Ge(d.runtimeScope)){i.push({code:"invalid_input",path:f,message:`${f} must be a complete filter or control Dashboard Input envelope.`,inputId:g(d)&&typeof d.id=="string"?d.id:void 0});return}if(d.kind==="control"&&!g(d.control)){i.push({code:"invalid_input",path:`${f}.control`,message:`${f}.control must be a control definition.`,inputId:d.id});return}const u=d;if(u.kind==="control"){o.push(u);return}const h=u.filter,D=u.filterReference,T=h!==void 0,_=!!D;if(T&&_){i.push({code:"both_filter_definitions",path:f,message:`${f} must contain either filter or filterReference, not both.`,inputId:u.id});return}if(!T&&!_){i.push({code:"missing_filter_definition",path:f,message:`${f} must contain filter or filterReference.`,inputId:u.id});return}if(T&&!Je(h)){i.push({code:"invalid_input",path:`${f}.filter`,message:`${f}.filter must be a complete dashboard filter definition.`,inputId:u.id});return}let b,c;if(T)b=h,c="embedded";else{if((D==null?void 0:D.kind)!=="dashboardFilter"){i.push({code:"invalid_filter_reference",path:`${f}.filterReference.kind`,message:`${f}.filterReference.kind must be 'dashboardFilter'.`,inputId:u.id});return}const C=typeof(D==null?void 0:D.filterId)=="string"?D.filterId:void 0;if(b=C?a.get(C):void 0,c="dashboardFilter",!b){i.push({code:"orphaned_filter_reference",path:`${f}.filterReference.filterId`,message:`${f}.filterReference cannot resolve dashboard filter '${C||""}'.`,inputId:u.id});return}if(b.kind==="global-date"){i.push({code:"global_date_reference",path:`${f}.filterReference`,message:`${f}.filterReference cannot reference the Global Date filter.`,inputId:u.id});return}const q=l.get(b.id);if(q){i.push({code:"duplicate_filter_reference",path:`${f}.filterReference.filterId`,message:`${f}.filterReference duplicates dashboard filter '${b.id}' already owned by Dashboard Input '${q}'.`,inputId:u.id});return}l.set(b.id,u.id)}if(!b)return;if(u.forceSelection!==void 0&&typeof u.forceSelection!="boolean"&&i.push({code:"invalid_input",path:`${f}.forceSelection`,message:`${f}.forceSelection must be a boolean.`,inputId:u.id}),u.optionSource!==void 0&&Xe(u.id,u.optionSource,`${f}.optionSource`,i),Qe(u,f,i),u.application&&b.kind==="global-date"){i.push({code:"global_date_reference",path:`${f}.application`,message:`${f}.application cannot map the Global Date filter.`,inputId:u.id});return}u.application&&u.scope.kind!=="allSheets"&&u.scope.kind!=="sheets"&&i.push({code:"unsupported_mapped_scope",path:`${f}.scope`,message:`${f}.scope must be allSheets or sheets when cardMappings are present.`,inputId:u.id}),tt(u.id,u.application,`${f}.application`,s,i,r);const{filter:k,filterReference:y,compatibility:v,...I}=u;o.push({...I,filter:b,...T&&v?{compatibility:v}:{},...u.optionSource?{optionSource:u.optionSource}:{},...u.optionDependencies?{optionDependencies:u.optionDependencies}:{},...u.optionPopulation?{optionPopulation:u.optionPopulation}:{},definitionOrigin:c})}),i.length?{ok:!1,inputs:o,issues:i}:{ok:!0,inputs:o})}function nt(e){const t=me(e);if(!t.ok)throw new pe(t.issues);return t.inputs}function rt(e=()=>globalThis.crypto.randomUUID()){return e()}const it={date:new Set(["between","not between","=","!=",">",">=","<","<=","is null","is not null"]),number:new Set(["between","not between","=","!=",">",">=","<","<=","in","not in","is null","is not null"]),string:new Set(["=","!=","in","not in","like","not like","is null","is not null"]),boolean:new Set(["=","!=","in","not in","is null","is not null"])};function he(e){const t=p.normalizeAnalyticsCatalogDataType(e);return t==="number"||t==="boolean"?t:t==="date"||t==="datetime"?"date":"string"}function at(e,t){return typeof t!="string"?!1:it[he(e)].has(t)}function E(e,t,n=r=>{var i;return((i=r.derivedField)==null?void 0:i.dataType)??r.dataType}){return t==="sql_param"||t==="presentation_currency"?[]:t==="config_metric_selector"||t==="config_aggregation"?e.measures.flatMap(r=>r.kind==="aggregate"?[{id:r.id,kind:"measure",measure:r}]:[]):["rows","columns"].flatMap(r=>e[r].filter(i=>t!=="config_grain"||p.isAnalyticsDateLikeDataType(n(i.field))).map(i=>({id:i.id,kind:"level",axis:r,level:i})))}function ot(e,t,n,r){const i=[...e.rows,...e.columns].find(d=>d.id===t);if(!i)throw new Error("Matrix level is no longer present.");if(r===t)return{kind:"structure",rows:e.rows,columns:e.columns};const a=e.rows.filter(d=>d.id!==t),s=e.columns.filter(d=>d.id!==t),o=n==="rows"?a:s,l=r?o.findIndex(d=>d.id===r):-1;return o.splice(l<0?o.length:l,0,i),{kind:"structure",rows:a,columns:s}}function B(e,t){const n=U.getMatrixAnalyticalDefinition(e),r=U.getMatrixAnalyticalDefinition(t),i=(o,l)=>A.stableSerialize(n[o][l])===A.stableSerialize(r[o][l]),a=o=>{const l=n.rankings.find(m=>m.id===o),d=r.rankings.find(m=>m.id===o);return!!l&&!!d&&A.stableSerialize(l)===A.stableSerialize(d)};return(o,l,d=!1)=>l.length<=t[o].length&&l.every((m,f)=>{var u;return(m.member.kind==="value"||d&&a(m.member.rankingId))&&m.levelId===((u=t[o][f])==null?void 0:u.id)&&i(o,f)})}function P(e,t,n,r){if(!n)return n;const i=B(e,t),a=new Set(t.measures.map(s=>s.id));return{...n,rules:n.rules.filter(s=>{const o=s.target.matrix,l=!o||(o.levelId===void 0||t[o.axis].some(m=>m.id===o.levelId))&&(o.oppositePath===void 0||i(o.axis==="rows"?"columns":"rows",o.oppositePath,!0)),{validationRefs:d}=p.conditionalRuleMeasureRefs(s);return l&&d.every(m=>a.has(m))?!0:(r.push({kind:"conditional_format",id:s.id,message:"Removed a conditional rule whose measure, level or member path changed."}),!1)})}}function ge(e,t,n=!1){const r={...t},i=[],a=B(e,r),s=new Set(r.measures.map(l=>l.id)),o=(l,d,m)=>i.push({kind:l,id:d,message:m});return r.sorts=r.sorts.filter(l=>{const d=r[l.axis].findIndex(f=>f.id===l.levelId),m=d>=0&&(l.scope.kind==="level"||l.scope.parent.length===d&&a(l.axis,l.scope.parent))&&(l.target.kind==="member"||s.has(l.target.measureId)&&a(l.axis==="rows"?"columns":"rows",l.target.oppositePath));return m||o("sort",l.levelId,"Removed a sort whose level, measure or member path changed."),m}),r.rankings=r.rankings.filter(l=>{const d=r[l.axis].some(m=>m.id===l.levelId)&&s.has(l.measureId)&&a(l.axis==="rows"?"columns":"rows",l.oppositePath);return d||o("ranking",l.id,"Removed a ranking whose level, measure or member path changed."),d}),{spec:(n?p.matrixAuthoringSpecSchema:p.matrixSpecSchema).parse(r),notices:i}}function st(e,t,n=[],r,i=!1){const a=[];if(t.kind!=="structure"){const c=t.kind==="presentation"?{...e,presentation:t.presentation}:t.kind==="defaults"?{...e,defaultView:t.defaultView}:t.kind==="sorts"?{...e,spec:{...e.spec,sorts:t.sorts}}:{...e,spec:{...e.spec,rankings:t.rankings}};return t.kind==="rankings"&&c.presentation.conditionalFormatting&&(c.presentation={...c.presentation,conditionalFormatting:P(e.spec,c.spec,c.presentation.conditionalFormatting,a)}),{config:(i?p.matrixAuthoringConfigSchema:p.matrixConfigSchema).parse(c),notices:a,removedBindings:[],bindings:n}}const s=ge(e.spec,{...e.spec,rows:t.rows??e.spec.rows,columns:t.columns??e.spec.columns,measures:t.measures??e.spec.measures},i),o=s.spec;a.push(...s.notices);const l=B(e.spec,o),d=new Set(o.measures.map(c=>c.id)),m=[...o.rows,...o.columns],f=new Set(m.map(c=>c.id)),u=(c,k,y)=>a.push({kind:c,id:k,message:y}),h=[],D=n.flatMap(c=>{if(c.target==="sql_param"||c.target==="presentation_currency")return[c];const k=E(e.spec,c.target,r),y=c.matrixTargetId??(k.length===1?k[0].id:void 0);return E(o,c.target,r).some(I=>I.id===y)?c.matrixTargetId?[c]:(u("binding",c.controlId,"Pinned the control binding to its original Matrix target after a structural change."),[{...c,matrixTargetId:y}]):(u("binding",c.controlId,"Removed a control binding whose original Matrix target is missing, ambiguous or no longer eligible."),h.push(c),[])}),T=(c,k,y)=>Object.fromEntries(Object.entries(c).filter(([v])=>k.has(v)?!0:(u(y,v,`Removed a ${y} override for a removed field.`),!1))),_={...e.presentation,levelLabels:T(e.presentation.levelLabels,f,"label"),measureLabels:T(e.presentation.measureLabels,d,"label"),levelFormats:T(e.presentation.levelFormats,f,"format"),measureFormats:T(e.presentation.measureFormats,d,"format"),totals:{...e.presentation.totals}};_.levelFormats=Object.fromEntries(Object.entries(_.levelFormats).filter(([c,k])=>{const y=m.find(I=>I.id===c),v=[...e.spec.rows,...e.spec.columns].find(I=>I.id===c);return k.type!=="temporal_bucket"||y.grain&&y.grain===(v==null?void 0:v.grain)?!0:(u("format",c,"Removed a temporal format because its grain changed."),!1)})),_.conditionalFormatting&&(_.conditionalFormatting=P(e.spec,o,_.conditionalFormatting,a));const b={...e.defaultView};for(const c of["rows","columns"]){const k={...e.presentation.totals.rows.levels,...e.presentation.totals.columns.levels};for(const I of Object.keys(e.presentation.totals[c].levels))f.has(I)||u("total",I,"Removed subtotal settings for a removed level.");_.totals[c]={...e.presentation.totals[c],levels:Object.fromEntries(o[c].map(I=>[I.id,k[I.id]??{visible:!0,position:"before"}]))};const y=e.defaultView[c],v=Math.min(y.depth,Math.max(0,o[c].length-1));v!==y.depth&&u("depth",c,`Reduced ${c} expansion depth to fit the hierarchy.`),b[c]={depth:v,overrides:y.overrides.filter(I=>I.path.length<o[c].length&&l(c,I.path)?!0:(u("expansion",c,`Removed a ${c} expansion override whose path changed or became a leaf.`),!1))}}return{config:(i?p.matrixAuthoringConfigSchema:p.matrixConfigSchema).parse({...e,spec:o,presentation:_,defaultView:b}),notices:a,removedBindings:h,bindings:D}}function Ie(e){return!e.entityName||e.entityName===p.CALCULATED_FIELD_ENTITY_MARKER||e.entityName==="calculated_fields"||e.qualifiedEntityName===p.CALCULATED_FIELD_ENTITY_MARKER||e.qualifiedEntityName==="calculated_fields"?"root":e.qualifiedEntityName||e.entityName}function ye(e){return["domain",e.role||"field",Ie(e),e.name].join("::")}function dt(e){var i,a;if(e.fieldScope!=="domain")return;const t=e.calculatedFieldOrigin;if((i=t==null?void 0:t.id)!=null&&i.startsWith("domain::"))return t.id;const n=(a=e.derivedField)==null?void 0:a.resultRole,r=n==="measure"?"metric":n==="dimension"||n==="date"?"groupby":e.derivedField||t==null?void 0:t.role;if(!(r!=="metric"&&r!=="groupby"))return ye({...e,role:r})}exports.DASHBOARD_DEFAULT_OPTION_DEPENDENCIES=le;exports.DashboardFilterMappingContractError=pe;exports.applyCardReferenceRemapping=we;exports.applyLinkedClickToFilterOverrides=De;exports.applyOptionDependencyOverride=fe;exports.buildLinkedClickToFilterOverrides=ke;exports.cloneDeep=N;exports.composeCardReferenceRemapping=Ne;exports.createDashboardFilterBindingId=rt;exports.dashboardFilterTargetMatchesLogicalValue=se;exports.dashboardFilterValueTypeForDataType=he;exports.extractParamControlIdsFromSql=z;exports.extractReferencedControlIds=Ae;exports.extractSqlParamReferences=ne;exports.getCalculatedFieldNamespace=Ie;exports.getDashboardFilterSubscriptionHint=Be;exports.getMatrixBindingTargets=E;exports.getObjectDiff=Z;exports.getStableDomainCalculatedFieldId=ye;exports.hasDashboardFilterSubscription=de;exports.isDashboardFilterOperationCompatible=at;exports.materializeFilterDefinitionNativeDataType=$e;exports.materializeFilterValueNativeDataType=ie;exports.materializeFilterValuesNativeDataType=Re;exports.moveMatrixLevel=ot;exports.normalizeDashboardInputs=me;exports.normalizeLegacyLinkedTargetOverrides=_e;exports.readExactDomainCalculatedFieldReference=dt;exports.rebindDashboardOptionDependencyInputId=Ve;exports.reconcileMatrixSpecStructure=ge;exports.remapClickToFilterReferences=te;exports.remapLinkedClickToFilterOverrides=Fe;exports.requireNormalizedDashboardInputs=nt;exports.resolveDashboardFilterAutomaticTarget=Ee;exports.resolveDashboardFilterInheritedTarget=Pe;exports.resolveDashboardOptionDependencies=ce;exports.resolveDashboardOptionPopulation=ue;exports.resolveDashboardSqlFilterTarget=He;exports.retainMatrixConditionalFormatting=P;exports.selectDashboardOptionDependencyInputIds=Ue;exports.stripInstanceTargetsForLibrarySave=Te;exports.updateMatrixConfig=st;exports.withDashboardOptionDependencyOverride=We;