@marimo-team/frontend 0.14.18-dev29 → 0.14.18-dev30

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 (121) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-ByyTMxAe.js → ConnectedDataExplorerComponent-oOiI8-Is.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-BEvMtMGK.js → ImageComparisonComponent-CrBtZ5gk.js} +1 -1
  3. package/dist/assets/{VegaLite-B6ZXw089.js → VegaLite-BruLY7Yo.js} +1 -1
  4. package/dist/assets/{_baseEach-BM02cWfw.js → _baseEach-Dtl0u6a9.js} +1 -1
  5. package/dist/assets/_baseMap-BbSMx7sO.js +1 -0
  6. package/dist/assets/{_baseUniq-B3VNhTaG.js → _baseUniq-oH3tH_Lx.js} +1 -1
  7. package/dist/assets/{_createAggregator-CBRdQRkQ.js → _createAggregator-DVbCk7I8.js} +1 -1
  8. package/dist/assets/{any-language-editor-EOMlEVeL.js → any-language-editor-DNTe-hGh.js} +1 -1
  9. package/dist/assets/{architectureDiagram-SUXI7LT5-Bz_etWhT.js → architectureDiagram-SUXI7LT5-BNE5Ocu0.js} +1 -1
  10. package/dist/assets/{blockDiagram-6J76NXCF-C3NjjGV1.js → blockDiagram-6J76NXCF-BkAnLDAP.js} +1 -1
  11. package/dist/assets/{c4Diagram-6F6E4RAY-Cfcu16fD.js → c4Diagram-6F6E4RAY-CMvcINsX.js} +1 -1
  12. package/dist/assets/channel-AZKaNSLi.js +1 -0
  13. package/dist/assets/{chunk-353BL4L5-D_x_But5.js → chunk-353BL4L5-DZ6k9BBV.js} +1 -1
  14. package/dist/assets/{chunk-67H74DCK-B78ctzkW.js → chunk-67H74DCK-Btl2ATCi.js} +1 -1
  15. package/dist/assets/{chunk-AACKK3MU-C_X3yBIA.js → chunk-AACKK3MU-Di82a8tq.js} +1 -1
  16. package/dist/assets/{chunk-BFAMUDN2-CmT_5Wnf.js → chunk-BFAMUDN2-C6ACh81N.js} +1 -1
  17. package/dist/assets/{chunk-E2GYISFI-TLOBmOmy.js → chunk-E2GYISFI-BGhna3Tu.js} +1 -1
  18. package/dist/assets/{chunk-OW32GOEJ-C1x0Lb_3.js → chunk-OW32GOEJ-BvQbpZtP.js} +6 -6
  19. package/dist/assets/{chunk-SKB7J2MH-t9L60ESv.js → chunk-SKB7J2MH-B5xc8b3Z.js} +1 -1
  20. package/dist/assets/{chunk-SZ463SBG-OsFZC8Fm.js → chunk-SZ463SBG-DqkT0n2R.js} +1 -1
  21. package/dist/assets/{circle-play-Coa1pbLo.js → circle-play-DPIHEaaR.js} +1 -1
  22. package/dist/assets/classDiagram-M3E45YP4-B7yw2nKS.js +1 -0
  23. package/dist/assets/classDiagram-v2-YAWTLIQI-B7yw2nKS.js +1 -0
  24. package/dist/assets/clone-4KJc73U3.js +1 -0
  25. package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
  26. package/dist/assets/{compile-kBFbLKtC.js → compile-DiFbtiAE.js} +1 -1
  27. package/dist/assets/{dagre-JOIXM2OF-KIVae2Ja.js → dagre-JOIXM2OF-1P_Dgkjl.js} +1 -1
  28. package/dist/assets/{data-grid-overlay-editor-ClaYc6AL.js → data-grid-overlay-editor-Dghfz964.js} +1 -1
  29. package/dist/assets/{diagram-5UYTHUR4-CAegkM8o.js → diagram-5UYTHUR4-56oBr9Mj.js} +1 -1
  30. package/dist/assets/{diagram-VMROVX33-COZimksW.js → diagram-VMROVX33-Bg7PYU8p.js} +1 -1
  31. package/dist/assets/{diagram-ZTM2IBQH-RPzV6IQt.js → diagram-ZTM2IBQH-CPzEgjbH.js} +1 -1
  32. package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
  33. package/dist/assets/{edit-page-Bj7J0vUV.js → edit-page-DCrlym3M.js} +4 -4
  34. package/dist/assets/{erDiagram-3M52JZNH-DyyQZo2F.js → erDiagram-3M52JZNH-T300kYM8.js} +1 -1
  35. package/dist/assets/{flowDiagram-KYDEHFYC-BY45MXHx.js → flowDiagram-KYDEHFYC-BYZfYSI2.js} +1 -1
  36. package/dist/assets/{ganttDiagram-EK5VF46D-D0SJ9Vb8.js → ganttDiagram-EK5VF46D-BEDi_5bs.js} +1 -1
  37. package/dist/assets/{gitGraphDiagram-GW3U2K7C-DQIrG7Ne.js → gitGraphDiagram-GW3U2K7C-Cu1vg-Ae.js} +1 -1
  38. package/dist/assets/{glide-data-editor-CvbrMET8.js → glide-data-editor-lK9K3ps-.js} +4 -4
  39. package/dist/assets/{graph-BvDRm3kJ.js → graph-CDj368Ef.js} +1 -1
  40. package/dist/assets/{home-page-StH-FqwP.js → home-page-Bke3YQtW.js} +2 -2
  41. package/dist/assets/{index-FjwIsM4E.js → index-BIamDpT3.js} +1 -1
  42. package/dist/assets/{index-BxpEkFHY.js → index-BdPIybcd.js} +1 -1
  43. package/dist/assets/{index-BMlE8K6G.js → index-BfMKs8fK.js} +188 -179
  44. package/dist/assets/{index-DeBpKt6z.js → index-BgN5JveD.js} +1 -1
  45. package/dist/assets/{index-D6ttr-M5.js → index-BlIpJJ1s.js} +1 -1
  46. package/dist/assets/{index-B2AnidM8.js → index-C1sif23O.js} +1 -1
  47. package/dist/assets/{index-Dl0aViKc.js → index-C5zHu97c.js} +1 -1
  48. package/dist/assets/{index-C1Ev5kmm.js → index-CHUAhpF9.js} +1 -1
  49. package/dist/assets/{index-nhAJG0Zq.js → index-CHvSTvku.js} +1 -1
  50. package/dist/assets/{index-BklcjKLc.js → index-CV-cT8XZ.js} +1 -1
  51. package/dist/assets/{index-DqW_iv-8.js → index-CVJgiMKT.js} +1 -1
  52. package/dist/assets/index-Cd8lKjXa.js +68 -0
  53. package/dist/assets/{index-DcCjqlwv.js → index-D2wUEqSr.js} +1 -1
  54. package/dist/assets/{index-BSAd1_jA.js → index-DQeLlRNN.js} +1 -1
  55. package/dist/assets/{index-D9fGE-pM.js → index-DdE5sj7B.js} +1 -1
  56. package/dist/assets/{index-DWx68F4W.js → index-DpaljNVK.js} +1 -1
  57. package/dist/assets/{index-BqgXsw2X.js → index-DskNGo48.js} +1 -1
  58. package/dist/assets/{index-v9Rqt1AL.js → index-PXSGnTt_.js} +1 -1
  59. package/dist/assets/{index-QQV-w55W.js → index-UakLQEhR.js} +1 -1
  60. package/dist/assets/{index-DXQK0dbr.js → index-uLE7UQoA.js} +1 -1
  61. package/dist/assets/infoDiagram-LHK5PUON-DvKYogid.js +2 -0
  62. package/dist/assets/{journeyDiagram-EWQZEKCU-Cv34gpl9.js → journeyDiagram-EWQZEKCU-qFhtMoPK.js} +1 -1
  63. package/dist/assets/{kanban-definition-ZSS6B67P-FTq3yb2c.js → kanban-definition-ZSS6B67P-d4c_bpNj.js} +1 -1
  64. package/dist/assets/{layout-DGo16j-R.js → layout-B1YrGZ5o.js} +1 -1
  65. package/dist/assets/{linear-0J3_DIzy.js → linear-Ce9Ln0y7.js} +1 -1
  66. package/dist/assets/{links-h2K0p6lB.js → links--FJRrKkU.js} +12 -12
  67. package/dist/assets/{mermaid-BfTGIKjH.js → mermaid-TIsLiY_c.js} +26 -26
  68. package/dist/assets/min-pEaRzhJa.js +1 -0
  69. package/dist/assets/{mindmap-definition-6CBA2TL7-BFWeE5l4.js → mindmap-definition-6CBA2TL7-NzRV0KhB.js} +1 -1
  70. package/dist/assets/{number-overlay-editor-nJ_uE4OC.js → number-overlay-editor-wIfVoa2g.js} +2 -2
  71. package/dist/assets/{pieDiagram-NIOCPIFQ-CIPNZnyq.js → pieDiagram-NIOCPIFQ-DLjq0P3e.js} +3 -3
  72. package/dist/assets/{quadrantDiagram-2OG54O6I-DFTpGGxg.js → quadrantDiagram-2OG54O6I-9Oz1n3p6.js} +1 -1
  73. package/dist/assets/{react-plotly-BHmRdjjS.js → react-plotly-CpyIgXbT.js} +1 -1
  74. package/dist/assets/{requirementDiagram-QOLK2EJ7-bhqWzDfk.js → requirementDiagram-QOLK2EJ7-efmOhh-Y.js} +1 -1
  75. package/dist/assets/{run-page-C08qMCRH.js → run-page-CigF14nw.js} +1 -1
  76. package/dist/assets/{sankeyDiagram-4UZDY2LN-CaS2yE0B.js → sankeyDiagram-4UZDY2LN-C8d1HP5D.js} +1 -1
  77. package/dist/assets/{sequenceDiagram-SKLFT4DO-B7DEVd4j.js → sequenceDiagram-SKLFT4DO-YYvQS_Ez.js} +1 -1
  78. package/dist/assets/{slides-component-CT3uDvEm.js → slides-component-DaIiszro.js} +1 -1
  79. package/dist/assets/sortBy-DPhCeare.js +1 -0
  80. package/dist/assets/{stateDiagram-MI5ZYTHO-DcIY6HTB.js → stateDiagram-MI5ZYTHO-BUsXwOkv.js} +1 -1
  81. package/dist/assets/stateDiagram-v2-5AN5P6BG-C0_3uVRU.js +1 -0
  82. package/dist/assets/{storage-Ciru-sFj.js → storage-DVfCYCuA.js} +5 -5
  83. package/dist/assets/{terminal-Pn5QVsJZ.js → terminal-WkSrTXmZ.js} +1 -1
  84. package/dist/assets/time-CMDJBHm4.js +1 -0
  85. package/dist/assets/{timeline-definition-MYPXXCX6-Cd626Lgg.js → timeline-definition-MYPXXCX6-D6F16eAY.js} +1 -1
  86. package/dist/assets/{tracing-B1pgg2Ra.js → tracing-Bs9fWQQg.js} +2 -2
  87. package/dist/assets/{trash-CKCjDfOY.js → trash-BotaB4h_.js} +1 -1
  88. package/dist/assets/{treemap-75Q7IDZK-D6IH2czJ.js → treemap-75Q7IDZK-ReN7RgbK.js} +1 -1
  89. package/dist/assets/{vega-component-BbGjjrAW.js → vega-component-LxHHxxVY.js} +1 -1
  90. package/dist/assets/{xychartDiagram-H2YORKM3-Dk39Tmbz.js → xychartDiagram-H2YORKM3-BBA6XWcv.js} +1 -1
  91. package/dist/index.html +1 -1
  92. package/package.json +3 -2
  93. package/src/components/app-config/user-config-form.tsx +25 -0
  94. package/src/components/chat/markdown-renderer.tsx +1 -1
  95. package/src/components/editor/ai/add-cell-with-ai.tsx +1 -1
  96. package/src/components/editor/cell/CreateCellButton.tsx +1 -1
  97. package/src/components/editor/cell/code/language-toggle.tsx +1 -1
  98. package/src/components/editor/renderers/CellArray.tsx +1 -1
  99. package/src/core/codemirror/language/LanguageAdapters.ts +1 -1
  100. package/src/core/codemirror/language/__tests__/sql.test.ts +5 -5
  101. package/src/core/codemirror/language/extension.ts +1 -1
  102. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +99 -0
  103. package/src/core/codemirror/language/languages/sql/completion-store.ts +191 -0
  104. package/src/core/codemirror/language/languages/{sql.ts → sql/sql.ts} +124 -248
  105. package/src/core/codemirror/language/languages/sql/utils.ts +42 -0
  106. package/src/core/codemirror/language/panel/panel.tsx +1 -1
  107. package/src/core/config/feature-flag.tsx +2 -0
  108. package/src/theme/useTheme.ts +1 -1
  109. package/dist/assets/_baseMap-CrbS00BX.js +0 -1
  110. package/dist/assets/channel-U5X5dN6K.js +0 -1
  111. package/dist/assets/classDiagram-M3E45YP4-7u91LcR8.js +0 -1
  112. package/dist/assets/classDiagram-v2-YAWTLIQI-7u91LcR8.js +0 -1
  113. package/dist/assets/clone-DltB19IA.js +0 -1
  114. package/dist/assets/infoDiagram-LHK5PUON-BI8vgvHA.js +0 -2
  115. package/dist/assets/min-BN2Aip45.js +0 -1
  116. package/dist/assets/sortBy-_N03fOwk.js +0 -1
  117. package/dist/assets/stateDiagram-v2-5AN5P6BG-BbbtK1gk.js +0 -1
  118. package/dist/assets/time-CzUrup3A.js +0 -1
  119. package/src/core/codemirror/language/languages/sql-dialects/README.md +0 -5
  120. package/src/core/codemirror/language/languages/sql-dialects/duckdb.ts +0 -22
  121. package/src/core/codemirror/language/languages/sql-dialects/spec_duckdb.py +0 -257
