@marimo-team/frontend 0.14.18-dev4 → 0.14.18-dev40
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-Dluf8clT.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-CnrulJpr.js → ImageComparisonComponent-CK_fmBK6.js} +1 -1
- package/dist/assets/{VegaLite-C2fs5zc3.js → VegaLite-GAUrkYuV.js} +1 -1
- package/dist/assets/{_baseEach-c_dyjc-O.js → _baseEach-C0Sqwj1Y.js} +1 -1
- package/dist/assets/_baseMap-wbAXOiz5.js +1 -0
- package/dist/assets/{_baseUniq-MHRYxaEh.js → _baseUniq-C6CtZ9jJ.js} +1 -1
- package/dist/assets/{_createAggregator-BRrHJm-S.js → _createAggregator-DCg3aG5g.js} +1 -1
- package/dist/assets/{any-language-editor-BvO3QFMF.js → any-language-editor-C1hAvQU_.js} +1 -1
- package/dist/assets/{architectureDiagram-SUXI7LT5-NdrSJuvB.js → architectureDiagram-SUXI7LT5-CY6ZXfK5.js} +1 -1
- package/dist/assets/{blockDiagram-6J76NXCF-ftx5RUcT.js → blockDiagram-6J76NXCF-BfT_qzzN.js} +1 -1
- package/dist/assets/{c4Diagram-6F6E4RAY-BulMqa-Y.js → c4Diagram-6F6E4RAY-BNmm8mbN.js} +1 -1
- package/dist/assets/channel-p2n1Ehs7.js +1 -0
- package/dist/assets/{chunk-353BL4L5-D5H2iwN7.js → chunk-353BL4L5-BD1eYYEv.js} +1 -1
- package/dist/assets/{chunk-67H74DCK-LK08G4lc.js → chunk-67H74DCK-D32ZcVIe.js} +1 -1
- package/dist/assets/{chunk-AACKK3MU-B9JAiO5u.js → chunk-AACKK3MU-VRjqE2eS.js} +1 -1
- package/dist/assets/{chunk-BFAMUDN2-CZKcG7Hk.js → chunk-BFAMUDN2-C-cJmQLf.js} +1 -1
- package/dist/assets/{chunk-E2GYISFI-CIXtdUNn.js → chunk-E2GYISFI-BVyg2Fo6.js} +1 -1
- package/dist/assets/{chunk-OW32GOEJ-C4FCmwnP.js → chunk-OW32GOEJ-CJAy1Ibj.js} +6 -6
- package/dist/assets/{chunk-SKB7J2MH-BaSlr3jl.js → chunk-SKB7J2MH-CNnoGuDT.js} +1 -1
- package/dist/assets/{chunk-SZ463SBG-BwDfdiOo.js → chunk-SZ463SBG-B-DyRJ-t.js} +1 -1
- package/dist/assets/{circle-play-JsgbRX6G.js → circle-play-DlcQmjy-.js} +1 -1
- package/dist/assets/classDiagram-M3E45YP4-CvCuraNp.js +1 -0
- package/dist/assets/classDiagram-v2-YAWTLIQI-CvCuraNp.js +1 -0
- package/dist/assets/clone-CglRxjPg.js +1 -0
- package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
- package/dist/assets/{compile-BGbhA30T.js → compile-Da_Fjkgs.js} +1 -1
- package/dist/assets/{dagre-JOIXM2OF-B8vUNw1G.js → dagre-JOIXM2OF-B6XR4pJX.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-5lo5J1Vt.js → data-grid-overlay-editor-v4eNCtyj.js} +1 -1
- package/dist/assets/{diagram-5UYTHUR4-PLDgwO4x.js → diagram-5UYTHUR4-fJ5HfR4m.js} +1 -1
- package/dist/assets/{diagram-VMROVX33-B5-7SLna.js → diagram-VMROVX33-j3xejCo0.js} +1 -1
- package/dist/assets/{diagram-ZTM2IBQH-BnKr5V6h.js → diagram-ZTM2IBQH-dkgnTPsZ.js} +1 -1
- package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
- package/dist/assets/edit-page-CmCSSEmo.js +163 -0
- package/dist/assets/{erDiagram-3M52JZNH-Dk0Y_2Is.js → erDiagram-3M52JZNH-pjMXU-CR.js} +1 -1
- package/dist/assets/{flowDiagram-KYDEHFYC-DM8J3haJ.js → flowDiagram-KYDEHFYC-RFXKcK0k.js} +1 -1
- package/dist/assets/{ganttDiagram-EK5VF46D-B7MEeaeb.js → ganttDiagram-EK5VF46D-BgmOCQC2.js} +1 -1
- package/dist/assets/{gitGraphDiagram-GW3U2K7C-ciOWHdK1.js → gitGraphDiagram-GW3U2K7C-DQPA3IzE.js} +1 -1
- package/dist/assets/{glide-data-editor-CeJNWkGL.js → glide-data-editor-DWBodoS3.js} +11 -11
- package/dist/assets/{graph-IzuQV5TV.js → graph-DacIO-UV.js} +1 -1
- package/dist/assets/{home-page-P0hOk_Lu.js → home-page-CRXrPrxk.js} +2 -2
- package/dist/assets/{index-D86OE7I-.js → index-8RrfVV3p.js} +1 -1
- package/dist/assets/{index-ZMOxgO0o.js → index-BC3mHcN4.js} +1 -1
- package/dist/assets/{index-DzmGiDPv.js → index-BDUp_sLz.js} +1 -1
- package/dist/assets/{index-Bw4_53VL.js → index-BHV0wUT7.js} +211 -201
- package/dist/assets/{index-DzcdkCgc.js → index-BQF1L3gh.js} +1 -1
- package/dist/assets/{index-CTxIrFfM.js → index-BRCKCYPN.js} +1 -1
- package/dist/assets/{index-CvNa254z.js → index-BXCylVut.js} +1 -1
- package/dist/assets/{index-BtVdSmBr.js → index-Bg24ojRl.js} +1 -1
- package/dist/assets/{index-BqqAIR7p.js → index-BoaOUG3q.js} +1 -1
- package/dist/assets/{index-DL31Tmv6.js → index-BxSZURSP.js} +1 -1
- package/dist/assets/{index-DVgehULr.js → index-BxjU6sz1.js} +1 -1
- package/dist/assets/{index--eqo3Nr1.js → index-C8_gM-Yh.js} +1 -1
- package/dist/assets/{index-CrnLkrsN.js → index-CRoIS0e_.js} +1 -1
- package/dist/assets/index-CrH6PPjG.css +1 -0
- package/dist/assets/{index-DKlX9VbD.js → index-D-j7DlKu.js} +1 -1
- package/dist/assets/{index-DyGhL8pb.js → index-D6Npa4_9.js} +1 -1
- package/dist/assets/{index-VEO6hI2a.js → index-M577h3xO.js} +1 -1
- package/dist/assets/{index-vOKQtqij.js → index-PXlQy2IY.js} +1 -1
- package/dist/assets/{index-ABc3l5O5.js → index-dlPsVpRk.js} +1 -1
- package/dist/assets/index-i68zQEWD.js +68 -0
- package/dist/assets/{index-DWbP9NKv.js → index-txOE5caF.js} +1 -1
- package/dist/assets/infoDiagram-LHK5PUON-BQo83J9q.js +2 -0
- package/dist/assets/{journeyDiagram-EWQZEKCU-D-rWvB9c.js → journeyDiagram-EWQZEKCU--vn5uP9G.js} +1 -1
- package/dist/assets/{kanban-definition-ZSS6B67P-BPrv-lG3.js → kanban-definition-ZSS6B67P-BsAtaVBp.js} +1 -1
- package/dist/assets/{layout-C3NQCD38.js → layout-D89ZmFuH.js} +1 -1
- package/dist/assets/{linear-Dcz3lyvf.js → linear--2JfAOS_.js} +1 -1
- package/dist/assets/links-DHuoq13s.js +17 -0
- package/dist/assets/{mermaid-BjMqU7B7.js → mermaid-BbIb2iAQ.js} +26 -26
- package/dist/assets/min-B719_H4j.js +1 -0
- package/dist/assets/{mindmap-definition-6CBA2TL7-BZsnMx2y.js → mindmap-definition-6CBA2TL7-DbrwDtvS.js} +1 -1
- package/dist/assets/{number-overlay-editor-CzX-JKBj.js → number-overlay-editor-VjmSOKWj.js} +2 -2
- package/dist/assets/{pieDiagram-NIOCPIFQ-BjbDT3_7.js → pieDiagram-NIOCPIFQ-DDr_8e6N.js} +3 -3
- package/dist/assets/{quadrantDiagram-2OG54O6I-DwvUEn5y.js → quadrantDiagram-2OG54O6I-TFsW3qDt.js} +1 -1
- package/dist/assets/{react-plotly-DsUGZTQl.js → react-plotly-BJBcptDR.js} +1 -1
- package/dist/assets/{requirementDiagram-QOLK2EJ7-DnqQ02xB.js → requirementDiagram-QOLK2EJ7-D5BaSClp.js} +1 -1
- package/dist/assets/{run-page-Dh1_LBex.js → run-page-D1TeIIYq.js} +1 -1
- package/dist/assets/{sankeyDiagram-4UZDY2LN-CGiEg-KK.js → sankeyDiagram-4UZDY2LN-B-zmPQdl.js} +1 -1
- package/dist/assets/{sequenceDiagram-SKLFT4DO-Du_9Bhah.js → sequenceDiagram-SKLFT4DO-Dw--eukV.js} +1 -1
- package/dist/assets/{slides-component-DbRb2vqt.js → slides-component-CUV-ryNw.js} +1 -1
- package/dist/assets/sortBy-C9K5SL89.js +1 -0
- package/dist/assets/{stateDiagram-MI5ZYTHO-x_vUiEQz.js → stateDiagram-MI5ZYTHO-WTQoQzCe.js} +1 -1
- package/dist/assets/stateDiagram-v2-5AN5P6BG-CoRRGWzU.js +1 -0
- package/dist/assets/storage-BgxGjrlK.js +26 -0
- package/dist/assets/{terminal-xOuxdYpY.js → terminal-BRsJ5bg0.js} +1 -1
- package/dist/assets/time-Wo8mRr4h.js +1 -0
- package/dist/assets/{timeline-definition-MYPXXCX6-8Kv4fcyB.js → timeline-definition-MYPXXCX6-DUiBvKXW.js} +1 -1
- package/dist/assets/{tracing-BAj6E74_.js → tracing-DkTh5bjk.js} +2 -2
- package/dist/assets/{trash-65Vbt3F6.js → trash-_cwoDPy1.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-DtSMjk1Y.js → treemap-75Q7IDZK-DndwJIAY.js} +1 -1
- package/dist/assets/{vega-component-C3aywWbx.js → vega-component-BQrEMxr7.js} +1 -1
- package/dist/assets/{xychartDiagram-H2YORKM3-D33F1MLE.js → xychartDiagram-H2YORKM3-Cn7nHPc6.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 +280 -0
- package/src/components/ai/ai-provider-icon.tsx +52 -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 +261 -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 +1743 -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 +698 -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 +70 -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 +109 -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 +503 -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 +45 -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-BHV0wUT7.js";import{a as x,f as m,c as d,i as l,v,r as z}from"./_baseUniq-C6CtZ9jJ.js";import{ac as N}from"./mermaid-BbIb2iAQ.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-BHV0wUT7.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-DHuoq13s.js";import{C as it}from"./circle-play-DlcQmjy-.js";import"./index-PXlQy2IY.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{n as R,d as w,o as U,e as X,p as G,q as j,g as z,s as S,i as x,h as Z,t as i,r as E,u as V,m as f}from"./index-Bw4_53VL.js";function D(O){return O>=65&&O<=90||O>=97&&O<=122}const F=new f(O=>{let $=O.pos;for(;;){let{next:e}=O;if(e<0)break;if(e==123){let r=O.peek(1);if(r==123){if(O.pos>$)break;return void O.acceptToken(1,2)}if(r==37){if(O.pos>$)break;let n=2,o=2;for(;;){let Q=O.peek(n);if(Q==32||Q==10)++n;else if(Q==35)for(++n;;){let t=O.peek(n);if(t<0||t==10)break;n++}else{if(Q!=45||o!=2){let t=Q==101&&O.peek(n+1)==110&&O.peek(n+2)==100;return void O.acceptToken(t?3:2,o)}o=++n}}}}if(O.advance(),e==10)break}O.pos>$&&O.acceptToken(180)});function b(O,$,e){return new f(r=>{let n=r.pos;for(;;){let{next:o}=r;if(o==123&&r.peek(1)==37){let Q=2;for(;;Q++){let l=r.peek(Q);if(l!=32&&l!=10)break}let t="";for(;;Q++){let l=r.peek(Q);if(!D(l))break;t+=String.fromCharCode(l)}if(t==O){if(r.pos>n)break;r.acceptToken(e,2);break}}else if(o<0)break;if(r.advance(),o==10)break}r.pos>n&&r.acceptToken($)})}const C=b("endcomment",182,5),N=b("endraw",181,4),I=new f(O=>{if(O.next==35){for(O.advance();!(O.next==10||O.next<0)&&(O.next!=37&&O.next!=125||O.peek(1)!=125);)O.advance();O.acceptToken(6)}}),A={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},B={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},L=z.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&`Q!jO,59QO&gQ!jO'#G^OsQhO'#CsOOQW'#G^'#G^OOOP,59l,59lO)PQhO,59lOsQhO,59pOsQhO,59tO)ZQhO,59vOsQhO,59yOsQhO,5:OOsQhO,5:SO!]QhO,5:WO!]QhO,5:`O)`QhO,5:dO)eQhO,5:fO)jQhO,5:hO)oQhO,5:kO)tQhO,5:qOsQhO,5:vOsQhO,5:xOsQhO,5;OOsQhO,5;QOsQhO,5;TOsQhO,5;XOsQhO,5;ZO+TQhO,5;]O+[OPO'#CdOOOP,59o,59oO#{OPO,59oO+jQxO'#DWOOOP,59x,59xO$ZOPO,59xO+oQxO'#DaOOOP,59},59}O$iOPO,59}O+tQxO'#DfOOOP,5:V,5:VO$wOPO,5:VO+yQxO'#DqOOOP,5:_,5:_O%VOPO,5:_O,OQxO'#DvOOOS'#GQ'#GQO,TOSO'#ERO,]OSO,5:jOOOQ'#GR'#GRO,bOQO'#EXO,jOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,oQxO'#EkOOOP-E9x-E9xO,tQ#|O,59SOsQhO,59VOsQhO,59VO,yQhO'#C|OOQW'#F|'#F|O-OQhO1G.lOOOP1G.l1G.lOsQhO,59VOsQhO,59ZO-WQ!jO,59_O-iQ!jO1G/WO-pQhO1G/WOOOP1G/W1G/WO-xQ!jO1G/[O.ZQ!jO1G/`OOOP1G/b1G/bO.lQ!jO1G/eO.}Q!jO1G/jO/qQ!jO1G/nO/xQhO1G/rO/}QhO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0SQhO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0_Q!jO1G0bO0fQ!jO1G0dO1QQ!jO1G0jO1cQ!jO1G0lO1jQ!jO1G0oO1{Q!jO1G0sO2^Q!jO1G0uO2oQhO'#EsO2vQhO'#ExO2}QhO'#FRO3UQhO'#FYO3]QhO'#F^O3dQhO'#FqOOQW'#Ga'#GaOOQW'#GT'#GTO3kQhO1G0wOsQhO'#EtOsQhO'#EyOsQhO'#E}OOQW'#FP'#FPOsQhO'#FSOsQhO'#FWO!]QhO'#FZO!]QhO'#F_OOQW'#Fc'#FcOOQW'#Fe'#FeO3rQhO'#FfOsQhO'#FhOsQhO'#FjOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO3wQhO,59rOOOP1G/d1G/dO3|QhO,59{OOOP1G/i1G/iO4RQhO,5:QOOOP1G/q1G/qO4WQhO,5:]OOOP1G/y1G/yO4]QhO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4bQxO'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4gQxO'#EYOOOP1G0n1G0nO4lQhO,5;VOOQW1G.n1G.nOOQW1G.q1G.qO7QQ!jO1G.qOOQW'#DO'#DOO7[QhO,59hOOQW-E9z-E9zOOOP7+$W7+$WO9UQ!jO1G.qO9`Q!jO1G.uOsQhO1G.yO;uQhO7+$rOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQhO'#F}O;}QhO7+%YOOOP7+%Y7+%YOsQhO7+%^OsQhO7+%fO<VQhO'#GPO<[QhO7+%nOOOP7+%n7+%nO<dQhO7+%nO<iQhO7+%|OOOP7+%|7+%|O!]QhO'#E`OOQW'#GS'#GSO<qQhO7+&OOsQhO'#E`OOOP7+&O7+&OOOOP7+&U7+&UO=PQhO7+&WOOOP7+&W7+&WOOOP7+&Z7+&ZOOOP7+&_7+&_OOOP7+&a7+&aOOQW,5;_,5;_O2oQhO,5;_OOQW'#Ev'#EvOOQW,5;d,5;dO2vQhO,5;dOOQW'#E{'#E{OOQW,5;m,5;mO2}QhO,5;mOOQW'#FU'#FUOOQW,5;t,5;tO3UQhO,5;tOOQW'#F['#F[OOQW,5;x,5;xO3]QhO,5;xOOQW'#Fa'#FaOOQW,5<],5<]O3dQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&c7+&cO=XQ!jO,5;`O>rQ!jO,5;eO@]Q!jO,5;iOBYQ!jO,5;nOCsQ!jO,5;rOEfQhO,5;uOEkQhO,5;yOEpQhO,5<QOGgQ!jO,5<SOIYQ!jO,5<UOKYQ!jO,5<XOMVQ!jO,5<ZONxQ!jO,5<^O!!cQ!jO,5<bO!$`Q!jO,5<dOOOP1G/^1G/^OOOP1G/g1G/gOOOP1G/l1G/lOOOP1G/w1G/wOOOP1G/|1G/|O!&]QhO,5:nO!&bQhO,5:tOOOP1G0q1G0qOsQhO1G/SO!&gQ!jO7+$eOOOP<<H^<<H^O!&xQ!jO,5<iOOQW-E9{-E9{OOOP<<Ht<<HtO!)ZQ!jO<<HxO!)bQ!jO<<IQOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IY<<IYO!)iQhO<<IYOOOP<<Ih<<IhO!)qQhO,5:zOOQW-E:Q-E:QOOOP<<Ij<<IjO!)vQ!jO,5:zOOOP<<Ir<<IrOOQW1G0y1G0yOOQW1G1O1G1OOOQW1G1X1G1XOOQW1G1`1G1`OOQW1G1d1G1dOOQW1G1w1G1wO!*eQhO1G1^OsQhO1G1aOsQhO1G1eO!,XQhO1G1lO!-{QhO1G1lO!.QQhO1G1nO!]QhO'#FlOOQW'#GU'#GUO!/tQhO1G1pO!1hQhO1G1uOOOP1G0Y1G0YOOOP1G0`1G0`O!3[Q!jO7+$nOOQW<<HP<<HPOOQW'#Dp'#DpO!5_QhO'#DoOOQW'#GO'#GOO!6xQhOAN>dOOOPAN>dAN>dO!7QQhOAN>lOOOPAN>lAN>lO!7YQhOAN>tOOOPAN>tAN>tOsQhO1G0fO!]QhO1G0fO!7bQ!jO7+&{O!8qQ!jO7+'PO!:QQhO7+'WO!;tQhO,5<WOOQW-E:S-E:SOsQhO,5:ZOOQW-E9|-E9|OOOPG24OG24OOOOPG24WG24WOOOPG24`G24`O!;yQ!jO7+&QOOQW7+&Q7+&QO!<eQhO<<JgO!=uQhO<<JkO!?VQhO<<JrOsQhO1G1rO!@yQ!jO1G/uO!BmQ!jO7+'^",stateData:"!Dm~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OfeOifOjfOkfOlfOmfOnfOofO%RbO~OuhOvgOyiO}jO!PkO!SlO!XmO!]nO!aoO!ipO!mqO!orO!qsO!ttO!zuO#PvO#RwO#XxO#ZyO#^zO#b{O#d|O#f}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jO`!qOa!kOb!lOq!mO~OX!pO~P%}Od!rOX%QX]%QX`%QXa%QXb%QXq%QXh%QXv%QX!^%QX#T%QX#U%QXm%QX#i%QX#k%QX#n%QX#r%QX#t%QX#w%QX#{%QX$S%QX$W%QX$Z%QX$]%QX$_%QX$b%QX$d%QX$g%QX$k%QX$m%QX#p%QX#y%QX$i%QXe%QX%R%QX#V%QX$P%QX$U%QX~Oq!mOv!vO~PsOv!yO~Ov#PO~Ov#QO~On#RO~Ov#SO~Ov#TO~Om#oO#U#lO#i#fO#n#gO#r#hO#t#iO#w#jO#{#kO$S#mO$W#nO$Z#pO$]#qO$_#rO$b#sO$d#tO$g#uO$k#vO$m#wO~Ov#xO~P)yO$zPOPWXQWXRWX~O{#zO~O!U#|O~O!Z$OO~O!f$QO~O!k$SO~O$|!`OT!uX~OT$VO~O${!cOS!{X~OS$YO~O#`$[O~O^$]O~O%R$`O~OX$cOq!mO~O]!jO`!qOa!kOb!lOh$fO~Ov$hO~P%}Oq!mOv$hO~O]!jO`!qOa!kOb!lOv$iO~O]!jO`!qOa!kOb!lOv$jO~O]!jO`!qOa!kOb!lOv$kO~O]!jO`!qOa!kOb!lOv$lO~O]!jO`!qOa!kOb!lO!^$mO~Ov$oO~P/`O!b$pO~O!b$qO~Os$uOv$tO!^$rO~Ov$wO~P%}O]!jO`!qOa!kOb!lOv$|O!^$xO#T${O#U${O~O]!jO`!qOa!kOb!lOv$}O~Ov%PO~P%}O]!jO`!qOa!kOb!lOv%QO~O]!jO`!qOa!kOb!lOv%RO~O]!jO`!qOa!kOb!lOv%SO~O#k%VO~P)yO#p%YO~P)yO#y%]O~P)yO$P%`O~P)yO$U%cO~P)yO$i%fO~P)yOv%hO~P)yOn%pO~Ov%xO~Ov%yO~Ov%zO~Ov%{O~Ov%|O~O!w%}O~O!}&OO~Ov&PO~Oa!kOX_i]_iq_ih_iv_i!^_i#T_i#U_im_i#i_i#k_i#n_i#r_i#t_i#w_i#{_i$S_i$W_i$Z_i$]_i$__i$b_i$d_i$g_i$k_i$m_i#p_i#y_i$i_ie_i%R_i#V_i$P_i$U_i~O`!qOb!lO~P4qOs&QOXpaqpavpampa#Upa#ipa#npa#rpa#tpa#wpa#{pa$Spa$Wpa$Zpa$]pa$_pa$bpa$dpa$gpa$kpa$mpa#kpa#ppa#ypa$Ppa$Upa$ipa~O`_ib_i~P4qO`!qOa!kOb!lOXci]ciqcihcivci!^ci#Tci#Ucimci#ici#kci#nci#rci#tci#wci#{ci$Sci$Wci$Zci$]ci$_ci$bci$dci$gci$kci$mci#pci#yci$icieci%Rci#Vci$Pci$Uci~Oq!mOv&SO~Ov&VO!^$mO~On&YO~Ov&[O!^$rO~On&]O~Oq!mOv&^O~Ov&aO!^$xO#T${O#U${O~Oq!mOv&cO~O]!jO`!qOa!kOb!lOm#ha#U#ha#i#ha#k#ha#n#ha#r#ha#t#ha#w#ha#{#ha$S#ha$W#ha$Z#ha$]#ha$_#ha$b#ha$d#ha$g#ha$k#ha$m#ha~O]!jO`!qOa!kOb!lOm#ma#U#ma#i#ma#n#ma#p#ma#r#ma#t#ma#w#ma#{#ma$S#ma$W#ma$Z#ma$]#ma$_#ma$b#ma$d#ma$g#ma$k#ma$m#ma~O]!jO`!qOa!kOb!lOm#qav#qa#U#qa#i#qa#n#qa#r#qa#t#qa#w#qa#{#qa$S#qa$W#qa$Z#qa$]#qa$_#qa$b#qa$d#qa$g#qa$k#qa$m#qa#k#qa#p#qa#y#qa$P#qa$U#qa$i#qa~O]!jO`!qOa!kOb!lOm#va#U#va#i#va#n#va#r#va#t#va#w#va#y#va#{#va$S#va$W#va$Z#va$]#va$_#va$b#va$d#va$g#va$k#va$m#va~Om#zav#za#U#za#i#za#n#za#r#za#t#za#w#za#{#za$S#za$W#za$Z#za$]#za$_#za$b#za$d#za$g#za$k#za$m#za#k#za#p#za#y#za$P#za$U#za$i#za~P/`O!b&kO~O!b&lO~Os&nO!^$rOm$Yav$Ya#U$Ya#i$Ya#n$Ya#r$Ya#t$Ya#w$Ya#{$Ya$S$Ya$W$Ya$Z$Ya$]$Ya$_$Ya$b$Ya$d$Ya$g$Ya$k$Ya$m$Ya#k$Ya#p$Ya#y$Ya$P$Ya$U$Ya$i$Ya~Om$[av$[a#U$[a#i$[a#n$[a#r$[a#t$[a#w$[a#{$[a$S$[a$W$[a$Z$[a$]$[a$_$[a$b$[a$d$[a$g$[a$k$[a$m$[a#k$[a#p$[a#y$[a$P$[a$U$[a$i$[a~P%}O]!jO`!qOa!kOb!lO!^&pOm$^av$^a#U$^a#i$^a#n$^a#r$^a#t$^a#w$^a#{$^a$S$^a$W$^a$Z$^a$]$^a$_$^a$b$^a$d$^a$g$^a$k$^a$m$^a#k$^a#p$^a#y$^a$P$^a$U$^a$i$^a~O]!jO`!qOa!kOb!lOm$aav$aa#U$aa#i$aa#n$aa#r$aa#t$aa#w$aa#{$aa$S$aa$W$aa$Z$aa$]$aa$_$aa$b$aa$d$aa$g$aa$k$aa$m$aa#k$aa#p$aa#y$aa$P$aa$U$aa$i$aa~Om$cav$ca#U$ca#i$ca#n$ca#r$ca#t$ca#w$ca#{$ca$S$ca$W$ca$Z$ca$]$ca$_$ca$b$ca$d$ca$g$ca$k$ca$m$ca#k$ca#p$ca#y$ca$P$ca$U$ca$i$ca~P%}O]!jO`!qOa!kOb!lOm$fa#U$fa#i$fa#n$fa#r$fa#t$fa#w$fa#{$fa$S$fa$W$fa$Z$fa$]$fa$_$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~O]!jO`!qOa!kOb!lOm$jav$ja#U$ja#i$ja#n$ja#r$ja#t$ja#w$ja#{$ja$S$ja$W$ja$Z$ja$]$ja$_$ja$b$ja$d$ja$g$ja$k$ja$m$ja#k$ja#p$ja#y$ja$P$ja$U$ja$i$ja~O]!jO`!qOa!kOb!lOm$lav$la#U$la#i$la#n$la#r$la#t$la#w$la#{$la$S$la$W$la$Z$la$]$la$_$la$b$la$d$la$g$la$k$la$m$la#k$la#p$la#y$la$P$la$U$la$i$la~Ov&tO~Ov&uO~O]!jO`!qOa!kOb!lOe&wO~O]!jO`!qOa!kOb!lOv$qa!^$qam$qa#U$qa#i$qa#n$qa#r$qa#t$qa#w$qa#{$qa$S$qa$W$qa$Z$qa$]$qa$_$qa$b$qa$d$qa$g$qa$k$qa$m$qa#k$qa#p$qa#y$qa$P$qa$U$qa$i$qa~O]!jO`!qOa!kOb!lO%R&xO~Ov&|O~P!(xOv'OO~P!(xOv'QO!^$rO~Os'RO~O]!jO`!qOa!kOb!lO#V'SOv#Sa!^#Sa#T#Sa#U#Sa~O!^$mOm#ziv#zi#U#zi#i#zi#n#zi#r#zi#t#zi#w#zi#{#zi$S#zi$W#zi$Z#zi$]#zi$_#zi$b#zi$d#zi$g#zi$k#zi$m#zi#k#zi#p#zi#y#zi$P#zi$U#zi$i#zi~O!^$rOm$Yiv$Yi#U$Yi#i$Yi#n$Yi#r$Yi#t$Yi#w$Yi#{$Yi$S$Yi$W$Yi$Z$Yi$]$Yi$_$Yi$b$Yi$d$Yi$g$Yi$k$Yi$m$Yi#k$Yi#p$Yi#y$Yi$P$Yi$U$Yi$i$Yi~On'VO~Oq!mOm$[iv$[i#U$[i#i$[i#n$[i#r$[i#t$[i#w$[i#{$[i$S$[i$W$[i$Z$[i$]$[i$_$[i$b$[i$d$[i$g$[i$k$[i$m$[i#k$[i#p$[i#y$[i$P$[i$U$[i$i$[i~O!^&pOm$^iv$^i#U$^i#i$^i#n$^i#r$^i#t$^i#w$^i#{$^i$S$^i$W$^i$Z$^i$]$^i$_$^i$b$^i$d$^i$g$^i$k$^i$m$^i#k$^i#p$^i#y$^i$P$^i$U$^i$i$^i~Oq!mOm$civ$ci#U$ci#i$ci#n$ci#r$ci#t$ci#w$ci#{$ci$S$ci$W$ci$Z$ci$]$ci$_$ci$b$ci$d$ci$g$ci$k$ci$m$ci#k$ci#p$ci#y$ci$P$ci$U$ci$i$ci~O]!jO`!qOa!kOb!lOXpqqpqvpqmpq#Upq#ipq#npq#rpq#tpq#wpq#{pq$Spq$Wpq$Zpq$]pq$_pq$bpq$dpq$gpq$kpq$mpq#kpq#ppq#ypq$Ppq$Upq$ipq~Os'YOv!cX%R!cXm!cX#U!cX#i!cX#n!cX#r!cX#t!cX#w!cX#{!cX$P!cX$S!cX$W!cX$Z!cX$]!cX$_!cX$b!cX$d!cX$g!cX$k!cX$m!cX$U!cX~Ov'[O%R&xO~Ov']O%R&xO~Ov'^O!^$rO~Om#}q#U#}q#i#}q#n#}q#r#}q#t#}q#w#}q#{#}q$P#}q$S#}q$W#}q$Z#}q$]#}q$_#}q$b#}q$d#}q$g#}q$k#}q$m#}q~P!(xOm$Rq#U$Rq#i$Rq#n$Rq#r$Rq#t$Rq#w$Rq#{$Rq$S$Rq$U$Rq$W$Rq$Z$Rq$]$Rq$_$Rq$b$Rq$d$Rq$g$Rq$k$Rq$m$Rq~P!(xO!^$rOm$Yqv$Yq#U$Yq#i$Yq#n$Yq#r$Yq#t$Yq#w$Yq#{$Yq$S$Yq$W$Yq$Z$Yq$]$Yq$_$Yq$b$Yq$d$Yq$g$Yq$k$Yq$m$Yq#k$Yq#p$Yq#y$Yq$P$Yq$U$Yq$i$Yq~Os'dO~O]!jO`!qOa!kOb!lOv#Sq!^#Sq#T#Sq#U#Sq~O%R&xOm#}y#U#}y#i#}y#n#}y#r#}y#t#}y#w#}y#{#}y$P#}y$S#}y$W#}y$Z#}y$]#}y$_#}y$b#}y$d#}y$g#}y$k#}y$m#}y~O%R&xOm$Ry#U$Ry#i$Ry#n$Ry#r$Ry#t$Ry#w$Ry#{$Ry$S$Ry$U$Ry$W$Ry$Z$Ry$]$Ry$_$Ry$b$Ry$d$Ry$g$Ry$k$Ry$m$Ry~O!^$rOm$Yyv$Yy#U$Yy#i$Yy#n$Yy#r$Yy#t$Yy#w$Yy#{$Yy$S$Yy$W$Yy$Z$Yy$]$Yy$_$Yy$b$Yy$d$Yy$g$Yy$k$Yy$m$Yy#k$Yy#p$Yy#y$Yy$P$Yy$U$Yy$i$Yy~O]!jO`!qOa!kOb!lOv!ci%R!cim!ci#U!ci#i!ci#n!ci#r!ci#t!ci#w!ci#{!ci$P!ci$S!ci$W!ci$Z!ci$]!ci$_!ci$b!ci$d!ci$g!ci$k!ci$m!ci$U!ci~O]!jO`!qOa!kOb!lOm$`qv$`q!^$`q#U$`q#i$`q#n$`q#r$`q#t$`q#w$`q#{$`q$S$`q$W$`q$Z$`q$]$`q$_$`q$b$`q$d$`q$g$`q$k$`q$m$`q#k$`q#p$`q#y$`q$P$`q$U$`q$i$`q~O",goto:"7o%UPPPPPPPP%VP%V%g&zPP&zPPP&zPPP&zPPPPPPPP'xP(YP(]PP(](mP(}P(]P(]P(])TP)eP(])kP){P(]PP(]*RPP*c*m*wP(]*}P+_P(]P(]P(]P(]+eP+u+xP(]+{P,],`P(]P(]P,cPPP(]P(]P(],gP,wP(]P(]P(]P,}-_P-oP,}-uP.VP,}P,}P,}.]P.mP,}P,}.s/TP,}/ZP/kP,}P,},}P,}P,}P/q,}P,}P,}/uP0VP,}P,}P0]0{1c2R2]2o3R3X3_3e4TPPPPPP4Z4kP%V7_m^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dQ!}oQ#OpQ%n#lQ%o#mQ&_$xQ'W&pR'`'S!wfRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dm!nch!o!t!u#U#X$g$v%O%q%t&o&sR$a!mm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#y!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#{!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR#}!WmWOTUVWX[`!Q!T!W!Z!^!ga&z&W&X&{&}'T'U'a'ba&y&W&X&{&}'T'U'a'bQ!YWR$P!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$R!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$U!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$X!eT$y#V$zm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$Z!gm#c}#]#^#_#`#a#b#e%U%X%[%_%b%em#]}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%T#]R&d%Um#^}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%W#^R&e%Xm#_}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%Z#_R&f%[m#`}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%^#`R&g%_m#a}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%a#aR&h%bT&q%r&rm#b}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%d#bR&i%eQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!ocQ!uh^$b!o!u$g$v%O&o&sQ$g!tQ$v#UQ%O#XQ&o%qR&s%tQ$n!|S&U$n&jR&j%mQ&{&WQ&}&XW'Z&{&}'a'bQ'a'TR'b'UQ$s#RW&Z$s&m'P'cQ&m%pQ'P&]R'c'VQ!aYR$T!aQ!dZR$W!dQ$z#VR&`$zQ#e}Q%U#]Q%X#^Q%[#_Q%_#`Q%b#aQ%e#b_%g#e%U%X%[%_%b%eQ&r%rR'X&rm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!seQ!thQ!wiQ!xjQ!zlQ!{mQ!|nQ#UvQ#VwQ#WxQ#XyQ#YzQ#Z{Q#[|Q$^!kQ$_!lQ$d!qQ$e!rQ%i#fQ%j#gQ%k#hQ%l#jQ%m#kQ%q#qQ%r#rQ%s#sQ%t#tQ%u#uQ%v#vQ%w#wQ&R$fQ&T$mQ&W$pQ&X$qQ&b${Q&v&QQ'T&kQ'U&lQ'_'RQ'e'YR'f'dm#d}#]#^#_#`#a#b#e%U%X%[%_%b%e",nodeNames:"\u26A0 {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when , ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render RenderParameter Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",maxTerm:189,nodeProps:[["closedBy",1,"}}",-4,2,3,4,5,"%}",22,")"],["openedBy",9,"{{",21,"(",38,"{%"],["group",-12,11,12,15,19,23,25,26,27,28,29,30,31,"Expression"]],skippedNodes:[0,6],repeatNodeCount:11,tokenData:")Q~RkXY!vYZ!v]^!vpq!vqr#Xrs#duv$Uwx$axy$|yz%R{|%W|}&r}!O&w!O!P'T!Q![&a![!]'e!^!_'j!_!`'r!`!a'j!c!}'z#R#S'z#T#o'z#p#q(p#q#r(u%W;'S'z;'S;:j(j<%lO'z~!{S%O~XY!vYZ!v]^!vpq!v~#[P!_!`#_~#dOa~~#gUOY#dZr#drs#ys;'S#d;'S;=`$O<%lO#d~$OOn~~$RP;=`<%l#d~$XP#q#r$[~$aOv~~$dUOY$aZw$awx#yx;'S$a;'S;=`$v<%lO$a~$yP;=`<%l$a~%ROf~~%WOe~P%ZQ!O!P%a!Q![&aP%dP!Q![%gP%lRoP!Q![%g!g!h%u#X#Y%uP%xR{|&R}!O&R!Q![&XP&UP!Q![&XP&^PoP!Q![&XP&fSoP!O!P%a!Q![&a!g!h%u#X#Y%u~&wO!^~~&zRuv$U!O!P%a!Q![&a~'YQ]S!O!P'`!Q![%g~'eOh~~'jOs~~'oPa~!_!`#_~'wPd~!_!`#__(TV^WuQ%RT!Q!['z!c!}'z#R#S'z#T#o'z%W;'S'z;'S;:j(j<%lO'z_(mP;=`<%l'z~(uOq~~(xP#q#r({~)QOX~",tokenizers:[F,N,C,I,0,1,2,3],topRules:{Template:[0,7]},specialized:[{term:187,get:O=>A[O]||-1},{term:37,get:O=>B[O]||-1}],tokenPrec:0});function q(O,$){return O.split(" ").map(e=>({label:e,type:$}))}const v=q("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),u=q("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),y=q("empty forloop tablerowloop in with as contains","keyword"),H=q("first index index0 last length rindex","property"),M=q("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function k(O={}){let $=O.filters?O.filters.concat(v):v,e=O.tags?O.tags.concat(u):u,r=O.variables?O.variables.concat(y):y,{properties:n}=O;return o=>{var Q;let t=function(s){var m;let{state:d,pos:P}=s,a=V(d).resolveInner(P,-1).enterUnfinishedNodesBefore(P),c=((m=a.childBefore(P))===null||m===void 0?void 0:m.name)||a.name;if(a.name=="FilterName")return{type:"filter",node:a};if(s.explicit&&c=="|")return{type:"filter"};if(a.name=="TagName")return{type:"tag",node:a};if(s.explicit&&c=="{%")return{type:"tag"};if(a.name=="PropertyName"&&a.parent.name=="MemberExpression")return{type:"property",node:a,target:a.parent};if(a.name=="."&&a.parent.name=="MemberExpression")return{type:"property",target:a.parent};if(a.name=="MemberExpression"&&c==".")return{type:"property",target:a};if(a.name=="VariableName")return{type:"expression",from:a.from};let p=s.matchBefore(/[\w\u00c0-\uffff]+$/);return p?{type:"expression",from:p.from}:s.explicit&&a.name!="CommentText"&&a.name!="StringLiteral"&&a.name!="NumberLiteral"&&a.name!="InlineComment"?{type:"expression"}:null}(o);if(!t)return null;let l,Y=(Q=t.from)!==null&&Q!==void 0?Q:t.node?t.node.from:o.pos;return l=t.type=="filter"?$:t.type=="tag"?e:t.type=="expression"?r:function(s,m,d,P){let a=[];for(;;){let c=m.getChild("Expression");if(!c)return[];if(c.name=="forloop")return a.length?[]:H;if(c.name=="tablerowloop")return a.length?[]:M;if(c.name=="VariableName"){a.unshift(s.sliceDoc(c.from,c.to));break}if(c.name!="MemberExpression")return[];{let p=c.getChild("PropertyName");p&&a.unshift(s.sliceDoc(p.from,p.to)),m=c}}return P?P(a,s,d):[]}(o.state,t.target,o,n),l.length?{options:l,from:Y,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const _=U.inputHandler.of((O,$,e,r)=>r=="%"&&$==e&&O.state.doc.sliceString($-1,e+1)=="{}"&&(O.dispatch(O.state.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:"%%"},range:j.cursor(n.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function g(O){return $=>{let e=O.test($.textAfter);return $.lineIndent($.node.from)+(e?0:$.unit)}}const K=X.define({name:"liquid",parser:L.configure({props:[S({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.tagName,FilterName:i.function(i.variableName),PropertyName:i.propertyName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),x.add({Tag:E({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":g(/^\s*(\{%-?\s*)?end\w/),IfDirective:g(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:g(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),Z.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let $=O.firstChild,e=O.lastChild;return $&&$.name=="Tag"?{from:$.to,to:e.name=="EndTag"?e.from:O.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),h=R();function W(O){return K.configure({wrap:G($=>$.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const T=W(h.language);function J(O={}){let $=O.base||h,e=$.language==h.language?T:W($.language);return new w(e,[$.support,e.data.of({autocomplete:k(O)}),$.language.data.of({closeBrackets:{brackets:["{"]}}),_])}export{_ as closePercentBrace,J as liquid,k as liquidCompletionSource,T as liquidLanguage};
|
|
1
|
+
import{n as R,d as w,o as U,e as X,p as G,q as j,g as z,s as S,i as x,h as Z,t as i,r as E,u as V,m as f}from"./index-BHV0wUT7.js";function D(O){return O>=65&&O<=90||O>=97&&O<=122}const F=new f(O=>{let $=O.pos;for(;;){let{next:e}=O;if(e<0)break;if(e==123){let r=O.peek(1);if(r==123){if(O.pos>$)break;return void O.acceptToken(1,2)}if(r==37){if(O.pos>$)break;let n=2,o=2;for(;;){let Q=O.peek(n);if(Q==32||Q==10)++n;else if(Q==35)for(++n;;){let t=O.peek(n);if(t<0||t==10)break;n++}else{if(Q!=45||o!=2){let t=Q==101&&O.peek(n+1)==110&&O.peek(n+2)==100;return void O.acceptToken(t?3:2,o)}o=++n}}}}if(O.advance(),e==10)break}O.pos>$&&O.acceptToken(180)});function b(O,$,e){return new f(r=>{let n=r.pos;for(;;){let{next:o}=r;if(o==123&&r.peek(1)==37){let Q=2;for(;;Q++){let l=r.peek(Q);if(l!=32&&l!=10)break}let t="";for(;;Q++){let l=r.peek(Q);if(!D(l))break;t+=String.fromCharCode(l)}if(t==O){if(r.pos>n)break;r.acceptToken(e,2);break}}else if(o<0)break;if(r.advance(),o==10)break}r.pos>n&&r.acceptToken($)})}const C=b("endcomment",182,5),N=b("endraw",181,4),I=new f(O=>{if(O.next==35){for(O.advance();!(O.next==10||O.next<0)&&(O.next!=37&&O.next!=125||O.peek(1)!=125);)O.advance();O.acceptToken(6)}}),A={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},B={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},L=z.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&`Q!jO,59QO&gQ!jO'#G^OsQhO'#CsOOQW'#G^'#G^OOOP,59l,59lO)PQhO,59lOsQhO,59pOsQhO,59tO)ZQhO,59vOsQhO,59yOsQhO,5:OOsQhO,5:SO!]QhO,5:WO!]QhO,5:`O)`QhO,5:dO)eQhO,5:fO)jQhO,5:hO)oQhO,5:kO)tQhO,5:qOsQhO,5:vOsQhO,5:xOsQhO,5;OOsQhO,5;QOsQhO,5;TOsQhO,5;XOsQhO,5;ZO+TQhO,5;]O+[OPO'#CdOOOP,59o,59oO#{OPO,59oO+jQxO'#DWOOOP,59x,59xO$ZOPO,59xO+oQxO'#DaOOOP,59},59}O$iOPO,59}O+tQxO'#DfOOOP,5:V,5:VO$wOPO,5:VO+yQxO'#DqOOOP,5:_,5:_O%VOPO,5:_O,OQxO'#DvOOOS'#GQ'#GQO,TOSO'#ERO,]OSO,5:jOOOQ'#GR'#GRO,bOQO'#EXO,jOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,oQxO'#EkOOOP-E9x-E9xO,tQ#|O,59SOsQhO,59VOsQhO,59VO,yQhO'#C|OOQW'#F|'#F|O-OQhO1G.lOOOP1G.l1G.lOsQhO,59VOsQhO,59ZO-WQ!jO,59_O-iQ!jO1G/WO-pQhO1G/WOOOP1G/W1G/WO-xQ!jO1G/[O.ZQ!jO1G/`OOOP1G/b1G/bO.lQ!jO1G/eO.}Q!jO1G/jO/qQ!jO1G/nO/xQhO1G/rO/}QhO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0SQhO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0_Q!jO1G0bO0fQ!jO1G0dO1QQ!jO1G0jO1cQ!jO1G0lO1jQ!jO1G0oO1{Q!jO1G0sO2^Q!jO1G0uO2oQhO'#EsO2vQhO'#ExO2}QhO'#FRO3UQhO'#FYO3]QhO'#F^O3dQhO'#FqOOQW'#Ga'#GaOOQW'#GT'#GTO3kQhO1G0wOsQhO'#EtOsQhO'#EyOsQhO'#E}OOQW'#FP'#FPOsQhO'#FSOsQhO'#FWO!]QhO'#FZO!]QhO'#F_OOQW'#Fc'#FcOOQW'#Fe'#FeO3rQhO'#FfOsQhO'#FhOsQhO'#FjOsQhO'#FmOsQhO'#FoOsQhO'#FrOsQhO'#FvOsQhO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO3wQhO,59rOOOP1G/d1G/dO3|QhO,59{OOOP1G/i1G/iO4RQhO,5:QOOOP1G/q1G/qO4WQhO,5:]OOOP1G/y1G/yO4]QhO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4bQxO'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4gQxO'#EYOOOP1G0n1G0nO4lQhO,5;VOOQW1G.n1G.nOOQW1G.q1G.qO7QQ!jO1G.qOOQW'#DO'#DOO7[QhO,59hOOQW-E9z-E9zOOOP7+$W7+$WO9UQ!jO1G.qO9`Q!jO1G.uOsQhO1G.yO;uQhO7+$rOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQhO'#F}O;}QhO7+%YOOOP7+%Y7+%YOsQhO7+%^OsQhO7+%fO<VQhO'#GPO<[QhO7+%nOOOP7+%n7+%nO<dQhO7+%nO<iQhO7+%|OOOP7+%|7+%|O!]QhO'#E`OOQW'#GS'#GSO<qQhO7+&OOsQhO'#E`OOOP7+&O7+&OOOOP7+&U7+&UO=PQhO7+&WOOOP7+&W7+&WOOOP7+&Z7+&ZOOOP7+&_7+&_OOOP7+&a7+&aOOQW,5;_,5;_O2oQhO,5;_OOQW'#Ev'#EvOOQW,5;d,5;dO2vQhO,5;dOOQW'#E{'#E{OOQW,5;m,5;mO2}QhO,5;mOOQW'#FU'#FUOOQW,5;t,5;tO3UQhO,5;tOOQW'#F['#F[OOQW,5;x,5;xO3]QhO,5;xOOQW'#Fa'#FaOOQW,5<],5<]O3dQhO,5<]OOQW'#Ft'#FtOOQW-E:R-E:ROOOP7+&c7+&cO=XQ!jO,5;`O>rQ!jO,5;eO@]Q!jO,5;iOBYQ!jO,5;nOCsQ!jO,5;rOEfQhO,5;uOEkQhO,5;yOEpQhO,5<QOGgQ!jO,5<SOIYQ!jO,5<UOKYQ!jO,5<XOMVQ!jO,5<ZONxQ!jO,5<^O!!cQ!jO,5<bO!$`Q!jO,5<dOOOP1G/^1G/^OOOP1G/g1G/gOOOP1G/l1G/lOOOP1G/w1G/wOOOP1G/|1G/|O!&]QhO,5:nO!&bQhO,5:tOOOP1G0q1G0qOsQhO1G/SO!&gQ!jO7+$eOOOP<<H^<<H^O!&xQ!jO,5<iOOQW-E9{-E9{OOOP<<Ht<<HtO!)ZQ!jO<<HxO!)bQ!jO<<IQOOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IY<<IYO!)iQhO<<IYOOOP<<Ih<<IhO!)qQhO,5:zOOQW-E:Q-E:QOOOP<<Ij<<IjO!)vQ!jO,5:zOOOP<<Ir<<IrOOQW1G0y1G0yOOQW1G1O1G1OOOQW1G1X1G1XOOQW1G1`1G1`OOQW1G1d1G1dOOQW1G1w1G1wO!*eQhO1G1^OsQhO1G1aOsQhO1G1eO!,XQhO1G1lO!-{QhO1G1lO!.QQhO1G1nO!]QhO'#FlOOQW'#GU'#GUO!/tQhO1G1pO!1hQhO1G1uOOOP1G0Y1G0YOOOP1G0`1G0`O!3[Q!jO7+$nOOQW<<HP<<HPOOQW'#Dp'#DpO!5_QhO'#DoOOQW'#GO'#GOO!6xQhOAN>dOOOPAN>dAN>dO!7QQhOAN>lOOOPAN>lAN>lO!7YQhOAN>tOOOPAN>tAN>tOsQhO1G0fO!]QhO1G0fO!7bQ!jO7+&{O!8qQ!jO7+'PO!:QQhO7+'WO!;tQhO,5<WOOQW-E:S-E:SOsQhO,5:ZOOQW-E9|-E9|OOOPG24OG24OOOOPG24WG24WOOOPG24`G24`O!;yQ!jO7+&QOOQW7+&Q7+&QO!<eQhO<<JgO!=uQhO<<JkO!?VQhO<<JrOsQhO1G1rO!@yQ!jO1G/uO!BmQ!jO7+'^",stateData:"!Dm~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OfeOifOjfOkfOlfOmfOnfOofO%RbO~OuhOvgOyiO}jO!PkO!SlO!XmO!]nO!aoO!ipO!mqO!orO!qsO!ttO!zuO#PvO#RwO#XxO#ZyO#^zO#b{O#d|O#f}O~OPROQSOR!RO$zPO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~O$|!`O~O${!cO~OPROQSOR!hO$zPO~O]!jO`!qOa!kOb!lOq!mO~OX!pO~P%}Od!rOX%QX]%QX`%QXa%QXb%QXq%QXh%QXv%QX!^%QX#T%QX#U%QXm%QX#i%QX#k%QX#n%QX#r%QX#t%QX#w%QX#{%QX$S%QX$W%QX$Z%QX$]%QX$_%QX$b%QX$d%QX$g%QX$k%QX$m%QX#p%QX#y%QX$i%QXe%QX%R%QX#V%QX$P%QX$U%QX~Oq!mOv!vO~PsOv!yO~Ov#PO~Ov#QO~On#RO~Ov#SO~Ov#TO~Om#oO#U#lO#i#fO#n#gO#r#hO#t#iO#w#jO#{#kO$S#mO$W#nO$Z#pO$]#qO$_#rO$b#sO$d#tO$g#uO$k#vO$m#wO~Ov#xO~P)yO$zPOPWXQWXRWX~O{#zO~O!U#|O~O!Z$OO~O!f$QO~O!k$SO~O$|!`OT!uX~OT$VO~O${!cOS!{X~OS$YO~O#`$[O~O^$]O~O%R$`O~OX$cOq!mO~O]!jO`!qOa!kOb!lOh$fO~Ov$hO~P%}Oq!mOv$hO~O]!jO`!qOa!kOb!lOv$iO~O]!jO`!qOa!kOb!lOv$jO~O]!jO`!qOa!kOb!lOv$kO~O]!jO`!qOa!kOb!lOv$lO~O]!jO`!qOa!kOb!lO!^$mO~Ov$oO~P/`O!b$pO~O!b$qO~Os$uOv$tO!^$rO~Ov$wO~P%}O]!jO`!qOa!kOb!lOv$|O!^$xO#T${O#U${O~O]!jO`!qOa!kOb!lOv$}O~Ov%PO~P%}O]!jO`!qOa!kOb!lOv%QO~O]!jO`!qOa!kOb!lOv%RO~O]!jO`!qOa!kOb!lOv%SO~O#k%VO~P)yO#p%YO~P)yO#y%]O~P)yO$P%`O~P)yO$U%cO~P)yO$i%fO~P)yOv%hO~P)yOn%pO~Ov%xO~Ov%yO~Ov%zO~Ov%{O~Ov%|O~O!w%}O~O!}&OO~Ov&PO~Oa!kOX_i]_iq_ih_iv_i!^_i#T_i#U_im_i#i_i#k_i#n_i#r_i#t_i#w_i#{_i$S_i$W_i$Z_i$]_i$__i$b_i$d_i$g_i$k_i$m_i#p_i#y_i$i_ie_i%R_i#V_i$P_i$U_i~O`!qOb!lO~P4qOs&QOXpaqpavpampa#Upa#ipa#npa#rpa#tpa#wpa#{pa$Spa$Wpa$Zpa$]pa$_pa$bpa$dpa$gpa$kpa$mpa#kpa#ppa#ypa$Ppa$Upa$ipa~O`_ib_i~P4qO`!qOa!kOb!lOXci]ciqcihcivci!^ci#Tci#Ucimci#ici#kci#nci#rci#tci#wci#{ci$Sci$Wci$Zci$]ci$_ci$bci$dci$gci$kci$mci#pci#yci$icieci%Rci#Vci$Pci$Uci~Oq!mOv&SO~Ov&VO!^$mO~On&YO~Ov&[O!^$rO~On&]O~Oq!mOv&^O~Ov&aO!^$xO#T${O#U${O~Oq!mOv&cO~O]!jO`!qOa!kOb!lOm#ha#U#ha#i#ha#k#ha#n#ha#r#ha#t#ha#w#ha#{#ha$S#ha$W#ha$Z#ha$]#ha$_#ha$b#ha$d#ha$g#ha$k#ha$m#ha~O]!jO`!qOa!kOb!lOm#ma#U#ma#i#ma#n#ma#p#ma#r#ma#t#ma#w#ma#{#ma$S#ma$W#ma$Z#ma$]#ma$_#ma$b#ma$d#ma$g#ma$k#ma$m#ma~O]!jO`!qOa!kOb!lOm#qav#qa#U#qa#i#qa#n#qa#r#qa#t#qa#w#qa#{#qa$S#qa$W#qa$Z#qa$]#qa$_#qa$b#qa$d#qa$g#qa$k#qa$m#qa#k#qa#p#qa#y#qa$P#qa$U#qa$i#qa~O]!jO`!qOa!kOb!lOm#va#U#va#i#va#n#va#r#va#t#va#w#va#y#va#{#va$S#va$W#va$Z#va$]#va$_#va$b#va$d#va$g#va$k#va$m#va~Om#zav#za#U#za#i#za#n#za#r#za#t#za#w#za#{#za$S#za$W#za$Z#za$]#za$_#za$b#za$d#za$g#za$k#za$m#za#k#za#p#za#y#za$P#za$U#za$i#za~P/`O!b&kO~O!b&lO~Os&nO!^$rOm$Yav$Ya#U$Ya#i$Ya#n$Ya#r$Ya#t$Ya#w$Ya#{$Ya$S$Ya$W$Ya$Z$Ya$]$Ya$_$Ya$b$Ya$d$Ya$g$Ya$k$Ya$m$Ya#k$Ya#p$Ya#y$Ya$P$Ya$U$Ya$i$Ya~Om$[av$[a#U$[a#i$[a#n$[a#r$[a#t$[a#w$[a#{$[a$S$[a$W$[a$Z$[a$]$[a$_$[a$b$[a$d$[a$g$[a$k$[a$m$[a#k$[a#p$[a#y$[a$P$[a$U$[a$i$[a~P%}O]!jO`!qOa!kOb!lO!^&pOm$^av$^a#U$^a#i$^a#n$^a#r$^a#t$^a#w$^a#{$^a$S$^a$W$^a$Z$^a$]$^a$_$^a$b$^a$d$^a$g$^a$k$^a$m$^a#k$^a#p$^a#y$^a$P$^a$U$^a$i$^a~O]!jO`!qOa!kOb!lOm$aav$aa#U$aa#i$aa#n$aa#r$aa#t$aa#w$aa#{$aa$S$aa$W$aa$Z$aa$]$aa$_$aa$b$aa$d$aa$g$aa$k$aa$m$aa#k$aa#p$aa#y$aa$P$aa$U$aa$i$aa~Om$cav$ca#U$ca#i$ca#n$ca#r$ca#t$ca#w$ca#{$ca$S$ca$W$ca$Z$ca$]$ca$_$ca$b$ca$d$ca$g$ca$k$ca$m$ca#k$ca#p$ca#y$ca$P$ca$U$ca$i$ca~P%}O]!jO`!qOa!kOb!lOm$fa#U$fa#i$fa#n$fa#r$fa#t$fa#w$fa#{$fa$S$fa$W$fa$Z$fa$]$fa$_$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~O]!jO`!qOa!kOb!lOm$jav$ja#U$ja#i$ja#n$ja#r$ja#t$ja#w$ja#{$ja$S$ja$W$ja$Z$ja$]$ja$_$ja$b$ja$d$ja$g$ja$k$ja$m$ja#k$ja#p$ja#y$ja$P$ja$U$ja$i$ja~O]!jO`!qOa!kOb!lOm$lav$la#U$la#i$la#n$la#r$la#t$la#w$la#{$la$S$la$W$la$Z$la$]$la$_$la$b$la$d$la$g$la$k$la$m$la#k$la#p$la#y$la$P$la$U$la$i$la~Ov&tO~Ov&uO~O]!jO`!qOa!kOb!lOe&wO~O]!jO`!qOa!kOb!lOv$qa!^$qam$qa#U$qa#i$qa#n$qa#r$qa#t$qa#w$qa#{$qa$S$qa$W$qa$Z$qa$]$qa$_$qa$b$qa$d$qa$g$qa$k$qa$m$qa#k$qa#p$qa#y$qa$P$qa$U$qa$i$qa~O]!jO`!qOa!kOb!lO%R&xO~Ov&|O~P!(xOv'OO~P!(xOv'QO!^$rO~Os'RO~O]!jO`!qOa!kOb!lO#V'SOv#Sa!^#Sa#T#Sa#U#Sa~O!^$mOm#ziv#zi#U#zi#i#zi#n#zi#r#zi#t#zi#w#zi#{#zi$S#zi$W#zi$Z#zi$]#zi$_#zi$b#zi$d#zi$g#zi$k#zi$m#zi#k#zi#p#zi#y#zi$P#zi$U#zi$i#zi~O!^$rOm$Yiv$Yi#U$Yi#i$Yi#n$Yi#r$Yi#t$Yi#w$Yi#{$Yi$S$Yi$W$Yi$Z$Yi$]$Yi$_$Yi$b$Yi$d$Yi$g$Yi$k$Yi$m$Yi#k$Yi#p$Yi#y$Yi$P$Yi$U$Yi$i$Yi~On'VO~Oq!mOm$[iv$[i#U$[i#i$[i#n$[i#r$[i#t$[i#w$[i#{$[i$S$[i$W$[i$Z$[i$]$[i$_$[i$b$[i$d$[i$g$[i$k$[i$m$[i#k$[i#p$[i#y$[i$P$[i$U$[i$i$[i~O!^&pOm$^iv$^i#U$^i#i$^i#n$^i#r$^i#t$^i#w$^i#{$^i$S$^i$W$^i$Z$^i$]$^i$_$^i$b$^i$d$^i$g$^i$k$^i$m$^i#k$^i#p$^i#y$^i$P$^i$U$^i$i$^i~Oq!mOm$civ$ci#U$ci#i$ci#n$ci#r$ci#t$ci#w$ci#{$ci$S$ci$W$ci$Z$ci$]$ci$_$ci$b$ci$d$ci$g$ci$k$ci$m$ci#k$ci#p$ci#y$ci$P$ci$U$ci$i$ci~O]!jO`!qOa!kOb!lOXpqqpqvpqmpq#Upq#ipq#npq#rpq#tpq#wpq#{pq$Spq$Wpq$Zpq$]pq$_pq$bpq$dpq$gpq$kpq$mpq#kpq#ppq#ypq$Ppq$Upq$ipq~Os'YOv!cX%R!cXm!cX#U!cX#i!cX#n!cX#r!cX#t!cX#w!cX#{!cX$P!cX$S!cX$W!cX$Z!cX$]!cX$_!cX$b!cX$d!cX$g!cX$k!cX$m!cX$U!cX~Ov'[O%R&xO~Ov']O%R&xO~Ov'^O!^$rO~Om#}q#U#}q#i#}q#n#}q#r#}q#t#}q#w#}q#{#}q$P#}q$S#}q$W#}q$Z#}q$]#}q$_#}q$b#}q$d#}q$g#}q$k#}q$m#}q~P!(xOm$Rq#U$Rq#i$Rq#n$Rq#r$Rq#t$Rq#w$Rq#{$Rq$S$Rq$U$Rq$W$Rq$Z$Rq$]$Rq$_$Rq$b$Rq$d$Rq$g$Rq$k$Rq$m$Rq~P!(xO!^$rOm$Yqv$Yq#U$Yq#i$Yq#n$Yq#r$Yq#t$Yq#w$Yq#{$Yq$S$Yq$W$Yq$Z$Yq$]$Yq$_$Yq$b$Yq$d$Yq$g$Yq$k$Yq$m$Yq#k$Yq#p$Yq#y$Yq$P$Yq$U$Yq$i$Yq~Os'dO~O]!jO`!qOa!kOb!lOv#Sq!^#Sq#T#Sq#U#Sq~O%R&xOm#}y#U#}y#i#}y#n#}y#r#}y#t#}y#w#}y#{#}y$P#}y$S#}y$W#}y$Z#}y$]#}y$_#}y$b#}y$d#}y$g#}y$k#}y$m#}y~O%R&xOm$Ry#U$Ry#i$Ry#n$Ry#r$Ry#t$Ry#w$Ry#{$Ry$S$Ry$U$Ry$W$Ry$Z$Ry$]$Ry$_$Ry$b$Ry$d$Ry$g$Ry$k$Ry$m$Ry~O!^$rOm$Yyv$Yy#U$Yy#i$Yy#n$Yy#r$Yy#t$Yy#w$Yy#{$Yy$S$Yy$W$Yy$Z$Yy$]$Yy$_$Yy$b$Yy$d$Yy$g$Yy$k$Yy$m$Yy#k$Yy#p$Yy#y$Yy$P$Yy$U$Yy$i$Yy~O]!jO`!qOa!kOb!lOv!ci%R!cim!ci#U!ci#i!ci#n!ci#r!ci#t!ci#w!ci#{!ci$P!ci$S!ci$W!ci$Z!ci$]!ci$_!ci$b!ci$d!ci$g!ci$k!ci$m!ci$U!ci~O]!jO`!qOa!kOb!lOm$`qv$`q!^$`q#U$`q#i$`q#n$`q#r$`q#t$`q#w$`q#{$`q$S$`q$W$`q$Z$`q$]$`q$_$`q$b$`q$d$`q$g$`q$k$`q$m$`q#k$`q#p$`q#y$`q$P$`q$U$`q$i$`q~O",goto:"7o%UPPPPPPPP%VP%V%g&zPP&zPPP&zPPP&zPPPPPPPP'xP(YP(]PP(](mP(}P(]P(]P(])TP)eP(])kP){P(]PP(]*RPP*c*m*wP(]*}P+_P(]P(]P(]P(]+eP+u+xP(]+{P,],`P(]P(]P,cPPP(]P(]P(],gP,wP(]P(]P(]P,}-_P-oP,}-uP.VP,}P,}P,}.]P.mP,}P,}.s/TP,}/ZP/kP,}P,},}P,}P,}P/q,}P,}P,}/uP0VP,}P,}P0]0{1c2R2]2o3R3X3_3e4TPPPPPP4Z4kP%V7_m^OTUVWX[`!Q!T!W!Z!^!g!vdRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dQ!}oQ#OpQ%n#lQ%o#mQ&_$xQ'W&pR'`'S!wfRehijlmnvwxyz{|!k!l!q!r#f#g#h#j#k#q#r#s#t#u#v#w$f$m$p$q${&Q&k&l'R'Y'dm!nch!o!t!u#U#X$g$v%O%q%t&o&sR$a!mm]OTUVWX[`!Q!T!W!Z!^!gmTOTUVWX[`!Q!T!W!Z!^!gQ!PTR#y!QmUOTUVWX[`!Q!T!W!Z!^!gQ!SUR#{!TmVOTUVWX[`!Q!T!W!Z!^!gQ!VVR#}!WmWOTUVWX[`!Q!T!W!Z!^!ga&z&W&X&{&}'T'U'a'ba&y&W&X&{&}'T'U'a'bQ!YWR$P!ZmXOTUVWX[`!Q!T!W!Z!^!gQ!]XR$R!^mYOTUVWX[`!Q!T!W!Z!^!gR!bYR$U!bmZOTUVWX[`!Q!T!W!Z!^!gR!eZR$X!eT$y#V$zm[OTUVWX[`!Q!T!W!Z!^!gQ!f[R$Z!gm#c}#]#^#_#`#a#b#e%U%X%[%_%b%em#]}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%T#]R&d%Um#^}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%W#^R&e%Xm#_}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%Z#_R&f%[m#`}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%^#`R&g%_m#a}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%a#aR&h%bT&q%r&rm#b}#]#^#_#`#a#b#e%U%X%[%_%b%eQ%d#bR&i%eQ`OQ!QTQ!TUQ!WVQ!ZWQ!^XQ!g[_!i`!Q!T!W!Z!^!gSQO`SaQ!Oi!OTUVWX[!Q!T!W!Z!^!gQ!ocQ!uh^$b!o!u$g$v%O&o&sQ$g!tQ$v#UQ%O#XQ&o%qR&s%tQ$n!|S&U$n&jR&j%mQ&{&WQ&}&XW'Z&{&}'a'bQ'a'TR'b'UQ$s#RW&Z$s&m'P'cQ&m%pQ'P&]R'c'VQ!aYR$T!aQ!dZR$W!dQ$z#VR&`$zQ#e}Q%U#]Q%X#^Q%[#_Q%_#`Q%b#aQ%e#b_%g#e%U%X%[%_%b%eQ&r%rR'X&rm_OTUVWX[`!Q!T!W!Z!^!gQcRQ!seQ!thQ!wiQ!xjQ!zlQ!{mQ!|nQ#UvQ#VwQ#WxQ#XyQ#YzQ#Z{Q#[|Q$^!kQ$_!lQ$d!qQ$e!rQ%i#fQ%j#gQ%k#hQ%l#jQ%m#kQ%q#qQ%r#rQ%s#sQ%t#tQ%u#uQ%v#vQ%w#wQ&R$fQ&T$mQ&W$pQ&X$qQ&b${Q&v&QQ'T&kQ'U&lQ'_'RQ'e'YR'f'dm#d}#]#^#_#`#a#b#e%U%X%[%_%b%e",nodeNames:"\u26A0 {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when , ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render RenderParameter Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",maxTerm:189,nodeProps:[["closedBy",1,"}}",-4,2,3,4,5,"%}",22,")"],["openedBy",9,"{{",21,"(",38,"{%"],["group",-12,11,12,15,19,23,25,26,27,28,29,30,31,"Expression"]],skippedNodes:[0,6],repeatNodeCount:11,tokenData:")Q~RkXY!vYZ!v]^!vpq!vqr#Xrs#duv$Uwx$axy$|yz%R{|%W|}&r}!O&w!O!P'T!Q![&a![!]'e!^!_'j!_!`'r!`!a'j!c!}'z#R#S'z#T#o'z#p#q(p#q#r(u%W;'S'z;'S;:j(j<%lO'z~!{S%O~XY!vYZ!v]^!vpq!v~#[P!_!`#_~#dOa~~#gUOY#dZr#drs#ys;'S#d;'S;=`$O<%lO#d~$OOn~~$RP;=`<%l#d~$XP#q#r$[~$aOv~~$dUOY$aZw$awx#yx;'S$a;'S;=`$v<%lO$a~$yP;=`<%l$a~%ROf~~%WOe~P%ZQ!O!P%a!Q![&aP%dP!Q![%gP%lRoP!Q![%g!g!h%u#X#Y%uP%xR{|&R}!O&R!Q![&XP&UP!Q![&XP&^PoP!Q![&XP&fSoP!O!P%a!Q![&a!g!h%u#X#Y%u~&wO!^~~&zRuv$U!O!P%a!Q![&a~'YQ]S!O!P'`!Q![%g~'eOh~~'jOs~~'oPa~!_!`#_~'wPd~!_!`#__(TV^WuQ%RT!Q!['z!c!}'z#R#S'z#T#o'z%W;'S'z;'S;:j(j<%lO'z_(mP;=`<%l'z~(uOq~~(xP#q#r({~)QOX~",tokenizers:[F,N,C,I,0,1,2,3],topRules:{Template:[0,7]},specialized:[{term:187,get:O=>A[O]||-1},{term:37,get:O=>B[O]||-1}],tokenPrec:0});function q(O,$){return O.split(" ").map(e=>({label:e,type:$}))}const v=q("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),u=q("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),y=q("empty forloop tablerowloop in with as contains","keyword"),H=q("first index index0 last length rindex","property"),M=q("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function k(O={}){let $=O.filters?O.filters.concat(v):v,e=O.tags?O.tags.concat(u):u,r=O.variables?O.variables.concat(y):y,{properties:n}=O;return o=>{var Q;let t=function(s){var m;let{state:d,pos:P}=s,a=V(d).resolveInner(P,-1).enterUnfinishedNodesBefore(P),c=((m=a.childBefore(P))===null||m===void 0?void 0:m.name)||a.name;if(a.name=="FilterName")return{type:"filter",node:a};if(s.explicit&&c=="|")return{type:"filter"};if(a.name=="TagName")return{type:"tag",node:a};if(s.explicit&&c=="{%")return{type:"tag"};if(a.name=="PropertyName"&&a.parent.name=="MemberExpression")return{type:"property",node:a,target:a.parent};if(a.name=="."&&a.parent.name=="MemberExpression")return{type:"property",target:a.parent};if(a.name=="MemberExpression"&&c==".")return{type:"property",target:a};if(a.name=="VariableName")return{type:"expression",from:a.from};let p=s.matchBefore(/[\w\u00c0-\uffff]+$/);return p?{type:"expression",from:p.from}:s.explicit&&a.name!="CommentText"&&a.name!="StringLiteral"&&a.name!="NumberLiteral"&&a.name!="InlineComment"?{type:"expression"}:null}(o);if(!t)return null;let l,Y=(Q=t.from)!==null&&Q!==void 0?Q:t.node?t.node.from:o.pos;return l=t.type=="filter"?$:t.type=="tag"?e:t.type=="expression"?r:function(s,m,d,P){let a=[];for(;;){let c=m.getChild("Expression");if(!c)return[];if(c.name=="forloop")return a.length?[]:H;if(c.name=="tablerowloop")return a.length?[]:M;if(c.name=="VariableName"){a.unshift(s.sliceDoc(c.from,c.to));break}if(c.name!="MemberExpression")return[];{let p=c.getChild("PropertyName");p&&a.unshift(s.sliceDoc(p.from,p.to)),m=c}}return P?P(a,s,d):[]}(o.state,t.target,o,n),l.length?{options:l,from:Y,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const _=U.inputHandler.of((O,$,e,r)=>r=="%"&&$==e&&O.state.doc.sliceString($-1,e+1)=="{}"&&(O.dispatch(O.state.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:"%%"},range:j.cursor(n.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function g(O){return $=>{let e=O.test($.textAfter);return $.lineIndent($.node.from)+(e?0:$.unit)}}const K=X.define({name:"liquid",parser:L.configure({props:[S({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":i.keyword,"empty forloop tablerowloop":i.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":i.controlKeyword,"assign capture endcapture":i.definitionKeyword,contains:i.operatorKeyword,"render include":i.moduleKeyword,VariableName:i.variableName,TagName:i.tagName,FilterName:i.function(i.variableName),PropertyName:i.propertyName,CompareOp:i.compareOperator,AssignOp:i.definitionOperator,LogicOp:i.logicOperator,NumberLiteral:i.number,StringLiteral:i.string,BooleanLiteral:i.bool,InlineComment:i.lineComment,CommentText:i.blockComment,"{% %} {{ }}":i.brace,"( )":i.paren,".":i.derefOperator,", .. : |":i.punctuation}),x.add({Tag:E({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":g(/^\s*(\{%-?\s*)?end\w/),IfDirective:g(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:g(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),Z.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let $=O.firstChild,e=O.lastChild;return $&&$.name=="Tag"?{from:$.to,to:e.name=="EndTag"?e.from:O.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),h=R();function W(O){return K.configure({wrap:G($=>$.type.isTop?{parser:O.parser,overlay:e=>e.name=="Text"||e.name=="RawText"}:null)},"liquid")}const T=W(h.language);function J(O={}){let $=O.base||h,e=$.language==h.language?T:W($.language);return new w(e,[$.support,e.data.of({autocomplete:k(O)}),$.language.data.of({closeBrackets:{brackets:["{"]}}),_])}export{_ as closePercentBrace,J as liquid,k as liquidCompletionSource,T as liquidLanguage};
|