react-semaphor 0.1.376 → 0.1.378

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 (64) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +47 -43
  3. package/dist/brand-studio/index.cjs +4 -4
  4. package/dist/brand-studio/index.js +10 -8
  5. package/dist/chunks/braces-BT-ZyB-g.js +6 -0
  6. package/dist/chunks/braces-DOxxfERN.js +23 -0
  7. package/dist/chunks/calendar-preferences-dialog-CRvQz4TE.js +1 -0
  8. package/dist/chunks/{calendar-preferences-dialog-B6fsethx.js → calendar-preferences-dialog-DZe8Nd-4.js} +14 -14
  9. package/dist/chunks/catalog-field-grounding-8L9I0zdg.js +1 -0
  10. package/dist/chunks/catalog-field-grounding-BK4BX8sZ.js +200 -0
  11. package/dist/chunks/dashboard-briefing-launcher-BWyHpn2M.js +111 -0
  12. package/dist/chunks/{dashboard-briefing-launcher-BKCRO7Qw.js → dashboard-briefing-launcher-DURdx5Ox.js} +3147 -2386
  13. package/dist/chunks/dashboard-controls-D5mjF67R.js +2279 -0
  14. package/dist/chunks/dashboard-controls-J71GLAxt.js +52 -0
  15. package/dist/chunks/{dashboard-json-QT0T2ad_.js → dashboard-json-BumvCRuk.js} +14 -13
  16. package/dist/chunks/dashboard-json-Cv8jXh0X.js +1 -0
  17. package/dist/chunks/{edit-dashboard-visual-DNzPgXMh.js → edit-dashboard-visual-dvhQzG_h.js} +33 -33
  18. package/dist/chunks/{edit-dashboard-visual-kNoMQRmH.js → edit-dashboard-visual-eYJMy7aw.js} +677 -677
  19. package/dist/chunks/{index-CPpqPJba.js → index-c_0nwsOM.js} +199 -194
  20. package/dist/chunks/{index-DX_0OcRv.js → index-hhH5F_tQ.js} +20665 -20527
  21. package/dist/chunks/layout-grid-DTbOIOsE.js +16 -0
  22. package/dist/chunks/layout-grid-DccceHv4.js +6 -0
  23. package/dist/chunks/{palette-2HWSR5wb.js → palette-DCzLwqIw.js} +1 -1
  24. package/dist/chunks/{palette-BcHHAmOU.js → palette-SimHJELn.js} +1 -1
  25. package/dist/chunks/{save-MoF1T13_.js → save-D2O96E5A.js} +1 -1
  26. package/dist/chunks/{save-B-YfAPhu.js → save-zNVYH02T.js} +1 -1
  27. package/dist/chunks/{switch-DmE_MY3L.js → switch-DMPsMpHW.js} +1 -1
  28. package/dist/chunks/{switch-CmHP5dT7.js → switch-Jhyl63RF.js} +1 -1
  29. package/dist/chunks/{use-create-flow-overlay-state-BLPQgGuz.js → use-create-flow-overlay-state-D9UKBuCA.js} +2 -2
  30. package/dist/chunks/{use-create-flow-overlay-state-D_Ntx-_C.js → use-create-flow-overlay-state-hlsTNh2b.js} +113 -112
  31. package/dist/chunks/{validation-DlrTIf1N.js → validation-BM3-ShHV.js} +1 -1
  32. package/dist/chunks/{validation-1V7bWmYw.js → validation-BVpqRFar.js} +1 -1
  33. package/dist/dashboard/index.cjs +1 -1
  34. package/dist/dashboard/index.js +1 -1
  35. package/dist/dashboard-authoring/index.cjs +1 -1
  36. package/dist/dashboard-authoring/index.js +1 -1
  37. package/dist/data-app-builder/index.cjs +1 -1
  38. package/dist/data-app-builder/index.js +3 -3
  39. package/dist/data-app-sdk/index.cjs +1 -1
  40. package/dist/data-app-sdk/index.js +22 -21
  41. package/dist/data-app-sdk-validation/index.cjs +1 -1
  42. package/dist/data-app-sdk-validation/index.js +2 -2
  43. package/dist/index.cjs +1 -1
  44. package/dist/index.js +128 -126
  45. package/dist/style.css +1 -1
  46. package/dist/surfboard/index.cjs +1 -1
  47. package/dist/surfboard/index.js +2 -2
  48. package/dist/types/analytics-protocol.d.ts +128 -0
  49. package/dist/types/dashboard-assistant.d.ts +42 -0
  50. package/dist/types/data-app-sdk-validation.d.ts +42 -0
  51. package/dist/types/data-app-sdk.d.ts +42 -0
  52. package/dist/types/main.d.ts +7 -0
  53. package/package.json +1 -1
  54. package/dist/chunks/calendar-preferences-dialog-Dh1b0ytN.js +0 -1
  55. package/dist/chunks/catalog-field-grounding-DoEBOXQd.js +0 -100
  56. package/dist/chunks/catalog-field-grounding-Du6mKDcF.js +0 -1
  57. package/dist/chunks/chevrons-up-down-D2fZD4N_.js +0 -6
  58. package/dist/chunks/chevrons-up-down-lahj6tQy.js +0 -14
  59. package/dist/chunks/dashboard-briefing-launcher-Gv1cwT0I.js +0 -111
  60. package/dist/chunks/dashboard-controls-BDJZarV7.js +0 -52
  61. package/dist/chunks/dashboard-controls-CchLBVDv.js +0 -3037
  62. package/dist/chunks/dashboard-json-ZhIEMXN0.js +0 -1
  63. package/dist/chunks/layout-grid-BOTLt36V.js +0 -36
  64. package/dist/chunks/layout-grid-CS6BSCJF.js +0 -11
