@malloydata/malloy-explorer 0.0.285-dev250610181307 → 0.0.294-dev250630221944

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/cjs/index.cjs +2046 -1040
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/index.js +2048 -1042
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/malloy-explorer.css +18 -0
  6. package/dist/types/components/QueryPanel/AddMenu/ValueList.d.ts +2 -1
  7. package/dist/types/components/QueryPanel/VizEditor/ArrayEditor.d.ts +3 -0
  8. package/dist/types/components/QueryPanel/VizEditor/BooleanEditor.d.ts +3 -0
  9. package/dist/types/components/QueryPanel/VizEditor/FieldEditor.d.ts +3 -0
  10. package/dist/types/components/QueryPanel/VizEditor/InfoHover.d.ts +4 -0
  11. package/dist/types/components/QueryPanel/VizEditor/NumberEditor.d.ts +3 -0
  12. package/dist/types/components/QueryPanel/VizEditor/ObjectEditor.d.ts +3 -0
  13. package/dist/types/components/QueryPanel/VizEditor/OneOfEditor.d.ts +3 -0
  14. package/dist/types/components/QueryPanel/VizEditor/StringEditor.d.ts +3 -0
  15. package/dist/types/components/QueryPanel/VizEditor/VizEditor.d.ts +11 -0
  16. package/dist/types/components/QueryPanel/VizEditor/VizEditorDialog.d.ts +12 -0
  17. package/dist/types/components/QueryPanel/VizEditor/VizEditorPopover.d.ts +10 -0
  18. package/dist/types/components/QueryPanel/VizEditor/styles.d.ts +72 -0
  19. package/dist/types/components/QueryPanel/VizEditor/types.d.ts +11 -0
  20. package/dist/types/components/QueryPanel/dialogStyles.d.ts +60 -0
  21. package/dist/types/components/filters/DateTimeFilterCore.d.ts +1 -1
  22. package/dist/types/components/primitives/ScrollableArea.d.ts +3 -0
  23. package/dist/types/components/primitives/utils/icon.d.ts +18 -0
  24. package/dist/types/components/utils/renderer.d.ts +9 -3
  25. package/package.json +10 -10
@@ -129,6 +129,8 @@
129
129
  }
130
130
 
