@malloy-publisher/app 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-doc.yaml +122 -70
- package/dist/assets/EnvironmentPage-J-7-dQTF.js +1 -0
- package/dist/assets/HomePage-C_iQUW74.js +1 -0
- package/dist/assets/{LightMode-DyjqECoH.js → LightMode-X55OaqWn.js} +1 -1
- package/dist/assets/{MainPage-DAaQnh6y.js → MainPage-HlxDGd7Z.js} +1 -1
- package/dist/assets/ModelPage-4DQomN_d.js +2 -0
- package/dist/assets/PackagePage-B_-oiLXm.js +1 -0
- package/dist/assets/{RenderedResult-CYyhQekT.es-DJ3BRrLl.js → RenderedResult-DKOl0FQ8.es-BATOL6jV.js} +3 -3
- package/dist/assets/{RouteError-kdHl1qpH.js → RouteError-DWKxdq5d.js} +1 -1
- package/dist/assets/{ThemeEditorPage-DIt45eWv.js → ThemeEditorPage-Dc7994Z3.js} +1 -1
- package/dist/assets/{ToggleButtonGroup-Dl_oTC8r.js → ToggleButtonGroup-0p89QLtB.js} +1 -1
- package/dist/assets/{index-C5hv_y6G.js → index-C8Lbp1ov.js} +1 -1
- package/dist/assets/{index-C1qGlR2a.js → index-CSUU2t5Q.js} +92 -92
- package/dist/assets/{index-t9-rAE4l.js → index-CqxaMaWg.js} +1 -1
- package/dist/assets/{index-T1Cl-rQv.js → index-Csw7MKd3.js} +1 -1
- package/dist/assets/{index-Bzqs2UuN.js → index-YH_yBCQI.js} +1 -1
- package/dist/assets/{index.es-BlAu_Rj1.js → index.es-PC1YK9io.js} +23 -23
- package/dist/index.html +1 -1
- package/package.json +2 -2
- package/dist/assets/EnvironmentPage-Be-JAMS6.js +0 -1
- package/dist/assets/HomePage-DsdQpZuT.js +0 -1
- package/dist/assets/ModelPage-B7yaRDmM.js +0 -2
- package/dist/assets/PackagePage-7b0klbWy.js +0 -1
package/dist/api-doc.yaml
CHANGED
|
@@ -1386,6 +1386,8 @@ paths:
|
|
|
1386
1386
|
$ref: "#/components/responses/BadRequest"
|
|
1387
1387
|
"401":
|
|
1388
1388
|
$ref: "#/components/responses/Unauthorized"
|
|
1389
|
+
"424":
|
|
1390
|
+
$ref: "#/components/responses/PackageManifestError"
|
|
1389
1391
|
"500":
|
|
1390
1392
|
$ref: "#/components/responses/InternalServerError"
|
|
1391
1393
|
"501":
|
|
@@ -1448,6 +1450,8 @@ paths:
|
|
|
1448
1450
|
$ref: "#/components/responses/Unauthorized"
|
|
1449
1451
|
"404":
|
|
1450
1452
|
$ref: "#/components/responses/NotFound"
|
|
1453
|
+
"424":
|
|
1454
|
+
$ref: "#/components/responses/PackageManifestError"
|
|
1451
1455
|
"500":
|
|
1452
1456
|
$ref: "#/components/responses/InternalServerError"
|
|
1453
1457
|
"501":
|
|
@@ -1615,6 +1619,16 @@ paths:
|
|
|
1615
1619
|
Retrieves a compiled Malloy model with its source information, queries, and metadata.
|
|
1616
1620
|
The model is compiled using the specified version of the Malloy compiler. This endpoint
|
|
1617
1621
|
provides access to the model's structure, sources, and named queries for use in applications.
|
|
1622
|
+
|
|
1623
|
+
On a package with a surface (a root `index.malloy`, or a legacy `explores`), a file off
|
|
1624
|
+
that surface answers 404 with the same message a query to it gets. Dashboard files are
|
|
1625
|
+
always returned. A package with no surface, or with `queryableSources: "all"`, returns
|
|
1626
|
+
every file. For a file it returns, `modelDef.contents` and `modelDef.exports`,
|
|
1627
|
+
`modelInfo`, `sources` and `sourceInfos` are limited to the names the file publishes, so
|
|
1628
|
+
the surface file does not carry the hidden sources it imports. A join to a hidden source
|
|
1629
|
+
keeps only its name and the names and types of its fields. `sourceText` is left out
|
|
1630
|
+
when the text names a source the file does not publish; a dashboard's text is always
|
|
1631
|
+
returned.
|
|
1618
1632
|
parameters:
|
|
1619
1633
|
- name: environmentName
|
|
1620
1634
|
in: path
|
|
@@ -1770,6 +1784,11 @@ paths:
|
|
|
1770
1784
|
as a raw Malloy query string or by referencing a named query within the model. This endpoint
|
|
1771
1785
|
supports both ad-hoc queries and predefined model queries, making it flexible for various
|
|
1772
1786
|
use cases including data exploration, reporting, and application integration.
|
|
1787
|
+
|
|
1788
|
+
Ad-hoc query text that does not compile is a 400 whose `problems` locate each error in the
|
|
1789
|
+
submitted text. On a package with a discovery surface this holds when every `run:` in the
|
|
1790
|
+
text targets a source on the surface, or one the text derives only from such sources; text
|
|
1791
|
+
reaching any other source is answered with the 404 a hidden or missing source gets.
|
|
1773
1792
|
parameters:
|
|
1774
1793
|
- name: environmentName
|
|
1775
1794
|
in: path
|
|
@@ -1873,6 +1892,8 @@ paths:
|
|
|
1873
1892
|
$ref: "#/components/responses/Forbidden"
|
|
1874
1893
|
"404":
|
|
1875
1894
|
$ref: "#/components/responses/NotFound"
|
|
1895
|
+
"424":
|
|
1896
|
+
$ref: "#/components/responses/PackageManifestError"
|
|
1876
1897
|
"500":
|
|
1877
1898
|
$ref: "#/components/responses/InternalServerError"
|
|
1878
1899
|
"503":
|
|
@@ -1898,32 +1919,20 @@ paths:
|
|
|
1898
1919
|
would break one is refused and leaves the previously loaded package
|
|
1899
1920
|
serving, so `error` is only reachable on the paths that keep per-model
|
|
1900
1921
|
placeholders. Treat it as present-but-uncommon rather than the normal
|
|
1901
|
-
way a broken dashboard surfaces.
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
`"declared"`, being listed does not by
|
|
1916
|
-
itself guarantee the dashboard runs: the queryable sources are the
|
|
1917
|
-
union of every listed file's `export {}` closure, so a dashboard whose
|
|
1918
|
-
tiles read a source that only an UNLISTED file exports is still served
|
|
1919
|
-
while those queries are refused. The fix is to list that file too, or
|
|
1920
|
-
to re-export the source from one already listed. It is served rather
|
|
1921
|
-
than withheld because withholding on a guess would hide dashboards that
|
|
1922
|
-
do work. Each such tile is reported in the package's `warnings` with
|
|
1923
|
-
severity `error`, as of the last load, naming the tile. The check reads
|
|
1924
|
-
the tile's source from its text, so a tile written in a form it cannot
|
|
1925
|
-
read is not reported. Under `"all"` nothing is refused, so the
|
|
1926
|
-
situation does not arise.
|
|
1922
|
+
way a broken dashboard surfaces.
|
|
1923
|
+
|
|
1924
|
+
Every tagged dashboard is listed, whatever the package's surface. To
|
|
1925
|
+
hide one, remove its `# artifact` tag. On a package with a surface (a
|
|
1926
|
+
root `index.malloy`, or a legacy `explores`) with `queryableSources`
|
|
1927
|
+
left at `"declared"`, a dashboard's tiles, its single query and its
|
|
1928
|
+
filter `suggest` queries may read only sources the surface exports. A
|
|
1929
|
+
source the dashboard declares on top of a surface source may be read;
|
|
1930
|
+
one over a hidden source may not. The dashboard file's own
|
|
1931
|
+
`export {}` and named queries add nothing to the surface. A tile over a
|
|
1932
|
+
hidden source answers 404 when it runs, and the package's `warnings`
|
|
1933
|
+
report each such tile, single query and suggest, with severity
|
|
1934
|
+
`error`, as of the last load, naming the source and the fix. Under
|
|
1935
|
+
`"all"` nothing is refused, so the situation does not arise.
|
|
1927
1936
|
parameters:
|
|
1928
1937
|
- name: environmentName
|
|
1929
1938
|
in: path
|
|
@@ -1993,10 +2002,8 @@ paths:
|
|
|
1993
2002
|
in: path
|
|
1994
2003
|
description: >-
|
|
1995
2004
|
The dashboard's name: its filename basename. Conventionally letters,
|
|
1996
|
-
digits, "-" and "_", and a package is warned when one of its
|
|
1997
|
-
dashboards falls outside that.
|
|
1998
|
-
no naming finding, because the naming check runs after the curation
|
|
1999
|
-
gate and a withheld dashboard is already reported as withheld. It is NOT constrained to it, because
|
|
2005
|
+
digits, "-" and "_", and a package is warned when one of its
|
|
2006
|
+
dashboards falls outside that. It is NOT constrained to it, because
|
|
2000
2007
|
the name comes from a filename rather than being chosen: a file such
|
|
2001
2008
|
as `dashboards/v1.2.malloy` is served, and its published `resource`
|
|
2002
2009
|
carries the name percent-encoded. Send it percent-encoded.
|
|
@@ -2086,6 +2093,7 @@ paths:
|
|
|
2086
2093
|
description: |
|
|
2087
2094
|
Retrieves a Malloy notebook with its raw cell contents (markdown and code).
|
|
2088
2095
|
Cell execution should be done separately via the execute-notebook-cell endpoint.
|
|
2096
|
+
On a package with a surface, the response shows only the sources the notebook may read.
|
|
2089
2097
|
parameters:
|
|
2090
2098
|
- name: environmentName
|
|
2091
2099
|
in: path
|
|
@@ -2137,6 +2145,14 @@ paths:
|
|
|
2137
2145
|
Executes a specific cell in a Malloy notebook by index. For code cells, this compiles
|
|
2138
2146
|
and runs the Malloy code, returning query results and any new sources defined.
|
|
2139
2147
|
For markdown cells, this simply returns the cell content.
|
|
2148
|
+
|
|
2149
|
+
On a package with a surface (a root `index.malloy`, or a legacy `explores`) with
|
|
2150
|
+
`queryableSources` left at `"declared"`, a code cell may read only sources the surface
|
|
2151
|
+
exports. A cell over a hidden source answers 404, and 404 rather than 403 even when the
|
|
2152
|
+
source is also `#(authorize)`-gated. A source an earlier cell declares on top of a
|
|
2153
|
+
published source still works. A cell's own source over a raw table (`duckdb.table(...)`
|
|
2154
|
+
or `.sql(...)`) has no published source under it, so it is refused. The response shows
|
|
2155
|
+
only the sources the notebook may read.
|
|
2140
2156
|
parameters:
|
|
2141
2157
|
- name: environmentName
|
|
2142
2158
|
in: path
|
|
@@ -2710,6 +2726,17 @@ components:
|
|
|
2710
2726
|
application/json:
|
|
2711
2727
|
schema:
|
|
2712
2728
|
$ref: "#/components/schemas/Error"
|
|
2729
|
+
PackageManifestError:
|
|
2730
|
+
description: |
|
|
2731
|
+
The package's publisher.json cannot be used as written: it is not
|
|
2732
|
+
valid JSON or not a JSON object, it has a malformed "explores" or an
|
|
2733
|
+
unknown "scope", or its two "scope" settings disagree. The message
|
|
2734
|
+
names the problem and the fix. The package is not served until the
|
|
2735
|
+
file is corrected.
|
|
2736
|
+
content:
|
|
2737
|
+
application/json:
|
|
2738
|
+
schema:
|
|
2739
|
+
$ref: "#/components/schemas/Error"
|
|
2713
2740
|
ServiceUnavailable:
|
|
2714
2741
|
description: |
|
|
2715
2742
|
The service is temporarily unable to accept the request. Possible
|
|
@@ -3100,23 +3127,27 @@ components:
|
|
|
3100
3127
|
description: >-
|
|
3101
3128
|
The package's discovery surface and query boundary: model file
|
|
3102
3129
|
paths relative to the package root. Only these models are listed
|
|
3103
|
-
via `listModels()`, and
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
always listed regardless of this field
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3130
|
+
via `listModels()`, and the surface is the union of their
|
|
3131
|
+
`export {}` closures. Every other .malloy file still compiles for
|
|
3132
|
+
import/join resolution but is hidden. Notebooks and dashboards are
|
|
3133
|
+
always listed regardless of this field, and a dashboard entry
|
|
3134
|
+
needs no listing: a tagged dashboard listed here reads the surface
|
|
3135
|
+
and adds nothing to it. An untagged file under `dashboards/` that
|
|
3136
|
+
is listed is an ordinary surface file.
|
|
3137
|
+
DEPRECATED, still honored. Every non-empty value gets a load
|
|
3138
|
+
warning naming the replacement: a root `index.malloy` that imports
|
|
3139
|
+
the listed files and exports what they publish. `[]` is deprecated
|
|
3140
|
+
too: beside an `index.malloy` it stops that file from limiting
|
|
3141
|
+
what the package publishes (the fix is to rename `index.malloy`
|
|
3142
|
+
and delete this key), and without one it does nothing.
|
|
3143
|
+
A value that is not a list of strings refuses the package load
|
|
3144
|
+
(424).
|
|
3113
3145
|
This value MAY have been derived by the server from a root
|
|
3114
3146
|
`index.malloy` rather than written by the package author, and the
|
|
3115
3147
|
response does not distinguish the two — deliberately, because
|
|
3116
3148
|
nothing downstream treats them differently. An explicit key always
|
|
3117
|
-
wins over
|
|
3118
|
-
|
|
3119
|
-
it has neither this key nor a root `index.malloy`.
|
|
3149
|
+
wins over `index.malloy`. A package is uncurated only when it has
|
|
3150
|
+
neither this key nor a root `index.malloy`.
|
|
3120
3151
|
exploresWarnings:
|
|
3121
3152
|
type: array
|
|
3122
3153
|
readOnly: true
|
|
@@ -3156,12 +3187,17 @@ components:
|
|
|
3156
3187
|
surface whose every model failed to compile, so every model in the
|
|
3157
3188
|
package answers 404 by name; and, on the reload that caused it, a
|
|
3158
3189
|
package that had a surface and now has none, so every source that
|
|
3159
|
-
surface
|
|
3190
|
+
surface hid is listed and queryable by name again. Manifest
|
|
3191
|
+
findings: each deprecated use of `explores` or of
|
|
3192
|
+
`queryableSources: "declared"`, and a root file such as
|
|
3193
|
+
`Index.malloy` that differs from `index.malloy` only in case and
|
|
3194
|
+
so is ignored. A root `index.malloy` with no manifest keys gets no
|
|
3195
|
+
warning. Dashboard findings: a
|
|
3160
3196
|
`dashboards/` file whose `# artifact` tag does not parse or does not
|
|
3161
3197
|
describe a dashboard, a tile or suggest query that does not resolve,
|
|
3162
3198
|
a `# drill` naming a destination that is not a dashboard, and a
|
|
3163
|
-
|
|
3164
|
-
|
|
3199
|
+
tile, single query or filter suggest that reads a source the
|
|
3200
|
+
surface does not export, so it won't load. Two dashboard findings are about Publisher rather
|
|
3165
3201
|
than about the package: one when a file carrying an artifact tag
|
|
3166
3202
|
could not be read and so is not served at all, and one when the lint
|
|
3167
3203
|
stops early, in which case the list must be read as incomplete
|
|
@@ -3282,8 +3318,8 @@ components:
|
|
|
3282
3318
|
findings use both: `error` for something that cannot work as
|
|
3283
3319
|
written, such as a tile naming a view the source does not
|
|
3284
3320
|
have, and `warn` for something that works but not as the
|
|
3285
|
-
author probably intended, such as a dashboard
|
|
3286
|
-
|
|
3321
|
+
author probably intended, such as a dashboard name outside
|
|
3322
|
+
the conventional shape. The two findings about Publisher rather than about
|
|
3287
3323
|
the package split across both: a file that carries an artifact
|
|
3288
3324
|
tag and could not be read is `error`, because the dashboard it
|
|
3289
3325
|
should have produced does not exist, and a lint that stopped
|
|
@@ -3299,10 +3335,11 @@ components:
|
|
|
3299
3335
|
- all
|
|
3300
3336
|
description: >-
|
|
3301
3337
|
Controls whether the discovery surface is also a query boundary.
|
|
3302
|
-
`"declared"` (the default) makes queryable == discoverable: when
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
files' `export {}`
|
|
3338
|
+
`"declared"` (the default) makes queryable == discoverable: when the
|
|
3339
|
+
package has a surface (a root `index.malloy`, or `explores`), only
|
|
3340
|
+
the surface's model files are valid query entry points, and the
|
|
3341
|
+
queryable sources are the union of those files' `export {}`
|
|
3342
|
+
closures — so a source exported by any listed
|
|
3306
3343
|
file stays queryable whichever listed model path the request
|
|
3307
3344
|
addresses it through. Admission is by declaration, not by name: a
|
|
3308
3345
|
request clears only when the model it names resolves the name to the
|
|
@@ -3316,21 +3353,21 @@ components:
|
|
|
3316
3353
|
A source that is both hidden and authorize-gated still answers
|
|
3317
3354
|
`/compile` with the generic 404, so the exemption cannot be used to
|
|
3318
3355
|
enumerate gated names.
|
|
3319
|
-
`"all"` decouples the axes:
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3356
|
+
`"all"` decouples the axes: the surface gates discovery only, every
|
|
3357
|
+
compiled source stays directly queryable, and model files off the
|
|
3358
|
+
surface are returned by path. The two modes are equivalent
|
|
3359
|
+
(everything queryable) only where there is no curated surface at
|
|
3360
|
+
all, which means no `explores` AND no root
|
|
3323
3361
|
`index.malloy` — a package with that file has a surface whether or
|
|
3324
|
-
not the key is present. Invalid values fall back to `"declared"`.
|
|
3325
|
-
`#(authorize)`
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
`"all"` is
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
explicit `explores`.
|
|
3362
|
+
not the key is present. Invalid values fall back to `"declared"`.
|
|
3363
|
+
Identity-based access is a separate concern — see `#(authorize)`
|
|
3364
|
+
and `#(access_filter)`.
|
|
3365
|
+
`"declared"` is DEPRECATED: it is already the default, so the key
|
|
3366
|
+
changes nothing, and writing it gets a load warning saying to
|
|
3367
|
+
delete it. `"all"` is supported, with no warning, and works beside
|
|
3368
|
+
a root `index.malloy`. It is the one way to hide an
|
|
3369
|
+
`#(authorize)`-gated source from listings while authorized callers
|
|
3370
|
+
can still query it by name.
|
|
3334
3371
|
manifestLocation:
|
|
3335
3372
|
type: ["string", "null"]
|
|
3336
3373
|
description: |
|
|
@@ -4070,9 +4107,11 @@ components:
|
|
|
4070
4107
|
code beside the compiled view of the same file without a second,
|
|
4071
4108
|
differently-shaped fetch. Named `sourceText`, not `source`, because
|
|
4072
4109
|
`sources` on this same object are the model's Malloy sources.
|
|
4073
|
-
Optional
|
|
4074
|
-
|
|
4075
|
-
|
|
4110
|
+
Optional: absent from servers that predate it; omitted (with a
|
|
4111
|
+
server-side warning) when the file cannot be read, so a compiled
|
|
4112
|
+
model is never withheld for want of its text; and omitted when the
|
|
4113
|
+
file text names a source it does not publish, on a package with a
|
|
4114
|
+
surface. A dashboard's text is always returned.
|
|
4076
4115
|
|
|
4077
4116
|
View:
|
|
4078
4117
|
type: object
|
|
@@ -4492,7 +4531,8 @@ components:
|
|
|
4492
4531
|
type: string
|
|
4493
4532
|
description:
|
|
4494
4533
|
JSON string containing QueryInfo object for the query in this cell
|
|
4495
|
-
(if the cell contains a query)
|
|
4534
|
+
(if the cell contains a query). On a package with a surface, left out
|
|
4535
|
+
for a cell whose query reads a source the notebook may not read.
|
|
4496
4536
|
|
|
4497
4537
|
NotebookCellResult:
|
|
4498
4538
|
type: object
|
|
@@ -5606,6 +5646,18 @@ components:
|
|
|
5606
5646
|
grow. Callers must treat an unrecognized value as absent.
|
|
5607
5647
|
|
|
5608
5648
|
Known values: TABLE_NOT_FOUND.
|
|
5649
|
+
problems:
|
|
5650
|
+
type: array
|
|
5651
|
+
description: |
|
|
5652
|
+
Present on the 400 answering ad-hoc query text that does not
|
|
5653
|
+
compile: the compiler's problems, in the shape `/compile` returns.
|
|
5654
|
+
Each `at.range` is located in the submitted `query` text, with
|
|
5655
|
+
0-based lines and characters; `at.url` is omitted, since the text
|
|
5656
|
+
has no document of its own. A problem produced by something the
|
|
5657
|
+
server added to the text (an injected source filter) carries no
|
|
5658
|
+
location.
|
|
5659
|
+
items:
|
|
5660
|
+
$ref: "#/components/schemas/CompileProblem"
|
|
5609
5661
|
required:
|
|
5610
5662
|
- message
|
|
5611
5663
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as r,L as i,j as n,a7 as t,ai as o}from"./index-CSUU2t5Q.js";function m(){const s=r(),{environmentName:e}=i();if(e){const a=t({environmentName:e});return n.jsx(o,{onSelectPackage:s,resourceUri:a})}else return n.jsx("div",{children:n.jsx("h2",{children:"Missing environment name"})})}export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as t,j as o,y as a}from"./index-CSUU2t5Q.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-
|
|
1
|
+
import{c,j as s}from"./index-CSUU2t5Q.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,g as Ce,r as u,R as Ie,a as ze,c as S,j as t,s as z,B as Me,m as K,e as ne,b as le,d as ce,f as de,h as De,i as U,k as pe,T as G,l as J,
|
|
1
|
+
import{u as Pe,g as Ce,r as u,R as Ie,a as ze,c as S,j as t,s as z,B as Me,m as K,e as ne,b as le,d as ce,f as de,h as De,i as U,k as pe,T as G,l as J,o as Te,p as Re,q as Be,t as ue,v as Le,w as oe,x as He,z as $e,A as Ne,C as W,D as $,M as Ae,P as Oe,E as We,F as Ve,S as Ue,G as Qe,H as A,I as N,J as Fe,K as he,L as fe,n as Z,N as m,O as Xe,Q as q,U as Ye,V as _e,W as se,X as xe,Y as me,Z as ge,_ as Ke,$ as Ge,a0 as Je}from"./index-CSUU2t5Q.js";import{D as Ze,L as qe}from"./LightMode-X55OaqWn.js";function et(e,r,n,o,s){const[a,i]=u.useState(()=>s&&n?n(e).matches:o?o(e).matches:r);return ze(()=>{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 tt={...Ie},ye=tt.useSyncExternalStore;function rt(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,x=>(p.addEventListener("change",x),()=>{p.removeEventListener("change",x)})]},[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:f=null,noSsr:p=!1}=Ce({name:"MuiUseMediaQuery",props:s,theme:a});let x=typeof o=="function"?o(a):o;return x=x.replace(/^@media( ?)/m,""),x.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?rt:et)(x,c,h,f,p)}}be();const nt=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"})),ot=z(Me,{name:"MuiBreadcrumbCollapsed"})(K(({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:ne(e.palette.grey[200],.12)}:{backgroundColor:ne(e.palette.grey[600],.12)}}}))),st=z(nt)({width:24,height:16});function at(e){const{slots:r={},slotProps:n={},...o}=e,s=e;return t.jsx("li",{children:t.jsx(ot,{focusRipple:!0,...o,ownerState:s,children:t.jsx(st,{as:r.CollapsedIcon,ownerState:s,...n.collapsedIcon})})})}function it(e){return ce("MuiBreadcrumbs",e)}const lt=le("MuiBreadcrumbs",["root","ol","li","separator"]),ct=e=>{const{classes:r}=e;return pe({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},it,r)},dt=z(G,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,r)=>[{[`& .${lt.li}`]:r.li},r.root]})({}),pt=z("ol",{name:"MuiBreadcrumbs",slot:"Ol"})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),ut=z("li",{name:"MuiBreadcrumbs",slot:"Separator"})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function ht(e,r,n,o){return e.reduce((s,a,i)=>(i<e.length-1?s=s.concat(a,t.jsx(ut,{"aria-hidden":!0,className:r,ownerState:o,children:n},`separator-${i}`)):s.push(a),s),[])}const ft=u.forwardRef(function(r,n){const o=de({props:r,name:"MuiBreadcrumbs"}),{children:s,className:a,component:i="nav",slots:c={},slotProps:h={},expandText:f="Show path",itemsAfterCollapse:p=1,itemsBeforeCollapse:x=1,maxItems:y=8,separator:E="/",...H}=o,[M,P]=u.useState(!1),v={...o,component:i,expanded:M,expandText:f,itemsAfterCollapse:p,itemsBeforeCollapse:x,maxItems:y,separator:E},C=ct(v),D=De({elementType:c.CollapsedIcon,externalSlotProps:h.collapsedIcon,ownerState:v}),j=u.useRef(null),k=d=>{const w=()=>{P(!0);const b=j.current.querySelector("a[href],button,[tabindex]");b&&b.focus()};return x+p>=d.length?d:[...d.slice(0,x),t.jsx(at,{"aria-label":f,slots:{CollapsedIcon:c.CollapsedIcon},slotProps:{collapsedIcon:D},onClick:w},"ellipsis"),...d.slice(d.length-p,d.length)]},T=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(dt,{ref:n,component:i,color:"textSecondary",className:U(C.root,a),ownerState:v,...H,children:t.jsx(pt,{className:C.ol,ref:j,ownerState:v,children:ht(M||y&&T.length<=y?T:k(T),C.separator,E,v)})})});function xt(e,r,n){const o=r.getBoundingClientRect(),s=n&&n.getBoundingClientRect(),a=ue(r);let i;if(r.fakeTransform)i=r.fakeTransform;else{const f=a.getComputedStyle(r);i=f.getPropertyValue("-webkit-transform")||f.getPropertyValue("transform")}let c=0,h=0;if(i&&i!=="none"&&typeof i=="string"){const f=i.split("(")[1].split(")")[0].split(",");c=parseInt(f[4],10),h=parseInt(f[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 mt(e){return typeof e=="function"?e():e}function V(e,r,n){const o=mt(n),s=xt(e,r,o);s&&(r.style.webkitTransform=s,r.style.transform=s)}const gt=u.forwardRef(function(r,n){const o=J(),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:f,direction:p="down",easing:x=s,in:y,onEnter:E,onEntered:H,onEntering:M,onExit:P,onExited:v,onExiting:C,style:D,timeout:j=a,TransitionComponent:k=Te,...T}=r,d=u.useRef(null),w=Re(Be(h),d,n),b=l=>g=>{l&&(g===void 0?l(d.current):l(d.current,g))},Q=b((l,g)=>{V(p,l,f),He(l),E&&E(l,g)}),ee=b((l,g)=>{const L=oe({timeout:j,style:D,easing:x},{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",M&&M(l,g)}),R=b(H),B=b(C),I=b(l=>{const g=oe({timeout:j,style:D,easing:x},{mode:"exit"});l.style.webkitTransition=o.transitions.create("-webkit-transform",g),l.style.transition=o.transitions.create("transform",g),V(p,l,f),P&&P(l)}),F=b(l=>{l.style.webkitTransition="",l.style.transition="",v&&v(l)}),X=l=>{i&&i(d.current,l)},O=u.useCallback(()=>{d.current&&V(p,d.current,f)},[p,f]);return u.useEffect(()=>{if(y||p==="down"||p==="right")return;const l=Le(()=>{d.current&&V(p,d.current,f)}),g=ue(d.current);return g.addEventListener("resize",l),()=>{l.clear(),g.removeEventListener("resize",l)}},[p,y,f]),u.useEffect(()=>{y||O()},[y,O]),t.jsx(k,{nodeRef:d,onEnter:Q,onEntered:R,onEntering:ee,onExit:I,onExited:F,onExiting:B,addEndListener:X,appear:c,in:y,timeout:j,...T,children:(l,{ownerState:g,...L})=>u.cloneElement(h,{ref:w,style:{visibility:l==="exited"&&!y?"hidden":void 0,...D,...h.props.style},...L})})});function yt(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]},bt=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,yt,r)},vt=z(Ae,{name:"MuiDrawer",slot:"Root",overridesResolver:ve})(K(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer}))),jt=z("div",{shouldForwardProp:We,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:ve})({flex:"0 0 auto"}),kt=z(Oe,{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)}`]]}})(K(({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 wt(e){return["left","right"].includes(e)}function St({direction:e},r){return e==="rtl"&&wt(r)?je[r]:r}const Et=u.forwardRef(function(r,n){const o=de({props:r,name:"MuiDrawer"}),s=J(),a=$e(),i={enter:s.transitions.duration.enteringScreen,exit:s.transitions.duration.leavingScreen},{anchor:c="left",BackdropProps:h,children:f,className:p,elevation:x=16,hideBackdrop:y=!1,ModalProps:{BackdropProps:E,...H}={},onClose:M,open:P=!1,PaperProps:v={},SlideProps:C,TransitionComponent:D,transitionDuration:j=i,variant:k="temporary",slots:T={},slotProps:d={},...w}=o,b=u.useRef(!1);u.useEffect(()=>{b.current=!0},[]);const Q=St({direction:a?"rtl":"ltr"},c),R={...o,anchor:c,elevation:x,open:P,variant:k,...w},B=bt(R),I={slots:{transition:D,...T},slotProps:{paper:v,transition:C,...d,backdrop:Ne(d.backdrop||{...h,...E},{transitionDuration:j})}},[F,X]=W("root",{ref:n,elementType:vt,className:U(B.root,B.modal,p),shouldForwardComponentProp:!0,ownerState:R,externalForwardedProps:{...I,...w,...H},additionalProps:{open:P,onClose:M,hideBackdrop:y,slots:{backdrop:I.slots.backdrop},slotProps:{backdrop:I.slotProps.backdrop}}}),[O,l]=W("paper",{elementType:kt,shouldForwardComponentProp:!0,className:U(B.paper,v.className),ownerState:R,externalForwardedProps:I,additionalProps:{elevation:k==="temporary"?x:0,square:!0,...k==="temporary"&&{role:"dialog","aria-modal":"true"}}}),[g,L]=W("docked",{elementType:jt,ref:n,className:U(B.root,B.docked,p),ownerState:R,externalForwardedProps:I,additionalProps:w}),[Se,Ee]=W("transition",{elementType:gt,ownerState:R,externalForwardedProps:I,additionalProps:{in:P,direction:je[Q],timeout:j,appear:b.current}}),te=t.jsx(O,{...l,children:f});if(k==="permanent")return t.jsx(g,{...L,children:te});const re=t.jsx(Se,{...Ee,children:te});return k==="persistent"?t.jsx(g,{...L,children:re}):t.jsx(F,{...X,children:re})}),Pt=be({themeId:Ve}),Ct=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")]),It=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"})),zt=S(t.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),Mt=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"})),Dt=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"})),Tt=S(t.jsx("path",{d:"m12 5.69 5 4.5V18h-2v-6H9v6H7v-7.81zM12 3 2 12h3v8h6v-6h2v6h6v-8h3z"})),Rt=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"})),Bt=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 _(e){return t.jsxs(Ue,{...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 Lt={light:"dark",dark:"auto",auto:"light"},ae={light:"Light mode (click for dark)",dark:"Dark mode (click for auto)",auto:"Auto mode (follows OS, click for light)"};function Ht(){const{mode:e,userChoice:r,setMode:n,allowUserToggle:o}=Qe();if(!o)return null;const s=r??e,a=Lt[s],i=s==="auto"?It:s==="dark"?Ze:qe;return t.jsx(A,{title:ae[s],children:t.jsx(N,{"aria-label":ae[s],onClick:()=>n(a),size:"small",children:t.jsx(i,{fontSize:"small"})})})}const ie="Visualization theme";function $t(){const e=Fe(),n=he().pathname.startsWith("/settings/theme");return t.jsx(A,{title:ie,children:t.jsx(N,{"aria-label":ie,onClick:()=>e("/settings/theme"),size:"small",color:n?"primary":"default",children:t.jsx(Bt,{fontSize:"small"})})})}function Y({label:e,onClick:r}){return t.jsx(Xe,{clickable:!0,onClick:r,label:e,size:"small","aria-label":`Navigate to ${e}`,sx:n=>({backgroundColor:"transparent",border:`1px solid ${n.palette.divider}`,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 Nt(){const e=fe(),r=e["*"],n=Z();return!e.environmentName&&!e.packageName&&!r?null:t.jsx(m,{sx:{display:"flex",alignItems:"center",minWidth:0},children:t.jsxs(ft,{"aria-label":"breadcrumb",separator:t.jsx(zt,{sx:{fontSize:14,color:"text.secondary"}}),children:[e.environmentName&&t.jsx(Y,{label:e.environmentName,onClick:o=>n(`/${e.environmentName}/`,o)}),e.packageName&&t.jsx(Y,{label:e.packageName,onClick:o=>n(`/${e.environmentName}/${e.packageName}/`,o)}),r&&t.jsx(Y,{label:r,onClick:o=>n(`/${e.environmentName}/${e.packageName}/${r}`,o)})]})})}const At=260,Ot=64;function ke({isCollapsed:e,onToggleCollapse:r,logoHeader:n}){return t.jsxs(m,{sx:{height:"100dvh",width:e?Ot:At,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(Wt,{isCollapsed:e,onToggleCollapse:r,logoHeader:n}),t.jsxs(m,{sx:{flex:1,overflowY:"auto",overflowX:"hidden",py:1},children:[t.jsx(Vt,{isCollapsed:e}),t.jsx(Ut,{isCollapsed:e})]}),t.jsx(Qt,{isCollapsed:e})]})}function Wt({isCollapsed:e,onToggleCollapse:r,logoHeader:n}){const o=Z();return n?t.jsxs(m,{sx:{height:56,display:"flex",alignItems:"center",justifyContent:"space-between",px:e?0:2,flexShrink:0},children:[n,t.jsx(N,{size:"small",onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",children:t.jsx(_,{fontSize:"small"})})]}):t.jsxs(m,{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(m,{onClick:s=>o("/",s),sx:{display:"flex",alignItems:"center",gap:1,cursor:"pointer",minWidth:0},children:[t.jsx(m,{component:"img",src:"/logo.svg",alt:"Malloy",sx:{width:24,height:24,flexShrink:0}}),!e&&t.jsx(G,{variant:"subtitle1",sx:{color:"text.primary",fontWeight:500,letterSpacing:"-0.025em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:"Malloy Publisher"})]}),t.jsx(A,{title:e?"Expand sidebar":"Collapse sidebar",placement:"right",children:t.jsx(N,{size:"small",onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",children:t.jsx(_,{fontSize:"small"})})})]})}function Vt({isCollapsed:e}){const n=he().pathname==="/";return t.jsx(q,{sx:{py:0},children:t.jsx(we,{icon:t.jsx(Tt,{fontSize:"small"}),label:"Home",to:"/",selected:n,isCollapsed:e})})}function Ut({isCollapsed:e}){const{apiClients:r}=Ye(),n=fe(),{data:o}=_e({queryKey:["environments"],queryFn:()=>r.environments.listEnvironments()}),s=o?.data??[];return s.length===0?null:t.jsxs(m,{sx:{mt:1},children:[!e&&t.jsx(G,{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(we,{icon:t.jsx(Dt,{fontSize:"small"}),label:i,to:`/${i}`,selected:n.environmentName===i,isCollapsed:e},i)})})]})}function Qt({isCollapsed:e}){const r=[{label:"Malloy Docs",href:se.docsHome,icon:t.jsx(Ct,{fontSize:"small"}),external:!0},{label:"Publisher Docs",href:se.publishing,icon:t.jsx(Rt,{fontSize:"small"}),external:!0},{label:"Publisher API",href:"/api-doc.html",icon:t.jsx(Mt,{fontSize:"small"}),external:!1}];return t.jsx(q,{sx:{py:1},children:r.map(n=>t.jsx(Ft,{label:n.label,href:n.href,icon:n.icon,external:n.external,isCollapsed:e},n.label))})}function we({icon:e,label:r,to:n,selected:o,isCollapsed:s}){const a=Z(),i=t.jsxs(xe,{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(A,{title:r,placement:"right",children:t.jsx(m,{children:i})}):i}function Ft({label:e,href:r,icon:n,external:o,isCollapsed:s}){const a=t.jsxs(xe,{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(A,{title:e,placement:"right",children:t.jsx(m,{children:a})}):a}function Xt({open:e,onClose:r,logoHeader:n}){return t.jsx(Et,{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 Kt({headerProps:e}){const r=J(),n=Pt(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(m,{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(m,{component:"main",sx:{flex:1,display:"flex",flexDirection:"column",minWidth:0},children:[t.jsxs(m,{sx:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"space-between",height:Ke.headerHeight,px:{xs:1,md:3},backgroundColor:"background.default"},children:[t.jsx(m,{sx:{display:{xs:"flex",md:"none"},alignItems:"center",mr:1},children:t.jsx(N,{size:"small",onClick:()=>s(!0),"aria-label":"Open navigation",children:t.jsx(_,{fontSize:"small"})})}),t.jsx(m,{sx:{flex:1,minWidth:0,display:"flex",alignItems:"center"},children:t.jsx(Nt,{})}),t.jsxs(m,{id:"header-actions-portal",sx:{display:"flex",alignItems:"center",flexShrink:0,gap:1},children:[t.jsx($t,{}),t.jsx(Ht,{}),e?.endCap]})]}),t.jsx(m,{sx:{flex:1,overflow:"auto",minWidth:320,minHeight:0},children:t.jsx(u.Suspense,{fallback:t.jsx(Je,{}),children:t.jsx(Ge,{})})})]}),t.jsx(Xt,{open:o,onClose:()=>s(!1),logoHeader:e?.logoHeader})]})}export{Kt as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es-PC1YK9io.js","assets/index-CSUU2t5Q.js","assets/index-DUqldpo0.css","assets/ToggleButtonGroup-0p89QLtB.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{c as W,j as a,n as b,r as u,a1 as $,J as k,K as y,a2 as N,N as i,a3 as m,a4 as C,a5 as _,a6 as U,a7 as g,a8 as E,a9 as L,aa as R,a0 as D,ab as F,L as I,U as S,ac as T,ad as M,ae as O,T as j,af as h,ag as w}from"./index-CSUU2t5Q.js";const z=W(a.jsx("path",{d:"m14.06 9.02.92.92L5.92 19H5v-.92zM17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94z"}));function P(e,n){const s=b();return u.useCallback((t,l)=>{const c=new URLSearchParams(t.givens).toString(),o=encodeURIComponent(e),d=encodeURIComponent(n),x=encodeURIComponent(t.dashboard);s(`/${o}/${d}/dashboards/${x}`+(c?`?${c}`:""),l)},[s,e,n])}function A({environmentName:e,packageName:n,dashboardName:s}){const{params:t,onGivensChange:l}=$(),c=P(e,n),o=k(),{pathname:d}=y(),x=u.useMemo(()=>N({environmentName:e,packageName:n,dashboardName:s}),[e,n,s]);return u.useEffect(()=>{const p=()=>void E(()=>import("./index.es-PC1YK9io.js"),__vite__mapDeps([0,1,2,3])),r=window.requestIdleCallback;if(r){const v=r(p);return()=>window.cancelIdleCallback?.(v)}const f=setTimeout(p,1500);return()=>clearTimeout(f)},[]),a.jsxs(i,{sx:{p:3,maxWidth:1600,mx:"auto"},children:[a.jsx(m,{label:n,href:`/${e}/${n}`,onClick:()=>o(`/${e}/${n}`)}),a.jsx(C,{children:a.jsx(_,{label:"Edit",icon:a.jsx(z,{}),onClick:()=>o(`${d.replace(/\/$/,"")}/edit`)})}),a.jsx(U,{resourceUri:g({environmentName:e,packageName:n}),dashboard:s,givens:t,onGivensChange:l,onNavigate:c,onEvent:x,maxResultSize:1024*1024})]})}const V=L.lazy(()=>E(()=>import("./index.es-PC1YK9io.js"),__vite__mapDeps([0,1,2,3])).then(e=>({default:e.DashboardEditor})));function G({environmentName:e,packageName:n,dashboardName:s}){const t=k(),{pathname:l}=y(),c=l.replace(/\/edit\/?$/,""),o=u.useMemo(()=>N({environmentName:e,packageName:n,dashboardName:s}),[e,n,s]);return a.jsxs(i,{sx:{p:3,maxWidth:1600,mx:"auto"},children:[a.jsx(m,{label:n,href:`/${e}/${n}`,onClick:()=>t(`/${e}/${n}`)}),a.jsx(u.Suspense,{fallback:a.jsxs(R,{sx:{gap:2},children:[a.jsx(C,{}),a.jsx(D,{text:"Opening the builder…"})]}),children:a.jsx(V,{resourceUri:g({environmentName:e,packageName:n}),dashboard:s,onExit:()=>t(c),onEvent:o})})]})}function q({environmentName:e,packageName:n,notebookPath:s}){const{params:t,onGivensChange:l}=$(),c=P(e,n),o=b();return a.jsxs(i,{sx:{p:3,maxWidth:1200,mx:"auto"},children:[a.jsx(m,{label:n,href:`/${e}/${n}`,onClick:d=>o(`/${e}/${n}`,d)}),a.jsx(F,{resourceUri:g({environmentName:e,packageName:n,modelPath:s}),maxResultSize:1024*1024,givens:t,onGivensChange:l,onNavigate:o,onDrillNavigate:c})]})}function B(){const e=I(),n=e["*"],{server:s}=S(),t=b(),{params:l,onGivensChange:c}=$();if(!e.environmentName)return a.jsx("div",{children:a.jsx("h2",{children:"Missing environment name"})});if(!e.packageName)return a.jsx("div",{children:a.jsx("h2",{children:"Missing package name"})});const o={p:3,maxWidth:1200,mx:"auto"};if(n?.startsWith("dashboards/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const r=n.slice(11);return r.endsWith("/edit")?a.jsx(G,{environmentName:e.environmentName,packageName:e.packageName,dashboardName:r.slice(0,-5)}):a.jsx(A,{environmentName:e.environmentName,packageName:e.packageName,dashboardName:r})}if(n?.startsWith("data-apps/")&&!n.endsWith(".malloy")&&!n.endsWith(".malloynb")){const r=n.slice(10),f=g({environmentName:e.environmentName,packageName:e.packageName,modelPath:r});return a.jsxs(i,{sx:o,children:[a.jsx(m,{label:e.packageName,href:`/${e.environmentName}/${e.packageName}`,onClick:v=>t(`/${e.environmentName}/${e.packageName}`,v)}),a.jsx(T,{resourceUri:f})]})}const d=g({environmentName:e.environmentName,packageName:e.packageName,modelPath:n});if(n?.endsWith(".malloy"))return a.jsxs(i,{sx:o,children:[a.jsx(m,{label:e.packageName,href:`/${e.environmentName}/${e.packageName}`,onClick:r=>t(`/${e.environmentName}/${e.packageName}`,r)}),a.jsx(M,{resourceUri:d,runOnDemand:!0,maxResultSize:512*1024,givens:l,onGivensChange:c})]});if(n?.endsWith(".malloynb"))return a.jsx(q,{environmentName:e.environmentName,packageName:e.packageName,notebookPath:n});const x=/\.[^./]+$/.test(n??""),p=O({server:s,environmentName:e.environmentName,packageName:e.packageName,path:n??""});return a.jsxs(i,{sx:o,children:[a.jsx(m,{label:e.packageName,href:`/${e.environmentName}/${e.packageName}`,onClick:r=>t(`/${e.environmentName}/${e.packageName}`,r)}),a.jsx(j,{variant:"h6",sx:{fontWeight:600},children:"Nothing to open at this path"}),a.jsxs(j,{variant:"body2",color:"text.secondary",sx:{mt:1},children:[a.jsx(i,{component:"span",sx:{fontFamily:h},children:n})," ","does not name a"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:".malloy"})," ","or"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:".malloynb"})," ","file in package"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:e.packageName}),". This address opens"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:".malloy"})," ","and"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:".malloynb"})," ","files."]}),x&&a.jsxs(j,{variant:"body2",color:"text.secondary",sx:{mt:1},children:["A file from the package's"," ",a.jsx(i,{component:"span",sx:{fontFamily:h},children:"public/"})," ","directory is served at ",a.jsx(w,{href:p,children:p}),"."]}),a.jsx(j,{variant:"body2",color:"text.secondary",sx:{mt:1},children:"The package lists its models, notebooks, and data apps."})]})}export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as r,n as t,j as e,a7 as c,ah as o}from"./index-CSUU2t5Q.js";function l(){const{environmentName:n,packageName:a}=r(),s=t();if(n)if(a){const i=c({environmentName:n,packageName:a});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,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{j as D,N as oe,r as p,az as ce,G as he,l as ue,aA as me,ao as be,aB as H,a8 as
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-C8Lbp1ov.js","assets/index-CSUU2t5Q.js","assets/index-DUqldpo0.css","assets/index-w_0OQJgZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{j as D,N as oe,r as p,az as ce,G as he,l as ue,aA as me,ao as be,aB as H,a8 as U,aC as ye,aD as fe,aE as pe,aF as ge,aG as ae}from"./index-CSUU2t5Q.js";const v="publisher-drill";function ve(e,r){const t=new Set;let o;try{o=e.getMetadata()?.getAllFields()??[]}catch{return t}const l=new Set;for(const a of o)!a||r(a)||a.tag?.tag("hidden")===void 0&&l.add(a.tag?.text("label")??a.name);for(const a of o){if(!a||!r(a))continue;const n=a.tag?.text("label")??a.name;l.has(n)||t.add(n)}return t}function M(e){const r=/^\s*(\d+)/.exec(e.style?.gridColumn??"");return r?r[1]:void 0}function we(e,r){if(r.size!==0)for(const t of e.querySelectorAll(".malloy-table")){const o=n=>n.closest(".malloy-table")===t,l=new Set;for(const n of t.querySelectorAll(".column-cell.th")){if(!o(n))continue;const i=(n.textContent??"").replace(/\u200b/g,"").trim(),f=M(n);f&&r.has(i)&&l.add(f)}if(l.size===0)continue;const a=new Set;for(const n of t.querySelectorAll(`.${v}[tabindex="0"]`)){if(!o(n))continue;const i=M(n);i&&(a.has(i)?n.tabIndex=-1:a.add(i))}for(const n of t.querySelectorAll(".column-cell.td")){if(!o(n))continue;const i=M(n),f=!n.querySelector(".value-null")&&(n.textContent??"").trim()!=="";if(i&&f&&l.has(i)&&!n.querySelector(".malloy-table")){if(n.classList.add(v),n.tabIndex===0)a.add(i);else{const m=a.has(i);m||a.add(i),n.tabIndex=m?-1:0}n.setAttribute("role","button")}}}}function ke(e){const r=e.closest(".malloy-table"),t=M(e);return!r||!t?[]:Array.from(r.querySelectorAll(`.${v}`)).filter(o=>o.closest(".malloy-table")===r&&M(o)===t)}function ne(e,r){const t=ke(e),o=t.indexOf(e);if(o===-1)return;const l=r==="first"?t[0]:r==="last"?t[t.length-1]:t[Math.min(Math.max(o+r,0),t.length-1)];if(l){for(const a of t)a.tabIndex=a===l?0:-1;return l}}function xe(e){return{background:e.dashboardRoot,tableBackground:e.tableBackground,tableHeaderColor:e.tableHeader,tableBodyColor:e.tableBody,tableBorder:e.border,tablePinnedBackground:e.tableHeaderBackground,tablePinnedBorder:e.pinnedBorder,tableFontSize:`${e.font.size}px`,fontFamily:e.font.family,mapColor:e.mapColor}}function Ce(e){const{foreground:r,axisFaint:t,font:o}=e,l={background:e.background,font:o.family,title:{color:r,font:o.family},axis:{labelColor:r,titleColor:r,domainColor:t,tickColor:t,gridColor:t,labelFont:o.family,titleFont:o.family},legend:{labelColor:r,titleColor:r,labelFont:o.family,titleFont:o.family},header:{labelColor:r,titleColor:r},range:{category:e.series}};return a=>l}function Ee(e){if(!e)return;const r=e.tag("theme");if(!r)return;const t={},o=r.tag("palette");if(o){const a={},n=o.textArray("series");n&&n.length>0&&(a.series=n);for(const i of ce){const f=o.tag(i);if(!f)continue;const m={},w=f.text("light"),E=f.text("dark");w&&(m.light=w),E&&(m.dark=E),Object.keys(m).length>0&&(a[i]=m)}Object.keys(a).length>0&&(t.palette=a)}const l=r.tag("font");if(l){const a={},n=l.text("family");n&&(a.family=n);const i=l.numeric("size");typeof i=="number"&&Number.isFinite(i)&&(a.size=i),Object.keys(a).length>0&&(t.font=a)}return Object.keys(t).length>0?t:void 0}const Ae=async(e,r)=>{if(typeof window>"u")throw new Error("MalloyRenderer can only be used in browser environment");const{MalloyRenderer:t}=await U(async()=>{const{MalloyRenderer:o}=await import("./index-DSoCUF-f.js");return{MalloyRenderer:o}},[]);return new t({onClick:r,vegaConfigOverride:Ce(e),theme:xe(e),onError:o=>{console.error("Error rendering visualization:",typeof o,o)}}).createViz()};typeof window<"u"&&U(()=>import("./index-DSoCUF-f.js"),[]);async function Se(e){if(!e||typeof e!="object")return;const r=e,t=[...Array.isArray(r.model_annotations)?r.model_annotations:[],...Array.isArray(r.source_annotations)?r.source_annotations:[],...Array.isArray(r.annotations)?r.annotations:[]].map(l=>typeof l?.value=="string"?l.value:void 0).filter(l=>!!l);if(t.length===0)return;let o;try{({parseAnnotation:o}=await U(()=>import("./index-C8Lbp1ov.js").then(l=>l.i),__vite__mapDeps([0,1,2,3])))}catch{return}try{const{tag:l}=o(t);return Ee(l)}catch(l){console.warn("Failed to parse # theme.* annotations; chart will render with the shell theme.",{error:l,lines:t});return}}function _e(e,r,t){const o=ye(r,t);for(const[l,a]of Object.entries(o))e.style.setProperty(l,a)}const Re=`
|
|
3
3
|
/* Card geometry, through the renderer's OWN theme vars rather than over the top
|
|
4
4
|
of them. It declares --malloy-theme--dashboard-* on .malloy-render itself and
|
|
5
5
|
passes each through to the --malloy-render--* the card CSS reads, so a value
|
|
@@ -133,4 +133,4 @@ div.malloy-render .malloy-dashboard .dashboard-row-header {
|
|
|
133
133
|
color: var(--publisher-drill-link) !important;
|
|
134
134
|
text-decoration: underline;
|
|
135
135
|
}
|
|
136
|
-
`,le="publisher-malloy-renderer-overrides";function ze(){if(typeof document>"u"||document.getElementById(le))return;const e=document.createElement("style");e.id=le,e.textContent=Re,document.head.appendChild(e)}function Fe({result:e,height:r,drill:t,onSizeChange:o,onSizing:l}){const a=p.useRef(null),n=p.useRef(t);n.current=t;const i=p.useCallback(c=>{n.current?.onClick(c)},[]),f=t!==void 0,m=p.useRef(!1),w=p.useRef(null),E=p.useRef(0),{theme:
|
|
136
|
+
`,le="publisher-malloy-renderer-overrides";function ze(){if(typeof document>"u"||document.getElementById(le))return;const e=document.createElement("style");e.id=le,e.textContent=Re,document.head.appendChild(e)}function Fe({result:e,height:r,drill:t,onSizeChange:o,onSizing:l}){const a=p.useRef(null),n=p.useRef(t);n.current=t;const i=p.useCallback(c=>{n.current?.onClick(c)},[]),f=t!==void 0,m=p.useRef(!1),w=p.useRef(null),E=p.useRef(0),{theme:G,layers:J,mode:K}=he(),W=ue().shape.borderRadius,X=p.useMemo(()=>({radius:`${W}px`,padding:`${me}px`}),[W]);return p.useEffect(()=>()=>{E.current+=1;const c=w.current;c?.viz.remove(),c?.node.remove(),w.current=null},[]),p.useLayoutEffect(()=>{if(!a.current||!e)return;ze();const c=a.current,se=E.current+=1;let P=!1;const N=()=>!P&&se===E.current;let d,b,B=null,q=0,L=null,$=null,I=null,F=null,O=null,T=null,Y=null,Q=0,A=null;m.current=!1;let g,S;const V=k=>{if(P||!k.firstElementChild||H(g,S)==="container")return;const j=fe(g,S);if(m.current&&!j)return;const x=pe(k,ae(g));x>0&&(m.current=!0,o&&x!==Q&&(Q=x,o(x)));const _=ge(k,ae(g));j&&_&&Y!==_&&(Y=_,T?.disconnect(),T=new ResizeObserver(()=>V(k)),T.observe(_))};return(async()=>{let k;try{k=JSON.parse(e)}catch(y){console.error("Error parsing visualization result:",y);return}const j=await Se(k),x=j?be([...J,j],K):G;if(!N())return;try{b=await Ae(x,i)}catch(y){console.error("Failed to create renderer:",y);return}if(!N()){b.remove(),b=void 0;return}const _=w.current;d=document.createElement("div"),d.style.width="100%",d.style.height="100%",_e(d,x,X),c.childElementCount>0&&(c.style.position="relative",d.style.position="absolute",d.style.inset="0",d.style.visibility="hidden"),c.appendChild(d);const u=d;F=new MutationObserver(()=>{O&&clearTimeout(O),O=setTimeout(()=>{V(u),m.current&&F?.disconnect()},100)}),F.observe(d,{childList:!0,subtree:!0,attributes:!0});const ie=b;let Z=!1;const ee=()=>{if(!(Z||!N())){Z=!0,A&&(clearTimeout(A),A=null),_?.viz.remove();for(const y of Array.from(c.children))y!==u&&c.removeChild(y);u.style.position="",u.style.inset="",u.style.visibility="",c.style.position="",w.current={viz:ie,node:u},V(u)}};try{b.setResult(k);try{const C=b.getMetadata(),R=C?.getRootField();g=R?.renderAs(),S=R?C?.getPluginsForField(R.key)?.[0]?.sizingStrategy:void 0}catch{g=void 0,S=void 0}l?.(H(g,S)),d.dataset.malloyRenderAs=g??"unknown",d.dataset.malloySizing=H(g,S),b.render(d);const y=n.current;try{if(y){const C=ve(b,y.canDrill),R=()=>{try{we(u,C)}catch(s){console.warn("Drill affordance skipped:",s)}};R();const re=s=>{const h=s.querySelector(".cell-content")??s,z=h.getBoundingClientRect();h.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:h.ownerDocument.defaultView,clientX:Math.round(z.left+z.width/2),clientY:Math.round(z.bottom)}))},te=s=>s.target?.closest?.(`.${v}`)??null,de=(s,h)=>{ne(s,h)?.focus()};L=s=>{const h=te(s);if(!h)return;const z=s.key==="ArrowDown"?1:s.key==="ArrowUp"?-1:s.key==="Home"?"first":s.key==="End"?"last":void 0;if(z!==void 0){s.preventDefault(),de(h,z);return}s.key==="Enter"?(s.preventDefault(),re(h)):s.key===" "&&s.preventDefault()},$=s=>{if(s.key!==" ")return;const h=te(s);h&&(s.preventDefault(),re(h))},I=s=>{const h=s.target?.closest?.(`.${v}`);h&&ne(h,0)},u.addEventListener("keydown",L),u.addEventListener("keyup",$),u.addEventListener("focusin",I),C.size>0&&typeof MutationObserver<"u"&&(B=new MutationObserver(()=>{cancelAnimationFrame(q),q=requestAnimationFrame(R)}),B.observe(u,{childList:!0,subtree:!0}))}}catch(C){console.warn("Drill affordance skipped:",C)}b.onReady(ee),A=setTimeout(ee,1e4)}catch(y){console.error("Error rendering visualization:",y),F?.disconnect(),T?.disconnect(),B?.disconnect(),b.remove(),b=void 0,u.parentNode===c&&c.removeChild(u)}})(),()=>{P=!0,F?.disconnect(),T?.disconnect(),O&&clearTimeout(O),A&&clearTimeout(A),d&&w.current?.node!==d&&(L&&d.removeEventListener("keydown",L),$&&d.removeEventListener("keyup",$),I&&d.removeEventListener("focusin",I),B?.disconnect(),cancelAnimationFrame(q),b?.remove(),d.parentNode===c&&c.removeChild(d),c.style.position="")}},[e,i,f,o,l,G,J,K,X]),D.jsx("div",{ref:a,style:{width:"100%",height:r?`${r}px`:"400px"}})}function Oe(e){return typeof window>"u"?D.jsx(oe,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading..."}):D.jsx(p.Suspense,{fallback:D.jsx(oe,{sx:{width:"100%",height:e.height?`${e.height}px`:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"text.secondary"},children:"Loading visualization..."}),children:D.jsx(Fe,{...e})})}const je=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"}));export{v as D,Oe as R,Ce as a,xe as b,je as c,ve as d,we as m,Ee as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aj as o,j as r,ak as s,aa as a,N as n,T as t}from"./index-
|
|
1
|
+
import{aj as o,j as r,ak as s,aa as a,N as n,T as t}from"./index-CSUU2t5Q.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(a,{sx:{m:"auto",flexDirection:"column"},children:[r.jsx(n,{sx:{height:"300px"}}),r.jsx("img",{src:"/error.png"}),r.jsx(t,{variant:"subtitle1",children:"An unexpected error occurred"})]})})}export{x as default};
|