@marimo-team/frontend 0.14.18-dev9 → 0.15.0
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-B6NVG7Fy.js → ConnectedDataExplorerComponent-Bl5fR_87.js} +1 -1
- package/dist/assets/{ImageComparisonComponent-3KcZa9Ym.js → ImageComparisonComponent-CRfr-CiC.js} +1 -1
- package/dist/assets/{VegaLite-CtkqxS0X.js → VegaLite-Bo_A9ZZm.js} +1 -1
- package/dist/assets/{_baseEach-CjvI0y7T.js → _baseEach-CIMlsWNn.js} +1 -1
- package/dist/assets/_baseMap-1GEe_WcR.js +1 -0
- package/dist/assets/{_baseUniq-Ds9S94xv.js → _baseUniq-CGK6su7v.js} +1 -1
- package/dist/assets/{_createAggregator-Bqe-A14O.js → _createAggregator--z161kAx.js} +1 -1
- package/dist/assets/{any-language-editor-CGmtjfJH.js → any-language-editor-hSTaStg9.js} +1 -1
- package/dist/assets/architectureDiagram-KFL7JDKH-CqrWvX5_.js +36 -0
- package/dist/assets/blockDiagram-ZYB65J3Q-CRgdhCYU.js +122 -0
- package/dist/assets/{c4Diagram-6F6E4RAY-CvGMgd-R.js → c4Diagram-AAMF2YG6-DUHfB-bk.js} +1 -1
- package/dist/assets/channel-D31q3TW_.js +1 -0
- package/dist/assets/{chunk-353BL4L5-BJhgRHK-.js → chunk-ANTBXLJU-ZgvmG8Pb.js} +1 -1
- package/dist/assets/{chunk-AACKK3MU-tA3KIhd1.js → chunk-FHKO5MBM-B-EzrMTM.js} +1 -1
- package/dist/assets/{chunk-E2GYISFI-uWIZ1Jhx.js → chunk-GLLZNHP4-DRBUPzV6.js} +1 -1
- package/dist/assets/{chunk-SZ463SBG-DHkdo7UI.js → chunk-JBRWN2VN-vkbXs27X.js} +4 -4
- package/dist/assets/{chunk-OW32GOEJ-B-QB95S1.js → chunk-LXBSTHXV-itspTgVu.js} +6 -6
- package/dist/assets/{chunk-SKB7J2MH-DPsXY34k.js → chunk-NRVI72HA-gO-7Uy2L.js} +1 -1
- package/dist/assets/{chunk-67H74DCK-BWX3D-qq.js → chunk-OMD6QJNC-CwDxph2q.js} +1 -1
- package/dist/assets/{chunk-BFAMUDN2-CY30V5X_.js → chunk-WVR4S24B-DkjWv9uk.js} +1 -1
- package/dist/assets/{circle-play-DvNUYBOa.js → circle-play-BURxVoHD.js} +1 -1
- package/dist/assets/classDiagram-3BZAVTQC-0O2jYKfn.js +1 -0
- package/dist/assets/classDiagram-v2-QTMF73CY-0O2jYKfn.js +1 -0
- package/dist/assets/clone-DFaYgbfI.js +1 -0
- package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
- package/dist/assets/{compile-yfBBBvDb.js → compile-CQlZ79Z5.js} +1 -1
- package/dist/assets/cytoscape.esm-UcEO6FGL.js +325 -0
- package/dist/assets/{dagre-JOIXM2OF-CGKrq8GI.js → dagre-2BBEFEWP-DEiqD84H.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-BeUIwx4E.js → data-grid-overlay-editor-CS6yXy6C.js} +1 -1
- package/dist/assets/{diagram-VMROVX33-BAO1guE0.js → diagram-4IRLE6MV-ommhV7Ge.js} +1 -1
- package/dist/assets/diagram-GUPCWM2R-D09B2kyR.js +24 -0
- package/dist/assets/{diagram-ZTM2IBQH-B4LQUmZH.js → diagram-RP2FKANI-D1AZYHbD.js} +1 -1
- package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
- package/dist/assets/edit-page-DhSV7e13.js +163 -0
- package/dist/assets/{erDiagram-3M52JZNH-D3kcrriI.js → erDiagram-HZWUO2LU-Civ5tj0J.js} +1 -1
- package/dist/assets/flowDiagram-THRYKUMA--HeKh8ql.js +162 -0
- package/dist/assets/ganttDiagram-WV7ZQ7D5-YEcfQSSf.js +267 -0
- package/dist/assets/{gitGraphDiagram-GW3U2K7C-Q9Tu2K8y.js → gitGraphDiagram-OJR772UL-DhkURReZ.js} +1 -1
- package/dist/assets/{glide-data-editor-ceB8jin-.js → glide-data-editor-CudlNmdp.js} +11 -11
- package/dist/assets/{graph-mQaQlEC0.js → graph-CQvdQbxU.js} +1 -1
- package/dist/assets/{home-page-DfH28tMw.js → home-page-_l6RVaRB.js} +2 -2
- package/dist/assets/{index-DdiulcY3.js → index-3z3sI3MY.js} +1 -1
- package/dist/assets/{index-DF_6z97_.js → index-6WfEFtf2.js} +1 -1
- package/dist/assets/{index-DZeLh41D.js → index-B9dXZoY1.js} +1 -1
- package/dist/assets/{index-ynTLoSgO.js → index-BCdqiRjH.js} +1 -1
- package/dist/assets/{index-CoLaKlH0.js → index-BvRQ66y_.js} +1 -1
- package/dist/assets/{index-BbKaEGro.js → index-C6CvZyWd.js} +1 -1
- package/dist/assets/{index-Cs6LYSt0.js → index-CAtmZMbK.js} +1 -1
- package/dist/assets/{index-6r7UeFlf.js → index-CbNkOFUU.js} +1 -1
- package/dist/assets/{index-D1qx1y0C.js → index-CqRTe3S2.js} +1 -1
- package/dist/assets/index-CrH6PPjG.css +1 -0
- package/dist/assets/{index-Bl0C1eEM.js → index-CvLIL6JV.js} +1 -1
- package/dist/assets/{index-CKe-VV4U.js → index-D-8oCPO1.js} +1 -1
- package/dist/assets/index-D4bXoNM3.js +528 -0
- package/dist/assets/{index-BS0ZXaCb.js → index-DMtmziVF.js} +1 -1
- package/dist/assets/{index-Cd25JFtC.js → index-DZJOZ8C0.js} +1 -1
- package/dist/assets/index-DbsrZX7Q.js +68 -0
- package/dist/assets/{index-Bh4jjeua.js → index-DhRZE5tA.js} +1 -1
- package/dist/assets/{index-Cz8VHSaF.js → index-Do3KUHEe.js} +1 -1
- package/dist/assets/{index-j8KhNyAD.js → index-DvySElQ5.js} +1 -1
- package/dist/assets/{index-Bbz-vY_t.js → index-QoqjKBP_.js} +1 -1
- package/dist/assets/{index-CbFuBnKK.js → index-nyTtvXGx.js} +1 -1
- package/dist/assets/infoDiagram-6WOFNB3A-B7BrcI_a.js +2 -0
- package/dist/assets/{journeyDiagram-EWQZEKCU-DHnUk6vv.js → journeyDiagram-FFXJYRFH-CC3RaMZl.js} +4 -4
- package/dist/assets/{kanban-definition-ZSS6B67P-G4X25rf5.js → kanban-definition-KOZQBZVT-1Z4QU83I.js} +1 -1
- package/dist/assets/{layout-Ovgg_XTL.js → layout-DuQ9W6pS.js} +1 -1
- package/dist/assets/{linear-DT2F5lCA.js → linear-BsI0Wmp7.js} +1 -1
- package/dist/assets/links-D_cg4TpC.js +17 -0
- package/dist/assets/mermaid-D59lkToe.js +211 -0
- package/dist/assets/min-DrLfF3uL.js +1 -0
- package/dist/assets/{mindmap-definition-6CBA2TL7-DNdqOjtw.js → mindmap-definition-LNHGMQRG-ePnX66wd.js} +1 -1
- package/dist/assets/{number-overlay-editor-BNl24tu6.js → number-overlay-editor-CPxl07sM.js} +2 -2
- package/dist/assets/pieDiagram-DBDJKBY4-BWYaH6Hi.js +30 -0
- package/dist/assets/{quadrantDiagram-2OG54O6I--dNkbIMK.js → quadrantDiagram-YPSRARAO-BwuEJiK-.js} +1 -1
- package/dist/assets/{react-plotly-bwK_a_t1.js → react-plotly-eq8YBLKm.js} +1 -1
- package/dist/assets/{requirementDiagram-QOLK2EJ7-28ZDvOK8.js → requirementDiagram-EGVEC5DT-B0dO70r7.js} +1 -1
- package/dist/assets/{run-page-CJW1v8wr.js → run-page-DP_FNoql.js} +1 -1
- package/dist/assets/{sankeyDiagram-4UZDY2LN-XAKiDU7c.js → sankeyDiagram-HRAUVNP4-DlbnyCg4.js} +2 -2
- package/dist/assets/{sequenceDiagram-SKLFT4DO-DDCNXI_B.js → sequenceDiagram-WFGC7UMF-BfhFFLfz.js} +6 -6
- package/dist/assets/{slides-component-2aF-KcfL.js → slides-component-Bso9rHdK.js} +1 -1
- package/dist/assets/sortBy-utaS96Bi.js +1 -0
- package/dist/assets/{stateDiagram-MI5ZYTHO-D1_v1n0T.js → stateDiagram-UUKSUZ4H-ByVZAeGw.js} +1 -1
- package/dist/assets/stateDiagram-v2-EYPG3UTE-C6PYJGwL.js +1 -0
- package/dist/assets/storage-DrvlAZZd.js +26 -0
- package/dist/assets/{terminal-BmZY9sKi.js → terminal-CuPjZ1vE.js} +1 -1
- package/dist/assets/time-1P0zCPa4.js +1 -0
- package/dist/assets/{timeline-definition-MYPXXCX6-BLXFJK2J.js → timeline-definition-3HZDQTIS-BLUL1ZU4.js} +1 -1
- package/dist/assets/{tracing-DAOqNENE.js → tracing-BpM0fbsC.js} +2 -2
- package/dist/assets/{trash-DJ39k3RZ.js → trash-D5wptdZI.js} +1 -1
- package/dist/assets/{treemap-75Q7IDZK-CRVQqKgI.js → treemap-75Q7IDZK-Bh5pVSmo.js} +1 -1
- package/dist/assets/{vega-component-C-duuyA7.js → vega-component-tH6bw1Lr.js} +1 -1
- package/dist/assets/xychartDiagram-FDP5SA34-qY_Wo73t.js +7 -0
- package/dist/index.html +2 -2
- package/package.json +11 -6
- package/src/README.md +18 -0
- package/src/__mocks__/common.ts +160 -0
- package/src/__mocks__/notebook.ts +76 -0
- package/src/__mocks__/requests.ts +72 -0
- package/src/__mocks__/tracebacks.ts +32 -0
- package/src/__tests__/CellStatus.test.tsx +263 -0
- package/src/__tests__/__snapshots__/CellStatus.test.tsx.snap +523 -0
- package/src/__tests__/chat-utils.test.ts +234 -0
- package/src/__tests__/lru.test.ts +74 -0
- package/src/__tests__/main.test.tsx +174 -0
- package/src/__tests__/setup.ts +17 -0
- package/src/__tests__/test-helpers.ts +24 -0
- package/src/assets/circle-check.ico +0 -0
- package/src/assets/circle-play.ico +0 -0
- package/src/assets/circle-x.ico +0 -0
- package/src/assets/gradient.png +0 -0
- package/src/assets/icon-16x16.png +0 -0
- package/src/assets/icon-32x32.png +0 -0
- package/src/assets/noise.png +0 -0
- package/src/components/ai/ai-model-dropdown.tsx +281 -0
- package/src/components/ai/ai-provider-icon.tsx +54 -0
- package/src/components/app-config/ai-config.tsx +855 -0
- package/src/components/app-config/app-config-button.tsx +100 -0
- package/src/components/app-config/app-config-form.tsx +307 -0
- package/src/components/app-config/common.tsx +48 -0
- package/src/components/app-config/constants.ts +13 -0
- package/src/components/app-config/incorrect-model-id.tsx +43 -0
- package/src/components/app-config/is-overridden.tsx +119 -0
- package/src/components/app-config/optional-features.tsx +251 -0
- package/src/components/app-config/state.ts +18 -0
- package/src/components/app-config/user-config-form.tsx +1361 -0
- package/src/components/audio/audio-recorder.tsx +63 -0
- package/src/components/buttons/clear-button.tsx +23 -0
- package/src/components/buttons/undo-button.tsx +35 -0
- package/src/components/chat/chat-panel.tsx +720 -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 +428 -0
- package/src/components/editor/ai/ai-completion-editor.tsx +261 -0
- package/src/components/editor/ai/completion-handlers.tsx +91 -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 +1771 -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 +704 -0
- package/src/components/editor/navigation/selection.ts +114 -0
- package/src/components/editor/navigation/state.ts +5 -0
- package/src/components/editor/navigation/vim-bindings.test.ts +109 -0
- package/src/components/editor/navigation/vim-bindings.ts +90 -0
- package/src/components/editor/notebook-banner.tsx +75 -0
- package/src/components/editor/output/CalloutOutput.styles.ts +22 -0
- package/src/components/editor/output/CalloutOutput.tsx +19 -0
- package/src/components/editor/output/ConsoleOutput.tsx +276 -0
- package/src/components/editor/output/EmotionCacheProvider.tsx +32 -0
- package/src/components/editor/output/HtmlOutput.tsx +25 -0
- package/src/components/editor/output/ImageOutput.tsx +25 -0
- package/src/components/editor/output/JsonOutput.tsx +424 -0
- package/src/components/editor/output/MarimoErrorOutput.tsx +511 -0
- package/src/components/editor/output/MarimoTracebackOutput.tsx +233 -0
- package/src/components/editor/output/Outputs.css +102 -0
- package/src/components/editor/output/TextOutput.tsx +42 -0
- package/src/components/editor/output/VideoOutput.tsx +11 -0
- package/src/components/editor/output/__tests__/ansi.test.ts +39 -0
- package/src/components/editor/output/__tests__/json-output.test.ts +269 -0
- package/src/components/editor/output/__tests__/traceback.test.tsx +105 -0
- package/src/components/editor/output/useWrapText.ts +14 -0
- package/src/components/editor/package-alert.tsx +596 -0
- package/src/components/editor/renderMimeIcon.tsx +38 -0
- package/src/components/editor/renderers/CellArray.tsx +352 -0
- package/src/components/editor/renderers/cells-renderer.tsx +96 -0
- package/src/components/editor/renderers/grid-layout/grid-layout.tsx +650 -0
- package/src/components/editor/renderers/grid-layout/plugin.tsx +146 -0
- package/src/components/editor/renderers/grid-layout/styles.css +31 -0
- package/src/components/editor/renderers/grid-layout/types.ts +89 -0
- package/src/components/editor/renderers/layout-select.tsx +86 -0
- package/src/components/editor/renderers/plugins.ts +31 -0
- package/src/components/editor/renderers/slides-layout/plugin.tsx +31 -0
- package/src/components/editor/renderers/slides-layout/slides-layout.tsx +74 -0
- package/src/components/editor/renderers/slides-layout/types.ts +12 -0
- package/src/components/editor/renderers/types.ts +75 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/useDelayVisibility.test.ts +87 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +123 -0
- package/src/components/editor/renderers/vertical-layout/__tests__/vertical-layout.test.ts +173 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/__tests__/sidebar.test.tsx +56 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sheet-sidebar.tsx +32 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar-slot.tsx +10 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.css +20 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.tsx +30 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/state.ts +46 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +25 -0
- package/src/components/editor/renderers/vertical-layout/sidebar/wrapped-with-sidebar.tsx +38 -0
- package/src/components/editor/renderers/vertical-layout/useDelayVisibility.ts +32 -0
- package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +107 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout-wrapper.tsx +46 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +451 -0
- package/src/components/editor/stdin-blocking-alert.tsx +83 -0
- package/src/components/export/export-output-button.tsx +14 -0
- package/src/components/find-replace/find-replace.tsx +293 -0
- package/src/components/forms/__tests__/form-utils.test.ts +104 -0
- package/src/components/forms/form-utils.ts +90 -0
- package/src/components/forms/form.tsx +817 -0
- package/src/components/forms/options.ts +59 -0
- package/src/components/forms/switchable-multi-select.tsx +134 -0
- package/src/components/home/components.tsx +189 -0
- package/src/components/home/state.ts +30 -0
- package/src/components/icons/copy-icon.tsx +59 -0
- package/src/components/icons/github-copilot.tsx +17 -0
- package/src/components/icons/large-spinner.tsx +39 -0
- package/src/components/icons/loading-ellipsis.tsx +46 -0
- package/src/components/icons/multi-icon.css +9 -0
- package/src/components/icons/multi-icon.tsx +30 -0
- package/src/components/icons/spinner.tsx +38 -0
- package/src/components/layout/toolbar.tsx +26 -0
- package/src/components/modal/ImperativeModal.tsx +187 -0
- package/src/components/pages/edit-page.tsx +37 -0
- package/src/components/pages/home-page.tsx +514 -0
- package/src/components/pages/run-page.tsx +55 -0
- package/src/components/scratchpad/scratchpad-history.ts +28 -0
- package/src/components/scratchpad/scratchpad.tsx +280 -0
- package/src/components/shortcuts/renderShortcut.tsx +208 -0
- package/src/components/slides/slides-component.tsx +132 -0
- package/src/components/slides/slides.css +100 -0
- package/src/components/sort/SortableCellsProvider.tsx +242 -0
- package/src/components/static-html/share-modal.tsx +181 -0
- package/src/components/static-html/static-banner.tsx +164 -0
- package/src/components/terminal/terminal.tsx +110 -0
- package/src/components/terminal/xterm.css +3 -0
- package/src/components/tracing/tracing-spec.ts +118 -0
- package/src/components/tracing/tracing.test.tsx +66 -0
- package/src/components/tracing/tracing.tsx +410 -0
- package/src/components/ui/accordion.tsx +70 -0
- package/src/components/ui/alert-dialog.tsx +176 -0
- package/src/components/ui/alert.tsx +64 -0
- package/src/components/ui/aria-popover.tsx +43 -0
- package/src/components/ui/badge.tsx +41 -0
- package/src/components/ui/button.tsx +156 -0
- package/src/components/ui/calendar.tsx +231 -0
- package/src/components/ui/card.tsx +83 -0
- package/src/components/ui/checkbox.tsx +33 -0
- package/src/components/ui/combobox.tsx +278 -0
- package/src/components/ui/command.tsx +165 -0
- package/src/components/ui/context-menu.tsx +193 -0
- package/src/components/ui/date-input.tsx +127 -0
- package/src/components/ui/date-picker.tsx +188 -0
- package/src/components/ui/dialog.tsx +155 -0
- package/src/components/ui/draggable-popover.tsx +68 -0
- package/src/components/ui/dropdown-menu.tsx +189 -0
- package/src/components/ui/field.tsx +90 -0
- package/src/components/ui/form.tsx +224 -0
- package/src/components/ui/fullscreen.tsx +38 -0
- package/src/components/ui/input.tsx +208 -0
- package/src/components/ui/kbd.tsx +22 -0
- package/src/components/ui/label.tsx +26 -0
- package/src/components/ui/links.tsx +23 -0
- package/src/components/ui/menu-items.tsx +101 -0
- package/src/components/ui/native-select.tsx +39 -0
- package/src/components/ui/navigation.tsx +154 -0
- package/src/components/ui/number-field.tsx +99 -0
- package/src/components/ui/popover.tsx +63 -0
- package/src/components/ui/progress.tsx +28 -0
- package/src/components/ui/radio-group.tsx +44 -0
- package/src/components/ui/range-slider.tsx +102 -0
- package/src/components/ui/scroll-area.tsx +47 -0
- package/src/components/ui/select.tsx +167 -0
- package/src/components/ui/sheet.tsx +143 -0
- package/src/components/ui/skeleton.tsx +16 -0
- package/src/components/ui/slider.tsx +80 -0
- package/src/components/ui/switch.tsx +54 -0
- package/src/components/ui/table.tsx +122 -0
- package/src/components/ui/tabs.tsx +55 -0
- package/src/components/ui/textarea.tsx +104 -0
- package/src/components/ui/toast.tsx +133 -0
- package/src/components/ui/toaster.tsx +30 -0
- package/src/components/ui/toggle.tsx +49 -0
- package/src/components/ui/tooltip.tsx +87 -0
- package/src/components/ui/typography.tsx +207 -0
- package/src/components/ui/use-restore-focus.ts +28 -0
- package/src/components/ui/use-toast.ts +224 -0
- package/src/components/utils/delay-mount.tsx +81 -0
- package/src/components/utils/lazy-mount.tsx +24 -0
- package/src/components/variables/common.tsx +37 -0
- package/src/components/variables/variables-table.tsx +335 -0
- package/src/core/MarimoApp.tsx +103 -0
- package/src/core/ai/__tests__/model-registry.test.ts +357 -0
- package/src/core/ai/chat-utils.ts +71 -0
- package/src/core/ai/config.ts +76 -0
- package/src/core/ai/context/__tests__/registry.test.ts +516 -0
- package/src/core/ai/context/context.ts +16 -0
- package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +291 -0
- package/src/core/ai/context/providers/__tests__/__snapshots__/variable.test.ts.snap +378 -0
- package/src/core/ai/context/providers/__tests__/tables.test.ts +271 -0
- package/src/core/ai/context/providers/__tests__/variable.test.ts +312 -0
- package/src/core/ai/context/providers/common.ts +7 -0
- package/src/core/ai/context/providers/tables.ts +208 -0
- package/src/core/ai/context/providers/variable.ts +72 -0
- package/src/core/ai/context/registry.ts +180 -0
- package/src/core/ai/ids/__tests__/ids.test.ts +193 -0
- package/src/core/ai/ids/ids.ts +71 -0
- package/src/core/ai/model-registry.ts +164 -0
- package/src/core/ai/state.ts +58 -0
- package/src/core/alerts/state.ts +75 -0
- package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +1312 -0
- package/src/core/cells/__tests__/add-missing-import.test.ts +78 -0
- package/src/core/cells/__tests__/cell.test.ts +193 -0
- package/src/core/cells/__tests__/cells.test.ts +2664 -0
- package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +239 -0
- package/src/core/cells/__tests__/focus.test.ts +271 -0
- package/src/core/cells/__tests__/ids.test.ts +90 -0
- package/src/core/cells/__tests__/names.test.ts +62 -0
- package/src/core/cells/__tests__/pending-delete-service.test.tsx +202 -0
- package/src/core/cells/__tests__/runs.test.ts +453 -0
- package/src/core/cells/__tests__/session.test.ts +757 -0
- package/src/core/cells/__tests__/utils.test.ts +428 -0
- package/src/core/cells/actions.ts +21 -0
- package/src/core/cells/add-missing-import.ts +114 -0
- package/src/core/cells/cell.ts +243 -0
- package/src/core/cells/cells.ts +1751 -0
- package/src/core/cells/collapseConsoleOutputs.tsx +133 -0
- package/src/core/cells/effects.ts +42 -0
- package/src/core/cells/focus.ts +128 -0
- package/src/core/cells/ids.ts +124 -0
- package/src/core/cells/logs.ts +114 -0
- package/src/core/cells/names.ts +107 -0
- package/src/core/cells/outline.ts +30 -0
- package/src/core/cells/outputs.ts +34 -0
- package/src/core/cells/pending-delete-service.ts +183 -0
- package/src/core/cells/runs.ts +196 -0
- package/src/core/cells/scrollCellIntoView.ts +133 -0
- package/src/core/cells/session.ts +281 -0
- package/src/core/cells/types.ts +128 -0
- package/src/core/cells/utils.ts +141 -0
- package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +216 -0
- package/src/core/codemirror/__tests__/extensions.test.ts +117 -0
- package/src/core/codemirror/__tests__/format.test.ts +227 -0
- package/src/core/codemirror/__tests__/setup.test.ts +178 -0
- package/src/core/codemirror/ai/request.ts +72 -0
- package/src/core/codemirror/ai/resources.ts +90 -0
- package/src/core/codemirror/cells/extensions.ts +387 -0
- package/src/core/codemirror/cells/state.ts +32 -0
- package/src/core/codemirror/cells/traceback-decorations.ts +111 -0
- package/src/core/codemirror/cm.ts +272 -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 +360 -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__/hotkeys.test.ts +74 -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 +523 -0
- package/src/core/hotkeys/shortcuts.ts +146 -0
- package/src/core/islands/__tests__/parse.test.ts +89 -0
- package/src/core/islands/bridge.ts +196 -0
- package/src/core/islands/components/output-wrapper.tsx +154 -0
- package/src/core/islands/components/web-components.tsx +120 -0
- package/src/core/islands/islands.css +14 -0
- package/src/core/islands/main.ts +200 -0
- package/src/core/islands/parse.ts +161 -0
- package/src/core/islands/state.ts +30 -0
- package/src/core/islands/toast.ts +41 -0
- package/src/core/islands/utils.ts +5 -0
- package/src/core/islands/worker/controller.ts +52 -0
- package/src/core/islands/worker/worker.tsx +178 -0
- package/src/core/kernel/RuntimeState.ts +94 -0
- package/src/core/kernel/__tests__/RuntimeState.test.ts +57 -0
- package/src/core/kernel/__tests__/handlers.test.ts +61 -0
- package/src/core/kernel/__tests__/session.test.ts +10 -0
- package/src/core/kernel/handlers.ts +159 -0
- package/src/core/kernel/messages.ts +54 -0
- package/src/core/kernel/queryParamHandlers.ts +39 -0
- package/src/core/kernel/session.ts +50 -0
- package/src/core/layout/layout.ts +99 -0
- package/src/core/layout/useTogglePresenting.ts +50 -0
- package/src/core/meta/globals.ts +25 -0
- package/src/core/meta/state.ts +25 -0
- package/src/core/mime.ts +9 -0
- package/src/core/mode.ts +80 -0
- package/src/core/network/DeferredRequestRegistry.ts +71 -0
- package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +37 -0
- package/src/core/network/__tests__/api.test.ts +80 -0
- package/src/core/network/api.ts +145 -0
- package/src/core/network/auth.ts +13 -0
- package/src/core/network/connection.ts +33 -0
- package/src/core/network/requests-network.ts +398 -0
- package/src/core/network/requests-static.ts +88 -0
- package/src/core/network/requests-toasting.ts +91 -0
- package/src/core/network/requests.ts +24 -0
- package/src/core/network/resolve.ts +17 -0
- package/src/core/network/types.ts +188 -0
- package/src/core/packages/toast-components.tsx +88 -0
- package/src/core/packages/useInstallPackage.ts +46 -0
- package/src/core/rtc/state.ts +20 -0
- package/src/core/run-app.tsx +69 -0
- package/src/core/runtime/__tests__/config.test.ts +173 -0
- package/src/core/runtime/__tests__/createWsUrl.test.ts +61 -0
- package/src/core/runtime/__tests__/runtime.test.ts +603 -0
- package/src/core/runtime/config.ts +49 -0
- package/src/core/runtime/runtime.ts +277 -0
- package/src/core/runtime/types.ts +7 -0
- package/src/core/runtime/utils.ts +9 -0
- package/src/core/saving/file-state.ts +15 -0
- package/src/core/saving/filename.ts +55 -0
- package/src/core/saving/save-component.tsx +274 -0
- package/src/core/saving/state.ts +51 -0
- package/src/core/saving/useAutoSave.ts +68 -0
- package/src/core/secrets/request-registry.ts +16 -0
- package/src/core/slots/slots.ts +9 -0
- package/src/core/state/__tests__/jotai.test.ts +25 -0
- package/src/core/state/jotai.ts +69 -0
- package/src/core/state/observable.ts +23 -0
- package/src/core/static/__tests__/download-html.test.ts +41 -0
- package/src/core/static/__tests__/files.test.ts +494 -0
- package/src/core/static/__tests__/virtual-file-tracker.test.ts +92 -0
- package/src/core/static/download-html.ts +59 -0
- package/src/core/static/files.ts +150 -0
- package/src/core/static/static-state.ts +19 -0
- package/src/core/static/types.ts +8 -0
- package/src/core/static/virtual-file-tracker.ts +83 -0
- package/src/core/variables/__tests__/state.test.ts +148 -0
- package/src/core/variables/state.ts +81 -0
- package/src/core/variables/types.ts +22 -0
- package/src/core/vscode/vscode-bindings.ts +176 -0
- package/src/core/wasm/PyodideLoader.tsx +72 -0
- package/src/core/wasm/__tests__/router.test.ts +57 -0
- package/src/core/wasm/__tests__/share.test.ts +35 -0
- package/src/core/wasm/__tests__/state.test.ts +124 -0
- package/src/core/wasm/__tests__/store.test.ts +55 -0
- package/src/core/wasm/bridge.ts +622 -0
- package/src/core/wasm/router.ts +39 -0
- package/src/core/wasm/rpc.ts +32 -0
- package/src/core/wasm/share.ts +15 -0
- package/src/core/wasm/state.ts +21 -0
- package/src/core/wasm/store.ts +122 -0
- package/src/core/wasm/utils.ts +12 -0
- package/src/core/wasm/worker/bootstrap.ts +223 -0
- package/src/core/wasm/worker/constants.ts +2 -0
- package/src/core/wasm/worker/fs.ts +90 -0
- package/src/core/wasm/worker/getController.ts +16 -0
- package/src/core/wasm/worker/getFS.ts +9 -0
- package/src/core/wasm/worker/getMarimoWheel.ts +15 -0
- package/src/core/wasm/worker/getPyodideVersion.ts +10 -0
- package/src/core/wasm/worker/message-buffer.ts +32 -0
- package/src/core/wasm/worker/save-worker.ts +107 -0
- package/src/core/wasm/worker/tracer.ts +7 -0
- package/src/core/wasm/worker/types.ts +97 -0
- package/src/core/wasm/worker/worker.ts +375 -0
- package/src/core/websocket/StaticWebsocket.ts +61 -0
- package/src/core/websocket/connection-utils.ts +59 -0
- package/src/core/websocket/types.ts +43 -0
- package/src/core/websocket/useMarimoWebSocket.tsx +386 -0
- package/src/core/websocket/useWebSocket.tsx +88 -0
- package/src/css/admonition.css +127 -0
- package/src/css/app/App.css +77 -0
- package/src/css/app/Cell.css +433 -0
- package/src/css/app/Header.css +25 -0
- package/src/css/app/codemirror-completions.css +308 -0
- package/src/css/app/codemirror.css +136 -0
- package/src/css/app/fonts.css +50 -0
- package/src/css/app/print.css +86 -0
- package/src/css/app/reset.css +18 -0
- package/src/css/codehilite.css +354 -0
- package/src/css/common.css +45 -0
- package/src/css/globals.css +176 -0
- package/src/css/index.css +10 -0
- package/src/css/katex-fonts.css +214 -0
- package/src/css/katex.min.css +1182 -0
- package/src/css/md-tooltip.css +52 -0
- package/src/css/md.css +365 -0
- package/src/css/progress.css +93 -0
- package/src/css/table.css +45 -0
- package/src/custom.d.ts +24 -0
- package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
- package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
- package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Main-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Math-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Script-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff2 +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.ttf +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff +0 -0
- package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
- package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
- package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
- package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
- package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
- package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
- package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
- package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
- package/src/hooks/__tests__/useBoolean.test.tsx +33 -0
- package/src/hooks/__tests__/useDebounce.test.tsx +182 -0
- package/src/hooks/__tests__/useEffectSkipFirstRender.test.tsx +42 -0
- package/src/hooks/__tests__/useEventListener.test.tsx +148 -0
- package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +76 -0
- package/src/hooks/__tests__/useInterval.test.tsx +70 -0
- package/src/hooks/__tests__/usePackageMetadata.test.tsx +219 -0
- package/src/hooks/__tests__/useResizeHandle.test.tsx +240 -0
- package/src/hooks/__tests__/useResizeObserver.test.tsx +86 -0
- package/src/hooks/__tests__/useTimer.test.tsx +62 -0
- package/src/hooks/debug.ts +116 -0
- package/src/hooks/useAsyncData.ts +392 -0
- package/src/hooks/useAudioRecorder.ts +89 -0
- package/src/hooks/useAutoGrowInputProps.ts +56 -0
- package/src/hooks/useBoolean.ts +26 -0
- package/src/hooks/useCellRenderCount.ts +15 -0
- package/src/hooks/useDebounce.ts +95 -0
- package/src/hooks/useDeepCompareMemoize.ts +22 -0
- package/src/hooks/useEffectSkipFirstRender.ts +24 -0
- package/src/hooks/useElapsedTime.ts +25 -0
- package/src/hooks/useEvent.ts +2 -0
- package/src/hooks/useEventListener.ts +68 -0
- package/src/hooks/useHotkey.ts +77 -0
- package/src/hooks/useInternalStateWithSync.ts +26 -0
- package/src/hooks/useInterval.ts +49 -0
- package/src/hooks/useIsDragging.tsx +39 -0
- package/src/hooks/useLifecycle.ts +20 -0
- package/src/hooks/useLocalStorage.ts +22 -0
- package/src/hooks/useNonce.ts +9 -0
- package/src/hooks/usePackageMetadata.ts +52 -0
- package/src/hooks/useRecentCommands.ts +25 -0
- package/src/hooks/useResizeHandle.ts +110 -0
- package/src/hooks/useResizeObserver.ts +101 -0
- package/src/hooks/useScript.ts +90 -0
- package/src/hooks/useSelectAllContent.ts +42 -0
- package/src/hooks/useTimer.ts +48 -0
- package/src/main.tsx +20 -0
- package/src/mount.tsx +331 -0
- package/src/plugins/core/BadPlugin.tsx +72 -0
- package/src/plugins/core/RenderHTML.tsx +136 -0
- package/src/plugins/core/__test__/RenderHTML.test.ts +146 -0
- package/src/plugins/core/builder.ts +59 -0
- package/src/plugins/core/registerReactComponent.tsx +535 -0
- package/src/plugins/core/rpc.ts +55 -0
- package/src/plugins/core/sidebar-element.tsx +104 -0
- package/src/plugins/impl/ButtonPlugin.tsx +95 -0
- package/src/plugins/impl/CheckboxPlugin.tsx +56 -0
- package/src/plugins/impl/CodeEditorPlugin.tsx +119 -0
- package/src/plugins/impl/DataEditorPlugin.tsx +181 -0
- package/src/plugins/impl/DataTablePlugin.tsx +948 -0
- package/src/plugins/impl/DatePickerPlugin.tsx +74 -0
- package/src/plugins/impl/DateRangePlugin.tsx +82 -0
- package/src/plugins/impl/DateTimePickerPlugin.tsx +76 -0
- package/src/plugins/impl/DictPlugin.tsx +80 -0
- package/src/plugins/impl/DropdownPlugin.tsx +102 -0
- package/src/plugins/impl/FileBrowserPlugin.tsx +500 -0
- package/src/plugins/impl/FileUploadPlugin.tsx +302 -0
- package/src/plugins/impl/FormPlugin.tsx +294 -0
- package/src/plugins/impl/MicrophonePlugin.tsx +58 -0
- package/src/plugins/impl/MultiselectPlugin.tsx +207 -0
- package/src/plugins/impl/NumberPlugin.tsx +84 -0
- package/src/plugins/impl/RadioPlugin.tsx +77 -0
- package/src/plugins/impl/RangeSliderPlugin.tsx +163 -0
- package/src/plugins/impl/RefreshPlugin.tsx +158 -0
- package/src/plugins/impl/SearchableSelect.tsx +122 -0
- package/src/plugins/impl/SliderPlugin.tsx +166 -0
- package/src/plugins/impl/SwitchPlugin.tsx +48 -0
- package/src/plugins/impl/TabsPlugin.tsx +83 -0
- package/src/plugins/impl/TextAreaPlugin.tsx +131 -0
- package/src/plugins/impl/TextInputPlugin.tsx +169 -0
- package/src/plugins/impl/__tests__/DateTimePickerPlugin.test.tsx +45 -0
- package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +178 -0
- package/src/plugins/impl/__tests__/MultiSelectPlugin.test.ts +41 -0
- package/src/plugins/impl/__tests__/NumberPlugin.test.tsx +144 -0
- package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +269 -0
- package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +181 -0
- package/src/plugins/impl/anywidget/__tests__/model.test.ts +370 -0
- package/src/plugins/impl/anywidget/model.ts +314 -0
- package/src/plugins/impl/chat/ChatPlugin.tsx +98 -0
- package/src/plugins/impl/chat/chat-ui.tsx +713 -0
- package/src/plugins/impl/chat/types.ts +39 -0
- package/src/plugins/impl/code/LazyAnyLanguageCodeMirror.tsx +6 -0
- package/src/plugins/impl/code/any-language-editor.tsx +68 -0
- package/src/plugins/impl/common/error-banner.tsx +111 -0
- package/src/plugins/impl/common/intent.ts +18 -0
- package/src/plugins/impl/common/labeled.tsx +69 -0
- package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +876 -0
- package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +452 -0
- package/src/plugins/impl/data-editor/components.tsx +179 -0
- package/src/plugins/impl/data-editor/data-utils.ts +123 -0
- package/src/plugins/impl/data-editor/glide-data-editor.tsx +651 -0
- package/src/plugins/impl/data-editor/glide-utils.ts +200 -0
- package/src/plugins/impl/data-editor/themes.ts +49 -0
- package/src/plugins/impl/data-editor/types.ts +44 -0
- package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +268 -0
- package/src/plugins/impl/data-explorer/DataExplorerPlugin.tsx +31 -0
- package/src/plugins/impl/data-explorer/components/column-summary.tsx +174 -0
- package/src/plugins/impl/data-explorer/components/icons.tsx +30 -0
- package/src/plugins/impl/data-explorer/components/query-form.tsx +296 -0
- package/src/plugins/impl/data-explorer/encoding.ts +107 -0
- package/src/plugins/impl/data-explorer/functions/function.ts +83 -0
- package/src/plugins/impl/data-explorer/functions/types.ts +32 -0
- package/src/plugins/impl/data-explorer/marks.ts +21 -0
- package/src/plugins/impl/data-explorer/queries/field-suggestion.ts +65 -0
- package/src/plugins/impl/data-explorer/queries/histograms.ts +41 -0
- package/src/plugins/impl/data-explorer/queries/queries.ts +204 -0
- package/src/plugins/impl/data-explorer/queries/removeUndefined.ts +11 -0
- package/src/plugins/impl/data-explorer/queries/types.ts +54 -0
- package/src/plugins/impl/data-explorer/queries/utils.ts +85 -0
- package/src/plugins/impl/data-explorer/spec.ts +28 -0
- package/src/plugins/impl/data-explorer/state/reducer.ts +92 -0
- package/src/plugins/impl/data-explorer/state/types.ts +28 -0
- package/src/plugins/impl/data-frames/DataFramePlugin.tsx +303 -0
- package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +1600 -0
- package/src/plugins/impl/data-frames/forms/__tests__/form.test.tsx +67 -0
- package/src/plugins/impl/data-frames/forms/context.ts +13 -0
- package/src/plugins/impl/data-frames/forms/datatype-icon.tsx +43 -0
- package/src/plugins/impl/data-frames/forms/renderers.tsx +518 -0
- package/src/plugins/impl/data-frames/panel.tsx +308 -0
- package/src/plugins/impl/data-frames/schema.ts +211 -0
- package/src/plugins/impl/data-frames/types.ts +91 -0
- package/src/plugins/impl/data-frames/utils/__tests__/getUpdatedColumnTypes.test.ts +191 -0
- package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +116 -0
- package/src/plugins/impl/data-frames/utils/getUpdatedColumnTypes.ts +67 -0
- package/src/plugins/impl/data-frames/utils/operators.ts +202 -0
- package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +39 -0
- package/src/plugins/impl/multiselectFilterFn.tsx +22 -0
- package/src/plugins/impl/panel/PanelPlugin.tsx +266 -0
- package/src/plugins/impl/panel/__tests__/utils.test.ts +119 -0
- package/src/plugins/impl/panel/utils.ts +104 -0
- package/src/plugins/impl/plotly/PlotlyPlugin.tsx +300 -0
- package/src/plugins/impl/plotly/__tests__/parse-from-template.test.ts +73 -0
- package/src/plugins/impl/plotly/mapbox.css +359 -0
- package/src/plugins/impl/plotly/parse-from-template.ts +58 -0
- package/src/plugins/impl/plotly/plotly.css +280 -0
- package/src/plugins/impl/vega/VegaPlugin.tsx +40 -0
- package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +1210 -0
- package/src/plugins/impl/vega/__tests__/encodings.test.ts +172 -0
- package/src/plugins/impl/vega/__tests__/loader.test.ts +73 -0
- package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +575 -0
- package/src/plugins/impl/vega/__tests__/params.test.ts +52 -0
- package/src/plugins/impl/vega/__tests__/resolve-data.test.ts +236 -0
- package/src/plugins/impl/vega/__tests__/vega.test.ts +603 -0
- package/src/plugins/impl/vega/batched.ts +41 -0
- package/src/plugins/impl/vega/encodings.ts +111 -0
- package/src/plugins/impl/vega/fix-relative-url.ts +15 -0
- package/src/plugins/impl/vega/formats.ts +25 -0
- package/src/plugins/impl/vega/loader.ts +320 -0
- package/src/plugins/impl/vega/make-selectable.ts +248 -0
- package/src/plugins/impl/vega/marks.ts +36 -0
- package/src/plugins/impl/vega/params.ts +192 -0
- package/src/plugins/impl/vega/resolve-data.ts +101 -0
- package/src/plugins/impl/vega/types.ts +32 -0
- package/src/plugins/impl/vega/utils.ts +46 -0
- package/src/plugins/impl/vega/vega-component.tsx +271 -0
- package/src/plugins/impl/vega/vega-loader.ts +53 -0
- package/src/plugins/impl/vega/vega.css +31 -0
- package/src/plugins/layout/AccordionPlugin.tsx +63 -0
- package/src/plugins/layout/CalloutPlugin.tsx +34 -0
- package/src/plugins/layout/DownloadPlugin.tsx +136 -0
- package/src/plugins/layout/ImageComparisonPlugin.tsx +35 -0
- package/src/plugins/layout/JsonOutputPlugin.tsx +47 -0
- package/src/plugins/layout/LazyPlugin.tsx +98 -0
- package/src/plugins/layout/MimeRenderPlugin.tsx +45 -0
- package/src/plugins/layout/NavigationMenuPlugin.tsx +219 -0
- package/src/plugins/layout/ProgressPlugin.tsx +175 -0
- package/src/plugins/layout/RoutesPlugin.tsx +81 -0
- package/src/plugins/layout/StatPlugin.tsx +100 -0
- package/src/plugins/layout/TexPlugin.tsx +102 -0
- package/src/plugins/layout/__test__/ProgressPlugin.test.ts +26 -0
- package/src/plugins/layout/carousel/CarouselPlugin.tsx +48 -0
- package/src/plugins/layout/mermaid/MermaidPlugin.tsx +26 -0
- package/src/plugins/layout/mermaid/mermaid.tsx +94 -0
- package/src/plugins/layout/navigation-menu.css +37 -0
- package/src/plugins/plugins.ts +116 -0
- package/src/plugins/stateless-plugin.ts +29 -0
- package/src/plugins/types.ts +82 -0
- package/src/stories/__fixtures__/vega.ts +225 -0
- package/src/stories/accordion.stories.tsx +100 -0
- package/src/stories/alert-dialog.mdx +42 -0
- package/src/stories/app-chrome.stories.tsx +26 -0
- package/src/stories/button.stories.tsx +90 -0
- package/src/stories/callout.stories.tsx +73 -0
- package/src/stories/cell-status.stories.tsx +145 -0
- package/src/stories/cell.stories.tsx +336 -0
- package/src/stories/checkbox.stories.tsx +44 -0
- package/src/stories/colors.stories.tsx +156 -0
- package/src/stories/combobox.stories.tsx +133 -0
- package/src/stories/context-menu.mdx +23 -0
- package/src/stories/data-explorer.stories.tsx +30 -0
- package/src/stories/data-table.stories.tsx +130 -0
- package/src/stories/dataframe.stories.tsx +46 -0
- package/src/stories/debugger.stories.tsx +34 -0
- package/src/stories/dialog.stories.tsx +80 -0
- package/src/stories/dropdown-menu.mdx +159 -0
- package/src/stories/editor-inputs.stories.tsx +47 -0
- package/src/stories/editor.stories.tsx +91 -0
- package/src/stories/file-upload.stories.tsx +103 -0
- package/src/stories/form-wrapper.stories.tsx +147 -0
- package/src/stories/input.stories.tsx +56 -0
- package/src/stories/label.mdx +9 -0
- package/src/stories/log-viewer.stories.tsx +74 -0
- package/src/stories/number-field.mdx +17 -0
- package/src/stories/number-field.stories.tsx +41 -0
- package/src/stories/progress-component.stories.tsx +74 -0
- package/src/stories/progress.stories.tsx +33 -0
- package/src/stories/radio-group.mdx +54 -0
- package/src/stories/select-native.stories.tsx +49 -0
- package/src/stories/select.stories.tsx +92 -0
- package/src/stories/slider.stories.tsx +27 -0
- package/src/stories/stat.stories.tsx +123 -0
- package/src/stories/switch.mdx +20 -0
- package/src/stories/switchable-multi-select.stories.tsx +31 -0
- package/src/stories/tabs.mdx +59 -0
- package/src/stories/textarea.stories.tsx +58 -0
- package/src/stories/theme.stories.tsx +111 -0
- package/src/stories/tooltip.mdx +32 -0
- package/src/stories/typography.stories.tsx +80 -0
- package/src/stories/variables.stories.tsx +58 -0
- package/src/stories/vega.stories.tsx +57 -0
- package/src/theme/ThemeProvider.tsx +32 -0
- package/src/theme/namespace.tsx +23 -0
- package/src/theme/useTheme.ts +89 -0
- package/src/utils/Deferred.ts +20 -0
- package/src/utils/Logger.ts +91 -0
- package/src/utils/__tests__/Deferred.test.ts +38 -0
- package/src/utils/__tests__/arrays.test.ts +130 -0
- package/src/utils/__tests__/batch-requests.test.ts +60 -0
- package/src/utils/__tests__/blob.test.ts +52 -0
- package/src/utils/__tests__/cell-urls.test.ts +92 -0
- package/src/utils/__tests__/createReducer.test.ts +184 -0
- package/src/utils/__tests__/data-views.test.ts +112 -0
- package/src/utils/__tests__/dates.test.ts +188 -0
- package/src/utils/__tests__/edit-distance.test.ts +302 -0
- package/src/utils/__tests__/errors.test.ts +54 -0
- package/src/utils/__tests__/filenames.test.ts +30 -0
- package/src/utils/__tests__/id-tree.test.ts +1994 -0
- package/src/utils/__tests__/json-parser.test.ts +79 -0
- package/src/utils/__tests__/local-storage.test.ts +77 -0
- package/src/utils/__tests__/lru.test.ts +74 -0
- package/src/utils/__tests__/maps.test.ts +91 -0
- package/src/utils/__tests__/math.test.ts +29 -0
- package/src/utils/__tests__/multi-map.test.ts +295 -0
- package/src/utils/__tests__/numbers.test.ts +76 -0
- package/src/utils/__tests__/path.test.ts +170 -0
- package/src/utils/__tests__/pluralize.test.ts +47 -0
- package/src/utils/__tests__/routes.test.ts +134 -0
- package/src/utils/__tests__/sets.test.ts +41 -0
- package/src/utils/__tests__/shallow-compare.test.ts +55 -0
- package/src/utils/__tests__/strings.test.ts +68 -0
- package/src/utils/__tests__/time.test.ts +61 -0
- package/src/utils/__tests__/timed-cache.test.ts +142 -0
- package/src/utils/__tests__/timeout.test.ts +153 -0
- package/src/utils/__tests__/traceback.test.ts +34 -0
- package/src/utils/__tests__/url.test.ts +100 -0
- package/src/utils/__tests__/urls.test.ts +10 -0
- package/src/utils/__tests__/versions.test.ts +63 -0
- package/src/utils/__tests__/waitForWs.test.ts +76 -0
- package/src/utils/arrays.ts +75 -0
- package/src/utils/assertExists.ts +12 -0
- package/src/utils/assertNever.ts +20 -0
- package/src/utils/batch-requests.ts +28 -0
- package/src/utils/blob.ts +45 -0
- package/src/utils/cell-urls.ts +31 -0
- package/src/utils/cn.ts +8 -0
- package/src/utils/copy.ts +17 -0
- package/src/utils/createReducer.ts +137 -0
- package/src/utils/data-views.ts +54 -0
- package/src/utils/dates.ts +145 -0
- package/src/utils/dereference.ts +10 -0
- package/src/utils/download.ts +47 -0
- package/src/utils/edit-distance.ts +141 -0
- package/src/utils/errors.ts +63 -0
- package/src/utils/events.ts +85 -0
- package/src/utils/fileToBase64.ts +30 -0
- package/src/utils/filenames.ts +29 -0
- package/src/utils/functions.ts +24 -0
- package/src/utils/id-tree.tsx +1032 -0
- package/src/utils/idle.ts +19 -0
- package/src/utils/invariant.ts +37 -0
- package/src/utils/json/__tests__/base64.test.ts +100 -0
- package/src/utils/json/base64.ts +51 -0
- package/src/utils/json/json-parser.ts +65 -0
- package/src/utils/lazy.ts +30 -0
- package/src/utils/links.ts +11 -0
- package/src/utils/localStorage.ts +132 -0
- package/src/utils/lru.ts +68 -0
- package/src/utils/maps.ts +65 -0
- package/src/utils/math.ts +6 -0
- package/src/utils/mergeRefs.ts +14 -0
- package/src/utils/multi-map.ts +71 -0
- package/src/utils/numbers.ts +124 -0
- package/src/utils/objects.ts +105 -0
- package/src/utils/once.ts +17 -0
- package/src/utils/pathUtils.test.ts +113 -0
- package/src/utils/pathUtils.ts +76 -0
- package/src/utils/paths.ts +67 -0
- package/src/utils/pluralize.ts +35 -0
- package/src/utils/python-poet/__tests__/poet.test.ts +286 -0
- package/src/utils/python-poet/poet.ts +196 -0
- package/src/utils/reload-safe.ts +15 -0
- package/src/utils/repl.ts +23 -0
- package/src/utils/routes.ts +36 -0
- package/src/utils/scroll.ts +38 -0
- package/src/utils/sets.ts +30 -0
- package/src/utils/shallow-compare.ts +30 -0
- package/src/utils/staticImplements.ts +7 -0
- package/src/utils/strings.ts +64 -0
- package/src/utils/time.ts +39 -0
- package/src/utils/timed-cache.ts +52 -0
- package/src/utils/timeout.ts +42 -0
- package/src/utils/traceback.ts +104 -0
- package/src/utils/tracer.ts +106 -0
- package/src/utils/typed.ts +17 -0
- package/src/utils/url.ts +12 -0
- package/src/utils/urls.ts +33 -0
- package/src/utils/uuid.ts +8 -0
- package/src/utils/versions.ts +66 -0
- package/src/utils/vitals.ts +30 -0
- package/src/utils/waitForWs.ts +31 -0
- package/dist/assets/_baseMap-DI8H5mdU.js +0 -1
- package/dist/assets/architectureDiagram-SUXI7LT5-BEcV3kj8.js +0 -36
- package/dist/assets/blockDiagram-6J76NXCF-BUxeo5Pp.js +0 -122
- package/dist/assets/channel-BgIIdDsO.js +0 -1
- package/dist/assets/classDiagram-M3E45YP4-CocoijMx.js +0 -1
- package/dist/assets/classDiagram-v2-YAWTLIQI-CocoijMx.js +0 -1
- package/dist/assets/clone-CkywUQE5.js +0 -1
- package/dist/assets/cytoscape.esm-CzSnbbKZ.js +0 -325
- package/dist/assets/diagram-5UYTHUR4-CaEJdB-c.js +0 -24
- package/dist/assets/edit-page-0aVIqkPG.js +0 -163
- package/dist/assets/flowDiagram-KYDEHFYC-COI3Wlzg.js +0 -162
- package/dist/assets/ganttDiagram-EK5VF46D-T8K8LZXH.js +0 -267
- package/dist/assets/index-BlxPam9h.css +0 -1
- package/dist/assets/index-DPzEQsyf.js +0 -518
- package/dist/assets/infoDiagram-LHK5PUON-DIh9EeeW.js +0 -2
- package/dist/assets/links-Co7kZnDQ.js +0 -17
- package/dist/assets/mermaid-sbM5kvPX.js +0 -207
- package/dist/assets/min-ClcSmngt.js +0 -1
- package/dist/assets/pieDiagram-NIOCPIFQ-ClBSTDHM.js +0 -30
- package/dist/assets/sortBy-BPqL9Az6.js +0 -1
- package/dist/assets/stateDiagram-v2-5AN5P6BG-Ch96oS1p.js +0 -1
- package/dist/assets/storage-6bL26f8J.js +0 -26
- package/dist/assets/time--ds3HCGk.js +0 -1
- package/dist/assets/xychartDiagram-H2YORKM3-tbgrOMTu.js +0 -7
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var P,M;import{g as Ht}from"./chunk-E2GYISFI-uWIZ1Jhx.js";import{g as Vt}from"./chunk-BFAMUDN2-CY30V5X_.js";import{s as Jt}from"./chunk-SKB7J2MH-DPsXY34k.js";import{_ as A,l as $t,c as F,o as Zt,r as te,u as xt,b as ee,a as se,s as ie,g as ne,p as re,q as ae,j as $,y as ue,x as le,h as oe,R}from"./mermaid-sbM5kvPX.js";import{s as V}from"./transform-B8bpuzxV.js";var It=function(){var s=A(function(o,y,p,r){for(p=p||{},r=o.length;r--;p[o[r]]=y);return p},"o"),i=[1,18],n=[1,19],a=[1,20],u=[1,41],l=[1,42],c=[1,26],d=[1,24],C=[1,25],B=[1,32],pt=[1,33],dt=[1,34],g=[1,45],At=[1,35],yt=[1,36],Ct=[1,37],mt=[1,38],gt=[1,27],bt=[1,28],Et=[1,29],Tt=[1,30],ft=[1,31],b=[1,44],E=[1,46],T=[1,43],k=[1,47],kt=[1,9],h=[1,8,9],J=[1,58],Z=[1,59],tt=[1,60],et=[1,61],st=[1,62],Ft=[1,63],Dt=[1,64],it=[1,8,9,41],Ot=[1,76],v=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],nt=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],rt=[13,58,84,99,101,102],G=[13,58,71,72,84,99,101,102],vt=[13,58,66,67,68,69,70,84,99,101,102],Bt=[1,98],U=[1,115],z=[1,107],K=[1,113],Y=[1,108],W=[1,109],j=[1,110],Q=[1,111],X=[1,112],q=[1,114],wt=[22,58,59,80,84,85,86,87,88,89],_t=[1,8,9,39,41,44],at=[1,8,9,22],Rt=[1,143],Pt=[1,8,9,59],N=[1,8,9,22,58,59,80,84,85,86,87,88,89],St={trace:A(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:A(function(o,y,p,r,m,t,H){var e=t.length-1;switch(m){case 8:this.$=t[e-1];break;case 9:case 12:case 14:this.$=t[e];break;case 10:case 13:this.$=t[e-2]+"."+t[e];break;case 11:case 15:case 95:this.$=t[e-1]+t[e];break;case 16:case 17:this.$=t[e-1]+"~"+t[e]+"~";break;case 18:r.addRelation(t[e]);break;case 19:t[e-1].title=r.cleanupLabel(t[e]),r.addRelation(t[e-1]);break;case 30:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 31:case 32:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 33:r.addClassesToNamespace(t[e-3],t[e-1]);break;case 34:r.addClassesToNamespace(t[e-4],t[e-1]);break;case 35:this.$=t[e],r.addNamespace(t[e]);break;case 36:case 46:case 59:case 92:this.$=[t[e]];break;case 37:this.$=[t[e-1]];break;case 38:t[e].unshift(t[e-2]),this.$=t[e];break;case 40:r.setCssClass(t[e-2],t[e]);break;case 41:r.addMembers(t[e-3],t[e-1]);break;case 42:r.setCssClass(t[e-5],t[e-3]),r.addMembers(t[e-5],t[e-1]);break;case 43:this.$=t[e],r.addClass(t[e]);break;case 44:this.$=t[e-1],r.addClass(t[e-1]),r.setClassLabel(t[e-1],t[e]);break;case 45:r.addAnnotation(t[e],t[e-2]);break;case 47:t[e].push(t[e-1]),this.$=t[e];break;case 48:case 50:case 51:break;case 49:r.addMember(t[e-1],r.cleanupLabel(t[e]));break;case 52:this.$={id1:t[e-2],id2:t[e],relation:t[e-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[e-3],id2:t[e],relation:t[e-1],relationTitle1:t[e-2],relationTitle2:"none"};break;case 54:this.$={id1:t[e-3],id2:t[e],relation:t[e-2],relationTitle1:"none",relationTitle2:t[e-1]};break;case 55:this.$={id1:t[e-4],id2:t[e],relation:t[e-2],relationTitle1:t[e-3],relationTitle2:t[e-1]};break;case 56:r.addNote(t[e],t[e-1]);break;case 57:r.addNote(t[e]);break;case 58:this.$=t[e-2],r.defineClass(t[e-1],t[e]);break;case 60:this.$=t[e-2].concat([t[e]]);break;case 61:r.setDirection("TB");break;case 62:r.setDirection("BT");break;case 63:r.setDirection("RL");break;case 64:r.setDirection("LR");break;case 65:this.$={type1:t[e-2],type2:t[e],lineType:t[e-1]};break;case 66:this.$={type1:"none",type2:t[e],lineType:t[e-1]};break;case 67:this.$={type1:t[e-1],type2:"none",lineType:t[e]};break;case 68:this.$={type1:"none",type2:"none",lineType:t[e]};break;case 69:this.$=r.relationType.AGGREGATION;break;case 70:this.$=r.relationType.EXTENSION;break;case 71:this.$=r.relationType.COMPOSITION;break;case 72:this.$=r.relationType.DEPENDENCY;break;case 73:this.$=r.relationType.LOLLIPOP;break;case 74:this.$=r.lineType.LINE;break;case 75:this.$=r.lineType.DOTTED_LINE;break;case 76:case 82:this.$=t[e-2],r.setClickEvent(t[e-1],t[e]);break;case 77:case 83:this.$=t[e-3],r.setClickEvent(t[e-2],t[e-1]),r.setTooltip(t[e-2],t[e]);break;case 78:this.$=t[e-2],r.setLink(t[e-1],t[e]);break;case 79:this.$=t[e-3],r.setLink(t[e-2],t[e-1],t[e]);break;case 80:this.$=t[e-3],r.setLink(t[e-2],t[e-1]),r.setTooltip(t[e-2],t[e]);break;case 81:this.$=t[e-4],r.setLink(t[e-3],t[e-2],t[e]),r.setTooltip(t[e-3],t[e-1]);break;case 84:this.$=t[e-3],r.setClickEvent(t[e-2],t[e-1],t[e]);break;case 85:this.$=t[e-4],r.setClickEvent(t[e-3],t[e-2],t[e-1]),r.setTooltip(t[e-3],t[e]);break;case 86:this.$=t[e-3],r.setLink(t[e-2],t[e]);break;case 87:this.$=t[e-4],r.setLink(t[e-3],t[e-1],t[e]);break;case 88:this.$=t[e-4],r.setLink(t[e-3],t[e-1]),r.setTooltip(t[e-3],t[e]);break;case 89:this.$=t[e-5],r.setLink(t[e-4],t[e-2],t[e]),r.setTooltip(t[e-4],t[e-1]);break;case 90:this.$=t[e-2],r.setCssStyle(t[e-1],t[e]);break;case 91:r.setCssClass(t[e-1],t[e]);break;case 93:t[e-2].push(t[e]),this.$=t[e-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:n,37:a,38:22,42:u,43:23,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:k},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(kt,[2,5],{8:[1,48]}),{8:[1,49]},s(h,[2,18],{22:[1,50]}),s(h,[2,20]),s(h,[2,21]),s(h,[2,22]),s(h,[2,23]),s(h,[2,24]),s(h,[2,25]),s(h,[2,26]),s(h,[2,27]),s(h,[2,28]),s(h,[2,29]),{34:[1,51]},{36:[1,52]},s(h,[2,32]),s(h,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:J,67:Z,68:tt,69:et,70:st,71:Ft,72:Dt}),{39:[1,65]},s(it,[2,39],{39:[1,67],44:[1,66]}),s(h,[2,50]),s(h,[2,51]),{16:68,58:g,84:b,99:E,101:T},{16:39,18:69,19:40,58:g,84:b,99:E,101:T,102:k},{16:39,18:70,19:40,58:g,84:b,99:E,101:T,102:k},{16:39,18:71,19:40,58:g,84:b,99:E,101:T,102:k},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:g,84:b,99:E,101:T,102:k},{13:Ot,53:75},{56:77,58:[1,78]},s(h,[2,61]),s(h,[2,62]),s(h,[2,63]),s(h,[2,64]),s(v,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:g,84:b,99:E,101:T,102:k}),s(v,[2,14],{20:[1,82]}),{15:83,16:84,58:g,84:b,99:E,101:T},{16:39,18:85,19:40,58:g,84:b,99:E,101:T,102:k},s(nt,[2,118]),s(nt,[2,119]),s(nt,[2,120]),s(nt,[2,121]),s([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),s(kt,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:i,35:n,37:a,42:u,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:k}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:n,37:a,38:22,42:u,43:23,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:k},s(h,[2,19]),s(h,[2,30]),s(h,[2,31]),{13:[1,89],16:39,18:88,19:40,58:g,84:b,99:E,101:T,102:k},{51:90,64:56,65:57,66:J,67:Z,68:tt,69:et,70:st,71:Ft,72:Dt},s(h,[2,49]),{65:91,71:Ft,72:Dt},s(rt,[2,68],{64:92,66:J,67:Z,68:tt,69:et,70:st}),s(G,[2,69]),s(G,[2,70]),s(G,[2,71]),s(G,[2,72]),s(G,[2,73]),s(vt,[2,74]),s(vt,[2,75]),{8:[1,94],24:95,40:93,43:23,46:l},{16:96,58:g,84:b,99:E,101:T},{45:97,49:Bt},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:U,57:104,58:z,80:K,82:105,83:106,84:Y,85:W,86:j,87:Q,88:X,89:q},{58:[1,116]},{13:Ot,53:117},s(h,[2,57]),s(h,[2,123]),{22:U,57:118,58:z,59:[1,119],80:K,82:105,83:106,84:Y,85:W,86:j,87:Q,88:X,89:q},s(wt,[2,59]),{16:39,18:120,19:40,58:g,84:b,99:E,101:T,102:k},s(v,[2,15]),s(v,[2,16]),s(v,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:g,84:b,99:E,101:T},s(_t,[2,43],{11:123,12:[1,124]}),s(kt,[2,7]),{9:[1,125]},s(at,[2,52]),{16:39,18:126,19:40,58:g,84:b,99:E,101:T,102:k},{13:[1,128],16:39,18:127,19:40,58:g,84:b,99:E,101:T,102:k},s(rt,[2,67],{64:129,66:J,67:Z,68:tt,69:et,70:st}),s(rt,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:l},{8:[1,132],41:[2,36]},s(it,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:Bt},{16:39,18:136,19:40,58:g,84:b,99:E,101:T,102:k},s(h,[2,76],{13:[1,137]}),s(h,[2,78],{13:[1,139],75:[1,138]}),s(h,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},s(h,[2,90],{59:Rt}),s(Pt,[2,92],{83:144,22:U,58:z,80:K,84:Y,85:W,86:j,87:Q,88:X,89:q}),s(N,[2,94]),s(N,[2,96]),s(N,[2,97]),s(N,[2,98]),s(N,[2,99]),s(N,[2,100]),s(N,[2,101]),s(N,[2,102]),s(N,[2,103]),s(N,[2,104]),s(h,[2,91]),s(h,[2,56]),s(h,[2,58],{59:Rt}),{58:[1,145]},s(v,[2,13]),{15:146,16:84,58:g,84:b,99:E,101:T},{39:[2,11]},s(_t,[2,44]),{13:[1,147]},{1:[2,4]},s(at,[2,54]),s(at,[2,53]),{16:39,18:148,19:40,58:g,84:b,99:E,101:T,102:k},s(rt,[2,65]),s(h,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:l},{45:151,49:Bt},s(it,[2,41]),{41:[2,47]},s(h,[2,45]),s(h,[2,77]),s(h,[2,79]),s(h,[2,80],{75:[1,152]}),s(h,[2,83]),s(h,[2,84],{13:[1,153]}),s(h,[2,86],{13:[1,155],75:[1,154]}),{22:U,58:z,80:K,82:156,83:106,84:Y,85:W,86:j,87:Q,88:X,89:q},s(N,[2,95]),s(wt,[2,60]),{39:[2,10]},{14:[1,157]},s(at,[2,55]),s(h,[2,34]),{41:[2,38]},{41:[1,158]},s(h,[2,81]),s(h,[2,85]),s(h,[2,87]),s(h,[2,88],{75:[1,159]}),s(Pt,[2,93],{83:144,22:U,58:z,80:K,84:Y,85:W,86:j,87:Q,88:X,89:q}),s(_t,[2,8]),s(it,[2,42]),s(h,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:A(function(o,y){if(!y.recoverable){var p=new Error(o);throw p.hash=y,p}this.trace(o)},"parseError"),parse:A(function(o){var y=this,p=[0],r=[],m=[null],t=[],H=this.table,e="",lt=0,Mt=0,Xt=t.slice.call(arguments,1),f=Object.create(this.lexer),x={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(x.yy[Nt]=this.yy[Nt]);f.setInput(o,x.yy),x.yy.lexer=f,x.yy.parser=this,f.yylloc===void 0&&(f.yylloc={});var Lt=f.yylloc;t.push(Lt);var qt=f.options&&f.options.ranges;function Gt(){var S;return typeof(S=r.pop()||f.lex()||1)!="number"&&(S instanceof Array&&(S=(r=S).pop()),S=y.symbols_[S]||S),S}typeof x.yy.parseError=="function"?this.parseError=x.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,A(function(S){p.length=p.length-2*S,m.length=m.length-S,t.length=t.length-S},"popStack"),A(Gt,"lex");for(var D,I,_,Ut,ot,L,zt,ct,w={};;){if(I=p[p.length-1],this.defaultActions[I]?_=this.defaultActions[I]:(D==null&&(D=Gt()),_=H[I]&&H[I][D]),_===void 0||!_.length||!_[0]){var Kt="";for(ot in ct=[],H[I])this.terminals_[ot]&&ot>2&&ct.push("'"+this.terminals_[ot]+"'");Kt=f.showPosition?"Parse error on line "+(lt+1)+`:
|
|
2
|
-
`+
|
|
3
|
-
Expecting `+ct.join(", ")+", got '"+(this.terminals_[D]||D)+"'":"Parse error on line "+(lt+1)+": Unexpected "+(D==1?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(Kt,{text:
|
|
1
|
+
var P,M;import{g as Ht}from"./chunk-GLLZNHP4-DRBUPzV6.js";import{g as Vt}from"./chunk-WVR4S24B-DkjWv9uk.js";import{s as Jt}from"./chunk-NRVI72HA-gO-7Uy2L.js";import{_ as A,l as $t,c as F,o as Zt,r as te,u as xt,b as ee,a as se,s as ie,g as ne,p as re,q as ae,j as $,y as ue,x as le,h as oe,R}from"./mermaid-D59lkToe.js";import{s as V}from"./transform-B8bpuzxV.js";var It=function(){var s=A(function(o,y,p,r){for(p=p||{},r=o.length;r--;p[o[r]]=y);return p},"o"),i=[1,18],n=[1,19],a=[1,20],u=[1,41],l=[1,42],c=[1,26],d=[1,24],C=[1,25],B=[1,32],pt=[1,33],dt=[1,34],g=[1,45],At=[1,35],yt=[1,36],Ct=[1,37],mt=[1,38],gt=[1,27],bt=[1,28],Et=[1,29],Tt=[1,30],ft=[1,31],b=[1,44],E=[1,46],T=[1,43],f=[1,47],kt=[1,9],h=[1,8,9],J=[1,58],Z=[1,59],tt=[1,60],et=[1,61],st=[1,62],Ft=[1,63],Dt=[1,64],it=[1,8,9,41],Ot=[1,76],v=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],nt=[1,8,9,12,13,18,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],rt=[13,58,84,99,101,102],G=[13,58,71,72,84,99,101,102],vt=[13,58,66,67,68,69,70,84,99,101,102],Bt=[1,99],U=[1,116],z=[1,108],K=[1,114],Y=[1,109],W=[1,110],j=[1,111],Q=[1,112],X=[1,113],q=[1,115],wt=[22,58,59,80,84,85,86,87,88,89],_t=[1,8,9,39,41,44],at=[1,8,9,22],Rt=[1,144],Pt=[1,8,9,59],N=[1,8,9,22,58,59,80,84,85,86,87,88,89],St={trace:A(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[17,1],[53,1]],performAction:A(function(o,y,p,r,m,t,H){var e=t.length-1;switch(m){case 8:this.$=t[e-1];break;case 9:case 10:case 13:case 15:this.$=t[e];break;case 11:case 14:this.$=t[e-2]+"."+t[e];break;case 12:case 16:case 96:this.$=t[e-1]+t[e];break;case 17:case 18:this.$=t[e-1]+"~"+t[e]+"~";break;case 19:r.addRelation(t[e]);break;case 20:t[e-1].title=r.cleanupLabel(t[e]),r.addRelation(t[e-1]);break;case 31:this.$=t[e].trim(),r.setAccTitle(this.$);break;case 32:case 33:this.$=t[e].trim(),r.setAccDescription(this.$);break;case 34:r.addClassesToNamespace(t[e-3],t[e-1]);break;case 35:r.addClassesToNamespace(t[e-4],t[e-1]);break;case 36:this.$=t[e],r.addNamespace(t[e]);break;case 37:case 47:case 60:case 93:this.$=[t[e]];break;case 38:this.$=[t[e-1]];break;case 39:t[e].unshift(t[e-2]),this.$=t[e];break;case 41:r.setCssClass(t[e-2],t[e]);break;case 42:r.addMembers(t[e-3],t[e-1]);break;case 43:r.setCssClass(t[e-5],t[e-3]),r.addMembers(t[e-5],t[e-1]);break;case 44:this.$=t[e],r.addClass(t[e]);break;case 45:this.$=t[e-1],r.addClass(t[e-1]),r.setClassLabel(t[e-1],t[e]);break;case 46:r.addAnnotation(t[e],t[e-2]);break;case 48:t[e].push(t[e-1]),this.$=t[e];break;case 49:case 51:case 52:break;case 50:r.addMember(t[e-1],r.cleanupLabel(t[e]));break;case 53:this.$={id1:t[e-2],id2:t[e],relation:t[e-1],relationTitle1:"none",relationTitle2:"none"};break;case 54:this.$={id1:t[e-3],id2:t[e],relation:t[e-1],relationTitle1:t[e-2],relationTitle2:"none"};break;case 55:this.$={id1:t[e-3],id2:t[e],relation:t[e-2],relationTitle1:"none",relationTitle2:t[e-1]};break;case 56:this.$={id1:t[e-4],id2:t[e],relation:t[e-2],relationTitle1:t[e-3],relationTitle2:t[e-1]};break;case 57:r.addNote(t[e],t[e-1]);break;case 58:r.addNote(t[e]);break;case 59:this.$=t[e-2],r.defineClass(t[e-1],t[e]);break;case 61:this.$=t[e-2].concat([t[e]]);break;case 62:r.setDirection("TB");break;case 63:r.setDirection("BT");break;case 64:r.setDirection("RL");break;case 65:r.setDirection("LR");break;case 66:this.$={type1:t[e-2],type2:t[e],lineType:t[e-1]};break;case 67:this.$={type1:"none",type2:t[e],lineType:t[e-1]};break;case 68:this.$={type1:t[e-1],type2:"none",lineType:t[e]};break;case 69:this.$={type1:"none",type2:"none",lineType:t[e]};break;case 70:this.$=r.relationType.AGGREGATION;break;case 71:this.$=r.relationType.EXTENSION;break;case 72:this.$=r.relationType.COMPOSITION;break;case 73:this.$=r.relationType.DEPENDENCY;break;case 74:this.$=r.relationType.LOLLIPOP;break;case 75:this.$=r.lineType.LINE;break;case 76:this.$=r.lineType.DOTTED_LINE;break;case 77:case 83:this.$=t[e-2],r.setClickEvent(t[e-1],t[e]);break;case 78:case 84:this.$=t[e-3],r.setClickEvent(t[e-2],t[e-1]),r.setTooltip(t[e-2],t[e]);break;case 79:this.$=t[e-2],r.setLink(t[e-1],t[e]);break;case 80:this.$=t[e-3],r.setLink(t[e-2],t[e-1],t[e]);break;case 81:this.$=t[e-3],r.setLink(t[e-2],t[e-1]),r.setTooltip(t[e-2],t[e]);break;case 82:this.$=t[e-4],r.setLink(t[e-3],t[e-2],t[e]),r.setTooltip(t[e-3],t[e-1]);break;case 85:this.$=t[e-3],r.setClickEvent(t[e-2],t[e-1],t[e]);break;case 86:this.$=t[e-4],r.setClickEvent(t[e-3],t[e-2],t[e-1]),r.setTooltip(t[e-3],t[e]);break;case 87:this.$=t[e-3],r.setLink(t[e-2],t[e]);break;case 88:this.$=t[e-4],r.setLink(t[e-3],t[e-1],t[e]);break;case 89:this.$=t[e-4],r.setLink(t[e-3],t[e-1]),r.setTooltip(t[e-3],t[e]);break;case 90:this.$=t[e-5],r.setLink(t[e-4],t[e-2],t[e]),r.setTooltip(t[e-4],t[e-1]);break;case 91:this.$=t[e-2],r.setCssStyle(t[e-1],t[e]);break;case 92:r.setCssClass(t[e-1],t[e]);break;case 94:t[e-2].push(t[e]),this.$=t[e-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:n,37:a,38:22,42:u,43:23,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:f},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(kt,[2,5],{8:[1,48]}),{8:[1,49]},s(h,[2,19],{22:[1,50]}),s(h,[2,21]),s(h,[2,22]),s(h,[2,23]),s(h,[2,24]),s(h,[2,25]),s(h,[2,26]),s(h,[2,27]),s(h,[2,28]),s(h,[2,29]),s(h,[2,30]),{34:[1,51]},{36:[1,52]},s(h,[2,33]),s(h,[2,49],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:J,67:Z,68:tt,69:et,70:st,71:Ft,72:Dt}),{39:[1,65]},s(it,[2,40],{39:[1,67],44:[1,66]}),s(h,[2,51]),s(h,[2,52]),{16:68,58:g,84:b,99:E,101:T},{16:39,17:40,19:69,58:g,84:b,99:E,101:T,102:f},{16:39,17:40,19:70,58:g,84:b,99:E,101:T,102:f},{16:39,17:40,19:71,58:g,84:b,99:E,101:T,102:f},{58:[1,72]},{13:[1,73]},{16:39,17:40,19:74,58:g,84:b,99:E,101:T,102:f},{13:Ot,53:75},{56:77,58:[1,78]},s(h,[2,62]),s(h,[2,63]),s(h,[2,64]),s(h,[2,65]),s(v,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],58:g,84:b,99:E,101:T,102:f}),s(v,[2,15],{20:[1,82]}),{15:83,16:84,17:85,58:g,84:b,99:E,101:T,102:f},{16:39,17:40,19:86,58:g,84:b,99:E,101:T,102:f},s(nt,[2,119]),s(nt,[2,120]),s(nt,[2,121]),s(nt,[2,122]),s([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,123]),s(kt,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:i,35:n,37:a,42:u,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:f}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:n,37:a,38:22,42:u,43:23,46:l,47:c,49:d,50:C,52:B,54:pt,55:dt,58:g,60:At,61:yt,62:Ct,63:mt,73:gt,74:bt,76:Et,80:Tt,81:ft,84:b,99:E,101:T,102:f},s(h,[2,20]),s(h,[2,31]),s(h,[2,32]),{13:[1,90],16:39,17:40,19:89,58:g,84:b,99:E,101:T,102:f},{51:91,64:56,65:57,66:J,67:Z,68:tt,69:et,70:st,71:Ft,72:Dt},s(h,[2,50]),{65:92,71:Ft,72:Dt},s(rt,[2,69],{64:93,66:J,67:Z,68:tt,69:et,70:st}),s(G,[2,70]),s(G,[2,71]),s(G,[2,72]),s(G,[2,73]),s(G,[2,74]),s(vt,[2,75]),s(vt,[2,76]),{8:[1,95],24:96,40:94,43:23,46:l},{16:97,58:g,84:b,99:E,101:T},{45:98,49:Bt},{48:[1,100]},{13:[1,101]},{13:[1,102]},{77:[1,103],79:[1,104]},{22:U,57:105,58:z,80:K,82:106,83:107,84:Y,85:W,86:j,87:Q,88:X,89:q},{58:[1,117]},{13:Ot,53:118},s(h,[2,58]),s(h,[2,124]),{22:U,57:119,58:z,59:[1,120],80:K,82:106,83:107,84:Y,85:W,86:j,87:Q,88:X,89:q},s(wt,[2,60]),{16:39,17:40,19:121,58:g,84:b,99:E,101:T,102:f},s(v,[2,16]),s(v,[2,17]),s(v,[2,18]),{39:[2,36]},{15:123,16:84,17:85,18:[1,122],39:[2,9],58:g,84:b,99:E,101:T,102:f},{39:[2,10]},s(_t,[2,44],{11:124,12:[1,125]}),s(kt,[2,7]),{9:[1,126]},s(at,[2,53]),{16:39,17:40,19:127,58:g,84:b,99:E,101:T,102:f},{13:[1,129],16:39,17:40,19:128,58:g,84:b,99:E,101:T,102:f},s(rt,[2,68],{64:130,66:J,67:Z,68:tt,69:et,70:st}),s(rt,[2,67]),{41:[1,131]},{24:96,40:132,43:23,46:l},{8:[1,133],41:[2,37]},s(it,[2,41],{39:[1,134]}),{41:[1,135]},{41:[2,47],45:136,49:Bt},{16:39,17:40,19:137,58:g,84:b,99:E,101:T,102:f},s(h,[2,77],{13:[1,138]}),s(h,[2,79],{13:[1,140],75:[1,139]}),s(h,[2,83],{13:[1,141],78:[1,142]}),{13:[1,143]},s(h,[2,91],{59:Rt}),s(Pt,[2,93],{83:145,22:U,58:z,80:K,84:Y,85:W,86:j,87:Q,88:X,89:q}),s(N,[2,95]),s(N,[2,97]),s(N,[2,98]),s(N,[2,99]),s(N,[2,100]),s(N,[2,101]),s(N,[2,102]),s(N,[2,103]),s(N,[2,104]),s(N,[2,105]),s(h,[2,92]),s(h,[2,57]),s(h,[2,59],{59:Rt}),{58:[1,146]},s(v,[2,14]),{15:147,16:84,17:85,58:g,84:b,99:E,101:T,102:f},{39:[2,12]},s(_t,[2,45]),{13:[1,148]},{1:[2,4]},s(at,[2,55]),s(at,[2,54]),{16:39,17:40,19:149,58:g,84:b,99:E,101:T,102:f},s(rt,[2,66]),s(h,[2,34]),{41:[1,150]},{24:96,40:151,41:[2,38],43:23,46:l},{45:152,49:Bt},s(it,[2,42]),{41:[2,48]},s(h,[2,46]),s(h,[2,78]),s(h,[2,80]),s(h,[2,81],{75:[1,153]}),s(h,[2,84]),s(h,[2,85],{13:[1,154]}),s(h,[2,87],{13:[1,156],75:[1,155]}),{22:U,58:z,80:K,82:157,83:107,84:Y,85:W,86:j,87:Q,88:X,89:q},s(N,[2,96]),s(wt,[2,61]),{39:[2,11]},{14:[1,158]},s(at,[2,56]),s(h,[2,35]),{41:[2,39]},{41:[1,159]},s(h,[2,82]),s(h,[2,86]),s(h,[2,88]),s(h,[2,89],{75:[1,160]}),s(Pt,[2,94],{83:145,22:U,58:z,80:K,84:Y,85:W,86:j,87:Q,88:X,89:q}),s(_t,[2,8]),s(it,[2,43]),s(h,[2,90])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],123:[2,12],126:[2,4],136:[2,48],147:[2,11],151:[2,39]},parseError:A(function(o,y){if(!y.recoverable){var p=new Error(o);throw p.hash=y,p}this.trace(o)},"parseError"),parse:A(function(o){var y=this,p=[0],r=[],m=[null],t=[],H=this.table,e="",lt=0,Mt=0,Xt=t.slice.call(arguments,1),k=Object.create(this.lexer),x={yy:{}};for(var Nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nt)&&(x.yy[Nt]=this.yy[Nt]);k.setInput(o,x.yy),x.yy.lexer=k,x.yy.parser=this,k.yylloc===void 0&&(k.yylloc={});var Lt=k.yylloc;t.push(Lt);var qt=k.options&&k.options.ranges;function Gt(){var S;return typeof(S=r.pop()||k.lex()||1)!="number"&&(S instanceof Array&&(S=(r=S).pop()),S=y.symbols_[S]||S),S}typeof x.yy.parseError=="function"?this.parseError=x.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,A(function(S){p.length=p.length-2*S,m.length=m.length-S,t.length=t.length-S},"popStack"),A(Gt,"lex");for(var D,I,_,Ut,ot,L,zt,ct,w={};;){if(I=p[p.length-1],this.defaultActions[I]?_=this.defaultActions[I]:(D==null&&(D=Gt()),_=H[I]&&H[I][D]),_===void 0||!_.length||!_[0]){var Kt="";for(ot in ct=[],H[I])this.terminals_[ot]&&ot>2&&ct.push("'"+this.terminals_[ot]+"'");Kt=k.showPosition?"Parse error on line "+(lt+1)+`:
|
|
2
|
+
`+k.showPosition()+`
|
|
3
|
+
Expecting `+ct.join(", ")+", got '"+(this.terminals_[D]||D)+"'":"Parse error on line "+(lt+1)+": Unexpected "+(D==1?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(Kt,{text:k.match,token:this.terminals_[D]||D,line:k.yylineno,loc:Lt,expected:ct})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+D);switch(_[0]){case 1:p.push(D),m.push(k.yytext),t.push(k.yylloc),p.push(_[1]),D=null,Mt=k.yyleng,e=k.yytext,lt=k.yylineno,Lt=k.yylloc;break;case 2:if(L=this.productions_[_[1]][1],w.$=m[m.length-L],w._$={first_line:t[t.length-(L||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(L||1)].first_column,last_column:t[t.length-1].last_column},qt&&(w._$.range=[t[t.length-(L||1)].range[0],t[t.length-1].range[1]]),(Ut=this.performAction.apply(w,[e,Mt,lt,x.yy,_[1],m,t].concat(Xt)))!==void 0)return Ut;L&&(p=p.slice(0,-1*L*2),m=m.slice(0,-1*L),t=t.slice(0,-1*L)),p.push(this.productions_[_[1]][0]),m.push(w.$),t.push(w._$),zt=H[p[p.length-2]][p[p.length-1]],p.push(zt);break;case 3:return!0}}return!0},"parse")},Qt=function(){return{EOF:1,parseError:A(function(o,y){if(!this.yy.parser)throw new Error(o);this.yy.parser.parseError(o,y)},"parseError"),setInput:A(function(o,y){return this.yy=y||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:A(function(){var o=this._input[0];return this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o,o.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:A(function(o){var y=o.length,p=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var m=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===r.length?this.yylloc.first_column:0)+r[r.length-p.length].length-p[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[m[0],m[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},"unput"),more:A(function(){return this._more=!0,this},"more"),reject:A(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:A(function(o){this.unput(this.match.slice(o))},"less"),pastInput:A(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:A(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:A(function(){var o=this.pastInput(),y=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
|
|
5
5
|
`+y+"^"},"showPosition"),test_match:A(function(o,y){var p,r,m;if(this.options.backtrack_lexer&&(m={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(m.yylloc.range=this.yylloc.range.slice(0))),(r=o[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],p=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var t in m)this[t]=m[t];return!1}return!1},"test_match"),next:A(function(){if(this.done)return this.EOF;var o,y,p,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var m=this._currentRules(),t=0;t<m.length;t++)if((p=this._input.match(this.rules[m[t]]))&&(!y||p[0].length>y[0].length)){if(y=p,r=t,this.options.backtrack_lexer){if((o=this.test_match(p,m[t]))!==!1)return o;if(this._backtrack){y=!1;continue}return!1}if(!this.options.flex)break}return y?(o=this.test_match(y,m[r]))!==!1&&o:this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:A(function(){var o=this.next();return o||this.lex()},"lex"),begin:A(function(o){this.conditionStack.push(o)},"begin"),popState:A(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:A(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:A(function(o){return(o=this.conditionStack.length-1-Math.abs(o||0))>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:A(function(o){this.begin(o)},"pushState"),stateStackSize:A(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:A(function(o,y,p,r){switch(p){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:case 14:case 31:case 36:case 40:case 47:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 58:case 61:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 35:return 8;case 15:case 16:return 7;case 17:case 37:case 45:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 23:return 78;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:case 39:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:case 43:return this.popState(),41;case 34:case 44:return"EOF_IN_STRUCT";case 38:return this.begin("class"),46;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 46:return"OPEN_IN_STRUCT";case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}}}();function ut(){this.yy={}}return St.lexer=Qt,A(ut,"Parser"),ut.prototype=St,St.Parser=ut,new ut}();It.parser=It;var ce=It,Yt=["#","+","~","-",""],Wt=(P=class{constructor(i,n){this.memberType=n,this.visibility="",this.classifier="",this.text="";const a=oe(i,F());this.parseMember(a)}getDisplayDetails(){let i=this.visibility+R(this.id);return this.memberType==="method"&&(i+=`(${R(this.parameters.trim())})`,this.returnType&&(i+=" : "+R(this.returnType))),i=i.trim(),{displayText:i,cssStyle:this.parseClassifier()}}parseMember(i){let n="";if(this.memberType==="method"){const u=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(i);if(u){const l=u[1]?u[1].trim():"";if(Yt.includes(l)&&(this.visibility=l),this.id=u[2],this.parameters=u[3]?u[3].trim():"",n=u[4]?u[4].trim():"",this.returnType=u[5]?u[5].trim():"",n===""){const c=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(c)&&(n=c,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const u=i.length,l=i.substring(0,1),c=i.substring(u-1);Yt.includes(l)&&(this.visibility=l),/[$*]/.exec(c)&&(n=c),this.id=i.substring(this.visibility===""?0:1,n===""?u:u-1)}this.classifier=n,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const a=`${this.visibility?"\\"+this.visibility:""}${R(this.id)}${this.memberType==="method"?`(${R(this.parameters)})${this.returnType?" : "+R(this.returnType):""}`:""}`;this.text=a.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},A(P,"ClassMember"),P),ht="classId-",jt=0,O=A(s=>$.sanitizeText(s,F()),"sanitizeText"),he=(M=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=[],this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=A(i=>{let n=V(".mermaidTooltip");(n._groups||n)[0][0]===null&&(n=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(i).select("svg").selectAll("g.node").on("mouseover",a=>{const u=V(a.currentTarget);if(u.attr("title")===null)return;const l=this.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.text(u.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.top-14+document.body.scrollTop+"px"),n.html(n.html().replace(/<br\/>/g,"<br/>")),u.classed("hover",!0)}).on("mouseout",a=>{n.transition().duration(500).style("opacity",0),V(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=ee,this.getAccTitle=se,this.setAccDescription=ie,this.getAccDescription=ne,this.setDiagramTitle=re,this.getDiagramTitle=ae,this.getConfig=A(()=>F().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(i){const n=$.sanitizeText(i,F());let a="",u=n;if(n.indexOf("~")>0){const l=n.split("~");u=O(l[0]),a=O(l[1])}return{className:u,type:a}}setClassLabel(i,n){const a=$.sanitizeText(i,F());n&&(n=O(n));const{className:u}=this.splitClassNameAndType(a);this.classes.get(u).label=n,this.classes.get(u).text=`${n}${this.classes.get(u).type?`<${this.classes.get(u).type}>`:""}`}addClass(i){const n=$.sanitizeText(i,F()),{className:a,type:u}=this.splitClassNameAndType(n);if(this.classes.has(a))return;const l=$.sanitizeText(a,F());this.classes.set(l,{id:l,type:u,label:l,text:`${l}${u?`<${u}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ht+l+"-"+jt}),jt++}addInterface(i,n){const a={id:`interface${this.interfaces.length}`,label:i,classId:n};this.interfaces.push(a)}lookUpDomId(i){const n=$.sanitizeText(i,F());if(this.classes.has(n))return this.classes.get(n).domId;throw new Error("Class not found: "+n)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",ue()}getClass(i){return this.classes.get(i)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(i){$t.debug("Adding relation: "+JSON.stringify(i));const n=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];i.relation.type1!==this.relationType.LOLLIPOP||n.includes(i.relation.type2)?i.relation.type2!==this.relationType.LOLLIPOP||n.includes(i.relation.type1)?(this.addClass(i.id1),this.addClass(i.id2)):(this.addClass(i.id1),this.addInterface(i.id2,i.id1),i.id2="interface"+(this.interfaces.length-1)):(this.addClass(i.id2),this.addInterface(i.id1,i.id2),i.id1="interface"+(this.interfaces.length-1)),i.id1=this.splitClassNameAndType(i.id1).className,i.id2=this.splitClassNameAndType(i.id2).className,i.relationTitle1=$.sanitizeText(i.relationTitle1.trim(),F()),i.relationTitle2=$.sanitizeText(i.relationTitle2.trim(),F()),this.relations.push(i)}addAnnotation(i,n){const a=this.splitClassNameAndType(i).className;this.classes.get(a).annotations.push(n)}addMember(i,n){this.addClass(i);const a=this.splitClassNameAndType(i).className,u=this.classes.get(a);if(typeof n=="string"){const l=n.trim();l.startsWith("<<")&&l.endsWith(">>")?u.annotations.push(O(l.substring(2,l.length-2))):l.indexOf(")")>0?u.methods.push(new Wt(l,"method")):l&&u.members.push(new Wt(l,"attribute"))}}addMembers(i,n){Array.isArray(n)&&(n.reverse(),n.forEach(a=>this.addMember(i,a)))}addNote(i,n){const a={id:`note${this.notes.length}`,class:n,text:i};this.notes.push(a)}cleanupLabel(i){return i.startsWith(":")&&(i=i.substring(1)),O(i.trim())}setCssClass(i,n){i.split(",").forEach(a=>{let u=a;/\d/.exec(a[0])&&(u=ht+u);const l=this.classes.get(u);l&&(l.cssClasses+=" "+n)})}defineClass(i,n){for(const a of i){let u=this.styleClasses.get(a);u===void 0&&(u={id:a,styles:[],textStyles:[]},this.styleClasses.set(a,u)),n&&n.forEach(l=>{if(/color/.exec(l)){const c=l.replace("fill","bgFill");u.textStyles.push(c)}u.styles.push(l)}),this.classes.forEach(l=>{l.cssClasses.includes(a)&&l.styles.push(...n.flatMap(c=>c.split(",")))})}}setTooltip(i,n){i.split(",").forEach(a=>{n!==void 0&&(this.classes.get(a).tooltip=O(n))})}getTooltip(i,n){return n&&this.namespaces.has(n)?this.namespaces.get(n).classes.get(i).tooltip:this.classes.get(i).tooltip}setLink(i,n,a){const u=F();i.split(",").forEach(l=>{let c=l;/\d/.exec(l[0])&&(c=ht+c);const d=this.classes.get(c);d&&(d.link=xt.formatUrl(n,u),u.securityLevel==="sandbox"?d.linkTarget="_top":d.linkTarget=typeof a=="string"?O(a):"_blank")}),this.setCssClass(i,"clickable")}setClickEvent(i,n,a){i.split(",").forEach(u=>{this.setClickFunc(u,n,a),this.classes.get(u).haveCallback=!0}),this.setCssClass(i,"clickable")}setClickFunc(i,n,a){const u=$.sanitizeText(i,F());if(F().securityLevel!=="loose"||n===void 0)return;const l=u;if(this.classes.has(l)){const c=this.lookUpDomId(l);let d=[];if(typeof a=="string"){d=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let C=0;C<d.length;C++){let B=d[C].trim();B.startsWith('"')&&B.endsWith('"')&&(B=B.substr(1,B.length-2)),d[C]=B}}d.length===0&&d.push(c),this.functions.push(()=>{const C=document.querySelector(`[id="${c}"]`);C!==null&&C.addEventListener("click",()=>{xt.runFunc(n,...d)},!1)})}}bindFunctions(i){this.functions.forEach(n=>{n(i)})}getDirection(){return this.direction}setDirection(i){this.direction=i}addNamespace(i){this.namespaces.has(i)||(this.namespaces.set(i,{id:i,classes:new Map,children:{},domId:ht+i+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(i){return this.namespaces.get(i)}getNamespaces(){return this.namespaces}addClassesToNamespace(i,n){if(this.namespaces.has(i))for(const a of n){const{className:u}=this.splitClassNameAndType(a);this.classes.get(u).parent=i,this.namespaces.get(i).classes.set(u,this.classes.get(u))}}setCssStyle(i,n){const a=this.classes.get(i);if(n&&a)for(const u of n)u.includes(",")?a.styles.push(...u.split(",")):a.styles.push(u)}getArrowMarker(i){let n;switch(i){case 0:n="aggregation";break;case 1:n="extension";break;case 2:n="composition";break;case 3:n="dependency";break;case 4:n="lollipop";break;default:n="none"}return n}getData(){var l;const i=[],n=[],a=F();for(const c of this.namespaces.keys()){const d=this.namespaces.get(c);if(d){const C={id:d.id,label:d.id,isGroup:!0,padding:a.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:a.look};i.push(C)}}for(const c of this.classes.keys()){const d=this.classes.get(c);if(d){const C=d;C.parentId=d.parent,C.look=a.look,i.push(C)}}let u=0;for(const c of this.notes){u++;const d={id:c.id,label:c.text,isGroup:!1,shape:"note",padding:a.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${a.themeVariables.noteBkgColor}`,`stroke: ${a.themeVariables.noteBorderColor}`],look:a.look};i.push(d);const C=((l=this.classes.get(c.class))==null?void 0:l.id)??"";if(C){const B={id:`edgeNote${u}`,start:c.id,end:C,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:a.look};n.push(B)}}for(const c of this.interfaces){const d={id:c.id,label:c.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:a.look};i.push(d)}u=0;for(const c of this.relations){u++;const d={id:le(c.id1,c.id2,{prefix:"id",counter:u}),start:c.id1,end:c.id2,type:"normal",label:c.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(c.relation.type1),arrowTypeEnd:this.getArrowMarker(c.relation.type2),startLabelRight:c.relationTitle1==="none"?"":c.relationTitle1,endLabelLeft:c.relationTitle2==="none"?"":c.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:c.style||"",pattern:c.relation.lineType==1?"dashed":"solid",look:a.look};n.push(d)}return{nodes:i,edges:n,other:{},config:a,direction:this.getDirection()}}},A(M,"ClassDB"),M),pe=A(s=>`g.classGroup text {
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:A(function(){var o=this.next();return o||this.lex()},"lex"),begin:A(function(o){this.conditionStack.push(o)},"begin"),popState:A(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:A(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:A(function(o){return(o=this.conditionStack.length-1-Math.abs(o||0))>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:A(function(o){this.begin(o)},"pushState"),stateStackSize:A(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:A(function(o,y,p,r){switch(p){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:case 14:case 31:case 36:case 40:case 47:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 58:case 61:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 35:return 8;case 15:case 16:return 7;case 17:case 37:case 45:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 23:return 78;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:case 39:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:case 43:return this.popState(),41;case 34:case 44:return"EOF_IN_STRUCT";case 38:return this.begin("class"),46;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 46:return"OPEN_IN_STRUCT";case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 18;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}}}();function ut(){this.yy={}}return St.lexer=Qt,A(ut,"Parser"),ut.prototype=St,St.Parser=ut,new ut}();It.parser=It;var ce=It,Yt=["#","+","~","-",""],Wt=(P=class{constructor(i,n){this.memberType=n,this.visibility="",this.classifier="",this.text="";const a=oe(i,F());this.parseMember(a)}getDisplayDetails(){let i=this.visibility+R(this.id);return this.memberType==="method"&&(i+=`(${R(this.parameters.trim())})`,this.returnType&&(i+=" : "+R(this.returnType))),i=i.trim(),{displayText:i,cssStyle:this.parseClassifier()}}parseMember(i){let n="";if(this.memberType==="method"){const u=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(i);if(u){const l=u[1]?u[1].trim():"";if(Yt.includes(l)&&(this.visibility=l),this.id=u[2],this.parameters=u[3]?u[3].trim():"",n=u[4]?u[4].trim():"",this.returnType=u[5]?u[5].trim():"",n===""){const c=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(c)&&(n=c,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const u=i.length,l=i.substring(0,1),c=i.substring(u-1);Yt.includes(l)&&(this.visibility=l),/[$*]/.exec(c)&&(n=c),this.id=i.substring(this.visibility===""?0:1,n===""?u:u-1)}this.classifier=n,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const a=`${this.visibility?"\\"+this.visibility:""}${R(this.id)}${this.memberType==="method"?`(${R(this.parameters)})${this.returnType?" : "+R(this.returnType):""}`:""}`;this.text=a.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},A(P,"ClassMember"),P),ht="classId-",jt=0,O=A(s=>$.sanitizeText(s,F()),"sanitizeText"),he=(M=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=[],this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=A(i=>{let n=V(".mermaidTooltip");(n._groups||n)[0][0]===null&&(n=V("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),V(i).select("svg").selectAll("g.node").on("mouseover",a=>{const u=V(a.currentTarget);if(u.attr("title")===null)return;const l=this.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.text(u.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.top-14+document.body.scrollTop+"px"),n.html(n.html().replace(/<br\/>/g,"<br/>")),u.classed("hover",!0)}).on("mouseout",a=>{n.transition().duration(500).style("opacity",0),V(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=ee,this.getAccTitle=se,this.setAccDescription=ie,this.getAccDescription=ne,this.setDiagramTitle=re,this.getDiagramTitle=ae,this.getConfig=A(()=>F().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(i){const n=$.sanitizeText(i,F());let a="",u=n;if(n.indexOf("~")>0){const l=n.split("~");u=O(l[0]),a=O(l[1])}return{className:u,type:a}}setClassLabel(i,n){const a=$.sanitizeText(i,F());n&&(n=O(n));const{className:u}=this.splitClassNameAndType(a);this.classes.get(u).label=n,this.classes.get(u).text=`${n}${this.classes.get(u).type?`<${this.classes.get(u).type}>`:""}`}addClass(i){const n=$.sanitizeText(i,F()),{className:a,type:u}=this.splitClassNameAndType(n);if(this.classes.has(a))return;const l=$.sanitizeText(a,F());this.classes.set(l,{id:l,type:u,label:l,text:`${l}${u?`<${u}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:ht+l+"-"+jt}),jt++}addInterface(i,n){const a={id:`interface${this.interfaces.length}`,label:i,classId:n};this.interfaces.push(a)}lookUpDomId(i){const n=$.sanitizeText(i,F());if(this.classes.has(n))return this.classes.get(n).domId;throw new Error("Class not found: "+n)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",ue()}getClass(i){return this.classes.get(i)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(i){$t.debug("Adding relation: "+JSON.stringify(i));const n=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];i.relation.type1!==this.relationType.LOLLIPOP||n.includes(i.relation.type2)?i.relation.type2!==this.relationType.LOLLIPOP||n.includes(i.relation.type1)?(this.addClass(i.id1),this.addClass(i.id2)):(this.addClass(i.id1),this.addInterface(i.id2,i.id1),i.id2="interface"+(this.interfaces.length-1)):(this.addClass(i.id2),this.addInterface(i.id1,i.id2),i.id1="interface"+(this.interfaces.length-1)),i.id1=this.splitClassNameAndType(i.id1).className,i.id2=this.splitClassNameAndType(i.id2).className,i.relationTitle1=$.sanitizeText(i.relationTitle1.trim(),F()),i.relationTitle2=$.sanitizeText(i.relationTitle2.trim(),F()),this.relations.push(i)}addAnnotation(i,n){const a=this.splitClassNameAndType(i).className;this.classes.get(a).annotations.push(n)}addMember(i,n){this.addClass(i);const a=this.splitClassNameAndType(i).className,u=this.classes.get(a);if(typeof n=="string"){const l=n.trim();l.startsWith("<<")&&l.endsWith(">>")?u.annotations.push(O(l.substring(2,l.length-2))):l.indexOf(")")>0?u.methods.push(new Wt(l,"method")):l&&u.members.push(new Wt(l,"attribute"))}}addMembers(i,n){Array.isArray(n)&&(n.reverse(),n.forEach(a=>this.addMember(i,a)))}addNote(i,n){const a={id:`note${this.notes.length}`,class:n,text:i};this.notes.push(a)}cleanupLabel(i){return i.startsWith(":")&&(i=i.substring(1)),O(i.trim())}setCssClass(i,n){i.split(",").forEach(a=>{let u=a;/\d/.exec(a[0])&&(u=ht+u);const l=this.classes.get(u);l&&(l.cssClasses+=" "+n)})}defineClass(i,n){for(const a of i){let u=this.styleClasses.get(a);u===void 0&&(u={id:a,styles:[],textStyles:[]},this.styleClasses.set(a,u)),n&&n.forEach(l=>{if(/color/.exec(l)){const c=l.replace("fill","bgFill");u.textStyles.push(c)}u.styles.push(l)}),this.classes.forEach(l=>{l.cssClasses.includes(a)&&l.styles.push(...n.flatMap(c=>c.split(",")))})}}setTooltip(i,n){i.split(",").forEach(a=>{n!==void 0&&(this.classes.get(a).tooltip=O(n))})}getTooltip(i,n){return n&&this.namespaces.has(n)?this.namespaces.get(n).classes.get(i).tooltip:this.classes.get(i).tooltip}setLink(i,n,a){const u=F();i.split(",").forEach(l=>{let c=l;/\d/.exec(l[0])&&(c=ht+c);const d=this.classes.get(c);d&&(d.link=xt.formatUrl(n,u),u.securityLevel==="sandbox"?d.linkTarget="_top":d.linkTarget=typeof a=="string"?O(a):"_blank")}),this.setCssClass(i,"clickable")}setClickEvent(i,n,a){i.split(",").forEach(u=>{this.setClickFunc(u,n,a),this.classes.get(u).haveCallback=!0}),this.setCssClass(i,"clickable")}setClickFunc(i,n,a){const u=$.sanitizeText(i,F());if(F().securityLevel!=="loose"||n===void 0)return;const l=u;if(this.classes.has(l)){const c=this.lookUpDomId(l);let d=[];if(typeof a=="string"){d=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let C=0;C<d.length;C++){let B=d[C].trim();B.startsWith('"')&&B.endsWith('"')&&(B=B.substr(1,B.length-2)),d[C]=B}}d.length===0&&d.push(c),this.functions.push(()=>{const C=document.querySelector(`[id="${c}"]`);C!==null&&C.addEventListener("click",()=>{xt.runFunc(n,...d)},!1)})}}bindFunctions(i){this.functions.forEach(n=>{n(i)})}getDirection(){return this.direction}setDirection(i){this.direction=i}addNamespace(i){this.namespaces.has(i)||(this.namespaces.set(i,{id:i,classes:new Map,children:{},domId:ht+i+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(i){return this.namespaces.get(i)}getNamespaces(){return this.namespaces}addClassesToNamespace(i,n){if(this.namespaces.has(i))for(const a of n){const{className:u}=this.splitClassNameAndType(a);this.classes.get(u).parent=i,this.namespaces.get(i).classes.set(u,this.classes.get(u))}}setCssStyle(i,n){const a=this.classes.get(i);if(n&&a)for(const u of n)u.includes(",")?a.styles.push(...u.split(",")):a.styles.push(u)}getArrowMarker(i){let n;switch(i){case 0:n="aggregation";break;case 1:n="extension";break;case 2:n="composition";break;case 3:n="dependency";break;case 4:n="lollipop";break;default:n="none"}return n}getData(){var l;const i=[],n=[],a=F();for(const c of this.namespaces.keys()){const d=this.namespaces.get(c);if(d){const C={id:d.id,label:d.id,isGroup:!0,padding:a.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:a.look};i.push(C)}}for(const c of this.classes.keys()){const d=this.classes.get(c);if(d){const C=d;C.parentId=d.parent,C.look=a.look,i.push(C)}}let u=0;for(const c of this.notes){u++;const d={id:c.id,label:c.text,isGroup:!1,shape:"note",padding:a.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${a.themeVariables.noteBkgColor}`,`stroke: ${a.themeVariables.noteBorderColor}`],look:a.look};i.push(d);const C=((l=this.classes.get(c.class))==null?void 0:l.id)??"";if(C){const B={id:`edgeNote${u}`,start:c.id,end:C,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:a.look};n.push(B)}}for(const c of this.interfaces){const d={id:c.id,label:c.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:a.look};i.push(d)}u=0;for(const c of this.relations){u++;const d={id:le(c.id1,c.id2,{prefix:"id",counter:u}),start:c.id1,end:c.id2,type:"normal",label:c.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(c.relation.type1),arrowTypeEnd:this.getArrowMarker(c.relation.type2),startLabelRight:c.relationTitle1==="none"?"":c.relationTitle1,endLabelLeft:c.relationTitle2==="none"?"":c.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:c.style||"",pattern:c.relation.lineType==1?"dashed":"solid",look:a.look};n.push(d)}return{nodes:i,edges:n,other:{},config:a,direction:this.getDirection()}}},A(M,"ClassDB"),M),pe=A(s=>`g.classGroup text {
|
|
7
7
|
fill: ${s.nodeBorder||s.classText};
|
|
8
8
|
stroke: none;
|
|
9
9
|
font-family: ${s.fontFamily};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var W;import{g as Qt}from"./chunk-
|
|
2
|
-
`+
|
|
3
|
-
Expecting `+lt.join(", ")+", got '"+(this.terminals_[$]||$)+"'":"Parse error on line "+(z+1)+": Unexpected "+($==1?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError($t,{text:
|
|
1
|
+
var W;import{g as Qt}from"./chunk-WVR4S24B-DkjWv9uk.js";import{s as Zt}from"./chunk-NRVI72HA-gO-7Uy2L.js";import{_ as d,l as k,c as R,r as te,u as ee,a as se,b as ie,g as ne,s as re,p as ae,q as oe,S as ce,j as U,y as le}from"./mermaid-D59lkToe.js";var mt=function(){var e=d(function(a,y,p,T){for(p=p||{},T=a.length;T--;p[a[T]]=y);return p},"o"),t=[1,2],s=[1,3],r=[1,4],i=[2,4],o=[1,9],l=[1,11],g=[1,16],u=[1,17],m=[1,18],S=[1,19],C=[1,33],v=[1,20],D=[1,21],w=[1,22],x=[1,23],L=[1,24],h=[1,26],E=[1,27],N=[1,28],O=[1,29],j=[1,30],P=[1,31],Y=[1,32],et=[1,35],st=[1,36],it=[1,37],nt=[1,38],H=[1,34],f=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],rt=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],Et=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],yt={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:d(function(a,y,p,T,_,n,q){var c=n.length-1;switch(_){case 3:return T.setRootDoc(n[c]),n[c];case 4:this.$=[];break;case 5:n[c]!="nl"&&(n[c-1].push(n[c]),this.$=n[c-1]);break;case 6:case 7:case 12:this.$=n[c];break;case 8:this.$="nl";break;case 13:const b=n[c-1];b.description=T.trimColon(n[c]),this.$=b;break;case 14:this.$={stmt:"relation",state1:n[c-2],state2:n[c]};break;case 15:const B=T.trimColon(n[c]);this.$={stmt:"relation",state1:n[c-3],state2:n[c-1],description:B};break;case 19:this.$={stmt:"state",id:n[c-3],type:"default",description:"",doc:n[c-1]};break;case 20:var z=n[c],X=n[c-2].trim();if(n[c].match(":")){var ot=n[c].split(":");z=ot[0],X=[X,ot[1]]}this.$={stmt:"state",id:z,type:"default",description:X};break;case 21:this.$={stmt:"state",id:n[c-3],type:"default",description:n[c-5],doc:n[c-1]};break;case 22:this.$={stmt:"state",id:n[c],type:"fork"};break;case 23:this.$={stmt:"state",id:n[c],type:"join"};break;case 24:this.$={stmt:"state",id:n[c],type:"choice"};break;case 25:this.$={stmt:"state",id:T.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:n[c-1].trim(),note:{position:n[c-2].trim(),text:n[c].trim()}};break;case 29:this.$=n[c].trim(),T.setAccTitle(this.$);break;case 30:case 31:this.$=n[c].trim(),T.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:n[c-3],url:n[c-2],tooltip:n[c-1]};break;case 33:this.$={stmt:"click",id:n[c-3],url:n[c-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:n[c-1].trim(),classes:n[c].trim()};break;case 36:this.$={stmt:"style",id:n[c-1].trim(),styleClass:n[c].trim()};break;case 37:this.$={stmt:"applyClass",id:n[c-1].trim(),styleClass:n[c].trim()};break;case 38:T.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:T.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:T.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:T.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:n[c].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:n[c-2].trim(),classes:[n[c].trim()],type:"default",description:""}}},"anonymous"),table:[{3:1,4:t,5:s,6:r},{1:[3]},{3:5,4:t,5:s,6:r},{3:6,4:t,5:s,6:r},e([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:o,5:l,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:u,19:m,22:S,24:C,25:v,26:D,27:w,28:x,29:L,32:25,33:h,35:E,37:N,38:O,41:j,45:P,48:Y,51:et,52:st,53:it,54:nt,57:H},e(f,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:g,17:u,19:m,22:S,24:C,25:v,26:D,27:w,28:x,29:L,32:25,33:h,35:E,37:N,38:O,41:j,45:P,48:Y,51:et,52:st,53:it,54:nt,57:H},e(f,[2,7]),e(f,[2,8]),e(f,[2,9]),e(f,[2,10]),e(f,[2,11]),e(f,[2,12],{14:[1,40],15:[1,41]}),e(f,[2,16]),{18:[1,42]},e(f,[2,18],{20:[1,43]}),{23:[1,44]},e(f,[2,22]),e(f,[2,23]),e(f,[2,24]),e(f,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},e(f,[2,28]),{34:[1,49]},{36:[1,50]},e(f,[2,31]),{13:51,24:C,57:H},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},e(rt,[2,44],{58:[1,56]}),e(rt,[2,45],{58:[1,57]}),e(f,[2,38]),e(f,[2,39]),e(f,[2,40]),e(f,[2,41]),e(f,[2,6]),e(f,[2,13]),{13:58,24:C,57:H},e(f,[2,17]),e(Et,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},e(f,[2,29]),e(f,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},e(f,[2,14],{14:[1,71]}),{4:o,5:l,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:u,19:m,21:[1,72],22:S,24:C,25:v,26:D,27:w,28:x,29:L,32:25,33:h,35:E,37:N,38:O,41:j,45:P,48:Y,51:et,52:st,53:it,54:nt,57:H},e(f,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},e(f,[2,34]),e(f,[2,35]),e(f,[2,36]),e(f,[2,37]),e(rt,[2,46]),e(rt,[2,47]),e(f,[2,15]),e(f,[2,19]),e(Et,i,{7:78}),e(f,[2,26]),e(f,[2,27]),{5:[1,79]},{5:[1,80]},{4:o,5:l,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:u,19:m,21:[1,81],22:S,24:C,25:v,26:D,27:w,28:x,29:L,32:25,33:h,35:E,37:N,38:O,41:j,45:P,48:Y,51:et,52:st,53:it,54:nt,57:H},e(f,[2,32]),e(f,[2,33]),e(f,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:d(function(a,y){if(!y.recoverable){var p=new Error(a);throw p.hash=y,p}this.trace(a)},"parseError"),parse:d(function(a){var y=this,p=[0],T=[],_=[null],n=[],q=this.table,c="",z=0,X=0,ot=n.slice.call(arguments,1),b=Object.create(this.lexer),B={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(B.yy[gt]=this.yy[gt]);b.setInput(a,B.yy),B.yy.lexer=b,B.yy.parser=this,b.yylloc===void 0&&(b.yylloc={});var ft=b.yylloc;n.push(ft);var qt=b.options&&b.options.ranges;function Ct(){var A;return typeof(A=T.pop()||b.lex()||1)!="number"&&(A instanceof Array&&(A=(T=A).pop()),A=y.symbols_[A]||A),A}typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,d(function(A){p.length=p.length-2*A,_.length=_.length-A,n.length=n.length-A},"popStack"),d(Ct,"lex");for(var $,M,I,Dt,ct,F,xt,lt,V={};;){if(M=p[p.length-1],this.defaultActions[M]?I=this.defaultActions[M]:($==null&&($=Ct()),I=q[M]&&q[M][$]),I===void 0||!I.length||!I[0]){var $t="";for(ct in lt=[],q[M])this.terminals_[ct]&&ct>2&<.push("'"+this.terminals_[ct]+"'");$t=b.showPosition?"Parse error on line "+(z+1)+`:
|
|
2
|
+
`+b.showPosition()+`
|
|
3
|
+
Expecting `+lt.join(", ")+", got '"+(this.terminals_[$]||$)+"'":"Parse error on line "+(z+1)+": Unexpected "+($==1?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError($t,{text:b.match,token:this.terminals_[$]||$,line:b.yylineno,loc:ft,expected:lt})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+$);switch(I[0]){case 1:p.push($),_.push(b.yytext),n.push(b.yylloc),p.push(I[1]),$=null,X=b.yyleng,c=b.yytext,z=b.yylineno,ft=b.yylloc;break;case 2:if(F=this.productions_[I[1]][1],V.$=_[_.length-F],V._$={first_line:n[n.length-(F||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(F||1)].first_column,last_column:n[n.length-1].last_column},qt&&(V._$.range=[n[n.length-(F||1)].range[0],n[n.length-1].range[1]]),(Dt=this.performAction.apply(V,[c,X,z,B.yy,I[1],_,n].concat(ot)))!==void 0)return Dt;F&&(p=p.slice(0,-1*F*2),_=_.slice(0,-1*F),n=n.slice(0,-1*F)),p.push(this.productions_[I[1]][0]),_.push(V.$),n.push(V._$),xt=q[p[p.length-2]][p[p.length-1]],p.push(xt);break;case 3:return!0}}return!0},"parse")},Kt=function(){return{EOF:1,parseError:d(function(a,y){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,y)},"parseError"),setInput:d(function(a,y){return this.yy=y||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:d(function(a){var y=a.length,p=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var T=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===T.length?this.yylloc.first_column:0)+T[T.length-p.length].length-p[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:d(function(a){this.unput(this.match.slice(a))},"less"),pastInput:d(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var a=this.pastInput(),y=new Array(a.length+1).join("-");return a+this.upcomingInput()+`
|
|
5
|
-
`+y+"^"},"showPosition"),test_match:d(function(a,y){var p,
|
|
6
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var a=this.next();return a||this.lex()},"lex"),begin:d(function(a){this.conditionStack.push(a)},"begin"),popState:d(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:d(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:d(function(a){this.begin(a)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:d(function(a,y,p,k){switch(p){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:case 45:return 51;case 5:case 46:return 52;case 6:case 47:return 53;case 7:case 48:return 54;case 8:case 9:case 11:case 12:case 13:case 14:case 57:case 59:case 65:break;case 10:case 80:return 5;case 15:case 35:return this.pushState("SCALE"),17;case 16:case 36:return 18;case 17:case 23:case 37:case 52:case 55:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 38:this.pushState("STATE");break;case 39:case 42:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),25;case 40:case 43:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),26;case 41:case 44:return this.popState(),y.yytext=y.yytext.slice(0,-10).trim(),27;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:case 67:return this.popState(),"ID";case 53:return"STATE_DESCR";case 54:return 19;case 56:return this.popState(),this.pushState("struct"),20;case 58:return this.popState(),21;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 66:return"NOTE_TEXT";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),y.yytext=y.yytext.substr(2).trim(),31;case 70:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return y.yytext=y.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}}}();function at(){this.yy={}}return yt.lexer=Kt,d(at,"Parser"),at.prototype=yt,yt.Parser=at,new at}();mt.parser=mt;var he=mt,J="state",K="root",St="relation",Q="default",vt="divider",It="fill:none",At="fill: #333",Lt="text",wt="normal",kt="rect",Tt="rectWithTitle",Nt="divider",Ot="roundedWithTitle",Z="statediagram",de=`${Z}-state`,Rt="transition",ue=`${Rt} note-edge`,pe=`${Z}-note`,ye=`${Z}-cluster`,ge=`${Z}-cluster-alt`,Bt="parent",Ft="note",_t="----",fe=`${_t}${Ft}`,Pt=`${_t}${Bt}`,Yt=d((e,t="TB")=>{if(!e.doc)return t;let s=t;for(const r of e.doc)r.stmt==="dir"&&(s=r.value);return s},"getDir"),me={getClasses:d(function(e,t){return t.db.getClasses()},"getClasses"),draw:d(async function(e,t,s,r){b.info("REF0:"),b.info("Drawing state diagram (v2)",t);const{securityLevel:i,state:o,layout:l}=R();r.db.extract(r.db.getRootDocV2());const g=r.db.getData(),u=Qt(t,i);g.type=r.type,g.layoutAlgorithm=l,g.nodeSpacing=(o==null?void 0:o.nodeSpacing)||50,g.rankSpacing=(o==null?void 0:o.rankSpacing)||50,g.markers=["barb"],g.diagramId=t,await te(g,u);try{(typeof r.db.getLinks=="function"?r.db.getLinks():new Map).forEach((m,S)=>{var h;const C=typeof S=="string"?S:typeof(S==null?void 0:S.id)=="string"?S.id:"";if(!C)return void b.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(S));const v=(h=u.node())==null?void 0:h.querySelectorAll("g");let D;if(v==null||v.forEach(E=>{var O;((O=E.textContent)==null?void 0:O.trim())===C&&(D=E)}),!D)return void b.warn("\u26A0\uFE0F Could not find node matching text:",C);const w=D.parentNode;if(!w)return void b.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",C);const x=document.createElementNS("http://www.w3.org/2000/svg","a"),L=m.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",L),x.setAttribute("target","_blank"),m.tooltip){const E=m.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",E)}w.replaceChild(x,D),x.appendChild(D),b.info("\u{1F517} Wrapped node in <a> tag for:",C,m.url)})}catch(m){b.error("\u274C Error injecting clickable links:",m)}ee.insertTitle(u,"statediagramTitleText",(o==null?void 0:o.titleTopMargin)??25,r.db.getDiagramTitle()),Zt(u,8,Z,(o==null?void 0:o.useMaxWidth)??!0)},"draw"),getDir:Yt},ht=new Map,G=0;function dt(e="",t=0,s="",r=_t){return`state-${e}${s!==null&&s.length>0?`${r}${s}`:""}-${t}`}d(dt,"stateDomId");var Se=d((e,t,s,r,i,o,l,g)=>{b.trace("items",t),t.forEach(u=>{switch(u.stmt){case J:case Q:ut(e,u,s,r,i,o,l,g);break;case St:{ut(e,u.state1,s,r,i,o,l,g),ut(e,u.state2,s,r,i,o,l,g);const m={id:"edge"+G,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:It,labelStyle:"",label:U.sanitizeText(u.description??"",R()),arrowheadStyle:At,labelpos:"c",labelType:Lt,thickness:wt,classes:Rt,look:l};i.push(m),G++}}})},"setupDoc"),Gt=d((e,t="TB")=>{let s=t;if(e.doc)for(const r of e.doc)r.stmt==="dir"&&(s=r.value);return s},"getDir");function tt(e,t,s){if(!t.id||t.id==="</join></fork>"||t.id==="</choice>")return;t.cssClasses&&(Array.isArray(t.cssCompiledStyles)||(t.cssCompiledStyles=[]),t.cssClasses.split(" ").forEach(i=>{const o=s.get(i);o&&(t.cssCompiledStyles=[...t.cssCompiledStyles??[],...o.styles])}));const r=e.find(i=>i.id===t.id);r?Object.assign(r,t):e.push(t)}function jt(e){var t;return((t=e==null?void 0:e.classes)==null?void 0:t.join(" "))??""}function zt(e){return(e==null?void 0:e.styles)??[]}d(tt,"insertOrUpdateNode"),d(jt,"getClassesFromDbInfo"),d(zt,"getStylesFromDbInfo");var ut=d((e,t,s,r,i,o,l,g)=>{var D,w,x;const u=t.id,m=s.get(u),S=jt(m),C=zt(m),v=R();if(b.info("dataFetcher parsedItem",t,m,C),u!=="root"){let L=kt;t.start===!0?L="stateStart":t.start===!1&&(L="stateEnd"),t.type!==Q&&(L=t.type),ht.get(u)||ht.set(u,{id:u,shape:L,description:U.sanitizeText(u,v),cssClasses:`${S} ${de}`,cssStyles:C});const h=ht.get(u);t.description&&(Array.isArray(h.description)?(h.shape=Tt,h.description.push(t.description)):(D=h.description)!=null&&D.length&&h.description.length>0?(h.shape=Tt,h.description===u?h.description=[t.description]:h.description=[h.description,t.description]):(h.shape=kt,h.description=t.description),h.description=U.sanitizeTextOrArray(h.description,v)),((w=h.description)==null?void 0:w.length)===1&&h.shape===Tt&&(h.type==="group"?h.shape=Ot:h.shape=kt),!h.type&&t.doc&&(b.info("Setting cluster for XCX",u,Gt(t)),h.type="group",h.isGroup=!0,h.dir=Gt(t),h.shape=t.type===vt?Nt:Ot,h.cssClasses=`${h.cssClasses} ${ye} ${o?ge:""}`);const E={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:u,dir:h.dir,domId:dt(u,G),type:h.type,isGroup:h.type==="group",padding:8,rx:10,ry:10,look:l};if(E.shape===Nt&&(E.label=""),e&&e.id!=="root"&&(b.trace("Setting node ",u," to be child of its parent ",e.id),E.parentId=e.id),E.centerLabel=!0,t.note){const N={labelStyle:"",shape:"note",label:t.note.text,cssClasses:pe,cssStyles:[],cssCompiledStyles:[],id:u+fe+"-"+G,domId:dt(u,G,Ft),type:h.type,isGroup:h.type==="group",padding:(x=v.flowchart)==null?void 0:x.padding,look:l,position:t.note.position},O=u+Pt,j={labelStyle:"",shape:"noteGroup",label:t.note.text,cssClasses:h.cssClasses,cssStyles:[],id:u+Pt,domId:dt(u,G,Bt),type:"group",isGroup:!0,padding:16,look:l,position:t.note.position};G++,j.id=O,N.parentId=O,tt(r,j,g),tt(r,N,g),tt(r,E,g);let P=u,Y=N.id;t.note.position==="left of"&&(P=N.id,Y=u),i.push({id:P+"-"+Y,start:P,end:Y,arrowhead:"none",arrowTypeEnd:"",style:It,labelStyle:"",classes:ue,arrowheadStyle:At,labelpos:"c",labelType:Lt,thickness:wt,look:l})}else tt(r,E,g)}t.doc&&(b.trace("Adding nodes children "),Se(t,t.doc,s,r,i,!o,l,g))},"dataFetcher"),ke=d(()=>{ht.clear(),G=0},"reset"),bt="[*]",Mt="start",Ut="[*]",Wt="end",Ht="color",Xt="fill",Te="bgFill",_e=",",Vt=d(()=>new Map,"newClassesList"),Jt=d(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),pt=d(e=>JSON.parse(JSON.stringify(e)),"clone"),be=(W=class{constructor(t){this.version=t,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=Vt(),this.documents={root:Jt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=se,this.setAccTitle=ie,this.getAccDescription=ne,this.setAccDescription=re,this.setDiagramTitle=ae,this.getDiagramTitle=oe,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(t){this.clear(!0);for(const i of Array.isArray(t)?t:t.doc)switch(i.stmt){case J:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case St:this.addRelation(i.state1,i.state2,i.description);break;case"classDef":this.addStyleClass(i.id.trim(),i.classes);break;case"style":this.handleStyleDef(i);break;case"applyClass":this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip)}const s=this.getStates(),r=R();ke(),ut(void 0,this.getRootDocV2(),s,this.nodes,this.edges,!0,r.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(t){const s=t.id.trim().split(","),r=t.styleClass.split(",");for(const i of s){let o=this.getState(i);if(!o){const l=i.trim();this.addState(l),o=this.getState(l)}o&&(o.styles=r.map(l=>{var g;return(g=l.replace(/;/g,""))==null?void 0:g.trim()}))}}setRootDoc(t){b.info("Setting root doc",t),this.rootDoc=t,this.version===1?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,s,r){if(s.stmt===St)return this.docTranslator(t,s.state1,!0),void this.docTranslator(t,s.state2,!1);if(s.stmt===J&&(s.id===bt?(s.id=t.id+(r?"_start":"_end"),s.start=r):s.id=s.id.trim()),s.stmt!==K&&s.stmt!==J||!s.doc)return;const i=[];let o=[];for(const l of s.doc)if(l.type===vt){const g=pt(l);g.doc=pt(o),i.push(g),o=[]}else o.push(l);if(i.length>0&&o.length>0){const l={stmt:J,id:ce(),type:"divider",doc:pt(o)};i.push(pt(l)),s.doc=i}s.doc.forEach(l=>this.docTranslator(s,l,!0))}getRootDocV2(){return this.docTranslator({id:K,stmt:K},{id:K,stmt:K,doc:this.rootDoc},!0),{id:K,doc:this.rootDoc}}addState(t,s=Q,r=void 0,i=void 0,o=void 0,l=void 0,g=void 0,u=void 0){const m=t==null?void 0:t.trim();if(this.currentDocument.states.has(m)){const S=this.currentDocument.states.get(m);if(!S)throw new Error(`State not found: ${m}`);S.doc||(S.doc=r),S.type||(S.type=s)}else b.info("Adding state ",m,i),this.currentDocument.states.set(m,{stmt:J,id:m,descriptions:[],type:s,doc:r,note:o,classes:[],styles:[],textStyles:[]});if(i&&(b.info("Setting state description",m,i),(Array.isArray(i)?i:[i]).forEach(S=>this.addDescription(m,S.trim()))),o){const S=this.currentDocument.states.get(m);if(!S)throw new Error(`State not found: ${m}`);S.note=o,S.note.text=U.sanitizeText(S.note.text,R())}l&&(b.info("Setting state classes",m,l),(Array.isArray(l)?l:[l]).forEach(S=>this.setCssClass(m,S.trim()))),g&&(b.info("Setting state styles",m,g),(Array.isArray(g)?g:[g]).forEach(S=>this.setStyle(m,S.trim()))),u&&(b.info("Setting state styles",m,g),(Array.isArray(u)?u:[u]).forEach(S=>this.setTextStyle(m,S.trim())))}clear(t){this.nodes=[],this.edges=[],this.documents={root:Jt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Vt(),t||(this.links=new Map,le())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){b.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,s,r){this.links.set(t,{url:s,tooltip:r}),b.warn("Adding link",t,s,r)}getLinks(){return this.links}startIdIfNeeded(t=""){return t===bt?(this.startEndCount++,`${Mt}${this.startEndCount}`):t}startTypeIfNeeded(t="",s=Q){return t===bt?Mt:s}endIdIfNeeded(t=""){return t===Ut?(this.startEndCount++,`${Wt}${this.startEndCount}`):t}endTypeIfNeeded(t="",s=Q){return t===Ut?Wt:s}addRelationObjs(t,s,r=""){const i=this.startIdIfNeeded(t.id.trim()),o=this.startTypeIfNeeded(t.id.trim(),t.type),l=this.startIdIfNeeded(s.id.trim()),g=this.startTypeIfNeeded(s.id.trim(),s.type);this.addState(i,o,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(l,g,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),this.currentDocument.relations.push({id1:i,id2:l,relationTitle:U.sanitizeText(r,R())})}addRelation(t,s,r){if(typeof t=="object"&&typeof s=="object")this.addRelationObjs(t,s,r);else if(typeof t=="string"&&typeof s=="string"){const i=this.startIdIfNeeded(t.trim()),o=this.startTypeIfNeeded(t),l=this.endIdIfNeeded(s.trim()),g=this.endTypeIfNeeded(s);this.addState(i,o),this.addState(l,g),this.currentDocument.relations.push({id1:i,id2:l,relationTitle:r?U.sanitizeText(r,R()):void 0})}}addDescription(t,s){var o;const r=this.currentDocument.states.get(t),i=s.startsWith(":")?s.replace(":","").trim():s;(o=r==null?void 0:r.descriptions)==null||o.push(U.sanitizeText(i,R()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,s=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});const r=this.classes.get(t);s&&r&&s.split(_e).forEach(i=>{const o=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Ht).exec(i)){const l=o.replace(Xt,Te).replace(Ht,Xt);r.textStyles.push(l)}r.styles.push(o)})}getClasses(){return this.classes}setCssClass(t,s){t.split(",").forEach(r=>{var o;let i=this.getState(r);if(!i){const l=r.trim();this.addState(l),i=this.getState(l)}(o=i==null?void 0:i.classes)==null||o.push(s)})}setStyle(t,s){var r,i;(i=(r=this.getState(t))==null?void 0:r.styles)==null||i.push(s)}setTextStyle(t,s){var r,i;(i=(r=this.getState(t))==null?void 0:r.textStyles)==null||i.push(s)}getDirectionStatement(){return this.rootDoc.find(t=>t.stmt==="dir")}getDirection(){var t;return((t=this.getDirectionStatement())==null?void 0:t.value)??"TB"}setDirection(t){const s=this.getDirectionStatement();s?s.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){const t=R();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:Yt(this.getRootDocV2())}}getConfig(){return R().state}},d(W,"StateDB"),W.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},W),Ee=d(e=>`
|
|
5
|
+
`+y+"^"},"showPosition"),test_match:d(function(a,y){var p,T,_;if(this.options.backtrack_lexer&&(_={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_.yylloc.range=this.yylloc.range.slice(0))),(T=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],p=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var n in _)this[n]=_[n];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;var a,y,p,T;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),n=0;n<_.length;n++)if((p=this._input.match(this.rules[_[n]]))&&(!y||p[0].length>y[0].length)){if(y=p,T=n,this.options.backtrack_lexer){if((a=this.test_match(p,_[n]))!==!1)return a;if(this._backtrack){y=!1;continue}return!1}if(!this.options.flex)break}return y?(a=this.test_match(y,_[T]))!==!1&&a:this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var a=this.next();return a||this.lex()},"lex"),begin:d(function(a){this.conditionStack.push(a)},"begin"),popState:d(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:d(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:d(function(a){this.begin(a)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:d(function(a,y,p,T){switch(p){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:case 45:return 51;case 5:case 46:return 52;case 6:case 47:return 53;case 7:case 48:return 54;case 8:case 9:case 11:case 12:case 13:case 14:case 57:case 59:case 65:break;case 10:case 80:return 5;case 15:case 35:return this.pushState("SCALE"),17;case 16:case 36:return 18;case 17:case 23:case 37:case 52:case 55:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 38:this.pushState("STATE");break;case 39:case 42:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),25;case 40:case 43:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),26;case 41:case 44:return this.popState(),y.yytext=y.yytext.slice(0,-10).trim(),27;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:case 67:return this.popState(),"ID";case 53:return"STATE_DESCR";case 54:return 19;case 56:return this.popState(),this.pushState("struct"),20;case 58:return this.popState(),21;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 66:return"NOTE_TEXT";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),y.yytext=y.yytext.substr(2).trim(),31;case 70:return this.popState(),y.yytext=y.yytext.slice(0,-8).trim(),31;case 71:case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return y.yytext=y.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}}}();function at(){this.yy={}}return yt.lexer=Kt,d(at,"Parser"),at.prototype=yt,yt.Parser=at,new at}();mt.parser=mt;var he=mt,J="state",K="root",St="relation",Q="default",vt="divider",It="fill:none",At="fill: #333",Lt="text",wt="normal",Tt="rect",_t="rectWithTitle",Nt="divider",Ot="roundedWithTitle",Z="statediagram",de=`${Z}-state`,Rt="transition",ue=`${Rt} note-edge`,pe=`${Z}-note`,ye=`${Z}-cluster`,ge=`${Z}-cluster-alt`,Bt="parent",Ft="note",bt="----",fe=`${bt}${Ft}`,Pt=`${bt}${Bt}`,Yt=d((e,t="TB")=>{if(!e.doc)return t;let s=t;for(const r of e.doc)r.stmt==="dir"&&(s=r.value);return s},"getDir"),me={getClasses:d(function(e,t){return t.db.getClasses()},"getClasses"),draw:d(async function(e,t,s,r){k.info("REF0:"),k.info("Drawing state diagram (v2)",t);const{securityLevel:i,state:o,layout:l}=R();r.db.extract(r.db.getRootDocV2());const g=r.db.getData(),u=Qt(t,i);g.type=r.type,g.layoutAlgorithm=l,g.nodeSpacing=(o==null?void 0:o.nodeSpacing)||50,g.rankSpacing=(o==null?void 0:o.rankSpacing)||50,g.markers=["barb"],g.diagramId=t,await te(g,u);try{(typeof r.db.getLinks=="function"?r.db.getLinks():new Map).forEach((m,S)=>{var h;const C=typeof S=="string"?S:typeof(S==null?void 0:S.id)=="string"?S.id:"";if(!C)return void k.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(S));const v=(h=u.node())==null?void 0:h.querySelectorAll("g");let D;if(v==null||v.forEach(E=>{var O;((O=E.textContent)==null?void 0:O.trim())===C&&(D=E)}),!D)return void k.warn("\u26A0\uFE0F Could not find node matching text:",C);const w=D.parentNode;if(!w)return void k.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",C);const x=document.createElementNS("http://www.w3.org/2000/svg","a"),L=m.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",L),x.setAttribute("target","_blank"),m.tooltip){const E=m.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",E)}w.replaceChild(x,D),x.appendChild(D),k.info("\u{1F517} Wrapped node in <a> tag for:",C,m.url)})}catch(m){k.error("\u274C Error injecting clickable links:",m)}ee.insertTitle(u,"statediagramTitleText",(o==null?void 0:o.titleTopMargin)??25,r.db.getDiagramTitle()),Zt(u,8,Z,(o==null?void 0:o.useMaxWidth)??!0)},"draw"),getDir:Yt},ht=new Map,G=0;function dt(e="",t=0,s="",r=bt){return`state-${e}${s!==null&&s.length>0?`${r}${s}`:""}-${t}`}d(dt,"stateDomId");var Se=d((e,t,s,r,i,o,l,g)=>{k.trace("items",t),t.forEach(u=>{switch(u.stmt){case J:case Q:ut(e,u,s,r,i,o,l,g);break;case St:{ut(e,u.state1,s,r,i,o,l,g),ut(e,u.state2,s,r,i,o,l,g);const m={id:"edge"+G,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:It,labelStyle:"",label:U.sanitizeText(u.description??"",R()),arrowheadStyle:At,labelpos:"c",labelType:Lt,thickness:wt,classes:Rt,look:l};i.push(m),G++}}})},"setupDoc"),Gt=d((e,t="TB")=>{let s=t;if(e.doc)for(const r of e.doc)r.stmt==="dir"&&(s=r.value);return s},"getDir");function tt(e,t,s){if(!t.id||t.id==="</join></fork>"||t.id==="</choice>")return;t.cssClasses&&(Array.isArray(t.cssCompiledStyles)||(t.cssCompiledStyles=[]),t.cssClasses.split(" ").forEach(i=>{const o=s.get(i);o&&(t.cssCompiledStyles=[...t.cssCompiledStyles??[],...o.styles])}));const r=e.find(i=>i.id===t.id);r?Object.assign(r,t):e.push(t)}function jt(e){var t;return((t=e==null?void 0:e.classes)==null?void 0:t.join(" "))??""}function zt(e){return(e==null?void 0:e.styles)??[]}d(tt,"insertOrUpdateNode"),d(jt,"getClassesFromDbInfo"),d(zt,"getStylesFromDbInfo");var ut=d((e,t,s,r,i,o,l,g)=>{var D,w,x;const u=t.id,m=s.get(u),S=jt(m),C=zt(m),v=R();if(k.info("dataFetcher parsedItem",t,m,C),u!=="root"){let L=Tt;t.start===!0?L="stateStart":t.start===!1&&(L="stateEnd"),t.type!==Q&&(L=t.type),ht.get(u)||ht.set(u,{id:u,shape:L,description:U.sanitizeText(u,v),cssClasses:`${S} ${de}`,cssStyles:C});const h=ht.get(u);t.description&&(Array.isArray(h.description)?(h.shape=_t,h.description.push(t.description)):(D=h.description)!=null&&D.length&&h.description.length>0?(h.shape=_t,h.description===u?h.description=[t.description]:h.description=[h.description,t.description]):(h.shape=Tt,h.description=t.description),h.description=U.sanitizeTextOrArray(h.description,v)),((w=h.description)==null?void 0:w.length)===1&&h.shape===_t&&(h.type==="group"?h.shape=Ot:h.shape=Tt),!h.type&&t.doc&&(k.info("Setting cluster for XCX",u,Gt(t)),h.type="group",h.isGroup=!0,h.dir=Gt(t),h.shape=t.type===vt?Nt:Ot,h.cssClasses=`${h.cssClasses} ${ye} ${o?ge:""}`);const E={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:u,dir:h.dir,domId:dt(u,G),type:h.type,isGroup:h.type==="group",padding:8,rx:10,ry:10,look:l};if(E.shape===Nt&&(E.label=""),e&&e.id!=="root"&&(k.trace("Setting node ",u," to be child of its parent ",e.id),E.parentId=e.id),E.centerLabel=!0,t.note){const N={labelStyle:"",shape:"note",label:t.note.text,cssClasses:pe,cssStyles:[],cssCompiledStyles:[],id:u+fe+"-"+G,domId:dt(u,G,Ft),type:h.type,isGroup:h.type==="group",padding:(x=v.flowchart)==null?void 0:x.padding,look:l,position:t.note.position},O=u+Pt,j={labelStyle:"",shape:"noteGroup",label:t.note.text,cssClasses:h.cssClasses,cssStyles:[],id:u+Pt,domId:dt(u,G,Bt),type:"group",isGroup:!0,padding:16,look:l,position:t.note.position};G++,j.id=O,N.parentId=O,tt(r,j,g),tt(r,N,g),tt(r,E,g);let P=u,Y=N.id;t.note.position==="left of"&&(P=N.id,Y=u),i.push({id:P+"-"+Y,start:P,end:Y,arrowhead:"none",arrowTypeEnd:"",style:It,labelStyle:"",classes:ue,arrowheadStyle:At,labelpos:"c",labelType:Lt,thickness:wt,look:l})}else tt(r,E,g)}t.doc&&(k.trace("Adding nodes children "),Se(t,t.doc,s,r,i,!o,l,g))},"dataFetcher"),Te=d(()=>{ht.clear(),G=0},"reset"),kt="[*]",Mt="start",Ut="[*]",Wt="end",Ht="color",Xt="fill",_e="bgFill",be=",",Vt=d(()=>new Map,"newClassesList"),Jt=d(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),pt=d(e=>JSON.parse(JSON.stringify(e)),"clone"),ke=(W=class{constructor(t){this.version=t,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=Vt(),this.documents={root:Jt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=se,this.setAccTitle=ie,this.getAccDescription=ne,this.setAccDescription=re,this.setDiagramTitle=ae,this.getDiagramTitle=oe,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(t){this.clear(!0);for(const i of Array.isArray(t)?t:t.doc)switch(i.stmt){case J:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case St:this.addRelation(i.state1,i.state2,i.description);break;case"classDef":this.addStyleClass(i.id.trim(),i.classes);break;case"style":this.handleStyleDef(i);break;case"applyClass":this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip)}const s=this.getStates(),r=R();Te(),ut(void 0,this.getRootDocV2(),s,this.nodes,this.edges,!0,r.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(t){const s=t.id.trim().split(","),r=t.styleClass.split(",");for(const i of s){let o=this.getState(i);if(!o){const l=i.trim();this.addState(l),o=this.getState(l)}o&&(o.styles=r.map(l=>{var g;return(g=l.replace(/;/g,""))==null?void 0:g.trim()}))}}setRootDoc(t){k.info("Setting root doc",t),this.rootDoc=t,this.version===1?this.extract(t):this.extract(this.getRootDocV2())}docTranslator(t,s,r){if(s.stmt===St)return this.docTranslator(t,s.state1,!0),void this.docTranslator(t,s.state2,!1);if(s.stmt===J&&(s.id===kt?(s.id=t.id+(r?"_start":"_end"),s.start=r):s.id=s.id.trim()),s.stmt!==K&&s.stmt!==J||!s.doc)return;const i=[];let o=[];for(const l of s.doc)if(l.type===vt){const g=pt(l);g.doc=pt(o),i.push(g),o=[]}else o.push(l);if(i.length>0&&o.length>0){const l={stmt:J,id:ce(),type:"divider",doc:pt(o)};i.push(pt(l)),s.doc=i}s.doc.forEach(l=>this.docTranslator(s,l,!0))}getRootDocV2(){return this.docTranslator({id:K,stmt:K},{id:K,stmt:K,doc:this.rootDoc},!0),{id:K,doc:this.rootDoc}}addState(t,s=Q,r=void 0,i=void 0,o=void 0,l=void 0,g=void 0,u=void 0){const m=t==null?void 0:t.trim();if(this.currentDocument.states.has(m)){const S=this.currentDocument.states.get(m);if(!S)throw new Error(`State not found: ${m}`);S.doc||(S.doc=r),S.type||(S.type=s)}else k.info("Adding state ",m,i),this.currentDocument.states.set(m,{stmt:J,id:m,descriptions:[],type:s,doc:r,note:o,classes:[],styles:[],textStyles:[]});if(i&&(k.info("Setting state description",m,i),(Array.isArray(i)?i:[i]).forEach(S=>this.addDescription(m,S.trim()))),o){const S=this.currentDocument.states.get(m);if(!S)throw new Error(`State not found: ${m}`);S.note=o,S.note.text=U.sanitizeText(S.note.text,R())}l&&(k.info("Setting state classes",m,l),(Array.isArray(l)?l:[l]).forEach(S=>this.setCssClass(m,S.trim()))),g&&(k.info("Setting state styles",m,g),(Array.isArray(g)?g:[g]).forEach(S=>this.setStyle(m,S.trim()))),u&&(k.info("Setting state styles",m,g),(Array.isArray(u)?u:[u]).forEach(S=>this.setTextStyle(m,S.trim())))}clear(t){this.nodes=[],this.edges=[],this.documents={root:Jt()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Vt(),t||(this.links=new Map,le())}getState(t){return this.currentDocument.states.get(t)}getStates(){return this.currentDocument.states}logDocuments(){k.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(t,s,r){this.links.set(t,{url:s,tooltip:r}),k.warn("Adding link",t,s,r)}getLinks(){return this.links}startIdIfNeeded(t=""){return t===kt?(this.startEndCount++,`${Mt}${this.startEndCount}`):t}startTypeIfNeeded(t="",s=Q){return t===kt?Mt:s}endIdIfNeeded(t=""){return t===Ut?(this.startEndCount++,`${Wt}${this.startEndCount}`):t}endTypeIfNeeded(t="",s=Q){return t===Ut?Wt:s}addRelationObjs(t,s,r=""){const i=this.startIdIfNeeded(t.id.trim()),o=this.startTypeIfNeeded(t.id.trim(),t.type),l=this.startIdIfNeeded(s.id.trim()),g=this.startTypeIfNeeded(s.id.trim(),s.type);this.addState(i,o,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),this.addState(l,g,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),this.currentDocument.relations.push({id1:i,id2:l,relationTitle:U.sanitizeText(r,R())})}addRelation(t,s,r){if(typeof t=="object"&&typeof s=="object")this.addRelationObjs(t,s,r);else if(typeof t=="string"&&typeof s=="string"){const i=this.startIdIfNeeded(t.trim()),o=this.startTypeIfNeeded(t),l=this.endIdIfNeeded(s.trim()),g=this.endTypeIfNeeded(s);this.addState(i,o),this.addState(l,g),this.currentDocument.relations.push({id1:i,id2:l,relationTitle:r?U.sanitizeText(r,R()):void 0})}}addDescription(t,s){var o;const r=this.currentDocument.states.get(t),i=s.startsWith(":")?s.replace(":","").trim():s;(o=r==null?void 0:r.descriptions)==null||o.push(U.sanitizeText(i,R()))}cleanupLabel(t){return t.startsWith(":")?t.slice(2).trim():t.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(t,s=""){this.classes.has(t)||this.classes.set(t,{id:t,styles:[],textStyles:[]});const r=this.classes.get(t);s&&r&&s.split(be).forEach(i=>{const o=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Ht).exec(i)){const l=o.replace(Xt,_e).replace(Ht,Xt);r.textStyles.push(l)}r.styles.push(o)})}getClasses(){return this.classes}setCssClass(t,s){t.split(",").forEach(r=>{var o;let i=this.getState(r);if(!i){const l=r.trim();this.addState(l),i=this.getState(l)}(o=i==null?void 0:i.classes)==null||o.push(s)})}setStyle(t,s){var r,i;(i=(r=this.getState(t))==null?void 0:r.styles)==null||i.push(s)}setTextStyle(t,s){var r,i;(i=(r=this.getState(t))==null?void 0:r.textStyles)==null||i.push(s)}getDirectionStatement(){return this.rootDoc.find(t=>t.stmt==="dir")}getDirection(){var t;return((t=this.getDirectionStatement())==null?void 0:t.value)??"TB"}setDirection(t){const s=this.getDirectionStatement();s?s.value=t:this.rootDoc.unshift({stmt:"dir",value:t})}trimColon(t){return t.startsWith(":")?t.slice(1).trim():t.trim()}getData(){const t=R();return{nodes:this.nodes,edges:this.edges,other:{},config:t,direction:Yt(this.getRootDocV2())}}getConfig(){return R().state}},d(W,"StateDB"),W.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},W),Ee=d(e=>`
|
|
7
7
|
defs #statediagram-barbEnd {
|
|
8
8
|
fill: ${e.transitionColor};
|
|
9
9
|
stroke: ${e.transitionColor};
|
|
@@ -217,4 +217,4 @@ g.stateGroup line {
|
|
|
217
217
|
font-size: 18px;
|
|
218
218
|
fill: ${e.textColor};
|
|
219
219
|
}
|
|
220
|
-
`,"getStyles");export{
|
|
220
|
+
`,"getStyles");export{ke as S,he as a,me as b,Ee as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a,d as g,l as w}from"./mermaid-
|
|
1
|
+
import{_ as a,d as g,l as w}from"./mermaid-D59lkToe.js";var x=a((t,e,i,h)=>{t.attr("class",i);const{width:o,height:r,x:d,y:n}=c(t,e);g(t,r,o,h);const s=$(d,n,o,r,e);t.attr("viewBox",s),w.debug(`viewBox configured: ${s} with padding: ${e}`)},"setupViewPortForSVG"),c=a((t,e)=>{var h;const i=((h=t.node())==null?void 0:h.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+2*e,height:i.height+2*e,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),$=a((t,e,i,h,o)=>`${t-o} ${e-o} ${i} ${h}`,"createViewBox");export{x as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as n,m as o,i as c}from"./mermaid-
|
|
1
|
+
import{_ as n,m as o,i as c}from"./mermaid-D59lkToe.js";var i=n((a,t)=>{const r=a.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx&&r.attr("rx",t.rx),t.ry&&r.attr("ry",t.ry),t.attrs!==void 0)for(const s in t.attrs)r.attr(s,t.attrs[s]);return t.class&&r.attr("class",t.class),r},"drawRect"),l=n((a,t)=>{const r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};i(a,r).lower()},"drawBackgroundRect"),d=n((a,t)=>{const r=t.text.replace(o," "),s=a.append("text");s.attr("x",t.x),s.attr("y",t.y),s.attr("class","legend"),s.style("text-anchor",t.anchor),t.class&&s.attr("class",t.class);const e=s.append("tspan");return e.attr("x",t.x+2*t.textMargin),e.text(r),s},"drawText"),h=n((a,t,r,s)=>{const e=a.append("image");e.attr("x",t),e.attr("y",r);const x=c.sanitizeUrl(s);e.attr("xlink:href",x)},"drawImage"),y=n((a,t,r,s)=>{const e=a.append("use");e.attr("x",t),e.attr("y",r);const x=c.sanitizeUrl(s);e.attr("xlink:href",`#${x}`)},"drawEmbeddedImage"),p=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),g=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{l as a,g as b,y as c,i as d,h as e,d as f,p as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a}from"./mermaid-
|
|
1
|
+
import{_ as a}from"./mermaid-D59lkToe.js";import{s as r}from"./transform-B8bpuzxV.js";var n=a((e,o)=>{let t;return o==="sandbox"&&(t=r("#i"+e)),r(o==="sandbox"?t.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`)},"getDiagramElement");export{n as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-vkbXs27X.js";import{_ as e}from"./mermaid-D59lkToe.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-DRBUPzV6.js";import"./chunk-WVR4S24B-DkjWv9uk.js";import"./chunk-NRVI72HA-gO-7Uy2L.js";import"./index-D4bXoNM3.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as a,c as s,a as t,C as o}from"./chunk-JBRWN2VN-vkbXs27X.js";import{_ as e}from"./mermaid-D59lkToe.js";import"./transform-B8bpuzxV.js";import"./chunk-GLLZNHP4-DRBUPzV6.js";import"./chunk-WVR4S24B-DkjWv9uk.js";import"./chunk-NRVI72HA-gO-7Uy2L.js";import"./index-D4bXoNM3.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:t,get db(){return new o},renderer:s,styles:a,init:e(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as n}from"./_baseUniq-CGK6su7v.js";function o(r){return n(r,4)}export{o as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=JSON.parse(`{"select":{"description":"Retrieves data from one or more tables","syntax":"SELECT column1, column2, ... FROM table_name","example":"SELECT name, email FROM users WHERE active = true"},"from":{"description":"Specifies which table to select data from","syntax":"FROM table_name","example":"FROM users u JOIN orders o ON u.id = o.user_id"},"where":{"description":"Filters records based on specified conditions","syntax":"WHERE condition","example":"WHERE age > 18 AND status = 'active'"},"join":{"description":"Combines rows from two or more tables based on a related column","syntax":"JOIN table_name ON condition","example":"JOIN orders ON users.id = orders.user_id"},"inner":{"description":"Returns records that have matching values in both tables","syntax":"INNER JOIN table_name ON condition","example":"INNER JOIN orders ON users.id = orders.user_id"},"left":{"description":"Returns all records from the left table and matching records from the right","syntax":"LEFT JOIN table_name ON condition","example":"LEFT JOIN orders ON users.id = orders.user_id"},"right":{"description":"Returns all records from the right table and matching records from the left","syntax":"RIGHT JOIN table_name ON condition","example":"RIGHT JOIN users ON users.id = orders.user_id"},"full":{"description":"Returns all records when there is a match in either left or right table","syntax":"FULL OUTER JOIN table_name ON condition","example":"FULL OUTER JOIN orders ON users.id = orders.user_id"},"outer":{"description":"Used with FULL to return all records from both tables","syntax":"FULL OUTER JOIN table_name ON condition","example":"FULL OUTER JOIN orders ON users.id = orders.user_id"},"cross":{"description":"Returns the Cartesian product of both tables","syntax":"CROSS JOIN table_name","example":"CROSS JOIN colors"},"order":{"description":"Sorts the result set in ascending or descending order","syntax":"ORDER BY column_name [ASC|DESC]","example":"ORDER BY created_at DESC, name ASC"},"by":{"description":"Used with ORDER BY and GROUP BY clauses","syntax":"ORDER BY column_name or GROUP BY column_name","example":"ORDER BY name ASC or GROUP BY category"},"group":{"description":"Groups rows that have the same values into summary rows","syntax":"GROUP BY column_name","example":"GROUP BY category HAVING COUNT(*) > 5"},"having":{"description":"Filters groups based on specified conditions (used with GROUP BY)","syntax":"HAVING condition","example":"GROUP BY category HAVING COUNT(*) > 5"},"insert":{"description":"Adds new records to a table","syntax":"INSERT INTO table_name (columns) VALUES (values)","example":"INSERT INTO users (name, email) VALUES ('John', 'john@example.com')"},"into":{"description":"Specifies the target table for INSERT statements","syntax":"INSERT INTO table_name","example":"INSERT INTO users (name, email) VALUES ('John', 'john@example.com')"},"values":{"description":"Specifies the values to insert into a table","syntax":"VALUES (value1, value2, ...)","example":"VALUES ('John', 'john@example.com', true)"},"update":{"description":"Modifies existing records in a table","syntax":"UPDATE table_name SET column = value WHERE condition","example":"UPDATE users SET email = 'new@example.com' WHERE id = 1"},"set":{"description":"Specifies which columns to update and their new values","syntax":"SET column1 = value1, column2 = value2","example":"SET name = 'John', email = 'john@example.com'"},"delete":{"description":"Removes records from a table","syntax":"DELETE FROM table_name WHERE condition","example":"DELETE FROM users WHERE active = false"},"create":{"description":"Creates a new table, database, or other database object","syntax":"CREATE TABLE table_name (column definitions)","example":"CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100))"},"table":{"description":"Specifies a table in CREATE, ALTER, or DROP statements","syntax":"CREATE TABLE table_name or ALTER TABLE table_name","example":"CREATE TABLE users (id INT, name VARCHAR(100))"},"drop":{"description":"Deletes a table, database, or other database object","syntax":"DROP TABLE table_name","example":"DROP TABLE old_users"},"alter":{"description":"Modifies an existing database object","syntax":"ALTER TABLE table_name ADD/DROP/MODIFY column","example":"ALTER TABLE users ADD COLUMN phone VARCHAR(20)"},"add":{"description":"Adds a new column or constraint to a table","syntax":"ALTER TABLE table_name ADD column_name data_type","example":"ALTER TABLE users ADD phone VARCHAR(20)"},"column":{"description":"Specifies a column in table operations","syntax":"ADD COLUMN column_name or DROP COLUMN column_name","example":"ADD COLUMN created_at TIMESTAMP DEFAULT NOW()"},"primary":{"description":"Defines a primary key constraint","syntax":"PRIMARY KEY (column_name)","example":"CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100))"},"key":{"description":"Used with PRIMARY or FOREIGN to define constraints","syntax":"PRIMARY KEY or FOREIGN KEY","example":"PRIMARY KEY (id) or FOREIGN KEY (user_id) REFERENCES users(id)"},"foreign":{"description":"Defines a foreign key constraint","syntax":"FOREIGN KEY (column_name) REFERENCES table_name(column_name)","example":"FOREIGN KEY (user_id) REFERENCES users(id)"},"references":{"description":"Specifies the referenced table and column for foreign keys","syntax":"REFERENCES table_name(column_name)","example":"FOREIGN KEY (user_id) REFERENCES users(id)"},"unique":{"description":"Ensures all values in a column are unique","syntax":"UNIQUE (column_name)","example":"CREATE TABLE users (email VARCHAR(255) UNIQUE)"},"constraint":{"description":"Names a constraint for easier management","syntax":"CONSTRAINT constraint_name constraint_type","example":"CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id)"},"check":{"description":"Defines a condition that must be true for all rows","syntax":"CHECK (condition)","example":"CHECK (age >= 18)"},"default":{"description":"Specifies a default value for a column","syntax":"column_name data_type DEFAULT value","example":"created_at TIMESTAMP DEFAULT NOW()"},"index":{"description":"Creates an index to improve query performance","syntax":"CREATE INDEX index_name ON table_name (column_name)","example":"CREATE INDEX idx_user_email ON users (email)"},"view":{"description":"Creates a virtual table based on a SELECT statement","syntax":"CREATE VIEW view_name AS SELECT ...","example":"CREATE VIEW active_users AS SELECT * FROM users WHERE active = true"},"limit":{"description":"Restricts the number of records returned","syntax":"LIMIT number","example":"SELECT * FROM users LIMIT 10"},"offset":{"description":"Skips a specified number of rows before returning results","syntax":"OFFSET number","example":"SELECT * FROM users LIMIT 10 OFFSET 20"},"top":{"description":"Limits the number of records returned (SQL Server syntax)","syntax":"SELECT TOP number columns FROM table","example":"SELECT TOP 10 * FROM users"},"fetch":{"description":"Retrieves a specific number of rows (modern SQL standard)","syntax":"OFFSET number ROWS FETCH NEXT number ROWS ONLY","example":"OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY"},"with":{"description":"Defines a Common Table Expression (CTE)","syntax":"WITH cte_name AS (SELECT ...) SELECT ... FROM cte_name","example":"WITH user_stats AS (SELECT user_id, COUNT(*) FROM orders GROUP BY user_id) SELECT * FROM user_stats"},"recursive":{"description":"Creates a recursive CTE that can reference itself","syntax":"WITH RECURSIVE cte_name AS (...) SELECT ...","example":"WITH RECURSIVE tree AS (SELECT id, parent_id FROM categories WHERE parent_id IS NULL UNION ALL SELECT c.id, c.parent_id FROM categories c JOIN tree t ON c.parent_id = t.id) SELECT * FROM tree"},"distinct":{"description":"Returns only unique values","syntax":"SELECT DISTINCT column_name FROM table_name","example":"SELECT DISTINCT category FROM products"},"count":{"description":"Returns the number of rows that match a condition","syntax":"COUNT(*) or COUNT(column_name)","example":"SELECT COUNT(*) FROM users WHERE active = true"},"sum":{"description":"Returns the sum of numeric values","syntax":"SUM(column_name)","example":"SELECT SUM(price) FROM orders WHERE status = 'completed'"},"avg":{"description":"Returns the average value of numeric values","syntax":"AVG(column_name)","example":"SELECT AVG(age) FROM users"},"max":{"description":"Returns the maximum value","syntax":"MAX(column_name)","example":"SELECT MAX(price) FROM products"},"min":{"description":"Returns the minimum value","syntax":"MIN(column_name)","example":"SELECT MIN(price) FROM products"},"as":{"description":"Creates an alias for a column or table","syntax":"column_name AS alias_name or table_name AS alias_name","example":"SELECT name AS customer_name FROM users AS u"},"on":{"description":"Specifies the join condition between tables","syntax":"JOIN table_name ON condition","example":"JOIN orders ON users.id = orders.user_id"},"and":{"description":"Combines multiple conditions with logical AND","syntax":"WHERE condition1 AND condition2","example":"WHERE age > 18 AND status = 'active'"},"or":{"description":"Combines multiple conditions with logical OR","syntax":"WHERE condition1 OR condition2","example":"WHERE category = 'electronics' OR category = 'books'"},"not":{"description":"Negates a condition","syntax":"WHERE NOT condition","example":"WHERE NOT status = 'inactive'"},"null":{"description":"Represents a missing or unknown value","syntax":"column_name IS NULL or column_name IS NOT NULL","example":"WHERE email IS NOT NULL"},"is":{"description":"Used to test for NULL values or boolean conditions","syntax":"column_name IS NULL or column_name IS NOT NULL","example":"WHERE deleted_at IS NULL"},"in":{"description":"Checks if a value matches any value in a list","syntax":"column_name IN (value1, value2, ...)","example":"WHERE status IN ('active', 'pending', 'approved')"},"between":{"description":"Selects values within a range","syntax":"column_name BETWEEN value1 AND value2","example":"WHERE age BETWEEN 18 AND 65"},"like":{"description":"Searches for a pattern in a column","syntax":"column_name LIKE pattern","example":"WHERE name LIKE 'John%' (starts with 'John')"},"exists":{"description":"Tests whether a subquery returns any rows","syntax":"WHERE EXISTS (subquery)","example":"WHERE EXISTS (SELECT 1 FROM orders WHERE orders.user_id = users.id)"},"any":{"description":"Compares a value to any value returned by a subquery","syntax":"column_name operator ANY (subquery)","example":"WHERE price > ANY (SELECT price FROM products WHERE category = 'electronics')"},"all":{"description":"Compares a value to all values returned by a subquery","syntax":"column_name operator ALL (subquery)","example":"WHERE price > ALL (SELECT price FROM products WHERE category = 'books')"},"some":{"description":"Synonym for ANY - compares a value to some values in a subquery","syntax":"column_name operator SOME (subquery)","example":"WHERE price > SOME (SELECT price FROM products WHERE category = 'electronics')"},"union":{"description":"Combines the result sets of two or more SELECT statements","syntax":"SELECT ... UNION SELECT ...","example":"SELECT name FROM customers UNION SELECT name FROM suppliers"},"intersect":{"description":"Returns rows that are in both result sets","syntax":"SELECT ... INTERSECT SELECT ...","example":"SELECT customer_id FROM orders INTERSECT SELECT customer_id FROM returns"},"except":{"description":"Returns rows from the first query that are not in the second","syntax":"SELECT ... EXCEPT SELECT ...","example":"SELECT customer_id FROM customers EXCEPT SELECT customer_id FROM blacklist"},"case":{"description":"Provides conditional logic in SQL queries","syntax":"CASE WHEN condition THEN result ELSE result END","example":"CASE WHEN age < 18 THEN 'Minor' ELSE 'Adult' END"},"when":{"description":"Specifies conditions in CASE statements","syntax":"CASE WHEN condition THEN result","example":"CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' END"},"then":{"description":"Specifies the result for a WHEN condition","syntax":"WHEN condition THEN result","example":"WHEN age < 18 THEN 'Minor'"},"else":{"description":"Specifies the default result in CASE statements","syntax":"CASE WHEN condition THEN result ELSE default_result END","example":"CASE WHEN score >= 60 THEN 'Pass' ELSE 'Fail' END"},"end":{"description":"Terminates a CASE statement","syntax":"CASE WHEN condition THEN result END","example":"CASE WHEN age < 18 THEN 'Minor' ELSE 'Adult' END"},"over":{"description":"Defines a window for window functions","syntax":"window_function() OVER (PARTITION BY ... ORDER BY ...)","example":"ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC)"},"partition":{"description":"Divides the result set into groups for window functions","syntax":"OVER (PARTITION BY column_name)","example":"SUM(salary) OVER (PARTITION BY department)"},"row_number":{"description":"Assigns a unique sequential integer to each row","syntax":"ROW_NUMBER() OVER (ORDER BY column_name)","example":"ROW_NUMBER() OVER (ORDER BY created_at DESC)"},"rank":{"description":"Assigns a rank to each row with gaps for ties","syntax":"RANK() OVER (ORDER BY column_name)","example":"RANK() OVER (ORDER BY score DESC)"},"dense_rank":{"description":"Assigns a rank to each row without gaps for ties","syntax":"DENSE_RANK() OVER (ORDER BY column_name)","example":"DENSE_RANK() OVER (ORDER BY score DESC)"},"begin":{"description":"Starts a transaction block","syntax":"BEGIN [TRANSACTION]","example":"BEGIN; UPDATE accounts SET balance = balance - 100; COMMIT;"},"commit":{"description":"Permanently saves all changes made in the current transaction","syntax":"COMMIT [TRANSACTION]","example":"BEGIN; INSERT INTO users VALUES (...); COMMIT;"},"rollback":{"description":"Undoes all changes made in the current transaction","syntax":"ROLLBACK [TRANSACTION]","example":"BEGIN; DELETE FROM users WHERE id = 1; ROLLBACK;"},"transaction":{"description":"Groups multiple SQL statements into a single unit of work","syntax":"BEGIN TRANSACTION; ... COMMIT/ROLLBACK;","example":"BEGIN TRANSACTION; UPDATE accounts SET balance = balance - 100 WHERE id = 1; COMMIT;"}}`),a={keywords:e};export{a as default,e as keywords};
|