@malloy-publisher/server 0.2.0 → 0.2.1

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.
@@ -1811,7 +1811,7 @@ paths:
1811
1811
  Retrieves everything a viewer needs to render one dashboard: the artifact
1812
1812
  tag's declarations plus the control contract derived from the givens its
1813
1813
  query references. Running the dashboard needs no further endpoint — its
1814
- query, each composite tile, and each control's suggest query all run
1814
+ query, each tile, and each control's suggest query all run
1815
1815
  through the model query endpoint with `givens`, using the manifest's
1816
1816
  `path` as the model.
1817
1817
  parameters:
@@ -3476,7 +3476,7 @@ components:
3476
3476
  Everything a viewer needs to render one dashboard: the artifact tag's
3477
3477
  declarations plus the control contract derived from the givens its query
3478
3478
  references. Running needs no dashboard-specific endpoint — the query,
3479
- each composite tile, and each control's suggest query all run through
3479
+ each tile, and each control's suggest query all run through
3480
3480
  the ordinary model query endpoint with `givens`.
3481
3481
  properties:
3482
3482
  resource:
@@ -3513,24 +3513,29 @@ components:
3513
3513
  query:
3514
3514
  type: string
3515
3515
  description: >-
3516
- Name of the tagged query to run. Present for the single-query form
3517
- only; a composite dashboard carries `tiles` instead. A NAME rather
3518
- than an expression, so it goes in the `queryName` field of a
3519
- `POST …/models/{path}/query` body. A tile's `query` is the other
3520
- shape and is not interchangeable with this one; see
3521
- `DashboardTile.query`.
3516
+ Name of the tagged query whose single result IS the page. Set when the
3517
+ `# artifact` tag sits on a `query:`; a dashboard authored the ordinary
3518
+ way carries `tiles` instead and leaves this absent. A NAME rather than
3519
+ an expression, so it goes in the `queryName` field of a
3520
+ `POST …/models/{path}/query` body. A tile's `query` is the other shape
3521
+ and is not interchangeable with this one; see `DashboardTile.query`.
3522
3522
  tiles:
3523
3523
  type: array
3524
- description:
3525
- Tiles of a composite dashboard, run separately and combined into one
3526
- grid. Present for the composite form only.
3524
+ description: >-
3525
+ The dashboard's tiles, each run as its own query and combined into one
3526
+ grid. This is how a dashboard is normally authored, and the only form
3527
+ that can span sources. Absent when the `# artifact` tag sits on a
3528
+ `query:` instead, in which case `query` is set.
3527
3529
  items:
3528
3530
  $ref: "#/components/schemas/DashboardTile"
3529
3531
  dashboardColumns:
3530
3532
  type: integer
3531
- description:
3532
- Grid width from the `# dashboard {columns=N}` render tag, or
3533
- `dashboard_columns=N` on a composite artifact tag
3533
+ description: >-
3534
+ Grid width, from the `# dashboard {columns=N}` render tag beside the
3535
+ artifact tag. One spelling wherever the artifact tag sits: Publisher
3536
+ reads it at model level to lay out `tiles`, and `@malloydata/render`
3537
+ reads the same tag off a tagged `query:`. Absent means the viewer's
3538
+ default.
3534
3539
  startingGivens:
3535
3540
  allOf:
3536
3541
  - $ref: "#/components/schemas/EncodedGivenValues"
@@ -3546,9 +3551,9 @@ components:
3546
3551
  type: array
3547
3552
  description: |
3548
3553
  The control row. Normally one entry per given the dashboard runs
3549
- with, which is what its `query` references on the single-query form
3550
- and the union over `tiles` on a composite, and which the entry file
3551
- can bind. A composite widens it to
3554
+ with: the union over `tiles`, or what `query` references when the tag
3555
+ sits on a query, and which the entry file
3556
+ can bind. The row widens to
3552
3557
  every given the entry file surfaces when any tile is one discovery
3553
3558
  cannot resolve, because that tile's givens are otherwise absent from
3554
3559
  the row it filters by; see `DashboardTile.givenNames`. So an entry
@@ -3576,7 +3581,7 @@ components:
3576
3581
 
3577
3582
  DashboardTile:
3578
3583
  type: object
3579
- description: One tile of a composite dashboard
3584
+ description: One tile of a dashboard
3580
3585
  properties:
3581
3586
  query:
3582
3587
  type: string
@@ -3601,6 +3606,39 @@ components:
3601
3606
  widens `DashboardManifest.givens` to every given the entry file
3602
3607
  surfaces, rather than the union over the resolvable tiles, so that
3603
3608
  the row actually contains the givens that tile filters by.
3609
+ label:
3610
+ type: string
3611
+ description: >-
3612
+ Heading for the tile, from a `# label` on the view or query it names.
3613
+ Absent when it carries none, in which case a viewer derives one from
3614
+ the run expression.
3615
+ subtitle:
3616
+ type: string
3617
+ description:
3618
+ Second line under the heading, from a `# subtitle` on the view or
3619
+ query it names.
3620
+ colspan:
3621
+ type: integer
3622
+ description: >-
3623
+ Grid columns this tile spans, from a `# colspan=N` on the view or
3624
+ query it names. Clamped to `dashboardColumns` at render time. Absent
3625
+ means one column.
3626
+ break:
3627
+ type: boolean
3628
+ description: >-
3629
+ Start a new grid row at this tile, from a `# break` on the view or
3630
+ query it names. Named for the tag, so every per-tile field on this
3631
+ schema is spelled the way an author writes it. A generated client
3632
+ escapes the attribute where the word is reserved (the Python client
3633
+ exposes `break_`) while the wire key stays `break`.
3634
+ borderless:
3635
+ type: boolean
3636
+ description: >-
3637
+ Draw the result with no card around it, from a `# borderless` on the
3638
+ view or query it names. Together with `label`, `subtitle`, `colspan`
3639
+ and `break` this is the whole per-child tag set `@malloydata/render`
3640
+ resolves for a `# dashboard` nest child, read the same way here so one
3641
+ view presents identically as a tile and as a nest.
3604
3642
 
3605
3643
  DataApp:
3606
3644
  type: object
@@ -4668,25 +4706,62 @@ components:
4668
4706
  type: object
4669
4707
  description: AWS S3 connection configuration for DuckDB
4670
4708
  properties:
