@malloydata/malloy-explorer 0.0.257-dev250410160631

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 (158) hide show
  1. package/.editorconfig +8 -0
  2. package/.github/workflows/prerelease.yaml +28 -0
  3. package/.github/workflows/test.yaml +26 -0
  4. package/.node-version +1 -0
  5. package/.prettierrc.js +8 -0
  6. package/.vscode/extensions.json +6 -0
  7. package/@flowtypes/components/MalloyExplorerProvider.flow.js +13 -0
  8. package/@flowtypes/components/QueryPanel/QueryActionBar.flow.js +10 -0
  9. package/@flowtypes/components/QueryPanel/QueryEditor.flow.js +9 -0
  10. package/@flowtypes/components/ResultPanel/ResultPanel.flow.js +14 -0
  11. package/@flowtypes/components/ResultPanel/SubmittedQuery.flow.js +32 -0
  12. package/@flowtypes/components/SourcePanel/SourcePanel.flow.js +9 -0
  13. package/@flowtypes/contexts/ExplorerPanelsContext.flow.js +6 -0
  14. package/@flowtypes/index.flow.js +18 -0
  15. package/CONTRIBUTING.md +44 -0
  16. package/LICENSE +9 -0
  17. package/README.md +23 -0
  18. package/babel.config.mjs +35 -0
  19. package/dist/cjs/index.cjs +30740 -0
  20. package/dist/cjs/index.cjs.map +1 -0
  21. package/dist/esm/index.js +30723 -0
  22. package/dist/esm/index.js.map +1 -0
  23. package/dist/malloy-explorer.css +422 -0
  24. package/dist/types/components/ErrorElement.d.ts +18 -0
  25. package/dist/types/components/FieldHoverCard.d.ts +13 -0
  26. package/dist/types/components/FieldToken.d.ts +19 -0
  27. package/dist/types/components/Label.d.ts +5 -0
  28. package/dist/types/components/MalloyExplorerProvider.d.ts +11 -0
  29. package/dist/types/components/QueryPanel/AddMenu/AddAggregate.d.ts +6 -0
  30. package/dist/types/components/QueryPanel/AddMenu/AddEmptyNest.d.ts +6 -0
  31. package/dist/types/components/QueryPanel/AddMenu/AddFieldItem.d.ts +15 -0
  32. package/dist/types/components/QueryPanel/AddMenu/AddGroupBy.d.ts +6 -0
  33. package/dist/types/components/QueryPanel/AddMenu/AddItem.d.ts +9 -0
  34. package/dist/types/components/QueryPanel/AddMenu/AddLimit.d.ts +6 -0
  35. package/dist/types/components/QueryPanel/AddMenu/AddMenu.d.ts +6 -0
  36. package/dist/types/components/QueryPanel/AddMenu/AddOrderBy.d.ts +6 -0
  37. package/dist/types/components/QueryPanel/AddMenu/AddView.d.ts +7 -0
  38. package/dist/types/components/QueryPanel/AddMenu/AddWhere.d.ts +6 -0
  39. package/dist/types/components/QueryPanel/AddMenu/FieldList.d.ts +11 -0
  40. package/dist/types/components/QueryPanel/AddMenu/FieldMenu.d.ts +10 -0
  41. package/dist/types/components/QueryPanel/AddMenu/ValueList.d.ts +10 -0
  42. package/dist/types/components/QueryPanel/AddMenu/colors.stylex.d.ts +7 -0
  43. package/dist/types/components/QueryPanel/AddMenu/hooks/useSearch.d.ts +10 -0
  44. package/dist/types/components/QueryPanel/AddMenu/styles.d.ts +34 -0
  45. package/dist/types/components/QueryPanel/FieldHover.d.ts +10 -0
  46. package/dist/types/components/QueryPanel/LiteralValueEditor.d.ts +9 -0
  47. package/dist/types/components/QueryPanel/Operations.d.ts +6 -0
  48. package/dist/types/components/QueryPanel/Parameters.d.ts +8 -0
  49. package/dist/types/components/QueryPanel/Query.d.ts +8 -0
  50. package/dist/types/components/QueryPanel/QueryActionBar.d.ts +11 -0
  51. package/dist/types/components/QueryPanel/QueryEditor.d.ts +15 -0
  52. package/dist/types/components/QueryPanel/QueryPanel.d.ts +10 -0
  53. package/dist/types/components/QueryPanel/Source.d.ts +8 -0
  54. package/dist/types/components/QueryPanel/View.d.ts +6 -0
  55. package/dist/types/components/QueryPanel/ViewDefinition.d.ts +6 -0
  56. package/dist/types/components/QueryPanel/Visualization.d.ts +7 -0
  57. package/dist/types/components/QueryPanel/VisualizationIcon.d.ts +5 -0
  58. package/dist/types/components/QueryPanel/index.d.ts +3 -0
  59. package/dist/types/components/QueryPanel/operations/AggregateOperations.d.ts +7 -0
  60. package/dist/types/components/QueryPanel/operations/ClearButton.d.ts +4 -0
  61. package/dist/types/components/QueryPanel/operations/GroupByOperations.d.ts +7 -0
  62. package/dist/types/components/QueryPanel/operations/LimitOperation.d.ts +7 -0
  63. package/dist/types/components/QueryPanel/operations/NestOperation.d.ts +7 -0
  64. package/dist/types/components/QueryPanel/operations/OperationActionTitle.d.ts +12 -0
  65. package/dist/types/components/QueryPanel/operations/OrderByOperations.d.ts +7 -0
  66. package/dist/types/components/QueryPanel/operations/WhereOperations.d.ts +7 -0
  67. package/dist/types/components/QueryPanel/operations/hover.stylex.d.ts +17 -0
  68. package/dist/types/components/ResultPanel/BookmarkedView.d.ts +7 -0
  69. package/dist/types/components/ResultPanel/EmptyQueryDisplay.d.ts +6 -0
  70. package/dist/types/components/ResultPanel/ResultDisplay.d.ts +6 -0
  71. package/dist/types/components/ResultPanel/ResultPanel.d.ts +14 -0
  72. package/dist/types/components/ResultPanel/SubmittedQuery.d.ts +28 -0
  73. package/dist/types/components/ResultPanel/ViewAttributeTable.d.ts +9 -0
  74. package/dist/types/components/ResultPanel/Visualization.d.ts +5 -0
  75. package/dist/types/components/ResultPanel/index.d.ts +1 -0
  76. package/dist/types/components/SourcePanel/AddFieldDropdownMenu.d.ts +13 -0
  77. package/dist/types/components/SourcePanel/FieldGroupList.d.ts +10 -0
  78. package/dist/types/components/SourcePanel/FieldTokenWithActions.d.ts +7 -0
  79. package/dist/types/components/SourcePanel/NestFieldDropdownMenu.d.ts +12 -0
  80. package/dist/types/components/SourcePanel/OperationDropdownMenuItems.d.ts +10 -0
  81. package/dist/types/components/SourcePanel/SearchResultList.d.ts +8 -0
  82. package/dist/types/components/SourcePanel/SourcePanel.d.ts +7 -0
  83. package/dist/types/components/SourcePanel/field-token.stylex.d.ts +3 -0
  84. package/dist/types/components/SourcePanel/hooks/useNestOperations.d.ts +9 -0
  85. package/dist/types/components/SourcePanel/hooks/useOperations.d.ts +8 -0
  86. package/dist/types/components/SourcePanel/index.d.ts +1 -0
  87. package/dist/types/components/SourcePanel/utils.d.ts +24 -0
  88. package/dist/types/components/TopValuesTable.d.ts +7 -0
  89. package/dist/types/components/filters/BooleanFilterToken.d.ts +11 -0
  90. package/dist/types/components/filters/DateTimeFilterToken.d.ts +12 -0
  91. package/dist/types/components/filters/NumberFilterToken.d.ts +13 -0
  92. package/dist/types/components/filters/PillInput.d.ts +18 -0
  93. package/dist/types/components/filters/StringFilterToken.d.ts +14 -0
  94. package/dist/types/components/filters/index.d.ts +0 -0
  95. package/dist/types/components/hooks/useClickOutside.d.ts +1 -0
  96. package/dist/types/components/primitives/Badge.d.ts +37 -0
  97. package/dist/types/components/primitives/BadgeForField.d.ts +6 -0
  98. package/dist/types/components/primitives/Banner.d.ts +36 -0
  99. package/dist/types/components/primitives/Button.d.ts +92 -0
  100. package/dist/types/components/primitives/Card.d.ts +12 -0
  101. package/dist/types/components/primitives/CodeBlock.d.ts +26 -0
  102. package/dist/types/components/primitives/CollapsibleListItem.d.ts +16 -0
  103. package/dist/types/components/primitives/CollapsiblePanel.d.ts +13 -0
  104. package/dist/types/components/primitives/DOMElement.d.ts +5 -0
  105. package/dist/types/components/primitives/DatePicker.d.ts +9 -0
  106. package/dist/types/components/primitives/Divider.d.ts +24 -0
  107. package/dist/types/components/primitives/DropdownMenu.d.ts +33 -0
  108. package/dist/types/components/primitives/ErrorIcon.d.ts +8 -0
  109. package/dist/types/components/primitives/Icon.d.ts +57 -0
  110. package/dist/types/components/primitives/List.d.ts +9 -0
  111. package/dist/types/components/primitives/ListItem.d.ts +21 -0
  112. package/dist/types/components/primitives/NumberInput.d.ts +10 -0
  113. package/dist/types/components/primitives/Popover.d.ts +19 -0
  114. package/dist/types/components/primitives/ResizeBar.d.ts +7 -0
  115. package/dist/types/components/primitives/ScrollableArea.d.ts +9 -0
  116. package/dist/types/components/primitives/SelectDropdown.d.ts +31 -0
  117. package/dist/types/components/primitives/Spinner.d.ts +22 -0
  118. package/dist/types/components/primitives/TextInput.d.ts +54 -0
  119. package/dist/types/components/primitives/badge.stylex.d.ts +6 -0
  120. package/dist/types/components/primitives/button.stylex.d.ts +6 -0
  121. package/dist/types/components/primitives/colors.stylex.d.ts +39 -0
  122. package/dist/types/components/primitives/dropdown-menu.stylex.d.ts +9 -0
  123. package/dist/types/components/primitives/index.d.ts +22 -0
  124. package/dist/types/components/primitives/scrollable-area.stylex.d.ts +6 -0
  125. package/dist/types/components/primitives/styles.d.ts +74 -0
  126. package/dist/types/components/primitives/syntax_highlighting/malloyGrammar.d.ts +279 -0
  127. package/dist/types/components/primitives/syntax_highlighting/syntaxHighlighter.d.ts +6 -0
  128. package/dist/types/components/primitives/syntax_highlighting/transformers/lineNumberTransformer.d.ts +3 -0
  129. package/dist/types/components/primitives/syntax_highlighting/transformers/lineSpacingTransformer.d.ts +8 -0
  130. package/dist/types/components/primitives/syntax_highlighting/transformers/transformers.d.ts +8 -0
  131. package/dist/types/components/primitives/tokens/EditableToken.d.ts +50 -0
  132. package/dist/types/components/primitives/tokens/SelectorToken.d.ts +18 -0
  133. package/dist/types/components/primitives/tokens/Token.d.ts +49 -0
  134. package/dist/types/components/primitives/tokens/TokenGroup.d.ts +21 -0
  135. package/dist/types/components/primitives/tokens/styles.d.ts +45 -0
  136. package/dist/types/components/primitives/tokens/token.stylex.d.ts +6 -0
  137. package/dist/types/components/primitives/tokens/types.d.ts +5 -0
  138. package/dist/types/components/primitives/utils/icon.d.ts +388 -0
  139. package/dist/types/components/styles.d.ts +66 -0
  140. package/dist/types/components/utils/fields.d.ts +9 -0
  141. package/dist/types/components/utils/icon.d.ts +7 -0
  142. package/dist/types/components/utils/renderer.d.ts +6 -0
  143. package/dist/types/components/utils/segment.d.ts +6 -0
  144. package/dist/types/contexts/ExplorerPanelsContext.d.ts +11 -0
  145. package/dist/types/contexts/QueryEditorContext.d.ts +25 -0
  146. package/dist/types/hooks/useQueryBuilder.d.ts +3 -0
  147. package/dist/types/index.d.ts +8 -0
  148. package/dist/types/types/error.d.ts +8 -0
  149. package/eslint.config.mjs +156 -0
  150. package/index.html +19 -0
  151. package/package.json +109 -0
  152. package/postcss.config.mjs +20 -0
  153. package/scripts/env.d.ts +3 -0
  154. package/scripts/gen_flow.ts +38 -0
  155. package/scripts/malloy-packages.ts +17 -0
  156. package/scripts/tsconfig.json +8 -0
  157. package/tsconfig.json +16 -0
  158. package/vite.config.mts +65 -0
