react-semaphor 0.1.182 → 0.1.184

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 (42) hide show
  1. package/dist/chunks/calendar-preferences-dialog-D9oF_URo.js +1 -0
  2. package/dist/chunks/calendar-preferences-dialog-DeXKY9JD.js +457 -0
  3. package/dist/chunks/common-types-CfJLrTJd.js +1 -0
  4. package/dist/chunks/common-types-DhqlRVrq.js +8 -0
  5. package/dist/chunks/{dashboard-controls-pGlGtKRR.js → dashboard-controls-CB8282ob.js} +8 -8
  6. package/dist/chunks/{dashboard-controls-BnBXzFOj.js → dashboard-controls-lRs5t5cg.js} +499 -484
  7. package/dist/chunks/{dashboard-json-UVBr47Qj.js → dashboard-json-BmzqRV5Q.js} +1 -1
  8. package/dist/chunks/{dashboard-json-CiIyCwJi.js → dashboard-json-Brn4hMd-.js} +1 -1
  9. package/dist/chunks/date-formatter-Sz6QDaM8.js +1 -0
  10. package/dist/chunks/{index-B4EhQdS9.js → date-formatter-Y8Za1ib3.js} +500 -544
  11. package/dist/chunks/{edit-dashboard-visual-DoP_x_tT.js → edit-dashboard-visual--FJBg3i3.js} +914 -914
  12. package/dist/chunks/{edit-dashboard-visual-CXvyi_qa.js → edit-dashboard-visual-DNq8ni5W.js} +8 -8
  13. package/dist/chunks/{editor-action-buttons-5UEhKl88.js → editor-action-buttons-COCkxvCM.js} +27 -27
  14. package/dist/chunks/{editor-action-buttons-Bftd6Bfx.js → editor-action-buttons-RPpMm3Zr.js} +1 -1
  15. package/dist/chunks/{index-ahdw_esL.js → index-CyYJ0bVW.js} +24904 -24743
  16. package/dist/chunks/{index-D59dkH2b.js → index-Dz2kwOQh.js} +229 -229
  17. package/dist/chunks/{notification-bell-CKI2j8jH.js → notification-bell-B86bWytX.js} +109 -109
  18. package/dist/chunks/{notification-bell-DtWcBdzp.js → notification-bell-Bdk-qQIx.js} +2 -2
  19. package/dist/chunks/{resource-management-panel-qkl060k8.js → resource-management-panel-BZKSwkRq.js} +160 -160
  20. package/dist/chunks/{resource-management-panel-BLiCtZZE.js → resource-management-panel-CvKBoIFQ.js} +1 -1
  21. package/dist/chunks/{use-role-aware-display-preferences-CLf3yEts.js → use-role-aware-display-preferences-D-jgaajh.js} +1 -1
  22. package/dist/chunks/{use-role-aware-display-preferences-JstD5WLE.js → use-role-aware-display-preferences-Kxc427Zx.js} +1 -1
  23. package/dist/chunks/{use-visual-utils-TGjvLx_R.js → use-visual-utils-Du4NIgMk.js} +1 -1
  24. package/dist/chunks/{use-visual-utils-BbN7rxtD.js → use-visual-utils-DwQQN6wI.js} +33 -33
  25. package/dist/dashboard/index.cjs +1 -1
  26. package/dist/dashboard/index.js +3 -3
  27. package/dist/format-utils/index.cjs +5 -5
  28. package/dist/format-utils/index.js +200 -250
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.js +75 -71
  31. package/dist/style.css +1 -1
  32. package/dist/surfboard/index.cjs +1 -1
  33. package/dist/surfboard/index.js +6 -4
  34. package/dist/types/dashboard.d.ts +6 -2
  35. package/dist/types/format-utils.d.ts +43 -20
  36. package/dist/types/index.cjs +1 -1
  37. package/dist/types/index.js +8 -5
  38. package/dist/types/main.d.ts +99 -9
  39. package/dist/types/surfboard.d.ts +13 -2
  40. package/dist/types/types.d.ts +319 -2
  41. package/package.json +1 -1
  42. package/dist/chunks/index-8Crk3ROJ.js +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index-D59dkH2b.js"),c=require("react"),de=require("./use-visual-utils-TGjvLx_R.js"),pe=require("./use-role-aware-display-preferences-JstD5WLE.js");/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("./index-Dz2kwOQh.js"),c=require("react"),de=require("./use-visual-utils-Du4NIgMk.js"),pe=require("./use-role-aware-display-preferences-Kxc427Zx.js");/**
2
2
  * @license lucide-react v0.453.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import { b as m, e as t, g as D, f as U, h as b, i as u, j as E, k as g } from "./index-ahdw_esL.js";
1
+ import { b as m, e as t, g as D, f as U, h as b, i as u, j as E, k as g } from "./index-CyYJ0bVW.js";
2
2
  import { useMemo as i } from "react";