@@ -1,257 +0,0 @@
1
- # Copyright 2025 Marimo. All rights reserved.
2
- # /// script
3
- # requires-python = ">=3.12"
4
- # dependencies = [
5
- # "duckdb==1.3.2",
6
- # "marimo",
7
- # "polars==1.31.0",
8
- # "pyarrow==21.0.0",
9
- # "sqlglot==27.4.1",
10
- # ]
11
- # ///
12
-
13
- # Ignores lack of return type for functions
14
- # ruff: noqa: ANN202
15
- # mypy: disable-error-code="no-untyped-def"
16
-
17
- # Ignore SQL Types
18
- # ruff: noqa: F541
19
-
20
- import marimo
21
-
22
- __generated_with = "0.14.13"
23
- app = marimo.App(width="medium")
24
-
25
- with app.setup:
26
- import argparse
27
- from datetime import datetime
28
-
29
- import duckdb
30
- import polars as pl
31
-
32
- import marimo as mo
33
- from marimo import _loggers
34
-
35
- LOGGER = _loggers.marimo_logger()
36
-
37
-
38
- @app.cell
39
- def _():
40
- excluded_keywords = ["__internal", "icu", "has_", "pg_", "allocator"]
41
- return (excluded_keywords,)
42
-
43
-
44
- @app.cell(hide_code=True)
45
- def _(excluded_keywords, form, num_keywords, num_types):
46
- mo.md(
47
- rf"""
48
- ## DuckDB Schema
49
-
50
- #### Number of keywords: **{num_keywords}**
51
-
52
- #### Number of types: **{num_types}**
53
-
54
- To update the duckdb codemirror spec, you can either
55
-
56
- - Run this python script to generate the outputs or
57
- - Submit the form below
58
-
59
- {form}
60
-
61
- ❗ And then update the duckdb spec under `frontend/src/core/codemirror/language/languages/sql-dialects/duckdb.ts`
62
-
63
- *Excluded keywords: {excluded_keywords}
64
-
65
- _{mo.md(f"Ran on DuckDB {duckdb.__version__}").right()}_
66
- _{mo.md(f"Last updated: {datetime.today().date().strftime('%B %d %Y')}").right()}_
67
- """
68
- )
69
- return
70
-
71
-
72
- @app.cell
73
- def _(df, form):
74
- parser = argparse.ArgumentParser(
75
- prog="DuckDB Spec",
76
- description="Runs SQL to save types and keywords for DuckDB dialect in Codemirror",
77
- )
78
-
79
- parser.add_argument("-s", "--savepath", default="temp.json")
80
- args = parser.parse_args()
81
-
82
- if mo.app_meta().mode == "script":
83
- savepath = args.savepath
84
- LOGGER.info(f"Saving JSON file to {savepath}")
85
- write_to_file(df, savepath)
86
- LOGGER.info(f"Saved file to {savepath}")
87
- else:
88
- savepath = form.value
89
- if savepath is not None and savepath.strip() != "":
90
- write_to_file(df, savepath)
91
- mo.output.replace(mo.md(f"## Saved JSON file to {savepath}"))
92
- return
93
-
94
-
95
- @app.cell(hide_code=True)
96
- def _():
97
- _df = mo.sql(
98
- f"""
99
- WITH
100
- duckdb_types_cte AS (
101
- SELECT
102
- ROW_NUMBER() OVER () AS rn,
103
- type_name AS duckdb_types
104
- FROM
105
- (
106
- SELECT DISTINCT
107
- type_name
108
- FROM
109
- duckdb_types()
110
- )
111
- ),
112
- duckdb_settings_cte AS (
113
- SELECT
114
- ROW_NUMBER() OVER () AS rn,
115
- name AS duckdb_settings
116
- FROM
117
- (
118
- SELECT DISTINCT
119
- name
120
- FROM
121
- duckdb_settings()
122
- )
123
- ),
124
- duckdb_functions_cte AS (
125
- SELECT
126
- ROW_NUMBER() OVER () AS rn,
127
- function_name AS duckdb_functions
128
- FROM
129
- (
130
- SELECT DISTINCT
131
- function_name
132
- FROM
133
- duckdb_functions()
134
- )
135
- ),
136
- duckdb_keywords_cte AS (
137
- SELECT
138
- ROW_NUMBER() OVER () AS rn,
139
- keyword_name AS duckdb_keywords
140
- FROM
141
- (
142
- SELECT DISTINCT
143
- keyword_name
144
- FROM
145
- duckdb_keywords()
146
- )
147
- )
148
- SELECT
149
- t.duckdb_types,
150
- s.duckdb_settings,
151
- f.duckdb_functions,
152
- k.duckdb_keywords
153
- FROM
154
- duckdb_types_cte AS t
155
- FULL OUTER JOIN duckdb_settings_cte AS s ON t.rn = s.rn
156
- FULL OUTER JOIN duckdb_functions_cte AS f ON COALESCE(t.rn, s.rn) = f.rn
157
- FULL OUTER JOIN duckdb_keywords_cte AS k ON COALESCE(t.rn, s.rn, f.rn) = k.rn
158
- ORDER BY
159
- COALESCE(t.rn, s.rn, f.rn, k.rn);
160
- """
161
- )
162
- return
163
-
164
-
165
- @app.cell(hide_code=True)
166
- def _(excluded_keywords):
167
- df = mo.sql(
168
- f"""
169
- WITH
170
- stg_keywords AS (
171
- SELECT
172
- 'duckdb_keywords' AS keyword_group,
173
- keyword_name AS keyword
174
- FROM
175
- duckdb_keywords()
176
- UNION ALL
177
- SELECT
178
- 'duckdb_settings' AS keyword_group,
179
- name AS keyword
180
- FROM
181
- duckdb_settings()
182
- UNION ALL
183
- SELECT
184
- 'duckdb_functions' AS keyword_group,
185
- function_name AS keyword
186
- FROM
187
- duckdb_functions()
188
- UNION ALL
189
- SELECT
190
- 'duckdb_types' AS keyword_group,
191
- type_name AS keyword
192
- FROM
193
- duckdb_types()
194
- ),
195
- all_keywords AS (
196
- SELECT
197
- STRING_AGG(DISTINCT keyword, ' ' ORDER BY keyword) AS keywords_str
198
- FROM
199
- stg_keywords
200
- WHERE {filter_keywords_query('keyword', excluded_keywords)}
201
- ),
202
- builtin_keywords AS (
203
- SELECT
204
- STRING_AGG(DISTINCT keyword, ' ' ORDER BY keyword) AS builtin_str
205
- FROM
206
- stg_keywords
207
- WHERE
208
- keyword_group IN ('duckdb_keywords', 'duckdb_settings')
209
- ),
210
- duckdb_types_str AS (
211
- SELECT
212
- STRING_AGG(DISTINCT type_name, ' ' ORDER BY type_name) AS types_str
213
- FROM
214
- duckdb_types()
215
- )
216
- SELECT
217
- version() as duckdb_version,
218
- today() as last_updated,
219
- ak.keywords_str AS keywords,
220
- bk.builtin_str AS builtin,
221
- dts.types_str AS types
222
- FROM
223
- all_keywords AS ak,
224
- builtin_keywords AS bk,
225
- duckdb_types_str AS dts;
226
- """
227
- )
228
- return (df,)
229
-
230
-
231
- @app.cell
232
- def _(df):
233
- num_keywords = len(df["keywords"][0].split(" "))
234
- num_types = len(df["types"][0].split(" "))
235
-
236
- form = mo.ui.text(placeholder="temp.json", label="Savepath").form(
237
- submit_button_label="Save"
238
- )
239
- return form, num_keywords, num_types
240
-
241
-
242
- @app.function
243
- def filter_keywords_query(column: str, excluded_keywords: list[str]) -> str:
244
- like_conditions = [
245
- f"{column} NOT LIKE '{kw}%'" for kw in excluded_keywords
246
- ]
247
- where_clause = " AND ".join(like_conditions)
248
- return where_clause
249
-
250
-
251
- @app.function
252
- def write_to_file(df: pl.DataFrame, filepath: str) -> None:
253
- df.select(pl.exclude("builtin")).write_json(filepath)
254
-
255
-
256
- if __name__ == "__main__":
257
- app.run()