4709
+ # No schema `default:` here on purpose, though the reason is narrower than
4710
+ # it looks: at the pinned openapi-typescript (6.x) a defaulted property
4711
+ # still generates as optional, so a `default:` would be harmless today. It
4712
+ # is at 7.x that a default makes the property REQUIRED, which would force
4713
+ # every caller to name a provider. Omitted for robustness across that bump,
4714
+ # not to avoid a present-day break. Note `region` below carries a default
4715
+ # and so already has that exposure — a 7.x upgrade has to deal with it
4716
+ # either way. The default is stated in the description and applied when the
4717
+ # connection is attached.
4718
+ provider:
4719
+ type: string
4720
+ enum:
4721
+ - config
4722
+ - credential_chain
4723
+ description: >-
4724
+ How credentials are obtained; defaults to `config` when omitted.
4725
+ `config` uses the accessKeyId and secretAccessKey on this object,
4726
+ which are then required.
4727
+ `credential_chain` resolves them from the host instead — an instance
4728
+ profile, a web-identity token, or the environment — so no key is
4729
+ stored, and supplying one is rejected. Chain resolution happens when
4730
+ the connection is attached, so a host that cannot supply credentials
4731
+ fails there rather than on first object access.
4732
+ chain:
4733
+ type: string
4734
+ description: >-
4735
+ Ordered list of credential providers to try, semicolon-separated,
4736
+ for `provider: credential_chain` (DuckDB's CHAIN). Recognized
4737
+ providers are env, config, sts, instance, sso, process, and
4738
+ web_identity. Omit to use Publisher's default order, which covers
4739
+ the environment, a web-identity token, and an instance profile.
4740
+ Rejected under `provider: config`, where the key pair beside it
4741
+ is what grants access.
4671
4742
  accessKeyId:
4672
4743
  type: string
4673
- description: AWS access key ID
4744
+ description: "AWS access key ID (required for `provider: config`)"
4674
4745
  secretAccessKey:
4675
4746
  type: string
4676
- description: AWS secret access key
4747
+ description: "AWS secret access key (required for `provider: config`)"
4677
4748
  region:
4678
4749
  type: string
4679
- description: AWS region (e.g., us-east-1)
4680
- default: us-east-1
4750
+ description: >-
4751
+ AWS region (e.g., us-east-1). Optional, and Publisher falls back to
4752
+ us-east-1 when it is absent — but the fallback is applied in code, not
4753
+ by this schema: a `default:` here would be documentation only, since
4754
+ the generated clients leave an omitted property undefined rather than
4755
+ filling it. Stated this way so a caller reading the schema does not
4756
+ conclude the wire supplies it. A remote root in another region MUST
4757
+ set this; omitting it reaches us-east-1 and fails as a missing bucket
4758
+ rather than as a misconfiguration.
4681
4759
  endpoint:
4682
4760
  type: string
4683
4761
  description: Custom S3-compatible endpoint URL (optional, for MinIO, etc.)
4684
4762
  sessionToken:
4685
4763
  type: string
4686
4764
  description: AWS session token for temporary credentials (optional)
4687
- required:
4688
- - accessKeyId
4689
- - secretAccessKey
4690
4765
 
4691
4766
  AzureConnection:
4692
4767
  type: object
@@ -1 +1 @@
1
- import{C as r,J as t,j as e,a3 as i,ad as o}from"./index-B8pnU_V_.js";function m(){const s=r(),{environmentName:n}=t();if(n){const a=i({environmentName:n});return e.jsx(o,{onSelectPackage:s,resourceUri:a})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{m as default};
1
+ import{T as r,J as t,j as e,a3 as i,ad as o}from"./index-P-pF8nU5.js";function m(){const s=r(),{environmentName:n}=t();if(n){const a=i({environmentName:n});return e.jsx(o,{onSelectPackage:s,resourceUri:a})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{m as default};
@@ -1 +1 @@
1
- import{C as t,j as o,g as a}from"./index-B8pnU_V_.js";function s(){const n=t();return o.jsx(a,{onClickEnvironment:n})}export{s as default};
1
+ import{T as t,j as o,C as a}from"./index-P-pF8nU5.js";function s(){const n=t();return o.jsx(a,{onClickEnvironment:n})}export{s as default};
@@ -1 +1 @@
1
- import{c,j as s}from"./index-B8pnU_V_.js";const t=c(s.jsx("path",{d:"M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1"})),a=c(s.jsx("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5M2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1m18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1m0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0z"}));export{t as D,a as L};
1
+ import{c,j as s}from"./index-P-pF8nU5.js";const t=c(s.jsx("path",{d:"M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1"})),a=c(s.jsx("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5M2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1m18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1m0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0z"}));export{t as D,a as L};
@@ -1,2 +1,2 @@
1
- import{u as Pe,a as Ee,r as u,R as Ce,b as Ie,c as S,j as t,s as M,B as Me,m as J,e as oe,d as le,f as ce,h as de,i as ze,k as O,l as pe,T as U,n as Z,o as Te,p as De,q as Re,t as ue,v as Be,w as se,x as Le,y as He,z as $e,A,D as $,M as Ne,P as Ae,E as We,F as Oe,S as Ve,G as Ue,H as F,I as V,J as he,C as q,K as f,L as Fe,N as xe,O as Q,Q as Qe,U as Xe,V as ae,W as fe,X as me,Y as ge,Z as Ye,_ as _e,$ as Ke}from"./index-B8pnU_V_.js";import{D as Ge,L as Je}from"./LightMode-BEyvNUzT.js";function Ze(e,r,n,o,s){const[a,i]=u.useState(()=>s&&n?n(e).matches:o?o(e).matches:r);return Ie(()=>{if(!n)return;const c=n(e),h=()=>{i(c.matches)};return h(),c.addEventListener("change",h),()=>{c.removeEventListener("change",h)}},[e,n]),a}const qe={...Ce},ye=qe.useSyncExternalStore;function et(e,r,n,o,s){const a=u.useCallback(()=>r,[r]),i=u.useMemo(()=>{if(s&&n)return()=>n(e).matches;if(o!==null){const{matches:p}=o(e);return()=>p}return a},[a,e,o,s,n]),[c,h]=u.useMemo(()=>{if(n===null)return[a,()=>()=>{}];const p=n(e);return[()=>p.matches,m=>(p.addEventListener("change",m),()=>{p.removeEventListener("change",m)})]},[a,n,e]);return ye(h,c,i)}function be(e={}){const{themeId:r}=e;return function(o,s={}){let a=Pe();a&&r&&(a=a[r]||a);const i=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:c=!1,matchMedia:h=i?window.matchMedia:null,ssrMatchMedia:x=null,noSsr:p=!1}=Ee({name:"MuiUseMediaQuery",props:s,theme:a});let m=typeof o=="function"?o(a):o;return m=m.replace(/^@media( ?)/m,""),m.includes("print")&&console.warn(["MUI: You have provided a `print` query to the `useMediaQuery` hook.","Using the print media query to modify print styles can lead to unexpected results.","Consider using the `displayPrint` field in the `sx` prop instead.","More information about `displayPrint` on our docs: https://mui.com/system/display/#display-in-print."].join(`
1
+ import{u as Pe,g as Ee,r as u,R as Ce,a as Ie,c as S,j as t,s as M,B as Me,m as J,e as oe,b as le,d as ce,f as de,h as ze,i as O,k as pe,l as U,n as Z,o as Te,p as De,q as Re,t as ue,v as Be,w as se,x as Le,y as He,z as $e,A,D as $,M as Ne,P as Ae,E as We,F as Oe,S as Ve,G as Ue,H as F,I as V,J as he,T as q,K as f,L as Fe,N as xe,O as Q,Q as Qe,U as Xe,V as ae,W as fe,X as me,Y as ge,Z as Ye,_ as _e,$ as Ke}from"./index-P-pF8nU5.js";import{D as Ge,L as Je}from"./LightMode-mHHPjEeA.js";function Ze(e,r,n,o,s){const[a,i]=u.useState(()=>s&&n?n(e).matches:o?o(e).matches:r);return Ie(()=>{if(!n)return;const c=n(e),h=()=>{i(c.matches)};return h(),c.addEventListener("change",h),()=>{c.removeEventListener("change",h)}},[e,n]),a}const qe={...Ce},ye=qe.useSyncExternalStore;function et(e,r,n,o,s){const a=u.useCallback(()=>r,[r]),i=u.useMemo(()=>{if(s&&n)return()=>n(e).matches;if(o!==null){const{matches:p}=o(e);return()=>p}return a},[a,e,o,s,n]),[c,h]=u.useMemo(()=>{if(n===null)return[a,()=>()=>{}];const p=n(e);return[()=>p.matches,m=>(p.addEventListener("change",m),()=>{p.removeEventListener("change",m)})]},[a,n,e]);return ye(h,c,i)}function be(e={}){const{themeId:r}=e;return function(o,s={}){let a=Pe();a&&r&&(a=a[r]||a);const i=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:c=!1,matchMedia:h=i?window.matchMedia:null,ssrMatchMedia:x=null,noSsr:p=!1}=Ee({name:"MuiUseMediaQuery",props:s,theme:a});let m=typeof o=="function"?o(a):o;return m=m.replace(/^@media( ?)/m,""),m.includes("print")&&console.warn(["MUI: You have provided a `print` query to the `useMediaQuery` hook.","Using the print media query to modify print styles can lead to unexpected results.","Consider using the `displayPrint` field in the `sx` prop instead.","More information about `displayPrint` on our docs: https://mui.com/system/display/#display-in-print."].join(`
2
2
  `)),(ye!==void 0?et:Ze)(m,c,h,x,p)}}be();const tt=S(t.jsx("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})),rt=M(Me,{name:"MuiBreadcrumbCollapsed"})(J(({theme:e})=>({display:"flex",marginLeft:`calc(${e.spacing(1)} * 0.5)`,marginRight:`calc(${e.spacing(1)} * 0.5)`,...e.palette.mode==="light"?{backgroundColor:e.palette.grey[100],color:e.palette.grey[700]}:{backgroundColor:e.palette.grey[700],color:e.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...e.palette.mode==="light"?{backgroundColor:e.palette.grey[200]}:{backgroundColor:e.palette.grey[600]}},"&:active":{boxShadow:e.shadows[0],...e.palette.mode==="light"?{backgroundColor:oe(e.palette.grey[200],.12)}:{backgroundColor:oe(e.palette.grey[600],.12)}}}))),nt=M(tt)({width:24,height:16});function ot(e){const{slots:r={},slotProps:n={},...o}=e,s=e;return t.jsx("li",{children:t.jsx(rt,{focusRipple:!0,...o,ownerState:s,children:t.jsx(nt,{as:r.CollapsedIcon,ownerState:s,...n.collapsedIcon})})})}function st(e){return ce("MuiBreadcrumbs",e)}const at=le("MuiBreadcrumbs",["root","ol","li","separator"]),it=e=>{const{classes:r}=e;return pe({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},st,r)},lt=M(U,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,r)=>[{[`& .${at.li}`]:r.li},r.root]})({}),ct=M("ol",{name:"MuiBreadcrumbs",slot:"Ol"})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),dt=M("li",{name:"MuiBreadcrumbs",slot:"Separator"})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function pt(e,r,n,o){return e.reduce((s,a,i)=>(i<e.length-1?s=s.concat(a,t.jsx(dt,{"aria-hidden":!0,className:r,ownerState:o,children:n},`separator-${i}`)):s.push(a),s),[])}const ut=u.forwardRef(function(r,n){const o=de({props:r,name:"MuiBreadcrumbs"}),{children:s,className:a,component:i="nav",slots:c={},slotProps:h={},expandText:x="Show path",itemsAfterCollapse:p=1,itemsBeforeCollapse:m=1,maxItems:y=8,separator:P="/",...H}=o,[z,E]=u.useState(!1),v={...o,component:i,expanded:z,expandText:x,itemsAfterCollapse:p,itemsBeforeCollapse:m,maxItems:y,separator:P},C=it(v),T=ze({elementType:c.CollapsedIcon,externalSlotProps:h.collapsedIcon,ownerState:v}),j=u.useRef(null),k=d=>{const w=()=>{E(!0);const b=j.current.querySelector("a[href],button,[tabindex]");b&&b.focus()};return m+p>=d.length?d:[...d.slice(0,m),t.jsx(ot,{"aria-label":x,slots:{CollapsedIcon:c.CollapsedIcon},slotProps:{collapsedIcon:T},onClick:w},"ellipsis"),...d.slice(d.length-p,d.length)]},D=u.Children.toArray(s).filter(d=>u.isValidElement(d)).map((d,w)=>t.jsx("li",{className:C.li,children:d},`child-${w}`));return t.jsx(lt,{ref:n,component:i,color:"textSecondary",className:O(C.root,a),ownerState:v,...H,children:t.jsx(ct,{className:C.ol,ref:j,ownerState:v,children:pt(z||y&&D.length<=y?D:k(D),C.separator,P,v)})})});function ht(e,r,n){const o=r.getBoundingClientRect(),s=n&&n.getBoundingClientRect(),a=ue(r);let i;if(r.fakeTransform)i=r.fakeTransform;else{const x=a.getComputedStyle(r);i=x.getPropertyValue("-webkit-transform")||x.getPropertyValue("transform")}let c=0,h=0;if(i&&i!=="none"&&typeof i=="string"){const x=i.split("(")[1].split(")")[0].split(",");c=parseInt(x[4],10),h=parseInt(x[5],10)}return e==="left"?s?`translateX(${s.right+c-o.left}px)`:`translateX(${a.innerWidth+c-o.left}px)`:e==="right"?s?`translateX(-${o.right-s.left-c}px)`:`translateX(-${o.left+o.width-c}px)`:e==="up"?s?`translateY(${s.bottom+h-o.top}px)`:`translateY(${a.innerHeight+h-o.top}px)`:s?`translateY(-${o.top-s.top+o.height-h}px)`:`translateY(-${o.top+o.height-h}px)`}function xt(e){return typeof e=="function"?e():e}function W(e,r,n){const o=xt(n),s=ht(e,r,o);s&&(r.style.webkitTransform=s,r.style.transform=s)}const ft=u.forwardRef(function(r,n){const o=Z(),s={enter:o.transitions.easing.easeOut,exit:o.transitions.easing.sharp},a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{addEndListener:i,appear:c=!0,children:h,container:x,direction:p="down",easing:m=s,in:y,onEnter:P,onEntered:H,onEntering:z,onExit:E,onExited:v,onExiting:C,style:T,timeout:j=a,TransitionComponent:k=Te,...D}=r,d=u.useRef(null),w=De(Re(h),d,n),b=l=>g=>{l&&(g===void 0?l(d.current):l(d.current,g))},X=b((l,g)=>{W(p,l,x),Le(l),P&&P(l,g)}),te=b((l,g)=>{const L=se({timeout:j,style:T,easing:m},{mode:"enter"});l.style.webkitTransition=o.transitions.create("-webkit-transform",{...L}),l.style.transition=o.transitions.create("transform",{...L}),l.style.webkitTransform="none",l.style.transform="none",z&&z(l,g)}),R=b(H),B=b(C),I=b(l=>{const g=se({timeout:j,style:T,easing:m},{mode:"exit"});l.style.webkitTransition=o.transitions.create("-webkit-transform",g),l.style.transition=o.transitions.create("transform",g),W(p,l,x),E&&E(l)}),Y=b(l=>{l.style.webkitTransition="",l.style.transition="",v&&v(l)}),_=l=>{i&&i(d.current,l)},N=u.useCallback(()=>{d.current&&W(p,d.current,x)},[p,x]);return u.useEffect(()=>{if(y||p==="down"||p==="right")return;const l=Be(()=>{d.current&&W(p,d.current,x)}),g=ue(d.current);return g.addEventListener("resize",l),()=>{l.clear(),g.removeEventListener("resize",l)}},[p,y,x]),u.useEffect(()=>{y||N()},[y,N]),t.jsx(k,{nodeRef:d,onEnter:X,onEntered:R,onEntering:te,onExit:I,onExited:Y,onExiting:B,addEndListener:_,appear:c,in:y,timeout:j,...D,children:(l,{ownerState:g,...L})=>u.cloneElement(h,{ref:w,style:{visibility:l==="exited"&&!y?"hidden":void 0,...T,...h.props.style},...L})})});function mt(e){return ce("MuiDrawer",e)}le("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const ve=(e,r)=>{const{ownerState:n}=e;return[r.root,(n.variant==="permanent"||n.variant==="persistent")&&r.docked,r.modal]},gt=e=>{const{classes:r,anchor:n,variant:o}=e,s={root:["root",`anchor${$(n)}`],docked:[(o==="permanent"||o==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${$(n)}`,o!=="temporary"&&`paperAnchorDocked${$(n)}`]};return pe(s,mt,r)},yt=M(Ne,{name:"MuiDrawer",slot:"Root",overridesResolver:ve})(J(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer}))),bt=M("div",{shouldForwardProp:We,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:ve})({flex:"0 0 auto"}),vt=M(Ae,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,r)=>{const{ownerState:n}=e;return[r.paper,r[`paperAnchor${$(n.anchor)}`],n.variant!=="temporary"&&r[`paperAnchorDocked${$(n.anchor)}`]]}})(J(({theme:e})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:r})=>r.anchor==="left"&&r.variant!=="temporary",style:{borderRight:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:r})=>r.anchor==="top"&&r.variant!=="temporary",style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:r})=>r.anchor==="right"&&r.variant!=="temporary",style:{borderLeft:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:r})=>r.anchor==="bottom"&&r.variant!=="temporary",style:{borderTop:`1px solid ${(e.vars||e).palette.divider}`}}]}))),je={left:"right",right:"left",top:"down",bottom:"up"};function jt(e){return["left","right"].includes(e)}function kt({direction:e},r){return e==="rtl"&&jt(r)?je[r]:r}const wt=u.forwardRef(function(r,n){const o=de({props:r,name:"MuiDrawer"}),s=Z(),a=He(),i={enter:s.transitions.duration.enteringScreen,exit:s.transitions.duration.leavingScreen},{anchor:c="left",BackdropProps:h,children:x,className:p,elevation:m=16,hideBackdrop:y=!1,ModalProps:{BackdropProps:P,...H}={},onClose:z,open:E=!1,PaperProps:v={},SlideProps:C,TransitionComponent:T,transitionDuration:j=i,variant:k="temporary",slots:D={},slotProps:d={},...w}=o,b=u.useRef(!1);u.useEffect(()=>{b.current=!0},[]);const X=kt({direction:a?"rtl":"ltr"},c),R={...o,anchor:c,elevation:m,open:E,variant:k,...w},B=gt(R),I={slots:{transition:T,...D},slotProps:{paper:v,transition:C,...d,backdrop:$e(d.backdrop||{...h,...P},{transitionDuration:j})}},[Y,_]=A("root",{ref:n,elementType:yt,className:O(B.root,B.modal,p),shouldForwardComponentProp:!0,ownerState:R,externalForwardedProps:{...I,...w,...H},additionalProps:{open:E,onClose:z,hideBackdrop:y,slots:{backdrop:I.slots.backdrop},slotProps:{backdrop:I.slotProps.backdrop}}}),[N,l]=A("paper",{elementType:vt,shouldForwardComponentProp:!0,className:O(B.paper,v.className),ownerState:R,externalForwardedProps:I,additionalProps:{elevation:k==="temporary"?m:0,square:!0,...k==="temporary"&&{role:"dialog","aria-modal":"true"}}}),[g,L]=A("docked",{elementType:bt,ref:n,className:O(B.root,B.docked,p),ownerState:R,externalForwardedProps:I,additionalProps:w}),[we,Se]=A("transition",{elementType:ft,ownerState:R,externalForwardedProps:I,additionalProps:{in:E,direction:je[X],timeout:j,appear:b.current}}),re=t.jsx(N,{...l,children:x});if(k==="permanent")return t.jsx(g,{...L,children:re});const ne=t.jsx(we,{...Se,children:re});return k==="persistent"?t.jsx(g,{...L,children:ne}):t.jsx(Y,{..._,children:ne})}),St=be({themeId:Oe}),Pt=S([t.jsx("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"},"0"),t.jsx("path",{d:"M14 17H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"},"1")]),Et=S(t.jsx("path",{d:"M10.85 12.65h2.3L12 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM14.3 16l-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9z"})),Ct=S(t.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),It=S(t.jsx("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"})),Mt=S(t.jsx("path",{d:"m9.17 6 2 2H20v10H4V6zM10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"})),zt=S(t.jsx("path",{d:"m12 5.69 5 4.5V18h-2v-6H9v6H7v-7.81zM12 3 2 12h3v8h6v-6h2v6h6v-8h3z"})),Tt=S(t.jsx("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"})),Dt=S([t.jsx("path",{d:"M12 22C6.49 22 2 17.51 2 12S6.49 2 12 2s10 4.04 10 9c0 3.31-2.69 6-6 6h-1.77c-.28 0-.5.22-.5.5 0 .12.05.23.13.33.41.47.64 1.06.64 1.67 0 1.38-1.12 2.5-2.5 2.5m0-18c-4.41 0-8 3.59-8 8s3.59 8 8 8c.28 0 .5-.22.5-.5 0-.16-.08-.28-.14-.35-.41-.46-.63-1.05-.63-1.65 0-1.38 1.12-2.5 2.5-2.5H16c2.21 0 4-1.79 4-4 0-3.86-3.59-7-8-7"},"0"),t.jsx("circle",{cx:"6.5",cy:"11.5",r:"1.5"},"1"),t.jsx("circle",{cx:"9.5",cy:"7.5",r:"1.5"},"2"),t.jsx("circle",{cx:"14.5",cy:"7.5",r:"1.5"},"3"),t.jsx("circle",{cx:"17.5",cy:"11.5",r:"1.5"},"4")]);function G(e){return t.jsxs(Ve,{...e,viewBox:"0 0 24 24",sx:{fill:"none",...e.sx},children:[t.jsx("rect",{x:"3.25",y:"4.75",width:"17.5",height:"14.5",rx:"2.25",stroke:"currentColor",strokeWidth:"1.5"}),t.jsx("line",{x1:"8.5",y1:"5",x2:"8.5",y2:"19",stroke:"currentColor",strokeWidth:"1.5"})]})}const Rt={light:"dark",dark:"auto",auto:"light"},ie={light:"Light mode (click for dark)",dark:"Dark mode (click for auto)",auto:"Auto mode (follows OS, click for light)"};function Bt(){const{mode:e,userChoice:r,setMode:n,allowUserToggle:o}=Ue();if(!o)return null;const s=r??e,a=Rt[s],i=s==="auto"?Et:s==="dark"?Ge:Je;return t.jsx(F,{title:ie[s],children:t.jsx(V,{"aria-label":ie[s],onClick:()=>n(a),size:"small",children:t.jsx(i,{fontSize:"small"})})})}function K({label:e,onClick:r}){return t.jsx(Fe,{clickable:!0,onClick:r,label:e,size:"small","aria-label":`Navigate to ${e}`,sx:n=>({backgroundColor:"background.paper",color:"text.primary",fontWeight:500,fontSize:"0.875rem",height:32,cursor:"pointer",borderRadius:"4px",maxWidth:320,"& .MuiChip-label":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},"&:hover":{backgroundColor:n.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"grey.100"}})})}function Lt(){const e=he(),r=e["*"],n=q();return!e.environmentName&&!e.packageName&&!r?null:t.jsx(f,{sx:{display:"flex",alignItems:"center",minWidth:0},children:t.jsxs(ut,{"aria-label":"breadcrumb",separator:t.jsx(Ct,{sx:{fontSize:14,color:"text.secondary"}}),children:[e.environmentName&&t.jsx(K,{label:e.environmentName,onClick:o=>n(`/${e.environmentName}/`,o)}),e.packageName&&t.jsx(K,{label:e.packageName,onClick:o=>n(`/${e.environmentName}/${e.packageName}/`,o)}),r&&t.jsx(K,{label:r,onClick:o=>n(`/${e.environmentName}/${e.packageName}/${r}`,o)})]})})}const Ht=260,$t=64;function ke({isCollapsed:e,onToggleCollapse:r,logoHeader:n}){return t.jsxs(f,{sx:{height:"100dvh",width:e?$t:Ht,flexShrink:0,display:"flex",flexDirection:"column",backgroundColor:"background.paper",transition:"width 0.2s cubic-bezier(0.4, 0, 0.2, 1)",overflow:"hidden"},children:[t.jsx(Nt,{isCollapsed:e,onToggleCollapse:r,logoHeader:n}),t.jsxs(f,{sx:{flex:1,overflowY:"auto",overflowX:"hidden",py:1},children:[t.jsx(At,{isCollapsed:e}),t.jsx(Wt,{isCollapsed:e}),t.jsx(Ot,{isCollapsed:e})]}),t.jsx(Vt,{isCollapsed:e})]})}function Nt({isCollapsed:e,onToggleCollapse:r,logoHeader:n}){const o=q();return n?t.jsxs(f,{sx:{height:56,display:"flex",alignItems:"center",justifyContent:"space-between",px:e?0:2,flexShrink:0},children:[n,t.jsx(V,{size:"small",onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",children:t.jsx(G,{fontSize:"small"})})]}):t.jsxs(f,{sx:{minHeight:56,display:"flex",flexDirection:e?"column":"row",alignItems:"center",justifyContent:e?"center":"space-between",gap:e?.5:0,py:e?1:0,px:e?0:2,flexShrink:0},children:[t.jsxs(f,{onClick:s=>o("/",s),sx:{display:"flex",alignItems:"center",gap:1,cursor:"pointer",minWidth:0},children:[t.jsx(f,{component:"img",src:"/logo.svg",alt:"Malloy",sx:{width:24,height:24,flexShrink:0}}),!e&&t.jsx(U,{variant:"subtitle1",sx:{color:"text.primary",fontWeight:500,letterSpacing:"-0.025em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:"Malloy Publisher"})]}),t.jsx(F,{title:e?"Expand sidebar":"Collapse sidebar",placement:"right",children:t.jsx(V,{size:"small",onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",children:t.jsx(G,{fontSize:"small"})})})]})}function At({isCollapsed:e}){const n=xe().pathname==="/";return t.jsx(Q,{sx:{py:0},children:t.jsx(ee,{icon:t.jsx(zt,{fontSize:"small"}),label:"Home",to:"/",selected:n,isCollapsed:e})})}function Wt({isCollapsed:e}){const{apiClients:r}=Qe(),n=he(),{data:o}=Xe({queryKey:["environments"],queryFn:()=>r.environments.listEnvironments()}),s=o?.data??[];return s.length===0?null:t.jsxs(f,{sx:{mt:1},children:[!e&&t.jsx(U,{variant:"caption",sx:{display:"block",px:3,py:1,color:"text.secondary",fontWeight:500,textTransform:"uppercase",fontSize:"0.6875rem",letterSpacing:"0.5px"},children:"Environments"}),t.jsx(Q,{sx:{py:0},children:s.map(a=>{const i=a.name??"";return t.jsx(ee,{icon:t.jsx(Mt,{fontSize:"small"}),label:i,to:`/${i}`,selected:n.environmentName===i,isCollapsed:e},i)})})]})}function Ot({isCollapsed:e}){const n=xe().pathname.startsWith("/settings/theme");return t.jsxs(f,{sx:{mt:1},children:[!e&&t.jsx(U,{variant:"caption",sx:{display:"block",px:3,py:1,color:"text.secondary",fontWeight:500,textTransform:"uppercase",fontSize:"0.6875rem",letterSpacing:"0.5px"},children:"Settings"}),t.jsx(Q,{sx:{py:0},children:t.jsx(ee,{icon:t.jsx(Dt,{fontSize:"small"}),label:"Visualization theme",to:"/settings/theme",selected:n,isCollapsed:e})})]})}function Vt({isCollapsed:e}){const r=[{label:"Malloy Docs",href:ae.docsHome,icon:t.jsx(Pt,{fontSize:"small"}),external:!0},{label:"Publisher Docs",href:ae.publishing,icon:t.jsx(Tt,{fontSize:"small"}),external:!0},{label:"Publisher API",href:"/api-doc.html",icon:t.jsx(It,{fontSize:"small"}),external:!1}];return t.jsx(Q,{sx:{py:1},children:r.map(n=>t.jsx(Ut,{label:n.label,href:n.href,icon:n.icon,external:n.external,isCollapsed:e},n.label))})}function ee({icon:e,label:r,to:n,selected:o,isCollapsed:s}){const a=q(),i=t.jsxs(fe,{selected:o,onClick:c=>a(n,c),sx:{justifyContent:s?"center":"flex-start",px:s?0:2},children:[t.jsx(me,{sx:{minWidth:s?0:36,justifyContent:"center",color:o?"text.primary":"text.secondary"},children:e}),!s&&t.jsx(ge,{primary:r,primaryTypographyProps:{variant:"body2",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}})]});return s?t.jsx(F,{title:r,placement:"right",children:t.jsx(f,{children:i})}):i}function Ut({label:e,href:r,icon:n,external:o,isCollapsed:s}){const a=t.jsxs(fe,{component:"a",href:r,target:o?"_blank":void 0,rel:o?"noopener noreferrer":void 0,sx:{justifyContent:s?"center":"flex-start",px:s?0:2},children:[t.jsx(me,{sx:{minWidth:s?0:36,justifyContent:"center",color:"text.secondary"},children:n}),!s&&t.jsx(ge,{primary:e,primaryTypographyProps:{variant:"body2",sx:{color:"text.secondary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}})]});return s?t.jsx(F,{title:e,placement:"right",children:t.jsx(f,{children:a})}):a}function Ft({open:e,onClose:r,logoHeader:n}){return t.jsx(wt,{anchor:"left",open:e,onClose:r,ModalProps:{keepMounted:!0},sx:{display:{xs:"block",md:"none"},"& .MuiDrawer-paper":{boxSizing:"border-box",width:260}},children:t.jsx(ke,{isCollapsed:!1,onToggleCollapse:r,logoHeader:n})})}function Yt({headerProps:e}){const r=Z(),n=St(r.breakpoints.up("md")),[o,s]=u.useState(!1),[a,i]=u.useState(!1);return u.useEffect(()=>{n&&o&&s(!1)},[n,o]),t.jsxs(f,{sx:{height:"100dvh",display:"flex",flexDirection:"row",bgcolor:"background.default"},children:[n&&t.jsx(ke,{isCollapsed:a,onToggleCollapse:()=>i(c=>!c),logoHeader:e?.logoHeader}),t.jsxs(f,{component:"main",sx:{flex:1,display:"flex",flexDirection:"column",minWidth:0},children:[t.jsxs(f,{sx:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"space-between",height:Ye.headerHeight,px:{xs:1,md:3},backgroundColor:"background.default"},children:[t.jsx(f,{sx:{display:{xs:"flex",md:"none"},alignItems:"center",mr:1},children:t.jsx(V,{size:"small",onClick:()=>s(!0),"aria-label":"Open navigation",children:t.jsx(G,{fontSize:"small"})})}),t.jsx(f,{sx:{flex:1,minWidth:0,display:"flex",alignItems:"center"},children:t.jsx(Lt,{})}),t.jsxs(f,{id:"header-actions-portal",sx:{display:"flex",alignItems:"center",flexShrink:0,gap:1},children:[t.jsx(Bt,{}),e?.endCap]})]}),t.jsx(f,{sx:{flex:1,overflow:"auto",minWidth:320,minHeight:0},children:t.jsx(u.Suspense,{fallback:t.jsx(Ke,{}),children:t.jsx(_e,{})})})]}),t.jsx(Ft,{open:o,onClose:()=>s(!1),logoHeader:e?.logoHeader})]})}export{Yt as default};
