react-semaphor 0.1.338 → 0.1.339
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.
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +58 -57
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +3 -3
- package/dist/chunks/{braces-Q86XHDaD.js → braces-Ccvdip75.js} +1 -1
- package/dist/chunks/{braces-BLa_lORs.js → braces-DDHkbW1c.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-Cocogo9H.js → calendar-preferences-dialog-2IbYrrP1.js} +3 -3
- package/dist/chunks/{calendar-preferences-dialog-Bm7ji3k9.js → calendar-preferences-dialog-8-KE5sVX.js} +1 -1
- package/dist/chunks/catalog-field-grounding-DoEBOXQd.js +100 -0
- package/dist/chunks/catalog-field-grounding-Du6mKDcF.js +1 -0
- package/dist/chunks/{chevrons-up-down-BBTZ5pAY.js → chevrons-up-down-B9fTSds9.js} +1 -1
- package/dist/chunks/{chevrons-up-down-CYuWasy_.js → chevrons-up-down-pV0i9ptS.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-BtqtLx1-.js → dashboard-briefing-launcher-CcqDPVke.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-DF4CoaRn.js → dashboard-briefing-launcher-DtxDRAiu.js} +4 -4
- package/dist/chunks/{dashboard-controls-B5U-VUxs.js → dashboard-controls-Bi98DhYD.js} +6 -6
- package/dist/chunks/{dashboard-controls-0VMAeMoa.js → dashboard-controls-By7aKmDj.js} +1 -1
- package/dist/chunks/{dashboard-json-CqbLOfnr.js → dashboard-json-BOyLuhS6.js} +1 -1
- package/dist/chunks/{dashboard-json-Hmc0Ri5z.js → dashboard-json-CGxIsTEP.js} +2 -2
- package/dist/chunks/{edit-dashboard-visual-D4VVu-QQ.js → edit-dashboard-visual-Ba8LenNc.js} +6 -6
- package/dist/chunks/{edit-dashboard-visual-C0EDM0QB.js → edit-dashboard-visual-BuXlHmJH.js} +1 -1
- package/dist/chunks/{index-DE0vIuYG.js → index-DT9osgRT.js} +2 -2
- package/dist/chunks/{index-DzyUhzV3.js → index-DVPvpd8u.js} +5 -5
- package/dist/chunks/{palette-DalASD28.js → palette-BMXS-AcI.js} +1 -1
- package/dist/chunks/{palette-B9AbDw0n.js → palette-DKecBucs.js} +1 -1
- package/dist/chunks/{resource-management-panel-C4YydU9I.js → resource-management-panel-98Hy6SYB.js} +3 -3
- package/dist/chunks/{resource-management-panel-P9iNqBM1.js → resource-management-panel-ByR-FD3h.js} +1 -1
- package/dist/chunks/{switch-BAYfpAEb.js → switch-CP7SmEIZ.js} +1 -1
- package/dist/chunks/{switch-CyRoZr5T.js → switch-DYRgERrC.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-P1LMwQ89.js → use-create-flow-overlay-state-D5uvjbwY.js} +3 -3
- package/dist/chunks/{use-create-flow-overlay-state-CbhjxI3W.js → use-create-flow-overlay-state-uNxArZdj.js} +1 -1
- package/dist/chunks/{use-visual-utils-lB-3Zk0b.js → use-visual-utils-BLh9mKic.js} +2 -2
- package/dist/chunks/{use-visual-utils-CV6_-y4p.js → use-visual-utils-CpaqIHoc.js} +1 -1
- package/dist/chunks/{validators-BOqiGymD.js → validators-CPEQojnV.js} +325 -250
- package/dist/chunks/validators-CfP-49k9.js +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +424 -561
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +1 -1
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +313 -308
- package/dist/index.cjs +1 -1
- package/dist/index.js +7 -7
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +74 -48
- package/dist/types/dashboard-authoring.d.ts +26 -52
- package/dist/types/dashboard.d.ts +1 -2
- package/dist/types/data-app-builder.d.ts +23 -13
- package/dist/types/data-app-sdk.d.ts +33 -46
- package/dist/types/main.d.ts +29 -50
- package/dist/types/shared.d.ts +1 -2
- package/dist/types/surfboard.d.ts +1 -2
- package/dist/types/types.d.ts +1 -2
- package/package.json +1 -1
- package/dist/chunks/catalog-field-grounding-DmT7aGUA.js +0 -191
- package/dist/chunks/catalog-field-grounding-VgVzDd25.js +0 -1
- package/dist/chunks/validators-BtFXY3S_.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DT9osgRT.js");exports.DataAppBuilder=e.DataAppBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../chunks/validators-CfP-49k9.js"),_=require("../chunks/index-BxM99sFL.js"),u=require("react"),K=require("react/jsx-runtime");function M(e){var n;const t=U(e);return{version:1,kind:"metric",id:e.id,label:e.label,source:k(e),metrics:t,primaryMetric:F(e,t),dateField:e.dateField?c(e.dateField,"date"):void 0,timeGrain:e.timeGrain,dimensions:(n=e.dimensions)==null?void 0:n.map(o=>c(o,"dimension")),comparison:L(e.comparison),inputs:x(e.inputs),limit:e.limit}}function F(e,t){if(!e.primaryMetric)return t[0]||{name:"",role:"measure"};const n=c(e.primaryMetric,"measure"),o=n.source?t.find(r=>h.semaphorFieldRefsMatch(r,n)):(()=>{const r=t.filter(i=>i.name===n.name);return r.length===1?r[0]:void 0})();return o?h.preferSemaphorFieldRefMetadata(n,o):n}function U(e){const t=[];for(const n of e.metrics.map(o=>c(o,"measure"))){if(!n.name)continue;const o=t.findIndex(r=>h.semaphorFieldRefsMatch(r,n));if(o===-1){t.push(n);continue}t[o]=h.preferSemaphorFieldRefMetadata(t[o],n)}return t}function E(e){if("sort"in e)throw new Error("useSemaphorRecords supports orderBy for a single deterministic sort. Multiple sort clauses are not supported by the analytics protocol yet.");if(!N(e))throw new Error("useSemaphorRecords needs at least one field.");const t=z(e.fields);return{version:1,kind:"records",id:e.id,label:e.label,source:k(e),fields:t,dateField:e.dateField?c(e.dateField,"date"):void 0,timeGrain:e.timeGrain,orderBy:e.orderBy?{field:c(e.orderBy.field),direction:e.orderBy.direction}:void 0,inputs:x(e.inputs),limit:e.limit}}function z(e){return e.map(t=>{const n=c(t);if(!n.role)throw new Error(`useSemaphorRecords field "${n.name}" needs an explicit role.`);return n})}function q(e){return{version:1,kind:"inputOptions",id:e.id,label:e.label,source:k(e),field:c(e.field,"dimension"),search:e.search,limit:e.limit}}function O(e){if("toAnalyticsInput"in e){const t=e.toAnalyticsInput();return{inputId:t.inputId,...t.field?{field:t.field}:{}}}return{inputId:e.inputId,...e.field?{field:e.field}:{}}}function V(e){const t=x(e);return t.length>0?t:void 0}function B(e){return(e||[]).map(j)}function D(e){return B(e).filter(t=>t.isActive)}function w(e){return e.kind==="filter"?{inputId:e.id,kind:e.kind,label:e.label,field:c(e.field,"dimension"),operator:e.operator||"in"}:{inputId:e.id,kind:e.kind,label:e.label}}function $(e=[]){return e.map(t=>typeof t=="object"?t:{label:String(t),value:t})}function y(e){return e==null?!1:Array.isArray(e)?e.length>0:typeof e=="string"?e.trim().length>0:!0}function j(e){return"toAnalyticsInput"in e?e.toAnalyticsInput():"kind"in e&&"isActive"in e?e:{...e,kind:"filter",isActive:y(e.value),value:e.value}}function k(e){return e.source}function N(e){var t;return!!((t=e.fields)!=null&&t.length)}function c(e,t){return{...e,role:e.role||t}}function x(e){return(e||[]).map(O)}function L(e){if(e)return e}function C(){return{executeMetric:(e,t)=>v(e,t),executeRecords:(e,t)=>v(e,t),executeInputOptions:(e,t)=>v(e,t)}}async function v(e,t){if(!t.token)throw new Error("SemaphorDataAppProvider needs a token to execute queries.");const n=await fetch(J(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},body:JSON.stringify({intent:e,activeInputs:t.activeInputs,resultShape:e.kind})}),o=await Q(n);if(!n.ok||o.error)throw new Error(o.error||`Semaphor Data App execution failed with status ${n.status}.`);return o}async function Q(e){const t=await e.text().catch(()=>"");if(!t.trim())return e.ok?{error:"Semaphor Data App execution returned an empty response."}:{};try{return JSON.parse(t)}catch{return e.ok?{error:"Semaphor Data App execution returned invalid JSON.",details:t}:{error:G(e,t),details:t}}}function G(e,t){const n=e.statusText?` ${e.statusText}`:"",o=t.replace(/\s+/g," ").trim();return o?`Semaphor Data App execution failed with status ${e.status}${n}: ${o.slice(0,240)}`:`Semaphor Data App execution failed with status ${e.status}${n}.`}function J(e){const t=W(e).replace(/\/+$/,"");return t?t.endsWith("/api")?`${t}/v1/data-app/execute`:`${t}/api/v1/data-app/execute`:"/api/v1/data-app/execute"}function W(e){if(e.apiBaseUrl)return e.apiBaseUrl;if(!e.token)return"";try{return _.jwtDecode(e.token).apiServiceUrl||""}catch{return""}}const g=u.createContext({});function T(){if(!(typeof window>"u"))return window.__SEMAPHOR_DATA_APP_RUNTIME__}function P(){return u.useContext(g)}function H({token:e,apiBaseUrl:t,executor:n,children:o}){var l;const r=T(),i=((l=r==null?void 0:r.authToken)==null?void 0:l.accessToken)||e,a=(r==null?void 0:r.dataApiBaseUrl)||(r==null?void 0:r.apiBaseUrl)||t,m=u.useMemo(()=>C(),[]),s=n||m,p=u.useMemo(()=>({token:i,apiBaseUrl:a,executor:s}),[a,s,i]);return K.jsx(g.Provider,{value:p,children:o})}const I={value:null},X={records:[]},A={options:[]};function Y(e){const t=D(e.inputs);try{const n=M(e),o=R(n);return o?{error:o,activeInputs:t,queryKey:d(void 0,t,o),idleData:I}:{intent:n,error:null,activeInputs:t,queryKey:d(n,t),idleData:I}}catch(n){const o=S(n);return{error:o,activeInputs:t,queryKey:d(void 0,t,o),idleData:I}}}function Z(e){const t=D(e.inputs),n=X;try{const o=E(e),r=R(o);return r?{error:r,activeInputs:t,queryKey:d(void 0,t,r),idleData:n}:{intent:o,error:null,activeInputs:t,queryKey:d(o,t),idleData:n}}catch(o){const r=S(o);return{error:r,activeInputs:t,queryKey:d(void 0,t,r),idleData:n}}}function ee(e){try{const t=q(e),n=R(t);return n?{error:n,queryKey:d(void 0,void 0,n),idleData:A}:{intent:t,error:null,queryKey:d(t),idleData:A}}catch(t){const n=S(t);return{error:n,queryKey:d(void 0,void 0,n),idleData:A}}}function S(e){return e instanceof Error?e:new Error(String(e))}function R(e){const t=h.validateSemaphorAnalyticsIntent(e);if(t.ok)return null;const n=t.errors.map(o=>o.path?`${o.code} at ${o.path}: ${o.message}`:`${o.code}: ${o.message}`).join("; ");return new Error(`Invalid Semaphor analytics intent. ${n}`)}function d(e,t,n){return JSON.stringify({intent:e,activeInputs:t,error:n==null?void 0:n.message})}function te(e){const[t,n]=u.useState(e.defaultValue),o=Object.prototype.hasOwnProperty.call(e,"value"),r=o?e.value:t,i=u.useMemo(()=>$(e.options),[e.options]),a=u.useCallback(s=>{var l;const p=s;(l=e.onValueChange)==null||l.call(e,p),o||n(p)},[o,e]),m=u.useCallback(()=>a(void 0),[a]);return u.useMemo(()=>{const s=w(e);return{id:e.id,kind:e.kind,label:e.label,field:s.field,operator:s.operator,controlRole:e.kind==="control"?e.role:void 0,value:r,options:i,isActive:y(r),setValue:a,clear:m,toAnalyticsInput:()=>({inputId:s.inputId,field:s.field,kind:e.kind,label:e.label,value:r,isActive:y(r),operator:s.operator,controlRole:e.kind==="control"?e.role:void 0})}},[m,i,a,e,r])}function re(e){const t=u.useMemo(()=>Y(e),[e]),n=u.useCallback(i=>{var a;return t.intent?(a=i.executor)==null?void 0:a.executeMetric(t.intent,i):void 0},[t.intent]),o=b(t.queryKey,n,t.idleData,t.activeInputs),r=t.error?t.idleData:o.data;return{id:e.id,intent:t.intent,value:(r==null?void 0:r.value)??null,metrics:r==null?void 0:r.metrics,comparisonValue:r==null?void 0:r.comparisonValue,delta:r==null?void 0:r.delta,deltaPercent:r==null?void 0:r.deltaPercent,records:r==null?void 0:r.records,status:t.error?"error":o.status,isLoading:!t.error&&o.status==="loading",error:t.error||o.error}}function ne(e){const t=u.useMemo(()=>Z(e),[e]),n=u.useCallback(i=>{var a;return t.intent?(a=i.executor)==null?void 0:a.executeRecords(t.intent,i):void 0},[t.intent]),o=b(t.queryKey,n,t.idleData,t.activeInputs),r=t.error?t.idleData:o.data;return{id:e.id,intent:t.intent,records:(r==null?void 0:r.records)||[],columns:r==null?void 0:r.columns,rowCount:r==null?void 0:r.rowCount,status:t.error?"error":o.status,isLoading:!t.error&&o.status==="loading",error:t.error||o.error}}function oe(e){const t=u.useMemo(()=>ee(e),[e]),n=u.useCallback(i=>{var a;return t.intent?(a=i.executor)==null?void 0:a.executeInputOptions(t.intent,i):void 0},[t.intent]),o=b(t.queryKey,n,t.idleData),r=t.error?t.idleData:o.data;return{id:e.id,intent:t.intent,options:(r==null?void 0:r.options)||[],status:t.error?"error":o.status,isLoading:!t.error&&o.status==="loading",error:t.error||o.error}}function b(e,t,n,o){const r=P(),i=u.useRef(t),a=u.useRef(o),[m,s]=u.useState({status:"idle",data:n,error:null});return i.current=t,a.current=o,u.useEffect(()=>{let p;try{p=i.current({...r,activeInputs:a.current})}catch(f){s({status:"error",data:n,error:S(f)});return}if(!p){s({status:"idle",data:n,error:null});return}let l=!1;return s(f=>({status:"loading",data:f.data,error:null})),p.then(f=>{l||s({status:"success",data:f,error:null})}).catch(f=>{l||s({status:"error",data:n,error:S(f)})}),()=>{l=!0}},[n,e,r]),m}exports.SemaphorDataAppContext=g;exports.SemaphorDataAppProvider=H;exports.createSemaphorDataAppExecutor=C;exports.hasSemaphorInputValue=y;exports.normalizeSemaphorInputOptions=$;exports.readWindowRuntime=T;exports.toSemaphorActiveInputSnapshots=D;exports.toSemaphorInputBinding=O;exports.toSemaphorInputBindings=V;exports.toSemaphorInputOptionsIntent=q;exports.toSemaphorInputSnapshots=B;exports.toSemaphorInputSpec=w;exports.toSemaphorMetricIntent=M;exports.toSemaphorRecordsIntent=E;exports.useSemaphorDataAppRuntime=P;exports.useSemaphorInput=te;exports.useSemaphorInputOptions=oe;exports.useSemaphorMetric=re;exports.useSemaphorRecords=ne;
|