@marimo-team/frontend 0.16.2 → 0.16.3
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-B5cPvWoQ.js → ConnectedDataExplorerComponent-Brtw1DxF.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-CqR26LSv.js → ImageComparisonComponent-Dxl-PbZX.js} +1 -1
- package/dist/assets/{VegaLite-DvQDATwI.js → VegaLite-BXQF0Cx_.js} +1 -1
- package/dist/assets/_baseEach-BjSm9ht3.js +1 -0
- package/dist/assets/_baseMap-CV4Ezmtf.js +1 -0
- package/dist/assets/_baseUniq-Ci9yZGxz.js +1 -0
- package/dist/assets/{_createAggregator-ZcHkHPNJ.js → _createAggregator-VFK9K2d9.js} +1 -1
- package/dist/assets/{agent-panel-B91RoLct.js → agent-panel-BoscVLCT.js} +7 -7
- package/dist/assets/{any-language-editor-CxfHcm5h.js → any-language-editor-ChaY_VUU.js} +1 -1
- package/dist/assets/{architectureDiagram-W76B3OCA-BQsvK8uR.js → architectureDiagram-W76B3OCA-CueUUFYd.js} +1 -1
- package/dist/assets/{between-horizontal-start-BmYToIaM.js → between-horizontal-start-DAHqmLYT.js} +1 -1
- package/dist/assets/{blockDiagram-QIGZ2CNN-r3HgCj4w.js → blockDiagram-QIGZ2CNN-BYYygyWn.js} +1 -1
- package/dist/assets/{c4Diagram-FPNF74CW-BJbPNt41.js → c4Diagram-FPNF74CW-DAz3xEh1.js} +1 -1
- package/dist/assets/channel-6SqQ2U_X.js +1 -0
- package/dist/assets/chat-panel-DJkOLrw9.js +3 -0
- package/dist/assets/{chunk-4BX2VUAB-Dv4MZ9Hj.js → chunk-4BX2VUAB-8g-RyHdt.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-CM4AHquB.js → chunk-55IACEB6-iWZZ8Mt6.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-C_Zz0ENB.js → chunk-FMBD7UC4-knjss4wk.js} +1 -1
- package/dist/assets/{chunk-K7UQS3LO-DYSmiXYq.js → chunk-K7UQS3LO-DVIwPBgZ.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-QM4OPuQP.js → chunk-QN33PNHL-CBU8pN6I.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-CfAsGyeB.js → chunk-QZHKN3VN-5ljElUF4.js} +1 -1
- package/dist/assets/{chunk-TVAH2DTR-6j_Cpjsi.js → chunk-TVAH2DTR-DkIdGINc.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-BHslFJQE.js → chunk-TZMSLE5B-CIFOSTqh.js} +1 -1
- package/dist/assets/{circle-play-CK3UZRYQ.js → circle-play-BOdsbq5u.js} +1 -1
- package/dist/assets/classDiagram-KNZD7YFC-DVqXcTYf.js +1 -0
- package/dist/assets/classDiagram-v2-RKCZMP56-DVqXcTYf.js +1 -0
- package/dist/assets/{clear-button-C4fDVSv8.js → clear-button-GAjXl0CQ.js} +1 -1
- package/dist/assets/clone-DSDb0xen.js +1 -0
- package/dist/assets/command-palette-BUXkqoLh.js +1 -0
- package/dist/assets/{common-D-lbuUwz.js → common-DahoYqdi.js} +1 -1
- package/dist/assets/{compile-DVQe1Mzk.js → compile-Bg8uJ7vm.js} +1 -1
- package/dist/assets/{cose-bilkent-S5V4N54A-D-IS7WC8.js → cose-bilkent-S5V4N54A-z_0gqD9K.js} +1 -1
- package/dist/assets/{dagre-5GWH7T2D-lYu-tEWT.js → dagre-5GWH7T2D-BMt7CNXL.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-C5peOCit.js → data-grid-overlay-editor-Ctn4XtXx.js} +1 -1
- package/dist/assets/{datasources-panel-D3NA20uZ.js → datasources-panel-C7sqRIHs.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BGVYOfkV.js → dependency-graph-panel-DNajptzv.js} +4 -4
- package/dist/assets/{diagram-N5W7TBWH-BnvIuYUp.js → diagram-N5W7TBWH-BzwvLvAy.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-DemedRK3.js → diagram-QEK2KX5R-DRLJ56FS.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-iiY7AuyH.js → diagram-S2PKOQOG-Bf8x4KTU.js} +1 -1
- package/dist/assets/{documentation-panel-C3dSwOSQ.js → documentation-panel-Dm6Ozl67.js} +1 -1
- package/dist/assets/edit-page-CGc9EjuG.js +140 -0
- package/dist/assets/{ellipsis-vertical-CazJl8M7.js → ellipsis-vertical-Bj1YXvZe.js} +1 -1
- package/dist/assets/{empty-state-DW308mFO.js → empty-state-CYev-D31.js} +1 -1
- package/dist/assets/{erDiagram-AWTI2OKA-6wQ8Ugg0.js → erDiagram-AWTI2OKA-DmgzgN_I.js} +1 -1
- package/dist/assets/{error-panel-D1VnJ1yP.js → error-panel-BYG4twCa.js} +1 -1
- package/dist/assets/{file-explorer-panel-0oVd4t-D.js → file-explorer-panel-BSMiOApi.js} +1 -1
- package/dist/assets/{flowDiagram-PVAE7QVJ-C55IUWjm.js → flowDiagram-PVAE7QVJ-BdRKkajr.js} +1 -1
- package/dist/assets/{ganttDiagram-OWAHRB6G-DmqCM6ME.js → ganttDiagram-OWAHRB6G-lfRAMnq_.js} +5 -5
- package/dist/assets/{gitGraphDiagram-NY62KEGX-DBvhAeM_.js → gitGraphDiagram-NY62KEGX-CQVTIrHF.js} +1 -1
- package/dist/assets/{glide-data-editor-CHNuHidQ.js → glide-data-editor-D5A4pou7.js} +11 -11
- package/dist/assets/{graph-CG6BgUWQ.js → graph-CBNo279v.js} +1 -1
- package/dist/assets/{home-page-dgivXuSR.js → home-page-CmdznBJR.js} +3 -3
- package/dist/assets/{index-BTGpssVX.js → index-0dfGh-Gj.js} +1 -1
- package/dist/assets/{index-C7dtgr9A.js → index-BDYVSSzB.js} +1 -1
- package/dist/assets/{index-C02SqeRj.js → index-B_KyDZ94.js} +1 -1
- package/dist/assets/{index-mkubqy9-.js → index-Bfy-I_lW.js} +1 -1
- package/dist/assets/{index-BelfnXwL.js → index-Bh98Tp-z.js} +1 -1
- package/dist/assets/{index-CAQvMTzM.js → index-BhroIwBL.js} +1 -1
- package/dist/assets/{index-BneyUujp.js → index-BtQtesaI.js} +1 -1
- package/dist/assets/index-C0iXCvyY.css +1 -0
- package/dist/assets/index-C1SHFMCp.js +581 -0
- package/dist/assets/{index-Csd6QrCV.js → index-C6DWtSls.js} +1 -1
- package/dist/assets/{index-BYVZlBF8.js → index-C71cdkH-.js} +1 -1
- package/dist/assets/{index-z4krxQ4j.js → index-CT_FTqvK.js} +1 -1
- package/dist/assets/{index-Db36XTG_.js → index-CU5rRr66.js} +1 -1
- package/dist/assets/{index-CtPksxf0.js → index-Cb6duXQm.js} +1 -1
- package/dist/assets/{index-DAZ-9ri2.js → index-D23e9zQj.js} +1 -1
- package/dist/assets/index-DUGecC2Z.js +68 -0
- package/dist/assets/{index-M_pBKDSe.js → index-DcGIOAQi.js} +1 -1
- package/dist/assets/{index-DONRrmA2.js → index-PJfa9qXY.js} +1 -1
- package/dist/assets/{index-sbO9UaUU.js → index-SPslPC2B.js} +1 -1
- package/dist/assets/{index-DdIhdEVw.js → index-VPQlo4Uz.js} +1 -1
- package/dist/assets/{index-_luCZMLM.js → index-qbTLKWyG.js} +1 -1
- package/dist/assets/infoDiagram-STP46IZ2-DBu8p9gd.js +2 -0
- package/dist/assets/{isEmpty-CqX_YTIf.js → isEmpty-CnOLuQIv.js} +1 -1
- package/dist/assets/{journeyDiagram-BIP6EPQ6-Y5w_Tqe_.js → journeyDiagram-BIP6EPQ6-6U_vHJBH.js} +1 -1
- package/dist/assets/{kanban-definition-6OIFK2YF-DbXs5Rxi.js → kanban-definition-6OIFK2YF-DgnR14ys.js} +1 -1
- package/dist/assets/{layout-BCNPDACj.js → layout-RHmq4fP9.js} +1 -1
- package/dist/assets/{linear-uO6UVhXt.js → linear-CLdOVPGV.js} +1 -1
- package/dist/assets/links-Dd1icsEk.js +7 -0
- package/dist/assets/{logs-panel-BEQ1eRUp.js → logs-panel-CjbuhBLx.js} +1 -1
- package/dist/assets/{markdown-renderer-Dmzbb00W.js → markdown-renderer-X5YJvAZq.js} +3 -3
- package/dist/assets/{mermaid-qRc4MXIj.js → mermaid-Bl2T5oEC.js} +1 -1
- package/dist/assets/{mermaid.core-CvvJtCRj.js → mermaid.core-CfukBvGI.js} +4 -4
- package/dist/assets/min-BXIes1Za.js +1 -0
- package/dist/assets/{mindmap-definition-Q6HEUPPD-G5NognM-.js → mindmap-definition-Q6HEUPPD-BXCjP4Lu.js} +1 -1
- package/dist/assets/{number-overlay-editor-DPr5sHFu.js → number-overlay-editor-BUyqkSes.js} +1 -1
- package/dist/assets/{outline-panel-gxQXvVi4.js → outline-panel-BvGcPKdd.js} +1 -1
- package/dist/assets/{packages-panel-B1T0VPlg.js → packages-panel-BichDQWG.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DK9SHkfc.js → pieDiagram-ADFJNKIX-CMzJFIJM.js} +1 -1
- package/dist/assets/{quadrantDiagram-LMRXKWRM-D1DdWF8C.js → quadrantDiagram-LMRXKWRM-CfGssUlO.js} +1 -1
- package/dist/assets/{react-plotly-CTwajqCb.js → react-plotly-DR3hV0HW.js} +1 -1
- package/dist/assets/{requirementDiagram-4UW4RH46-DnjDAypr.js → requirementDiagram-4UW4RH46-CfrFolth.js} +1 -1
- package/dist/assets/{run-page-CQY9im22.js → run-page-Bqd_4ePD.js} +1 -1
- package/dist/assets/{sankeyDiagram-GR3RE2ED-B67Va-ER.js → sankeyDiagram-GR3RE2ED-D_UttKU0.js} +1 -1
- package/dist/assets/scratchpad-panel-D5N15ji1.js +1 -0
- package/dist/assets/secrets-panel-BpbnAO4R.js +1 -0
- package/dist/assets/{sequenceDiagram-C3RYC4MD-DiWgZPtN.js → sequenceDiagram-C3RYC4MD-MdfQQApP.js} +1 -1
- package/dist/assets/{slides-component-DhpPRtQp.js → slides-component-C0z7rXmk.js} +1 -1
- package/dist/assets/{snippets-panel-CLkBXhJ2.js → snippets-panel-wlpZ_Wzx.js} +1 -1
- package/dist/assets/{sortBy-D4OG7w4O.js → sortBy-BW_zNHP6.js} +1 -1
- package/dist/assets/{state-Dz_3JyED.js → state-CDooX-dk.js} +1 -1
- package/dist/assets/{stateDiagram-KXAO66HF-ByF2AULw.js → stateDiagram-KXAO66HF-H7kfw3ot.js} +1 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-YMeb9qMR.js +1 -0
- package/dist/assets/{storage-Dr0CC44z.js → storage-b1QCapTq.js} +6 -6
- package/dist/assets/{terminal-BtdissBf.js → terminal-CPV44BXz.js} +1 -1
- package/dist/assets/{time-DKdOTnQg.js → time-DDy3xv5Y.js} +1 -1
- package/dist/assets/{timeline-definition-XQNQX7LJ-DzER9bf6.js → timeline-definition-XQNQX7LJ-J-cPRT2_.js} +1 -1
- package/dist/assets/{tracing-Dpx5M-u3.js → tracing-3eHHRUiJ.js} +2 -2
- package/dist/assets/{tracing-panel-hCjBkSER.js → tracing-panel-BMgy3D7d.js} +2 -2
- package/dist/assets/{trash-C6Ko-g5q.js → trash--tonOuDe.js} +1 -1
- package/dist/assets/{tree-BHN2gcCF.js → tree-ouIGEsVg.js} +6 -6
- package/dist/assets/{treemap-75Q7IDZK-DR79Mhzt.js → treemap-75Q7IDZK-CzJTJ_3R.js} +20 -20
- package/dist/assets/{variable-panel-PFBCFz36.js → variable-panel-sFTn4Oih.js} +1 -1
- package/dist/assets/{vega-component-Db6-uY4C.js → vega-component-BkPkzX9r.js} +1 -1
- package/dist/assets/{xychartDiagram-6GGTOJPD-DWzBP3tZ.js → xychartDiagram-6GGTOJPD-BZ8WOb_8.js} +1 -1
- package/dist/index.html +10 -3
- package/package.json +6 -6
- package/src/__mocks__/common.ts +5 -3
- package/src/__mocks__/notebook.ts +2 -2
- package/src/__tests__/main.test.tsx +2 -2
- package/src/components/ai/ai-provider-icon.tsx +2 -0
- package/src/components/app-config/ai-config.tsx +32 -1
- package/src/components/app-config/common.tsx +2 -2
- package/src/components/app-config/user-config-form.tsx +26 -0
- package/src/components/audio/audio-recorder.tsx +0 -1
- package/src/components/chat/acp/blocks.tsx +2 -2
- package/src/components/chat/acp/thread.tsx +3 -5
- package/src/components/chat/acp/utils.ts +5 -5
- package/src/components/chat/chat-panel.tsx +1 -1
- package/src/components/data-table/__tests__/data-table.test.tsx +2 -2
- package/src/components/data-table/charts/__tests__/altair-generator.test.ts +1 -1
- package/src/components/data-table/charts/chart-spec/tooltips.ts +3 -3
- package/src/components/data-table/charts/components/chart-items.tsx +1 -1
- package/src/components/data-table/charts/components/form-fields.tsx +2 -2
- package/src/components/data-table/charts/constants.ts +1 -1
- package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +2 -2
- package/src/components/data-table/columns.tsx +1 -1
- package/src/components/data-table/data-table.tsx +35 -3
- package/src/components/data-table/date-popover.tsx +1 -1
- package/src/components/data-table/download-actions.tsx +1 -1
- package/src/components/data-table/range-focus/__tests__/utils.test.ts +5 -5
- package/src/components/data-table/renderers.tsx +6 -5
- package/src/components/data-table/row-viewer-panel/row-viewer.tsx +1 -1
- package/src/components/data-table/types.ts +4 -3
- package/src/components/datasources/column-preview.tsx +9 -6
- package/src/components/debugger/debugger-code.tsx +1 -1
- package/src/components/dependency-graph/custom-node.tsx +15 -6
- package/src/components/dependency-graph/dependency-graph-minimap.tsx +2 -2
- package/src/components/dependency-graph/dependency-graph-tree.tsx +2 -2
- package/src/components/dependency-graph/dependency-graph.tsx +1 -1
- package/src/components/dependency-graph/elements.ts +7 -7
- package/src/components/dependency-graph/utils/changes.ts +4 -4
- package/src/components/editor/Cell.tsx +6 -2
- package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
- package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +1 -1
- package/src/components/editor/chrome/panels/packages-panel.tsx +1 -1
- package/src/components/editor/columns/storage.ts +1 -1
- package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +36 -0
- package/src/components/editor/database/__tests__/as-code.test.ts +30 -7
- package/src/components/editor/database/add-database-form.tsx +11 -0
- package/src/components/editor/database/as-code.ts +104 -5
- package/src/components/editor/database/schemas.ts +36 -18
- package/src/components/editor/errors/auto-fix.tsx +12 -2
- package/src/components/editor/errors/sql-validation-errors.tsx +12 -6
- package/src/components/editor/navigation/clipboard.ts +2 -2
- package/src/components/editor/output/ConsoleOutput.tsx +1 -1
- package/src/components/editor/output/JsonOutput.tsx +1 -1
- package/src/components/editor/output/MarimoErrorOutput.tsx +25 -25
- package/src/components/editor/output/MarimoTracebackOutput.tsx +17 -2
- package/src/components/editor/renderers/grid-layout/types.ts +2 -2
- package/src/components/editor/renderers/plugins.ts +1 -1
- package/src/components/editor/renderers/types.ts +1 -1
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +7 -7
- package/src/components/forms/form.tsx +5 -5
- package/src/components/ui/links.tsx +1 -0
- package/src/core/ai/__tests__/model-registry.test.ts +0 -10
- package/src/core/ai/context/providers/error.ts +2 -2
- package/src/core/ai/ids/ids.ts +1 -0
- package/src/core/ai/model-registry.ts +2 -1
- package/src/core/cells/cells.ts +5 -5
- package/src/core/cells/logs.ts +1 -1
- package/src/core/cells/types.ts +1 -1
- package/src/core/codemirror/__tests__/format.test.ts +6 -0
- package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
- package/src/core/codemirror/editing/commands.ts +2 -2
- package/src/core/codemirror/find-replace/navigate.ts +1 -1
- package/src/core/codemirror/language/__tests__/extension.test.ts +1 -1
- package/src/core/codemirror/language/__tests__/sql-validation.test.ts +1 -1
- package/src/core/codemirror/language/__tests__/sql.test.ts +764 -79
- package/src/core/codemirror/language/languages/markdown.ts +4 -1
- package/src/core/codemirror/language/languages/sql/{validation-errors.ts → banner-validation-errors.ts} +9 -3
- package/src/core/codemirror/language/languages/sql/completion-builder.ts +160 -0
- package/src/core/codemirror/language/languages/sql/completion-sources.tsx +9 -3
- package/src/core/codemirror/language/languages/sql/completion-store.ts +46 -50
- package/src/core/codemirror/language/languages/sql/renderers.tsx +485 -0
- package/src/core/codemirror/language/languages/sql/sql.ts +151 -24
- package/src/core/codemirror/language/languages/sql/utils.ts +4 -1
- package/src/core/codemirror/language/panel/sql.tsx +6 -1
- package/src/core/codemirror/language/utils/ast.ts +3 -3
- package/src/core/codemirror/lsp/federated-lsp.ts +4 -4
- package/src/core/codemirror/lsp/lens.ts +4 -4
- package/src/core/codemirror/lsp/notebook-lsp.ts +1 -1
- package/src/core/codemirror/lsp/types.ts +1 -1
- package/src/core/codemirror/markdown/completions.ts +1 -1
- package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
- package/src/core/codemirror/rtc/loro/awareness.ts +1 -1
- package/src/core/config/config-schema.ts +1 -0
- package/src/core/config/feature-flag.tsx +3 -1
- package/src/core/datasets/request-registry.ts +17 -10
- package/src/core/dom/events.ts +1 -1
- package/src/core/dom/outline.ts +2 -2
- package/src/core/dom/uiregistry.ts +2 -8
- package/src/core/errors/__tests__/errors.test.ts +22 -4
- package/src/core/errors/errors.ts +29 -1
- package/src/core/errors/state.ts +1 -1
- package/src/core/islands/main.ts +2 -2
- package/src/core/islands/parse.ts +1 -3
- package/src/core/kernel/messages.ts +1 -1
- package/src/core/network/CachingRequestRegistry.ts +74 -0
- package/src/core/network/DeferredRequestRegistry.ts +3 -1
- package/src/core/network/__tests__/CachingRequestRegistry.test.ts +73 -0
- package/src/core/network/types.ts +1 -1
- package/src/core/variables/state.ts +2 -2
- package/src/core/wasm/__tests__/state.test.ts +1 -1
- package/src/core/websocket/useMarimoWebSocket.tsx +5 -2
- package/src/custom.d.ts +1 -1
- package/src/hooks/useCellRenderCount.ts +1 -0
- package/src/hooks/useResizeHandle.ts +4 -1
- package/src/plugins/core/RenderHTML.tsx +1 -2
- package/src/plugins/impl/DataTablePlugin.tsx +7 -2
- package/src/plugins/impl/FileUploadPlugin.tsx +1 -1
- package/src/plugins/impl/RefreshPlugin.tsx +1 -1
- package/src/plugins/impl/SliderPlugin.tsx +4 -0
- package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +27 -9
- package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +58 -2
- package/src/plugins/impl/anywidget/__tests__/model.test.ts +3 -4
- package/src/plugins/impl/anywidget/model.ts +2 -3
- package/src/plugins/impl/data-editor/types.ts +1 -1
- package/src/plugins/impl/data-explorer/components/query-form.tsx +1 -1
- package/src/plugins/impl/data-frames/types.ts +1 -1
- package/src/plugins/impl/panel/PanelPlugin.tsx +2 -2
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
- package/src/plugins/impl/vega/__tests__/loader.test.ts +2 -2
- package/src/plugins/impl/vega/loader.ts +1 -1
- package/src/plugins/impl/vega/vega-component.tsx +1 -1
- package/src/plugins/impl/vega/vega-loader.ts +2 -2
- package/src/plugins/layout/NavigationMenuPlugin.tsx +1 -1
- package/src/plugins/layout/RoutesPlugin.tsx +1 -2
- package/src/plugins/plugins.ts +2 -2
- package/src/utils/Logger.ts +1 -1
- package/src/utils/__tests__/data-views.test.ts +30 -68
- package/src/utils/__tests__/dom.test.ts +10 -10
- package/src/utils/__tests__/id-tree.test.ts +49 -1
- package/src/utils/__tests__/storage.test.ts +1 -1
- package/src/utils/__tests__/traceback.test.ts +13 -2
- package/src/utils/arrays.ts +1 -1
- package/src/utils/createReducer.ts +1 -5
- package/src/utils/data-views.ts +6 -19
- package/src/utils/edit-distance.ts +1 -1
- package/src/utils/fileToBase64.ts +1 -1
- package/src/utils/id-tree.tsx +20 -18
- package/src/utils/json/base64.ts +13 -0
- package/src/utils/json/json-parser.ts +2 -2
- package/src/utils/lru.ts +4 -0
- package/src/utils/mergeRefs.ts +1 -1
- package/src/utils/objects.ts +3 -3
- package/src/utils/pluralize.ts +1 -1
- package/src/utils/routes.ts +2 -2
- package/src/utils/sets.ts +1 -1
- package/src/utils/traceback.ts +45 -15
- package/src/utils/tracer.ts +11 -9
- package/dist/assets/_baseEach--KDTwKbG.js +0 -1
- package/dist/assets/_baseMap-Cu3o-eyO.js +0 -1
- package/dist/assets/_baseUniq-y7ZXnMo1.js +0 -1
- package/dist/assets/channel-DFaEx1fu.js +0 -1
- package/dist/assets/chat-panel-IoPMv8e2.js +0 -3
- package/dist/assets/classDiagram-KNZD7YFC-BsZtvV5O.js +0 -1
- package/dist/assets/classDiagram-v2-RKCZMP56-BsZtvV5O.js +0 -1
- package/dist/assets/clone-YBEvPE-s.js +0 -1
- package/dist/assets/command-palette-D7hOfvf6.js +0 -1
- package/dist/assets/edit-page-C5TsEeSo.js +0 -129
- package/dist/assets/index-CGDMlQfO.css +0 -1
- package/dist/assets/index-CelXfcd8.js +0 -580
- package/dist/assets/index-Cxyk7pt-.js +0 -68
- package/dist/assets/infoDiagram-STP46IZ2-wTALjfPc.js +0 -2
- package/dist/assets/links-Drv7cJgN.js +0 -7
- package/dist/assets/min-DYUOb1RR.js +0 -1
- package/dist/assets/scratchpad-panel-DlDfcDtW.js +0 -1
- package/dist/assets/secrets-panel-BDGyuGZA.js +0 -1
- package/dist/assets/stateDiagram-v2-UMBNRL4Z-CtBJqosP.js +0 -1
- package/src/__tests__/lru.test.ts +0 -74
package/src/utils/id-tree.tsx
CHANGED
|
@@ -25,9 +25,9 @@ export type CellIndex = number & { __brand?: "CellIndex" };
|
|
|
25
25
|
export class TreeNode<T> {
|
|
26
26
|
public value: T;
|
|
27
27
|
public isCollapsed: boolean;
|
|
28
|
-
public children:
|
|
28
|
+
public children: TreeNode<T>[];
|
|
29
29
|
|
|
30
|
-
constructor(value: T, isCollapsed: boolean, children:
|
|
30
|
+
constructor(value: T, isCollapsed: boolean, children: TreeNode<T>[]) {
|
|
31
31
|
this.value = value;
|
|
32
32
|
this.isCollapsed = isCollapsed;
|
|
33
33
|
this.children = children;
|
|
@@ -77,15 +77,17 @@ export class TreeNode<T> {
|
|
|
77
77
|
@Memoize()
|
|
78
78
|
get inOrderIds(): T[] {
|
|
79
79
|
const result: T[] = [];
|
|
80
|
-
const queue = [...this.children];
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const node = queue.shift()!;
|
|
81
|
+
// Use depth-first traversal to preserve logical document order
|
|
82
|
+
const traverse = (node: TreeNode<T>) => {
|
|
85
83
|
result.push(node.value);
|
|
84
|
+
for (const child of node.children) {
|
|
85
|
+
traverse(child);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
for (const child of this.children) {
|
|
90
|
+
traverse(child);
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
return result;
|
|
@@ -106,10 +108,10 @@ export class TreeNode<T> {
|
|
|
106
108
|
let uniqueId = 0;
|
|
107
109
|
|
|
108
110
|
export class CollapsibleTree<T> {
|
|
109
|
-
public readonly nodes:
|
|
111
|
+
public readonly nodes: TreeNode<T>[];
|
|
110
112
|
public readonly id: CellColumnId;
|
|
111
113
|
|
|
112
|
-
private constructor(nodes:
|
|
114
|
+
private constructor(nodes: TreeNode<T>[], id: CellColumnId) {
|
|
113
115
|
this.nodes = nodes;
|
|
114
116
|
this.id = id;
|
|
115
117
|
}
|
|
@@ -160,7 +162,7 @@ export class CollapsibleTree<T> {
|
|
|
160
162
|
return newTree;
|
|
161
163
|
}
|
|
162
164
|
|
|
163
|
-
withNodes(nodes:
|
|
165
|
+
withNodes(nodes: TreeNode<T>[]): CollapsibleTree<T> {
|
|
164
166
|
return new CollapsibleTree(nodes, this.id);
|
|
165
167
|
}
|
|
166
168
|
|
|
@@ -305,7 +307,7 @@ export class CollapsibleTree<T> {
|
|
|
305
307
|
* Does not collapse the children of already collapsed nodes
|
|
306
308
|
*/
|
|
307
309
|
collapseAll(
|
|
308
|
-
collapseRanges:
|
|
310
|
+
collapseRanges: ({ id: T; until: T | undefined } | null)[],
|
|
309
311
|
): CollapsibleTree<T> {
|
|
310
312
|
const nodes = [...this.nodes];
|
|
311
313
|
if (collapseRanges.length === 0) {
|
|
@@ -539,7 +541,7 @@ export class CollapsibleTree<T> {
|
|
|
539
541
|
*/
|
|
540
542
|
find(id: T): T[] {
|
|
541
543
|
// We need to recursively find the node
|
|
542
|
-
function findNode(nodes:
|
|
544
|
+
function findNode(nodes: TreeNode<T>[], path: T[]): T[] {
|
|
543
545
|
for (const node of nodes) {
|
|
544
546
|
if (node.value === id) {
|
|
545
547
|
return [...path, id];
|
|
@@ -585,7 +587,7 @@ export class CollapsibleTree<T> {
|
|
|
585
587
|
toString(): string {
|
|
586
588
|
let depth = 0;
|
|
587
589
|
let result = "";
|
|
588
|
-
const asString = (nodes:
|
|
590
|
+
const asString = (nodes: TreeNode<T>[]) => {
|
|
589
591
|
for (const node of nodes) {
|
|
590
592
|
result += `${" ".repeat(depth * 2)}${node.toString()}\n`;
|
|
591
593
|
depth += 1;
|
|
@@ -599,9 +601,9 @@ export class CollapsibleTree<T> {
|
|
|
599
601
|
}
|
|
600
602
|
|
|
601
603
|
export class MultiColumn<T> {
|
|
602
|
-
private readonly columns:
|
|
604
|
+
private readonly columns: readonly CollapsibleTree<T>[];
|
|
603
605
|
|
|
604
|
-
constructor(columns:
|
|
606
|
+
constructor(columns: readonly CollapsibleTree<T>[]) {
|
|
605
607
|
this.columns = columns;
|
|
606
608
|
|
|
607
609
|
// Ensure there is always at least one column
|
|
@@ -662,7 +664,7 @@ export class MultiColumn<T> {
|
|
|
662
664
|
}
|
|
663
665
|
|
|
664
666
|
static fromIdsAndColumns<T>(
|
|
665
|
-
idAndColumns:
|
|
667
|
+
idAndColumns: [T, number | undefined | null][],
|
|
666
668
|
): MultiColumn<T> {
|
|
667
669
|
// If column is undefined, use the previous column
|
|
668
670
|
// Ensure there is always at least one column
|
|
@@ -744,7 +746,7 @@ export class MultiColumn<T> {
|
|
|
744
746
|
return this.columns.length === 1;
|
|
745
747
|
}
|
|
746
748
|
|
|
747
|
-
getColumns():
|
|
749
|
+
getColumns(): readonly CollapsibleTree<T>[] {
|
|
748
750
|
return this.columns;
|
|
749
751
|
}
|
|
750
752
|
|
package/src/utils/json/base64.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* Copyright 2024 Marimo. All rights reserved. */
|
|
2
|
+
|
|
3
|
+
import type { OperationMessageData } from "@/core/kernel/messages";
|
|
2
4
|
import type { TypedString } from "../typed";
|
|
3
5
|
|
|
4
6
|
export type JsonString<T = unknown> = TypedString<"Json"> & {
|
|
@@ -52,3 +54,14 @@ export function extractBase64FromDataURL(str: DataURLString): Base64String {
|
|
|
52
54
|
export function byteStringToBinary(bytes: ByteString): Uint8Array {
|
|
53
55
|
return Uint8Array.from(bytes, (c) => c.charCodeAt(0));
|
|
54
56
|
}
|
|
57
|
+
|
|
58
|
+
export function safeExtractSetUIElementMessageBuffers(
|
|
59
|
+
op: OperationMessageData<"send-ui-element-message">,
|
|
60
|
+
): readonly DataView[] {
|
|
61
|
+
// @ts-expect-error - TypeScript doesn't know that these strings are actually base64 strings
|
|
62
|
+
const strs: Base64String[] = op.buffers ?? [];
|
|
63
|
+
return strs.map((str) => {
|
|
64
|
+
const bytes = byteStringToBinary(typedAtob(str));
|
|
65
|
+
return new DataView(bytes.buffer);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
@@ -34,7 +34,7 @@ export function jsonParseWithSpecialChar<T = unknown>(
|
|
|
34
34
|
/(?<=\s|^|\[|,|:)(NaN|-Infinity|Infinity)(?=(?:[^"'\\]*(\\.|'([^'\\]*\\.)*[^'\\]*'|"([^"\\]*\\.)*[^"\\]*"))*[^"']*$)/g,
|
|
35
35
|
`"${CHAR}$1${CHAR}"`,
|
|
36
36
|
);
|
|
37
|
-
return JSON.parse(value, (
|
|
37
|
+
return JSON.parse(value, (_key, v) => {
|
|
38
38
|
if (typeof v !== "string") {
|
|
39
39
|
return v;
|
|
40
40
|
}
|
|
@@ -54,7 +54,7 @@ export function jsonParseWithSpecialChar<T = unknown>(
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export function jsonToTSV(json:
|
|
57
|
+
export function jsonToTSV(json: Record<string, unknown>[]) {
|
|
58
58
|
if (json.length === 0) {
|
|
59
59
|
return "";
|
|
60
60
|
}
|
package/src/utils/lru.ts
CHANGED
package/src/utils/mergeRefs.ts
CHANGED
package/src/utils/objects.ts
CHANGED
|
@@ -17,14 +17,14 @@ export const Objects = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Type-safe Object.fromEntries
|
|
19
19
|
*/
|
|
20
|
-
fromEntries<K extends string | number, V>(obj:
|
|
20
|
+
fromEntries<K extends string | number, V>(obj: [K, V][]): Record<K, V> {
|
|
21
21
|
return Object.fromEntries(obj) as Record<K, V>;
|
|
22
22
|
},
|
|
23
23
|
/**
|
|
24
24
|
* Type-safe Object.entries
|
|
25
25
|
*/
|
|
26
|
-
entries<K extends string | number, V>(obj: Record<K, V>):
|
|
27
|
-
return Object.entries(obj) as
|
|
26
|
+
entries<K extends string | number, V>(obj: Record<K, V>): [K, V][] {
|
|
27
|
+
return Object.entries(obj) as [K, V][];
|
|
28
28
|
},
|
|
29
29
|
/**
|
|
30
30
|
* Type-safe Object.keys
|
package/src/utils/pluralize.ts
CHANGED
package/src/utils/routes.ts
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "path-to-regexp";
|
|
9
9
|
|
|
10
10
|
export class TinyRouter {
|
|
11
|
-
private routes:
|
|
11
|
+
private routes: {
|
|
12
12
|
template: string;
|
|
13
13
|
pathFunction: MatchFunction<ParamData>;
|
|
14
|
-
}
|
|
14
|
+
}[];
|
|
15
15
|
|
|
16
16
|
constructor(templates: string[]) {
|
|
17
17
|
this.routes = templates.map((template) => {
|
package/src/utils/sets.ts
CHANGED
package/src/utils/traceback.ts
CHANGED
|
@@ -28,13 +28,38 @@ export const elementContainsMarimoCellFile = (domNode: Element) => {
|
|
|
28
28
|
);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
export type TracebackInfo =
|
|
32
|
+
| {
|
|
33
|
+
kind: "file";
|
|
34
|
+
filePath: string;
|
|
35
|
+
lineNumber: number;
|
|
36
|
+
}
|
|
37
|
+
| {
|
|
38
|
+
kind: "cell";
|
|
39
|
+
cellId: CellId;
|
|
40
|
+
lineNumber: number;
|
|
41
|
+
};
|
|
35
42
|
|
|
36
43
|
/**
|
|
37
44
|
* Extract the cell id and line number from a traceback DOM node.
|
|
45
|
+
*
|
|
46
|
+
* Example transformation:
|
|
47
|
+
*
|
|
48
|
+
* File <span class="nb">"/tmp/marimo_<number>/__marimo__cell_<CellId>.py"</span>
|
|
49
|
+
* , line <span class="n">1</span>...
|
|
50
|
+
*
|
|
51
|
+
* becomes
|
|
52
|
+
*
|
|
53
|
+
* { kind: "cell", cellId: <CellID>, lineNumber: 1 }
|
|
54
|
+
*
|
|
55
|
+
* or for files:
|
|
56
|
+
*
|
|
57
|
+
* File <span class="nb">"/path/to/file.py"</span>
|
|
58
|
+
* , line <span class="n">42</span>...
|
|
59
|
+
*
|
|
60
|
+
* becomes
|
|
61
|
+
*
|
|
62
|
+
* { kind: "file", filePath: "/path/to/file.py", lineNumber: 42 }
|
|
38
63
|
*/
|
|
39
64
|
export function getTracebackInfo(domNode: DOMNode): TracebackInfo | null {
|
|
40
65
|
// The traceback can be manipulated either in output render or in the pygments
|
|
@@ -57,7 +82,7 @@ export function getTracebackInfo(domNode: DOMNode): TracebackInfo | null {
|
|
|
57
82
|
if (
|
|
58
83
|
domNode instanceof Element &&
|
|
59
84
|
domNode.firstChild instanceof Text &&
|
|
60
|
-
|
|
85
|
+
matchesSelector(domNode, "span.nb")
|
|
61
86
|
) {
|
|
62
87
|
const nextSibling = domNode.next;
|
|
63
88
|
if (nextSibling && nextSibling instanceof Text) {
|
|
@@ -68,14 +93,22 @@ export function getTracebackInfo(domNode: DOMNode): TracebackInfo | null {
|
|
|
68
93
|
lineSibling.firstChild instanceof Text &&
|
|
69
94
|
matchesSelector(lineSibling, "span.m")
|
|
70
95
|
) {
|
|
71
|
-
const cellId = /__marimo__cell_(\w+)_/.exec(
|
|
72
|
-
domNode.firstChild.nodeValue,
|
|
73
|
-
)?.[1];
|
|
74
96
|
const lineNumber = Number.parseInt(
|
|
75
97
|
lineSibling.firstChild.nodeValue || "0",
|
|
98
|
+
10,
|
|
76
99
|
);
|
|
77
|
-
if (
|
|
78
|
-
|
|
100
|
+
if (domNode.firstChild.nodeValue?.includes("__marimo__")) {
|
|
101
|
+
const cellId = /__marimo__cell_(\w+)_/.exec(
|
|
102
|
+
domNode.firstChild.nodeValue,
|
|
103
|
+
)?.[1] as CellId;
|
|
104
|
+
if (cellId && lineNumber) {
|
|
105
|
+
return { kind: "cell", cellId, lineNumber };
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
const filePath = /"(.+?)"/.exec(domNode.firstChild.nodeValue)?.[1];
|
|
109
|
+
if (filePath && lineNumber) {
|
|
110
|
+
return { kind: "file", filePath, lineNumber };
|
|
111
|
+
}
|
|
79
112
|
}
|
|
80
113
|
}
|
|
81
114
|
}
|
|
@@ -92,11 +125,8 @@ export function extractAllTracebackInfo(traceback: string): TracebackInfo[] {
|
|
|
92
125
|
replace: (domNode) => {
|
|
93
126
|
const info = getTracebackInfo(domNode);
|
|
94
127
|
if (info) {
|
|
95
|
-
infos.push(
|
|
96
|
-
|
|
97
|
-
lineNumber: info.lineNumber,
|
|
98
|
-
});
|
|
99
|
-
return `${info.cellId}:${info.lineNumber}`;
|
|
128
|
+
infos.push(info);
|
|
129
|
+
return "dummy";
|
|
100
130
|
}
|
|
101
131
|
},
|
|
102
132
|
});
|
package/src/utils/tracer.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/* Copyright 2024 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
|
-
/* eslint-disable no-console */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
+
/** biome-ignore-all lint/suspicious/noConsole: for debugging */
|
|
5
|
+
|
|
6
|
+
import { Logger } from "./Logger";
|
|
5
7
|
|
|
6
8
|
type SpanStatus = "ok" | "error";
|
|
7
9
|
|
|
@@ -88,19 +90,19 @@ export class Tracer {
|
|
|
88
90
|
s.startTime < span.endTime,
|
|
89
91
|
);
|
|
90
92
|
if (childSpans.length > 0) {
|
|
91
|
-
|
|
93
|
+
Logger.log("Child Spans:");
|
|
92
94
|
childSpans.forEach((childSpan) => {
|
|
93
|
-
|
|
95
|
+
Logger.log(` - ${childSpan.name}`);
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
|
-
|
|
98
|
+
Logger.log(`Start Time: ${new Date(span.startTime).toISOString()}`);
|
|
97
99
|
if (span.endTime) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
+
Logger.log(`End Time: ${new Date(span.endTime).toISOString()}`);
|
|
101
|
+
Logger.log(`Duration: ${span.endTime - span.startTime}ms`);
|
|
100
102
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
Logger.log(`Status: ${span.status}`);
|
|
104
|
+
Logger.log(`Attributes: ${JSON.stringify(span.attributes)}`);
|
|
105
|
+
Logger.log("---");
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{eN as y,eO as l,eP as w,aO as b,eQ as O,eR as g,eS as A,eT as B,cH as H,eU as I,cI as N,B as P,eV as Q,A as R}from"./index-CelXfcd8.js";function h(r){return r==r&&!w(r)}function j(r,e){return function(n){return n!=null&&n[r]===e&&(e!==void 0||r in Object(n))}}function S(r){var e=(function(n){for(var t=b(n),u=t.length;u--;){var i=t[u],o=n[i];t[u]=[i,o,h(o)]}return t})(r);return e.length==1&&e[0][2]?j(e[0][0],e[0][1]):function(n){return n===r||(function(t,u,i,o){var a=i.length,c=a;if(t==null)return!c;for(t=Object(t);a--;){var f=i[a];if(f[2]?f[1]!==t[f[0]]:!(f[0]in t))return!1}for(;++a<c;){var s=(f=i[a])[0],v=t[s],m=f[1];if(f[2]){if(v===void 0&&!(s in t))return!1}else{var x=new y;if(!l(m,v,3,o,x))return!1}}return!0})(n,0,e)}}function T(r){return O(r)?I(g(r)):(function(e){return function(n){return H(n,e)}})(r)}function U(r){return typeof r=="function"?r:r==null?N:typeof r=="object"?P(r)?(e=r[0],n=r[1],O(e)&&h(n)?j(g(e),n):function(t){var u=A(t,e);return u===void 0&&u===n?B(t,e):l(n,u,3)}):S(r):T(r);var e,n}function p(r,e){return r&&Q(r,e,b)}var d,V=(d=p,function(r,e){if(r==null)return r;if(!R(r))return d(r,e);for(var n=r.length,t=-1,u=Object(r);++t<n&&e(u[t],t,u)!==!1;);return r});export{U as a,V as b,p as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as m}from"./_baseEach--KDTwKbG.js";import{A as s}from"./index-CelXfcd8.js";function e(r,o){var a=-1,t=s(r)?Array(r.length):[];return m(r,function(n,f,i){t[++a]=o(n,f,i)}),t}export{e as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{fv as p,aO as d,eJ as m,fw as F,fx as Y,fy as Z,fz as _,fA as rr,fB as B,fC as D,fD as er,fE as M,H as I,cJ as O,fF as A,eP as nr,fG as tr,D as cr,fH as or,fI as ar,eN as ur,fJ as fr,B as g,fK as sr,cI as ir,fL as br,cG as jr,fM as lr,fN as x,fO as N,fP as vr,fQ as yr}from"./index-CelXfcd8.js";import{b as U,a as P}from"./_baseEach--KDTwKbG.js";function C(){}function G(r,e){for(var n=-1,u=r==null?0:r.length;++n<u&&e(r[n],n,r)!==!1;);return r}function J(r,e,n,u){for(var s=r.length,a=n+-1;++a<s;)if(e(r[a],a,r))return a;return-1}function pr(r){return r!=r}function k(r,e,n){return e==e?(function(u,s,a){for(var c=a-1,f=u.length;++c<f;)if(u[c]===s)return c;return-1})(r,e,n):J(r,pr,n)}function H(r,e){return!!(r!=null&&r.length)&&k(r,e,0)>-1}var L=Object.getOwnPropertySymbols?function(r){for(var e=[];r;)Z(e,F(r)),r=_(r);return e}:Y;function R(r){return rr(r,m,L)}var Ar=Object.prototype.hasOwnProperty,gr=/\w*$/,V=D?D.prototype:void 0,z=V?V.valueOf:void 0;function hr(r,e,n){var u,s,a,c=r.constructor;switch(e){case"[object ArrayBuffer]":return B(r);case"[object Boolean]":case"[object Date]":return new c(+r);case"[object DataView]":return(function(f,b){var v=b?B(f.buffer):f.buffer;return new f.constructor(v,f.byteOffset,f.byteLength)})(r,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return er(r,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(r);case"[object RegExp]":return(a=new(s=r).constructor(s.source,gr.exec(s))).lastIndex=s.lastIndex,a;case"[object Symbol]":return u=r,z?Object(z.call(u)):{}}}var K=A&&A.isMap,wr=K?O(K):function(r){return M(r)&&I(r)=="[object Map]"},Q=A&&A.isSet,dr=Q?O(Q):function(r){return M(r)&&I(r)=="[object Set]"},W="[object Arguments]",$="[object Function]",q="[object Object]",o={};function h(r,e,n,u,s,a){var c,f=1&e,b=2&e,v=4&e;if(c!==void 0)return c;if(!nr(r))return r;var l=g(r);if(l){if(c=(function(t){var i=t.length,w=new t.constructor(i);return i&&typeof t[0]=="string"&&Ar.call(t,"index")&&(w.index=t.index,w.input=t.input),w})(r),!f)return tr(r,c)}else{var j=I(r),y=j==$||j=="[object GeneratorFunction]";if(cr(r))return or(r,f);if(j==q||j==W||y&&!s){if(c=b||y?{}:ar(r),!f)return b?(function(t,i){return p(t,L(t),i)})(r,(function(t,i){return t&&p(i,m(i),t)})(c,r)):(function(t,i){return p(t,F(t),i)})(r,(function(t,i){return t&&p(i,d(i),t)})(c,r))}else{if(!o[j])return s?r:{};c=hr(r,j,f)}}a||(a=new ur);var S=a.get(r);if(S)return S;a.set(r,c),dr(r)?r.forEach(function(t){c.add(h(t,e,n,t,r,a))}):wr(r)&&r.forEach(function(t,i){c.set(i,h(t,e,n,i,r,a))});var E=l?void 0:(v?b?R:fr:b?m:d)(r);return G(E||r,function(t,i){E&&(t=r[i=t]),sr(c,i,h(t,e,n,i,r,a))}),c}function T(r){return typeof r=="function"?r:ir}function mr(r,e){return(g(r)?G:U)(r,T(e))}function X(r,e){var n=[];return U(r,function(u,s,a){e(u,s,a)&&n.push(u)}),n}function Ir(r,e){return(g(r)?br:X)(r,P(e))}function xr(r){return r==null?[]:(function(e,n){return jr(n,function(u){return e[u]})})(r,d(r))}function Ur(r){return r===void 0}function Sr(r,e,n,u,s){return s(r,function(a,c,f){n=u?(u=!1,a):e(n,a,c,f)}),n}function Er(r,e,n){var u=g(r)?lr:Sr,s=arguments.length<3;return u(r,P(e),n,s,U)}o[W]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object DataView]"]=o["[object Boolean]"]=o["[object Date]"]=o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Map]"]=o["[object Number]"]=o[q]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object Symbol]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Error]"]=o[$]=o["[object WeakMap]"]=!1;var Fr=x&&1/N(new x([,-0]))[1]==1/0?function(r){return new x(r)}:C;function Br(r,e,n){var u=-1,s=H,a=r.length,c=!0,f=[],b=f;if(a>=200){var v=e?null:Fr(r);if(v)return N(v);c=!1,s=yr,b=new vr}else b=e?[]:f;r:for(;++u<a;){var l=r[u],j=e?e(l):l;if(l=l!==0?l:0,c&&j==j){for(var y=b.length;y--;)if(b[y]===j)continue r;e&&b.push(j),f.push(l)}else s(b,j,n)||(b!==f&&b.push(j),f.push(l))}return f}export{Br as a,h as b,mr as c,J as d,T as e,Ir as f,H as g,k as h,Ur as i,R as j,X as k,C as n,Er as r,xr as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as r,C as s}from"./mermaid.core-CvvJtCRj.js";const n=(a,o)=>r.lang.round(s.parse(a)[o]);export{n as c};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{r as h,cV as ue,cW as mr,j as s,cX as pr,cY as fe,cZ as Ie,c_ as $,c$ as K,d0 as hr,d1 as xr,a as O,T as V,L as me,d2 as vt,d3 as qe,d4 as gt,d5 as bt,d6 as wt,d7 as fr,d8 as jt,d9 as Ve,da as vr,db as gr,c7 as br,dc as yt,dd as wr,K as Je,de as jr,df as yr,dg as Nr,dh as Sr,di as _r,dj as Cr,dk as Rr,cO as G,a_ as B,ay as Ar,cr as Er,dl as Tr,ax as Pr,dm as Lr,dn as zr,dp as Ir,dq as kr,dr as Dr,ds as Mr,dt as Fr,du as Nt,C as Wr,dv as Hr,dw as Or,dx as Yr,dy as Xr,dz as Ur,dA as Br,aB as pe,dB as qr,bS as Vr,dC as Jr,dD as $r,dE as St,dF as Kr,a0 as Gr,dG as Zr,dH as _t,dI as Ct,dJ as Qr,E as es,bY as ts,a2 as rs,dK as ss,al as os,am as ns,dL as as,an as ls,dM as is,__tla as cs}from"./index-CelXfcd8.js";import{e as Rt,g as ds,__tla as us}from"./edit-page-C5TsEeSo.js";import{C as ms,u as At}from"./links-Drv7cJgN.js";import{P as Et}from"./empty-state-DW308mFO.js";import{M as $e,F as ps,A as hs,__tla as xs}from"./markdown-renderer-Dmzbb00W.js";import{i as fs}from"./isEmpty-CqX_YTIf.js";import{__tla as vs}from"./storage-Dr0CC44z.js";import"./index-BYVZlBF8.js";import"./index-_luCZMLM.js";import"./index-mkubqy9-.js";import"./index-BelfnXwL.js";import"./index-BneyUujp.js";import"./index-Csd6QrCV.js";import"./index-C02SqeRj.js";import"./index-M_pBKDSe.js";import"./index-C7dtgr9A.js";import"./index-CtPksxf0.js";import"./index-DONRrmA2.js";import"./index-z4krxQ4j.js";import"./index-CAQvMTzM.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-sbO9UaUU.js";import"./trash-C6Ko-g5q.js";import"./_createAggregator-ZcHkHPNJ.js";import"./_baseEach--KDTwKbG.js";import{__tla as gs}from"./loro_wasm_bg-C1ks32Vm.js";import"./katex-LV4FpwlL.js";import"./between-horizontal-start-BmYToIaM.js";let Tt,bs=Promise.all([(()=>{try{return cs}catch{}})(),(()=>{try{return us}catch{}})(),(()=>{try{return xs}catch{}})(),(()=>{try{return vs}catch{}})(),(()=>{try{return gs}catch{}})()]).then(async()=>{var ke="ScrollArea",[Ke,ws]=pr(ke),[Pt,W]=Ke(ke),Ge=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,type:n="hover",dir:o,scrollHideDelay:a=600,...l}=t,[i,c]=h.useState(null),[p,d]=h.useState(null),[u,m]=h.useState(null),[f,v]=h.useState(null),[w,C]=h.useState(null),[x,g]=h.useState(0),[_,y]=h.useState(0),[b,S]=h.useState(!1),[T,E]=h.useState(!1),N=ue(e,P=>c(P)),R=mr(o);return s.jsx(Pt,{scope:r,type:n,dir:R,scrollHideDelay:a,scrollArea:i,viewport:p,onViewportChange:d,content:u,onContentChange:m,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:b,onScrollbarXEnabledChange:S,scrollbarY:w,onScrollbarYChange:C,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:g,onCornerHeightChange:y,children:s.jsx(fe.div,{dir:R,...l,ref:N,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":_+"px",...t.style}})})});Ge.displayName=ke;var Ze="ScrollAreaViewport",Qe=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,children:n,nonce:o,...a}=t,l=W(Ze,r),i=h.useRef(null),c=ue(e,i,l.onViewportChange);return s.jsxs(s.Fragment,{children:[s.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),s.jsx(fe.div,{"data-radix-scroll-area-viewport":"",...a,ref:c,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...t.style},children:s.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Qe.displayName=Ze;var X="ScrollAreaScrollbar",De=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:l}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?a(!0):l(!0),()=>{i?a(!1):l(!1)}),[i,a,l]),o.type==="hover"?s.jsx(Lt,{...n,ref:e,forceMount:r}):o.type==="scroll"?s.jsx(zt,{...n,ref:e,forceMount:r}):o.type==="auto"?s.jsx(et,{...n,ref:e,forceMount:r}):o.type==="always"?s.jsx(Me,{...n,ref:e}):null});De.displayName=X;var Lt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),[a,l]=h.useState(!1);return h.useEffect(()=>{const i=o.scrollArea;let c=0;if(i){const p=()=>{window.clearTimeout(c),l(!0)},d=()=>{c=window.setTimeout(()=>l(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",p),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",p),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),s.jsx(Ie,{present:r||a,children:s.jsx(et,{"data-state":a?"visible":"hidden",...n,ref:e})})}),zt=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=W(X,t.__scopeScrollArea),a=t.orientation==="horizontal",l=we(()=>c("SCROLL_END"),100),[i,c]=(p="hidden",d={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},h.useReducer((u,m)=>d[u][m]??u,p));var p,d;return h.useEffect(()=>{if(i==="idle"){const u=window.setTimeout(()=>c("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,o.scrollHideDelay,c]),h.useEffect(()=>{const u=o.viewport,m=a?"scrollLeft":"scrollTop";if(u){let f=u[m];const v=()=>{const w=u[m];f!==w&&(c("SCROLL"),l()),f=w};return u.addEventListener("scroll",v),()=>u.removeEventListener("scroll",v)}},[o.viewport,a,c,l]),s.jsx(Ie,{present:r||i!=="hidden",children:s.jsx(Me,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:e,onPointerEnter:$(t.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:$(t.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),et=h.forwardRef((t,e)=>{const r=W(X,t.__scopeScrollArea),{forceMount:n,...o}=t,[a,l]=h.useState(!1),i=t.orientation==="horizontal",c=we(()=>{if(r.viewport){const p=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;l(i?p:d)}},10);return Z(r.viewport,c),Z(r.content,c),s.jsx(Ie,{present:n||a,children:s.jsx(Me,{"data-state":a?"visible":"hidden",...o,ref:e})})}),Me=h.forwardRef((t,e)=>{const{orientation:r="vertical",...n}=t,o=W(X,t.__scopeScrollArea),a=h.useRef(null),l=h.useRef(0),[i,c]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),p=nt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:p>0&&p<1,onThumbChange:m=>a.current=m,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:m=>l.current=m};function u(m,f){return(function(v,w,C,x="ltr"){const g=be(C),_=g/2,y=w||_,b=g-y,S=C.scrollbar.paddingStart+y,T=C.scrollbar.size-C.scrollbar.paddingEnd-b,E=C.content-C.viewport,N=x==="ltr"?[0,E]:[-1*E,0];return lt([S,T],N)(v)})(m,l.current,i,f)}return r==="horizontal"?s.jsx(It,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const m=at(o.viewport.scrollLeft,i,o.dir);a.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=u(m,o.dir))}}):r==="vertical"?s.jsx(kt,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&a.current){const m=at(o.viewport.scrollTop,i);a.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=u(m))}}):null}),It=h.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...o}=t,a=W(X,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),p=ue(e,c,a.onScrollbarXChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),s.jsx(rt,{"data-orientation":"horizontal",...o,ref:p,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":be(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,u)=>{if(a.viewport){const m=a.viewport.scrollLeft+d.deltaX;t.onWheelScroll(m),it(m,u)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&l&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ge(l.paddingLeft),paddingEnd:ge(l.paddingRight)}})}})}),kt=h.forwardRef((t,e)=>{const{sizes:r,onSizesChange:n,...o}=t,a=W(X,t.__scopeScrollArea),[l,i]=h.useState(),c=h.useRef(null),p=ue(e,c,a.onScrollbarYChange);return h.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),s.jsx(rt,{"data-orientation":"vertical",...o,ref:p,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":be(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,u)=>{if(a.viewport){const m=a.viewport.scrollTop+d.deltaY;t.onWheelScroll(m),it(m,u)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&l&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ge(l.paddingTop),paddingEnd:ge(l.paddingBottom)}})}})}),[Dt,tt]=Ke(X),rt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:o,onThumbChange:a,onThumbPointerUp:l,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:p,onWheelScroll:d,onResize:u,...m}=t,f=W(X,r),[v,w]=h.useState(null),C=ue(e,N=>w(N)),x=h.useRef(null),g=h.useRef(""),_=f.viewport,y=n.content-n.viewport,b=K(d),S=K(c),T=we(u,10);function E(N){if(x.current){const R=N.clientX-x.current.left,P=N.clientY-x.current.top;p({x:R,y:P})}}return h.useEffect(()=>{const N=R=>{const P=R.target;(v==null?void 0:v.contains(P))&&b(R,y)};return document.addEventListener("wheel",N,{passive:!1}),()=>document.removeEventListener("wheel",N,{passive:!1})},[_,v,y,b]),h.useEffect(S,[n,S]),Z(v,T),Z(f.content,T),s.jsx(Dt,{scope:r,scrollbar:v,hasThumb:o,onThumbChange:K(a),onThumbPointerUp:K(l),onThumbPositionChange:S,onThumbPointerDown:K(i),children:s.jsx(fe.div,{...m,ref:C,style:{position:"absolute",...m.style},onPointerDown:$(t.onPointerDown,N=>{N.button===0&&(N.target.setPointerCapture(N.pointerId),x.current=v.getBoundingClientRect(),g.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),E(N))}),onPointerMove:$(t.onPointerMove,E),onPointerUp:$(t.onPointerUp,N=>{const R=N.target;R.hasPointerCapture(N.pointerId)&&R.releasePointerCapture(N.pointerId),document.body.style.webkitUserSelect=g.current,f.viewport&&(f.viewport.style.scrollBehavior=""),x.current=null})})})}),ve="ScrollAreaThumb",st=h.forwardRef((t,e)=>{const{forceMount:r,...n}=t,o=tt(ve,t.__scopeScrollArea);return s.jsx(Ie,{present:r||o.hasThumb,children:s.jsx(Mt,{ref:e,...n})})}),Mt=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,style:n,...o}=t,a=W(ve,r),l=tt(ve,r),{onThumbPositionChange:i}=l,c=ue(e,u=>l.onThumbChange(u)),p=h.useRef(void 0),d=we(()=>{p.current&&(p.current(),p.current=void 0)},100);return h.useEffect(()=>{const u=a.viewport;if(u){const m=()=>{if(d(),!p.current){const f=Wt(u,i);p.current=f,i()}};return i(),u.addEventListener("scroll",m),()=>u.removeEventListener("scroll",m)}},[a.viewport,d,i]),s.jsx(fe.div,{"data-state":l.hasThumb?"visible":"hidden",...o,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:$(t.onPointerDownCapture,u=>{const m=u.target.getBoundingClientRect(),f=u.clientX-m.left,v=u.clientY-m.top;l.onThumbPointerDown({x:f,y:v})}),onPointerUp:$(t.onPointerUp,l.onThumbPointerUp)})});st.displayName=ve;var Fe="ScrollAreaCorner",ot=h.forwardRef((t,e)=>{const r=W(Fe,t.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?s.jsx(Ft,{...t,ref:e}):null});ot.displayName=Fe;var Ft=h.forwardRef((t,e)=>{const{__scopeScrollArea:r,...n}=t,o=W(Fe,r),[a,l]=h.useState(0),[i,c]=h.useState(0),p=!!(a&&i);return Z(o.scrollbarX,()=>{var u;const d=((u=o.scrollbarX)==null?void 0:u.offsetHeight)||0;o.onCornerHeightChange(d),c(d)}),Z(o.scrollbarY,()=>{var u;const d=((u=o.scrollbarY)==null?void 0:u.offsetWidth)||0;o.onCornerWidthChange(d),l(d)}),p?s.jsx(fe.div,{...n,ref:e,style:{width:a,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function ge(t){return t?parseInt(t,10):0}function nt(t,e){const r=t/e;return isNaN(r)?0:r}function be(t){const e=nt(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=(t.scrollbar.size-r)*e;return Math.max(n,18)}function at(t,e,r="ltr"){const n=be(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-o,l=e.content-e.viewport,i=a-n,c=xr(t,r==="ltr"?[0,l]:[-1*l,0]);return lt([0,l],[0,i])(c)}function lt(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const n=(e[1]-e[0])/(t[1]-t[0]);return e[0]+n*(r-t[0])}}function it(t,e){return t>0&&t<e}var Wt=(t,e=()=>{})=>{let r={left:t.scrollLeft,top:t.scrollTop},n=0;return(function o(){const a={left:t.scrollLeft,top:t.scrollTop},l=r.left!==a.left,i=r.top!==a.top;(l||i)&&e(),r=a,n=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(n)};function we(t,e){const r=K(t),n=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(n.current),[]),h.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,e)},[r,e])}function Z(t,e){const r=K(e);hr(()=>{let n=0;if(t){const o=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return o.observe(t),()=>{window.cancelAnimationFrame(n),o.unobserve(t)}}},[t,r])}var ct=Ge,Ht=Qe,Ot=ot;const dt=h.forwardRef((t,e)=>{const r=O.c(15);let n,o,a,l,i,c,p,d;return r[0]!==t?({className:o,children:n,...a}=t,r[0]=t,r[1]=n,r[2]=o,r[3]=a):(n=r[1],o=r[2],a=r[3]),r[4]!==o?(l=V("relative overflow-hidden",o),r[4]=o,r[5]=l):l=r[5],r[6]!==n?(i=s.jsx(Ht,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i):i=r[7],r[8]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(ut,{}),p=s.jsx(Ot,{}),r[8]=c,r[9]=p):(c=r[8],p=r[9]),r[10]!==a||r[11]!==e||r[12]!==l||r[13]!==i?(d=s.jsxs(ct,{ref:e,className:l,...a,children:[i,c,p]}),r[10]=a,r[11]=e,r[12]=l,r[13]=i,r[14]=d):d=r[14],d});dt.displayName=ct.displayName;const ut=h.forwardRef((t,e)=>{const r=O.c(14);let n,o,a;r[0]!==t?({className:n,orientation:a,...o}=t,r[0]=t,r[1]=n,r[2]=o,r[3]=a):(n=r[1],o=r[2],a=r[3]);const l=a===void 0?"vertical":a,i=l==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px";let p,d,u;return r[4]!==n||r[5]!==i||r[6]!==c?(p=V("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=p):p=r[7],r[8]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(st,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8],r[9]!==l||r[10]!==o||r[11]!==e||r[12]!==p?(u=s.jsx(De,{ref:e,orientation:l,className:p,...o,children:d}),r[9]=l,r[10]=o,r[11]=e,r[12]=p,r[13]=u):u=r[13],u});ut.displayName=De.displayName;const Yt=t=>{const e=O.c(13),{reasoning:r,index:n,isStreaming:o}=t,a=n===void 0?0:n,l=o!==void 0&&o,i=l?"reasoning":void 0;let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(qe,{className:"h-3 w-3"}),e[0]=c):c=e[0];const p=l?"Thinking":"View reasoning";let d,u,m,f;return e[1]!==r.length||e[2]!==p?(d=s.jsx(vt,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:s.jsxs("span",{className:"flex items-center gap-2",children:[c,p," (",r.length," ","chars)"]})}),e[1]=r.length,e[2]=p,e[3]=d):d=e[3],e[4]!==r?(u=s.jsx(gt,{className:"pb-2 px-2",children:s.jsx("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:s.jsx("div",{className:"pr-6",children:s.jsx($e,{content:r})})})}),e[4]=r,e[5]=u):u=e[5],e[6]!==d||e[7]!==u?(m=s.jsxs(bt,{value:"reasoning",className:"border-0",children:[d,u]}),e[6]=d,e[7]=u,e[8]=m):m=e[8],e[9]!==a||e[10]!==i||e[11]!==m?(f=s.jsx(wt,{type:"single",collapsible:!0,className:"w-full mb-2",value:i,children:m},a),e[9]=a,e[10]=i,e[11]=m,e[12]=f):f=e[12],f},Xt=fr({status:jt().default("success"),auth_required:vr().default(!1),action_url:Ve(),next_steps:Ve(),meta:Ve(),message:jt().nullish()}).passthrough(),Ut=t=>{const e=O.c(12),{data:r}=t;let n;if(e[0]!==r){const{status:o,auth_required:a,action_url:l,meta:i,next_steps:c,message:p,...d}=r;let u,m,f,v,w;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=s.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=u):u=e[2],e[3]!==o?(m=s.jsx("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:o}),e[3]=o,e[4]=m):m=e[4],e[5]!==a?(f=a&&s.jsx("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=a,e[6]=f):f=e[6],e[7]!==m||e[8]!==f?(v=s.jsxs("div",{className:"flex items-center justify-between",children:[u,s.jsxs("div",{className:"flex items-center gap-2",children:[m,f]})]}),e[7]=m,e[8]=f,e[9]=v):v=e[9],e[10]!==p?(w=p&&s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(wr,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),s.jsx("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=w):w=e[11],n=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[v,w,d&&s.jsx("div",{className:"space-y-3",children:Object.entries(d).map(Vt)})]}),e[0]=r,e[1]=n}else n=e[1];return n},Bt=t=>{const e=O.c(8),{result:r}=t;let n;e[0]!==r?(n=Xt.safeParse(r),e[0]=r,e[1]=n):n=e[1];const o=n;if(o.success){let i;return e[2]!==o.data?(i=s.jsx(Ut,{data:o.data}),e[2]=o.data,e[3]=i):i=e[3],i}let a,l;return e[4]!==r?(a=typeof r=="string"?r:JSON.stringify(r,null,2),e[4]=r,e[5]=a):a=e[5],e[6]!==a?(l=s.jsx("div",{className:"text-xs font-medium text-muted-foreground mb-1",children:a}),e[6]=a,e[7]=l):l=e[7],l},qt=t=>{const e=O.c(6),{input:r}=t;if(!(r&&r!==null))return null;const n=typeof r=="object"&&Object.keys(r).length>0;let o,a,l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[0]=o):o=e[0],e[1]!==r||e[2]!==n?(a=n?JSON.stringify(r,null,2):String(r),e[1]=r,e[2]=n,e[3]=a):a=e[3],e[4]!==a?(l=s.jsxs("div",{className:"space-y-2",children:[o,s.jsx("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:a})]}),e[4]=a,e[5]=l):l=e[5],l},mt=t=>{const e=O.c(38),{toolName:r,result:n,error:o,index:a,state:l,className:i,input:c}=t,p=a===void 0?0:a,d=l==="output-available"&&(n||o),u=o?"error":d?"success":"loading";let m;e[0]!==u?(m=()=>{switch(u){case"loading":return s.jsx(yt,{className:"h-3 w-3 animate-spin"});case"error":return s.jsx(br,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return s.jsx(ms,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return s.jsx(gr,{className:"h-3 w-3"})}},e[0]=u,e[1]=m):m=e[1];const f=m;let v;e[2]!==o||e[3]!==d||e[4]!==u?(v=()=>u==="loading"?"Running":o?"Failed":d?"Done":"Tool call",e[2]=o,e[3]=d,e[4]=u,e[5]=v):v=e[5];const w=v,C=`tool-${p}`;let x;e[6]!==i?(x=V("w-full",i),e[6]=i,e[7]=x):x=e[7];const g=u==="error"&&"text-[var(--red-11)]/80",_=u==="success"&&"text-[var(--grass-11)]/80";let y,b;e[8]!==g||e[9]!==_?(y=V("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",g,_),e[8]=g,e[9]=_,e[10]=y):y=e[10],e[11]!==f?(b=f(),e[11]=f,e[12]=b):b=e[12];const S=w();let T,E,N,R,P,k,D,z;return e[13]!==r?(T=(function(F){return F.replace("tool-","")})(r),e[13]=r,e[14]=T):T=e[14],e[15]!==T?(E=s.jsx("code",{className:"font-mono text-xs",children:T}),e[15]=T,e[16]=E):E=e[16],e[17]!==S||e[18]!==E||e[19]!==b?(N=s.jsxs("span",{className:"flex items-center gap-1",children:[b,S,":",E]}),e[17]=S,e[18]=E,e[19]=b,e[20]=N):N=e[20],e[21]!==N||e[22]!==y?(R=s.jsx(vt,{className:y,children:N}),e[21]=N,e[22]=y,e[23]=R):R=e[23],e[24]!==o||e[25]!==d||e[26]!==c||e[27]!==n?(P=d&&s.jsxs("div",{className:"space-y-3",children:[s.jsx(qt,{input:c}),n!=null&&s.jsx(Bt,{result:n}),o&&s.jsxs("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[s.jsxs("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[s.jsx("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),s.jsx("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:o})]})]}),e[24]=o,e[25]=d,e[26]=c,e[27]=n,e[28]=P):P=e[28],e[29]!==P?(k=s.jsx(gt,{className:"py-2 px-2",children:P}),e[29]=P,e[30]=k):k=e[30],e[31]!==R||e[32]!==k?(D=s.jsxs(bt,{value:"tool-call",className:"border-0",children:[R,k]}),e[31]=R,e[32]=k,e[33]=D):D=e[33],e[34]!==D||e[35]!==C||e[36]!==x?(z=s.jsx(wt,{type:"single",collapsible:!0,className:x,children:D},C),e[34]=D,e[35]=C,e[36]=x,e[37]=z):z=e[37],z};function Vt(t){const[e,r]=t;return fs(r)?null:s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[s.jsx("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),s.jsx("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(r,null,2)})]},e)}const Jt=new Set(["openai","google","anthropic"]),$t=["image/*","text/*"],Kt=({onNewChat:t,activeChatId:e,setActiveChat:r})=>{const{handleClick:n}=At(),o=Je(Rt),{locale:a}=ts(),l=h.useMemo(()=>[...o.chats.values()].sort((i,c)=>c.updatedAt-i.updatedAt),[o.chats]);return s.jsxs("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[s.jsx(pe,{content:"New chat",children:s.jsx(B,{variant:"text",size:"icon",onClick:t,children:s.jsx(rs,{className:"h-4 w-4"})})}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(pe,{content:"AI Settings",children:s.jsx(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:()=>n("ai"),children:s.jsx(ss,{className:"h-4 w-4"})})}),s.jsxs(os,{children:[s.jsx(pe,{content:"Previous chats",children:s.jsx(ns,{asChild:!0,children:s.jsx(B,{variant:"text",size:"icon",children:s.jsx(as,{className:"h-4 w-4"})})})}),s.jsx(ls,{className:"w-[520px] p-0",align:"start",side:"right",children:s.jsx(dt,{className:"h-[500px] p-4",children:s.jsxs("div",{className:"space-y-4",children:[l.length===0&&s.jsx(Et,{title:"No chats yet",description:"Start a new chat to get started",icon:s.jsx(qe,{})}),l.map(i=>s.jsxs("button",{className:V("w-full p-3 rounded-md cursor-pointer hover:bg-accent text-left",i.id===e&&"bg-accent"),onClick:()=>{r(i.id)},type:"button",children:[s.jsx("div",{className:"font-medium",children:i.title}),s.jsx("div",{className:"text-sm text-muted-foreground",children:is(i.updatedAt,a)})]},i.id))]})})})]})]})]})},pt=h.memo(t=>{const e=O.c(15),{message:r,index:n,onEdit:o,isStreamingReasoning:a,isLast:l}=t;let i;e[0]!==n||e[1]!==o?(i=w=>{var _,y;const C=(_=w.parts)==null?void 0:_.filter(Gt),x=C==null?void 0:C.map(Zt).join(`
|
|
2
|
-
`),g=(y=w.parts)==null?void 0:y.filter(Qt);return s.jsxs("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[g==null?void 0:g.map(er),s.jsx(Nt,{value:x,placeholder:"Type your message...",onChange:tr,onSubmit:(b,S)=>{S.trim()&&o(n,S)},onClose:rr},w.id)]})},e[0]=n,e[1]=o,e[2]=i):i=e[2];const c=i;let p;e[3]!==l||e[4]!==a?(p=w=>{const C=w.parts.filter(sr).map(or).join(`
|
|
3
|
-
`);return s.jsxs("div",{className:"w-[95%] break-words",children:[s.jsx("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:s.jsx(Wr,{className:"h-3 w-3",value:C||""})}),w.parts.map((x,g)=>{if((function(_){return _.type.startsWith("tool-")})(x))return s.jsx(mt,{index:g,toolName:x.type,result:x.output,className:"my-2",state:x.state,input:x.input},g);switch(x.type){case"text":return s.jsx($e,{content:x.text},g);case"reasoning":return s.jsx(Yt,{reasoning:x.text,index:g,isStreaming:l&&a&&g===(w.parts.length||0)-1},g);case"dynamic-tool":return s.jsx(mt,{index:g,toolName:x.type,result:x.output,state:x.state,input:x.input,className:"my-2"},g);case"data-reasoning-signature":return null;default:if(x.type.startsWith("data-"))return me.log("Found data part",x),null;me.error("Unhandled part type:",x.type);try{return s.jsx("div",{className:"text-xs text-muted-foreground",children:s.jsx($e,{content:JSON.stringify(x,null,2)})},g)}catch(_){const y=_;return me.error("Error rendering part:",x.type,y),null}}})]})},e[3]=l,e[4]=a,e[5]=p):p=e[5];const d=p,u=r.role==="user"?"justify-end":"justify-start";let m,f,v;return e[6]!==u?(m=V("flex group relative",u),e[6]=u,e[7]=m):m=e[7],e[8]!==r||e[9]!==d||e[10]!==c?(f=r.role==="user"?c(r):d(r),e[8]=r,e[9]=d,e[10]=c,e[11]=f):f=e[11],e[12]!==m||e[13]!==f?(v=s.jsx("div",{className:m,children:f}),e[12]=m,e[13]=f,e[14]=v):v=e[14],v});pt.displayName="ChatMessage";const ht=h.memo(t=>{var I;const e=O.c(37),{isEmpty:r,onSendClick:n,isLoading:o,onStop:a,fileInputRef:l,onAddFiles:i,onAddContext:c}=t,p=Je(yr),d=(p==null?void 0:p.mode)||"manual",u=((I=p==null?void 0:p.models)==null?void 0:I.chat_model)||Nr,m=Sr.parse(u).providerId,{saveModeChange:f}=_r();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search"},{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage"}],e[0]=v):v=e[0];const w=v,C=Jt.has(m);let x,g,_,y,b,S,T,E,N;e[1]!==d?(x=s.jsx(Hr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1 capitalize",children:d}),e[1]=d,e[2]=x):x=e[2],e[3]===Symbol.for("react.memo_cache_sentinel")?(g=s.jsx(Or,{children:"AI Mode"}),e[3]=g):g=e[3],e[4]!==w?(_=s.jsx(Cr,{children:s.jsxs(Rr,{children:[g,w.map(nr)]})}),e[4]=w,e[5]=_):_=e[5],e[6]!==d||e[7]!==f||e[8]!==x||e[9]!==_?(y=s.jsx(Yr,{feature:"mcp_docs",children:s.jsxs(Xr,{value:d,onValueChange:f,children:[x,_]})}),e[6]=d,e[7]=f,e[8]=x,e[9]=_,e[10]=y):y=e[10],e[11]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx(Ur,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),e[11]=b):b=e[11],e[12]!==y?(S=s.jsxs("div",{className:"flex items-center gap-2",children:[y,b]}),e[12]=y,e[13]=S):S=e[13],e[14]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx(Br,{className:"h-3.5 w-3.5"}),e[14]=T):T=e[14],e[15]!==c?(E=s.jsx(pe,{content:"Add context",children:s.jsx(B,{variant:"text",size:"icon",onClick:c,children:T})}),e[15]=c,e[16]=E):E=e[16],e[17]!==l||e[18]!==C||e[19]!==i?(N=C&&s.jsxs(s.Fragment,{children:[s.jsx(pe,{content:"Attach a file",children:s.jsx(B,{variant:"text",size:"icon",className:"cursor-pointer",onClick:()=>{var U;return(U=l.current)==null?void 0:U.click()},title:"Attach a file",children:s.jsx(qr,{className:"h-3.5 w-3.5"})})}),s.jsx(Vr,{ref:l,type:"file",multiple:!0,hidden:!0,onChange:U=>{U.target.files&&i([...U.target.files])},accept:$t.join(",")})]}),e[17]=l,e[18]=C,e[19]=i,e[20]=N):N=e[20];const R=o?"Stop":"Submit",P=o?a:n,k=!o&&r;let D,z,F,Y,q;return e[21]!==o?(D=o?s.jsx(Jr,{className:"h-3 w-3 fill-current"}):s.jsx($r,{className:"h-3 w-3"}),e[21]=o,e[22]=D):D=e[22],e[23]!==P||e[24]!==k||e[25]!==D?(z=s.jsx(B,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:P,disabled:k,children:D}),e[23]=P,e[24]=k,e[25]=D,e[26]=z):z=e[26],e[27]!==R||e[28]!==z?(F=s.jsx(pe,{content:R,children:z}),e[27]=R,e[28]=z,e[29]=F):F=e[29],e[30]!==N||e[31]!==F||e[32]!==E?(Y=s.jsxs("div",{className:"flex flex-row",children:[E,N,F]}),e[30]=N,e[31]=F,e[32]=E,e[33]=Y):Y=e[33],e[34]!==Y||e[35]!==S?(q=s.jsx(St,{children:s.jsxs("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row items-center justify-between",children:[S,Y]})}),e[34]=Y,e[35]=S,e[36]=q):q=e[36],q});ht.displayName="ChatInputFooter";const We=h.memo(t=>{const e=O.c(29),{placeholder:r,input:n,inputClassName:o,setInput:a,onSubmit:l,inputRef:i,isLoading:c,onStop:p,fileInputRef:d,onAddFiles:u,onClose:m}=t;let f;e[0]!==n||e[1]!==l?(f=()=>{n.trim()&&l(void 0,n)},e[0]=n,e[1]=l,e[2]=f):f=e[2];const v=G(f);let w;e[3]!==o?(w=V("px-2 py-3 flex-1",o),e[3]=o,e[4]=w):w=e[4];const C=r||"Type your message...";let x,g;e[5]!==n||e[6]!==i||e[7]!==u||e[8]!==m||e[9]!==l||e[10]!==a||e[11]!==C?(x=s.jsx(Nt,{inputRef:i,value:n,onChange:a,onSubmit:l,onClose:m,onAddFiles:u,placeholder:C}),e[5]=n,e[6]=i,e[7]=u,e[8]=m,e[9]=l,e[10]=a,e[11]=C,e[12]=x):x=e[12],e[13]!==w||e[14]!==x?(g=s.jsx("div",{className:w,children:x}),e[13]=w,e[14]=x,e[15]=g):g=e[15];const _=!n.trim();let y,b,S;return e[16]!==i?(y=()=>Kr(i),e[16]=i,e[17]=y):y=e[17],e[18]!==d||e[19]!==v||e[20]!==c||e[21]!==u||e[22]!==p||e[23]!==_||e[24]!==y?(b=s.jsx(ht,{isEmpty:_,onAddContext:y,onSendClick:v,isLoading:c,onStop:p,fileInputRef:d,onAddFiles:u}),e[18]=d,e[19]=v,e[20]=c,e[21]=u,e[22]=p,e[23]=_,e[24]=y,e[25]=b):b=e[25],e[26]!==g||e[27]!==b?(S=s.jsxs("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[g,b]}),e[26]=g,e[27]=b,e[28]=S):S=e[28],S});We.displayName="ChatInput";let xt;Tt=()=>{const t=O.c(6),e=Je(jr),{handleClick:r}=At();if(!e){let o,a,l;return t[0]!==r?(o=s.jsx(B,{variant:"outline",size:"sm",onClick:()=>r("ai"),children:"Edit AI settings"}),t[0]=r,t[1]=o):o=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(qe,{}),t[2]=a):a=t[2],t[3]!==o?(l=s.jsx(Et,{title:"Chat with AI",description:"AI is currently disabled. Add your API key to enable.",action:o,icon:a}),t[3]=o,t[4]=l):l=t[4],l}let n;return t[5]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(xt,{}),t[5]=n):n=t[5],n},xt=()=>{const t=O.c(86),e=Ar(Rt),[r,n]=Er(ds),[o,a]=h.useState(""),[l,i]=h.useState(""),[c,p]=h.useState(),d=h.useRef(null),u=h.useRef(null),m=h.useRef(null),f=h.useRef(null),v=h.useRef(null),w=Tr(),{invokeAiTool:C}=Pr(),x=r==null?void 0:r.id;let g,_,y;t[0]!==(r==null?void 0:r.messages)?(g=(r==null?void 0:r.messages)||[],t[0]=r==null?void 0:r.messages,t[1]=g):g=t[1],t[2]!==w?(_=new Lr({api:w.getAiURL("chat").toString(),headers:w.headers(),prepareSendMessagesRequest:lr}),t[2]=w,t[3]=_):_=t[3],t[4]!==e?(y=j=>{const{messages:A}=j;e(L=>(({chatState:M,chatId:ce,messages:J})=>{if(!ce)return me.warn("No active chat"),M;const de=M.chats.get(ce);if(!de)return me.warn("No active chat"),M;const ft=new Map(M.chats),ur=Date.now();return ft.set(de.id,{...de,messages:J,updatedAt:ur}),{...M,chats:ft}})({chatState:L,chatId:L.activeChatId,messages:A}))},t[4]=e,t[5]=y):y=t[5];const{messages:b,sendMessage:S,error:T,status:E,regenerate:N,stop:R,addToolResult:P,id:k}=zr({id:x,sendAutomaticallyWhen:ar,messages:g,transport:_,onFinish:y,onToolCall:async j=>{const{toolCall:A}=j;await Ir({invokeAiTool:C,addToolResult:D,toolCall:{toolName:A.toolName,toolCallId:A.toolCallId,input:A.input}})},onError:ir}),D=P;let z;t[6]===Symbol.for("react.memo_cache_sentinel")?(z=j=>{if(j.length===0)return;let A=0;for(const L of j)A+=L.size;A>52428800?Gr({title:"File size exceeds 50MB limit",description:"Please remove some files and try again."}):p(L=>[...L??[],...j])},t[6]=z):z=t[6];const F=G(z);let Y;t[7]!==c?(Y=j=>{c&&p(c.filter(A=>A!==j))},t[7]=c,t[8]=Y):Y=t[8];const q=G(Y),I=E==="submitted"||E==="streaming";let U;t[9]!==I||t[10]!==b?(U=I&&b.length>0&&kr(b),t[9]=I,t[10]=b,t[11]=U):U=t[11];const he=U;let je,ye,Ne;t[12]===Symbol.for("react.memo_cache_sentinel")?(je=()=>{requestAnimationFrame(()=>{if(m.current){const j=m.current;j.scrollTop=j.scrollHeight}})},t[12]=je):je=t[12],t[13]!==x?(ye=[x],t[13]=x,t[14]=ye):ye=t[14],h.useEffect(je,ye),t[15]!==k||t[16]!==S||t[17]!==e?(Ne=async(j,A)=>{const L=Date.now(),M={id:k,title:Zr(j),messages:[],createdAt:L,updatedAt:L};e(J=>{const de=new Map(J.chats);return de.set(M.id,M),{...J,chats:de,activeChatId:M.id}});const ce=A&&A.length>0?await _t(A):void 0;S({role:"user",parts:[{type:"text",text:j},...ce??[]]}),p(void 0),a("")},t[15]=k,t[16]=S,t[17]=e,t[18]=Ne):Ne=t[18];const He=Ne;let Se;t[19]!==n?(Se=()=>{n(null),a(""),i(""),p(void 0)},t[19]=n,t[20]=Se):Se=t[20];const Oe=G(Se);let _e;t[21]!==b||t[22]!==S?(_e=(j,A)=>{var J;const L=b[j],M=(J=L.parts)==null?void 0:J.filter(cr),ce=L.id;S({messageId:ce,role:"user",parts:[{type:"text",text:A},...M]})},t[21]=b,t[22]=S,t[23]=_e):_e=t[23];const xe=G(_e);let Ce;t[24]!==c||t[25]!==S?(Ce=async(j,A)=>{var M;if(!A.trim())return;(M=u.current)!=null&&M.view&&Ct(u.current.view);const L=c?await _t(c):void 0;j==null||j.preventDefault(),S({text:A,files:L}),a(""),p(void 0)},t[24]=c,t[25]=S,t[26]=Ce):Ce=t[26];const Ye=G(Ce);let Re;t[27]!==N?(Re=()=>{N()},t[27]=N,t[28]=Re):Re=t[28];const Xe=Re;let Ae;t[29]!==He||t[30]!==c||t[31]!==l?(Ae=()=>{var j;l.trim()&&((j=d.current)!=null&&j.view&&Ct(d.current.view),He(l.trim(),c))},t[29]=He,t[30]=c,t[31]=l,t[32]=Ae):Ae=t[32];const Ue=G(Ae);let Ee;t[33]===Symbol.for("react.memo_cache_sentinel")?(Ee=()=>{var j,A;return(A=(j=d.current)==null?void 0:j.editor)==null?void 0:A.blur()},t[33]=Ee):Ee=t[33];const dr=Ee,H=b.length===0;let Te;t[34]!==Ye||t[35]!==Ue||t[36]!==o||t[37]!==I||t[38]!==H||t[39]!==l||t[40]!==F||t[41]!==R?(Te=H?s.jsx(We,{placeholder:`Ask anything, ${Qr} to include context about tables or dataframes`,input:l,inputRef:d,inputClassName:"px-1 py-0",setInput:i,onSubmit:Ue,isLoading:I,onStop:R,fileInputRef:f,onAddFiles:F,onClose:dr},"new-thread-input"):s.jsx(We,{input:o,setInput:a,onSubmit:Ye,inputRef:u,isLoading:I,onStop:R,onClose:()=>{var j,A;return(A=(j=u.current)==null?void 0:j.editor)==null?void 0:A.blur()},fileInputRef:f,onAddFiles:F}),t[34]=Ye,t[35]=Ue,t[36]=o,t[37]=I,t[38]=H,t[39]=l,t[40]=F,t[41]=R,t[42]=Te):Te=t[42];const Q=Te;let Pe;t[43]!==c||t[44]!==H||t[45]!==q?(Pe=c&&c.length>0&&s.jsx("div",{className:V("flex flex-row gap-1 flex-wrap p-1",H&&"py-2 px-1"),children:c==null?void 0:c.map(j=>s.jsx(ps,{file:j,onRemove:()=>q(j)},j.name))}),t[43]=c,t[44]=H,t[45]=q,t[46]=Pe):Pe=t[46];const ee=Pe,Be=r==null?void 0:r.id;let te,re,se,oe,ne,Le,ae,le,ie,ze;if(t[47]!==Oe||t[48]!==n||t[49]!==Be?(te=s.jsx(St,{children:s.jsx(Kt,{onNewChat:Oe,activeChatId:Be,setActiveChat:n})}),t[47]=Oe,t[48]=n,t[49]=Be,t[50]=te):te=t[50],t[51]!==Q||t[52]!==ee||t[53]!==H?(re=H&&s.jsxs("div",{className:"rounded-md border bg-background",children:[ee,Q]}),t[51]=Q,t[52]=ee,t[53]=H,t[54]=re):re=t[54],t[55]!==xe||t[56]!==he||t[57]!==b){let j;t[59]!==xe||t[60]!==he||t[61]!==b.length?(j=(A,L)=>s.jsx(pt,{message:A,index:L,onEdit:xe,isStreamingReasoning:he,isLast:L===b.length-1},A.id),t[59]=xe,t[60]=he,t[61]=b.length,t[62]=j):j=t[62],se=b.map(j),t[55]=xe,t[56]=he,t[57]=b,t[58]=se}else se=t[58];return t[63]!==I?(oe=I&&s.jsx("div",{className:"flex justify-center py-4",children:s.jsx(yt,{className:"h-4 w-4 animate-spin"})}),t[63]=I,t[64]=oe):oe=t[64],t[65]!==T||t[66]!==Xe?(ne=T&&s.jsxs("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[s.jsx(es,{error:T}),s.jsx(B,{variant:"outline",size:"sm",onClick:Xe,children:"Retry"})]}),t[65]=T,t[66]=Xe,t[67]=ne):ne=t[67],t[68]===Symbol.for("react.memo_cache_sentinel")?(Le=s.jsx("div",{ref:v}),t[68]=Le):Le=t[68],t[69]!==re||t[70]!==se||t[71]!==oe||t[72]!==ne?(ae=s.jsxs("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:m,children:[re,se,oe,ne,Le]}),t[69]=re,t[70]=se,t[71]=oe,t[72]=ne,t[73]=ae):ae=t[73],t[74]!==I||t[75]!==R?(le=I&&s.jsx("div",{className:"w-full flex justify-center items-center z-20 border-t",children:s.jsx(B,{variant:"linkDestructive",size:"sm",onClick:R,children:"Stop"})}),t[74]=I,t[75]=R,t[76]=le):le=t[76],t[77]!==Q||t[78]!==ee||t[79]!==H?(ie=!H&&s.jsxs(s.Fragment,{children:[ee,Q]}),t[77]=Q,t[78]=ee,t[79]=H,t[80]=ie):ie=t[80],t[81]!==te||t[82]!==ae||t[83]!==le||t[84]!==ie?(ze=s.jsxs("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[te,ae,le,ie]}),t[81]=te,t[82]=ae,t[83]=le,t[84]=ie,t[85]=ze):ze=t[85],ze};function Gt(t){return t.type==="text"}function Zt(t){return t.text}function Qt(t){return t.type==="file"}function er(t,e){return s.jsx(hs,{attachment:t},e)}function tr(){}function rr(){}function sr(t){return t.type==="text"}function or(t){return t.text}function nr(t){return s.jsx(Dr,{value:t.value,className:"text-xs",children:s.jsxs("div",{className:"flex flex-col",children:[t.label,s.jsx("div",{className:"text-muted-foreground text-xs pt-1 block",children:t.subtitle})]})},t.value)}function ar(t){const{messages:e}=t;return Mr(e)}async function lr(t){const e=await Fr(t.messages);return{body:{...t,...e}}}function ir(t){me.error("An error occurred:",t)}function cr(t){return t.type==="file"}});export{bs as __tla,Tt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s,c as t,a,C as o}from"./chunk-K7UQS3LO-DYSmiXYq.js";import{_ as i}from"./mermaid.core-CvvJtCRj.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-C_Zz0ENB.js";import"./chunk-55IACEB6-CM4AHquB.js";import"./chunk-QN33PNHL-QM4OPuQP.js";import"./index-CelXfcd8.js";import"./step-BwsUM5iJ.js";import"./isEmpty-CqX_YTIf.js";import"./timer-Bqd5yn_a.js";var e={parser:a,get db(){return new o},renderer:t,styles:s,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{e as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s,c as t,a,C as o}from"./chunk-K7UQS3LO-DYSmiXYq.js";import{_ as i}from"./mermaid.core-CvvJtCRj.js";import"./transform-D9VCJYws.js";import"./chunk-FMBD7UC4-C_Zz0ENB.js";import"./chunk-55IACEB6-CM4AHquB.js";import"./chunk-QN33PNHL-QM4OPuQP.js";import"./index-CelXfcd8.js";import"./step-BwsUM5iJ.js";import"./isEmpty-CqX_YTIf.js";import"./timer-Bqd5yn_a.js";var e={parser:a,get db(){return new o},renderer:t,styles:s,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{e as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as n}from"./_baseUniq-y7ZXnMo1.js";function o(r){return n(r,4)}export{o as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as nt,r as Nt,cp as Rt,aw as $t,cq as It,ax as Pt,cr as Ut,cs as Vt,K as St,ct as zt,cu as Kt,cv as Ot,cw as Tt,j as a,cx as vt,cy as Wt,cz as Jt,cA as Lt,cB as Qt,cC as Xt,bD as Ht,cD as At,cE as Dt,bm as Yt,bW as Zt,__tla as te}from"./index-CelXfcd8.js";import{c as ee,u as oe,b as ie,__tla as le}from"./edit-page-C5TsEeSo.js";import{g as re}from"./links-Drv7cJgN.js";import{__tla as ae}from"./storage-Dr0CC44z.js";import"./index-BYVZlBF8.js";import"./index-_luCZMLM.js";import"./index-mkubqy9-.js";import"./index-BelfnXwL.js";import"./index-BneyUujp.js";import"./index-Csd6QrCV.js";import"./index-C02SqeRj.js";import"./index-M_pBKDSe.js";import"./index-C7dtgr9A.js";import"./index-CtPksxf0.js";import"./index-DONRrmA2.js";import"./index-z4krxQ4j.js";import"./index-CAQvMTzM.js";import"./apl-CXdQSnD-.js";import"./asciiarmor-D5V0T9Cu.js";import"./asn1-DWPaVWf6.js";import"./brainfuck-CtZaYBKt.js";import"./cobol-stawOqaz.js";import"./clike-BgBwzOhw.js";import"./clojure-DiuoqK-z.js";import"./css-ZjFoif2m.js";import"./cmake-DXn5xaP-.js";import"./coffeescript-BTDxI-eT.js";import"./commonlisp-vq6DHwts.js";import"./cypher-gJDei3ni.js";import"./python-DD-Q2bae.js";import"./crystal-CRzZ78HM.js";import"./d-BShv7fp-.js";import"./diff-UJJ5BM9S.js";import"./dtd-DI9Herc-.js";import"./dylan-DkEP81N9.js";import"./ecl-DPFc0Uaf.js";import"./eiffel-DR5c0IrL.js";import"./elm-DompmV0j.js";import"./erlang-BuqgqA5h.js";import"./factor-CFXhaUWb.js";import"./simple-mode-C3vEBAcb.js";import"./forth-POgR1ypr.js";import"./fortran-DL7KluxX.js";import"./mllike-3c2dg9RT.js";import"./gas-bV0CklSb.js";import"./gherkin-B6X1vGSW.js";import"./groovy-DnIzCrpZ.js";import"./haskell-CLQs6EAM.js";import"./haxe-D25e-2l-.js";import"./idl-pcmmZuaN.js";import"./javascript-BpzJj0-u.js";import"./jinja2-DhgKlfW7.js";import"./julia-DjdwvFuI.js";import"./livescript-HO6ttBFx.js";import"./lua-8DXOpKDz.js";import"./mirc-DkvFAiy5.js";import"./mathematica-IIbmv7SK.js";import"./modelica-DSrSSXCg.js";import"./mumps-zvxmGV4l.js";import"./mbox-z_N2Mo3d.js";import"./nsis-BvKfQ9lQ.js";import"./ntriples-BSwWqoLa.js";import"./octave-C4hdQ5Hf.js";import"./oz-qQq7irPq.js";import"./pascal-CafrKXZF.js";import"./perl-tdMlh9QA.js";import"./pig-CwGJVRC4.js";import"./powershell-D1ly3AHC.js";import"./properties-_nPj978X.js";import"./protobuf-B4y9do6W.js";import"./pug-BTvK5tSS.js";import"./puppet-Bc-yJKzi.js";import"./q-B0kTJ4cI.js";import"./r-BA4EbLKE.js";import"./rpm-DI_rRufH.js";import"./ruby-CR-u2WLS.js";import"./sas-Bqaci40L.js";import"./scheme-qjP0V5Ag.js";import"./shell-BLav31RL.js";import"./sieve-r025o_jW.js";import"./smalltalk-C7J3IyEP.js";import"./sparql-BRLJFz69.js";import"./stylus-Bdo_Aemu.js";import"./swift-B_XXVlXX.js";import"./verilog-B4LBqg_1.js";import"./tcl-B2fODqDH.js";import"./textile-BuVhTOzU.js";import"./toml-wcPdHu67.js";import"./troff-Ce85hlLp.js";import"./ttcn-BxnYHtq8.js";import"./ttcn-cfg-CKJxb-l2.js";import"./turtle-BkSuIpt-.js";import"./webidl-CGwyPRYs.js";import"./vb-BHgjm0DN.js";import"./vbscript-Dawdd5GZ.js";import"./velocity-BdD_26Jv.js";import"./vhdl-CWWH2SUo.js";import"./xquery-CVDBqZPY.js";import"./yacas-I8QjZlxf.js";import"./z80-D8p3gKXp.js";import"./mscgen-B2igx18G.js";import"./index-sbO9UaUU.js";import"./trash-C6Ko-g5q.js";import"./_createAggregator-ZcHkHPNJ.js";import"./_baseEach--KDTwKbG.js";import{__tla as ne}from"./loro_wasm_bg-C1ks32Vm.js";let Ft,pe=Promise.all([(()=>{try{return te}catch{}})(),(()=>{try{return le}catch{}})(),(()=>{try{return ae}catch{}})(),(()=>{try{return ne}catch{}})()]).then(async()=>{function Et(){const e=nt.c(7);let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=[],e[0]=s):s=e[0];const[r,x]=(function(m,h){const l=nt.c(11);let _;l[0]!==h?(_=new Rt(h),l[0]=h,l[1]=_):_=l[1];const u=_;let k;l[2]!==m||l[3]!==u?(k=()=>u.get(m),l[2]=m,l[3]=u,l[4]=k):k=l[4];const[b,C]=Nt.useState(k);let g;l[5]!==m||l[6]!==u?(g=w=>{C(w),u.set(m,w)},l[5]=m,l[6]=u,l[7]=g):g=l[7];const f=g;let y;return l[8]!==f||l[9]!==b?(y=[b,f],l[8]=f,l[9]=b,l[10]=y):y=l[10],y})("marimo:commands",s);let c,n;return e[1]!==r||e[2]!==x?(c=m=>{const h=(l=[m,...r],[...new Set(l)]);var l;x(h.slice(0,3))},e[1]=r,e[2]=x,e[3]=c):c=e[3],e[4]!==r||e[5]!==c?(n={recentCommands:r,addRecentCommand:c},e[4]=r,e[5]=c,e[6]=n):n=e[6],n}function kt(e){return e.dropdown!==void 0}function U(e,s=""){return e.flatMap(r=>r.label?kt(r)?U(r.dropdown,`${s+r.label} > `):{...r,label:s+r.label}:[])}function qt(e){return!e.hidden}Ft=()=>{const e=nt.c(37),[s,r]=Ut(ee),x=Vt(),c=St(zt),n=St(Kt);let m;e[0]!==c?(m={cell:c},e[0]=c,e[1]=m):m=e[1];let h=oe(m).flat();h=U(h);const l=(function(){const t=nt.c(73),[o,j]=$t(),[p,F]=It(),{saveAppConfig:S,saveUserConfig:bt}=Pt();let O;t[0]!==bt||t[1]!==j?(O=async d=>{await bt({config:d}).then(()=>{j(d)})},t[0]=bt,t[1]=j,t[2]=O):O=t[2];const i=O;let T;t[3]!==S||t[4]!==F?(T=async d=>{await S({config:d}).then(()=>{F(d)})},t[3]=S,t[4]=F,t[5]=T):T=t[5];const P=T;let W;if(t[6]!==p||t[7]!==o||t[8]!==P||t[9]!==i){let d,J,L,Q,X;t[11]!==p?(d=at=>at!==p.width,t[11]=p,t[12]=d):d=t[12],t[13]!==p||t[14]!==P?(J=at=>({label:`App config > Set width=${at}`,handle:()=>{P({...p,width:at})}}),t[13]=p,t[14]=P,t[15]=J):J=t[15],t[16]!==o||t[17]!==i?(L={label:"Config > Set theme: dark",handle:()=>{i({...o,display:{...o.display,theme:"dark"}})}},t[16]=o,t[17]=i,t[18]=L):L=t[18],t[19]!==o||t[20]!==i?(Q={label:"Config > Set theme: light",handle:()=>{i({...o,display:{...o.display,theme:"light"}})}},t[19]=o,t[20]=i,t[21]=Q):Q=t[21],t[22]!==o||t[23]!==i?(X={label:"Config > Set theme: system",handle:()=>{i({...o,display:{...o.display,theme:"system"}})}},t[22]=o,t[23]=i,t[24]=X):X=t[24];const gt=o.keymap.preset==="vim";let E,Y;t[25]!==o||t[26]!==i?(E=()=>{i({...o,keymap:{...o.keymap,preset:"vim"}})},t[25]=o,t[26]=i,t[27]=E):E=t[27],t[28]!==gt||t[29]!==E?(Y={label:"Config > Switch keymap to VIM",hidden:gt,handle:E},t[28]=gt,t[29]=E,t[30]=Y):Y=t[30];const ft=o.keymap.preset==="default";let q,Z,B;t[31]!==o||t[32]!==i?(q=()=>{i({...o,keymap:{...o.keymap,preset:"default"}})},t[31]=o,t[32]=i,t[33]=q):q=t[33],t[34]!==ft||t[35]!==q?(Z={label:"Config > Switch keymap to default (current: VIM)",hidden:ft,handle:q},t[34]=ft,t[35]=q,t[36]=Z):Z=t[36],t[37]!==o||t[38]!==i?(B=()=>{i({...o,completion:{...o.completion,copilot:!1}})},t[37]=o,t[38]=i,t[39]=B):B=t[39];const yt=o.completion.copilot!=="github";let tt,G;t[40]!==B||t[41]!==yt?(tt={label:"Config > Disable GitHub Copilot",handle:B,hidden:yt},t[40]=B,t[41]=yt,t[42]=tt):tt=t[42],t[43]!==o||t[44]!==i?(G=()=>{i({...o,completion:{...o.completion,copilot:"github"}})},t[43]=o,t[44]=i,t[45]=G):G=t[45];const _t=o.completion.copilot==="github";let et;t[46]!==G||t[47]!==_t?(et={label:"Config > Enable GitHub Copilot",handle:G,hidden:_t},t[46]=G,t[47]=_t,t[48]=et):et=t[48];const Ct=!o.display.reference_highlighting;let M,ot,N,it;t[49]!==o||t[50]!==i?(M=()=>{i({...o,display:{...o.display,reference_highlighting:!1}})},t[49]=o,t[50]=i,t[51]=M):M=t[51],t[52]!==Ct||t[53]!==M?(ot={label:"Config > Disable reference highlighting",hidden:Ct,handle:M},t[52]=Ct,t[53]=M,t[54]=ot):ot=t[54],t[55]!==o||t[56]!==i?(N=()=>{i({...o,display:{...o.display,reference_highlighting:!0}})},t[55]=o,t[56]=i,t[57]=N):N=t[57],t[58]!==o.display.reference_highlighting||t[59]!==N?(it={label:"Config > Enable reference highlighting",hidden:o.display.reference_highlighting,handle:N},t[58]=o.display.reference_highlighting,t[59]=N,t[60]=it):it=t[60];const jt=o.display.cell_output==="above";let R,lt;t[61]!==o||t[62]!==i?(R=()=>{i({...o,display:{...o.display,cell_output:"above"}})},t[61]=o,t[62]=i,t[63]=R):R=t[63],t[64]!==jt||t[65]!==R?(lt={label:"Config > Set cell output area: above",hidden:jt,handle:R},t[64]=jt,t[65]=R,t[66]=lt):lt=t[66];const xt=o.display.cell_output==="below";let $,rt;t[67]!==o||t[68]!==i?($=()=>{i({...o,display:{...o.display,cell_output:"below"}})},t[67]=o,t[68]=i,t[69]=$):$=t[69],t[70]!==xt||t[71]!==$?(rt={label:"Config > Set cell output area: below",hidden:xt,handle:$},t[70]=xt,t[71]=$,t[72]=rt):rt=t[72],W=[...re().filter(d).map(J),L,Q,X,Y,Z,tt,et,ot,it,lt,rt].filter(qt),t[6]=p,t[7]=o,t[8]=P,t[9]=i,t[10]=W}else W=t[10];return W})();let _=ie();_=[...U(_),...U(l)];const u=_.filter(Bt),k=Ot.keyBy(u,Gt),{recentCommands:b,addRecentCommand:C}=Et();let g;e[2]!==b?(g=new Set(b),e[2]=b,e[3]=g):g=e[3];const f=g;let y,w;e[4]!==n||e[5]!==r?(y=t=>{Xt(n.getHotkey("global.commandPalette").key)(t)&&(t.preventDefault(),r(Mt))},e[4]=n,e[5]=r,e[6]=y):y=e[6],Tt(document,"keydown",y),e[7]!==C||e[8]!==n||e[9]!==x||e[10]!==r?(w=(t,o)=>{const j=x[t];if(!j)return null;const p=n.getHotkey(t);return a.jsxs(Ht,{disabled:o.disabled,onSelect:()=>{C(t),r(!1),requestAnimationFrame(()=>{j()})},value:p.name,children:[a.jsxs("span",{children:[p.name,o.tooltip&&a.jsx("span",{className:"ml-2",children:o.tooltip})]}),a.jsx(At,{children:a.jsx(Dt,{shortcut:p.key})})]},t)},e[7]=C,e[8]=n,e[9]=x,e[10]=r,e[11]=w):w=e[11];const wt=w;let V;e[12]!==C||e[13]!==n||e[14]!==r?(V=t=>{const{label:o,handle:j,props:p,hotkey:F}=t,S=p===void 0?{}:p;return a.jsxs(Ht,{disabled:S.disabled,onSelect:()=>{C(o),r(!1),requestAnimationFrame(()=>{j()})},value:o,children:[a.jsxs("span",{children:[o,S.tooltip&&a.jsxs("span",{className:"ml-2",children:["(",S.tooltip,")"]})]}),F&&a.jsx(At,{children:a.jsx(Dt,{shortcut:n.getHotkey(F).key})})]},o)},e[12]=C,e[13]=n,e[14]=r,e[15]=V):V=e[15];const I=V,pt=Qt;let v;e[16]===Symbol.for("react.memo_cache_sentinel")?(v=a.jsx(Yt,{placeholder:"Type to search..."}),e[16]=v):v=e[16];const mt=Lt;let H;e[17]===Symbol.for("react.memo_cache_sentinel")?(H=a.jsx(Zt,{children:"No results found."}),e[17]=H):H=e[17];const st=b.length>0&&a.jsxs(a.Fragment,{children:[a.jsx(vt,{heading:"Recently Used",children:b.map(t=>{const o=k[t];return Wt(t)?wt(t,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip}):o&&!kt(o)?I({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}):null})}),a.jsx(Jt,{})]}),ct=vt,dt=n.iterate().map(t=>{if(f.has(t))return null;const o=k[t];return wt(t,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip})}),ht=u.map(t=>f.has(t.label)?null:I({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip}}));let z;e[18]!==f||e[19]!==I?(z=t=>f.has(t.label)?null:I({label:`Cell > ${t.label}`,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip}}),e[18]=f,e[19]=I,e[20]=z):z=e[20];const ut=h.map(z);let A,D,K;return e[21]!==ct||e[22]!==ht||e[23]!==ut||e[24]!==dt?(A=a.jsxs(ct,{heading:"Commands",children:[dt,ht,ut]}),e[21]=ct,e[22]=ht,e[23]=ut,e[24]=dt,e[25]=A):A=e[25],e[26]!==mt||e[27]!==A||e[28]!==H||e[29]!==st?(D=a.jsxs(mt,{children:[H,st,A]}),e[26]=mt,e[27]=A,e[28]=H,e[29]=st,e[30]=D):D=e[30],e[31]!==pt||e[32]!==s||e[33]!==r||e[34]!==D||e[35]!==v?(K=a.jsxs(pt,{open:s,onOpenChange:r,children:[v,D]}),e[31]=pt,e[32]=s,e[33]=r,e[34]=D,e[35]=v,e[36]=K):K=e[36],K};function Bt(e){return!e.hotkey}function Gt(e){return e.label}function Mt(e){return!e}});export{pe as __tla,Ft as default};
|