@@ -0,0 +1,388 @@
1
+ export declare const ICON_MAP: {
2
+ readonly chevronDown: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
3
+ title?: string;
4
+ titleId?: string;
5
+ desc?: string;
6
+ descId?: string;
7
+ }>;
8
+ readonly chevronLeft: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
9
+ title?: string;
10
+ titleId?: string;
11
+ desc?: string;
12
+ descId?: string;
13
+ }>;
14
+ readonly chevronRight: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
15
+ title?: string;
16
+ titleId?: string;
17
+ desc?: string;
18
+ descId?: string;
19
+ }>;
20
+ readonly clear: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
21
+ title?: string;
22
+ titleId?: string;
23
+ desc?: string;
24
+ descId?: string;
25
+ }>;
26
+ readonly meatballs: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
27
+ title?: string;
28
+ titleId?: string;
29
+ desc?: string;
30
+ descId?: string;
31
+ }>;
32
+ readonly play: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
33
+ title?: string;
34
+ titleId?: string;
35
+ desc?: string;
36
+ descId?: string;
37
+ }>;
38
+ readonly copy: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
39
+ title?: string;
40
+ titleId?: string;
41
+ desc?: string;
42
+ descId?: string;
43
+ }>;
44
+ readonly checkmark: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
45
+ title?: string;
46
+ titleId?: string;
47
+ desc?: string;
48
+ descId?: string;
49
+ }>;
50
+ readonly radioChecked: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
51
+ title?: string;
52
+ titleId?: string;
53
+ desc?: string;
54
+ descId?: string;
55
+ }>;
56
+ readonly radioUnchecked: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
57
+ title?: string;
58
+ titleId?: string;
59
+ desc?: string;
60
+ descId?: string;
61
+ }>;
62
+ readonly warning: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
63
+ title?: string;
64
+ titleId?: string;
65
+ desc?: string;
66
+ descId?: string;
67
+ }>;
68
+ readonly check_circle: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
69
+ title?: string;
70
+ titleId?: string;
71
+ desc?: string;
72
+ descId?: string;
73
+ }>;
74
+ readonly info: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
75
+ title?: string;
76
+ titleId?: string;
77
+ desc?: string;
78
+ descId?: string;
79
+ }>;
80
+ readonly error: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
81
+ title?: string;
82
+ titleId?: string;
83
+ desc?: string;
84
+ descId?: string;
85
+ }>;
86
+ readonly aggregate: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
87
+ title?: string;
88
+ titleId?: string;
89
+ desc?: string;
90
+ descId?: string;
91
+ }>;
92
+ readonly dimension: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
93
+ title?: string;
94
+ titleId?: string;
95
+ desc?: string;
96
+ descId?: string;
97
+ }>;
98
+ readonly filter: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
99
+ title?: string;
100
+ titleId?: string;
101
+ desc?: string;
102
+ descId?: string;
103
+ }>;
104
+ readonly groupBy: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
105
+ title?: string;
106
+ titleId?: string;
107
+ desc?: string;
108
+ descId?: string;
109
+ }>;
110
+ readonly insert: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
111
+ title?: string;
112
+ titleId?: string;
113
+ desc?: string;
114
+ descId?: string;
115
+ }>;
116
+ readonly limit: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
117
+ title?: string;
118
+ titleId?: string;
119
+ desc?: string;
120
+ descId?: string;
121
+ }>;
122
+ readonly orderBy: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
123
+ title?: string;
124
+ titleId?: string;
125
+ desc?: string;
126
+ descId?: string;
127
+ }>;
128
+ readonly measure: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
129
+ title?: string;
130
+ titleId?: string;
131
+ desc?: string;
132
+ descId?: string;
133
+ }>;
134
+ readonly nest: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
135
+ title?: string;
136
+ titleId?: string;
137
+ desc?: string;
138
+ descId?: string;
139
+ }>;
140
+ readonly array: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
141
+ title?: string;
142
+ titleId?: string;
143
+ desc?: string;
144
+ descId?: string;
145
+ }>;
146
+ readonly boolean: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
147
+ title?: string;
148
+ titleId?: string;
149
+ desc?: string;
150
+ descId?: string;
151
+ }>;
152
+ readonly database: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
153
+ title?: string;
154
+ titleId?: string;
155
+ desc?: string;
156
+ descId?: string;
157
+ }>;
158
+ readonly date: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
159
+ title?: string;
160
+ titleId?: string;
161
+ desc?: string;
162
+ descId?: string;
163
+ }>;
164
+ readonly json: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
165
+ title?: string;
166
+ titleId?: string;
167
+ desc?: string;
168
+ descId?: string;
169
+ }>;
170
+ readonly number: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
171
+ title?: string;
172
+ titleId?: string;
173
+ desc?: string;
174
+ descId?: string;
175
+ }>;
176
+ readonly query: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
177
+ title?: string;
178
+ titleId?: string;
179
+ desc?: string;
180
+ descId?: string;
181
+ }>;
182
+ readonly search: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
183
+ title?: string;
184
+ titleId?: string;
185
+ desc?: string;
186
+ descId?: string;
187
+ }>;
188
+ readonly sql_native: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
189
+ title?: string;
190
+ titleId?: string;
191
+ desc?: string;
192
+ descId?: string;
193
+ }>;
194
+ readonly string: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
195
+ title?: string;
196
+ titleId?: string;
197
+ desc?: string;
198
+ descId?: string;
199
+ }>;
200
+ readonly view: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
201
+ title?: string;
202
+ titleId?: string;
203
+ desc?: string;
204
+ descId?: string;
205
+ }>;
206
+ readonly view_filled: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
207
+ title?: string;
208
+ titleId?: string;
209
+ desc?: string;
210
+ descId?: string;
211
+ }>;
212
+ readonly many_to_one: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
213
+ title?: string;
214
+ titleId?: string;
215
+ desc?: string;
216
+ descId?: string;
217
+ }>;
218
+ readonly one_to_many: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
219
+ title?: string;
220
+ titleId?: string;
221
+ desc?: string;
222
+ descId?: string;
223
+ }>;
224
+ readonly one_to_one: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
225
+ title?: string;
226
+ titleId?: string;
227
+ desc?: string;
228
+ descId?: string;
229
+ }>;
230
+ readonly viz_bar_chart: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
231
+ title?: string;
232
+ titleId?: string;
233
+ desc?: string;
234
+ descId?: string;
235
+ }>;
236
+ readonly viz_boolean: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
237
+ title?: string;
238
+ titleId?: string;
239
+ desc?: string;
240
+ descId?: string;
241
+ }>;
242
+ readonly viz_bytes: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
243
+ title?: string;
244
+ titleId?: string;
245
+ desc?: string;
246
+ descId?: string;
247
+ }>;
248
+ readonly viz_cartesian_chart: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
249
+ title?: string;
250
+ titleId?: string;
251
+ desc?: string;
252
+ descId?: string;
253
+ }>;
254
+ readonly viz_column_chart: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
255
+ title?: string;
256
+ titleId?: string;
257
+ desc?: string;
258
+ descId?: string;
259
+ }>;
260
+ readonly viz_currency: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
261
+ title?: string;
262
+ titleId?: string;
263
+ desc?: string;
264
+ descId?: string;
265
+ }>;
266
+ readonly viz_dashboard: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
267
+ title?: string;
268
+ titleId?: string;
269
+ desc?: string;
270
+ descId?: string;
271
+ }>;
272
+ readonly viz_image: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
273
+ title?: string;
274
+ titleId?: string;
275
+ desc?: string;
276
+ descId?: string;
277
+ }>;
278
+ readonly viz_json: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
279
+ title?: string;
280
+ titleId?: string;
281
+ desc?: string;
282
+ descId?: string;
283
+ }>;
284
+ readonly viz_line_chart: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
285
+ title?: string;
286
+ titleId?: string;
287
+ desc?: string;
288
+ descId?: string;
289
+ }>;
290
+ readonly viz_link: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
291
+ title?: string;
292
+ titleId?: string;
293
+ desc?: string;
294
+ descId?: string;
295
+ }>;
296
+ readonly viz_list: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
297
+ title?: string;
298
+ titleId?: string;
299
+ desc?: string;
300
+ descId?: string;
301
+ }>;
302
+ readonly viz_list_detail: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
303
+ title?: string;
304
+ titleId?: string;
305
+ desc?: string;
306
+ descId?: string;
307
+ }>;
308
+ readonly viz_point_map: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
309
+ title?: string;
310
+ titleId?: string;
311
+ desc?: string;
312
+ descId?: string;
313
+ }>;
314
+ readonly viz_segment_map: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
315
+ title?: string;
316
+ titleId?: string;
317
+ desc?: string;
318
+ descId?: string;
319
+ }>;
320
+ readonly viz_shape_map: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
321
+ title?: string;
322
+ titleId?: string;
323
+ desc?: string;
324
+ descId?: string;
325
+ }>;
326
+ readonly viz_number: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
327
+ title?: string;
328
+ titleId?: string;
329
+ desc?: string;
330
+ descId?: string;
331
+ }>;
332
+ readonly viz_percent: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
333
+ title?: string;
334
+ titleId?: string;
335
+ desc?: string;
336
+ descId?: string;
337
+ }>;
338
+ readonly viz_scatter_chart: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
339
+ title?: string;
340
+ titleId?: string;
341
+ desc?: string;
342
+ descId?: string;
343
+ }>;
344
+ readonly viz_single_value: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
345
+ title?: string;
346
+ titleId?: string;
347
+ desc?: string;
348
+ descId?: string;
349
+ }>;
350
+ readonly viz_sparkline: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
351
+ title?: string;
352
+ titleId?: string;
353
+ desc?: string;
354
+ descId?: string;
355
+ }>;
356
+ readonly viz_table: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
357
+ title?: string;
358
+ titleId?: string;
359
+ desc?: string;
360
+ descId?: string;
361
+ }>;
362
+ readonly viz_text: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
363
+ title?: string;
364
+ titleId?: string;
365
+ desc?: string;
366
+ descId?: string;
367
+ }>;
368
+ readonly viz_time: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
369
+ title?: string;
370
+ titleId?: string;
371
+ desc?: string;
372
+ descId?: string;
373
+ }>;
374
+ readonly viz_url: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
375
+ title?: string;
376
+ titleId?: string;
377
+ desc?: string;
378
+ descId?: string;
379
+ }>;
380
+ readonly viz_vega: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement> & {
381
+ title?: string;
382
+ titleId?: string;
383
+ desc?: string;
384
+ descId?: string;
385
+ }>;
386
+ };
387
+ export type IconType = keyof typeof ICON_MAP;
388
+ export declare const SMALL_ICONS: IconType[];
@@ -0,0 +1,66 @@
1
+ export declare const styles: Readonly<{
2
+ readonly icon: Readonly<{
3
+ readonly width: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"width", 18>;
4
+ readonly height: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"height", 18>;
5
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "inline-block">;
6
+ }>;
7
+ readonly menuIcon: Readonly<{
8
+ readonly width: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"width", 24>;
9
+ readonly height: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"height", 24>;
10
+ }>;
11
+ readonly labelWithIcon: Readonly<{
12
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
13
+ readonly alignItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
14
+ readonly whiteSpace: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"whiteSpace", "nowrap">;
15
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
16
+ }>;
17
+ readonly label: Readonly<{}>;
18
+ readonly heading: Readonly<{
19
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
20
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
21
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", 5>;
22
+ }>;
23
+ readonly queryCard: Readonly<{
24
+ readonly border: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"border", "1px solid #CCD3DB">;
25
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 5>;
26
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", 8>;
27
+ }>;
28
+ readonly queryHeader: Readonly<{
29
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "space-between">;
30
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
31
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "row">;
32
+ readonly width: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"width", "100%">;
33
+ }>;
34
+ readonly queryFooter: Readonly<{
35
+ readonly justifyContent: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"justifyContent", "left">;
36
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
37
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "row">;
38
+ readonly width: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"width", "calc(100% - 40)">;
39
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", 12>;
40
+ }>;
41
+ readonly title: Readonly<{
42
+ readonly whiteSpace: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"whiteSpace", "nowrap">;
43
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", "5px 0">;
44
+ }>;
45
+ readonly tokenContainer: Readonly<{
46
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
47
+ readonly flexDirection: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
48
+ readonly alignItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"alignItems", "start">;
49
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
50
+ }>;
51
+ readonly token: Readonly<{
52
+ readonly backgroundColor: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"backgroundColor", "#E6EBEF">;
53
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 5>;
54
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", "2px 12px 2px 6px">;
55
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
56
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
57
+ readonly alignItems: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
58
+ }>;
59
+ readonly tooltip: Readonly<{
60
+ readonly backgroundColor: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"backgroundColor", "#E6EBEF">;
61
+ readonly borderRadius: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"borderRadius", 5>;
62
+ readonly padding: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"padding", "2px 12px 2px 6px">;
63
+ readonly display: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"display", "flex">;
64
+ readonly gap: import("@stylexjs/stylex/lib/StyleXTypes").StyleXClassNameFor<"gap", 8>;
65
+ }>;
66
+ }>;
@@ -0,0 +1,9 @@
1
+ import * as Malloy from '@malloydata/malloy-interfaces';
2
+ /**
3
+ *
4
+ * @param field
5
+ * @returns
6
+ */
7
+ export declare function sortFieldInfoOrder(field: Malloy.FieldInfo): 0 | 1 | 2 | 3;
8
+ export declare function sortFieldInfos(fields: Malloy.FieldInfo[]): Malloy.FieldInfo[];
9
+ export declare function isIndexView(field: Malloy.FieldInfoWithView): boolean;
@@ -0,0 +1,7 @@
1
+ import * as Malloy from '@malloydata/malloy-interfaces';
2
+ import { AtomicTypeType } from '@malloydata/malloy-interfaces';
3
+ import { IconType } from '../primitives';
4
+ export declare function atomicTypeToIcon(type: AtomicTypeType): IconType;
5
+ export declare function fieldKindToColor(kind: 'dimension' | 'measure' | 'join' | 'view'): "purple" | "green" | "cyan" | undefined;
6
+ export declare function fieldToIcon(field: Malloy.FieldInfo): IconType;
7
+ export declare function relationshipToIcon(relationship: Malloy.Relationship): IconType;
@@ -0,0 +1,6 @@
1
+ import { Tag } from '@malloydata/malloy-tag';
2
+ export declare const QUERY_RENDERERS: RendererName[];
3
+ export declare const ATOMIC_RENDERERS: RendererName[];
4
+ 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';
6
+ export declare function tagToRenderer(tag: Tag | undefined): RendererName | null;
@@ -0,0 +1,6 @@
1
+ import * as Malloy from '@malloydata/malloy-interfaces';
2
+ import { ASTQuery, ASTSegmentViewDefinition } from '@malloydata/malloy-query-builder';
3
+ export declare function segmentHasLimit(segment: ASTSegmentViewDefinition): boolean;
4
+ export declare function segmentHasOrderBy(segment: ASTSegmentViewDefinition, name: string): boolean;
5
+ export declare function segmentNestNo(segment: ASTSegmentViewDefinition, name?: string): number;
6
+ export declare function addGroupBy(rootQuery: ASTQuery, segment: ASTSegmentViewDefinition, field: Malloy.FieldInfo, path: string[], setQuery?: (query: Malloy.Query) => void): void;
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export interface ExplorerPanelsContextProps {
3
+ /** Manages the state of the source panel UI. */
4
+ isSourcePanelOpen: boolean;
5
+ setIsSourcePanelOpen?: (isOpen: boolean) => void;
6
+ }
7
+ /**
8
+ * QueryEditorContext contains state that is shared across the different
9
+ * panels of the Malloy Explorer.
10
+ */
11
+ export declare const ExplorerPanelsContext: React.Context<ExplorerPanelsContextProps>;
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import * as Malloy from '@malloydata/malloy-interfaces';
3
+ import { ASTQuery } from '@malloydata/malloy-query-builder';
4
+ export interface SearchValueMapResult {
5
+ fieldName: string;
6
+ cardinality: number;
7
+ values: {
8
+ fieldValue: string | null;
9
+ weight: number;
10
+ }[];
11
+ }
12
+ export interface QueryEditorContextProps {
13
+ /** Source object at the root level */
14
+ source?: Malloy.SourceInfo;
15
+ /** Query object to represent current state at the root level */
16
+ rootQuery?: ASTQuery;
17
+ /** Provide to allow editing of the query */
18
+ setQuery?: (rootQuery: Malloy.Query | undefined) => void;
19
+ topValues?: SearchValueMapResult[];
20
+ }
21
+ /**
22
+ * QueryEditorContext enables query editing by providing the setQuery
23
+ * callback.
24
+ */
25
+ export declare const QueryEditorContext: React.Context<QueryEditorContextProps>;
@@ -0,0 +1,3 @@
1
+ import * as QB from '@malloydata/malloy-query-builder';
2
+ import * as Malloy from '@malloydata/malloy-interfaces';
3
+ export declare function useQueryBuilder(source?: Malloy.SourceInfo, query?: Malloy.Query): QB.ASTQuery | undefined;
@@ -0,0 +1,8 @@
1
+ import './stylex.css';
2
+ export { MalloyExplorerProvider } from './components/MalloyExplorerProvider';
3
+ export { QueryActionBar, QueryEditor, QueryPanel } from './components/QueryPanel';
4
+ export { ResultPanel } from './components/ResultPanel';
5
+ export type { EXECUTION_STATES, QueryExecutionState, QueryResponse, RunStats, SubmittedQuery, } from './components/ResultPanel/SubmittedQuery';
6
+ export { SourcePanel } from './components/SourcePanel';
7
+ export { ResizeBar } from './components/primitives';
8
+ export { ExplorerPanelsContext } from './contexts/ExplorerPanelsContext';
@@ -0,0 +1,8 @@
1
+ export type SeverityLevel = 'INFO' | 'DEBUG' | 'WARN' | 'ERROR' | 'FATAL';
2
+ export type ExplorerError = {
3
+ severity: SeverityLevel;
4
+ title: string;
5
+ description?: string;
6
+ content?: string;
7
+ customRenderer?: React.ReactNode;
8
+ };