@@ -1,9 +1,9 @@
1
1
  import { jsx as r, jsxs as s, Fragment as X } from "react/jsx-runtime";
2
2
  import ee, { useState as h, useCallback as F, useEffect as ae, useMemo as H } from "react";
3
- import { u as re, b as te, c as se, d as ne, e as le, f as oe, R as W, g as O, C as ie, h as ce, i as de, j as ue, k as _, l as R, m as me, n as fe, o as N } from "./index-DX_0OcRv.js";
4
- import { a as S, L as G, P as he, b as pe, B as j, d as ge, e as V, f as ve } from "./switch-DmE_MY3L.js";
3
+ import { u as re, b as te, c as se, d as ne, e as le, f as oe, R as W, g as O, C as ie, h as ce, i as de, j as ue, k as me, l as _, m as R, n as fe, o as he, p as N } from "./index-hhH5F_tQ.js";
4
+ import { a as S, L as G, P as pe, b as ge, B as j, d as ve, e as V, f as be } from "./switch-DMPsMpHW.js";
5
5
  import "./index-CuHybtft.js";
6
- import { C as be } from "./chevrons-up-down-lahj6tQy.js";
6
+ import "./catalog-field-grounding-BK4BX8sZ.js";
7
7
  function we(n = {}) {
8
8
  var C, A, E, L;
9
9
  const { authToken: c, tokenProps: e } = re(), p = n.enabled ?? !0, d = (c == null ? void 0 : c.accessToken) ?? null, u = (e == null ? void 0 : e.apiServiceUrl) ?? null, [I, k] = h(!1), [y, b] = h(!1), [m, g] = h(!1), [T, o] = h(null), [v, w] = h(null), P = v || {
@@ -310,13 +310,13 @@ function Ae({
310
310
  /* @__PURE__ */ s("div", { className: "space-y-1.5", children: [
311
311
  /* @__PURE__ */ r(G, { className: Z, children: "Timezone" }),
312
312
  /* @__PURE__ */ s(
313
- he,
313
+ pe,
314
314
  {
315
315
  open: z,
316
316
  onOpenChange: x,
317
317
  modal: !0,
318
318
  children: [
319
- /* @__PURE__ */ r(pe, { asChild: !0, children: /* @__PURE__ */ s(
319
+ /* @__PURE__ */ r(ge, { asChild: !0, children: /* @__PURE__ */ s(
320
320
  j,
321
321
  {
322
322
  variant: "outline",
@@ -327,19 +327,19 @@ function Ae({
327
327
  disabled: m,
328
328
  children: [
329
329
  /* @__PURE__ */ r("span", { className: "truncate", children: E }),
330
- /* @__PURE__ */ r(be, { className: "ml-2 h-3.5 w-3.5 shrink-0 opacity-50" })
330
+ /* @__PURE__ */ r(ie, { className: "ml-2 h-3.5 w-3.5 shrink-0 opacity-50" })
331
331
  ]
332
332
  }
333
333
  ) }),
334
334
  /* @__PURE__ */ r(
335
- ge,
335
+ ve,
336
336
  {
337
337
  className: "z-50 w-[--radix-popover-trigger-width] p-0",
338
338
  align: "start",
339
- children: /* @__PURE__ */ s(ie, { className: "overflow-visible", children: [
340
- /* @__PURE__ */ r(ce, { placeholder: "Search timezones…" }),
341
- /* @__PURE__ */ s(de, { children: [
342
- /* @__PURE__ */ r(ue, { children: "No timezone found." }),
339
+ children: /* @__PURE__ */ s(ce, { className: "overflow-visible", children: [
340
+ /* @__PURE__ */ r(de, { placeholder: "Search timezones…" }),
341
+ /* @__PURE__ */ s(ue, { children: [
342
+ /* @__PURE__ */ r(me, { children: "No timezone found." }),
343
343
  /* @__PURE__ */ r(_, { heading: "Common", children: D.map((a) => /* @__PURE__ */ s(
344
344
  R,
345
345
  {
@@ -363,7 +363,7 @@ function Ae({
363
363
  },
364
364
  a.value
365
365
  )) }),
366
- /* @__PURE__ */ r(me, {}),
366
+ /* @__PURE__ */ r(fe, {}),
367
367
  /* @__PURE__ */ r(_, { heading: "All timezones", children: A.map((a) => /* @__PURE__ */ s(
368
368
  R,
369
369
  {
@@ -434,7 +434,7 @@ function Ae({
434
434
  }
435
435
  )
436
436
  ] }),
437
- /* @__PURE__ */ s(fe, { children: [
437
+ /* @__PURE__ */ s(he, { children: [
438
438
  /* @__PURE__ */ r(
439
439
  j,
440
440
  {
@@ -446,7 +446,7 @@ function Ae({
446
446
  }
447
447
  ),
448
448
  /* @__PURE__ */ r(j, { size: "xs", onClick: i, disabled: q, children: U ? /* @__PURE__ */ s(X, { children: [
449
- /* @__PURE__ */ r(ve, { className: "h-3.5 w-3.5 animate-spin" }),
449
+ /* @__PURE__ */ r(be, { className: "h-3.5 w-3.5 animate-spin" }),
450
450
  "Saving…"
451
451
  ] }) : "Save" })
452
452
  ] })
@@ -0,0 +1 @@
1
+ "use strict";const o={answerSummary:"string",responseDetail:"responseDetail",mode:"string",comparisonType:"string",executionResult:"unknown",compiledQuery:"unknown",data:"unknown",resultSets:"record",columns:"unknownArray",records:"recordArray",rowCount:"number",rowLimitExceeded:"boolean",output:"string",querySpec:"unknown",metadata:"record",validation:"unknown",coverage:"unknown",diagnosticFeedback:"unknown",missingFields:"stringArray",warnings:"unknownArray",comparison:"unknown",population:"unknown",comparisons:"recordArray",fieldsUsed:"unknown",changes:"recordArray",largestNegativeChanges:"recordArray",largestPositiveChanges:"recordArray",drivers:"recordArray",absoluteDeltaDrivers:"recordArray",largestNegativeDrivers:"recordArray",largestPositiveDrivers:"recordArray",periodRows:"recordArray",sql:"unknown",omitted:"stringArray"},b=new Set(Object.keys(o)),S=new Set(["compact","standard","debug"]);function D(){return Object.keys(o)}function g(e){return b.has(e)}function F(e){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Semaphor analyze result must be an object.");const n=e,t=Object.keys(n).filter(r=>!g(r));if(t.length)throw new Error(`Semaphor analyze result contains unsupported top-level field(s): ${t.join(", ")}.`);for(const[r,i]of Object.entries(n)){if(i===void 0)continue;const a=o[r];if(!k(i,a))throw new Error(`Semaphor analyze result field "${r}" does not match contract kind "${a}".`)}return n}function k(e,n){switch(n){case"boolean":return typeof e=="boolean";case"number":return typeof e=="number"&&Number.isFinite(e);case"record":return A(e);case"recordArray":return Array.isArray(e)&&e.every(A);case"responseDetail":return typeof e=="string"&&S.has(e);case"string":return typeof e=="string";case"stringArray":return Array.isArray(e)&&e.every(t=>typeof t=="string");case"unknown":return!0;case"unknownArray":return Array.isArray(e)}}function A(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function c(e){return typeof e=="string"?e.trim().toLowerCase():""}function p(e){return String(e.column_name||e.name||e.qualifiedFieldName||"")}function w(e){return Array.from(new Set([e.column_name,e.name,e.qualifiedFieldName,e.alias].filter(n=>typeof n=="string"&&n.trim().length>0).map(n=>n.trim())))}function d(e){const n=T(e);return n?n.includes("int")||n.includes("uint")||n.includes("bigint")||n.includes("smallint")||n.includes("tinyint")||n.includes("numeric")||n.includes("decimal")||n.includes("double")||n.includes("float")||n.includes("number")||n.includes("real")||n.includes("money")||n.includes("currency")||n.includes("percent")?"number":n.includes("timestamp")||n.includes("datetime")||n.startsWith("time")?"datetime":n.includes("date")?"date":n.includes("bool")?"boolean":"string":"unknown"}function T(e){let n=c(e),t="";for(;n&&n!==t;)t=n,n=f(n,"nullable"),n=f(n,"lowcardinality");return n}function f(e,n){const t=`${n}(`;return!e.startsWith(t)||!e.endsWith(")")?e:e.slice(t.length,-1).trim()}function h(e){const n=d(e);return n==="date"||n==="datetime"}function u(e){return h(e.dataType||e.data_type)}function y(e){const n=C(e);return n==="id"||n==="row_id"}function l(e){const n=C(e);return y(e)||n.endsWith("_id")||n.endsWith("_key")||n.endsWith("_number")}function C(e){return c(p(e)||e.name||e.alias).replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function m(e,n={}){const t=c(e.role);return t==="metric"||t==="measure"?!n.excludeIdentifiers||!l(e):t==="groupby"||t==="dimension"||t==="date"||t==="id"?!1:d(e.dataType||e.data_type)==="number"&&(!n.excludeIdentifiers||!l(e))}function _(e){return!m(e)&&!u(e)}function E(e){const n=new Set,t=new Set,r=new Set;for(const i of e){if(y(i))continue;const a=w(i);if(a.length!==0){if(u(i)){a.forEach(s=>t.add(s));continue}if(m(i,{excludeIdentifiers:!0})){a.forEach(s=>n.add(s));continue}a.forEach(s=>r.add(s))}}return{validMetricCandidates:Array.from(n).sort(),validDateCandidates:Array.from(t).sort(),validDimensionCandidates:Array.from(r).sort()}}exports.SEMAPHOR_ANALYZE_RESULT_FIELD_CONTRACT=o;exports.buildAnalyticsCatalogFieldSummary=E;exports.getAnalyticsCatalogFieldCandidates=w;exports.getAnalyticsCatalogFieldName=p;exports.getSemaphorAnalyzeResultFieldNames=D;exports.isAnalyticsCatalogDateField=u;exports.isAnalyticsCatalogDimensionField=_;exports.isAnalyticsCatalogMetricField=m;exports.isAnalyticsDateLikeDataType=h;exports.isAnalyticsMetricIdentifierField=l;exports.isAnalyticsTechnicalIdentifierField=y;exports.isSemaphorAnalyzeResultFieldName=g;exports.normalizeAnalyticsCatalogDataType=d;exports.normalizeAnalyticsCatalogName=c;exports.parseSemaphorAnalyzeResult=F;
@@ -0,0 +1,200 @@
1
+ const o = {
2
+ answerSummary: "string",
3
+ responseDetail: "responseDetail",
4
+ mode: "string",
5
+ comparisonType: "string",
6
+ executionResult: "unknown",
7
+ compiledQuery: "unknown",
8
+ data: "unknown",
9
+ resultSets: "record",
10
+ columns: "unknownArray",
11
+ records: "recordArray",
12
+ rowCount: "number",
13
+ rowLimitExceeded: "boolean",
14
+ output: "string",
15
+ querySpec: "unknown",
16
+ metadata: "record",
17
+ validation: "unknown",
18
+ coverage: "unknown",
19
+ diagnosticFeedback: "unknown",
20
+ missingFields: "stringArray",
21
+ warnings: "unknownArray",
22
+ comparison: "unknown",
23
+ population: "unknown",
24
+ comparisons: "recordArray",
25
+ fieldsUsed: "unknown",
26
+ changes: "recordArray",
27
+ largestNegativeChanges: "recordArray",
28
+ largestPositiveChanges: "recordArray",
29
+ drivers: "recordArray",
30
+ absoluteDeltaDrivers: "recordArray",
31
+ largestNegativeDrivers: "recordArray",
32
+ largestPositiveDrivers: "recordArray",
33
+ periodRows: "recordArray",
34
+ sql: "unknown",
35
+ omitted: "stringArray"
36
+ }, g = new Set(
37
+ Object.keys(o)
38
+ ), w = /* @__PURE__ */ new Set([
39
+ "compact",
40
+ "standard",
41
+ "debug"
42
+ ]);
43
+ function _() {
44
+ return Object.keys(
45
+ o
46
+ );
47
+ }
48
+ function h(e) {
49
+ return g.has(e);
50
+ }
51
+ function E(e) {
52
+ if (!e || typeof e != "object" || Array.isArray(e))
53
+ throw new Error("Semaphor analyze result must be an object.");
54
+ const n = e, r = Object.keys(n).filter(
55
+ (t) => !h(t)
56
+ );
57
+ if (r.length)
58
+ throw new Error(
59
+ `Semaphor analyze result contains unsupported top-level field(s): ${r.join(", ")}.`
60
+ );
61
+ for (const [t, a] of Object.entries(n)) {
62
+ if (a === void 0)
63
+ continue;
64
+ const i = o[t];
65
+ if (!b(a, i))
66
+ throw new Error(
67
+ `Semaphor analyze result field "${t}" does not match contract kind "${i}".`
68
+ );
69
+ }
70
+ return n;
71
+ }
72
+ function b(e, n) {
73
+ switch (n) {
74
+ case "boolean":
75
+ return typeof e == "boolean";
76
+ case "number":
77
+ return typeof e == "number" && Number.isFinite(e);
78
+ case "record":
79
+ return d(e);
80
+ case "recordArray":
81
+ return Array.isArray(e) && e.every(d);
82
+ case "responseDetail":
83
+ return typeof e == "string" && w.has(e);
84
+ case "string":
85
+ return typeof e == "string";
86
+ case "stringArray":
87
+ return Array.isArray(e) && e.every((r) => typeof r == "string");
88
+ case "unknown":
89
+ return !0;
90
+ case "unknownArray":
91
+ return Array.isArray(e);
92
+ }
93
+ }
94
+ function d(e) {
95
+ return !!(e && typeof e == "object" && !Array.isArray(e));
96
+ }
97
+ function c(e) {
98
+ return typeof e == "string" ? e.trim().toLowerCase() : "";
99
+ }
100
+ function k(e) {
101
+ return String(e.column_name || e.name || e.qualifiedFieldName || "");
102
+ }
103
+ function S(e) {
104
+ return Array.from(
105
+ new Set(
106
+ [
107
+ e.column_name,
108
+ e.name,
109
+ e.qualifiedFieldName,
110
+ e.alias
111
+ ].filter(
112
+ (n) => typeof n == "string" && n.trim().length > 0
113
+ ).map((n) => n.trim())
114
+ )
115
+ );
116
+ }
117
+ function y(e) {
118
+ const n = C(e);
119
+ return n ? n.includes("int") || n.includes("uint") || n.includes("bigint") || n.includes("smallint") || n.includes("tinyint") || n.includes("numeric") || n.includes("decimal") || n.includes("double") || n.includes("float") || n.includes("number") || n.includes("real") || n.includes("money") || n.includes("currency") || n.includes("percent") ? "number" : n.includes("timestamp") || n.includes("datetime") || n.startsWith("time") ? "datetime" : n.includes("date") ? "date" : n.includes("bool") ? "boolean" : "string" : "unknown";
120
+ }
121
+ function C(e) {
122
+ let n = c(e), r = "";
123
+ for (; n && n !== r; )
124
+ r = n, n = u(n, "nullable"), n = u(n, "lowcardinality");
125
+ return n;
126
+ }
127
+ function u(e, n) {
128
+ const r = `${n}(`;
129
+ return !e.startsWith(r) || !e.endsWith(")") ? e : e.slice(r.length, -1).trim();
130
+ }
131
+ function D(e) {
132
+ const n = y(e);
133
+ return n === "date" || n === "datetime";
134
+ }
135
+ function m(e) {
136
+ return D(e.dataType || e.data_type);
137
+ }
138
+ function f(e) {
139
+ const n = p(e);
140
+ return n === "id" || n === "row_id";
141
+ }
142
+ function l(e) {
143
+ const n = p(e);
144
+ return f(e) || n.endsWith("_id") || n.endsWith("_key") || n.endsWith("_number");
145
+ }
146
+ function p(e) {
147
+ return c(
148
+ k(e) || e.name || e.alias
149
+ ).replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
150
+ }
151
+ function A(e, n = {}) {
152
+ const r = c(e.role);
153
+ return r === "metric" || r === "measure" ? !n.excludeIdentifiers || !l(e) : r === "groupby" || r === "dimension" || r === "date" || r === "id" ? !1 : y(
154
+ e.dataType || e.data_type
155
+ ) === "number" && (!n.excludeIdentifiers || !l(e));
156
+ }
157
+ function F(e) {
158
+ return !A(e) && !m(e);
159
+ }
160
+ function T(e) {
161
+ const n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
162
+ for (const a of e) {
163
+ if (f(a))
164
+ continue;
165
+ const i = S(a);
166
+ if (i.length !== 0) {
167
+ if (m(a)) {
168
+ i.forEach((s) => r.add(s));
169
+ continue;
170
+ }
171
+ if (A(a, { excludeIdentifiers: !0 })) {
172
+ i.forEach((s) => n.add(s));
173
+ continue;
174
+ }
175
+ i.forEach((s) => t.add(s));
176
+ }
177
+ }
178
+ return {
179
+ validMetricCandidates: Array.from(n).sort(),
180
+ validDateCandidates: Array.from(r).sort(),
181
+ validDimensionCandidates: Array.from(t).sort()
182
+ };
183
+ }
184
+ export {
185
+ o as S,
186
+ k as a,
187
+ S as b,
188
+ y as c,
189
+ D as d,
190
+ m as e,
191
+ f,
192
+ _ as g,
193
+ l as h,
194
+ h as i,
195
+ A as j,
196
+ F as k,
197
+ T as l,
198
+ c as n,
199
+ E as p
200
+ };