@marimo-team/frontend 0.14.18-dev5 → 0.14.18-dev51
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/{ConnectedDataExplorerComponent-s7RGpPDV.js → ConnectedDataExplorerComponent-Lj2BeiyU.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-CnrulJpr.js → ImageComparisonComponent-D3RIzxQe.js} +1 -1
- package/dist/assets/{VegaLite-C2fs5zc3.js → VegaLite-BTUZR9TJ.js} +1 -1
- package/dist/assets/{_baseEach-c_dyjc-O.js → _baseEach-xh-ORWj8.js} +1 -1
- package/dist/assets/_baseMap-C2kDvE8l.js +1 -0
- package/dist/assets/{_baseUniq-MHRYxaEh.js → _baseUniq-CNG96KTl.js} +1 -1
- package/dist/assets/{_createAggregator-BRrHJm-S.js → _createAggregator-Cv8xMgoA.js} +1 -1
- package/dist/assets/{any-language-editor-BvO3QFMF.js → any-language-editor-BJZHpvqq.js} +1 -1
- package/dist/assets/{architectureDiagram-SUXI7LT5-NdrSJuvB.js → architectureDiagram-SUXI7LT5-B4QW7y7k.js} +1 -1
- package/dist/assets/{blockDiagram-6J76NXCF-ftx5RUcT.js → blockDiagram-6J76NXCF-2_qD1lv3.js} +1 -1
- package/dist/assets/{c4Diagram-6F6E4RAY-BulMqa-Y.js → c4Diagram-6F6E4RAY-CiqB2A6m.js} +1 -1
- package/dist/assets/channel-CXQMFLkR.js +1 -0
- package/dist/assets/{chunk-353BL4L5-D5H2iwN7.js → chunk-353BL4L5-BtGgOUmt.js} +1 -1
- package/dist/assets/{chunk-67H74DCK-LK08G4lc.js → chunk-67H74DCK-TJXvuggV.js} +1 -1
- package/dist/assets/{chunk-AACKK3MU-B9JAiO5u.js → chunk-AACKK3MU-Doy1mczK.js} +1 -1
- package/dist/assets/{chunk-BFAMUDN2-CZKcG7Hk.js → chunk-BFAMUDN2-C4I4etpf.js} +1 -1
- package/dist/assets/{chunk-E2GYISFI-CIXtdUNn.js → chunk-E2GYISFI-Cxww4Ltb.js} +1 -1
- package/dist/assets/{chunk-OW32GOEJ-C4FCmwnP.js → chunk-OW32GOEJ-DiJlBqXm.js} +6 -6
- package/dist/assets/{chunk-SKB7J2MH-BaSlr3jl.js → chunk-SKB7J2MH-C4VR1YMy.js} +1 -1
- package/dist/assets/{chunk-SZ463SBG-BwDfdiOo.js → chunk-SZ463SBG-BSYDMdZf.js} +1 -1
- package/dist/assets/{circle-play-JsgbRX6G.js → circle-play-CR023yIc.js} +1 -1
- package/dist/assets/classDiagram-M3E45YP4-zRmtNMuu.js +1 -0
- package/dist/assets/classDiagram-v2-YAWTLIQI-zRmtNMuu.js +1 -0
- package/dist/assets/clone-DBGtH1IR.js +1 -0
- package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
- package/dist/assets/{compile-BGbhA30T.js → compile-BBipuCz_.js} +1 -1
- package/dist/assets/{dagre-JOIXM2OF-B8vUNw1G.js → dagre-JOIXM2OF-Cyt_2fk1.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-5lo5J1Vt.js → data-grid-overlay-editor-NnUiuRND.js} +1 -1
- package/dist/assets/{diagram-5UYTHUR4-PLDgwO4x.js → diagram-5UYTHUR4-B7YzTBfk.js} +1 -1
- package/dist/assets/{diagram-VMROVX33-B5-7SLna.js → diagram-VMROVX33-B0ZokLFb.js} +1 -1
- package/dist/assets/{diagram-ZTM2IBQH-BnKr5V6h.js → diagram-ZTM2IBQH-Bn6CzUqI.js} +1 -1
- package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
- package/dist/assets/edit-page-9tfY4EcP.js +163 -0
- package/dist/assets/{erDiagram-3M52JZNH-Dk0Y_2Is.js → erDiagram-3M52JZNH-DSJbuM-1.js} +1 -1
- package/dist/assets/{flowDiagram-KYDEHFYC-DM8J3haJ.js → flowDiagram-KYDEHFYC-CsTqPAve.js} +1 -1
- package/dist/assets/{ganttDiagram-EK5VF46D-B7MEeaeb.js → ganttDiagram-EK5VF46D-Cr-IpNLk.js} +1 -1
- package/dist/assets/{gitGraphDiagram-GW3U2K7C-ciOWHdK1.js → gitGraphDiagram-GW3U2K7C-VFsi8TR7.js} +1 -1
- package/dist/assets/{glide-data-editor-CeJNWkGL.js → glide-data-editor-DzIveSDw.js} +11 -11
- package/dist/assets/{graph-IzuQV5TV.js → graph-BVgAvkSn.js} +1 -1
- package/dist/assets/{home-page-P0hOk_Lu.js → home-page-CQ4SpQA6.js} +2 -2
- package/dist/assets/{index-DzmGiDPv.js → index-B2IHU7-p.js} +1 -1
- package/dist/assets/{index-DL31Tmv6.js → index-B9x0HEJ9.js} +1 -1
- package/dist/assets/{index-BtVdSmBr.js → index-BWo9bh8L.js} +1 -1
- package/dist/assets/{index-vOKQtqij.js → index-Bi6iLuYs.js} +1 -1
- package/dist/assets/{index-BqqAIR7p.js → index-BqtqXCBR.js} +1 -1
- package/dist/assets/{index-DWbP9NKv.js → index-C1Oh0aU6.js} +1 -1
- package/dist/assets/{index-DzcdkCgc.js → index-C8VfDB-Z.js} +1 -1
- package/dist/assets/{index-DyGhL8pb.js → index-Ca-2Exla.js} +1 -1
- package/dist/assets/{index-DVgehULr.js → index-Ce6Mtf4K.js} +1 -1
- package/dist/assets/index-CrH6PPjG.css +1 -0
- package/dist/assets/{index-ABc3l5O5.js → index-Cw5LPiDP.js} +1 -1
- package/dist/assets/{index-D86OE7I-.js → index-D9iK-Vp-.js} +1 -1
- package/dist/assets/{index-CrnLkrsN.js → index-DKWPso7i.js} +1 -1
- package/dist/assets/{index-Bw4_53VL.js → index-DXRsGR8a.js} +211 -201
- package/dist/assets/{index-ZMOxgO0o.js → index-DYiivuQs.js} +1 -1
- package/dist/assets/index-DibQYIxo.js +68 -0
- package/dist/assets/{index-VEO6hI2a.js → index-DmzbDJ-7.js} +1 -1
- package/dist/assets/{index-DKlX9VbD.js → index-SuEi3PN4.js} +1 -1
- package/dist/assets/{index-CvNa254z.js → index-skYP39h6.js} +1 -1
- package/dist/assets/{index-CTxIrFfM.js → index-vBidaW0-.js} +1 -1
- package/dist/assets/{index--eqo3Nr1.js → index-wH_4tPUM.js} +1 -1
- package/dist/assets/infoDiagram-LHK5PUON-CPI_adHd.js +2 -0
- package/dist/assets/{journeyDiagram-EWQZEKCU-D-rWvB9c.js → journeyDiagram-EWQZEKCU-IJUOBk6L.js} +1 -1
- package/dist/assets/{kanban-definition-ZSS6B67P-BPrv-lG3.js → kanban-definition-ZSS6B67P-B9CZdLKh.js} +1 -1
- package/dist/assets/{layout-C3NQCD38.js → layout-CePSY0wX.js} +1 -1
- package/dist/assets/{linear-Dcz3lyvf.js → linear-BFD0bH8S.js} +1 -1
- package/dist/assets/links-CHXiAps8.js +17 -0
- package/dist/assets/{mermaid-BjMqU7B7.js → mermaid-vBmR5b31.js} +26 -26
- package/dist/assets/min-BGEN9HX3.js +1 -0
- package/dist/assets/{mindmap-definition-6CBA2TL7-BZsnMx2y.js → mindmap-definition-6CBA2TL7-CQbYpJ4d.js} +1 -1
- package/dist/assets/{number-overlay-editor-CzX-JKBj.js → number-overlay-editor-aNt4EISQ.js} +2 -2
- package/dist/assets/{pieDiagram-NIOCPIFQ-BjbDT3_7.js → pieDiagram-NIOCPIFQ-CpNgpI5j.js} +3 -3
- package/dist/assets/{quadrantDiagram-2OG54O6I-DwvUEn5y.js → quadrantDiagram-2OG54O6I-CqQ4AjgU.js} +1 -1
- package/dist/assets/{react-plotly-DsUGZTQl.js → react-plotly-7UjgR4D7.js} +1 -1
- package/dist/assets/{requirementDiagram-QOLK2EJ7-DnqQ02xB.js → requirementDiagram-QOLK2EJ7-pihTrVe8.js} +1 -1
- package/dist/assets/{run-page-Dh1_LBex.js → run-page-Bmu-pbuv.js} +1 -1
- package/dist/assets/{sankeyDiagram-4UZDY2LN-CGiEg-KK.js → sankeyDiagram-4UZDY2LN-BguJD-Ub.js} +1 -1
- package/dist/assets/{sequenceDiagram-SKLFT4DO-Du_9Bhah.js → sequenceDiagram-SKLFT4DO-dSjJa9dA.js} +1 -1
- package/dist/assets/{slides-component-DbRb2vqt.js → slides-component-D7IZvvl7.js} +1 -1
- package/dist/assets/sortBy-BnGQN5jt.js +1 -0
- package/dist/assets/{stateDiagram-MI5ZYTHO-x_vUiEQz.js → stateDiagram-MI5ZYTHO-DUk5KO2m.js} +1 -1
- package/dist/assets/stateDiagram-v2-5AN5P6BG-DOib4Vz6.js +1 -0
- package/dist/assets/storage-BER2_pxY.js +26 -0
- package/dist/assets/{terminal-xOuxdYpY.js → terminal-YUKBi9kf.js} +1 -1
- package/dist/assets/time-DBL85Vmh.js +1 -0
- package/dist/assets/{timeline-definition-MYPXXCX6-8Kv4fcyB.js → timeline-definition-MYPXXCX6-L4XSdUyH.js} +1 -1
- package/dist/assets/{tracing-BAj6E74_.js → tracing-pE0VuSyW.js} +2 -2
- package/dist/assets/{trash-65Vbt3F6.js → trash-DSlI83T4.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-DtSMjk1Y.js → treemap-75Q7IDZK-C8CiaT47.js} +1 -1
- package/dist/assets/{vega-component-C3aywWbx.js → vega-component-DLTlaRfn.js} +1 -1
- package/dist/assets/{xychartDiagram-H2YORKM3-D33F1MLE.js → xychartDiagram-H2YORKM3-wXFo5nBV.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +12 -6
- package/src/README.md +18 -0
- package/src/__mocks__/common.ts +160 -0
- package/src/__mocks__/notebook.ts +76 -0
- package/src/__mocks__/requests.ts +72 -0
- package/src/__mocks__/tracebacks.ts +32 -0
- package/src/__tests__/CellStatus.test.tsx +263 -0
- package/src/__tests__/__snapshots__/CellStatus.test.tsx.snap +523 -0
- package/src/__tests__/chat-utils.test.ts +234 -0
- package/src/__tests__/lru.test.ts +74 -0
- package/src/__tests__/main.test.tsx +174 -0
- package/src/__tests__/setup.ts +17 -0
- package/src/__tests__/test-helpers.ts +24 -0
- package/src/assets/circle-check.ico +0 -0
- package/src/assets/circle-play.ico +0 -0
- package/src/assets/circle-x.ico +0 -0
- package/src/assets/gradient.png +0 -0
- package/src/assets/icon-16x16.png +0 -0
- package/src/assets/icon-32x32.png +0 -0
- package/src/assets/noise.png +0 -0
- package/src/components/ai/ai-model-dropdown.tsx +281 -0
- package/src/components/ai/ai-provider-icon.tsx +54 -0
- package/src/components/app-config/ai-config.tsx +855 -0
- package/src/components/app-config/app-config-button.tsx +100 -0
- package/src/components/app-config/app-config-form.tsx +307 -0
- package/src/components/app-config/common.tsx +48 -0
- package/src/components/app-config/constants.ts +13 -0
- package/src/components/app-config/incorrect-model-id.tsx +43 -0
- package/src/components/app-config/is-overridden.tsx +119 -0
- package/src/components/app-config/optional-features.tsx +251 -0
- package/src/components/app-config/state.ts +18 -0
- package/src/components/app-config/user-config-form.tsx +1361 -0
- package/src/components/audio/audio-recorder.tsx +63 -0
- package/src/components/buttons/clear-button.tsx +23 -0
- package/src/components/buttons/undo-button.tsx +35 -0
- package/src/components/chat/chat-panel.tsx +715 -0
- package/src/components/chat/markdown-renderer.tsx +217 -0
- package/src/components/chat/reasoning-accordion.tsx +50 -0
- package/src/components/chat/tool-call-accordion.tsx +118 -0
- package/src/components/data-table/SearchBar.tsx +66 -0
- package/src/components/data-table/TableActions.tsx +183 -0
- package/src/components/data-table/__tests__/__snapshots__/chart-spec-model.test.ts.snap +1079 -0
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +707 -0
- package/src/components/data-table/__tests__/column_formatting.test.ts +115 -0
- package/src/components/data-table/__tests__/columns.test.tsx +341 -0
- package/src/components/data-table/__tests__/data-table.test.tsx +60 -0
- package/src/components/data-table/__tests__/pagination.test.tsx +152 -0
- package/src/components/data-table/__tests__/types.test.ts +44 -0
- package/src/components/data-table/__tests__/url-detector.test.tsx +169 -0
- package/src/components/data-table/__tests__/useColumnPinning.test.ts +76 -0
- package/src/components/data-table/cell-selection/__tests__/feature.test.ts +187 -0
- package/src/components/data-table/cell-selection/feature.ts +123 -0
- package/src/components/data-table/cell-selection/types.ts +49 -0
- package/src/components/data-table/cell-styling/feature.ts +40 -0
- package/src/components/data-table/cell-styling/types.ts +26 -0
- package/src/components/data-table/charts/README.md +65 -0
- package/src/components/data-table/charts/__tests__/__snapshots__/spec-snapshot.test.ts.snap +47 -0
- package/src/components/data-table/charts/__tests__/altair-generator.test.ts +425 -0
- package/src/components/data-table/charts/__tests__/renderer.test.ts +20 -0
- package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +83 -0
- package/src/components/data-table/charts/__tests__/spec.test.ts +997 -0
- package/src/components/data-table/charts/__tests__/storage.test.ts +103 -0
- package/src/components/data-table/charts/chart-spec/altair-generator.ts +162 -0
- package/src/components/data-table/charts/chart-spec/encodings.ts +173 -0
- package/src/components/data-table/charts/chart-spec/spec.ts +345 -0
- package/src/components/data-table/charts/chart-spec/tooltips.ts +168 -0
- package/src/components/data-table/charts/chart-spec/types.ts +77 -0
- package/src/components/data-table/charts/charts.tsx +492 -0
- package/src/components/data-table/charts/components/chart-items.tsx +369 -0
- package/src/components/data-table/charts/components/chart-states.tsx +37 -0
- package/src/components/data-table/charts/components/form-fields.tsx +872 -0
- package/src/components/data-table/charts/components/layouts.tsx +118 -0
- package/src/components/data-table/charts/constants.ts +159 -0
- package/src/components/data-table/charts/context.ts +20 -0
- package/src/components/data-table/charts/forms/common-chart.tsx +202 -0
- package/src/components/data-table/charts/forms/heatmap.tsx +44 -0
- package/src/components/data-table/charts/forms/pie.tsx +70 -0
- package/src/components/data-table/charts/lazy-chart.tsx +56 -0
- package/src/components/data-table/charts/schemas.ts +140 -0
- package/src/components/data-table/charts/storage.ts +88 -0
- package/src/components/data-table/charts/types.ts +124 -0
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +227 -0
- package/src/components/data-table/column-formatting/feature.ts +247 -0
- package/src/components/data-table/column-formatting/types.ts +54 -0
- package/src/components/data-table/column-header.tsx +672 -0
- package/src/components/data-table/column-summary/chart-skeleton.tsx +57 -0
- package/src/components/data-table/column-summary/chart-spec-model.tsx +916 -0
- package/src/components/data-table/column-summary/column-summary.tsx +166 -0
- package/src/components/data-table/column-summary/legacy-chart-spec.ts +242 -0
- package/src/components/data-table/column-summary/utils.ts +142 -0
- package/src/components/data-table/column-wrapping/feature.ts +62 -0
- package/src/components/data-table/column-wrapping/types.ts +29 -0
- package/src/components/data-table/columns.tsx +528 -0
- package/src/components/data-table/copy-column/feature.ts +27 -0
- package/src/components/data-table/copy-column/types.ts +19 -0
- package/src/components/data-table/data-table.tsx +298 -0
- package/src/components/data-table/date-popover.tsx +146 -0
- package/src/components/data-table/download-actions.tsx +186 -0
- package/src/components/data-table/filter-pills.tsx +120 -0
- package/src/components/data-table/filters.ts +202 -0
- package/src/components/data-table/focus-row/feature.ts +41 -0
- package/src/components/data-table/focus-row/types.ts +32 -0
- package/src/components/data-table/header-items.tsx +295 -0
- package/src/components/data-table/hooks/use-column-pinning.ts +51 -0
- package/src/components/data-table/hooks/use-panel-ownership.ts +98 -0
- package/src/components/data-table/loading-table.tsx +56 -0
- package/src/components/data-table/mime-cell.tsx +68 -0
- package/src/components/data-table/pagination.tsx +329 -0
- package/src/components/data-table/range-focus/__tests__/atoms.test.ts +907 -0
- package/src/components/data-table/range-focus/__tests__/utils.test.ts +316 -0
- package/src/components/data-table/range-focus/atoms.ts +380 -0
- package/src/components/data-table/range-focus/cell-selection-indicator.tsx +37 -0
- package/src/components/data-table/range-focus/provider.tsx +13 -0
- package/src/components/data-table/range-focus/use-cell-range-selection.ts +119 -0
- package/src/components/data-table/range-focus/use-scroll-into-view.ts +46 -0
- package/src/components/data-table/range-focus/utils.ts +105 -0
- package/src/components/data-table/renderers.tsx +247 -0
- package/src/components/data-table/row-viewer-panel/__tests__/filter-rows.test.ts +82 -0
- package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +58 -0
- package/src/components/data-table/row-viewer-panel/row-viewer.tsx +371 -0
- package/src/components/data-table/types.ts +81 -0
- package/src/components/data-table/uniformSample.tsx +19 -0
- package/src/components/data-table/url-detector.tsx +111 -0
- package/src/components/data-table/utils.ts +46 -0
- package/src/components/databases/display.tsx +66 -0
- package/src/components/databases/engine-variable.tsx +51 -0
- package/src/components/databases/icon.tsx +91 -0
- package/src/components/databases/icons/clickhouse.svg +1 -0
- package/src/components/databases/icons/databricks.svg +1 -0
- package/src/components/databases/icons/datafusion.png +0 -0
- package/src/components/databases/icons/duckdb.svg +1 -0
- package/src/components/databases/icons/googlebigquery.svg +1 -0
- package/src/components/databases/icons/iceberg.png +0 -0
- package/src/components/databases/icons/motherduck.svg +9 -0
- package/src/components/databases/icons/mysql.svg +1 -0
- package/src/components/databases/icons/postgresql.svg +1 -0
- package/src/components/databases/icons/redshift.svg +1 -0
- package/src/components/databases/icons/snowflake.svg +1 -0
- package/src/components/databases/icons/spark.svg +1 -0
- package/src/components/databases/icons/sqlalchemy.svg +1 -0
- package/src/components/databases/icons/sqlite.svg +1 -0
- package/src/components/databases/icons/timeplus.svg +17 -0
- package/src/components/databases/icons/trino.svg +1 -0
- package/src/components/datasets/icons.tsx +55 -0
- package/src/components/datasources/__tests__/install-package-button.test.tsx +85 -0
- package/src/components/datasources/__tests__/utils.test.ts +171 -0
- package/src/components/datasources/column-preview.tsx +269 -0
- package/src/components/datasources/components.tsx +100 -0
- package/src/components/datasources/datasources.tsx +782 -0
- package/src/components/datasources/install-package-button.tsx +46 -0
- package/src/components/datasources/utils.ts +62 -0
- package/src/components/debug/indicator.tsx +19 -0
- package/src/components/debugger/debugger-code.css +3 -0
- package/src/components/debugger/debugger-code.tsx +222 -0
- package/src/components/dependency-graph/custom-node.tsx +89 -0
- package/src/components/dependency-graph/dependency-graph-minimap.tsx +197 -0
- package/src/components/dependency-graph/dependency-graph-tree.tsx +181 -0
- package/src/components/dependency-graph/dependency-graph.css +17 -0
- package/src/components/dependency-graph/dependency-graph.tsx +66 -0
- package/src/components/dependency-graph/elements.ts +185 -0
- package/src/components/dependency-graph/panels.tsx +279 -0
- package/src/components/dependency-graph/types.ts +21 -0
- package/src/components/dependency-graph/utils/changes.ts +54 -0
- package/src/components/dependency-graph/utils/layout.ts +45 -0
- package/src/components/dependency-graph/utils/useFitToViewOnDimensionChange.ts +25 -0
- package/src/components/editor/Cell.tsx +1175 -0
- package/src/components/editor/Disconnected.tsx +72 -0
- package/src/components/editor/Output.tsx +462 -0
- package/src/components/editor/RecoveryButton.tsx +161 -0
- package/src/components/editor/SortableCell.tsx +161 -0
- package/src/components/editor/__tests__/data-attributes.test.tsx +173 -0
- package/src/components/editor/__tests__/dynamic-favicon.test.tsx +183 -0
- package/src/components/editor/actions/name-cell-input.tsx +137 -0
- package/src/components/editor/actions/types.ts +53 -0
- package/src/components/editor/actions/useCellActionButton.tsx +422 -0
- package/src/components/editor/actions/useConfigActions.tsx +182 -0
- package/src/components/editor/actions/useCopyNotebook.tsx +41 -0
- package/src/components/editor/actions/useHideAllMarkdownCode.ts +53 -0
- package/src/components/editor/actions/useNotebookActions.tsx +556 -0
- package/src/components/editor/actions/useRestartKernel.tsx +36 -0
- package/src/components/editor/ai/__tests__/completion-utils.test.ts +379 -0
- package/src/components/editor/ai/add-cell-with-ai.tsx +423 -0
- package/src/components/editor/ai/ai-completion-editor.tsx +262 -0
- package/src/components/editor/ai/completion-utils.ts +95 -0
- package/src/components/editor/ai/merge-editor.css +9 -0
- package/src/components/editor/alerts/connecting-alert.tsx +46 -0
- package/src/components/editor/alerts/floating-alert.tsx +47 -0
- package/src/components/editor/alerts/stdin-blocking-alert.tsx +61 -0
- package/src/components/editor/app-container.tsx +53 -0
- package/src/components/editor/boundary/ErrorBoundary.tsx +41 -0
- package/src/components/editor/cell/CellStatus.tsx +371 -0
- package/src/components/editor/cell/CreateCellButton.tsx +132 -0
- package/src/components/editor/cell/DeleteButton.tsx +58 -0
- package/src/components/editor/cell/PendingDeleteConfirmation.tsx +126 -0
- package/src/components/editor/cell/RunButton.tsx +109 -0
- package/src/components/editor/cell/StopButton.tsx +36 -0
- package/src/components/editor/cell/TinyCode.css +10 -0
- package/src/components/editor/cell/TinyCode.tsx +53 -0
- package/src/components/editor/cell/cell-actions.tsx +185 -0
- package/src/components/editor/cell/cell-context-menu.tsx +243 -0
- package/src/components/editor/cell/cell-status.css +21 -0
- package/src/components/editor/cell/code/cell-editor.tsx +546 -0
- package/src/components/editor/cell/code/icons.tsx +31 -0
- package/src/components/editor/cell/code/language-toggle.tsx +140 -0
- package/src/components/editor/cell/collapse.tsx +100 -0
- package/src/components/editor/cell/toolbar.tsx +89 -0
- package/src/components/editor/cell/useAddCell.ts +29 -0
- package/src/components/editor/cell/useDeleteCell.tsx +89 -0
- package/src/components/editor/cell/useRunCells.ts +86 -0
- package/src/components/editor/cell/useShouldShowInterrupt.ts +26 -0
- package/src/components/editor/cell/useSplitCell.tsx +41 -0
- package/src/components/editor/chrome/components/contribute-snippet-button.tsx +138 -0
- package/src/components/editor/chrome/components/feedback-button.tsx +105 -0
- package/src/components/editor/chrome/panels/__tests__/write-secret-modal.test.ts +43 -0
- package/src/components/editor/chrome/panels/constants.ts +2 -0
- package/src/components/editor/chrome/panels/context-aware-panel/atoms.ts +28 -0
- package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +167 -0
- package/src/components/editor/chrome/panels/datasources-panel.tsx +6 -0
- package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +23 -0
- package/src/components/editor/chrome/panels/documentation-panel.tsx +29 -0
- package/src/components/editor/chrome/panels/empty-state.tsx +28 -0
- package/src/components/editor/chrome/panels/error-panel.tsx +35 -0
- package/src/components/editor/chrome/panels/file-explorer-panel.tsx +33 -0
- package/src/components/editor/chrome/panels/logs-panel.tsx +97 -0
- package/src/components/editor/chrome/panels/outline/floating-outline.tsx +129 -0
- package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +172 -0
- package/src/components/editor/chrome/panels/outline-panel.css +6 -0
- package/src/components/editor/chrome/panels/outline-panel.tsx +39 -0
- package/src/components/editor/chrome/panels/packages-panel.tsx +635 -0
- package/src/components/editor/chrome/panels/packages-state.ts +5 -0
- package/src/components/editor/chrome/panels/scratchpad-panel.tsx +8 -0
- package/src/components/editor/chrome/panels/secrets-panel.tsx +155 -0
- package/src/components/editor/chrome/panels/snippets-panel.css +11 -0
- package/src/components/editor/chrome/panels/snippets-panel.tsx +230 -0
- package/src/components/editor/chrome/panels/tracing-panel.tsx +28 -0
- package/src/components/editor/chrome/panels/variable-panel.tsx +31 -0
- package/src/components/editor/chrome/panels/write-secret-modal.tsx +190 -0
- package/src/components/editor/chrome/state.ts +102 -0
- package/src/components/editor/chrome/types.ts +133 -0
- package/src/components/editor/chrome/wrapper/__tests__/minimap-state.test.ts +209 -0
- package/src/components/editor/chrome/wrapper/__tests__/storage.test.ts +41 -0
- package/src/components/editor/chrome/wrapper/app-chrome.css +22 -0
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +256 -0
- package/src/components/editor/chrome/wrapper/footer-item.tsx +43 -0
- package/src/components/editor/chrome/wrapper/footer-items/ai-status.tsx +47 -0
- package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +111 -0
- package/src/components/editor/chrome/wrapper/footer-items/copilot-status.tsx +125 -0
- package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +185 -0
- package/src/components/editor/chrome/wrapper/footer-items/minimap-status.tsx +21 -0
- package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +65 -0
- package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +370 -0
- package/src/components/editor/chrome/wrapper/footer.tsx +90 -0
- package/src/components/editor/chrome/wrapper/minimap-state.ts +164 -0
- package/src/components/editor/chrome/wrapper/minimap.tsx +443 -0
- package/src/components/editor/chrome/wrapper/panels.tsx +10 -0
- package/src/components/editor/chrome/wrapper/sidebar.tsx +100 -0
- package/src/components/editor/chrome/wrapper/storage.ts +56 -0
- package/src/components/editor/chrome/wrapper/utils.ts +8 -0
- package/src/components/editor/code/readonly-python-code.tsx +160 -0
- package/src/components/editor/columns/__tests__/storage.test.ts +104 -0
- package/src/components/editor/columns/cell-column.tsx +105 -0
- package/src/components/editor/columns/sortable-column.tsx +175 -0
- package/src/components/editor/columns/storage.ts +56 -0
- package/src/components/editor/common.ts +20 -0
- package/src/components/editor/controls/Controls.tsx +225 -0
- package/src/components/editor/controls/command-palette-button.tsx +27 -0
- package/src/components/editor/controls/command-palette.tsx +210 -0
- package/src/components/editor/controls/keyboard-shortcuts.tsx +309 -0
- package/src/components/editor/controls/notebook-menu-dropdown.tsx +157 -0
- package/src/components/editor/controls/shutdown-button.tsx +70 -0
- package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +659 -0
- package/src/components/editor/database/__tests__/as-code.test.ts +598 -0
- package/src/components/editor/database/__tests__/secrets.test.ts +38 -0
- package/src/components/editor/database/add-database-form.tsx +395 -0
- package/src/components/editor/database/as-code.ts +786 -0
- package/src/components/editor/database/form-renderers.tsx +211 -0
- package/src/components/editor/database/schemas.ts +485 -0
- package/src/components/editor/database/secrets.ts +25 -0
- package/src/components/editor/documentation.css +139 -0
- package/src/components/editor/dynamic-favicon.tsx +126 -0
- package/src/components/editor/errors/auto-fix.tsx +61 -0
- package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +321 -0
- package/src/components/editor/file-tree/file-explorer.tsx +679 -0
- package/src/components/editor/file-tree/file-viewer.tsx +283 -0
- package/src/components/editor/file-tree/renderers.tsx +83 -0
- package/src/components/editor/file-tree/requesting-tree.tsx +228 -0
- package/src/components/editor/file-tree/state.tsx +26 -0
- package/src/components/editor/file-tree/types.ts +118 -0
- package/src/components/editor/file-tree/upload.tsx +101 -0
- package/src/components/editor/header/app-header.tsx +28 -0
- package/src/components/editor/header/filename-form.tsx +27 -0
- package/src/components/editor/header/filename-input.css +21 -0
- package/src/components/editor/header/filename-input.tsx +244 -0
- package/src/components/editor/header/status.tsx +72 -0
- package/src/components/editor/inputs/Inputs.css +118 -0
- package/src/components/editor/inputs/Inputs.styles.ts +66 -0
- package/src/components/editor/inputs/Inputs.tsx +34 -0
- package/src/components/editor/kiosk-mode.tsx +25 -0
- package/src/components/editor/links/cell-link-list.tsx +74 -0
- package/src/components/editor/links/cell-link.tsx +128 -0
- package/src/components/editor/navigation/__tests__/clipboard.test.ts +466 -0
- package/src/components/editor/navigation/__tests__/navigation.test.ts +1820 -0
- package/src/components/editor/navigation/__tests__/selection.test.ts +194 -0
- package/src/components/editor/navigation/clipboard.ts +205 -0
- package/src/components/editor/navigation/focus-utils.ts +48 -0
- package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +499 -0
- package/src/components/editor/navigation/navigation.ts +700 -0
- package/src/components/editor/navigation/selection.ts +114 -0
- package/src/components/editor/navigation/state.ts +5 -0
- package/src/components/editor/navigation/vim-bindings.test.ts +109 -0
- package/src/components/editor/navigation/vim-bindings.ts +90 -0
- package/src/components/editor/notebook-banner.tsx +75 -0
- package/src/components/editor/output/CalloutOutput.styles.ts +22 -0
- package/src/components/editor/output/CalloutOutput.tsx +19 -0
- package/src/components/editor/output/ConsoleOutput.tsx +276 -0
- package/src/components/editor/output/EmotionCacheProvider.tsx +32 -0
- package/src/components/editor/output/HtmlOutput.tsx +25 -0
- package/src/components/editor/output/ImageOutput.tsx +25 -0
- package/src/components/editor/output/JsonOutput.tsx +424 -0
- package/src/components/editor/output/MarimoErrorOutput.tsx +511 -0
- package/src/components/editor/output/MarimoTracebackOutput.tsx +233 -0
- package/src/components/editor/output/Outputs.css +102 -0
- package/src/components/editor/output/TextOutput.tsx +42 -0
- package/src/components/editor/output/VideoOutput.tsx +11 -0
- package/src/components/editor/output/__tests__/ansi.test.ts +39 -0
- package/src/components/editor/output/__tests__/json-output.test.ts +269 -0
- package/src/components/editor/output/__tests__/traceback.test.tsx +105 -0
- package/src/components/editor/output/useWrapText.ts +14 -0
- package/src/components/editor/package-alert.tsx +596 -0
- package/src/components/editor/renderMimeIcon.tsx +38 -0
- package/src/components/editor/renderers/CellArray.tsx +352 -0
- package/src/components/editor/renderers/cells-renderer.tsx +96 -0
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +650 -0
- package/src/components/editor/renderers/grid-layout/plugin.tsx +146 -0
- package/src/components/editor/renderers/grid-layout/styles.css +31 -0
- package/src/components/editor/renderers/grid-layout/types.ts +89 -0
- package/src/components/editor/renderers/layout-select.tsx +86 -0
- package/src/components/editor/renderers/plugins.ts +31 -0
- package/src/components/editor/renderers/slides-layout/plugin.tsx +31 -0
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +74 -0
- package/src/components/editor/renderers/slides-layout/types.ts +12 -0
- package/src/components/editor/renderers/types.ts +75 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/useDelayVisibility.test.ts +87 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +123 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/vertical-layout.test.ts +173 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/__tests__/sidebar.test.tsx +56 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sheet-sidebar.tsx +32 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar-slot.tsx +10 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.css +20 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.tsx +30 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/state.ts +46 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +25 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/wrapped-with-sidebar.tsx +38 -0
- package/src/components/editor/renderers/vertical-layout/useDelayVisibility.ts +32 -0
- package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +107 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout-wrapper.tsx +46 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +451 -0
- package/src/components/editor/stdin-blocking-alert.tsx +83 -0
- package/src/components/export/export-output-button.tsx +14 -0
- package/src/components/find-replace/find-replace.tsx +293 -0
- package/src/components/forms/__tests__/form-utils.test.ts +104 -0
- package/src/components/forms/form-utils.ts +90 -0
- package/src/components/forms/form.tsx +817 -0
- package/src/components/forms/options.ts +59 -0
- package/src/components/forms/switchable-multi-select.tsx +134 -0
- package/src/components/home/components.tsx +189 -0
- package/src/components/home/state.ts +30 -0
- package/src/components/icons/copy-icon.tsx +59 -0
- package/src/components/icons/github-copilot.tsx +17 -0
- package/src/components/icons/large-spinner.tsx +39 -0
- package/src/components/icons/loading-ellipsis.tsx +46 -0
- package/src/components/icons/multi-icon.css +9 -0
- package/src/components/icons/multi-icon.tsx +30 -0
- package/src/components/icons/spinner.tsx +38 -0
- package/src/components/layout/toolbar.tsx +26 -0
- package/src/components/modal/ImperativeModal.tsx +187 -0
- package/src/components/pages/edit-page.tsx +37 -0
- package/src/components/pages/home-page.tsx +514 -0
- package/src/components/pages/run-page.tsx +55 -0
- package/src/components/scratchpad/scratchpad-history.ts +28 -0
- package/src/components/scratchpad/scratchpad.tsx +280 -0
- package/src/components/shortcuts/renderShortcut.tsx +208 -0
- package/src/components/slides/slides-component.tsx +132 -0
- package/src/components/slides/slides.css +100 -0
- package/src/components/sort/SortableCellsProvider.tsx +242 -0
- package/src/components/static-html/share-modal.tsx +181 -0
- package/src/components/static-html/static-banner.tsx +164 -0
- package/src/components/terminal/terminal.tsx +110 -0
- package/src/components/terminal/xterm.css +3 -0
- package/src/components/tracing/tracing-spec.ts +118 -0
- package/src/components/tracing/tracing.test.tsx +66 -0
- package/src/components/tracing/tracing.tsx +410 -0
- package/src/components/ui/accordion.tsx +70 -0
- package/src/components/ui/alert-dialog.tsx +176 -0
- package/src/components/ui/alert.tsx +64 -0
- package/src/components/ui/aria-popover.tsx +43 -0
- package/src/components/ui/badge.tsx +41 -0
- package/src/components/ui/button.tsx +156 -0
- package/src/components/ui/calendar.tsx +231 -0
- package/src/components/ui/card.tsx +83 -0
- package/src/components/ui/checkbox.tsx +33 -0
- package/src/components/ui/combobox.tsx +278 -0
- package/src/components/ui/command.tsx +165 -0
- package/src/components/ui/context-menu.tsx +193 -0
- package/src/components/ui/date-input.tsx +127 -0
- package/src/components/ui/date-picker.tsx +188 -0
- package/src/components/ui/dialog.tsx +155 -0
- package/src/components/ui/draggable-popover.tsx +68 -0
- package/src/components/ui/dropdown-menu.tsx +189 -0
- package/src/components/ui/field.tsx +90 -0
- package/src/components/ui/form.tsx +224 -0
- package/src/components/ui/fullscreen.tsx +38 -0
- package/src/components/ui/input.tsx +208 -0
- package/src/components/ui/kbd.tsx +22 -0
- package/src/components/ui/label.tsx +26 -0
- package/src/components/ui/links.tsx +23 -0
- package/src/components/ui/menu-items.tsx +101 -0
- package/src/components/ui/native-select.tsx +39 -0
- package/src/components/ui/navigation.tsx +154 -0
- package/src/components/ui/number-field.tsx +99 -0
- package/src/components/ui/popover.tsx +63 -0
- package/src/components/ui/progress.tsx +28 -0
- package/src/components/ui/radio-group.tsx +44 -0
- package/src/components/ui/range-slider.tsx +102 -0
- package/src/components/ui/scroll-area.tsx +47 -0
- package/src/components/ui/select.tsx +167 -0
- package/src/components/ui/sheet.tsx +143 -0
- package/src/components/ui/skeleton.tsx +16 -0
- package/src/components/ui/slider.tsx +80 -0
- package/src/components/ui/switch.tsx +54 -0
- package/src/components/ui/table.tsx +122 -0
- package/src/components/ui/tabs.tsx +55 -0
- package/src/components/ui/textarea.tsx +104 -0
- package/src/components/ui/toast.tsx +133 -0
- package/src/components/ui/toaster.tsx +30 -0
- package/src/components/ui/toggle.tsx +49 -0
- package/src/components/ui/tooltip.tsx +87 -0
- package/src/components/ui/typography.tsx +207 -0
- package/src/components/ui/use-restore-focus.ts +28 -0
- package/src/components/ui/use-toast.ts +224 -0
- package/src/components/utils/delay-mount.tsx +81 -0
- package/src/components/utils/lazy-mount.tsx +24 -0
- package/src/components/variables/common.tsx +37 -0
- package/src/components/variables/variables-table.tsx +335 -0
- package/src/core/MarimoApp.tsx +103 -0
- package/src/core/ai/__tests__/model-registry.test.ts +357 -0
- package/src/core/ai/chat-utils.ts +71 -0
- package/src/core/ai/config.ts +76 -0
- package/src/core/ai/context/__tests__/registry.test.ts +516 -0
- package/src/core/ai/context/context.ts +16 -0
- package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +291 -0
- package/src/core/ai/context/providers/__tests__/__snapshots__/variable.test.ts.snap +378 -0
- package/src/core/ai/context/providers/__tests__/tables.test.ts +271 -0
- package/src/core/ai/context/providers/__tests__/variable.test.ts +312 -0
- package/src/core/ai/context/providers/common.ts +7 -0
- package/src/core/ai/context/providers/tables.ts +208 -0
- package/src/core/ai/context/providers/variable.ts +72 -0
- package/src/core/ai/context/registry.ts +180 -0
- package/src/core/ai/ids/__tests__/ids.test.ts +193 -0
- package/src/core/ai/ids/ids.ts +71 -0
- package/src/core/ai/model-registry.ts +164 -0
- package/src/core/ai/state.ts +58 -0
- package/src/core/alerts/state.ts +75 -0
- package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +1312 -0
- package/src/core/cells/__tests__/add-missing-import.test.ts +78 -0
- package/src/core/cells/__tests__/cell.test.ts +193 -0
- package/src/core/cells/__tests__/cells.test.ts +2664 -0
- package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +239 -0
- package/src/core/cells/__tests__/focus.test.ts +271 -0
- package/src/core/cells/__tests__/ids.test.ts +90 -0
- package/src/core/cells/__tests__/names.test.ts +62 -0
- package/src/core/cells/__tests__/pending-delete-service.test.tsx +202 -0
- package/src/core/cells/__tests__/runs.test.ts +453 -0
- package/src/core/cells/__tests__/session.test.ts +757 -0
- package/src/core/cells/__tests__/utils.test.ts +428 -0
- package/src/core/cells/actions.ts +21 -0
- package/src/core/cells/add-missing-import.ts +114 -0
- package/src/core/cells/cell.ts +243 -0
- package/src/core/cells/cells.ts +1751 -0
- package/src/core/cells/collapseConsoleOutputs.tsx +133 -0
- package/src/core/cells/effects.ts +42 -0
- package/src/core/cells/focus.ts +128 -0
- package/src/core/cells/ids.ts +124 -0
- package/src/core/cells/logs.ts +114 -0
- package/src/core/cells/names.ts +107 -0
- package/src/core/cells/outline.ts +30 -0
- package/src/core/cells/outputs.ts +34 -0
- package/src/core/cells/pending-delete-service.ts +183 -0
- package/src/core/cells/runs.ts +196 -0
- package/src/core/cells/scrollCellIntoView.ts +133 -0
- package/src/core/cells/session.ts +281 -0
- package/src/core/cells/types.ts +128 -0
- package/src/core/cells/utils.ts +141 -0
- package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +216 -0
- package/src/core/codemirror/__tests__/extensions.test.ts +117 -0
- package/src/core/codemirror/__tests__/format.test.ts +227 -0
- package/src/core/codemirror/__tests__/setup.test.ts +178 -0
- package/src/core/codemirror/ai/request.ts +72 -0
- package/src/core/codemirror/ai/resources.ts +90 -0
- package/src/core/codemirror/cells/extensions.ts +387 -0
- package/src/core/codemirror/cells/state.ts +32 -0
- package/src/core/codemirror/cells/traceback-decorations.ts +111 -0
- package/src/core/codemirror/cm.ts +267 -0
- package/src/core/codemirror/compat/__tests__/jupyter.test.ts +136 -0
- package/src/core/codemirror/compat/jupyter.tsx +244 -0
- package/src/core/codemirror/completion/Autocompleter.ts +172 -0
- package/src/core/codemirror/completion/__tests__/hints.test.ts +84 -0
- package/src/core/codemirror/completion/__tests__/keymap.test.ts +44 -0
- package/src/core/codemirror/completion/completer.ts +58 -0
- package/src/core/codemirror/completion/hints.ts +143 -0
- package/src/core/codemirror/completion/keymap.ts +70 -0
- package/src/core/codemirror/completion/utils.ts +18 -0
- package/src/core/codemirror/completion/variable-completions.ts +100 -0
- package/src/core/codemirror/config/extension.ts +63 -0
- package/src/core/codemirror/config/types.ts +10 -0
- package/src/core/codemirror/copilot/__tests__/copilot.test.ts +260 -0
- package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +209 -0
- package/src/core/codemirror/copilot/__tests__/trim-utils.test.ts +291 -0
- package/src/core/codemirror/copilot/client.ts +123 -0
- package/src/core/codemirror/copilot/copilot-config.tsx +285 -0
- package/src/core/codemirror/copilot/extension.ts +285 -0
- package/src/core/codemirror/copilot/getCodes.ts +130 -0
- package/src/core/codemirror/copilot/language-server.ts +255 -0
- package/src/core/codemirror/copilot/state.ts +66 -0
- package/src/core/codemirror/copilot/trim-utils.ts +33 -0
- package/src/core/codemirror/copilot/types.ts +41 -0
- package/src/core/codemirror/editing/__tests__/commands.test.ts +106 -0
- package/src/core/codemirror/editing/__tests__/debugging.test.ts +193 -0
- package/src/core/codemirror/editing/commands.ts +25 -0
- package/src/core/codemirror/editing/debugging.ts +58 -0
- package/src/core/codemirror/editing/extensions.ts +4 -0
- package/src/core/codemirror/extensions.ts +95 -0
- package/src/core/codemirror/facet.ts +19 -0
- package/src/core/codemirror/find-replace/__tests__/navigate.test.ts +695 -0
- package/src/core/codemirror/find-replace/extension.ts +41 -0
- package/src/core/codemirror/find-replace/navigate.ts +221 -0
- package/src/core/codemirror/find-replace/query.ts +31 -0
- package/src/core/codemirror/find-replace/search-highlight.ts +148 -0
- package/src/core/codemirror/find-replace/state.ts +167 -0
- package/src/core/codemirror/format.ts +120 -0
- package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +205 -0
- package/src/core/codemirror/go-to-definition/commands.ts +80 -0
- package/src/core/codemirror/go-to-definition/extension.ts +23 -0
- package/src/core/codemirror/go-to-definition/underline.ts +223 -0
- package/src/core/codemirror/go-to-definition/utils.ts +126 -0
- package/src/core/codemirror/keymaps/__tests__/keymaps.test.ts +43 -0
- package/src/core/codemirror/keymaps/__tests__/vimrc.test.ts +121 -0
- package/src/core/codemirror/keymaps/keymaps.ts +163 -0
- package/src/core/codemirror/keymaps/vim.ts +348 -0
- package/src/core/codemirror/keymaps/vimrc.ts +149 -0
- package/src/core/codemirror/language/LanguageAdapters.ts +23 -0
- package/src/core/codemirror/language/__tests__/ast.test.ts +124 -0
- package/src/core/codemirror/language/__tests__/extension.test.ts +260 -0
- package/src/core/codemirror/language/__tests__/indentOneTab.test.ts +31 -0
- package/src/core/codemirror/language/__tests__/markdown.test.ts +495 -0
- package/src/core/codemirror/language/__tests__/sql.test.ts +1640 -0
- package/src/core/codemirror/language/__tests__/utils.test.ts +166 -0
- package/src/core/codemirror/language/commands.ts +59 -0
- package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +163 -0
- package/src/core/codemirror/language/embedded/embedded-python.ts +131 -0
- package/src/core/codemirror/language/embedded/latex.ts +257 -0
- package/src/core/codemirror/language/extension.ts +322 -0
- package/src/core/codemirror/language/languages/markdown.ts +261 -0
- package/src/core/codemirror/language/languages/python.ts +329 -0
- package/src/core/codemirror/language/languages/sql/completion-sources.tsx +99 -0
- package/src/core/codemirror/language/languages/sql/completion-store.ts +191 -0
- package/src/core/codemirror/language/languages/sql/sql.ts +545 -0
- package/src/core/codemirror/language/languages/sql/utils.ts +42 -0
- package/src/core/codemirror/language/metadata.ts +71 -0
- package/src/core/codemirror/language/panel/markdown.tsx +63 -0
- package/src/core/codemirror/language/panel/panel.tsx +197 -0
- package/src/core/codemirror/language/panel/sql.tsx +132 -0
- package/src/core/codemirror/language/types.ts +41 -0
- package/src/core/codemirror/language/utils/ast.ts +84 -0
- package/src/core/codemirror/language/utils/indentOneTab.ts +9 -0
- package/src/core/codemirror/language/utils/quotes.ts +18 -0
- package/src/core/codemirror/language/utils.ts +78 -0
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +860 -0
- package/src/core/codemirror/lsp/federated-lsp.ts +235 -0
- package/src/core/codemirror/lsp/lens.ts +130 -0
- package/src/core/codemirror/lsp/notebook-lsp.ts +604 -0
- package/src/core/codemirror/lsp/transports.ts +31 -0
- package/src/core/codemirror/lsp/types.ts +55 -0
- package/src/core/codemirror/lsp/utils.ts +11 -0
- package/src/core/codemirror/markdown/__tests__/commands.test.ts +522 -0
- package/src/core/codemirror/markdown/commands.ts +478 -0
- package/src/core/codemirror/markdown/completions.ts +273 -0
- package/src/core/codemirror/markdown/extension.ts +106 -0
- package/src/core/codemirror/misc/__tests__/dnd.test.ts +111 -0
- package/src/core/codemirror/misc/__tests__/paste.test.ts +239 -0
- package/src/core/codemirror/misc/dnd.ts +48 -0
- package/src/core/codemirror/misc/paste.ts +181 -0
- package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +132 -0
- package/src/core/codemirror/placeholder/extensions.ts +99 -0
- package/src/core/codemirror/react-dom/createPanel.tsx +39 -0
- package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +1222 -0
- package/src/core/codemirror/reactive-references/analyzer.ts +608 -0
- package/src/core/codemirror/reactive-references/extension.ts +154 -0
- package/src/core/codemirror/readonly/__tests__/extension.test.ts +55 -0
- package/src/core/codemirror/readonly/extension.ts +187 -0
- package/src/core/codemirror/rtc/extension.ts +450 -0
- package/src/core/codemirror/rtc/loro/awareness.ts +496 -0
- package/src/core/codemirror/rtc/loro/colors.ts +38 -0
- package/src/core/codemirror/rtc/loro/sync.ts +159 -0
- package/src/core/codemirror/theme/__tests__/light.test.ts +136 -0
- package/src/core/codemirror/theme/dark.ts +50 -0
- package/src/core/codemirror/theme/light.ts +58 -0
- package/src/core/codemirror/types.ts +5 -0
- package/src/core/codemirror/utils.ts +103 -0
- package/src/core/codemirror/vim/cursor-visibility.ts +58 -0
- package/src/core/config/__tests__/config-schema.test.ts +232 -0
- package/src/core/config/capabilities.ts +15 -0
- package/src/core/config/config-schema.ts +296 -0
- package/src/core/config/config.ts +105 -0
- package/src/core/config/feature-flag.tsx +62 -0
- package/src/core/config/if-capability.tsx +19 -0
- package/src/core/config/widths.ts +5 -0
- package/src/core/constants.ts +52 -0
- package/src/core/datasets/__tests__/all-tables.test.ts +466 -0
- package/src/core/datasets/__tests__/data-source.test.ts +461 -0
- package/src/core/datasets/data-source-connections.ts +334 -0
- package/src/core/datasets/engines.ts +10 -0
- package/src/core/datasets/request-registry.ts +34 -0
- package/src/core/datasets/state.ts +143 -0
- package/src/core/datasets/types.ts +38 -0
- package/src/core/debugger/state.ts +10 -0
- package/src/core/documentation/state.ts +13 -0
- package/src/core/dom/__tests__/htmlUtils.test.ts +22 -0
- package/src/core/dom/__tests__/outline.test.ts +370 -0
- package/src/core/dom/defineCustomElement.ts +23 -0
- package/src/core/dom/events.ts +94 -0
- package/src/core/dom/htmlUtils.ts +75 -0
- package/src/core/dom/outline.ts +123 -0
- package/src/core/dom/ui-element.css +8 -0
- package/src/core/dom/ui-element.ts +249 -0
- package/src/core/dom/uiregistry.ts +209 -0
- package/src/core/edit-app.tsx +189 -0
- package/src/core/errors/__tests__/errors.test.ts +62 -0
- package/src/core/errors/__tests__/utils.test.ts +108 -0
- package/src/core/errors/errors.ts +96 -0
- package/src/core/errors/state.ts +44 -0
- package/src/core/errors/utils.ts +67 -0
- package/src/core/export/hooks.ts +60 -0
- package/src/core/functions/FunctionRegistry.ts +18 -0
- package/src/core/hotkeys/__tests__/shortcuts.test.ts +166 -0
- package/src/core/hotkeys/actions.ts +38 -0
- package/src/core/hotkeys/hotkeys.ts +511 -0
- package/src/core/hotkeys/shortcuts.ts +117 -0
- package/src/core/islands/__tests__/parse.test.ts +89 -0
- package/src/core/islands/bridge.ts +196 -0
- package/src/core/islands/components/output-wrapper.tsx +154 -0
- package/src/core/islands/components/web-components.tsx +120 -0
- package/src/core/islands/islands.css +14 -0
- package/src/core/islands/main.ts +200 -0
- package/src/core/islands/parse.ts +161 -0
- package/src/core/islands/state.ts +30 -0
- package/src/core/islands/toast.ts +41 -0
- package/src/core/islands/utils.ts +5 -0
- package/src/core/islands/worker/controller.ts +52 -0
- package/src/core/islands/worker/worker.tsx +178 -0
- package/src/core/kernel/RuntimeState.ts +94 -0
- package/src/core/kernel/__tests__/RuntimeState.test.ts +57 -0
- package/src/core/kernel/__tests__/handlers.test.ts +61 -0
- package/src/core/kernel/__tests__/session.test.ts +10 -0
- package/src/core/kernel/handlers.ts +159 -0
- package/src/core/kernel/messages.ts +54 -0
- package/src/core/kernel/queryParamHandlers.ts +39 -0
- package/src/core/kernel/session.ts +50 -0
- package/src/core/layout/layout.ts +99 -0
- package/src/core/layout/useTogglePresenting.ts +50 -0
- package/src/core/meta/globals.ts +25 -0
- package/src/core/meta/state.ts +25 -0
- package/src/core/mime.ts +9 -0
- package/src/core/mode.ts +80 -0
- package/src/core/network/DeferredRequestRegistry.ts +71 -0
- package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +37 -0
- package/src/core/network/__tests__/api.test.ts +80 -0
- package/src/core/network/api.ts +145 -0
- package/src/core/network/auth.ts +13 -0
- package/src/core/network/connection.ts +33 -0
- package/src/core/network/requests-network.ts +398 -0
- package/src/core/network/requests-static.ts +88 -0
- package/src/core/network/requests-toasting.ts +91 -0
- package/src/core/network/requests.ts +24 -0
- package/src/core/network/resolve.ts +17 -0
- package/src/core/network/types.ts +188 -0
- package/src/core/packages/toast-components.tsx +88 -0
- package/src/core/packages/useInstallPackage.ts +46 -0
- package/src/core/rtc/state.ts +20 -0
- package/src/core/run-app.tsx +69 -0
- package/src/core/runtime/__tests__/config.test.ts +173 -0
- package/src/core/runtime/__tests__/createWsUrl.test.ts +61 -0
- package/src/core/runtime/__tests__/runtime.test.ts +603 -0
- package/src/core/runtime/config.ts +49 -0
- package/src/core/runtime/runtime.ts +277 -0
- package/src/core/runtime/types.ts +7 -0
- package/src/core/runtime/utils.ts +9 -0
- package/src/core/saving/file-state.ts +15 -0
- package/src/core/saving/filename.ts +55 -0
- package/src/core/saving/save-component.tsx +274 -0
- package/src/core/saving/state.ts +51 -0
- package/src/core/saving/useAutoSave.ts +68 -0
- package/src/core/secrets/request-registry.ts +16 -0
- package/src/core/slots/slots.ts +9 -0
- package/src/core/state/__tests__/jotai.test.ts +25 -0
- package/src/core/state/jotai.ts +69 -0
- package/src/core/state/observable.ts +23 -0
- package/src/core/static/__tests__/download-html.test.ts +41 -0
- package/src/core/static/__tests__/files.test.ts +494 -0
- package/src/core/static/__tests__/virtual-file-tracker.test.ts +92 -0
- package/src/core/static/download-html.ts +59 -0
- package/src/core/static/files.ts +150 -0
- package/src/core/static/static-state.ts +19 -0
- package/src/core/static/types.ts +8 -0
- package/src/core/static/virtual-file-tracker.ts +83 -0
- package/src/core/variables/__tests__/state.test.ts +148 -0
- package/src/core/variables/state.ts +81 -0
- package/src/core/variables/types.ts +22 -0
- package/src/core/vscode/vscode-bindings.ts +176 -0
- package/src/core/wasm/PyodideLoader.tsx +72 -0
- package/src/core/wasm/__tests__/router.test.ts +57 -0
- package/src/core/wasm/__tests__/share.test.ts +35 -0
- package/src/core/wasm/__tests__/state.test.ts +124 -0
- package/src/core/wasm/__tests__/store.test.ts +55 -0
- package/src/core/wasm/bridge.ts +622 -0
- package/src/core/wasm/router.ts +39 -0
- package/src/core/wasm/rpc.ts +32 -0
- package/src/core/wasm/share.ts +15 -0
- package/src/core/wasm/state.ts +21 -0
- package/src/core/wasm/store.ts +122 -0
- package/src/core/wasm/utils.ts +12 -0
- package/src/core/wasm/worker/bootstrap.ts +223 -0
- package/src/core/wasm/worker/constants.ts +2 -0
- package/src/core/wasm/worker/fs.ts +90 -0
- package/src/core/wasm/worker/getController.ts +16 -0
- package/src/core/wasm/worker/getFS.ts +9 -0
- package/src/core/wasm/worker/getMarimoWheel.ts +15 -0
- package/src/core/wasm/worker/getPyodideVersion.ts +10 -0
- package/src/core/wasm/worker/message-buffer.ts +32 -0
- package/src/core/wasm/worker/save-worker.ts +107 -0
- package/src/core/wasm/worker/tracer.ts +7 -0
- package/src/core/wasm/worker/types.ts +97 -0
- package/src/core/wasm/worker/worker.ts +375 -0
- package/src/core/websocket/StaticWebsocket.ts +61 -0
- package/src/core/websocket/connection-utils.ts +59 -0
- package/src/core/websocket/types.ts +43 -0
- package/src/core/websocket/useMarimoWebSocket.tsx +386 -0
- package/src/core/websocket/useWebSocket.tsx +88 -0
- package/src/css/admonition.css +127 -0
- package/src/css/app/App.css +77 -0
- package/src/css/app/Cell.css +433 -0
- package/src/css/app/Header.css +25 -0
- package/src/css/app/codemirror-completions.css +308 -0
- package/src/css/app/codemirror.css +136 -0
- package/src/css/app/fonts.css +50 -0
- package/src/css/app/print.css +86 -0
- package/src/css/app/reset.css +18 -0
- package/src/css/codehilite.css +354 -0
- package/src/css/common.css +45 -0
- package/src/css/globals.css +176 -0
- package/src/css/index.css +10 -0
- package/src/css/katex-fonts.css +214 -0
- package/src/css/katex.min.css +1182 -0
- package/src/css/md-tooltip.css +52 -0
- package/src/css/md.css +365 -0
- package/src/css/progress.css +93 -0
- package/src/css/table.css +45 -0
- package/src/custom.d.ts +24 -0
- package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
- package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
- package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
- package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
- package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
- package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
- package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
- package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
- package/src/hooks/__tests__/useBoolean.test.tsx +33 -0
- package/src/hooks/__tests__/useDebounce.test.tsx +182 -0
- package/src/hooks/__tests__/useEffectSkipFirstRender.test.tsx +42 -0
- package/src/hooks/__tests__/useEventListener.test.tsx +148 -0
- package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +76 -0
- package/src/hooks/__tests__/useInterval.test.tsx +70 -0
- package/src/hooks/__tests__/usePackageMetadata.test.tsx +219 -0
- package/src/hooks/__tests__/useResizeHandle.test.tsx +240 -0
- package/src/hooks/__tests__/useResizeObserver.test.tsx +86 -0
- package/src/hooks/__tests__/useTimer.test.tsx +62 -0
- package/src/hooks/debug.ts +116 -0
- package/src/hooks/useAsyncData.ts +392 -0
- package/src/hooks/useAudioRecorder.ts +89 -0
- package/src/hooks/useAutoGrowInputProps.ts +56 -0
- package/src/hooks/useBoolean.ts +26 -0
- package/src/hooks/useCellRenderCount.ts +15 -0
- package/src/hooks/useDebounce.ts +95 -0
- package/src/hooks/useDeepCompareMemoize.ts +22 -0
- package/src/hooks/useEffectSkipFirstRender.ts +24 -0
- package/src/hooks/useElapsedTime.ts +25 -0
- package/src/hooks/useEvent.ts +2 -0
- package/src/hooks/useEventListener.ts +68 -0
- package/src/hooks/useHotkey.ts +77 -0
- package/src/hooks/useInternalStateWithSync.ts +26 -0
- package/src/hooks/useInterval.ts +49 -0
- package/src/hooks/useIsDragging.tsx +39 -0
- package/src/hooks/useLifecycle.ts +20 -0
- package/src/hooks/useLocalStorage.ts +22 -0
- package/src/hooks/useNonce.ts +9 -0
- package/src/hooks/usePackageMetadata.ts +52 -0
- package/src/hooks/useRecentCommands.ts +25 -0
- package/src/hooks/useResizeHandle.ts +110 -0
- package/src/hooks/useResizeObserver.ts +101 -0
- package/src/hooks/useScript.ts +90 -0
- package/src/hooks/useSelectAllContent.ts +42 -0
- package/src/hooks/useTimer.ts +48 -0
- package/src/main.tsx +20 -0
- package/src/mount.tsx +331 -0
- package/src/plugins/core/BadPlugin.tsx +72 -0
- package/src/plugins/core/RenderHTML.tsx +136 -0
- package/src/plugins/core/__test__/RenderHTML.test.ts +146 -0
- package/src/plugins/core/builder.ts +59 -0
- package/src/plugins/core/registerReactComponent.tsx +535 -0
- package/src/plugins/core/rpc.ts +55 -0
- package/src/plugins/core/sidebar-element.tsx +104 -0
- package/src/plugins/impl/ButtonPlugin.tsx +95 -0
- package/src/plugins/impl/CheckboxPlugin.tsx +56 -0
- package/src/plugins/impl/CodeEditorPlugin.tsx +119 -0
- package/src/plugins/impl/DataEditorPlugin.tsx +181 -0
- package/src/plugins/impl/DataTablePlugin.tsx +948 -0
- package/src/plugins/impl/DatePickerPlugin.tsx +74 -0
- package/src/plugins/impl/DateRangePlugin.tsx +82 -0
- package/src/plugins/impl/DateTimePickerPlugin.tsx +76 -0
- package/src/plugins/impl/DictPlugin.tsx +80 -0
- package/src/plugins/impl/DropdownPlugin.tsx +102 -0
- package/src/plugins/impl/FileBrowserPlugin.tsx +500 -0
- package/src/plugins/impl/FileUploadPlugin.tsx +302 -0
- package/src/plugins/impl/FormPlugin.tsx +294 -0
- package/src/plugins/impl/MicrophonePlugin.tsx +58 -0
- package/src/plugins/impl/MultiselectPlugin.tsx +207 -0
- package/src/plugins/impl/NumberPlugin.tsx +84 -0
- package/src/plugins/impl/RadioPlugin.tsx +77 -0
- package/src/plugins/impl/RangeSliderPlugin.tsx +163 -0
- package/src/plugins/impl/RefreshPlugin.tsx +158 -0
- package/src/plugins/impl/SearchableSelect.tsx +122 -0
- package/src/plugins/impl/SliderPlugin.tsx +166 -0
- package/src/plugins/impl/SwitchPlugin.tsx +48 -0
- package/src/plugins/impl/TabsPlugin.tsx +83 -0
- package/src/plugins/impl/TextAreaPlugin.tsx +131 -0
- package/src/plugins/impl/TextInputPlugin.tsx +169 -0
- package/src/plugins/impl/__tests__/DateTimePickerPlugin.test.tsx +45 -0
- package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +178 -0
- package/src/plugins/impl/__tests__/MultiSelectPlugin.test.ts +41 -0
- package/src/plugins/impl/__tests__/NumberPlugin.test.tsx +144 -0
- package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +269 -0
- package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +181 -0
- package/src/plugins/impl/anywidget/__tests__/model.test.ts +370 -0
- package/src/plugins/impl/anywidget/model.ts +314 -0
- package/src/plugins/impl/chat/ChatPlugin.tsx +98 -0
- package/src/plugins/impl/chat/chat-ui.tsx +713 -0
- package/src/plugins/impl/chat/types.ts +39 -0
- package/src/plugins/impl/code/LazyAnyLanguageCodeMirror.tsx +6 -0
- package/src/plugins/impl/code/any-language-editor.tsx +68 -0
- package/src/plugins/impl/common/error-banner.tsx +111 -0
- package/src/plugins/impl/common/intent.ts +18 -0
- package/src/plugins/impl/common/labeled.tsx +69 -0
- package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +876 -0
- package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +452 -0
- package/src/plugins/impl/data-editor/components.tsx +179 -0
- package/src/plugins/impl/data-editor/data-utils.ts +123 -0
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +651 -0
- package/src/plugins/impl/data-editor/glide-utils.ts +200 -0
- package/src/plugins/impl/data-editor/themes.ts +49 -0
- package/src/plugins/impl/data-editor/types.ts +44 -0
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +268 -0
- package/src/plugins/impl/data-explorer/DataExplorerPlugin.tsx +31 -0
- package/src/plugins/impl/data-explorer/components/column-summary.tsx +174 -0
- package/src/plugins/impl/data-explorer/components/icons.tsx +30 -0
- package/src/plugins/impl/data-explorer/components/query-form.tsx +296 -0
- package/src/plugins/impl/data-explorer/encoding.ts +107 -0
- package/src/plugins/impl/data-explorer/functions/function.ts +83 -0
- package/src/plugins/impl/data-explorer/functions/types.ts +32 -0
- package/src/plugins/impl/data-explorer/marks.ts +21 -0
- package/src/plugins/impl/data-explorer/queries/field-suggestion.ts +65 -0
- package/src/plugins/impl/data-explorer/queries/histograms.ts +41 -0
- package/src/plugins/impl/data-explorer/queries/queries.ts +204 -0
- package/src/plugins/impl/data-explorer/queries/removeUndefined.ts +11 -0
- package/src/plugins/impl/data-explorer/queries/types.ts +54 -0
- package/src/plugins/impl/data-explorer/queries/utils.ts +85 -0
- package/src/plugins/impl/data-explorer/spec.ts +28 -0
- package/src/plugins/impl/data-explorer/state/reducer.ts +92 -0
- package/src/plugins/impl/data-explorer/state/types.ts +28 -0
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +303 -0
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +1600 -0
- package/src/plugins/impl/data-frames/forms/__tests__/form.test.tsx +67 -0
- package/src/plugins/impl/data-frames/forms/context.ts +13 -0
- package/src/plugins/impl/data-frames/forms/datatype-icon.tsx +43 -0
- package/src/plugins/impl/data-frames/forms/renderers.tsx +518 -0
- package/src/plugins/impl/data-frames/panel.tsx +308 -0
- package/src/plugins/impl/data-frames/schema.ts +211 -0
- package/src/plugins/impl/data-frames/types.ts +91 -0
- package/src/plugins/impl/data-frames/utils/__tests__/getUpdatedColumnTypes.test.ts +191 -0
- package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +116 -0
- package/src/plugins/impl/data-frames/utils/getUpdatedColumnTypes.ts +67 -0
- package/src/plugins/impl/data-frames/utils/operators.ts +202 -0
- package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +39 -0
- package/src/plugins/impl/multiselectFilterFn.tsx +22 -0
- package/src/plugins/impl/panel/PanelPlugin.tsx +266 -0
- package/src/plugins/impl/panel/__tests__/utils.test.ts +119 -0
- package/src/plugins/impl/panel/utils.ts +104 -0
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +300 -0
- package/src/plugins/impl/plotly/__tests__/parse-from-template.test.ts +73 -0
- package/src/plugins/impl/plotly/mapbox.css +359 -0
- package/src/plugins/impl/plotly/parse-from-template.ts +58 -0
- package/src/plugins/impl/plotly/plotly.css +280 -0
- package/src/plugins/impl/vega/VegaPlugin.tsx +40 -0
- package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +1210 -0
- package/src/plugins/impl/vega/__tests__/encodings.test.ts +172 -0
- package/src/plugins/impl/vega/__tests__/loader.test.ts +73 -0
- package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +575 -0
- package/src/plugins/impl/vega/__tests__/params.test.ts +52 -0
- package/src/plugins/impl/vega/__tests__/resolve-data.test.ts +236 -0
- package/src/plugins/impl/vega/__tests__/vega.test.ts +603 -0
- package/src/plugins/impl/vega/batched.ts +41 -0
- package/src/plugins/impl/vega/encodings.ts +111 -0
- package/src/plugins/impl/vega/fix-relative-url.ts +15 -0
- package/src/plugins/impl/vega/formats.ts +25 -0
- package/src/plugins/impl/vega/loader.ts +320 -0
- package/src/plugins/impl/vega/make-selectable.ts +248 -0
- package/src/plugins/impl/vega/marks.ts +36 -0
- package/src/plugins/impl/vega/params.ts +192 -0
- package/src/plugins/impl/vega/resolve-data.ts +101 -0
- package/src/plugins/impl/vega/types.ts +32 -0
- package/src/plugins/impl/vega/utils.ts +46 -0
- package/src/plugins/impl/vega/vega-component.tsx +271 -0
- package/src/plugins/impl/vega/vega-loader.ts +53 -0
- package/src/plugins/impl/vega/vega.css +31 -0
- package/src/plugins/layout/AccordionPlugin.tsx +63 -0
- package/src/plugins/layout/CalloutPlugin.tsx +34 -0
- package/src/plugins/layout/DownloadPlugin.tsx +136 -0
- package/src/plugins/layout/ImageComparisonPlugin.tsx +35 -0
- package/src/plugins/layout/JsonOutputPlugin.tsx +47 -0
- package/src/plugins/layout/LazyPlugin.tsx +98 -0
- package/src/plugins/layout/MimeRenderPlugin.tsx +45 -0
- package/src/plugins/layout/NavigationMenuPlugin.tsx +219 -0
- package/src/plugins/layout/ProgressPlugin.tsx +175 -0
- package/src/plugins/layout/RoutesPlugin.tsx +81 -0
- package/src/plugins/layout/StatPlugin.tsx +100 -0
- package/src/plugins/layout/TexPlugin.tsx +102 -0
- package/src/plugins/layout/__test__/ProgressPlugin.test.ts +26 -0
- package/src/plugins/layout/carousel/CarouselPlugin.tsx +48 -0
- package/src/plugins/layout/mermaid/MermaidPlugin.tsx +26 -0
- package/src/plugins/layout/mermaid/mermaid.tsx +94 -0
- package/src/plugins/layout/navigation-menu.css +37 -0
- package/src/plugins/plugins.ts +116 -0
- package/src/plugins/stateless-plugin.ts +29 -0
- package/src/plugins/types.ts +82 -0
- package/src/stories/__fixtures__/vega.ts +225 -0
- package/src/stories/accordion.stories.tsx +100 -0
- package/src/stories/alert-dialog.mdx +42 -0
- package/src/stories/app-chrome.stories.tsx +26 -0
- package/src/stories/button.stories.tsx +90 -0
- package/src/stories/callout.stories.tsx +73 -0
- package/src/stories/cell-status.stories.tsx +145 -0
- package/src/stories/cell.stories.tsx +336 -0
- package/src/stories/checkbox.stories.tsx +44 -0
- package/src/stories/colors.stories.tsx +156 -0
- package/src/stories/combobox.stories.tsx +133 -0
- package/src/stories/context-menu.mdx +23 -0
- package/src/stories/data-explorer.stories.tsx +30 -0
- package/src/stories/data-table.stories.tsx +130 -0
- package/src/stories/dataframe.stories.tsx +46 -0
- package/src/stories/debugger.stories.tsx +34 -0
- package/src/stories/dialog.stories.tsx +80 -0
- package/src/stories/dropdown-menu.mdx +159 -0
- package/src/stories/editor-inputs.stories.tsx +47 -0
- package/src/stories/editor.stories.tsx +91 -0
- package/src/stories/file-upload.stories.tsx +103 -0
- package/src/stories/form-wrapper.stories.tsx +147 -0
- package/src/stories/input.stories.tsx +56 -0
- package/src/stories/label.mdx +9 -0
- package/src/stories/log-viewer.stories.tsx +74 -0
- package/src/stories/number-field.mdx +17 -0
- package/src/stories/number-field.stories.tsx +41 -0
- package/src/stories/progress-component.stories.tsx +74 -0
- package/src/stories/progress.stories.tsx +33 -0
- package/src/stories/radio-group.mdx +54 -0
- package/src/stories/select-native.stories.tsx +49 -0
- package/src/stories/select.stories.tsx +92 -0
- package/src/stories/slider.stories.tsx +27 -0
- package/src/stories/stat.stories.tsx +123 -0
- package/src/stories/switch.mdx +20 -0
- package/src/stories/switchable-multi-select.stories.tsx +31 -0
- package/src/stories/tabs.mdx +59 -0
- package/src/stories/textarea.stories.tsx +58 -0
- package/src/stories/theme.stories.tsx +111 -0
- package/src/stories/tooltip.mdx +32 -0
- package/src/stories/typography.stories.tsx +80 -0
- package/src/stories/variables.stories.tsx +58 -0
- package/src/stories/vega.stories.tsx +57 -0
- package/src/theme/ThemeProvider.tsx +32 -0
- package/src/theme/namespace.tsx +23 -0
- package/src/theme/useTheme.ts +89 -0
- package/src/utils/Deferred.ts +20 -0
- package/src/utils/Logger.ts +91 -0
- package/src/utils/__tests__/Deferred.test.ts +38 -0
- package/src/utils/__tests__/arrays.test.ts +130 -0
- package/src/utils/__tests__/batch-requests.test.ts +60 -0
- package/src/utils/__tests__/blob.test.ts +52 -0
- package/src/utils/__tests__/cell-urls.test.ts +92 -0
- package/src/utils/__tests__/createReducer.test.ts +184 -0
- package/src/utils/__tests__/data-views.test.ts +112 -0
- package/src/utils/__tests__/dates.test.ts +188 -0
- package/src/utils/__tests__/edit-distance.test.ts +302 -0
- package/src/utils/__tests__/errors.test.ts +54 -0
- package/src/utils/__tests__/filenames.test.ts +30 -0
- package/src/utils/__tests__/id-tree.test.ts +1994 -0
- package/src/utils/__tests__/json-parser.test.ts +79 -0
- package/src/utils/__tests__/local-storage.test.ts +77 -0
- package/src/utils/__tests__/lru.test.ts +74 -0
- package/src/utils/__tests__/maps.test.ts +91 -0
- package/src/utils/__tests__/math.test.ts +29 -0
- package/src/utils/__tests__/multi-map.test.ts +295 -0
- package/src/utils/__tests__/numbers.test.ts +76 -0
- package/src/utils/__tests__/path.test.ts +170 -0
- package/src/utils/__tests__/pluralize.test.ts +47 -0
- package/src/utils/__tests__/routes.test.ts +134 -0
- package/src/utils/__tests__/sets.test.ts +41 -0
- package/src/utils/__tests__/shallow-compare.test.ts +55 -0
- package/src/utils/__tests__/strings.test.ts +68 -0
- package/src/utils/__tests__/time.test.ts +61 -0
- package/src/utils/__tests__/timed-cache.test.ts +142 -0
- package/src/utils/__tests__/timeout.test.ts +153 -0
- package/src/utils/__tests__/traceback.test.ts +34 -0
- package/src/utils/__tests__/url.test.ts +100 -0
- package/src/utils/__tests__/urls.test.ts +10 -0
- package/src/utils/__tests__/versions.test.ts +63 -0
- package/src/utils/__tests__/waitForWs.test.ts +76 -0
- package/src/utils/arrays.ts +75 -0
- package/src/utils/assertExists.ts +12 -0
- package/src/utils/assertNever.ts +20 -0
- package/src/utils/batch-requests.ts +28 -0
- package/src/utils/blob.ts +45 -0
- package/src/utils/cell-urls.ts +31 -0
- package/src/utils/cn.ts +8 -0
- package/src/utils/copy.ts +17 -0
- package/src/utils/createReducer.ts +137 -0
- package/src/utils/data-views.ts +54 -0
- package/src/utils/dates.ts +145 -0
- package/src/utils/dereference.ts +10 -0
- package/src/utils/download.ts +47 -0
- package/src/utils/edit-distance.ts +141 -0
- package/src/utils/errors.ts +63 -0
- package/src/utils/events.ts +85 -0
- package/src/utils/fileToBase64.ts +30 -0
- package/src/utils/filenames.ts +29 -0
- package/src/utils/functions.ts +24 -0
- package/src/utils/id-tree.tsx +1032 -0
- package/src/utils/idle.ts +19 -0
- package/src/utils/invariant.ts +37 -0
- package/src/utils/json/__tests__/base64.test.ts +100 -0
- package/src/utils/json/base64.ts +51 -0
- package/src/utils/json/json-parser.ts +65 -0
- package/src/utils/lazy.ts +30 -0
- package/src/utils/links.ts +11 -0
- package/src/utils/localStorage.ts +132 -0
- package/src/utils/lru.ts +68 -0
- package/src/utils/maps.ts +65 -0
- package/src/utils/math.ts +6 -0
- package/src/utils/mergeRefs.ts +14 -0
- package/src/utils/multi-map.ts +71 -0
- package/src/utils/numbers.ts +124 -0
- package/src/utils/objects.ts +105 -0
- package/src/utils/once.ts +17 -0
- package/src/utils/pathUtils.test.ts +113 -0
- package/src/utils/pathUtils.ts +76 -0
- package/src/utils/paths.ts +67 -0
- package/src/utils/pluralize.ts +35 -0
- package/src/utils/python-poet/__tests__/poet.test.ts +286 -0
- package/src/utils/python-poet/poet.ts +196 -0
- package/src/utils/reload-safe.ts +15 -0
- package/src/utils/repl.ts +23 -0
- package/src/utils/routes.ts +36 -0
- package/src/utils/scroll.ts +38 -0
- package/src/utils/sets.ts +30 -0
- package/src/utils/shallow-compare.ts +30 -0
- package/src/utils/staticImplements.ts +7 -0
- package/src/utils/strings.ts +64 -0
- package/src/utils/time.ts +39 -0
- package/src/utils/timed-cache.ts +52 -0
- package/src/utils/timeout.ts +42 -0
- package/src/utils/traceback.ts +104 -0
- package/src/utils/tracer.ts +106 -0
- package/src/utils/typed.ts +17 -0
- package/src/utils/url.ts +12 -0
- package/src/utils/urls.ts +33 -0
- package/src/utils/uuid.ts +8 -0
- package/src/utils/versions.ts +66 -0
- package/src/utils/vitals.ts +30 -0
- package/src/utils/waitForWs.ts +31 -0
- package/dist/assets/_baseMap-CRSErap7.js +0 -1
- package/dist/assets/channel-DkujgbuA.js +0 -1
- package/dist/assets/classDiagram-M3E45YP4-C27KFaf-.js +0 -1
- package/dist/assets/classDiagram-v2-YAWTLIQI-C27KFaf-.js +0 -1
- package/dist/assets/clone-BcaRetEG.js +0 -1
- package/dist/assets/edit-page-CyEUf7VL.js +0 -163
- package/dist/assets/index-BlxPam9h.css +0 -1
- package/dist/assets/infoDiagram-LHK5PUON-DM8xmmD0.js +0 -2
- package/dist/assets/links-UdVi9TCH.js +0 -17
- package/dist/assets/min-DsZNGHWk.js +0 -1
- package/dist/assets/sortBy-DRXBnSF7.js +0 -1
- package/dist/assets/stateDiagram-v2-5AN5P6BG-BmONtexb.js +0 -1
- package/dist/assets/storage-C6lB9RSO.js +0 -26
- package/dist/assets/time-CjxeuzoW.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as M,K as G,M as k,O as f,P as y,Q as _}from"./index-
|
|
1
|
+
import{J as M,K as G,M as k,O as f,P as y,Q as _}from"./index-DXRsGR8a.js";import{a as x,f as m,c as d,i as l,v,r as z}from"./_baseUniq-CNG96KTl.js";import{ac as N}from"./mermaid-vBmR5b31.js";var J=M(function(o){return x(G(o,1,k,!0))}),a="\0";class b{constructor(t={}){this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return y(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return N(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return N(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return d(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=a,this._children[t]={},this._children[a][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],d(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),d(_(this._in[t]),e),delete this._in[t],delete this._preds[t],d(_(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(e))e=a;else{for(var s=e+="";!l(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==a)return e}}children(t){if(l(t)&&(t=a),this._isCompound){var e=this._children[t];if(e)return _(e)}else{if(t===a)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return _(e)}successors(t){var e=this._sucs[t];if(e)return _(e)}neighbors(t){var e=this.predecessors(t);if(e)return J(e,this.successors(t))}isLeaf(t){return(this.isDirected()?this.successors(t):this.neighbors(t)).length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;d(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),d(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return this._isCompound&&d(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return y(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return v(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return z(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,l(s)||(s=""+s);var h=c(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var u=function(j,P,D,O){var g=""+P,p=""+D;if(!j&&g>p){var F=g;g=p,p=F}var w={v:g,w:p};return O&&(w.name=O),w}(this._isDirected,t,e,s);return t=u.v,e=u.w,Object.freeze(u),this._edgeObjs[h]=u,E(this._preds[e],t),E(this._sucs[t],e),this._in[e][h]=u,this._out[t][h]=u,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?C(this._isDirected,arguments[0]):c(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],L(this._preds[e],t),L(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=v(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=v(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}}function E(o,t){o[t]?o[t]++:o[t]=1}function L(o,t){--o[t]||delete o[t]}function c(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+""+i+""+(l(s)?"\0":s)}function C(o,t){return c(o,t.v,t.w,t.name)}b.prototype._nodeCount=0,b.prototype._edgeCount=0;export{b as G};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{c as
|
|
1
|
+
import{c as A,a as C,T as Y,aQ as he,aW as q,aX as ue,aY as xe,aZ as fe,a_ as X,j as s,a$ as pe,a1 as O,b0 as be,a6 as E,b1 as ge,b2 as ye,b3 as je,b as Z,b4 as ve,b5 as ee,U as P,aK as G,b6 as ke,b7 as we,b8 as te,b9 as Ne,ba as _e,bb as ae,_ as J,bc as Se,bd as ze,be as se,bf as Ce,ao as Me,bg as Ie,bh as Pe,ar as De,au as Te,av as We,bi as Q,bj as Ae,bk as Oe,ac as Re,at as $e,bl as Fe,bm as Le,bn as Ue,bo as Ye,bp as Be,bq as He,br as Ve,bs as qe,bt as oe,Y as Ee}from"./index-DXRsGR8a.js";import{G as Ge,A as Je,o as Qe,B as Ke,a as Xe,M as Ze,Y as et,L as tt,u as at,C as st,S as ot,T as rt,P as nt}from"./links-CHXiAps8.js";import{C as it}from"./circle-play-CR023yIc.js";import"./index-Bi6iLuYs.js";/**
|
|
2
2
|
* @license lucide-react v0.525.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const lt=O("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ct=O("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),dt=O("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),mt=O("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ht={intro:["Introduction",lt,"Get started with marimo basics"],dataflow:["Dataflow",Ge,"Learn how cells interact with each other"],ui:["UI Elements",O("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",Z,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Ee,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",mt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",q,"Using marimo to edit markdown files"]},ut=()=>{const e=C.c(6),{openTutorial:t}=V();let a,r,o,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(dt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(be,{asChild:!0,children:s.jsxs(J,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ge,{className:"w-3 h-3 ml-1"})]})}),e[1]=r):r=e[1],e[2]!==t?(o=he.entries(ht).map(n=>{const[c,m]=n,[h,d,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Qe(l.path)},children:[s.jsx(d,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:h}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=o):o=e[3],e[4]!==o?(i=s.jsxs(ye,{children:[r,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:o})]}),e[4]=o,e[5]=i):i=e[5],i},xt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Xe,url:R.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Ze,url:R.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Ke,url:R.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:et,url:R.youtube},{title:"Changelog",description:"See what's new in marimo",icon:Z,url:R.releasesPage}],ft=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(Y,{Icon:tt,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:xt.map(pt)})]}),e[1]=a):a=e[1],a},Y=e=>{const t=C.c(8),{Icon:a,control:r,children:o}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==o||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,o]}),t[2]=o,t[3]=i,t[4]=n):n=t[4],t[5]!==r||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,r]}),t[5]=r,t[6]=n,t[7]=c):c=t[7],c};function pt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const re=K.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=K.createContext(""),bt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${Je()}-${encodeURIComponent(e)}`}const gt=()=>{const e=C.c(56),[t,a]=P.useState(0),{getRecentFiles:r,getRunningNotebooks:o}=V();let i,n;e[0]!==r?(i=()=>r(),e[0]=r,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=E(i,n);let m,h,d,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(St)},h={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=h):(m=e[3],h=e[4]),at(m,h),e[5]!==o?(d=async()=>{const A=await o();return ae.keyBy(A.files,zt)},e[5]=o,e[6]=d):d=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=E(d,u);let x,f,p,b,g,y,w,j,N,v,S,z,_,M,k,I,W,D,T,$;if(e[9]!==c||e[10]!==l){N=Symbol.for("react.early_return_sentinel");e:{const A=ke(c,l);if(A.error)throw A.error;const X=A.data;if(!X){let U;e[24]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(G,{centered:!0,size:"xlarge"}),e[24]=U):U=e[24],N=U;break e}const[me,B]=X;let F,L;b=me,p=P.Suspense,f=re,w={runningNotebooks:B,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?(F=s.jsx(ut,{}),L=s.jsx(st,{showAppConfig:!1}),e[25]=F,e[26]=L):(F=e[25],L=e[26]);const H=`This will shutdown the notebook server and terminate all running notebooks (${B.size}). You'll lose all data that's in memory.`;e[27]!==H?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[F,L,s.jsx(ot,{description:H})]}),e[27]=H,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),g=s.jsx(_t,{}),y=s.jsx(ft,{}),e[29]=g,e[30]=y,e[31]=_):(g=e[29],y=e[30],_=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(Y,{Icon:it,children:"Running notebooks"}),e[32]=v):v=e[32],S=[...B.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=f,e[13]=p,e[14]=b,e[15]=g,e[16]=y,e[17]=w,e[18]=j,e[19]=N,e[20]=v,e[21]=S,e[22]=z,e[23]=_}else x=e[11],f=e[12],p=e[13],b=e[14],g=e[15],y=e[16],w=e[17],j=e[18],N=e[19],v=e[20],S=e[21],z=e[22],_=e[23];return N!==Symbol.for("react.early_return_sentinel")?N:(e[33]!==x||e[34]!==v||e[35]!==S?(M=s.jsx(x,{header:v,files:S}),e[33]=x,e[34]=v,e[35]=S,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(Y,{Icon:Se,children:"Recent notebooks"}),e[37]=k):k=e[37],e[38]!==b.files?(I=s.jsx(ce,{header:k,files:b.files}),e[38]=b.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(ze,{children:s.jsx(yt,{})}),e[40]=W):W=e[40],e[41]!==g||e[42]!==y||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==_?(D=s.jsxs("div",{className:z,children:[_,g,y,M,I,W]}),e[41]=g,e[42]=y,e[43]=M,e[44]=I,e[45]=z,e[46]=_,e[47]=D):D=e[47],e[48]!==f||e[49]!==w||e[50]!==j||e[51]!==D?(T=s.jsxs(f,{value:w,children:[j,D]}),e[48]=f,e[49]=w,e[50]=j,e[51]=D,e[52]=T):T=e[52],e[53]!==p||e[54]!==T?($=s.jsx(p,{children:T}),e[53]=p,e[54]=T,e[55]=$):$=e[55],$)},yt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=V(),[a,r]=se(bt),[o,i]=P.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:h,error:d,isFetching:u,refetch:l}=E(n,c);if(m){let k;return e[5]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(G,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=k):k=e[5],k}if(d){let k,I;return e[6]!==d?(k=Ce(d),e[6]=d,e[7]=k):k=e[7],e[8]!==k?(I=s.jsx(Le,{kind:"danger",className:"rounded p-4",children:k}),e[8]=k,e[9]=I):I=e[9],I}let x,f,p,b,g,y,w,j,N,v,S,z,_,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ue,{size:13}),f=k=>i(k.target.value),e[10]=x,e[11]=f):(x=e[10],f=e[11]),e[12]!==o?(p=s.jsx(Ve,{id:"search",value:o,icon:x,onChange:f,placeholder:"Search",className:"mb-0 border-border"}),e[12]=o,e[13]=p):p=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(jt,{}),e[14]=b):b=e[14],e[15]!==r?(g=k=>r(!!k),e[15]=r,e[16]=g):g=e[16],e[17]!==a||e[18]!==g?(y=s.jsx(Ye,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:g}),e[17]=a,e[18]=g,e[19]=y):y=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(Be,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=w):w=e[20],e[21]!==p||e[22]!==y?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[p,b,y,w]}),e[21]=p,e[22]=y,e[23]=j):j=e[23],e[24]!==l?(N=s.jsx(He,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=N):N=e[25],e[26]!==u?(v=u&&s.jsx(G,{size:"small"}),e[26]=u,e[27]=v):v=e[27],e[28]!==N||e[29]!==v||e[30]!==j?(S=s.jsxs(Y,{Icon:ct,control:j,children:["Workspace",N,v]}),e[28]=N,e[29]=v,e[30]=j,e[31]=S):S=e[31],e[32]!==o||e[33]!==h.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(vt,{searchText:o,files:h.files})}),e[32]=o,e[33]=h.files,e[34]=z):z=e[34],e[35]!==S||e[36]!==z?(_=s.jsxs("div",{className:"flex flex-col gap-2",children:[S,z]}),e[35]=S,e[36]=z,e[37]=_):_=e[37],e[38]!==_||e[39]!==h.root?(M=s.jsx(ne,{value:h.root,children:_}),e[38]=_,e[39]=h.root,e[40]=M):M=e[40],M},jt=()=>{const e=C.c(5),t=Me(ie);let a,r,o;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(qe,{className:"w-4 h-4 mr-1"}),e[2]=r):r=e[2],e[3]!==a?(o=s.jsxs(J,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[r,"Collapse all"]}),e[3]=a,e[4]=o):o=e[4],o},vt=e=>{const t=C.c(12),{files:a,searchText:r}=e,[o,i]=se(ie),n=Object.keys(o).length===0,c=P.useRef(void 0);let m,h,d,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},h=[n],t[0]=n,t[1]=m,t[2]=h):(m=t[1],h=t[2]),P.useEffect(m,h),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==o||t[5]!==i?(d=async l=>{const x=o[l]??!1;i({...o,[l]:!x})},t[4]=o,t[5]=i,t[6]=d):d=t[6],t[7]!==a||t[8]!==o||t[9]!==r||t[10]!==d?(u=s.jsx(rt,{ref:c,width:"100%",height:500,searchTerm:r,className:"h-full",idAccessor:Ct,data:a,openByDefault:!1,initialOpenState:o,onToggle:d,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Mt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:kt}),t[7]=a,t[8]=o,t[9]=r,t[10]=d,t[11]=u):u=t[11],u},kt=e=>{const t=C.c(19),{node:a,style:r}=e,o=a.data.isDirectory?"directory":Ie(a.data.name),i=Pe[o];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=P.use(ne);let h;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(h=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const b=a.data.path.startsWith(m)&&oe.isAbsolute(a.data.path)?oe.rest(a.data.path,m):a.data.path,g=b.endsWith(".md")||b.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${b}`).toString(),target:le(b),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,g&&s.jsx(q,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:b}),s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=h):h=t[7];const d=h;let u,l,x,f,p;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=De("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=b=>{b.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(wt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==d?(f=d(),t[12]=d,t[13]=f):f=t[13],t[14]!==r||t[15]!==l||t[16]!==x||t[17]!==f?(p=s.jsxs("div",{style:r,className:u,onClick:l,children:[x,f]}),t[14]=r,t[15]=l,t[16]=x,t[17]=f,t[18]=p):p=t[18],p},wt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let r;return t[1]!==a.isOpen?(r=a.isOpen?s.jsx(Te,{className:"w-5 h-5 shrink-0"}):s.jsx(Ae,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=r):r=t[2],r},ce=e=>{const t=C.c(7),{header:a,files:r}=e;if(r.length===0)return null;let o,i,n;return t[0]!==r?(o=r.map(It),t[0]=r,t[1]=o):o=t[1],t[2]!==o?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:o}),t[2]=o,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},Nt=e=>{const t=C.c(40),{file:a}=e;let r;t[0]!==a.path?(r=we(a.path),t[0]=a.path,t[1]=r):r=t[1];const o=r;let i,n,c,m;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==o){const N=te(o?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let v;t[9]!==a.path?(v=a.path.endsWith(".md"),t[9]=a.path,t[10]=v):v=t[10],i=v,n="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",c=a.path,m=N.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=o,t[5]=i,t[6]=n,t[7]=c,t[8]=m}else i=t[5],n=t[6],c=t[7],m=t[8];const h=a.initializationId||a.path;let d,u,l,x,f,p,b,g,y,w,j;return t[11]!==h?(d=le(h),t[11]=h,t[12]=d):d=t[12],t[13]!==i?(u=i&&s.jsx("span",{className:"opacity-80",children:s.jsx(q,{})}),t[13]=i,t[14]=u):u=t[14],t[15]!==a.name||t[16]!==u?(l=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,u]}),t[15]=a.name,t[16]=u,t[17]=l):l=t[17],t[18]!==a.path?(x=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=x):x=t[19],t[20]!==l||t[21]!==x?(f=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[l,x]}),t[20]=l,t[21]=x,t[22]=f):f=t[22],t[23]!==a.path?(p=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=p):p=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=b):b=t[25],t[26]!==p?(g=s.jsxs("div",{className:"flex gap-3 items-center",children:[p,b]}),t[26]=p,t[27]=g):g=t[27],t[28]!==a.lastModified?(y=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:Ne(1e3*a.lastModified)}),t[28]=a.lastModified,t[29]=y):y=t[29],t[30]!==g||t[31]!==y?(w=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[g,y]}),t[30]=g,t[31]=y,t[32]=w):w=t[32],t[33]!==f||t[34]!==w||t[35]!==n||t[36]!==c||t[37]!==m||t[38]!==d?(j=s.jsxs("a",{className:n,href:m,target:d,children:[f,w]},c),t[33]=f,t[34]=w,t[35]=n,t[36]=c,t[37]=m,t[38]=d,t[39]=j):j=t[39],j},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:r,closeModal:o}=_e(),{shutdownSession:i}=V(),{runningNotebooks:n,setRunningNotebooks:c}=P.use(re);if(!n.has(a))return null;let m,h,d;return t[0]!==o||t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),r({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Oe,{onClick:()=>{const l=n.get(a);Re(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Pt))}),o(),We({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=a,t[2]=r,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(nt,{size:14}),t[7]=h):h=t[7],t[8]!==m?(d=s.jsx($e,{content:"Shutdown",children:s.jsx(J,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:h})}),t[8]=m,t[9]=d):d=t[9],d},_t=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Fe(),e[0]=t):t=e[0];const a=t;let r,o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=r):r=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("a",{className:`relative rounded-lg p-6 group
|
|
6
|
+
*/const lt=A("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),ct=A("book-text",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}],["path",{d:"M8 11h8",key:"vwpz6n"}],["path",{d:"M8 7h6",key:"1f0q6e"}]]),dt=A("graduation-cap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]),mt=A("orbit",[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]]),ht={intro:["Introduction",lt,"Get started with marimo basics"],dataflow:["Dataflow",Je,"Learn how cells interact with each other"],ui:["UI Elements",A("panels-top-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]),"Create interactive UI components"],markdown:["Markdown",X,"Format text with parameterized markdown"],plots:["Plots",fe,"Create interactive visualizations"],sql:["SQL",xe,"Query databases directly in marimo"],layout:["Layout",Ge,"Customize the layout of your cells' output"],fileformat:["File format",ue,"Understand marimo's pure-Python file format"],"for-jupyter-users":["For Jupyter users",mt,"Transiting from Jupyter to marimo"],"markdown-format":["Markdown format",q,"Using marimo to edit markdown files"]},ut=()=>{const e=C.c(6),{openTutorial:t}=Y();let a,r,o,i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(dt,{className:"w-4 h-4 mr-2"}),e[0]=a):a=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(be,{asChild:!0,children:s.jsxs(E,{"data-testid":"open-tutorial-button",size:"xs",variant:"outline",children:[a,"Tutorials",s.jsx(ge,{className:"w-3 h-3 ml-1"})]})}),e[1]=r):r=e[1],e[2]!==t?(o=he.entries(ht).map(n=>{const[c,m]=n,[h,d,u]=m;return s.jsxs(pe,{onSelect:async()=>{const l=await t({tutorialId:c});l&&Qe(l.path)},children:[s.jsx(d,{strokeWidth:1.5,className:"w-4 h-4 mr-3 self-start mt-1.5 text-muted-foreground"}),s.jsx("div",{className:"flex items-center",children:s.jsxs("div",{className:"flex flex-col",children:[s.jsx("span",{children:h}),s.jsx("span",{className:"text-xs text-muted-foreground pr-1",children:u})]})})]},c)}),e[2]=t,e[3]=o):o=e[3],e[4]!==o?(i=s.jsxs(ye,{children:[r,s.jsx(je,{side:"bottom",align:"end",className:"no-print",children:o})]}),e[4]=o,e[5]=i):i=e[5],i},xt=[{title:"Documentation",description:"Official marimo documentation and API reference",icon:Ke,url:O.docsPage},{title:"GitHub",description:"View source code, report issues, or contribute",icon:Xe,url:O.githubPage},{title:"Community",description:"Join the marimo Discord community",icon:Ze,url:O.discordLink},{title:"YouTube",description:"Watch tutorials and demos",icon:et,url:O.youtube},{title:"Changelog",description:"See what's new in marimo",icon:X,url:O.releasesPage}],ft=()=>{const e=C.c(2);let t,a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(B,{Icon:tt,children:"Resources"}),e[0]=t):t=e[0],e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsxs("div",{className:"flex flex-col gap-2",children:[t,s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:xt.map(pt)})]}),e[1]=a):a=e[1],a},B=e=>{const t=C.c(8),{Icon:a,control:r,children:o}=e;let i,n,c;return t[0]!==a?(i=s.jsx(a,{className:"h-5 w-5"}),t[0]=a,t[1]=i):i=t[1],t[2]!==o||t[3]!==i?(n=s.jsxs("h2",{className:"flex items-center gap-2 text-xl font-semibold text-muted-foreground select-none",children:[i,o]}),t[2]=o,t[3]=i,t[4]=n):n=t[4],t[5]!==r||t[6]!==n?(c=s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[n,r]}),t[5]=r,t[6]=n,t[7]=c):c=t[7],c};function pt(e){return s.jsxs("a",{href:e.url,target:"_blank",className:"flex items-start gap-3 py-3 px-3 rounded-lg border hover:bg-accent/20 transition-colors shadow-xs",children:[s.jsx(e.icon,{className:"w-5 h-5 mt-1.5 text-primary"}),s.jsxs("div",{children:[s.jsx("h3",{className:"font-medium",children:e.title}),s.jsx("p",{className:"text-sm text-muted-foreground",children:e.description})]})]},e.title)}const re=Z.createContext({runningNotebooks:new Map,setRunningNotebooks:ve.NOOP}),ne=Z.createContext(""),bt=ee("marimo:home:include-markdown",!1,void 0,{getOnInit:!0}),ie=ee("marimo:home:expanded-folders",{},void 0,{getOnInit:!0});function le(e){return`${Ee()}-${encodeURIComponent(e)}`}const gt=()=>{const e=C.c(56),[t,a]=P.useState(0),{getRecentFiles:r,getRunningNotebooks:o}=Y();let i,n;e[0]!==r?(i=()=>r(),e[0]=r,e[1]=i):i=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[2]=n):n=e[2];const c=G(i,n);let m,h,d,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=()=>{a(St)},h={delayMs:1e4,whenVisible:!0},e[3]=m,e[4]=h):(m=e[3],h=e[4]),at(m,h),e[5]!==o?(d=async()=>{const W=await o();return ae.keyBy(W.files,zt)},e[5]=o,e[6]=d):d=e[6],e[7]!==t?(u=[t],e[7]=t,e[8]=u):u=e[8];const l=G(d,u);let x,f,p,b,g,y,w,j,N,v,S,z,_,M,k,I,R,D,T,$;if(e[9]!==c||e[10]!==l){N=Symbol.for("react.early_return_sentinel");e:{const W=ke(c,l);if(W.error)throw W.error;const K=W.data;if(!K){let U;e[24]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(J,{centered:!0,size:"xlarge"}),e[24]=U):U=e[24],N=U;break e}const[me,H]=K;let F,L;b=me,p=P.Suspense,f=re,w={runningNotebooks:H,setRunningNotebooks:l.setData},e[25]===Symbol.for("react.memo_cache_sentinel")?(F=s.jsx(ut,{}),L=s.jsx(st,{showAppConfig:!1}),e[25]=F,e[26]=L):(F=e[25],L=e[26]);const V=`This will shutdown the notebook server and terminate all running notebooks (${H.size}). You'll lose all data that's in memory.`;e[27]!==V?(j=s.jsxs("div",{className:"absolute top-3 right-5 flex gap-3 z-50",children:[F,L,s.jsx(ot,{description:V})]}),e[27]=V,e[28]=j):j=e[28],z="flex flex-col gap-6 max-w-6xl container pt-5 pb-20 z-10",e[29]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx("img",{src:"logo.png",alt:"marimo logo",className:"w-48 mb-2"}),g=s.jsx(_t,{}),y=s.jsx(ft,{}),e[29]=g,e[30]=y,e[31]=_):(g=e[29],y=e[30],_=e[31]),x=ce,e[32]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(B,{Icon:it,children:"Running notebooks"}),e[32]=v):v=e[32],S=[...H.values()]}e[9]=c,e[10]=l,e[11]=x,e[12]=f,e[13]=p,e[14]=b,e[15]=g,e[16]=y,e[17]=w,e[18]=j,e[19]=N,e[20]=v,e[21]=S,e[22]=z,e[23]=_}else x=e[11],f=e[12],p=e[13],b=e[14],g=e[15],y=e[16],w=e[17],j=e[18],N=e[19],v=e[20],S=e[21],z=e[22],_=e[23];return N!==Symbol.for("react.early_return_sentinel")?N:(e[33]!==x||e[34]!==v||e[35]!==S?(M=s.jsx(x,{header:v,files:S}),e[33]=x,e[34]=v,e[35]=S,e[36]=M):M=e[36],e[37]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(B,{Icon:Se,children:"Recent notebooks"}),e[37]=k):k=e[37],e[38]!==b.files?(I=s.jsx(ce,{header:k,files:b.files}),e[38]=b.files,e[39]=I):I=e[39],e[40]===Symbol.for("react.memo_cache_sentinel")?(R=s.jsx(ze,{children:s.jsx(yt,{})}),e[40]=R):R=e[40],e[41]!==g||e[42]!==y||e[43]!==M||e[44]!==I||e[45]!==z||e[46]!==_?(D=s.jsxs("div",{className:z,children:[_,g,y,M,I,R]}),e[41]=g,e[42]=y,e[43]=M,e[44]=I,e[45]=z,e[46]=_,e[47]=D):D=e[47],e[48]!==f||e[49]!==w||e[50]!==j||e[51]!==D?(T=s.jsxs(f,{value:w,children:[j,D]}),e[48]=f,e[49]=w,e[50]=j,e[51]=D,e[52]=T):T=e[52],e[53]!==p||e[54]!==T?($=s.jsx(p,{children:T}),e[53]=p,e[54]=T,e[55]=$):$=e[55],$)},yt=()=>{const e=C.c(41),{getWorkspaceFiles:t}=Y(),[a,r]=se(bt),[o,i]=P.useState("");let n,c;e[0]!==t||e[1]!==a?(n=()=>t({includeMarkdown:a}),e[0]=t,e[1]=a,e[2]=n):n=e[2],e[3]!==a?(c=[a],e[3]=a,e[4]=c):c=e[4];const{isPending:m,data:h,error:d,isFetching:u,refetch:l}=G(n,c);if(m){let k;return e[5]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(J,{centered:!0,size:"xlarge",className:"mt-6"}),e[5]=k):k=e[5],k}if(d){let k,I;return e[6]!==d?(k=Ce(d),e[6]=d,e[7]=k):k=e[7],e[8]!==k?(I=s.jsx(Le,{kind:"danger",className:"rounded p-4",children:k}),e[8]=k,e[9]=I):I=e[9],I}let x,f,p,b,g,y,w,j,N,v,S,z,_,M;return e[10]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Ue,{size:13}),f=k=>i(k.target.value),e[10]=x,e[11]=f):(x=e[10],f=e[11]),e[12]!==o?(p=s.jsx(Ye,{id:"search",value:o,icon:x,onChange:f,placeholder:"Search",className:"mb-0 border-border"}),e[12]=o,e[13]=p):p=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(jt,{}),e[14]=b):b=e[14],e[15]!==r?(g=k=>r(!!k),e[15]=r,e[16]=g):g=e[16],e[17]!==a||e[18]!==g?(y=s.jsx(Be,{"data-testid":"include-markdown-checkbox",id:"include-markdown",checked:a,onCheckedChange:g}),e[17]=a,e[18]=g,e[19]=y):y=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(He,{htmlFor:"include-markdown",children:"Include markdown"}),e[20]=w):w=e[20],e[21]!==p||e[22]!==y?(j=s.jsxs("div",{className:"flex items-center gap-2",children:[p,b,y,w]}),e[21]=p,e[22]=y,e[23]=j):j=e[23],e[24]!==l?(N=s.jsx(Ve,{className:"w-4 h-4 ml-1 cursor-pointer opacity-70 hover:opacity-100",onClick:()=>l()}),e[24]=l,e[25]=N):N=e[25],e[26]!==u?(v=u&&s.jsx(J,{size:"small"}),e[26]=u,e[27]=v):v=e[27],e[28]!==N||e[29]!==v||e[30]!==j?(S=s.jsxs(B,{Icon:ct,control:j,children:["Workspace",N,v]}),e[28]=N,e[29]=v,e[30]=j,e[31]=S):S=e[31],e[32]!==o||e[33]!==h.files?(z=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:s.jsx(vt,{searchText:o,files:h.files})}),e[32]=o,e[33]=h.files,e[34]=z):z=e[34],e[35]!==S||e[36]!==z?(_=s.jsxs("div",{className:"flex flex-col gap-2",children:[S,z]}),e[35]=S,e[36]=z,e[37]=_):_=e[37],e[38]!==_||e[39]!==h.root?(M=s.jsx(ne,{value:h.root,children:_}),e[38]=_,e[39]=h.root,e[40]=M):M=e[40],M},jt=()=>{const e=C.c(5),t=Me(ie);let a,r,o;return e[0]!==t?(a=()=>{t({})},e[0]=t,e[1]=a):a=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(qe,{className:"w-4 h-4 mr-1"}),e[2]=r):r=e[2],e[3]!==a?(o=s.jsxs(E,{variant:"text",size:"sm",className:"h-fit hidden sm:flex",onClick:a,children:[r,"Collapse all"]}),e[3]=a,e[4]=o):o=e[4],o},vt=e=>{const t=C.c(12),{files:a,searchText:r}=e,[o,i]=se(ie),n=Object.keys(o).length===0,c=P.useRef(void 0);let m,h,d,u;if(t[0]!==n?(m=()=>{var l;n&&((l=c.current)==null||l.closeAll())},h=[n],t[0]=n,t[1]=m,t[2]=h):(m=t[1],h=t[2]),P.useEffect(m,h),a.length===0){let l;return t[3]===Symbol.for("react.memo_cache_sentinel")?(l=s.jsx("div",{className:"flex flex-col px-5 py-10 items-center justify-center",children:s.jsx("p",{className:"text-center text-muted-foreground",children:"No files in this workspace"})}),t[3]=l):l=t[3],l}return t[4]!==o||t[5]!==i?(d=async l=>{const x=o[l]??!1;i({...o,[l]:!x})},t[4]=o,t[5]=i,t[6]=d):d=t[6],t[7]!==a||t[8]!==o||t[9]!==r||t[10]!==d?(u=s.jsx(rt,{ref:c,width:"100%",height:500,searchTerm:r,className:"h-full",idAccessor:Ct,data:a,openByDefault:!1,initialOpenState:o,onToggle:d,padding:5,rowHeight:35,indent:15,overscanCount:1e3,renderCursor:Mt,disableDrop:!0,disableDrag:!0,disableEdit:!0,disableMultiSelection:!0,children:kt}),t[7]=a,t[8]=o,t[9]=r,t[10]=d,t[11]=u):u=t[11],u},kt=e=>{const t=C.c(19),{node:a,style:r}=e,o=a.data.isDirectory?"directory":Ie(a.data.name),i=Pe[o];let n;t[0]!==i?(n=s.jsx(i,{className:"w-5 h-5 shrink-0",strokeWidth:1.5}),t[0]=i,t[1]=n):n=t[1];const c=n,m=P.use(ne);let h;t[2]!==c||t[3]!==a.data.isDirectory||t[4]!==a.data.name||t[5]!==a.data.path||t[6]!==m?(h=()=>{if(a.data.isDirectory)return s.jsxs("span",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",children:[c,a.data.name]});const b=a.data.path.startsWith(m)&&oe.isAbsolute(a.data.path)?oe.rest(a.data.path,m):a.data.path,g=b.endsWith(".md")||b.endsWith(".qmd");return s.jsxs("a",{className:"flex items-center pl-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden h-full pr-3 gap-2",href:te(`?file=${b}`).toString(),target:le(b),children:[c,s.jsxs("span",{className:"flex-1 overflow-hidden text-ellipsis",children:[a.data.name,g&&s.jsx(q,{className:"ml-2 inline opacity-80"})]}),s.jsx(de,{filePath:b}),s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 text-primary"})]})},t[2]=c,t[3]=a.data.isDirectory,t[4]=a.data.name,t[5]=a.data.path,t[6]=m,t[7]=h):h=t[7];const d=h;let u,l,x,f,p;return t[8]===Symbol.for("react.memo_cache_sentinel")?(u=De("flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group h-full"),t[8]=u):u=t[8],t[9]!==a?(l=b=>{b.stopPropagation(),a.data.isDirectory&&a.toggle()},x=s.jsx(wt,{node:a}),t[9]=a,t[10]=l,t[11]=x):(l=t[10],x=t[11]),t[12]!==d?(f=d(),t[12]=d,t[13]=f):f=t[13],t[14]!==r||t[15]!==l||t[16]!==x||t[17]!==f?(p=s.jsxs("div",{style:r,className:u,onClick:l,children:[x,f]}),t[14]=r,t[15]=l,t[16]=x,t[17]=f,t[18]=p):p=t[18],p},wt=e=>{const t=C.c(3),{node:a}=e;if(!a.data.isDirectory){let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("span",{className:"w-5 h-5 shrink-0"}),t[0]=o):o=t[0],o}let r;return t[1]!==a.isOpen?(r=a.isOpen?s.jsx(Te,{className:"w-5 h-5 shrink-0"}):s.jsx(We,{className:"w-5 h-5 shrink-0"}),t[1]=a.isOpen,t[2]=r):r=t[2],r},ce=e=>{const t=C.c(7),{header:a,files:r}=e;if(r.length===0)return null;let o,i,n;return t[0]!==r?(o=r.map(It),t[0]=r,t[1]=o):o=t[1],t[2]!==o?(i=s.jsx("div",{className:"flex flex-col divide-y divide-(--slate-3) border rounded overflow-hidden max-h-192 overflow-y-auto shadow-sm bg-background",children:o}),t[2]=o,t[3]=i):i=t[3],t[4]!==a||t[5]!==i?(n=s.jsxs("div",{className:"flex flex-col gap-2",children:[a,i]}),t[4]=a,t[5]=i,t[6]=n):n=t[6],n},Nt=e=>{const t=C.c(40),{file:a}=e;let r;t[0]!==a.path?(r=we(a.path),t[0]=a.path,t[1]=r):r=t[1];const o=r;let i,n,c,m;if(t[2]!==a.initializationId||t[3]!==a.path||t[4]!==o){const N=te(o?`?file=${a.initializationId}&session_id=${a.path}`:`?file=${a.path}`);let v;t[9]!==a.path?(v=a.path.endsWith(".md"),t[9]=a.path,t[10]=v):v=t[10],i=v,n="py-1.5 px-4 hover:bg-(--blue-2) hover:text-primary transition-all duration-300 cursor-pointer group relative flex gap-4 items-center",c=a.path,m=N.toString(),t[2]=a.initializationId,t[3]=a.path,t[4]=o,t[5]=i,t[6]=n,t[7]=c,t[8]=m}else i=t[5],n=t[6],c=t[7],m=t[8];const h=a.initializationId||a.path;let d,u,l,x,f,p,b,g,y,w,j;return t[11]!==h?(d=le(h),t[11]=h,t[12]=d):d=t[12],t[13]!==i?(u=i&&s.jsx("span",{className:"opacity-80",children:s.jsx(q,{})}),t[13]=i,t[14]=u):u=t[14],t[15]!==a.name||t[16]!==u?(l=s.jsxs("span",{className:"flex items-center gap-2",children:[a.name,u]}),t[15]=a.name,t[16]=u,t[17]=l):l=t[17],t[18]!==a.path?(x=s.jsx("p",{title:a.path,className:"text-sm text-muted-foreground overflow-hidden whitespace-nowrap text-ellipsis",children:a.path}),t[18]=a.path,t[19]=x):x=t[19],t[20]!==l||t[21]!==x?(f=s.jsxs("div",{className:"flex flex-col justify-between flex-1",children:[l,x]}),t[20]=l,t[21]=x,t[22]=f):f=t[22],t[23]!==a.path?(p=s.jsx("div",{children:s.jsx(de,{filePath:a.path})}),t[23]=a.path,t[24]=p):p=t[24],t[25]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(Q,{size:20,className:"group-hover:opacity-100 opacity-0 transition-all duration-300 text-primary"}),t[25]=b):b=t[25],t[26]!==p?(g=s.jsxs("div",{className:"flex gap-3 items-center",children:[p,b]}),t[26]=p,t[27]=g):g=t[27],t[28]!==a.lastModified?(y=!!a.lastModified&&s.jsx("div",{className:"text-xs text-muted-foreground opacity-80",children:Ne(1e3*a.lastModified)}),t[28]=a.lastModified,t[29]=y):y=t[29],t[30]!==g||t[31]!==y?(w=s.jsxs("div",{className:"flex flex-col gap-1 items-end",children:[g,y]}),t[30]=g,t[31]=y,t[32]=w):w=t[32],t[33]!==f||t[34]!==w||t[35]!==n||t[36]!==c||t[37]!==m||t[38]!==d?(j=s.jsxs("a",{className:n,href:m,target:d,children:[f,w]},c),t[33]=f,t[34]=w,t[35]=n,t[36]=c,t[37]=m,t[38]=d,t[39]=j):j=t[39],j},de=e=>{const t=C.c(10),{filePath:a}=e,{openConfirm:r,closeModal:o}=_e(),{shutdownSession:i}=Y(),{runningNotebooks:n,setRunningNotebooks:c}=P.use(re);if(!n.has(a))return null;let m,h,d;return t[0]!==o||t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==c||t[5]!==i?(m=u=>{u.stopPropagation(),u.preventDefault(),r({title:"Shutdown",description:"This will terminate the Python kernel. You'll lose all data that's in memory.",variant:"destructive",confirmAction:s.jsx(Ae,{onClick:()=>{const l=n.get(a);Oe(l==null?void 0:l.sessionId),i({sessionId:l.sessionId}).then(x=>{c(ae.keyBy(x.files,Pt))}),o(),Re({description:"Notebook has been shutdown."})},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},t[0]=o,t[1]=a,t[2]=r,t[3]=n,t[4]=c,t[5]=i,t[6]=m):m=t[6],t[7]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(nt,{size:14}),t[7]=h):h=t[7],t[8]!==m?(d=s.jsx($e,{content:"Shutdown",children:s.jsx(E,{size:"icon",variant:"outline",className:"opacity-80 hover:opacity-100 hover:bg-accent text-destructive border-destructive hover:border-destructive hover:text-destructive bg-background hover:bg-(--red-1)",onClick:m,children:h})}),t[8]=m,t[9]=d):d=t[9],d},_t=()=>{const e=C.c(3);let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=Fe(),e[0]=t):t=e[0];const a=t;let r,o;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("h2",{className:"text-lg font-semibold",children:"Create a new notebook"}),e[1]=r):r=e[1],e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("a",{className:`relative rounded-lg p-6 group
|
|
7
7
|
text-primary hover:bg-(--blue-2) shadow-md-solid shadow-accent border bg-(--blue-1)
|
|
8
8
|
transition-all duration-300 cursor-pointer
|
|
9
9
|
`,href:a,target:"_blank",rel:"noreferrer",children:[r,s.jsx("div",{className:"group-hover:opacity-100 opacity-0 absolute right-5 top-0 bottom-0 rounded-lg flex items-center justify-center transition-all duration-300",children:s.jsx(Q,{size:24})})]}),e[2]=o):o=e[2],o};function St(e){return e+1}function zt(e){return e.path}function Ct(e){return e.path}function Mt(){return null}function It(e){return s.jsx(Nt,{file:e},e.path)}function Pt(e){return e.path}export{gt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as m}from"./VegaLite-
|
|
1
|
+
import{V as m}from"./VegaLite-BTUZR9TJ.js";import{a as F}from"./VegaLite-BTUZR9TJ.js";import{b as s}from"./index-DXRsGR8a.js";import"./compile-BBipuCz_.js";import"./time-DBL85Vmh.js";import"./timer-BwIYMJWC.js";import"./linear-BFD0bH8S.js";import"./init-DLRA0X12.js";import"./range-CtcPcB_L.js";import"./zoom-COrs4lFh.js";import"./ordinal-DDUp3AbE.js";import"./colors-bszWmPJw.js";import"./step-BwsUM5iJ.js";import"./arc-ZB5pDULS.js";import"./index-BEQfoZiP.js";import"./index-Bi6iLuYs.js";function a(){return a=Object.assign||function(o){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(o[e]=r[e])}return o},a.apply(this,arguments)}function c(o){let{mode:t,spec:r}=o;class e extends s.PureComponent{render(){return s.createElement(m,a({mode:t,spec:r},this.props))}}var p,n,i;return i=function(){return r},(n="getSpec")in(p=e)?Object.defineProperty(p,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):p[n]=i,e}export{m as Vega,F as VegaLite,c as createClassFromSpec};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as N,m as V,s as U,B as Z,t as d,e as B,d as D,i as M,h as F,H as K,u as _,o as J,q as H}from"./index-Bw4_53VL.js";function L(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ee(e){return e==9||e==10||e==13||e==32}let R=null,E=null,z=0;function b(e,t){let O=e.pos+t;if(E==e&&z==O)return R;for(;ee(e.peek(t));)t++;let a="";for(;;){let $=e.peek(t);if(!L($))break;a+=String.fromCharCode($),t++}return E=e,z=O,R=a||null}function G(e,t){this.name=e,this.parent=t}const te=new Z({start:null,shift:(e,t,O,a)=>t==1?new G(b(a,1)||"",e):e,reduce:(e,t)=>t==11&&e?e.parent:e,reuse(e,t,O,a){let $=t.type.id;return $==1||$==13?new G(b(a,1)||"",e):e},strict:!1}),Oe=new V((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let O=b(e,0);if(!O)return e.acceptToken(5);if(t.context&&O==t.context.name)return e.acceptToken(2);for(let a=t.context;a;a=a.parent)if(a.name==O)return e.acceptToken(3,-2);e.acceptToken(4)}else if(e.next!=33&&e.next!=63)return e.acceptToken(1)}},{contextual:!0});function W(e,t){return new V(O=>{let a=0,$=t.charCodeAt(0);e:for(;!(O.next<0);O.advance(),a++)if(O.next==$){for(let m=1;m<t.length;m++)if(O.peek(m)!=t.charCodeAt(m))continue e;break}a&&O.acceptToken(e)})}const oe=W(36,"-->"),re=W(37,"?>"),ne=W(38,"]]>"),ae=U({Text:d.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,AttributeValue:d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta,Cdata:d.special(d.string)}),le=N.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"\u26A0 StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:te,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[ae],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[Oe,oe,re,ne,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let O=t&&t.getChild("TagName");return O?e.sliceString(O.from,O.to):""}function w(e,t){let O=t&&t.firstChild;return O&&O.name=="OpenTag"?T(e,O):""}function Q(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}class se{constructor(t,O,a){this.attrs=O,this.attrValues=a,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map($=>({label:$,type:"text"})):[]}}const y=/^[:\-\.\w\u00b7-\uffff]*$/;function A(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function k(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function Y(e,t){let O=[],a=[],$=Object.create(null);for(let r of t){let u=A(r);O.push(u),r.global&&a.push(u),r.values&&($[r.name]=r.values.map(k))}let m=[],f=[],P=Object.create(null);for(let r of e){let u=a,i=$;r.attributes&&(u=u.concat(r.attributes.map(p=>typeof p=="string"?O.find(s=>s.label==p)||{label:p,type:"property"}:(p.values&&(i==$&&(i=Object.create(i)),i[p.name]=p.values.map(k)),A(p)))));let x=new se(r,u,i);P[x.name]=x,m.push(x),r.top&&f.push(x)}f.length||(f=m);for(let r=0;r<m.length;r++){let u=e[r],i=m[r];if(u.children)for(let x of u.children)P[x]&&i.children.push(P[x]);else i.children=m}return r=>{var u;let{doc:i}=r.state,x=function(l,n){var g;let o=_(l).resolveInner(n,-1),S=null;for(let c=o;!S&&c.parent;c=c.parent)c.name!="OpenTag"&&c.name!="CloseTag"&&c.name!="SelfClosingTag"&&c.name!="MismatchedCloseTag"||(S=c);if(S&&(S.to>n||S.lastChild.type.isError)){let c=S.parent;if(o.name=="TagName")return S.name=="CloseTag"||S.name=="MismatchedCloseTag"?{type:"closeTag",from:o.from,context:c}:{type:"openTag",from:o.from,context:Q(c)};if(o.name=="AttributeName")return{type:"attrName",from:o.from,context:S};if(o.name=="AttributeValue")return{type:"attrValue",from:o.from,context:S};let v=o==S||o.name=="Attribute"?o.childBefore(n):o;return(v==null?void 0:v.name)=="StartTag"?{type:"openTag",from:n,context:Q(c)}:(v==null?void 0:v.name)=="StartCloseTag"&&v.to<=n?{type:"closeTag",from:n,context:c}:(v==null?void 0:v.name)=="Is"?{type:"attrValue",from:n,context:S}:v?{type:"attrName",from:n,context:S}:null}if(o.name=="StartCloseTag")return{type:"closeTag",from:n,context:o.parent};for(;o.parent&&o.to==n&&!(!((g=o.lastChild)===null||g===void 0)&&g.type.isError);)o=o.parent;return o.name=="Element"||o.name=="Text"||o.name=="Document"?{type:"tag",from:n,context:o.name=="Element"?o:Q(o)}:null}(r.state,r.pos);if(!x||x.type=="tag"&&!r.explicit)return null;let{type:p,from:s,context:q}=x;if(p=="openTag"){let l=f,n=w(i,q);if(n){let g=P[n];l=(g==null?void 0:g.children)||m}return{from:s,options:l.map(g=>g.completion),validFor:y}}if(p=="closeTag"){let l=w(i,q);return l?{from:s,to:r.pos+(i.sliceString(r.pos,r.pos+1)==">"?1:0),options:[((u=P[l])===null||u===void 0?void 0:u.closeNameCompletion)||{label:l+">",type:"type"}],validFor:y}:null}if(p=="attrName"){let l=P[T(i,q)];return{from:s,options:(l==null?void 0:l.attrs)||a,validFor:y}}if(p=="attrValue"){let l=function(o,S,c){let v=S&&S.getChildren("Attribute").find(X=>X.from<=c&&X.to>=c),C=v&&v.getChild("AttributeName");return C?o.sliceString(C.from,C.to):""}(i,q,s);if(!l)return null;let n=P[T(i,q)],g=((n==null?void 0:n.attrValues)||$)[l];return g&&g.length?{from:s,to:r.pos+(i.sliceString(r.pos,r.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}:null}if(p=="tag"){let l=w(i,q),n=P[l],g=[],o=q&&q.lastChild;!l||o&&o.name=="CloseTag"&&T(i,o)==l||g.push(n?n.closeCompletion:{label:"</"+l+">",type:"type",boost:2});let S=g.concat(((n==null?void 0:n.children)||(q?m:f)).map(c=>c.openCompletion));if(q&&(n!=null&&n.text.length)){let c=q.firstChild;c.to>r.pos-20&&!/\S/.test(r.state.sliceDoc(c.to,r.pos))&&(S=S.concat(n.text))}return{from:s,options:S,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const h=B.define({name:"xml",parser:le.configure({props:[M.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),F.add({Element(e){let t=e.firstChild,O=e.lastChild;return t&&t.name=="OpenTag"?{from:t.to,to:O.name=="CloseTag"?O.from:e.to}:null}}),K.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function ie(e={}){let t=[h.data.of({autocomplete:Y(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(j),new D(h,t)}function I(e,t,O=e.length){if(!t)return"";let a=t.firstChild,$=a&&a.getChild("TagName");return $?e.sliceString($.from,Math.min($.to,O)):""}const j=J.inputHandler.of((e,t,O,a,$)=>{if(e.composing||e.state.readOnly||t!=O||a!=">"&&a!="/"||!h.isActiveAt(e.state,t,-1))return!1;let m=$(),{state:f}=m,P=f.changeByRange(r=>{var u,i,x;let p,{head:s}=r,q=f.doc.sliceString(s-1,s)==a,l=_(f).resolveInner(s,-1);if(q&&a==">"&&l.name=="EndTag"){let n=l.parent;if(((i=(u=n.parent)===null||u===void 0?void 0:u.lastChild)===null||i===void 0?void 0:i.name)!="CloseTag"&&(p=I(f.doc,n.parent,s)))return{range:r,changes:{from:s,to:s+(f.doc.sliceString(s,s+1)===">"?1:0),insert:`</${p}>`}}}else if(q&&a=="/"&&l.name=="StartCloseTag"){let n=l.parent;if(l.from==s-2&&((x=n.lastChild)===null||x===void 0?void 0:x.name)!="CloseTag"&&(p=I(f.doc,n,s))){let g=s+(f.doc.sliceString(s,s+1)===">"?1:0),o=`${p}>`;return{range:H.cursor(s+o.length,-1),changes:{from:s,to:g,insert:o}}}}return{range:r}});return!P.changes.empty&&(e.dispatch([m,f.update(P,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{j as autoCloseTags,Y as completeFromSchema,ie as xml,h as xmlLanguage};
|
|
1
|
+
import{g as N,m as V,s as U,B as Z,t as d,e as B,d as D,i as M,h as F,H as K,u as _,o as J,q as H}from"./index-DXRsGR8a.js";function L(e){return e==45||e==46||e==58||e>=65&&e<=90||e==95||e>=97&&e<=122||e>=161}function ee(e){return e==9||e==10||e==13||e==32}let R=null,E=null,z=0;function b(e,t){let O=e.pos+t;if(E==e&&z==O)return R;for(;ee(e.peek(t));)t++;let a="";for(;;){let $=e.peek(t);if(!L($))break;a+=String.fromCharCode($),t++}return E=e,z=O,R=a||null}function G(e,t){this.name=e,this.parent=t}const te=new Z({start:null,shift:(e,t,O,a)=>t==1?new G(b(a,1)||"",e):e,reduce:(e,t)=>t==11&&e?e.parent:e,reuse(e,t,O,a){let $=t.type.id;return $==1||$==13?new G(b(a,1)||"",e):e},strict:!1}),Oe=new V((e,t)=>{if(e.next==60){if(e.advance(),e.next==47){e.advance();let O=b(e,0);if(!O)return e.acceptToken(5);if(t.context&&O==t.context.name)return e.acceptToken(2);for(let a=t.context;a;a=a.parent)if(a.name==O)return e.acceptToken(3,-2);e.acceptToken(4)}else if(e.next!=33&&e.next!=63)return e.acceptToken(1)}},{contextual:!0});function W(e,t){return new V(O=>{let a=0,$=t.charCodeAt(0);e:for(;!(O.next<0);O.advance(),a++)if(O.next==$){for(let m=1;m<t.length;m++)if(O.peek(m)!=t.charCodeAt(m))continue e;break}a&&O.acceptToken(e)})}const oe=W(36,"-->"),re=W(37,"?>"),ne=W(38,"]]>"),ae=U({Text:d.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,AttributeValue:d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta,Cdata:d.special(d.string)}),le=N.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"\u26A0 StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:te,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[ae],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[Oe,oe,re,ne,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function T(e,t){let O=t&&t.getChild("TagName");return O?e.sliceString(O.from,O.to):""}function w(e,t){let O=t&&t.firstChild;return O&&O.name=="OpenTag"?T(e,O):""}function Q(e){for(let t=e&&e.parent;t;t=t.parent)if(t.name=="Element")return t;return null}class se{constructor(t,O,a){this.attrs=O,this.attrValues=a,this.children=[],this.name=t.name,this.completion=Object.assign(Object.assign({type:"type"},t.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=t.textContent?t.textContent.map($=>({label:$,type:"text"})):[]}}const y=/^[:\-\.\w\u00b7-\uffff]*$/;function A(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function k(e){return typeof e=="string"?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function Y(e,t){let O=[],a=[],$=Object.create(null);for(let r of t){let u=A(r);O.push(u),r.global&&a.push(u),r.values&&($[r.name]=r.values.map(k))}let m=[],f=[],P=Object.create(null);for(let r of e){let u=a,i=$;r.attributes&&(u=u.concat(r.attributes.map(p=>typeof p=="string"?O.find(s=>s.label==p)||{label:p,type:"property"}:(p.values&&(i==$&&(i=Object.create(i)),i[p.name]=p.values.map(k)),A(p)))));let x=new se(r,u,i);P[x.name]=x,m.push(x),r.top&&f.push(x)}f.length||(f=m);for(let r=0;r<m.length;r++){let u=e[r],i=m[r];if(u.children)for(let x of u.children)P[x]&&i.children.push(P[x]);else i.children=m}return r=>{var u;let{doc:i}=r.state,x=function(l,n){var g;let o=_(l).resolveInner(n,-1),S=null;for(let c=o;!S&&c.parent;c=c.parent)c.name!="OpenTag"&&c.name!="CloseTag"&&c.name!="SelfClosingTag"&&c.name!="MismatchedCloseTag"||(S=c);if(S&&(S.to>n||S.lastChild.type.isError)){let c=S.parent;if(o.name=="TagName")return S.name=="CloseTag"||S.name=="MismatchedCloseTag"?{type:"closeTag",from:o.from,context:c}:{type:"openTag",from:o.from,context:Q(c)};if(o.name=="AttributeName")return{type:"attrName",from:o.from,context:S};if(o.name=="AttributeValue")return{type:"attrValue",from:o.from,context:S};let v=o==S||o.name=="Attribute"?o.childBefore(n):o;return(v==null?void 0:v.name)=="StartTag"?{type:"openTag",from:n,context:Q(c)}:(v==null?void 0:v.name)=="StartCloseTag"&&v.to<=n?{type:"closeTag",from:n,context:c}:(v==null?void 0:v.name)=="Is"?{type:"attrValue",from:n,context:S}:v?{type:"attrName",from:n,context:S}:null}if(o.name=="StartCloseTag")return{type:"closeTag",from:n,context:o.parent};for(;o.parent&&o.to==n&&!(!((g=o.lastChild)===null||g===void 0)&&g.type.isError);)o=o.parent;return o.name=="Element"||o.name=="Text"||o.name=="Document"?{type:"tag",from:n,context:o.name=="Element"?o:Q(o)}:null}(r.state,r.pos);if(!x||x.type=="tag"&&!r.explicit)return null;let{type:p,from:s,context:q}=x;if(p=="openTag"){let l=f,n=w(i,q);if(n){let g=P[n];l=(g==null?void 0:g.children)||m}return{from:s,options:l.map(g=>g.completion),validFor:y}}if(p=="closeTag"){let l=w(i,q);return l?{from:s,to:r.pos+(i.sliceString(r.pos,r.pos+1)==">"?1:0),options:[((u=P[l])===null||u===void 0?void 0:u.closeNameCompletion)||{label:l+">",type:"type"}],validFor:y}:null}if(p=="attrName"){let l=P[T(i,q)];return{from:s,options:(l==null?void 0:l.attrs)||a,validFor:y}}if(p=="attrValue"){let l=function(o,S,c){let v=S&&S.getChildren("Attribute").find(X=>X.from<=c&&X.to>=c),C=v&&v.getChild("AttributeName");return C?o.sliceString(C.from,C.to):""}(i,q,s);if(!l)return null;let n=P[T(i,q)],g=((n==null?void 0:n.attrValues)||$)[l];return g&&g.length?{from:s,to:r.pos+(i.sliceString(r.pos,r.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}:null}if(p=="tag"){let l=w(i,q),n=P[l],g=[],o=q&&q.lastChild;!l||o&&o.name=="CloseTag"&&T(i,o)==l||g.push(n?n.closeCompletion:{label:"</"+l+">",type:"type",boost:2});let S=g.concat(((n==null?void 0:n.children)||(q?m:f)).map(c=>c.openCompletion));if(q&&(n!=null&&n.text.length)){let c=q.firstChild;c.to>r.pos-20&&!/\S/.test(r.state.sliceDoc(c.to,r.pos))&&(S=S.concat(n.text))}return{from:s,options:S,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const h=B.define({name:"xml",parser:le.configure({props:[M.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),F.add({Element(e){let t=e.firstChild,O=e.lastChild;return t&&t.name=="OpenTag"?{from:t.to,to:O.name=="CloseTag"?O.from:e.to}:null}}),K.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function ie(e={}){let t=[h.data.of({autocomplete:Y(e.elements||[],e.attributes||[])})];return e.autoCloseTags!==!1&&t.push(j),new D(h,t)}function I(e,t,O=e.length){if(!t)return"";let a=t.firstChild,$=a&&a.getChild("TagName");return $?e.sliceString($.from,Math.min($.to,O)):""}const j=J.inputHandler.of((e,t,O,a,$)=>{if(e.composing||e.state.readOnly||t!=O||a!=">"&&a!="/"||!h.isActiveAt(e.state,t,-1))return!1;let m=$(),{state:f}=m,P=f.changeByRange(r=>{var u,i,x;let p,{head:s}=r,q=f.doc.sliceString(s-1,s)==a,l=_(f).resolveInner(s,-1);if(q&&a==">"&&l.name=="EndTag"){let n=l.parent;if(((i=(u=n.parent)===null||u===void 0?void 0:u.lastChild)===null||i===void 0?void 0:i.name)!="CloseTag"&&(p=I(f.doc,n.parent,s)))return{range:r,changes:{from:s,to:s+(f.doc.sliceString(s,s+1)===">"?1:0),insert:`</${p}>`}}}else if(q&&a=="/"&&l.name=="StartCloseTag"){let n=l.parent;if(l.from==s-2&&((x=n.lastChild)===null||x===void 0?void 0:x.name)!="CloseTag"&&(p=I(f.doc,n,s))){let g=s+(f.doc.sliceString(s,s+1)===">"?1:0),o=`${p}>`;return{range:H.cursor(s+o.length,-1),changes:{from:s,to:g,insert:o}}}}return{range:r}});return!P.changes.empty&&(e.dispatch([m,f.update(P,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});export{j as autoCloseTags,Y as completeFromSchema,ie as xml,h as xmlLanguage};
|