131
131
  @layer priority3{
132
+ .mlyllpv0l{border-bottom:1px solid #e0e0e0}
133
+ .mlyv3yj8d{border-bottom:1px solid var(--malloy-color-border,#e0e0e0)}
132
134
  .mly1akygb0{border-color:none}
133
135
  .mly1y5yj0f{border-color:rgb(0,100,224)}
134
136
  .mly10bk7bj{border-color:var(--malloy-composer-focus,#c3d7f7)}
@@ -151,6 +153,7 @@
151
153
  .mly1roky18{border-right:1px solid rgba(204,211,219,1)}
152
154
  .mlyng3xce{border-style:none}
153
155
  .mly1y0btm7{border-style:solid}
156
+ .mlye536se{border-top:1px solid #e0e0e0}
154
157
  .mly77krkw{border-top:1px solid var(--malloy-composer-form-border,#ececec)}
155
158
  .mlyc342km{border-width:0}
156
159
  .mlymkeg23{border-width:1px}
@@ -165,6 +168,8 @@
165
168
  .mly1jnr06f{gap:4px}
166
169
  .mly1nejdyq{gap:5px}
167
170
  .mly167g77z{gap:8px}
171
+ .mly623te4{grid-column:span 2}
172
+ .mly1a80n4u{grid-column:span 3}
168
173
  .mly1a2a7pz{outline:none}
169
174
  .mlyysyzu8{overflow:auto}
170
175
  .mlyb3r6kr{overflow:hidden}
@@ -183,6 +188,7 @@
183
188
  .mlypqajaz{align-items:end}
184
189
  .mly1cy8zhl{align-items:flex-start}
185
190
  .mly7a106z{align-items:start}
191
+ .mly1071x5a{align-items:top}
186
192
  .mly7v9bd0{animation-duration:.75s}
187
193
  .mlya4qsjk{animation-iteration-count:infinite}
188
194
  .mly8jsasv{animation-name:mlyqng64z-B}
@@ -196,6 +202,7 @@
196
202
  .mly1gzqxud{background-color:rgba(255,255,255,1)}
197
203
  .mly1jmk7v{background-color:rgba(37,54,63,1)}
198
204
  .mlyjbqb8w{background-color:transparent}
205
+ .mly9nb4jr{background-color:var(--malloy-color-background,white)}
199
206
  .mly1jjku57{background-color:var(--malloy-composer-form-disabledBackground,#f6f6f6)}
200
207
  .mly6wxqrg{background-color:var(--malloy-composer-form-focusBackground,#f0f6ff)}
201
208
  .mly12azwz9{background-color:var(--malloy-composer-menu-background,white)}
@@ -296,14 +303,17 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
296
303
  .mly117nqv4{font-weight:bold}
297
304
  .mly1fcty0u{font-weight:normal}
298
305
  .mly1mt1orb{grid-auto-flow:column}
306
+ .mlysd5ean{grid-auto-rows:max-content}
299
307
  .mly15396mt{grid-template-columns:100px auto 100px}
300
308
  .mly52fmzj{grid-template-columns:1fr auto}
301
309
  .mly1g3yg12{grid-template-columns:auto 1fr auto}
302
310
  .mlybyjr8{grid-template-columns:auto}
311
+ .mly16kridx{grid-template-columns:min-content 1fr min-content}
303
312
  .mlyl56j7k{justify-content:center}
304
313
  .mly13a6bvl{justify-content:flex-end}
305
314
  .mly1nhvcw1{justify-content:flex-start}
306
315
  .mly1rfj78v{justify-content:left}
316
+ .mly1lvf691{justify-content:right}
307
317
  .mly1l1ennw{justify-content:space-around}
308
318
  .mly1qughib{justify-content:space-between}
309
319
  .mlylqzeqv{justify-content:start}
@@ -311,6 +321,7 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
311
321
  .mly1gu5id8{letter-spacing:-0.24px}
312
322
  .mly12oo3zp{letter-spacing:0}
313
323
  .mly1d3mw78{line-height:16px}
324
+ .mly1rl49lg{line-height:2.2em}
314
325
  .mly1fc57z9{line-height:20px}
315
326
  .mly1o2sk6j{line-height:24px}
316
327
  .mly1vqud6w{opacity:70%}
@@ -320,6 +331,7 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
320
331
  .mly10l6tqk{position:absolute}
321
332
  .mlyixxii4{position:fixed}
322
333
  .mly1n2onr6{position:relative}
334
+ .mly7wzq59{position:sticky}
323
335
  .mly2b8uid{text-align:center}
324
336
  .mlydpxx8g{text-align:left}
325
337
  .mly1vqy1sf{text-edge:cap}
@@ -376,6 +388,7 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
376
388
  .mlydk7pt{height:8px}
377
389
  .mlylo07zb{height:90px}
378
390
  .mlyt7dq6l{height:auto}
391
+ .mly1ktj5wk{height:calc(100% - 8px)}
379
392
  .mlyu96u03{left:0}
380
393
  .mly12nagc{margin-bottom:4px}
381
394
  .mlyu06os2{margin-bottom:5px}
@@ -393,7 +406,9 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
393
406
  .mlyq3t0pi{max-height:280px}
394
407
  .mlyuyqlj2{max-height:300px}
395
408
  .mly1phlbz0{max-height:400px}
409
+ .mly1jcbksy{max-height:420px}
396
410
  .mly3d5gib{max-height:50vh}
411
+ .mly1l4ul0t{max-height:75vh}
397
412
  .mly1kbvuzt{max-height:var(--radix-tooltip-content-available-height)}
398
413
  .mlyqyhut4{max-width:16.5px}
399
414
  .mly1pdpmub{max-width:264px}
@@ -401,7 +416,9 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
401
416
  .mly1dc814f{max-width:350px}
402
417
  .mlyxc7z9f{max-width:360px}
403
418
  .mly1j9u4d2{max-width:400px}
419
+ .mly1lr1uin{max-width:420px}
404
420
  .mlymcgfsh{max-width:60px}
421
+ .mly14zcgw3{max-width:75vw}
405
422
  .mly2lwn1j{min-height:0}
406
423
  .mly4x6u8j{min-width:16.5px}
407
424
  .mlygc0pbm{min-width:1px}
@@ -447,6 +464,7 @@ html[dir='rtl'] .mly17fq3gk{box-shadow:0 2px 12px 0 rgba(0,0,0,.1), 0 1px 2px 0
447
464
  .mlyxsgkw5{width:350px}
448
465
  .mly869kya{width:5.5em}
449
466
  .mly1ftt334{width:5px}
467
+ .mly14rvwrp{width:600px}
450
468
  .mly1247r65{width:60px}
451
469
  .mly1xc55vz{width:8px}
452
470
  .mlym6i5cn{width:90%}
@@ -3,13 +3,14 @@ import { StyleXStyles } from '@stylexjs/stylex';
3
3
  import { SearchIndexResult } from './hooks/useSearch';
4
4
  export interface FieldListProps {
5
5
  search: string;
6
+ filter?: (value: string) => boolean;
6
7
  onClick: (value: SearchIndexResult) => void;
7
8
  fieldPath?: string;
8
9
  ref?: React.RefObject<HTMLDivElement | null>;
9
10
  customStyle?: StyleXStyles;
10
11
  showPath?: boolean;
11
12
  }
12
- export declare function ValueList({ onClick, search, fieldPath, ref, customStyle, showPath, }: FieldListProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function ValueList({ onClick, search, filter, fieldPath, ref, customStyle, showPath, }: FieldListProps): import("react/jsx-runtime").JSX.Element;
13
14
  export interface ValueProps {
14
15
  value: SearchIndexResult;
15
16
  }
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaArray } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function ArrayEditor({ name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaArray, string[]>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaBoolean } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function BooleanEditor({ name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaBoolean, boolean>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaArray } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function FieldEditor({ view, name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaArray, string[]>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface InfoHoverProps {
2
+ info: string;
3
+ }
4
+ export default function InfoHover({ info }: InfoHoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaNumber } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function NumberEditor({ name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaNumber>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaObject } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function ObjectEditor({ view, name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaObject, Record<string, unknown>>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaOneOf } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function OneOfEditor({ view, name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaOneOf, unknown>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { JSONSchemaString } from '@malloydata/render';
2
+ import { EditorProps } from './types';
3
+ export default function StringEditor({ name, path, current, option, updateCurrent, }: EditorProps<JSONSchemaString>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { StyleXStyles } from '@stylexjs/stylex';
2
+ import { ASTQuery, ASTView } from '@malloydata/malloy-query-builder';
3
+ import { CoreVizPluginInstance } from '@malloydata/render';
4
+ export interface VizEditorProps {
5
+ rootQuery: ASTQuery;
6
+ plugin: CoreVizPluginInstance;
7
+ view: ASTQuery | ASTView;
8
+ customStyle?: StyleXStyles;
9
+ setOpen: (open: boolean) => void;
10
+ }
11
+ export declare function VizEditor({ rootQuery, view, plugin, setOpen }: VizEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { ASTQuery, ASTView } from '@malloydata/malloy-query-builder';
2
+ import { CoreVizPluginInstance } from '@malloydata/render';
3
+ import { StyleXStyles } from '@stylexjs/stylex';
4
+ export interface VizEditorDialogProps {
5
+ rootQuery: ASTQuery;
6
+ plugin?: CoreVizPluginInstance;
7
+ view: ASTQuery | ASTView;
8
+ customStyle?: StyleXStyles;
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ }
12
+ export declare function VizEditorDialog({ rootQuery, plugin, view, customStyle, open, setOpen, }: VizEditorDialogProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,10 @@
1
+ import { ASTQuery, ASTView } from '@malloydata/malloy-query-builder';
2
+ import { CoreVizPluginInstance } from '@malloydata/render';
3
+ import { StyleXStyles } from '@stylexjs/stylex';
4
+ export interface VizEditorPopoverProps {
5
+ rootQuery: ASTQuery;
6
+ plugin: CoreVizPluginInstance;
7
+ view: ASTQuery | ASTView;
8
+ customStyle?: StyleXStyles;
9
+ }
10
+ export declare function VizEditorPopover({ rootQuery, plugin, view, customStyle, }: VizEditorPopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ export declare const styles: Readonly<{
2
+ readonly trigger: Readonly<{
3
+ readonly height: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"height", "calc(100% - 8px)">;
4
+ }>;
5
+ readonly left: Readonly<{
6
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
7
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "right">;
8
+ }>;
9
+ readonly right: Readonly<{
10
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
11
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "left">;
12
+ }>;
13
+ readonly heading: Readonly<{
14
+ readonly gridColumn: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gridColumn", "span 2">;
15
+ readonly fontWeight: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"fontWeight", "bold">;
16
+ }>;
17
+ readonly label: Readonly<{
18
+ readonly whiteSpace: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"whiteSpace", "nowrap">;
19
+ }>;
20
+ readonly divider: Readonly<{
21
+ readonly gridColumn: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gridColumn", "span 3">;
22
+ readonly borderTop: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderTop", "1px solid #e0e0e0">;
23
+ }>;
24
+ readonly content: Readonly<{
25
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
26
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
27
+ readonly boxShadow: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"boxShadow", "0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 2px 12px 0 rgba(0, 0, 0, 0.1)">;
28
+ readonly backgroundColor: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"backgroundColor", "white">;
29
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 8>;
30
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", 8>;
31
+ readonly minWidth: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"minWidth", 240>;
32
+ readonly maxWidth: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"maxWidth", 420>;
33
+ readonly maxHeight: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"maxHeight", 420>;
34
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
35
+ }>;
36
+ readonly editor: Readonly<{
37
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
38
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
39
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
40
+ readonly overflow: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"overflow", "hidden">;
41
+ }>;
42
+ readonly editorGrid: Readonly<{
43
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "grid">;
44
+ readonly gridTemplateColumns: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gridTemplateColumns", "min-content 1fr min-content">;
45
+ readonly gridAutoRows: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gridAutoRows", "max-content">;
46
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
47
+ readonly overflowY: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"overflowY", "auto">;
48
+ }>;
49
+ readonly editorRow: Readonly<{
50
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
51
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
52
+ }>;
53
+ readonly editorCell: Readonly<{
54
+ readonly flexGrow: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexGrow", 1>;
55
+ }>;
56
+ readonly input: Readonly<{
57
+ readonly border: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"border", "1px solid rgb(239, 239, 239)">;
58
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 4>;
59
+ readonly color: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"color", "rgb(95, 99, 104)">;
60
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", "3px 3px 3px 10px">;
61
+ }>;
62
+ readonly card: Readonly<{
63
+ readonly maxWidth: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"maxWidth", "350px">;
64
+ }>;
65
+ readonly infoTrigger: Readonly<{
66
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "inline-flex">;
67
+ readonly alignItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"alignItems", "top">;
68
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "center">;
69
+ readonly paddingRight: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"paddingRight", "8px">;
70
+ readonly paddingTop: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"paddingTop", "4px">;
71
+ }>;
72
+ }>;
@@ -0,0 +1,11 @@
1
+ import { ASTQuery, ASTView } from '@malloydata/malloy-query-builder';
2
+ import { TagSetValue } from '@malloydata/malloy-tag';
3
+ import { JSONSchemaProperty } from '@malloydata/render';
4
+ export interface EditorProps<T extends JSONSchemaProperty, C = TagSetValue> {
5
+ view: ASTQuery | ASTView;
6
+ name: string;
7
+ path: string[];
8
+ option: T;
9
+ current: C;
10
+ updateCurrent: (path: string[], value: unknown) => void;
11
+ }
@@ -0,0 +1,60 @@
1
+ export declare const dialogStyles: Readonly<{
2
+ readonly displayNone: Readonly<{
3
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "none">;
4
+ }>;
5
+ readonly overlay: Readonly<{
6
+ readonly background: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"background", "rgba(0 0 0 / 0.0)">;
7
+ readonly position: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"position", "fixed">;
8
+ readonly top: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"top", 0>;
9
+ readonly left: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"left", 0>;
10
+ readonly right: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"right", 0>;
11
+ readonly bottom: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"bottom", 0>;
12
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "grid">;
13
+ readonly placeItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"placeItems", "center">;
14
+ readonly zIndex: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"zIndex", 100>;
15
+ }>;
16
+ readonly title: Readonly<{
17
+ readonly fontSize: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"fontSize", "16px">;
18
+ readonly margin: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"margin", 0>;
19
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
20
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "space-between">;
21
+ readonly alignItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
22
+ readonly borderBottom: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderBottom", "1px solid #e0e0e0">;
23
+ readonly lineHeight: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"lineHeight", "2.2em">;
24
+ }>;
25
+ readonly close: Readonly<{
26
+ readonly border: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"border", "none">;
27
+ readonly background: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"background", "transparent" | "rgba(0, 0, 0, 0.05)" | "rgba(0, 0, 0, 0.1)">;
28
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 4>;
29
+ }>;
30
+ readonly content: Readonly<{
31
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
32
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
33
+ readonly boxShadow: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"boxShadow", "0 1px 2px 0 rgba(0, 0, 0, 0.1), 0 2px 12px 0 rgba(0, 0, 0, 0.1)">;
34
+ readonly backgroundColor: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"backgroundColor", "white">;
35
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 8>;
36
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", 8>;
37
+ readonly minWidth: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"minWidth", 240>;
38
+ readonly maxWidth: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"maxWidth", 280>;
39
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
40
+ }>;
41
+ readonly editor: Readonly<{
42
+ readonly width: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"width", 250>;
43
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
44
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
45
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
46
+ }>;
47
+ readonly editorRow: Readonly<{
48
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
49
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
50
+ }>;
51
+ readonly editorCell: Readonly<{
52
+ readonly flexGrow: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexGrow", 1>;
53
+ }>;
54
+ readonly input: Readonly<{
55
+ readonly border: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"border", "1px solid #e0e0e0">;
56
+ readonly color: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"color", "rgb(95, 99, 104)">;
57
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", "4px 8px 4px 8px">;
58
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 5>;
59
+ }>;
60
+ }>;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TemporalFilter, TemporalUnit } from '@malloydata/malloy-filter';
3
3
  type TemporalFilterOperator = TemporalFilter['operator'];
4
- type TemporalFilterType = TemporalFilterOperator | '-null' | 'not_before';
4
+ type TemporalFilterType = TemporalFilterOperator | '-null' | '-before' | '-after';
5
5
  export interface DateTimeFilterCoreProps {
6
6
  filter: TemporalFilter | null;
7
7
  setFilter: (filter: TemporalFilter) => void;
@@ -5,5 +5,8 @@ interface ScrollableAreaProps {
5
5
  */
6
6
  children: React.ReactNode;
7
7
  }
8
+ /**
9
+ * @deprecated
10
+ */
8
11
  export default function ScrollableArea({ children }: ScrollableAreaProps): import("react/jsx-runtime").JSX.Element;
9
12
  export {};
@@ -71,6 +71,12 @@ export declare const ICON_MAP: {
71
71
  desc?: string;
72
72
  descId?: string;
73
73
  }>;
74
+ readonly gear: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
75
+ title?: string;
76
+ titleId?: string;
77
+ desc?: string;
78
+ descId?: string;
79
+ }>;
74
80
  readonly info: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
75
81
  title?: string;
76
82
  titleId?: string;
@@ -251,6 +257,12 @@ export declare const ICON_MAP: {
251
257
  desc?: string;
252
258
  descId?: string;
253
259
  }>;
260
+ readonly viz_bar: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
261
+ title?: string;
262
+ titleId?: string;
263
+ desc?: string;
264
+ descId?: string;
265
+ }>;
254
266
  readonly viz_boolean: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
255
267
  title?: string;
256
268
  titleId?: string;
@@ -305,6 +317,12 @@ export declare const ICON_MAP: {
305
317
  desc?: string;
306
318
  descId?: string;
307
319
  }>;
320
+ readonly viz_line: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
321
+ title?: string;
322
+ titleId?: string;
323
+ desc?: string;
324
+ descId?: string;
325
+ }>;
308
326
  readonly viz_link: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
309
327
  title?: string;
310
328
  titleId?: string;
@@ -1,6 +1,12 @@
1
1
  import { Tag } from '@malloydata/malloy-tag';
2
- export declare const QUERY_RENDERERS: RendererName[];
3
- export declare const ATOMIC_RENDERERS: RendererName[];
2
+ export declare const RENDERER_PREFIX = "# ";
3
+ export declare const VIZ_RENDERERS: VizName[];
4
+ export declare const QUERY_RENDERERS: QueryRendererName[];
5
+ export declare const ATOMIC_RENDERERS: AtomicRendererName[];
4
6
  export declare const RENDERERS: RendererName[];
5
- export type RendererName = 'table' | 'dashboard' | 'text' | 'currency' | 'image' | 'time' | 'json' | 'single_value' | 'list' | 'list_detail' | 'cartesian_chart' | 'bar_chart' | 'scatter_chart' | 'line_chart' | 'point_map' | 'segment_map' | 'shape_map' | 'number' | 'percent' | 'boolean' | 'sparkline' | 'bytes' | 'vega' | 'url';
7
+ export type VizName = 'table' | 'bar' | 'dashboard' | 'json' | 'line' | 'list' | 'list_detail' | 'point_map' | 'scatter_chart' | 'segment_map' | 'shape_map';
8
+ export type QueryRendererName = 'table' | 'bar_chart' | 'dashboard' | 'json' | 'line_chart' | 'list' | 'list_detail' | 'point_map' | 'scatter_chart' | 'segment_map' | 'shape_map';
9
+ export type AtomicRendererName = 'number' | 'boolean' | 'currency' | 'image' | 'url' | 'percent' | 'text' | 'time';
10
+ export type RendererName = QueryRendererName | AtomicRendererName;
6
11
  export declare function tagToRenderer(tag: Tag | undefined): RendererName | null;
12
+ export declare function legacyToViz(name: QueryRendererName): VizName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/malloy-explorer",
3
- "version": "0.0.285-dev250610181307",
3
+ "version": "0.0.294-dev250630221944",
4
4
  "description": "Malloy visual query builder",
5
5
  "main": "dist/cjs/index.cjs",
6
6
  "types": "dist/types/index.d.ts",
@@ -73,8 +73,8 @@
73
73
  "@stylexjs/stylex": "^0.10.1",
74
74
  "assert": "^2.1.0",
75
75
  "moment": "^2.30.1",
76
- "react": ">= 19.0.0",
77
- "react-dom": ">= 19.0.0"
76
+ "react": ">=19.0.0",
77
+ "react-dom": ">=19.0.0"
78
78
  },
79
79
  "devDependencies": {
80
80
  "@babel/preset-env": "^7.27.2",
@@ -113,12 +113,12 @@
113
113
  "vite-plugin-svgr": "^4.3.0"
114
114
  },
115
115
  "peerDependencies": {
116
- "@malloydata/malloy-filter": ">= 0.0.290",
117
- "@malloydata/malloy-interfaces": ">= 0.0.290",
118
- "@malloydata/malloy-query-builder": ">= 0.0.290",
119
- "@malloydata/malloy-tag": ">= 0.0.290",
120
- "@malloydata/render": ">= 0.0.290",
121
- "react": ">= 19.0.0",
122
- "react-dom": ">= 19.0.0"
116
+ "@malloydata/malloy-filter": ">=0.0.294",
117
+ "@malloydata/malloy-interfaces": ">=0.0.294",
118
+ "@malloydata/malloy-query-builder": ">=0.0.294",
119
+ "@malloydata/malloy-tag": ">=0.0.294",
120
+ "@malloydata/render": ">=0.0.294",
121
+ "react": ">=19.0.0",
122
+ "react-dom": ">=19.0.0"
123
123
  }
124
124
  }