3
3
  function S() {
4
4
  const { displayPreferences: n, shouldShowElement: c } = m(), { currentUser: a, userContext: s } = t(), r = i(
@@ -1 +1 @@
1
- "use strict";const a=require("./index-D59dkH2b.js"),n=require("react");function f(){const{displayPreferences:c,shouldShowElement:o}=a.useDisplayPreferences(),{currentUser:e,userContext:s}=a.useCurrentUserInfo(),i=n.useMemo(()=>a.getRoleBasedDisplayOverrides(e),[e]),t=n.useMemo(()=>r=>i&&i[r]!==void 0&&i[r]===!1?!1:o(r),[i,o,c]),p=n.useMemo(()=>{var r,d,l,u,h;return{canEdit:((r=s==null?void 0:s.permissions)==null?void 0:r.canEdit)??a.canUserEdit(e),canUseFilters:((d=s==null?void 0:s.permissions)==null?void 0:d.canEdit)??a.canUserUseFilters(e),canManageDashboards:((l=s==null?void 0:s.permissions)==null?void 0:l.canCreateDashboard)??a.canUserManageDashboards(e),canCreateDashboards:((u=s==null?void 0:s.permissions)==null?void 0:u.canCreateDashboard)??a.canUserCreateDashboards(e),canAccessVisuals:((h=s==null?void 0:s.permissions)==null?void 0:h.canEdit)??a.canUserAccessVisuals(e)}},[e,s]);return{displayPreferences:c,shouldShowElement:t,permissions:p,currentUser:e}}exports.useRoleAwareDisplayPreferences=f;
1
+ "use strict";const a=require("./index-Dz2kwOQh.js"),n=require("react");function f(){const{displayPreferences:c,shouldShowElement:o}=a.useDisplayPreferences(),{currentUser:e,userContext:s}=a.useCurrentUserInfo(),i=n.useMemo(()=>a.getRoleBasedDisplayOverrides(e),[e]),t=n.useMemo(()=>r=>i&&i[r]!==void 0&&i[r]===!1?!1:o(r),[i,o,c]),p=n.useMemo(()=>{var r,d,l,u,h;return{canEdit:((r=s==null?void 0:s.permissions)==null?void 0:r.canEdit)??a.canUserEdit(e),canUseFilters:((d=s==null?void 0:s.permissions)==null?void 0:d.canEdit)??a.canUserUseFilters(e),canManageDashboards:((l=s==null?void 0:s.permissions)==null?void 0:l.canCreateDashboard)??a.canUserManageDashboards(e),canCreateDashboards:((u=s==null?void 0:s.permissions)==null?void 0:u.canCreateDashboard)??a.canUserCreateDashboards(e),canAccessVisuals:((h=s==null?void 0:s.permissions)==null?void 0:h.canEdit)??a.canUserAccessVisuals(e)}},[e,s]);return{displayPreferences:c,shouldShowElement:t,permissions:p,currentUser:e}}exports.useRoleAwareDisplayPreferences=f;
@@ -1 +1 @@
1
- "use strict";const s=require("./index-D59dkH2b.js"),g=require("react");function H(e){const a=e.toUpperCase().indexOf("WHERE"),t=e.toUpperCase().indexOf("GROUP BY"),r=e.toUpperCase().indexOf("LIMIT"),c=e.toUpperCase().indexOf("ORDER BY");let d=e.length;if(c!==-1&&(d=c),r!==-1&&r<d&&(d=r),a!==-1){const i=e.substring(0,a),o=e.substring(a);return`${i} {{ filters | where }} AND ${o.substring(6)}`}else if(t!==-1){const i=e.substring(0,t),o=e.substring(t);return`${i} {{ filters | where }} ${o}`}else{const i=e.substring(0,d),o=e.substring(d);return console.log("beforeClause",i),console.log("afterClause",o),o?`${i} {{ filters | where }} ${o}`:`${i.replace(/;$/,"")} {{ filters | where }}`}}function B(e){const[a,t]=g.useState(null),[r,c]=g.useState(null),d=s.useEnsureReactGlobals();return g.useEffect(()=>{if(!e||e.trim()===""){t(null),c(null);return}if(!d)return;(async()=>{try{if(!e.startsWith("http://")&&!e.startsWith("https://"))throw new Error(`Invalid URL format: ${e}`);try{new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}const l=`${e.endsWith("/")?e:`${e}/`}index.js`;try{if(!(await fetch(l,{method:"HEAD"})).ok)throw new Error(`Module not found at ${l}`)}catch{}const h=await import(l);if(typeof h.useChartStore!="function")throw new Error("useChartStore is not a function");t(()=>h.useChartStore),c(null)}catch(o){const l=o instanceof Error?o.message:"Unknown error";console.error("Failed to load remote chart store:",l),c(l),t(null)}})()},[e,d]),a}function Q(e,a){if(e.length===0)return"";if(a){const t=e.find(r=>r.id===a);if(t){const r=t.tabTitle;if(r=="All__Header")return e[0].id;if(r&&r.endsWith("__Header")){const d=r.split("__")[0],i=e.find(o=>o.tabTitle===d);return i?i.id:e[0].id}return a}}return e[0].id}async function j(e,a,t,r){if(!a||!t)throw new Error("Missing auth token or visual ID");const c=["resource-by-id","visual",t],d=r.getQueryData(c);if(d)return console.log("Using cached visual data for:",t),{data:d,fromCache:!0};console.log("Fetching visual data from network for:",t);const i=s.ue.loading("Loading visual...",{position:"top-center"});try{const o=await fetch(`${e}/management/v1/visuals/${t}`,{headers:{Authorization:`Bearer ${a}`}});if(!o.ok)throw new Error("Failed to load visual");const l=await o.json();return r.setQueryData(c,l),s.ue.dismiss(i),{data:l,fromCache:!1}}catch(o){throw s.ue.dismiss(i),o}}function T(e){if(typeof e=="string")return JSON.parse(e);if(typeof e=="object")return e;throw new Error("Invalid frame object format")}function z(e,a){var d,i;const t=(e==null?void 0:e.frameObject)??((d=e==null?void 0:e.visual)==null?void 0:d.frameObject);if(!t)return!1;const r=T(t);if(!(r!=null&&r.cards)||r.cards.length===0)return!1;const c=(i=r.cards)==null?void 0:i.find(o=>o.id===r.activeCardId);return c?(s.setupEditorWithCard({...a,frame:r,card:c,visualId:(e==null?void 0:e.id)||r.visualId}),!0):!1}function G(){var C;const{setCardSql:e}=s.useEditorActions(),a=s.useEditorStore(n=>n.frame),t=s.useEditorStore(n=>n.card),r=s.useEditorStore(n=>n.isDevMode),c=B(((C=t.customCardPreferences)==null?void 0:C.url)||""),d=s.useEditorStore(n=>n.selectedSchemaName),i=s.useEditorStore(n=>n.selectedDatamodelId),o=s.useEditorStore(n=>n.selectedDatabaseName),l=s.useEditorStore(n=>n.selectedTableName),h=s.useEditorStore(n=>n.selectedConnectionId),m=s.useEditorStore(n=>n.isShowingVisual),S=t.sql;return{getUpdatedFrame:g.useCallback(()=>{var I;let n=S;S&&!S.includes("{{")&&(n=H(S),e(n));const w=(I=c==null?void 0:c.getState())==null?void 0:I.settings,v={...t,dataSource:t.dataSource||{mode:"directSource"},lastSelectedSchema:d,lastSelectedDatamodelId:i,lastSelectedDatabase:o,lastSelectedTable:l,connectionId:h,sql:r?n:void 0,python:r?t.python:void 0,config:r?void 0:t.config,customCfg:m?t.customCfg:null,preferences:t.preferences,...w&&{customCardPreferences:{...t.customCardPreferences,settings:w}}},E=a.cards.map(p=>p.id===t.id?v:p);return{...a,cards:E,activeCardId:Q(E,a.activeCardId)}},[t,a,r,m,d,i,o,l,h,e,c,S])}}function Y(){const{authToken:e,tokenProps:a}=s.useSemaphorContext(),t=s.useQueryClient(),r=s.useSelectedVisual(),{selectVisual:c}=s.useManagementActions(),{setFrame:d,setCard:i,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:S,setSelectedConnectionId:V,setSelectedDatabaseName:C,setSelectedSchemaName:n,setSelectedTableName:w,setSelectedDatamodelId:v,setFilterValues:E,setApplyFilters:I}=s.useEditorActions(),{setIsDashboardEditing:p,setIsVisualEditing:$,setSelectedFrameId:D,clearSelectedFrameId:A,addFrame:N,setIsDashboardPanelOpen:R}=s.useDashboardActions(),y=s.useDashboardStore(u=>u.selectedSheetId),O=s.useDashboardStore(u=>u.selectedFrameId),x=s.useDashboardStore(u=>u.dashboard),W=s.useDashboardStore(u=>u.filterValues),F=s.useVisualById((r==null?void 0:r.id)||"",{enabled:!!(r!=null&&r.id)&&!!(e!=null&&e.accessToken)}),k=g.useCallback(async u=>{try{c(u),A();const{data:b,fromCache:f}=await j(a.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t);if(!z(b,{setFrame:d,setCard:i,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:S,setSelectedConnectionId:V,setSelectedDatabaseName:C,setSelectedSchemaName:n,setSelectedTableName:w,setSelectedDatamodelId:v,setFilterValues:E,setApplyFilters:I,setIsDashboardEditing:p,setIsVisualEditing:$,dashboard:x,selectedSheetId:y,selectedFrameId:O,filterValues:W}))throw new Error("Failed to setup editor with visual data");return{success:!0,fromCache:f}}catch(b){return console.error("Error editing visual:",b),{success:!1,error:"Failed to load visual for editing"}}},[e==null?void 0:e.accessToken,a.apiServiceUrl,t,c,d,i,p,$,o,l,h,m,S,V,C,n,w,v,E,I,A,x,y,O,W]),_=g.useCallback(async u=>{var b;try{if(c(u),!y)return{success:!1,error:"No sheet selected. Please select a sheet first."};const{data:f,fromCache:M}=await j(a.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t),L=(f==null?void 0:f.frameObject)??((b=f==null?void 0:f.visual)==null?void 0:b.frameObject);if(!L)return{success:!1,error:"Visual has no frame data"};const U=T(L);if(!(U!=null&&U.cards)||U.cards.length===0)return{success:!1,error:"Visual frame is malformed"};const P={...s.cloneFrameWithNewIds(U),visualId:u.id};return N(y,P,"end"),p(!0),D(P.id),R(!1),{success:!0,fromCache:M}}catch(f){return console.error("Error adding visual:",f),{success:!1,error:"Failed to add visual to dashboard"}}},[e==null?void 0:e.accessToken,a.apiServiceUrl,t,c,y,N,p,D,R]);return{visual:F.data,isLoading:F.isLoading,isError:F.isError,error:F.error,handleEditLibraryVisual:k,handleAddLibraryVisual:_,getUpdatedFrame:G().getUpdatedFrame,refetch:F.refetch}}exports.useRemoteChartStore=B;exports.useVisualUtils=Y;
1
+ "use strict";const s=require("./index-Dz2kwOQh.js"),g=require("react");function H(e){const a=e.toUpperCase().indexOf("WHERE"),t=e.toUpperCase().indexOf("GROUP BY"),r=e.toUpperCase().indexOf("LIMIT"),c=e.toUpperCase().indexOf("ORDER BY");let d=e.length;if(c!==-1&&(d=c),r!==-1&&r<d&&(d=r),a!==-1){const i=e.substring(0,a),o=e.substring(a);return`${i} {{ filters | where }} AND ${o.substring(6)}`}else if(t!==-1){const i=e.substring(0,t),o=e.substring(t);return`${i} {{ filters | where }} ${o}`}else{const i=e.substring(0,d),o=e.substring(d);return console.log("beforeClause",i),console.log("afterClause",o),o?`${i} {{ filters | where }} ${o}`:`${i.replace(/;$/,"")} {{ filters | where }}`}}function B(e){const[a,t]=g.useState(null),[r,c]=g.useState(null),d=s.useEnsureReactGlobals();return g.useEffect(()=>{if(!e||e.trim()===""){t(null),c(null);return}if(!d)return;(async()=>{try{if(!e.startsWith("http://")&&!e.startsWith("https://"))throw new Error(`Invalid URL format: ${e}`);try{new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}const l=`${e.endsWith("/")?e:`${e}/`}index.js`;try{if(!(await fetch(l,{method:"HEAD"})).ok)throw new Error(`Module not found at ${l}`)}catch{}const h=await import(l);if(typeof h.useChartStore!="function")throw new Error("useChartStore is not a function");t(()=>h.useChartStore),c(null)}catch(o){const l=o instanceof Error?o.message:"Unknown error";console.error("Failed to load remote chart store:",l),c(l),t(null)}})()},[e,d]),a}function Q(e,a){if(e.length===0)return"";if(a){const t=e.find(r=>r.id===a);if(t){const r=t.tabTitle;if(r=="All__Header")return e[0].id;if(r&&r.endsWith("__Header")){const d=r.split("__")[0],i=e.find(o=>o.tabTitle===d);return i?i.id:e[0].id}return a}}return e[0].id}async function j(e,a,t,r){if(!a||!t)throw new Error("Missing auth token or visual ID");const c=["resource-by-id","visual",t],d=r.getQueryData(c);if(d)return console.log("Using cached visual data for:",t),{data:d,fromCache:!0};console.log("Fetching visual data from network for:",t);const i=s.ue.loading("Loading visual...",{position:"top-center"});try{const o=await fetch(`${e}/management/v1/visuals/${t}`,{headers:{Authorization:`Bearer ${a}`}});if(!o.ok)throw new Error("Failed to load visual");const l=await o.json();return r.setQueryData(c,l),s.ue.dismiss(i),{data:l,fromCache:!1}}catch(o){throw s.ue.dismiss(i),o}}function T(e){if(typeof e=="string")return JSON.parse(e);if(typeof e=="object")return e;throw new Error("Invalid frame object format")}function z(e,a){var d,i;const t=(e==null?void 0:e.frameObject)??((d=e==null?void 0:e.visual)==null?void 0:d.frameObject);if(!t)return!1;const r=T(t);if(!(r!=null&&r.cards)||r.cards.length===0)return!1;const c=(i=r.cards)==null?void 0:i.find(o=>o.id===r.activeCardId);return c?(s.setupEditorWithCard({...a,frame:r,card:c,visualId:(e==null?void 0:e.id)||r.visualId}),!0):!1}function G(){var C;const{setCardSql:e}=s.useEditorActions(),a=s.useEditorStore(n=>n.frame),t=s.useEditorStore(n=>n.card),r=s.useEditorStore(n=>n.isDevMode),c=B(((C=t.customCardPreferences)==null?void 0:C.url)||""),d=s.useEditorStore(n=>n.selectedSchemaName),i=s.useEditorStore(n=>n.selectedDatamodelId),o=s.useEditorStore(n=>n.selectedDatabaseName),l=s.useEditorStore(n=>n.selectedTableName),h=s.useEditorStore(n=>n.selectedConnectionId),m=s.useEditorStore(n=>n.isShowingVisual),S=t.sql;return{getUpdatedFrame:g.useCallback(()=>{var I;let n=S;S&&!S.includes("{{")&&(n=H(S),e(n));const w=(I=c==null?void 0:c.getState())==null?void 0:I.settings,v={...t,dataSource:t.dataSource||{mode:"directSource"},lastSelectedSchema:d,lastSelectedDatamodelId:i,lastSelectedDatabase:o,lastSelectedTable:l,connectionId:h,sql:r?n:void 0,python:r?t.python:void 0,config:r?void 0:t.config,customCfg:m?t.customCfg:null,preferences:t.preferences,...w&&{customCardPreferences:{...t.customCardPreferences,settings:w}}},E=a.cards.map(p=>p.id===t.id?v:p);return{...a,cards:E,activeCardId:Q(E,a.activeCardId)}},[t,a,r,m,d,i,o,l,h,e,c,S])}}function Y(){const{authToken:e,tokenProps:a}=s.useSemaphorContext(),t=s.useQueryClient(),r=s.useSelectedVisual(),{selectVisual:c}=s.useManagementActions(),{setFrame:d,setCard:i,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:S,setSelectedConnectionId:V,setSelectedDatabaseName:C,setSelectedSchemaName:n,setSelectedTableName:w,setSelectedDatamodelId:v,setFilterValues:E,setApplyFilters:I}=s.useEditorActions(),{setIsDashboardEditing:p,setIsVisualEditing:$,setSelectedFrameId:D,clearSelectedFrameId:A,addFrame:N,setIsDashboardPanelOpen:R}=s.useDashboardActions(),y=s.useDashboardStore(u=>u.selectedSheetId),O=s.useDashboardStore(u=>u.selectedFrameId),x=s.useDashboardStore(u=>u.dashboard),W=s.useDashboardStore(u=>u.filterValues),F=s.useVisualById((r==null?void 0:r.id)||"",{enabled:!!(r!=null&&r.id)&&!!(e!=null&&e.accessToken)}),k=g.useCallback(async u=>{try{c(u),A();const{data:b,fromCache:f}=await j(a.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t);if(!z(b,{setFrame:d,setCard:i,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:S,setSelectedConnectionId:V,setSelectedDatabaseName:C,setSelectedSchemaName:n,setSelectedTableName:w,setSelectedDatamodelId:v,setFilterValues:E,setApplyFilters:I,setIsDashboardEditing:p,setIsVisualEditing:$,dashboard:x,selectedSheetId:y,selectedFrameId:O,filterValues:W}))throw new Error("Failed to setup editor with visual data");return{success:!0,fromCache:f}}catch(b){return console.error("Error editing visual:",b),{success:!1,error:"Failed to load visual for editing"}}},[e==null?void 0:e.accessToken,a.apiServiceUrl,t,c,d,i,p,$,o,l,h,m,S,V,C,n,w,v,E,I,A,x,y,O,W]),_=g.useCallback(async u=>{var b;try{if(c(u),!y)return{success:!1,error:"No sheet selected. Please select a sheet first."};const{data:f,fromCache:M}=await j(a.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t),L=(f==null?void 0:f.frameObject)??((b=f==null?void 0:f.visual)==null?void 0:b.frameObject);if(!L)return{success:!1,error:"Visual has no frame data"};const U=T(L);if(!(U!=null&&U.cards)||U.cards.length===0)return{success:!1,error:"Visual frame is malformed"};const P={...s.cloneFrameWithNewIds(U),visualId:u.id};return N(y,P,"end"),p(!0),D(P.id),R(!1),{success:!0,fromCache:M}}catch(f){return console.error("Error adding visual:",f),{success:!1,error:"Failed to add visual to dashboard"}}},[e==null?void 0:e.accessToken,a.apiServiceUrl,t,c,y,N,p,D,R]);return{visual:F.data,isLoading:F.isLoading,isError:F.isError,error:F.error,handleEditLibraryVisual:k,handleAddLibraryVisual:_,getUpdatedFrame:G().getUpdatedFrame,refetch:F.refetch}}exports.useRemoteChartStore=B;exports.useVisualUtils=Y;
@@ -1,4 +1,4 @@
1
- import { aM as G, aN as Y, aH as J, aI as K, aO as X, av as Q, as as Z, u as v, aP as q, aQ as ee, aL as V, aR as te, au as f } from "./index-ahdw_esL.js";
1
+ import { aY as z, l as Y, aU as J, aV as K, aZ as Z, aJ as G, aG as X, u as v, a_ as q, a$ as ee, I as V, b0 as te, aI as f } from "./index-CyYJ0bVW.js";
2
2
  import { useState as T, useEffect as re, useCallback as N } from "react";
3
3
  function se(e) {
4
4
  const o = e.toUpperCase().indexOf("WHERE"), t = e.toUpperCase().indexOf("GROUP BY"), r = e.toUpperCase().indexOf("LIMIT"), n = e.toUpperCase().indexOf("ORDER BY");
@@ -17,7 +17,7 @@ function se(e) {
17
17
  }
18
18
  }
19
19
  function oe(e) {
20
- const [o, t] = T(null), [r, n] = T(null), i = G();
20
+ const [o, t] = T(null), [r, n] = T(null), i = z();
21
21
  return re(() => {
22
22
  if (!e || e.trim() === "") {
23
23
  t(null), n(null);
@@ -75,7 +75,7 @@ function ae(e, o) {
75
75
  }
76
76
  return e[0].id;
77
77
  }
78
- async function H(e, o, t, r) {
78
+ async function _(e, o, t, r) {
79
79
  if (!o || !t)
80
80
  throw new Error("Missing auth token or visual ID");
81
81
  const n = ["resource-by-id", "visual", t], i = r.getQueryData(n);
@@ -102,7 +102,7 @@ async function H(e, o, t, r) {
102
102
  throw V.dismiss(c), s;
103
103
  }
104
104
  }
105
- function _(e) {
105
+ function H(e) {
106
106
  if (typeof e == "string")
107
107
  return JSON.parse(e);
108
108
  if (typeof e == "object")
@@ -114,7 +114,7 @@ function ne(e, o) {
114
114
  const t = (e == null ? void 0 : e.frameObject) ?? ((i = e == null ? void 0 : e.visual) == null ? void 0 : i.frameObject);
115
115
  if (!t)
116
116
  return !1;
117
- const r = _(t);
117
+ const r = H(t);
118
118
  if (!(r != null && r.cards) || r.cards.length === 0)
119
119
  return !1;
120
120
  const n = (c = r.cards) == null ? void 0 : c.find(
@@ -129,7 +129,7 @@ function ne(e, o) {
129
129
  }
130
130
  function ce() {
131
131
  var S;
132
- const { setCardSql: e } = Q(), o = f((a) => a.frame), t = f((a) => a.card), r = f((a) => a.isDevMode), n = oe(
132
+ const { setCardSql: e } = G(), o = f((a) => a.frame), t = f((a) => a.card), r = f((a) => a.isDevMode), n = oe(
133
133
  ((S = t.customCardPreferences) == null ? void 0 : S.url) || ""
134
134
  ), i = f(
135
135
  (a) => a.selectedSchemaName
@@ -190,7 +190,7 @@ function ce() {
190
190
  ]) };
191
191
  }
192
192
  function le() {
193
- const { authToken: e, tokenProps: o } = Y(), t = J(), r = K(), { selectVisual: n } = X(), {
193
+ const { authToken: e, tokenProps: o } = Y(), t = J(), r = K(), { selectVisual: n } = Z(), {
194
194
  setFrame: i,
195
195
  setCard: c,
196
196
  setIsDevMode: s,
@@ -205,20 +205,20 @@ function le() {
205
205
  setSelectedDatamodelId: U,
206
206
  setFilterValues: C,
207
207
  setApplyFilters: I
208
- } = Q(), {
208
+ } = G(), {
209
209
  setIsDashboardEditing: g,
210
- setIsVisualEditing: O,
211
- setSelectedFrameId: A,
212
- clearSelectedFrameId: D,
213
- addFrame: R,
214
- setIsDashboardPanelOpen: x
215
- } = Z(), y = v((l) => l.selectedSheetId), M = v((l) => l.selectedFrameId), W = v((l) => l.dashboard), L = v((l) => l.filterValues), E = q((r == null ? void 0 : r.id) || "", {
210
+ setIsVisualEditing: A,
211
+ setSelectedFrameId: D,
212
+ clearSelectedFrameId: O,
213
+ addFrame: x,
214
+ setIsDashboardPanelOpen: R
215
+ } = X(), y = v((l) => l.selectedSheetId), W = v((l) => l.selectedFrameId), M = v((l) => l.dashboard), L = v((l) => l.filterValues), E = q((r == null ? void 0 : r.id) || "", {
216
216
  enabled: !!(r != null && r.id) && !!(e != null && e.accessToken)
217
- }), k = N(
217
+ }), Q = N(
218
218
  async (l) => {
219
219
  try {
220
- n(l), D();
221
- const { data: b, fromCache: u } = await H(
220
+ n(l), O();
221
+ const { data: b, fromCache: u } = await _(
222
222
  o.apiServiceUrl,
223
223
  (e == null ? void 0 : e.accessToken) || "",
224
224
  l.id,
@@ -240,10 +240,10 @@ function le() {
240
240
  setFilterValues: C,
241
241
  setApplyFilters: I,
242
242
  setIsDashboardEditing: g,
243
- setIsVisualEditing: O,
244
- dashboard: W,
243
+ setIsVisualEditing: A,
244
+ dashboard: M,
245
245
  selectedSheetId: y,
246
- selectedFrameId: M,
246
+ selectedFrameId: W,
247
247
  filterValues: L
248
248
  }))
249
249
  throw new Error("Failed to setup editor with visual data");
@@ -260,7 +260,7 @@ function le() {
260
260
  i,
261
261
  c,
262
262
  g,
263
- O,
263
+ A,
264
264
  s,
265
265
  d,
266
266
  m,
@@ -273,13 +273,13 @@ function le() {
273
273
  U,
274
274
  C,
275
275
  I,
276
- D,
277
- W,
278
- y,
276
+ O,
279
277
  M,
278
+ y,
279
+ W,
280
280
  L
281
281
  ]
282
- ), z = N(
282
+ ), k = N(
283
283
  async (l) => {
284
284
  var b;
285
285
  try {
@@ -288,7 +288,7 @@ function le() {
288
288
  success: !1,
289
289
  error: "No sheet selected. Please select a sheet first."
290
290
  };
291
- const { data: u, fromCache: P } = await H(
291
+ const { data: u, fromCache: P } = await _(
292
292
  o.apiServiceUrl,
293
293
  (e == null ? void 0 : e.accessToken) || "",
294
294
  l.id,
@@ -296,7 +296,7 @@ function le() {
296
296
  ), j = (u == null ? void 0 : u.frameObject) ?? ((b = u == null ? void 0 : u.visual) == null ? void 0 : b.frameObject);
297
297
  if (!j)
298
298
  return { success: !1, error: "Visual has no frame data" };
299
- const F = _(j);
299
+ const F = H(j);
300
300
  if (!(F != null && F.cards) || F.cards.length === 0)
301
301
  return { success: !1, error: "Visual frame is malformed" };
302
302
  const B = {
@@ -304,7 +304,7 @@ function le() {
304
304
  visualId: l.id
305
305
  // Link this frame to the library visual
306
306
  };
307
- return R(y, B, "end"), g(!0), A(B.id), x(!1), { success: !0, fromCache: P };
307
+ return x(y, B, "end"), g(!0), D(B.id), R(!1), { success: !0, fromCache: P };
308
308
  } catch (u) {
309
309
  return console.error("Error adding visual:", u), { success: !1, error: "Failed to add visual to dashboard" };
310
310
  }
@@ -315,10 +315,10 @@ function le() {
315
315
  t,
316
316
  n,
317
317
  y,
318
- R,
318
+ x,
319
319
  g,
320
- A,
321
- x
320
+ D,
321
+ R
322
322
  ]
323
323
  );
324
324
  return {
@@ -326,8 +326,8 @@ function le() {
326
326
  isLoading: E.isLoading,
327
327
  isError: E.isError,
328
328
  error: E.error,
329
- handleEditLibraryVisual: k,
330
- handleAddLibraryVisual: z,
329
+ handleEditLibraryVisual: Q,
330
+ handleAddLibraryVisual: k,
331
331
  getUpdatedFrame: ce().getUpdatedFrame,
332
332
  refetch: E.refetch
333
333
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-D59dkH2b.js"),r=require("../types/index.cjs");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=r.EMPTY_SELECTION;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-Dz2kwOQh.js"),o=require("../chunks/common-types-CfJLrTJd.js");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=o.EMPTY_SELECTION;
@@ -1,6 +1,6 @@
1
- import { D as a } from "../chunks/index-ahdw_esL.js";
2
- import { EMPTY_SELECTION as e } from "../types/index.js";
1
+ import { D as a } from "../chunks/index-CyYJ0bVW.js";
2
+ import { E as s } from "../chunks/common-types-DhqlRVrq.js";
3
3
  export {
4
4
  a as Dashboard,
5
- e as EMPTY_SELECTION
5
+ s as EMPTY_SELECTION
6
6
  };
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("../chunks/index-8Crk3ROJ.js"),W=[{value:1e12,suffix:"T"},{value:1e9,suffix:"B"},{value:1e7,suffix:"Cr"},{value:1e6,suffix:"M"},{value:1e5,suffix:"L"},{value:1e3,suffix:"K"}];function T(r){const e=Math.abs(r);for(const{value:t,suffix:u}of W)if(e>=t)return{divisor:t,suffix:u};return{divisor:1,suffix:""}}function O(r){try{return new Intl.NumberFormat(r),!0}catch{return!1}}function f(r){return r&&O(r)?r:"en-US"}function w(r,e){if(r==null||isNaN(r))return"";const t=f(e==null?void 0:e.locale);let u=r;if(e!=null&&e.multiplyBy&&(u*=e.multiplyBy),e!=null&&e.useSuffix){const{divisor:c,suffix:l}=T(u);u=u/c;const i=new Intl.NumberFormat(t,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(u);return`${(e==null?void 0:e.prefix)??""}${i}${l}${(e==null?void 0:e.suffix)??""}`}const a=new Intl.NumberFormat(t,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(u);if(e!=null&&e.negativeInParentheses&&u<0){const c=a.replace("-","");return`${(e==null?void 0:e.prefix)??""}(${c})${(e==null?void 0:e.suffix)??""}`}return`${(e==null?void 0:e.prefix)??""}${a}${(e==null?void 0:e.suffix)??""}`}function g(r,e){if(r==null||isNaN(r))return"";const t=f(e==null?void 0:e.locale),u=(e==null?void 0:e.currency)||"USD";if(e!=null&&e.useSuffix){const{divisor:a,suffix:c}=T(r),l=r/a;return`${new Intl.NumberFormat(t,{style:"currency",currency:u,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(l)}${c}`}return new Intl.NumberFormat(t,{style:"currency",currency:u,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function N(r,e){if(r==null||isNaN(r))return"";const t=f(e==null?void 0:e.locale),u=e!=null&&e.alreadyPercent?r/100:r;return new Intl.NumberFormat(t,{style:"percent",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(u)}function V(r,e){if(r==null||isNaN(r))return"";const t=f(e==null?void 0:e.locale);return new Intl.NumberFormat(t,{notation:"scientific",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function D(r,e,t="en-US"){if(r==null||isNaN(r))return"";const u=f((e==null?void 0:e.locale)||t),a=(e==null?void 0:e.style)||"decimal";return a==="percent"?new Intl.NumberFormat(u,{style:"percent",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r/100):a==="currency"?new Intl.NumberFormat(u,{style:"currency",currency:(e==null?void 0:e.currency)||"USD",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r):new Intl.NumberFormat(u,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function z(r,e,t){const u={locale:t==null?void 0:t.locale,currency:t==null?void 0:t.currency,minimumFractionDigits:t==null?void 0:t.decimalPlaces,maximumFractionDigits:t==null?void 0:t.decimalPlaces,useSuffix:t==null?void 0:t.useSuffix,prefix:t==null?void 0:t.prefix,suffix:t==null?void 0:t.suffix,negativeInParentheses:t==null?void 0:t.negativeInParentheses,multiplyBy:t==null?void 0:t.multiplyBy};switch(e){case"currency":return g(r,u);case"percent":return N(r,u);case"scientific":return V(r,u);default:return w(r,u)}}function F(r,e){return r&&r!=="auto"?r:e}function k(r,e=new Date){try{const t={timeZone:r,timeZoneName:"short"},a=new Intl.DateTimeFormat("en-US",t).formatToParts(e).find(c=>c.type==="timeZoneName");return(a==null?void 0:a.value)||r}catch{return r}}function q(r){try{const e={timeZone:r,timeZoneName:"long"},u=new Intl.DateTimeFormat("en-US",e).formatToParts(new Date).find(a=>a.type==="timeZoneName");return(u==null?void 0:u.value)||r}catch{return r}}function b(r,e="auto"){if(!r)return new Date(NaN);const t=r.endsWith("Z"),u=/[+-]\d{2}:?\d{2}$/.test(r),a=/\([A-Z]{3,4}\)$/.test(r);if(e==="auto")return t||u||a?new Date(r):new Date(r+"Z");if(e==="local"){if(t||u){const c=r.replace(/Z$/,"").replace(/[+-]\d{2}:?\d{2}$/,"");return new Date(c)}return new Date(r)}else return e==="UTC"?t?new Date(r):u?new Date(r):new Date(r+"Z"):t||u||a?new Date(r):new Date(r+"Z")}function C(r,e,t){if(r==null)return"";try{const u=typeof r=="string"?b(r,e==null?void 0:e.sourceTimezone):r;if(isNaN(u.getTime()))return String(r);if(e!=null&&e.useRelativeTime)return I(u);const a=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy",c=F(e==null?void 0:e.timezone,t||"UTC");return S.formatInTimeZone(u,c,a)}catch{return String(r)}}function I(r){if(r==null)return"";try{const e=typeof r=="string"?S.parseISO(r):r;return isNaN(e.getTime())?String(r):S.formatDistanceToNow(e,{addSuffix:!0})}catch{return String(r)}}function $(r,e,t){return C(r,e,t)}function R(r,e,t){if(r==null)return"";if(!t.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?D(r,e.numberFormat,t.locale):String(r);case"date":return $(r,e.dateFormat,t.timezone);case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function L(r,e){return e.visibleColumns.map(t=>{const u=r[t],a=e.columnSettings[t];return R(u,a,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function s(r,e=","){if(r==null)return"";const t=String(r);return t.includes(e)||t.includes('"')||t.includes(`
2
- `)||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t}function d(r,e=","){return r.map(t=>s(t,e)).join(e)}function P(r,e={}){const{delimiter:t=",",lineEnding:u=`
3
- `}=e;return r.map(a=>d(a,t)).join(u)}function v(r,e={}){if(r.length===0)return"";const{delimiter:t=",",lineEnding:u=`
4
- `,includeHeaders:a=!0,columns:c}=e,l=c||Object.keys(r[0]),i=[];a&&i.push(l);for(const m of r){const y=l.map(h=>{const n=m[h];return n==null?"":String(n)});i.push(y)}return P(i,{delimiter:t,lineEnding:u})}function A(r,e){const t=[];e.includeHeaders&&t.push(d(e.visibleColumns,e.delimiter));for(const u of r){const a=L(u,e);t.push(a.map(c=>s(c,e.delimiter)).join(e.delimiter))}return t}function K(r,e,t=`
5
- `){return A(r,e).join(t)}function X(r,e,t){return r==null?"":t.useFormattedValues?typeof r=="number"&&(e==null?void 0:e.type)==="number"?D(r,e.numberFormat,t.locale):typeof r=="number"?r.toLocaleString(t.locale):String(r):String(r)}function B(r,e,t){var a,c;const u=[];if(r.isSubtotal&&!r.isGrandTotal){const l=e.groupByColumns.findIndex(i=>i.alias===r.subtotalLevel);e.groupByColumns.forEach((i,m)=>{var y,h,n,x;if(m===l){const M=(h=(y=e.rowAggregates)==null?void 0:y.find(G=>G.groupLevel===r.subtotalLevel))==null?void 0:h.label,U=(x=(n=r.subtotalContext)==null?void 0:n.groupByValues)==null?void 0:x[i.alias];u.push(M??`Subtotal (${U??"Total"})`)}else m<l?u.push(String(r[i.alias]??"")):u.push("")})}else if(r.isGrandTotal){const l=(c=(a=e.rowAggregates)==null?void 0:a.find(i=>i.groupLevel==="ALL"))==null?void 0:c.label;u.push(l||"Grand Total"),e.groupByColumns.slice(1).forEach(()=>u.push(""))}else e.groupByColumns.forEach(l=>{u.push(String(r[l.alias]??""))});return e.pivotSchema.filter(l=>l.isMetricColumn).forEach(l=>{const i=r[l.alias],m=t.columnSettings[l.alias];u.push(X(i,m,t))}),u}function E(r){const e=r.groupByColumns.map(u=>u.label||u.name),t=r.pivotSchema.filter(u=>u.isMetricColumn).map(u=>u.displayLabel||u.metricLabel||u.metricName||u.alias);return[...e,...t]}function _(r,e,t){const u=[];if(t.includeHeaders){const a=E(e);u.push(d(a,t.delimiter))}for(const a of r){const c=B(a,e,t);u.push(c.map(l=>s(l,t.delimiter)).join(t.delimiter))}return u}function Z(r,e,t){for(const u of r){if(u.level<t){e[u.level].push(u.name);for(let a=1;a<u.colspan;a++)e[u.level].push("")}u.children?Z(u.children,e,t):u.columnKey&&e[t].push(u.name)}}function H(r){const e=r.pivotByColumns.length,t=r.groupByColumns.length,u=Array.from({length:e+1},()=>[]);for(let a=0;a<e;a++)u[a].push(...Array(t).fill(""));if(u[e].push(...r.groupByColumns.map(a=>a.label||a.name)),Z(r.columnHeadersTree,u,e),r.showRowTotals){for(let a=0;a<e;a++)u[a].push("");u[e].push("Total")}return u}function J(r,e,t){if(r==null)return"";if(!t.useFormattedValues)return String(r);const u=t.columnSettings[e];return typeof r=="number"&&(u==null?void 0:u.type)==="number"?D(r,u.numberFormat,t.locale):typeof r=="number"?r.toLocaleString(t.locale):String(r)}function j(r,e,t){const u=[];r.fieldValues.forEach((c,l)=>{r.isSubtotal&&l===0?u.push(`${c} Total`):r.isSubtotal?u.push(""):u.push(String(c??""))});let a=0;return e.columnHeaders.forEach(c=>{var m;const l=(m=r.cells[c])==null?void 0:m.value,i=J(l,c,t);u.push(i),e.showRowTotals&&typeof l=="number"&&(a+=l)}),e.showRowTotals&&u.push(a.toLocaleString(t.locale)),u}function Q(r,e,t){const u=[];if(t.includeHeaders){const a=H(e);for(const c of a)u.push(d(c,t.delimiter))}for(const a of r){const c=j(a,e,t);u.push(c.map(l=>s(l,t.delimiter)).join(t.delimiter))}return u}exports.arrayToCSV=P;exports.arrayToCSVRow=d;exports.escapeCSVValue=s;exports.formatAggregateRow=B;exports.formatAggregateTableForCSV=_;exports.formatCellValue=R;exports.formatCurrency=g;exports.formatDate=C;exports.formatDateWithColumnSettings=$;exports.formatNumber=w;exports.formatNumberCustom=z;exports.formatNumberWithColumnSettings=D;exports.formatPercent=N;exports.formatPivotDataRow=j;exports.formatPivotTableForCSV=Q;exports.formatRelativeTime=I;exports.formatRowForExport=L;exports.formatScientific=V;exports.formatTableForCSV=A;exports.generateAggregateHeaders=E;exports.generatePivotHeaders=H;exports.generateTableCSV=K;exports.getTimezoneAbbreviation=k;exports.getTimezoneName=q;exports.objectsToCSV=v;exports.parseWithSourceTimezone=b;exports.resolveTimezone=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../chunks/date-formatter-Sz6QDaM8.js"),j=[{value:1e12,suffix:"T"},{value:1e9,suffix:"B"},{value:1e7,suffix:"Cr"},{value:1e6,suffix:"M"},{value:1e5,suffix:"L"},{value:1e3,suffix:"K"}];function T(r){const e=Math.abs(r);for(const{value:u,suffix:c}of j)if(e>=u)return{divisor:u,suffix:c};return{divisor:1,suffix:""}}function M(r){try{return new Intl.NumberFormat(r),!0}catch{return!1}}function s(r){return r&&M(r)?r:"en-US"}function g(r,e){if(r==null||isNaN(r))return"";const u=s(e==null?void 0:e.locale);let c=r;if(e!=null&&e.multiplyBy&&(c*=e.multiplyBy),e!=null&&e.useSuffix){const{divisor:t,suffix:i}=T(c);c=c/t;const a=new Intl.NumberFormat(u,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(c);return`${(e==null?void 0:e.prefix)??""}${a}${i}${(e==null?void 0:e.suffix)??""}`}const l=new Intl.NumberFormat(u,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2,useGrouping:(e==null?void 0:e.useGrouping)??!0}).format(c);if(e!=null&&e.negativeInParentheses&&c<0){const t=l.replace("-","");return`${(e==null?void 0:e.prefix)??""}(${t})${(e==null?void 0:e.suffix)??""}`}return`${(e==null?void 0:e.prefix)??""}${l}${(e==null?void 0:e.suffix)??""}`}function V(r,e){if(r==null||isNaN(r))return"";const u=s(e==null?void 0:e.locale),c=(e==null?void 0:e.currency)||"USD";if(e!=null&&e.useSuffix){const{divisor:l,suffix:t}=T(r),i=r/l;return`${new Intl.NumberFormat(u,{style:"currency",currency:c,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(i)}${t}`}return new Intl.NumberFormat(u,{style:"currency",currency:c,minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function w(r,e){if(r==null||isNaN(r))return"";const u=s(e==null?void 0:e.locale),c=e!=null&&e.alreadyPercent?r/100:r;return new Intl.NumberFormat(u,{style:"percent",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(c)}function N(r,e){if(r==null||isNaN(r))return"";const u=s(e==null?void 0:e.locale);return new Intl.NumberFormat(u,{notation:"scientific",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function D(r,e,u="en-US"){if(r==null||isNaN(r))return"";const c=s((e==null?void 0:e.locale)||u),l=(e==null?void 0:e.style)||"decimal";return l==="percent"?new Intl.NumberFormat(c,{style:"percent",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r/100):l==="currency"?new Intl.NumberFormat(c,{style:"currency",currency:(e==null?void 0:e.currency)||"USD",minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r):new Intl.NumberFormat(c,{minimumFractionDigits:(e==null?void 0:e.minimumFractionDigits)??0,maximumFractionDigits:(e==null?void 0:e.maximumFractionDigits)??2}).format(r)}function v(r,e,u){const c={locale:u==null?void 0:u.locale,currency:u==null?void 0:u.currency,minimumFractionDigits:u==null?void 0:u.decimalPlaces,maximumFractionDigits:u==null?void 0:u.decimalPlaces,useSuffix:u==null?void 0:u.useSuffix,prefix:u==null?void 0:u.prefix,suffix:u==null?void 0:u.suffix,negativeInParentheses:u==null?void 0:u.negativeInParentheses,multiplyBy:u==null?void 0:u.multiplyBy};switch(e){case"currency":return V(r,c);case"percent":return w(r,c);case"scientific":return N(r,c);default:return g(r,c)}}function G(r,e,u,c){const l=r instanceof Date?r.toISOString():String(r),t=(c==null?void 0:c.browserTimezone)||u,i=(c==null?void 0:c.isSqlCard)??!1;if(e!=null&&e.useRelativeTime)return f.formatRelativeTime(l,(e==null?void 0:e.sourceTimezone)||"auto");const a=e!=null&&e.useCustomFormat&&(e!=null&&e.customFormat)?e.customFormat:(e==null?void 0:e.format)||"MM/dd/yyyy";return f.formatDate(l,a,e!=null&&e.timezone&&(e==null?void 0:e.timezone)!=="auto"?e.timezone:i?t:u,(e==null?void 0:e.sourceTimezone)||"auto")}function b(r,e,u){if(r==null)return"";if(!u.useFormattedValues||!e)return String(r);switch(e.type){case"number":return typeof r=="number"?D(r,e.numberFormat,u.locale):String(r);case"date":return G(r,e.dateFormat,u.timezone,{browserTimezone:u.browserTimezone,isSqlCard:u.isSqlCard});case"progress":return typeof r=="number"?`${r}%`:String(r);case"badge":case"link":case"text":case"none":default:return String(r)}}function C(r,e){return e.visibleColumns.map(u=>{const c=r[u],l=e.columnSettings[u];return b(c,l,{useFormattedValues:e.useFormattedValues,timezone:e.timezone,locale:e.locale})})}function S(r,e=","){if(r==null)return"";const u=String(r);return u.includes(e)||u.includes('"')||u.includes(`
2
+ `)||u.includes("\r")?`"${u.replace(/"/g,'""')}"`:u}function y(r,e=","){return r.map(u=>S(u,e)).join(e)}function z(r,e={}){const{delimiter:u=",",lineEnding:c=`
3
+ `}=e;return r.map(l=>y(l,u)).join(c)}function U(r,e={}){if(r.length===0)return"";const{delimiter:u=",",lineEnding:c=`
4
+ `,includeHeaders:l=!0,columns:t}=e,i=t||Object.keys(r[0]),a=[];l&&a.push(i);for(const m of r){const h=i.map(d=>{const n=m[d];return n==null?"":String(n)});a.push(h)}return z(a,{delimiter:u,lineEnding:c})}function R(r,e){const u=[];e.includeHeaders&&u.push(y(e.visibleColumns,e.delimiter));for(const c of r){const l=C(c,e);u.push(l.map(t=>S(t,e.delimiter)).join(e.delimiter))}return u}function q(r,e,u=`
5
+ `){return R(r,e).join(u)}function O(r,e,u){return r==null?"":u.useFormattedValues?typeof r=="number"&&(e==null?void 0:e.type)==="number"?D(r,e.numberFormat,u.locale):typeof r=="number"?r.toLocaleString(u.locale):String(r):String(r)}function I(r,e,u){var l,t;const c=[];if(r.isSubtotal&&!r.isGrandTotal){const i=e.groupByColumns.findIndex(a=>a.alias===r.subtotalLevel);e.groupByColumns.forEach((a,m)=>{var h,d,n,x;if(m===i){const B=(d=(h=e.rowAggregates)==null?void 0:h.find(H=>H.groupLevel===r.subtotalLevel))==null?void 0:d.label,E=(x=(n=r.subtotalContext)==null?void 0:n.groupByValues)==null?void 0:x[a.alias];c.push(B??`Subtotal (${E??"Total"})`)}else m<i?c.push(String(r[a.alias]??"")):c.push("")})}else if(r.isGrandTotal){const i=(t=(l=e.rowAggregates)==null?void 0:l.find(a=>a.groupLevel==="ALL"))==null?void 0:t.label;c.push(i||"Grand Total"),e.groupByColumns.slice(1).forEach(()=>c.push(""))}else e.groupByColumns.forEach(i=>{c.push(String(r[i.alias]??""))});return e.pivotSchema.filter(i=>i.isMetricColumn).forEach(i=>{const a=r[i.alias],m=u.columnSettings[i.alias];c.push(O(a,m,u))}),c}function L(r){const e=r.groupByColumns.map(c=>c.label||c.name),u=r.pivotSchema.filter(c=>c.isMetricColumn).map(c=>c.displayLabel||c.metricLabel||c.metricName||c.alias);return[...e,...u]}function W(r,e,u){const c=[];if(u.includeHeaders){const l=L(e);c.push(y(l,u.delimiter))}for(const l of r){const t=I(l,e,u);c.push(t.map(i=>S(i,u.delimiter)).join(u.delimiter))}return c}function P(r,e,u){for(const c of r){if(c.level<u){e[c.level].push(c.name);for(let l=1;l<c.colspan;l++)e[c.level].push("")}c.children?P(c.children,e,u):c.columnKey&&e[u].push(c.name)}}function $(r){const e=r.pivotByColumns.length,u=r.groupByColumns.length,c=Array.from({length:e+1},()=>[]);for(let l=0;l<e;l++)c[l].push(...Array(u).fill(""));if(c[e].push(...r.groupByColumns.map(l=>l.label||l.name)),P(r.columnHeadersTree,c,e),r.showRowTotals){for(let l=0;l<e;l++)c[l].push("");c[e].push("Total")}return c}function k(r,e,u){if(r==null)return"";if(!u.useFormattedValues)return String(r);const c=u.columnSettings[e];return typeof r=="number"&&(c==null?void 0:c.type)==="number"?D(r,c.numberFormat,u.locale):typeof r=="number"?r.toLocaleString(u.locale):String(r)}function A(r,e,u){const c=[];r.fieldValues.forEach((t,i)=>{r.isSubtotal&&i===0?c.push(`${t} Total`):r.isSubtotal?c.push(""):c.push(String(t??""))});let l=0;return e.columnHeaders.forEach(t=>{var m;const i=(m=r.cells[t])==null?void 0:m.value,a=k(i,t,u);c.push(a),e.showRowTotals&&typeof i=="number"&&(l+=i)}),e.showRowTotals&&c.push(l.toLocaleString(u.locale)),c}function K(r,e,u){const c=[];if(u.includeHeaders){const l=$(e);for(const t of l)c.push(y(t,u.delimiter))}for(const l of r){const t=A(l,e,u);c.push(t.map(i=>S(i,u.delimiter)).join(u.delimiter))}return c}exports.formatDate=f.formatDate;exports.formatRelativeTime=f.formatRelativeTime;exports.getTimezoneAbbreviation=f.getTimezoneAbbreviation;exports.getTimezoneName=f.getTimezoneName;exports.parseWithSourceTimezone=f.parseWithSourceTimezone;exports.resolveTimezone=f.resolveTimezone;exports.arrayToCSV=z;exports.arrayToCSVRow=y;exports.escapeCSVValue=S;exports.formatAggregateRow=I;exports.formatAggregateTableForCSV=W;exports.formatCellValue=b;exports.formatCurrency=V;exports.formatNumber=g;exports.formatNumberCustom=v;exports.formatNumberWithColumnSettings=D;exports.formatPercent=w;exports.formatPivotDataRow=A;exports.formatPivotTableForCSV=K;exports.formatRowForExport=C;exports.formatScientific=N;exports.formatTableForCSV=R;exports.generateAggregateHeaders=L;exports.generatePivotHeaders=$;exports.generateTableCSV=q;exports.objectsToCSV=U;