@@ -1 +1 @@
1
- import{J as r,C as t,j as e,a3 as c,ac as o}from"./index-B8pnU_V_.js";function m(){const{environmentName:a,packageName:n}=r(),s=t();if(a)if(n){const i=c({environmentName:a,packageName:n});return e.jsx(o,{onClickPackageFile:s,resourceUri:i})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{m as default};
1
+ import{J as r,T as t,j as e,a3 as c,ac as o}from"./index-P-pF8nU5.js";function m(){const{environmentName:a,packageName:n}=r(),s=t();if(a)if(n){const i=c({environmentName:a,packageName:n});return e.jsx(o,{onClickPackageFile:s,resourceUri:i})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{m as default};
@@ -1 +1 @@
1
- import{a0 as U,C as S,a1 as C,N as k,r as p,j as e,K as r,a2 as P,a3 as N,a4 as $,J as w,Q as W,a5 as O,a6 as I,a7 as F,a8 as L,T as b,a9 as j,aa as R}from"./index-B8pnU_V_.js";function M({environmentName:a,packageName:n,dashboardName:v}){const[u]=U(),h=S(),d=C(),i=k(),y=p.useMemo(()=>Object.fromEntries(u.entries()),[u]),c=p.useRef(new Set),x=p.useCallback((s,m)=>{const l=new Set([...m,...c.current]);c.current=new Set([...c.current,...Object.keys(s),...m]);const o=new URLSearchParams(i.search);for(const t of l)Object.prototype.hasOwnProperty.call(s,t)||o.delete(t);for(const[t,f]of Object.entries(s))o.set(t,f);d({search:o.toString(),hash:i.hash},{replace:!0})},[d,i]),g=p.useCallback((s,m)=>{const l=new URLSearchParams(s.givens).toString(),o=encodeURIComponent(a),t=encodeURIComponent(n),f=encodeURIComponent(s.dashboard);h(`/${o}/${t}/dashboards/${f}`+(l?`?${l}`:""),m)},[h,a,n]);return e.jsx(r,{sx:{p:3,maxWidth:1600,mx:"auto"},children:e.jsx(P,{resourceUri:N({environmentName:a,packageName:n}),dashboard:v,givens:y,onGivensChange:x,onNavigate:g,maxResultSize:1024*1024})})}function A({environmentName:a,packageName:n,notebookPath:v}){const[u]=U(),h=S(),d=C(),i=k(),y=p.useMemo(()=>Object.fromEntries(u.entries()),[u]),c=p.useRef(new Set),x=p.useCallback((s,m)=>{const l=new Set([...m,...c.current]);c.current=new Set([...c.current,...Object.keys(s),...m]);const o=new URLSearchParams(i.search);for(const t of l)Object.prototype.hasOwnProperty.call(s,t)||o.delete(t);for(const[t,f]of Object.entries(s))o.set(t,f);d({search:o.toString(),hash:i.hash},{replace:!0})},[d,i]),g=p.useCallback((s,m)=>{const l=new URLSearchParams(s.givens).toString(),o=encodeURIComponent(a),t=encodeURIComponent(n),f=encodeURIComponent(s.dashboard);h(`/${o}/${t}/dashboards/${f}`+(l?`?${l}`:""),m)},[h,a,n]);return e.jsx(r,{sx:{p:3,maxWidth:1200,mx:"auto"},children:e.jsx($,{resourceUri:N({environmentName:a,packageName:n,modelPath:v}),maxResultSize:1024*1024,givens:y,onGivensChange:x,onNavigate:h,onDrillNavigate:g})})}function T(){const a=w(),n=a["*"],{search:v,hash:u}=k(),{server:h}=W();if(!a.environmentName)return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})});if(!a.packageName)return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});if(n?.startsWith("pages/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const x=`data-apps/${n.slice(6)}`,g=encodeURIComponent(a.environmentName),s=encodeURIComponent(a.packageName);return e.jsx(O,{to:`/${g}/${s}/${x}${v}${u}`,replace:!0})}const d={p:3,maxWidth:1200,mx:"auto"};if(n?.startsWith("dashboards/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb"))return e.jsx(M,{environmentName:a.environmentName,packageName:a.packageName,dashboardName:n.slice(11)});if(n?.startsWith("data-apps/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const x=n.slice(10),g=N({environmentName:a.environmentName,packageName:a.packageName,modelPath:x});return e.jsx(I,{resourceUri:g})}const i=N({environmentName:a.environmentName,packageName:a.packageName,modelPath:n});if(n?.endsWith(".malloy"))return e.jsx(r,{sx:d,children:e.jsx(F,{resourceUri:i,runOnDemand:!0,maxResultSize:512*1024})});if(n?.endsWith(".malloynb"))return e.jsx(A,{environmentName:a.environmentName,packageName:a.packageName,notebookPath:n});const y=/\.[^./]+$/.test(n??""),c=L({server:h,environmentName:a.environmentName,packageName:a.packageName,path:n??""});return e.jsxs(r,{sx:d,children:[e.jsx(b,{variant:"h6",sx:{fontWeight:600},children:"Nothing to open at this path"}),e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[e.jsx(r,{component:"span",sx:{fontFamily:j},children:n})," ","does not name a"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloy"})," ","or"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloynb"})," ","file in package"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:a.packageName}),". This address opens"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloy"})," ","and"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloynb"})," ","files."]}),y&&e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:["A file from the package's"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:"public/"})," ","directory is served at ",e.jsx(R,{href:c,children:c}),"."]}),e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[e.jsxs(R,{href:`/${encodeURIComponent(a.environmentName)}/${encodeURIComponent(a.packageName)}`,children:["Back to ",a.packageName]})," ","lists this package's models, notebooks, and data apps."]})]})}export{T as default};
1
+ import{a0 as U,T as S,a1 as P,N as k,r as p,j as e,K as r,a2 as $,a3 as N,a4 as C,J as w,Q as W,a5 as O,a6 as I,a7 as F,a8 as L,l as b,a9 as j,aa as R}from"./index-P-pF8nU5.js";function M({environmentName:a,packageName:n,dashboardName:v}){const[u]=U(),h=S(),d=P(),i=k(),y=p.useMemo(()=>Object.fromEntries(u.entries()),[u]),c=p.useRef(new Set),x=p.useCallback((s,m)=>{const l=new Set([...m,...c.current]);c.current=new Set([...c.current,...Object.keys(s),...m]);const o=new URLSearchParams(i.search);for(const t of l)Object.prototype.hasOwnProperty.call(s,t)||o.delete(t);for(const[t,f]of Object.entries(s))o.set(t,f);d({search:o.toString(),hash:i.hash},{replace:!0})},[d,i]),g=p.useCallback((s,m)=>{const l=new URLSearchParams(s.givens).toString(),o=encodeURIComponent(a),t=encodeURIComponent(n),f=encodeURIComponent(s.dashboard);h(`/${o}/${t}/dashboards/${f}`+(l?`?${l}`:""),m)},[h,a,n]);return e.jsx(r,{sx:{p:3,maxWidth:1600,mx:"auto"},children:e.jsx($,{resourceUri:N({environmentName:a,packageName:n}),dashboard:v,givens:y,onGivensChange:x,onNavigate:g,maxResultSize:1024*1024})})}function G({environmentName:a,packageName:n,notebookPath:v}){const[u]=U(),h=S(),d=P(),i=k(),y=p.useMemo(()=>Object.fromEntries(u.entries()),[u]),c=p.useRef(new Set),x=p.useCallback((s,m)=>{const l=new Set([...m,...c.current]);c.current=new Set([...c.current,...Object.keys(s),...m]);const o=new URLSearchParams(i.search);for(const t of l)Object.prototype.hasOwnProperty.call(s,t)||o.delete(t);for(const[t,f]of Object.entries(s))o.set(t,f);d({search:o.toString(),hash:i.hash},{replace:!0})},[d,i]),g=p.useCallback((s,m)=>{const l=new URLSearchParams(s.givens).toString(),o=encodeURIComponent(a),t=encodeURIComponent(n),f=encodeURIComponent(s.dashboard);h(`/${o}/${t}/dashboards/${f}`+(l?`?${l}`:""),m)},[h,a,n]);return e.jsx(r,{sx:{p:3,maxWidth:1200,mx:"auto"},children:e.jsx(C,{resourceUri:N({environmentName:a,packageName:n,modelPath:v}),maxResultSize:1024*1024,givens:y,onGivensChange:x,onNavigate:h,onDrillNavigate:g})})}function A(){const a=w(),n=a["*"],{search:v,hash:u}=k(),{server:h}=W();if(!a.environmentName)return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})});if(!a.packageName)return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});if(n?.startsWith("pages/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const x=`data-apps/${n.slice(6)}`,g=encodeURIComponent(a.environmentName),s=encodeURIComponent(a.packageName);return e.jsx(O,{to:`/${g}/${s}/${x}${v}${u}`,replace:!0})}const d={p:3,maxWidth:1200,mx:"auto"};if(n?.startsWith("dashboards/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb"))return e.jsx(M,{environmentName:a.environmentName,packageName:a.packageName,dashboardName:n.slice(11)});if(n?.startsWith("data-apps/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const x=n.slice(10),g=N({environmentName:a.environmentName,packageName:a.packageName,modelPath:x});return e.jsx(I,{resourceUri:g})}const i=N({environmentName:a.environmentName,packageName:a.packageName,modelPath:n});if(n?.endsWith(".malloy"))return e.jsx(r,{sx:d,children:e.jsx(F,{resourceUri:i,runOnDemand:!0,maxResultSize:512*1024})});if(n?.endsWith(".malloynb"))return e.jsx(G,{environmentName:a.environmentName,packageName:a.packageName,notebookPath:n});const y=/\.[^./]+$/.test(n??""),c=L({server:h,environmentName:a.environmentName,packageName:a.packageName,path:n??""});return e.jsxs(r,{sx:d,children:[e.jsx(b,{variant:"h6",sx:{fontWeight:600},children:"Nothing to open at this path"}),e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[e.jsx(r,{component:"span",sx:{fontFamily:j},children:n})," ","does not name a"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloy"})," ","or"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloynb"})," ","file in package"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:a.packageName}),". This address opens"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloy"})," ","and"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:".malloynb"})," ","files."]}),y&&e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:["A file from the package's"," ",e.jsx(r,{component:"span",sx:{fontFamily:j},children:"public/"})," ","directory is served at ",e.jsx(R,{href:c,children:c}),"."]}),e.jsxs(b,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[e.jsxs(R,{href:`/${encodeURIComponent(a.environmentName)}/${encodeURIComponent(a.packageName)}`,children:["Back to ",a.packageName]})," ","lists this package's models, notebooks, and data apps."]})]})}export{A as default};
@@ -1 +1 @@
1
- import{J as r,C as t,j as e,a3 as c,ab as o}from"./index-B8pnU_V_.js";function l(){const{environmentName:a,packageName:n}=r(),s=t();if(a)if(n){const i=c({environmentName:a,packageName:n});return e.jsx(o,{onClickPackageFile:s,resourceUri:i})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{l as default};
1
+ import{J as r,T as t,j as e,a3 as c,ab as o}from"./index-P-pF8nU5.js";function l(){const{environmentName:a,packageName:n}=r(),s=t();if(a)if(n){const i=c({environmentName:a,packageName:n});return e.jsx(o,{onClickPackageFile:s,resourceUri:i})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing package name"})});else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{l as default};
@@ -1 +1 @@
1
- import{ae as o,j as r,af as s,ag as n,K as t,T as a}from"./index-B8pnU_V_.js";function x(){const e=o();return console.error(e),r.jsx(s,{maxWidth:"lg",component:"main",sx:{display:"flex",flexDirection:"column",my:2,gap:0},children:r.jsxs(n,{sx:{m:"auto",flexDirection:"column"},children:[r.jsx(t,{sx:{height:"300px"}}),r.jsx("img",{src:"/error.png"}),r.jsx(a,{variant:"subtitle1",children:"An unexpected error occurred"})]})})}export{x as default};
1
+ import{ae as o,j as r,af as s,ag as n,K as t,l as a}from"./index-P-pF8nU5.js";function x(){const e=o();return console.error(e),r.jsx(s,{maxWidth:"lg",component:"main",sx:{display:"flex",flexDirection:"column",my:2,gap:0},children:r.jsxs(n,{sx:{m:"auto",flexDirection:"column"},children:[r.jsx(t,{sx:{height:"300px"}}),r.jsx("img",{src:"/error.png"}),r.jsx(a,{variant:"subtitle1",children:"An unexpected error occurred"})]})})}export{x as default};