@marimo-team/frontend 0.20.5-dev70 → 0.20.5-dev75
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/assets/{CellStatus-CUcw73X7.js → CellStatus-D0IfrfUM.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-DBu7UIu_.js → ConnectedDataExplorerComponent-DrjF-Wem.js} +1 -1
- package/dist/assets/{JsonOutput-BzXkaUJB.js → JsonOutput-BRjuq1Jw.js} +5 -5
- package/dist/assets/{MarimoErrorOutput-D8ONRYMT.js → MarimoErrorOutput-CimwFZPP.js} +1 -1
- package/dist/assets/{RenderHTML-uWewv3IU.js → RenderHTML-B0MiHkXS.js} +1 -1
- package/dist/assets/{add-cell-with-ai-c0y2WMWV.js → add-cell-with-ai-U_En-o_I.js} +1 -1
- package/dist/assets/{add-connection-dialog-DVxfAULb.js → add-connection-dialog-CIHDuGfD.js} +2 -2
- package/dist/assets/{agent-panel-C7PZOXvl.js → agent-panel-CvQx48V8.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DJn8Mf6B.js → ai-model-dropdown-CZMwYbbD.js} +1 -1
- package/dist/assets/{app-config-button-Cp88IzKz.js → app-config-button-CaZJfEaI.js} +1 -1
- package/dist/assets/{azure-a3T26UGw.js → azure-Dy9N467C.js} +1 -1
- package/dist/assets/{cell-editor-D9SPIuuX.js → cell-editor-BN72f4Y9.js} +1 -1
- package/dist/assets/{cell-link-C9qZWgbj.js → cell-link-CL9widoN.js} +1 -1
- package/dist/assets/{cells-5wegzPD4.js → cells-wT6clfi5.js} +42 -42
- package/dist/assets/{chat-display-BXPJxw9m.js → chat-display-D2m36iog.js} +1 -1
- package/dist/assets/{chat-panel-CdExYP6J.js → chat-panel-jtJ2SKmP.js} +1 -1
- package/dist/assets/{column-preview-46vONjMD.js → column-preview-DBQzaLrY.js} +1 -1
- package/dist/assets/{command-B7XhH0hz.js → command-DGKK2-4P.js} +1 -1
- package/dist/assets/{command-palette-CnmuHC-K.js → command-palette-Kjc4rXfu.js} +1 -1
- package/dist/assets/{common-NG61OZ4y.js → common-Msb-h79F.js} +1 -1
- package/dist/assets/{components-BtpAwxaG.js → components-CNlTaOLK.js} +1 -1
- package/dist/assets/{components-CMr3IGTz.js → components-U5Mj1xiO.js} +1 -1
- package/dist/assets/{config-RexwtI0U.js → config-DeEqZTX7.js} +1 -1
- package/dist/assets/{context-aware-panel-DEvHY7XC.js → context-aware-panel-CaZEaV8C.js} +1 -1
- package/dist/assets/{datasource-DVMuGDZ7.js → datasource-DIETDMi4.js} +2 -2
- package/dist/assets/{dependency-graph-panel-gMZuMhru.js → dependency-graph-panel-RAEDBSLL.js} +1 -1
- package/dist/assets/{documentation-panel-D0UZtsI2.js → documentation-panel-B5ZS7rdM.js} +1 -1
- package/dist/assets/{download-B8XlLSji.js → download-RVcmZh1N.js} +1 -1
- package/dist/assets/{edit-page-dgMbnPkJ.js → edit-page-SV9Nzg27.js} +3 -3
- package/dist/assets/{error-panel-CJqTZNKU.js → error-panel-xO_Uo7Vu.js} +1 -1
- package/dist/assets/{file-explorer-panel-CRxTuNmM.js → file-explorer-panel-DiJOGwKe.js} +2 -2
- package/dist/assets/{file-icons-BdaBiPvr.js → file-icons-Br3viuqL.js} +1 -1
- package/dist/assets/{floating-outline-7mI8YyUz.js → floating-outline-jCvD7_Ne.js} +1 -1
- package/dist/assets/{focus-BjrLbkmu.js → focus-q8oYkLV6.js} +1 -1
- package/dist/assets/{form-p9cBnWwo.js → form-BEIQJWib.js} +1 -1
- package/dist/assets/{glide-data-editor-67STO6EX.js → glide-data-editor-UlfiEtnp.js} +1 -1
- package/dist/assets/{globals-Bq7VSYAW.js → globals-Bh7qAnqa.js} +1 -1
- package/dist/assets/{home-page-DrdWxS62.js → home-page-CtTUaWn1.js} +1 -1
- package/dist/assets/{hooks-WmIIm80L.js → hooks-ChoVWWrC.js} +1 -1
- package/dist/assets/{html-to-image-BYwkVvZl.js → html-to-image-DBFAQbWm.js} +1 -1
- package/dist/assets/{index-B6j3GjGF.js → index-mF9nW3EI.js} +23 -23
- package/dist/assets/{kiosk-mode-CsIs_OAo.js → kiosk-mode-DWLXbf9i.js} +1 -1
- package/dist/assets/{layout-CpSNosnt.js → layout-OuSaBBrA.js} +1 -1
- package/dist/assets/{logs-panel-aHQp8RLn.js → logs-panel-Q1OMBsBk.js} +1 -1
- package/dist/assets/{markdown-renderer-D0ROu8n3.js → markdown-renderer-D2_DEfz5.js} +1 -1
- package/dist/assets/{mermaid-DOGJHamc.js → mermaid-ZYKil-Dz.js} +1 -1
- package/dist/assets/{name-cell-input-B8VbrVk2.js → name-cell-input-BhRgpz9L.js} +1 -1
- package/dist/assets/{outline-panel-XDFvKQJ6.js → outline-panel-BXMNkx0G.js} +1 -1
- package/dist/assets/{packages-panel-CmAKyZNU.js → packages-panel-Omrbq4eV.js} +1 -1
- package/dist/assets/{panels-DA0-JEGS.js → panels-Z0QtbAii.js} +1 -1
- package/dist/assets/{process-output-Bh5DCrnq.js → process-output-BXIvuDcK.js} +1 -1
- package/dist/assets/{readonly-python-code-DO_Km04V.js → readonly-python-code-YmScI7wz.js} +1 -1
- package/dist/assets/{renderShortcut-BSq2vc9J.js → renderShortcut-C3rk7kIN.js} +1 -1
- package/dist/assets/{run-page-X6AnZS8x.js → run-page-D5R165Vz.js} +1 -1
- package/dist/assets/{scratchpad-panel-B2b9BdLd.js → scratchpad-panel-3qHOUid8.js} +1 -1
- package/dist/assets/{session-panel-KnTyM1M-.js → session-panel-D2vq8N6n.js} +1 -1
- package/dist/assets/{snippets-panel-D4HBd6EX.js → snippets-panel-BReCSuHT.js} +1 -1
- package/dist/assets/{state-BUstx6s8.js → state-BN6sGgkm.js} +1 -1
- package/dist/assets/{switch-Ba8bf5tJ.js → switch-BHXOZNHf.js} +1 -1
- package/dist/assets/{terminal-BB8AClpr.js → terminal-D3Lu-b1F.js} +1 -1
- package/dist/assets/{tracing-DhfOzlz_.js → tracing-D_eBhjGe.js} +1 -1
- package/dist/assets/{tracing-panel-DdmFA0Sx.js → tracing-panel-adLR9Xcg.js} +2 -2
- package/dist/assets/{useAddCell-CKoCjXpL.js → useAddCell-ErFmQedu.js} +1 -1
- package/dist/assets/{useBoolean-CBdZ7rfO.js → useBoolean-B8gcV_C4.js} +1 -1
- package/dist/assets/{useCellActionButton-DPHJ31aq.js → useCellActionButton-5K5fLTMd.js} +1 -1
- package/dist/assets/{useDeleteCell-BQpjy5Yq.js → useDeleteCell-CmX8_XRr.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-Bg7sjCJm.js → useDependencyPanelTab-CVeDMlz5.js} +1 -1
- package/dist/assets/{useNotebookActions-DvWNs3kA.js → useNotebookActions-CtZiwIc-.js} +1 -1
- package/dist/assets/{useSplitCell-CuWB7Qvd.js → useSplitCell-CZQNZZ7B.js} +1 -1
- package/dist/assets/{useTheme-Bp1J8nG-.js → useTheme-CM9j8dgy.js} +1 -1
- package/dist/assets/utils-BvPM6Bro.js +1 -0
- package/dist/assets/{vega-component-By0fBMxa.js → vega-component-DzBZ6SmR.js} +1 -1
- package/dist/index.html +34 -34
- package/package.json +1 -1
- package/src/components/editor/connections/storage/as-code.ts +1 -1
- package/src/components/storage/storage-inspector.tsx +1 -1
- package/src/core/cells/ids.ts +2 -1
- package/src/core/config/__tests__/config-schema.test.ts +6 -2
- package/src/core/config/config-schema.ts +1 -0
- package/src/core/config/feature-flag.tsx +1 -1
- package/src/core/dom/ui-element-constants.ts +15 -0
- package/src/core/dom/ui-element.ts +3 -2
- package/src/core/islands/components/web-components.tsx +2 -1
- package/src/plugins/impl/DataTablePlugin.tsx +53 -3
- package/src/plugins/impl/FileBrowserPlugin.tsx +4 -1
- package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +4 -1
- package/dist/assets/utils-HIU-NsEv.js +0 -1
package/dist/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
|
|
67
67
|
<!-- /TODO -->
|
|
68
68
|
<title>{{ title }}</title>
|
|
69
|
-
<script type="module" crossorigin src="./assets/index-
|
|
69
|
+
<script type="module" crossorigin src="./assets/index-mF9nW3EI.js"></script>
|
|
70
70
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-BW0IMuFq.js">
|
|
71
71
|
<link rel="modulepreload" crossorigin href="./assets/clsx-BDxNtGmi.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="./assets/cn-BoaCR37F.js">
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
<link rel="modulepreload" crossorigin href="./assets/isArrayLikeObject-Dx6-QZGQ.js">
|
|
95
95
|
<link rel="modulepreload" crossorigin href="./assets/merge-CfcLlFFp.js">
|
|
96
96
|
<link rel="modulepreload" crossorigin href="./assets/zod-H_cgTO0M.js">
|
|
97
|
-
<link rel="modulepreload" crossorigin href="./assets/utils-
|
|
97
|
+
<link rel="modulepreload" crossorigin href="./assets/utils-BvPM6Bro.js">
|
|
98
98
|
<link rel="modulepreload" crossorigin href="./assets/Deferred-BMfCOLaw.js">
|
|
99
99
|
<link rel="modulepreload" crossorigin href="./assets/uuid-ClFZlR7U.js">
|
|
100
100
|
<link rel="modulepreload" crossorigin href="./assets/DeferredRequestRegistry-O6RDJKs0.js">
|
|
101
101
|
<link rel="modulepreload" crossorigin href="./assets/constants-Rz_lD4HK.js">
|
|
102
102
|
<link rel="modulepreload" crossorigin href="./assets/session-CXChHxAw.js">
|
|
103
|
-
<link rel="modulepreload" crossorigin href="./assets/config-
|
|
103
|
+
<link rel="modulepreload" crossorigin href="./assets/config-DeEqZTX7.js">
|
|
104
104
|
<link rel="modulepreload" crossorigin href="./assets/requests-Bgjtqo_1.js">
|
|
105
105
|
<link rel="modulepreload" crossorigin href="./assets/isSymbol-CiGN2w5X.js">
|
|
106
106
|
<link rel="modulepreload" crossorigin href="./assets/toString-lmrYznmk.js">
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<link rel="modulepreload" crossorigin href="./assets/_arrayReduce-BKEr35uH.js">
|
|
111
111
|
<link rel="modulepreload" crossorigin href="./assets/useLifecycle-CWjBWFMI.js">
|
|
112
112
|
<link rel="modulepreload" crossorigin href="./assets/useNonce-BtW-rR_1.js">
|
|
113
|
-
<link rel="modulepreload" crossorigin href="./assets/useTheme-
|
|
113
|
+
<link rel="modulepreload" crossorigin href="./assets/useTheme-CM9j8dgy.js">
|
|
114
114
|
<link rel="modulepreload" crossorigin href="./assets/once-CJOnx12W.js">
|
|
115
115
|
<link rel="modulepreload" crossorigin href="./assets/capabilities-B1-dYWS8.js">
|
|
116
116
|
<link rel="modulepreload" crossorigin href="./assets/createReducer-DgaMD0B6.js">
|
|
@@ -134,12 +134,12 @@
|
|
|
134
134
|
<link rel="modulepreload" crossorigin href="./assets/toInteger-CO3ppIfA.js">
|
|
135
135
|
<link rel="modulepreload" crossorigin href="./assets/database-zap-DTWCDKdn.js">
|
|
136
136
|
<link rel="modulepreload" crossorigin href="./assets/main-DrBRErTM.js">
|
|
137
|
-
<link rel="modulepreload" crossorigin href="./assets/cells-
|
|
137
|
+
<link rel="modulepreload" crossorigin href="./assets/cells-wT6clfi5.js">
|
|
138
138
|
<link rel="modulepreload" crossorigin href="./assets/spinner-C5JoisA7.js">
|
|
139
139
|
<link rel="modulepreload" crossorigin href="./assets/chevron-right-D0GQBpTb.js">
|
|
140
140
|
<link rel="modulepreload" crossorigin href="./assets/dropdown-menu-CJ-Wwa2I.js">
|
|
141
141
|
<link rel="modulepreload" crossorigin href="./assets/kbd-wfpi3NfU.js">
|
|
142
|
-
<link rel="modulepreload" crossorigin href="./assets/renderShortcut-
|
|
142
|
+
<link rel="modulepreload" crossorigin href="./assets/renderShortcut-C3rk7kIN.js">
|
|
143
143
|
<link rel="modulepreload" crossorigin href="./assets/multi-map-x_GQgXMS.js">
|
|
144
144
|
<link rel="modulepreload" crossorigin href="./assets/alert-DkRmN0_B.js">
|
|
145
145
|
<link rel="modulepreload" crossorigin href="./assets/card-zDTDna9R.js">
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<link rel="modulepreload" crossorigin href="./assets/dist-CWEZ0LAs.js">
|
|
149
149
|
<link rel="modulepreload" crossorigin href="./assets/label-BuJDtc39.js">
|
|
150
150
|
<link rel="modulepreload" crossorigin href="./assets/useDebounce-DwTO_rGp.js">
|
|
151
|
-
<link rel="modulepreload" crossorigin href="./assets/azure-
|
|
151
|
+
<link rel="modulepreload" crossorigin href="./assets/azure-Dy9N467C.js">
|
|
152
152
|
<link rel="modulepreload" crossorigin href="./assets/numbers-BWhcwX6S.js">
|
|
153
153
|
<link rel="modulepreload" crossorigin href="./assets/SSRProvider-CwqN9FWV.js">
|
|
154
154
|
<link rel="modulepreload" crossorigin href="./assets/context-CRmPPhx9.js">
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
<link rel="modulepreload" crossorigin href="./assets/input-C5eatTLl.js">
|
|
158
158
|
<link rel="modulepreload" crossorigin href="./assets/links-CoGM-Inf.js">
|
|
159
159
|
<link rel="modulepreload" crossorigin href="./assets/popover-JNsSzROl.js">
|
|
160
|
-
<link rel="modulepreload" crossorigin href="./assets/switch-
|
|
160
|
+
<link rel="modulepreload" crossorigin href="./assets/switch-BHXOZNHf.js">
|
|
161
161
|
<link rel="modulepreload" crossorigin href="./assets/table-CKtrITeZ.js">
|
|
162
162
|
<link rel="modulepreload" crossorigin href="./assets/useAsyncData-a8f2Q_nk.js">
|
|
163
163
|
<link rel="modulepreload" crossorigin href="./assets/errors-0IrrdfSG.js">
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
<link rel="modulepreload" crossorigin href="./assets/refresh-cw-CHAHPgkx.js">
|
|
172
172
|
<link rel="modulepreload" crossorigin href="./assets/trash-2-CAoNMkjq.js">
|
|
173
173
|
<link rel="modulepreload" crossorigin href="./assets/triangle-alert-qZo1ox6x.js">
|
|
174
|
-
<link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-
|
|
174
|
+
<link rel="modulepreload" crossorigin href="./assets/ai-model-dropdown-CZMwYbbD.js">
|
|
175
175
|
<link rel="modulepreload" crossorigin href="./assets/defaultLocale-CuYNS33t.js">
|
|
176
176
|
<link rel="modulepreload" crossorigin href="./assets/precisionRound-CCOoIlcP.js">
|
|
177
177
|
<link rel="modulepreload" crossorigin href="./assets/defaultLocale-CGfP-Ye3.js">
|
|
@@ -180,20 +180,20 @@
|
|
|
180
180
|
<link rel="modulepreload" crossorigin href="./assets/ErrorBoundary-H5EQrcAX.js">
|
|
181
181
|
<link rel="modulepreload" crossorigin href="./assets/useInstallPackage-CO3hLMle.js">
|
|
182
182
|
<link rel="modulepreload" crossorigin href="./assets/ImperativeModal-b5nJtLod.js">
|
|
183
|
-
<link rel="modulepreload" crossorigin href="./assets/cell-link-
|
|
184
|
-
<link rel="modulepreload" crossorigin href="./assets/datasource-
|
|
185
|
-
<link rel="modulepreload" crossorigin href="./assets/state-
|
|
186
|
-
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-
|
|
183
|
+
<link rel="modulepreload" crossorigin href="./assets/cell-link-CL9widoN.js">
|
|
184
|
+
<link rel="modulepreload" crossorigin href="./assets/datasource-DIETDMi4.js">
|
|
185
|
+
<link rel="modulepreload" crossorigin href="./assets/state-BN6sGgkm.js">
|
|
186
|
+
<link rel="modulepreload" crossorigin href="./assets/MarimoErrorOutput-CimwFZPP.js">
|
|
187
187
|
<link rel="modulepreload" crossorigin href="./assets/copy-icon-Cu7az85f.js">
|
|
188
|
-
<link rel="modulepreload" crossorigin href="./assets/html-to-image-
|
|
189
|
-
<link rel="modulepreload" crossorigin href="./assets/focus-
|
|
188
|
+
<link rel="modulepreload" crossorigin href="./assets/html-to-image-DBFAQbWm.js">
|
|
189
|
+
<link rel="modulepreload" crossorigin href="./assets/focus-q8oYkLV6.js">
|
|
190
190
|
<link rel="modulepreload" crossorigin href="./assets/LazyAnyLanguageCodeMirror-CwbmGJrl.js">
|
|
191
191
|
<link rel="modulepreload" crossorigin href="./assets/chunk-5FQGJX7Z-DEi7JZeU.js">
|
|
192
192
|
<link rel="modulepreload" crossorigin href="./assets/katex-0Z75JF53.js">
|
|
193
|
-
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-
|
|
194
|
-
<link rel="modulepreload" crossorigin href="./assets/command-
|
|
195
|
-
<link rel="modulepreload" crossorigin href="./assets/download-
|
|
196
|
-
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-
|
|
193
|
+
<link rel="modulepreload" crossorigin href="./assets/markdown-renderer-D2_DEfz5.js">
|
|
194
|
+
<link rel="modulepreload" crossorigin href="./assets/command-DGKK2-4P.js">
|
|
195
|
+
<link rel="modulepreload" crossorigin href="./assets/download-RVcmZh1N.js">
|
|
196
|
+
<link rel="modulepreload" crossorigin href="./assets/RenderHTML-B0MiHkXS.js">
|
|
197
197
|
<link rel="modulepreload" crossorigin href="./assets/useIframeCapabilities-DG-6GyGn.js">
|
|
198
198
|
<link rel="modulepreload" crossorigin href="./assets/formats-DEgTLsde.js">
|
|
199
199
|
<link rel="modulepreload" crossorigin href="./assets/en-US-BO8E69bZ.js">
|
|
@@ -205,42 +205,42 @@
|
|
|
205
205
|
<link rel="modulepreload" crossorigin href="./assets/useDateFormatter-DOoVZUts.js">
|
|
206
206
|
<link rel="modulepreload" crossorigin href="./assets/range-CJeRXUtp.js">
|
|
207
207
|
<link rel="modulepreload" crossorigin href="./assets/table-BCnp9gKC.js">
|
|
208
|
-
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-
|
|
209
|
-
<link rel="modulepreload" crossorigin href="./assets/useDeleteCell-
|
|
208
|
+
<link rel="modulepreload" crossorigin href="./assets/JsonOutput-BRjuq1Jw.js">
|
|
209
|
+
<link rel="modulepreload" crossorigin href="./assets/useDeleteCell-CmX8_XRr.js">
|
|
210
210
|
<link rel="modulepreload" crossorigin href="./assets/icons-T5yQRjuT.js">
|
|
211
|
-
<link rel="modulepreload" crossorigin href="./assets/process-output-
|
|
211
|
+
<link rel="modulepreload" crossorigin href="./assets/process-output-BXIvuDcK.js">
|
|
212
212
|
<link rel="modulepreload" crossorigin href="./assets/blob-DgooIGjS.js">
|
|
213
213
|
<link rel="modulepreload" crossorigin href="./assets/objectWithoutPropertiesLoose-CboCOq4o.js">
|
|
214
214
|
<link rel="modulepreload" crossorigin href="./assets/esm-BjfXuxxx.js">
|
|
215
215
|
<link rel="modulepreload" crossorigin href="./assets/file-DzHkbIdO.js">
|
|
216
216
|
<link rel="modulepreload" crossorigin href="./assets/image-DXfkah9d.js">
|
|
217
217
|
<link rel="modulepreload" crossorigin href="./assets/play-DKSqmedg.js">
|
|
218
|
-
<link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-
|
|
218
|
+
<link rel="modulepreload" crossorigin href="./assets/add-cell-with-ai-U_En-o_I.js">
|
|
219
219
|
<link rel="modulepreload" crossorigin href="./assets/isEmpty-CfmnKtgL.js">
|
|
220
220
|
<link rel="modulepreload" crossorigin href="./assets/bot-message-square-CK6eoGWy.js">
|
|
221
|
-
<link rel="modulepreload" crossorigin href="./assets/chat-display-
|
|
221
|
+
<link rel="modulepreload" crossorigin href="./assets/chat-display-D2m36iog.js">
|
|
222
222
|
<link rel="modulepreload" crossorigin href="./assets/chart-no-axes-column-DV8gdCvH.js">
|
|
223
223
|
<link rel="modulepreload" crossorigin href="./assets/square-function-B006EYFX.js">
|
|
224
224
|
<link rel="modulepreload" crossorigin href="./assets/spec-CYMZZDXr.js">
|
|
225
225
|
<link rel="modulepreload" crossorigin href="./assets/ellipsis-vertical-CAB7tdza.js">
|
|
226
|
-
<link rel="modulepreload" crossorigin href="./assets/components-
|
|
227
|
-
<link rel="modulepreload" crossorigin href="./assets/column-preview-
|
|
226
|
+
<link rel="modulepreload" crossorigin href="./assets/components-U5Mj1xiO.js">
|
|
227
|
+
<link rel="modulepreload" crossorigin href="./assets/column-preview-DBQzaLrY.js">
|
|
228
228
|
<link rel="modulepreload" crossorigin href="./assets/toggle-AwCCScbH.js">
|
|
229
|
-
<link rel="modulepreload" crossorigin href="./assets/globals-
|
|
229
|
+
<link rel="modulepreload" crossorigin href="./assets/globals-Bh7qAnqa.js">
|
|
230
230
|
<link rel="modulepreload" crossorigin href="./assets/share-DdWa0mV7.js">
|
|
231
231
|
<link rel="modulepreload" crossorigin href="./assets/_baseSet-D5BgdrnX.js">
|
|
232
232
|
<link rel="modulepreload" crossorigin href="./assets/react-resizable-panels.browser.esm-DTuXFbj-.js">
|
|
233
|
-
<link rel="modulepreload" crossorigin href="./assets/context-aware-panel-
|
|
234
|
-
<link rel="modulepreload" crossorigin href="./assets/floating-outline-
|
|
235
|
-
<link rel="modulepreload" crossorigin href="./assets/useAddCell-
|
|
233
|
+
<link rel="modulepreload" crossorigin href="./assets/context-aware-panel-CaZEaV8C.js">
|
|
234
|
+
<link rel="modulepreload" crossorigin href="./assets/floating-outline-jCvD7_Ne.js">
|
|
235
|
+
<link rel="modulepreload" crossorigin href="./assets/useAddCell-ErFmQedu.js">
|
|
236
236
|
<link rel="modulepreload" crossorigin href="./assets/eye-off-vwi9L975.js">
|
|
237
|
-
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-
|
|
237
|
+
<link rel="modulepreload" crossorigin href="./assets/readonly-python-code-YmScI7wz.js">
|
|
238
238
|
<link rel="modulepreload" crossorigin href="./assets/file-headphone-B5q2Ow55.js">
|
|
239
|
-
<link rel="modulepreload" crossorigin href="./assets/file-icons-
|
|
239
|
+
<link rel="modulepreload" crossorigin href="./assets/file-icons-Br3viuqL.js">
|
|
240
240
|
<link rel="modulepreload" crossorigin href="./assets/refresh-ccw-DLpfIr8v.js">
|
|
241
|
-
<link rel="modulepreload" crossorigin href="./assets/form-
|
|
241
|
+
<link rel="modulepreload" crossorigin href="./assets/form-BEIQJWib.js">
|
|
242
242
|
<link rel="modulepreload" crossorigin href="./assets/field-9GctqEPJ.js">
|
|
243
|
-
<link rel="modulepreload" crossorigin href="./assets/useBoolean-
|
|
243
|
+
<link rel="modulepreload" crossorigin href="./assets/useBoolean-B8gcV_C4.js">
|
|
244
244
|
<link rel="modulepreload" crossorigin href="./assets/useDeepCompareMemoize-BEmJ3M7I.js">
|
|
245
245
|
<link rel="modulepreload" crossorigin href="./assets/types-C1RN112u.js">
|
|
246
246
|
<link rel="modulepreload" crossorigin href="./assets/prop-types-C638SUfx.js">
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@ import { type StorageConnection, StorageConnectionSchema } from "./schemas";
|
|
|
8
8
|
export type StorageLibrary = "obstore" | "fsspec";
|
|
9
9
|
|
|
10
10
|
export const StorageLibraryDisplayNames: Record<StorageLibrary, string> = {
|
|
11
|
-
obstore: "
|
|
11
|
+
obstore: "obstore",
|
|
12
12
|
fsspec: "fsspec",
|
|
13
13
|
};
|
|
14
14
|
|
|
@@ -555,7 +555,7 @@ export const StorageInspector: React.FC = () => {
|
|
|
555
555
|
title="No storage connected"
|
|
556
556
|
description={
|
|
557
557
|
<span>
|
|
558
|
-
Create an
|
|
558
|
+
Create an obstore or fsspec connection in your notebook. See the{" "}
|
|
559
559
|
<a
|
|
560
560
|
className="text-link"
|
|
561
561
|
href="https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start"
|
package/src/core/cells/ids.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-redeclare */
|
|
3
3
|
|
|
4
|
+
import { OBJECT_ID_ATTR } from "@/core/dom/ui-element-constants";
|
|
4
5
|
import { invariant } from "@/utils/invariant";
|
|
5
6
|
import type { TypedString } from "../../utils/typed";
|
|
6
7
|
|
|
@@ -110,7 +111,7 @@ export function findCellId(element: HTMLElement): CellId | null {
|
|
|
110
111
|
export type UIElementId = `${CellId}-${string}`;
|
|
111
112
|
export const UIElementId = {
|
|
112
113
|
parse(element: Element): UIElementId | null {
|
|
113
|
-
return element.getAttribute(
|
|
114
|
+
return element.getAttribute(OBJECT_ID_ATTR) as UIElementId | null;
|
|
114
115
|
},
|
|
115
116
|
parseOrThrow(element: Element): UIElementId {
|
|
116
117
|
const id = UIElementId.parse(element);
|
|
@@ -70,7 +70,9 @@ test("default UserConfig - empty", () => {
|
|
|
70
70
|
"reference_highlighting": true,
|
|
71
71
|
"theme": "light",
|
|
72
72
|
},
|
|
73
|
-
"experimental": {
|
|
73
|
+
"experimental": {
|
|
74
|
+
"storage_inspector": true,
|
|
75
|
+
},
|
|
74
76
|
"formatting": {
|
|
75
77
|
"line_length": 79,
|
|
76
78
|
},
|
|
@@ -140,7 +142,9 @@ test("default UserConfig - one level", () => {
|
|
|
140
142
|
"reference_highlighting": true,
|
|
141
143
|
"theme": "light",
|
|
142
144
|
},
|
|
143
|
-
"experimental": {
|
|
145
|
+
"experimental": {
|
|
146
|
+
"storage_inspector": true,
|
|
147
|
+
},
|
|
144
148
|
"formatting": {
|
|
145
149
|
"line_length": 79,
|
|
146
150
|
},
|
|
@@ -186,6 +186,7 @@ export const UserConfigSchema = z
|
|
|
186
186
|
.looseObject({
|
|
187
187
|
markdown: z.boolean().optional(),
|
|
188
188
|
rtc: z.boolean().optional(),
|
|
189
|
+
storage_inspector: z.boolean().prefault(true),
|
|
189
190
|
// Add new experimental features here
|
|
190
191
|
})
|
|
191
192
|
// Pass through so that we don't remove any extra keys that the user has added.
|
|
@@ -21,7 +21,7 @@ const defaultValues: ExperimentalFeatures = {
|
|
|
21
21
|
rtc_v2: false,
|
|
22
22
|
cache_panel: false,
|
|
23
23
|
external_agents: import.meta.env.DEV,
|
|
24
|
-
storage_inspector:
|
|
24
|
+
storage_inspector: true,
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export function getFeatureFlag<T extends keyof ExperimentalFeatures>(
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Stable identifier for a UI element, deterministic across re-executions
|
|
5
|
+
* of the same cell (based on cell ID + creation order).
|
|
6
|
+
* Used to synchronize multiple instances and kernel state.
|
|
7
|
+
*/
|
|
8
|
+
export const OBJECT_ID_ATTR = "object-id";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Random token that changes every time a UI element is constructed
|
|
12
|
+
* (i.e., every cell execution). Used to detect stale elements and
|
|
13
|
+
* force re-renders when a cell re-runs.
|
|
14
|
+
*/
|
|
15
|
+
export const RANDOM_ID_ATTR = "random-id";
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
MarimoValueInputEvent,
|
|
9
9
|
type MarimoValueInputEventType,
|
|
10
10
|
} from "./events";
|
|
11
|
+
import { RANDOM_ID_ATTR } from "./ui-element-constants";
|
|
11
12
|
import { UI_ELEMENT_REGISTRY } from "./uiregistry";
|
|
12
13
|
|
|
13
14
|
import "./ui-element.css";
|
|
@@ -189,7 +190,7 @@ export function initializeUIElement() {
|
|
|
189
190
|
// used like a React key. If the random-id changes, we need to unmount and
|
|
190
191
|
// remount its child.
|
|
191
192
|
static get observedAttributes() {
|
|
192
|
-
return [
|
|
193
|
+
return [RANDOM_ID_ATTR];
|
|
193
194
|
}
|
|
194
195
|
|
|
195
196
|
attributeChangedCallback(
|
|
@@ -199,7 +200,7 @@ export function initializeUIElement() {
|
|
|
199
200
|
) {
|
|
200
201
|
if (this.initialized) {
|
|
201
202
|
const hasChanged = oldValue !== newValue;
|
|
202
|
-
if (name ===
|
|
203
|
+
if (name === RANDOM_ID_ATTR && hasChanged) {
|
|
203
204
|
// deregister/clean-up this instance
|
|
204
205
|
this.disconnectedCallback();
|
|
205
206
|
// remove and re-add its child to force it to re-render; note that
|
|
@@ -6,6 +6,7 @@ import ReactDOM, { type Root } from "react-dom/client";
|
|
|
6
6
|
import { ErrorBoundary } from "@/components/editor/boundary/ErrorBoundary";
|
|
7
7
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
8
8
|
import { notebookAtom } from "@/core/cells/cells";
|
|
9
|
+
import { OBJECT_ID_ATTR } from "@/core/dom/ui-element-constants";
|
|
9
10
|
import { UI_ELEMENT_REGISTRY } from "@/core/dom/uiregistry";
|
|
10
11
|
import { LocaleProvider } from "@/core/i18n/locale-provider";
|
|
11
12
|
import { renderHTML } from "@/plugins/core/RenderHTML";
|
|
@@ -60,7 +61,7 @@ export class MarimoIslandElement extends HTMLElement {
|
|
|
60
61
|
const codeCallback: () => string = optionalEditor
|
|
61
62
|
? () =>
|
|
62
63
|
`${UI_ELEMENT_REGISTRY.lookupValue(
|
|
63
|
-
optionalEditor.props[
|
|
64
|
+
optionalEditor.props[OBJECT_ID_ATTR],
|
|
64
65
|
)}`
|
|
65
66
|
: () => code;
|
|
66
67
|
|
|
@@ -60,7 +60,11 @@ import { ContextAwarePanelItem } from "@/components/editor/chrome/panels/context
|
|
|
60
60
|
import { Alert, AlertTitle } from "@/components/ui/alert";
|
|
61
61
|
import { Button } from "@/components/ui/button";
|
|
62
62
|
import { DelayMount } from "@/components/utils/delay-mount";
|
|
63
|
-
import { type CellId, findCellId } from "@/core/cells/ids";
|
|
63
|
+
import { type CellId, findCellId, UIElementId } from "@/core/cells/ids";
|
|
64
|
+
import {
|
|
65
|
+
OBJECT_ID_ATTR,
|
|
66
|
+
RANDOM_ID_ATTR,
|
|
67
|
+
} from "@/core/dom/ui-element-constants";
|
|
64
68
|
import { slotsController } from "@/core/slots/slots";
|
|
65
69
|
import { store } from "@/core/state/jotai";
|
|
66
70
|
import { isStaticNotebook } from "@/core/static/static-state";
|
|
@@ -361,6 +365,7 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
|
|
|
361
365
|
<LazyDataTableComponent
|
|
362
366
|
isLazy={props.data.lazy}
|
|
363
367
|
preload={props.data.preload}
|
|
368
|
+
host={props.host}
|
|
364
369
|
>
|
|
365
370
|
<LoadingDataTableComponent
|
|
366
371
|
{...props.data}
|
|
@@ -377,21 +382,66 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
|
|
|
377
382
|
);
|
|
378
383
|
});
|
|
379
384
|
|
|
385
|
+
/**
|
|
386
|
+
* Tracks which lazy tables have been previewed across remounts (e.g. tab switches).
|
|
387
|
+
* Keyed by uiElementId (stable across remounts) with randomId as value
|
|
388
|
+
* (changes on cell re-execution, so stale entries are naturally invalidated).
|
|
389
|
+
*/
|
|
390
|
+
const previewedTables = new Map<UIElementId, string>();
|
|
391
|
+
|
|
392
|
+
function wasTablePreviewed(
|
|
393
|
+
uiElementId: UIElementId | null | undefined,
|
|
394
|
+
randomId: string | null | undefined,
|
|
395
|
+
): boolean {
|
|
396
|
+
return (
|
|
397
|
+
uiElementId != null &&
|
|
398
|
+
randomId != null &&
|
|
399
|
+
previewedTables.get(uiElementId) === randomId
|
|
400
|
+
);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
function markTablePreviewed(
|
|
404
|
+
uiElementId: UIElementId | null | undefined,
|
|
405
|
+
randomId: string | null | undefined,
|
|
406
|
+
): void {
|
|
407
|
+
if (uiElementId != null && randomId != null) {
|
|
408
|
+
previewedTables.set(uiElementId, randomId);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
380
412
|
const LazyDataTableComponent = ({
|
|
381
413
|
isLazy: initialIsLazy,
|
|
382
414
|
children,
|
|
383
415
|
preload,
|
|
416
|
+
host,
|
|
384
417
|
}: {
|
|
385
418
|
isLazy: boolean;
|
|
386
419
|
children: React.ReactNode;
|
|
387
420
|
preload: boolean;
|
|
421
|
+
host: HTMLElement;
|
|
388
422
|
}) => {
|
|
389
|
-
const
|
|
423
|
+
const parentElement = host.closest(`[${OBJECT_ID_ATTR}]`);
|
|
424
|
+
const uiElementId = parentElement ? UIElementId.parse(parentElement) : null;
|
|
425
|
+
|
|
426
|
+
const randomId = host
|
|
427
|
+
.closest(`[${RANDOM_ID_ATTR}]`)
|
|
428
|
+
?.getAttribute(RANDOM_ID_ATTR);
|
|
429
|
+
|
|
430
|
+
const [isLazy, setIsLazy] = useState(
|
|
431
|
+
initialIsLazy && !preload && !wasTablePreviewed(uiElementId, randomId),
|
|
432
|
+
);
|
|
390
433
|
|
|
391
434
|
if (isLazy) {
|
|
392
435
|
return (
|
|
393
436
|
<div className="flex h-20 items-center justify-center">
|
|
394
|
-
<Button
|
|
437
|
+
<Button
|
|
438
|
+
variant="outline"
|
|
439
|
+
size="xs"
|
|
440
|
+
onClick={() => {
|
|
441
|
+
markTablePreviewed(uiElementId, randomId);
|
|
442
|
+
setIsLazy(false);
|
|
443
|
+
}}
|
|
444
|
+
>
|
|
395
445
|
<Table2Icon className="mr-2 h-4 w-4" />
|
|
396
446
|
Preview data
|
|
397
447
|
</Button>
|
|
@@ -15,6 +15,7 @@ import { Label } from "@/components/ui/label";
|
|
|
15
15
|
import { NativeSelect } from "@/components/ui/native-select";
|
|
16
16
|
import { Table, TableBody, TableCell, TableRow } from "@/components/ui/table";
|
|
17
17
|
import { toast } from "@/components/ui/use-toast";
|
|
18
|
+
import { RANDOM_ID_ATTR } from "@/core/dom/ui-element-constants";
|
|
18
19
|
import { useAsyncData } from "@/hooks/useAsyncData";
|
|
19
20
|
import { useInternalStateWithSync } from "@/hooks/useInternalStateWithSync";
|
|
20
21
|
import { cn } from "@/utils/cn";
|
|
@@ -150,7 +151,9 @@ export const FileBrowser = ({
|
|
|
150
151
|
|
|
151
152
|
// HACK: use the random-id of the host element to force a re-render
|
|
152
153
|
// when the random-id changes, this means the cell was re-rendered
|
|
153
|
-
const randomId = host
|
|
154
|
+
const randomId = host
|
|
155
|
+
.closest(`[${RANDOM_ID_ATTR}]`)
|
|
156
|
+
?.getAttribute(RANDOM_ID_ATTR);
|
|
154
157
|
|
|
155
158
|
const { data, error, isPending } = useAsyncData(() => {
|
|
156
159
|
return list_directory({ path: path });
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { AnyWidget } from "@anywidget/types";
|
|
5
5
|
import { useEffect, useRef } from "react";
|
|
6
6
|
import { z } from "zod";
|
|
7
|
+
import { RANDOM_ID_ATTR } from "@/core/dom/ui-element-constants";
|
|
7
8
|
import { useAsyncData } from "@/hooks/useAsyncData";
|
|
8
9
|
import type { HTMLElementNotDerivedFromRef } from "@/hooks/useEventListener";
|
|
9
10
|
import { createPlugin } from "@/plugins/core/builder";
|
|
@@ -145,7 +146,9 @@ const AnyWidgetSlot = (props: IPluginProps<ModelIdRef, Data>) => {
|
|
|
145
146
|
}
|
|
146
147
|
|
|
147
148
|
// Find the closest parent element with an attribute of `random-id`
|
|
148
|
-
const randomId = props.host
|
|
149
|
+
const randomId = props.host
|
|
150
|
+
.closest(`[${RANDOM_ID_ATTR}]`)
|
|
151
|
+
?.getAttribute(RANDOM_ID_ATTR);
|
|
149
152
|
const key = randomId ?? jsUrl;
|
|
150
153
|
|
|
151
154
|
return (
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as k,i as x,l as z,p as o,u as C}from"./useEvent-O0nX5vok.js";import{A as n,B as D,I as j,J as I,N as d,P as h,R as t,T as l,U as J,b as r,w as _}from"./zod-H_cgTO0M.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{t as R}from"./merge-CfcLlFFp.js";import{a as S,m as f,p as U}from"./useEventListener-BGihH8bs.js";import{t as F}from"./invariant-CQUIhlu2.js";const M=["pip","uv","rye","poetry","pixi"];var $=["normal","compact","medium","full","columns"],q=["auto","native","polars","lazy-polars","pandas"];const G="openai/gpt-4o";var O=["html","markdown","ipynb"];const H=["manual","ask","agent"];var u=h({api_key:t().optional(),base_url:t().optional(),project:t().optional()}).loose(),K=h({chat_model:t().nullish(),edit_model:t().nullish(),autocomplete_model:t().nullish(),displayed_models:_(t()).default([]),custom_models:_(t()).default([])});const y=n({completion:h({activate_on_typing:l().prefault(!0),signature_hint_on_typing:l().prefault(!1),copilot:D([l(),r(["github","codeium","custom"])]).prefault(!1).transform(a=>a===!0?"github":a),codeium_api_key:t().nullish()}).prefault({}),save:n({autosave:r(["off","after_delay"]).prefault("after_delay"),autosave_delay:d().nonnegative().transform(a=>Math.max(a,1e3)).prefault(1e3),format_on_save:l().prefault(!1)}).prefault({}),formatting:n({line_length:d().nonnegative().prefault(79).transform(a=>Math.min(a,1e3))}).prefault({}),keymap:n({preset:r(["default","vim"]).prefault("default"),overrides:j(t(),t()).prefault({}),destructive_delete:l().prefault(!0)}).prefault({}),runtime:n({auto_instantiate:l().prefault(!0),on_cell_change:r(["lazy","autorun"]).prefault("autorun"),auto_reload:r(["off","lazy","autorun"]).prefault("off"),reactive_tests:l().prefault(!0),watcher_on_save:r(["lazy","autorun"]).prefault("lazy"),default_sql_output:r(q).prefault("auto"),default_auto_download:_(r(O)).prefault([])}).prefault({}),display:n({theme:r(["light","dark","system"]).prefault("light"),code_editor_font_size:d().nonnegative().prefault(14),cell_output:r(["above","below"]).prefault("below"),dataframes:r(["rich","plain"]).prefault("rich"),default_table_page_size:d().prefault(10),default_table_max_columns:d().prefault(50),default_width:r($).prefault("medium").transform(a=>a==="normal"?"compact":a),locale:t().nullable().optional(),reference_highlighting:l().prefault(!0)}).prefault({}),package_management:n({manager:r(M).prefault("pip")}).prefault({}),ai:n({rules:t().prefault(""),mode:r(H).prefault("manual"),inline_tooltip:l().prefault(!1),open_ai:u.optional(),anthropic:u.optional(),google:u.optional(),ollama:u.optional(),openrouter:u.optional(),wandb:u.optional(),open_ai_compatible:u.optional(),azure:u.optional(),bedrock:n({region_name:t().optional(),profile_name:t().optional(),aws_access_key_id:t().optional(),aws_secret_access_key:t().optional()}).optional(),custom_providers:j(t(),u).prefault({}),models:K.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:n({markdown:l().optional(),rtc:l().optional()}).prefault(()=>({})),server:n({disable_file_downloads:l().optional()}).prefault(()=>({})),diagnostics:n({enabled:l().optional(),sql_linter:l().optional()}).prefault(()=>({})),sharing:n({html:l().optional(),wasm:l().optional()}).optional(),mcp:n({presets:_(r(["marimo","context7"])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),A=t(),L=r(q).prefault("auto"),b=h({width:r($).prefault("medium").transform(a=>a==="normal"?"compact":a),app_title:A.nullish(),css_file:t().nullish(),html_head_file:t().nullish(),auto_download:_(r(O)).prefault([]),sql_output:L}).prefault(()=>({width:"medium",auto_download:[],sql_output:"auto"}));function E(a){try{return b.parse(a)}catch(e){return f.error(`Marimo got an unexpected value in the configuration file: ${e}`),b.parse({})}}function Q(a){try{let e=y.parse(a);for(let[p,s]of Object.entries(e.experimental??{}))s===!0&&f.log(`\u{1F9EA} Experimental feature "${p}" is enabled.`);return e}catch(e){return e instanceof J?f.error(`Marimo got an unexpected value in the configuration file: ${I(e)}`):f.error(`Marimo got an unexpected value in the configuration file: ${e}`),P()}}function V(a){try{let e=a;return F(typeof e=="object","internal-error: marimo-config-overrides is not an object"),Object.keys(e).length>0&&f.log("\u{1F527} Project configuration overrides:",e),e}catch(e){return f.error(`Marimo got an unexpected configuration overrides: ${e}`),{}}}function P(){return y.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}var W=N();const v=o(P()),T=o({}),i=o(a=>{let e=a(T);return R({},a(v),e)}),X=o(a=>a(i).runtime.auto_instantiate),Y=o(a=>a(i).keymap.overrides??{}),Z=o(U()),aa=o(a=>new S(a(Y),{platform:a(Z)})),ea=o(a=>a(i).save),ta=o(a=>a(i).ai),oa=o(a=>a(i).completion),ra=o(a=>a(i).keymap.preset);function la(){return z(v)}function na(){let a=(0,W.c)(3),e=C(i),p=k(v),s;return a[0]!==e||a[1]!==p?(s=[e,p],a[0]=e,a[1]=p,a[2]=s):s=a[2],s}function ia(){return x.get(i)}const sa=o(a=>B(a(i)));o(a=>a(i).display.code_editor_font_size);const pa=o(a=>a(i).display.locale);function B(a){var e,p,s,m,c,w;return!!((p=(e=a.ai)==null?void 0:e.models)!=null&&p.chat_model)||!!((m=(s=a.ai)==null?void 0:s.models)!=null&&m.edit_model)||!!((w=(c=a.ai)==null?void 0:c.models)!=null&&w.autocomplete_model)}const g=o(E({}));function ua(){return z(g)}function fa(){return k(g)}function ma(){return x.get(g)}const ca=o(a=>a(g).width);o(a=>{var m,c;let e=a(i),p=((m=e.snippets)==null?void 0:m.custom_paths)??[],s=(c=e.snippets)==null?void 0:c.include_default_snippets;return p.length>0||s===!0});const da=o(a=>{var e;return((e=a(i).server)==null?void 0:e.disable_file_downloads)??!1});function _a(){return!1}export{Q as A,b as C,y as D,M as E,E as O,v as S,G as T,i as _,ca as a,fa as b,oa as c,ma as d,ia as f,pa as g,ra as h,g as i,V as k,T as l,B as m,ta as n,X as o,aa as p,sa as r,ea as s,_a as t,da as u,ua as v,A as w,la as x,na as y};
|