@marimo-team/frontend 0.14.18-dev5 → 0.14.18-dev50

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.
Files changed (1271) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-s7RGpPDV.js → ConnectedDataExplorerComponent-DYTZw6fj.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CnrulJpr.js → ImageComparisonComponent-BAA_ijuq.js} +1 -1
  3. package/dist/assets/{VegaLite-C2fs5zc3.js → VegaLite-ClUb-74L.js} +1 -1
  4. package/dist/assets/{_baseEach-c_dyjc-O.js → _baseEach-3O5Pzq2d.js} +1 -1
  5. package/dist/assets/_baseMap-DG_WUib9.js +1 -0
  6. package/dist/assets/{_baseUniq-MHRYxaEh.js → _baseUniq-BXDKAuGS.js} +1 -1
  7. package/dist/assets/{_createAggregator-BRrHJm-S.js → _createAggregator-BIg6TnU4.js} +1 -1
  8. package/dist/assets/{any-language-editor-BvO3QFMF.js → any-language-editor-DFx4-Rvw.js} +1 -1
  9. package/dist/assets/{architectureDiagram-SUXI7LT5-NdrSJuvB.js → architectureDiagram-SUXI7LT5-D81RoqPk.js} +1 -1
  10. package/dist/assets/{blockDiagram-6J76NXCF-ftx5RUcT.js → blockDiagram-6J76NXCF-3niFsoFZ.js} +1 -1
  11. package/dist/assets/{c4Diagram-6F6E4RAY-BulMqa-Y.js → c4Diagram-6F6E4RAY-CFI6lih0.js} +1 -1
  12. package/dist/assets/channel-K-9loUb_.js +1 -0
  13. package/dist/assets/{chunk-353BL4L5-D5H2iwN7.js → chunk-353BL4L5-C3wPIha_.js} +1 -1
  14. package/dist/assets/{chunk-67H74DCK-LK08G4lc.js → chunk-67H74DCK-B5azje5L.js} +1 -1
  15. package/dist/assets/{chunk-AACKK3MU-B9JAiO5u.js → chunk-AACKK3MU-DSI22zXx.js} +1 -1
  16. package/dist/assets/{chunk-BFAMUDN2-CZKcG7Hk.js → chunk-BFAMUDN2-tuWdobTk.js} +1 -1
  17. package/dist/assets/{chunk-E2GYISFI-CIXtdUNn.js → chunk-E2GYISFI-i4TQCXIy.js} +1 -1
  18. package/dist/assets/{chunk-OW32GOEJ-C4FCmwnP.js → chunk-OW32GOEJ-DOaWtR4N.js} +6 -6
  19. package/dist/assets/{chunk-SKB7J2MH-BaSlr3jl.js → chunk-SKB7J2MH-SgMaVi_f.js} +1 -1
  20. package/dist/assets/{chunk-SZ463SBG-BwDfdiOo.js → chunk-SZ463SBG-BPCllzKw.js} +1 -1
  21. package/dist/assets/{circle-play-JsgbRX6G.js → circle-play-D53fEWtA.js} +1 -1
  22. package/dist/assets/classDiagram-M3E45YP4-Bc9VfZy3.js +1 -0
  23. package/dist/assets/classDiagram-v2-YAWTLIQI-Bc9VfZy3.js +1 -0
  24. package/dist/assets/clone-DaATSQka.js +1 -0
  25. package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
  26. package/dist/assets/{compile-BGbhA30T.js → compile-CHlxx7_2.js} +1 -1
  27. package/dist/assets/{dagre-JOIXM2OF-B8vUNw1G.js → dagre-JOIXM2OF-DwqsAdzJ.js} +1 -1
  28. package/dist/assets/{data-grid-overlay-editor-5lo5J1Vt.js → data-grid-overlay-editor-BkxJm21l.js} +1 -1
  29. package/dist/assets/{diagram-5UYTHUR4-PLDgwO4x.js → diagram-5UYTHUR4-BVgXxq4M.js} +1 -1
  30. package/dist/assets/{diagram-VMROVX33-B5-7SLna.js → diagram-VMROVX33-BCL8392t.js} +1 -1
  31. package/dist/assets/{diagram-ZTM2IBQH-BnKr5V6h.js → diagram-ZTM2IBQH-4J4J1CIV.js} +1 -1
  32. package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
  33. package/dist/assets/edit-page-NB5wrRh2.js +163 -0
  34. package/dist/assets/{erDiagram-3M52JZNH-Dk0Y_2Is.js → erDiagram-3M52JZNH-jshUEIJ1.js} +1 -1
  35. package/dist/assets/{flowDiagram-KYDEHFYC-DM8J3haJ.js → flowDiagram-KYDEHFYC-CyYg3H8Y.js} +1 -1
  36. package/dist/assets/{ganttDiagram-EK5VF46D-B7MEeaeb.js → ganttDiagram-EK5VF46D-C23Ft8I7.js} +1 -1
  37. package/dist/assets/{gitGraphDiagram-GW3U2K7C-ciOWHdK1.js → gitGraphDiagram-GW3U2K7C-DiUoj4Ew.js} +1 -1
  38. package/dist/assets/{glide-data-editor-CeJNWkGL.js → glide-data-editor-yni-i7DD.js} +11 -11
  39. package/dist/assets/{graph-IzuQV5TV.js → graph-C7JpWu09.js} +1 -1
  40. package/dist/assets/{home-page-P0hOk_Lu.js → home-page-NDnghZWs.js} +2 -2
  41. package/dist/assets/{index-DL31Tmv6.js → index--KGGFrne.js} +1 -1
  42. package/dist/assets/{index-BqqAIR7p.js → index-4OqJ2B3D.js} +1 -1
  43. package/dist/assets/{index-BtVdSmBr.js → index-B0RXd23s.js} +1 -1
  44. package/dist/assets/{index-DzmGiDPv.js → index-B31n32p9.js} +1 -1
  45. package/dist/assets/{index-DzcdkCgc.js → index-BOUSUTRn.js} +1 -1
  46. package/dist/assets/{index-DVgehULr.js → index-BQIb1OIL.js} +1 -1
  47. package/dist/assets/{index-VEO6hI2a.js → index-BlatNvpa.js} +1 -1
  48. package/dist/assets/{index-Bw4_53VL.js → index-BuLzGTRa.js} +211 -201
  49. package/dist/assets/{index-DWbP9NKv.js → index-Bv-FgWDT.js} +1 -1
  50. package/dist/assets/{index-vOKQtqij.js → index-C-824auT.js} +1 -1
  51. package/dist/assets/{index-CTxIrFfM.js → index-CCVnyt35.js} +1 -1
  52. package/dist/assets/{index-D86OE7I-.js → index-CMwLiUwF.js} +1 -1
  53. package/dist/assets/{index-ABc3l5O5.js → index-CjurcK2b.js} +1 -1
  54. package/dist/assets/index-CrH6PPjG.css +1 -0
  55. package/dist/assets/{index-DyGhL8pb.js → index-DUWmhAdb.js} +1 -1
  56. package/dist/assets/index-Dhv3kMmj.js +68 -0
  57. package/dist/assets/{index-DKlX9VbD.js → index-Dtg-n9fy.js} +1 -1
  58. package/dist/assets/{index--eqo3Nr1.js → index-RFe4ipJ2.js} +1 -1
  59. package/dist/assets/{index-ZMOxgO0o.js → index-TnI59iGP.js} +1 -1
  60. package/dist/assets/{index-CvNa254z.js → index-afRA5Gf-.js} +1 -1
  61. package/dist/assets/{index-CrnLkrsN.js → index-gxc0pSjP.js} +1 -1
  62. package/dist/assets/infoDiagram-LHK5PUON-CU950EiG.js +2 -0
  63. package/dist/assets/{journeyDiagram-EWQZEKCU-D-rWvB9c.js → journeyDiagram-EWQZEKCU-D6atx6Lv.js} +1 -1
  64. package/dist/assets/{kanban-definition-ZSS6B67P-BPrv-lG3.js → kanban-definition-ZSS6B67P-BTifj_eJ.js} +1 -1
  65. package/dist/assets/{layout-C3NQCD38.js → layout-C7UvAKPj.js} +1 -1
  66. package/dist/assets/{linear-Dcz3lyvf.js → linear-BZ8OzEjq.js} +1 -1
  67. package/dist/assets/links-Bi_UYtYJ.js +17 -0
  68. package/dist/assets/{mermaid-BjMqU7B7.js → mermaid-Ay3yhf1K.js} +26 -26
  69. package/dist/assets/min-Dp3C_LUW.js +1 -0
  70. package/dist/assets/{mindmap-definition-6CBA2TL7-BZsnMx2y.js → mindmap-definition-6CBA2TL7-UHMw9HRG.js} +1 -1
  71. package/dist/assets/{number-overlay-editor-CzX-JKBj.js → number-overlay-editor-Cv-0anBf.js} +2 -2
  72. package/dist/assets/{pieDiagram-NIOCPIFQ-BjbDT3_7.js → pieDiagram-NIOCPIFQ-B3CqYKDU.js} +3 -3
  73. package/dist/assets/{quadrantDiagram-2OG54O6I-DwvUEn5y.js → quadrantDiagram-2OG54O6I-kwhcJ1uQ.js} +1 -1
  74. package/dist/assets/{react-plotly-DsUGZTQl.js → react-plotly-Nf9wyHE6.js} +1 -1
  75. package/dist/assets/{requirementDiagram-QOLK2EJ7-DnqQ02xB.js → requirementDiagram-QOLK2EJ7-C_ChBtkQ.js} +1 -1
  76. package/dist/assets/{run-page-Dh1_LBex.js → run-page-CSqmt13E.js} +1 -1
  77. package/dist/assets/{sankeyDiagram-4UZDY2LN-CGiEg-KK.js → sankeyDiagram-4UZDY2LN-qvwFYofP.js} +1 -1
  78. package/dist/assets/{sequenceDiagram-SKLFT4DO-Du_9Bhah.js → sequenceDiagram-SKLFT4DO-BzqFOwY5.js} +1 -1
  79. package/dist/assets/{slides-component-DbRb2vqt.js → slides-component-Cer6VYZ9.js} +1 -1
  80. package/dist/assets/sortBy-vM-dsQOy.js +1 -0
  81. package/dist/assets/{stateDiagram-MI5ZYTHO-x_vUiEQz.js → stateDiagram-MI5ZYTHO-Qsx1ctcw.js} +1 -1
  82. package/dist/assets/stateDiagram-v2-5AN5P6BG-nnL6lLPg.js +1 -0
  83. package/dist/assets/storage-CgbU7fX_.js +26 -0
  84. package/dist/assets/{terminal-xOuxdYpY.js → terminal-D9I-qKBb.js} +1 -1
  85. package/dist/assets/time-B6gEjtOF.js +1 -0
  86. package/dist/assets/{timeline-definition-MYPXXCX6-8Kv4fcyB.js → timeline-definition-MYPXXCX6-CDn-7Ziv.js} +1 -1
  87. package/dist/assets/{tracing-BAj6E74_.js → tracing-BlsNYoEA.js} +2 -2
  88. package/dist/assets/{trash-65Vbt3F6.js → trash-DN3yrUwY.js} +1 -1
  89. package/dist/assets/{treemap-75Q7IDZK-DtSMjk1Y.js → treemap-75Q7IDZK-BU7RneXW.js} +1 -1
  90. package/dist/assets/{vega-component-C3aywWbx.js → vega-component-B88TrcEz.js} +1 -1
  91. package/dist/assets/{xychartDiagram-H2YORKM3-D33F1MLE.js → xychartDiagram-H2YORKM3-0c94DCtR.js} +1 -1
  92. package/dist/index.html +2 -2
  93. package/package.json +12 -6
  94. package/src/README.md +18 -0
  95. package/src/__mocks__/common.ts +160 -0
  96. package/src/__mocks__/notebook.ts +76 -0
  97. package/src/__mocks__/requests.ts +72 -0
  98. package/src/__mocks__/tracebacks.ts +32 -0
  99. package/src/__tests__/CellStatus.test.tsx +263 -0
  100. package/src/__tests__/__snapshots__/CellStatus.test.tsx.snap +523 -0
  101. package/src/__tests__/chat-utils.test.ts +234 -0
  102. package/src/__tests__/lru.test.ts +74 -0
  103. package/src/__tests__/main.test.tsx +174 -0
  104. package/src/__tests__/setup.ts +17 -0
  105. package/src/__tests__/test-helpers.ts +24 -0
  106. package/src/assets/circle-check.ico +0 -0
  107. package/src/assets/circle-play.ico +0 -0
  108. package/src/assets/circle-x.ico +0 -0
  109. package/src/assets/gradient.png +0 -0
  110. package/src/assets/icon-16x16.png +0 -0
  111. package/src/assets/icon-32x32.png +0 -0
  112. package/src/assets/noise.png +0 -0
  113. package/src/components/ai/ai-model-dropdown.tsx +280 -0
  114. package/src/components/ai/ai-provider-icon.tsx +54 -0
  115. package/src/components/app-config/ai-config.tsx +855 -0
  116. package/src/components/app-config/app-config-button.tsx +100 -0
  117. package/src/components/app-config/app-config-form.tsx +307 -0
  118. package/src/components/app-config/common.tsx +48 -0
  119. package/src/components/app-config/constants.ts +13 -0
  120. package/src/components/app-config/incorrect-model-id.tsx +43 -0
  121. package/src/components/app-config/is-overridden.tsx +119 -0
  122. package/src/components/app-config/optional-features.tsx +251 -0
  123. package/src/components/app-config/state.ts +18 -0
  124. package/src/components/app-config/user-config-form.tsx +1361 -0
  125. package/src/components/audio/audio-recorder.tsx +63 -0
  126. package/src/components/buttons/clear-button.tsx +23 -0
  127. package/src/components/buttons/undo-button.tsx +35 -0
  128. package/src/components/chat/chat-panel.tsx +715 -0
  129. package/src/components/chat/markdown-renderer.tsx +217 -0
  130. package/src/components/chat/reasoning-accordion.tsx +50 -0
  131. package/src/components/chat/tool-call-accordion.tsx +118 -0
  132. package/src/components/data-table/SearchBar.tsx +66 -0
  133. package/src/components/data-table/TableActions.tsx +183 -0
  134. package/src/components/data-table/__tests__/__snapshots__/chart-spec-model.test.ts.snap +1079 -0
  135. package/src/components/data-table/__tests__/chart-spec-model.test.ts +707 -0
  136. package/src/components/data-table/__tests__/column_formatting.test.ts +115 -0
  137. package/src/components/data-table/__tests__/columns.test.tsx +341 -0
  138. package/src/components/data-table/__tests__/data-table.test.tsx +60 -0
  139. package/src/components/data-table/__tests__/pagination.test.tsx +152 -0
  140. package/src/components/data-table/__tests__/types.test.ts +44 -0
  141. package/src/components/data-table/__tests__/url-detector.test.tsx +169 -0
  142. package/src/components/data-table/__tests__/useColumnPinning.test.ts +76 -0
  143. package/src/components/data-table/cell-selection/__tests__/feature.test.ts +187 -0
  144. package/src/components/data-table/cell-selection/feature.ts +123 -0
  145. package/src/components/data-table/cell-selection/types.ts +49 -0
  146. package/src/components/data-table/cell-styling/feature.ts +40 -0
  147. package/src/components/data-table/cell-styling/types.ts +26 -0
  148. package/src/components/data-table/charts/README.md +65 -0
  149. package/src/components/data-table/charts/__tests__/__snapshots__/spec-snapshot.test.ts.snap +47 -0
  150. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +425 -0
  151. package/src/components/data-table/charts/__tests__/renderer.test.ts +20 -0
  152. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +83 -0
  153. package/src/components/data-table/charts/__tests__/spec.test.ts +997 -0
  154. package/src/components/data-table/charts/__tests__/storage.test.ts +103 -0
  155. package/src/components/data-table/charts/chart-spec/altair-generator.ts +162 -0
  156. package/src/components/data-table/charts/chart-spec/encodings.ts +173 -0
  157. package/src/components/data-table/charts/chart-spec/spec.ts +345 -0
  158. package/src/components/data-table/charts/chart-spec/tooltips.ts +168 -0
  159. package/src/components/data-table/charts/chart-spec/types.ts +77 -0
  160. package/src/components/data-table/charts/charts.tsx +492 -0
  161. package/src/components/data-table/charts/components/chart-items.tsx +369 -0
  162. package/src/components/data-table/charts/components/chart-states.tsx +37 -0
  163. package/src/components/data-table/charts/components/form-fields.tsx +872 -0
  164. package/src/components/data-table/charts/components/layouts.tsx +118 -0
  165. package/src/components/data-table/charts/constants.ts +159 -0
  166. package/src/components/data-table/charts/context.ts +20 -0
  167. package/src/components/data-table/charts/forms/common-chart.tsx +202 -0
  168. package/src/components/data-table/charts/forms/heatmap.tsx +44 -0
  169. package/src/components/data-table/charts/forms/pie.tsx +70 -0
  170. package/src/components/data-table/charts/lazy-chart.tsx +56 -0
  171. package/src/components/data-table/charts/schemas.ts +140 -0
  172. package/src/components/data-table/charts/storage.ts +88 -0
  173. package/src/components/data-table/charts/types.ts +124 -0
  174. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +227 -0
  175. package/src/components/data-table/column-formatting/feature.ts +247 -0
  176. package/src/components/data-table/column-formatting/types.ts +54 -0
  177. package/src/components/data-table/column-header.tsx +672 -0
  178. package/src/components/data-table/column-summary/chart-skeleton.tsx +57 -0
  179. package/src/components/data-table/column-summary/chart-spec-model.tsx +916 -0
  180. package/src/components/data-table/column-summary/column-summary.tsx +166 -0
  181. package/src/components/data-table/column-summary/legacy-chart-spec.ts +242 -0
  182. package/src/components/data-table/column-summary/utils.ts +142 -0
  183. package/src/components/data-table/column-wrapping/feature.ts +62 -0
  184. package/src/components/data-table/column-wrapping/types.ts +29 -0
  185. package/src/components/data-table/columns.tsx +528 -0
  186. package/src/components/data-table/copy-column/feature.ts +27 -0
  187. package/src/components/data-table/copy-column/types.ts +19 -0
  188. package/src/components/data-table/data-table.tsx +298 -0
  189. package/src/components/data-table/date-popover.tsx +146 -0
  190. package/src/components/data-table/download-actions.tsx +186 -0
  191. package/src/components/data-table/filter-pills.tsx +120 -0
  192. package/src/components/data-table/filters.ts +202 -0
  193. package/src/components/data-table/focus-row/feature.ts +41 -0
  194. package/src/components/data-table/focus-row/types.ts +32 -0
  195. package/src/components/data-table/header-items.tsx +295 -0
  196. package/src/components/data-table/hooks/use-column-pinning.ts +51 -0
  197. package/src/components/data-table/hooks/use-panel-ownership.ts +98 -0
  198. package/src/components/data-table/loading-table.tsx +56 -0
  199. package/src/components/data-table/mime-cell.tsx +68 -0
  200. package/src/components/data-table/pagination.tsx +329 -0
  201. package/src/components/data-table/range-focus/__tests__/atoms.test.ts +907 -0
  202. package/src/components/data-table/range-focus/__tests__/utils.test.ts +316 -0
  203. package/src/components/data-table/range-focus/atoms.ts +380 -0
  204. package/src/components/data-table/range-focus/cell-selection-indicator.tsx +37 -0
  205. package/src/components/data-table/range-focus/provider.tsx +13 -0
  206. package/src/components/data-table/range-focus/use-cell-range-selection.ts +119 -0
  207. package/src/components/data-table/range-focus/use-scroll-into-view.ts +46 -0
  208. package/src/components/data-table/range-focus/utils.ts +105 -0
  209. package/src/components/data-table/renderers.tsx +247 -0
  210. package/src/components/data-table/row-viewer-panel/__tests__/filter-rows.test.ts +82 -0
  211. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +58 -0
  212. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +371 -0
  213. package/src/components/data-table/types.ts +81 -0
  214. package/src/components/data-table/uniformSample.tsx +19 -0
  215. package/src/components/data-table/url-detector.tsx +111 -0
  216. package/src/components/data-table/utils.ts +46 -0
  217. package/src/components/databases/display.tsx +66 -0
  218. package/src/components/databases/engine-variable.tsx +51 -0
  219. package/src/components/databases/icon.tsx +91 -0
  220. package/src/components/databases/icons/clickhouse.svg +1 -0
  221. package/src/components/databases/icons/databricks.svg +1 -0
  222. package/src/components/databases/icons/datafusion.png +0 -0
  223. package/src/components/databases/icons/duckdb.svg +1 -0
  224. package/src/components/databases/icons/googlebigquery.svg +1 -0
  225. package/src/components/databases/icons/iceberg.png +0 -0
  226. package/src/components/databases/icons/motherduck.svg +9 -0
  227. package/src/components/databases/icons/mysql.svg +1 -0
  228. package/src/components/databases/icons/postgresql.svg +1 -0
  229. package/src/components/databases/icons/redshift.svg +1 -0
  230. package/src/components/databases/icons/snowflake.svg +1 -0
  231. package/src/components/databases/icons/spark.svg +1 -0
  232. package/src/components/databases/icons/sqlalchemy.svg +1 -0
  233. package/src/components/databases/icons/sqlite.svg +1 -0
  234. package/src/components/databases/icons/timeplus.svg +17 -0
  235. package/src/components/databases/icons/trino.svg +1 -0
  236. package/src/components/datasets/icons.tsx +55 -0
  237. package/src/components/datasources/__tests__/install-package-button.test.tsx +85 -0
  238. package/src/components/datasources/__tests__/utils.test.ts +171 -0
  239. package/src/components/datasources/column-preview.tsx +269 -0
  240. package/src/components/datasources/components.tsx +100 -0
  241. package/src/components/datasources/datasources.tsx +782 -0
  242. package/src/components/datasources/install-package-button.tsx +46 -0
  243. package/src/components/datasources/utils.ts +62 -0
  244. package/src/components/debug/indicator.tsx +19 -0
  245. package/src/components/debugger/debugger-code.css +3 -0
  246. package/src/components/debugger/debugger-code.tsx +222 -0
  247. package/src/components/dependency-graph/custom-node.tsx +89 -0
  248. package/src/components/dependency-graph/dependency-graph-minimap.tsx +197 -0
  249. package/src/components/dependency-graph/dependency-graph-tree.tsx +181 -0
  250. package/src/components/dependency-graph/dependency-graph.css +17 -0
  251. package/src/components/dependency-graph/dependency-graph.tsx +66 -0
  252. package/src/components/dependency-graph/elements.ts +185 -0
  253. package/src/components/dependency-graph/panels.tsx +279 -0
  254. package/src/components/dependency-graph/types.ts +21 -0
  255. package/src/components/dependency-graph/utils/changes.ts +54 -0
  256. package/src/components/dependency-graph/utils/layout.ts +45 -0
  257. package/src/components/dependency-graph/utils/useFitToViewOnDimensionChange.ts +25 -0
  258. package/src/components/editor/Cell.tsx +1175 -0
  259. package/src/components/editor/Disconnected.tsx +72 -0
  260. package/src/components/editor/Output.tsx +462 -0
  261. package/src/components/editor/RecoveryButton.tsx +161 -0
  262. package/src/components/editor/SortableCell.tsx +161 -0
  263. package/src/components/editor/__tests__/data-attributes.test.tsx +173 -0
  264. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +183 -0
  265. package/src/components/editor/actions/name-cell-input.tsx +137 -0
  266. package/src/components/editor/actions/types.ts +53 -0
  267. package/src/components/editor/actions/useCellActionButton.tsx +422 -0
  268. package/src/components/editor/actions/useConfigActions.tsx +182 -0
  269. package/src/components/editor/actions/useCopyNotebook.tsx +41 -0
  270. package/src/components/editor/actions/useHideAllMarkdownCode.ts +53 -0
  271. package/src/components/editor/actions/useNotebookActions.tsx +556 -0
  272. package/src/components/editor/actions/useRestartKernel.tsx +36 -0
  273. package/src/components/editor/ai/__tests__/completion-utils.test.ts +379 -0
  274. package/src/components/editor/ai/add-cell-with-ai.tsx +423 -0
  275. package/src/components/editor/ai/ai-completion-editor.tsx +262 -0
  276. package/src/components/editor/ai/completion-utils.ts +95 -0
  277. package/src/components/editor/ai/merge-editor.css +9 -0
  278. package/src/components/editor/alerts/connecting-alert.tsx +46 -0
  279. package/src/components/editor/alerts/floating-alert.tsx +47 -0
  280. package/src/components/editor/alerts/stdin-blocking-alert.tsx +61 -0
  281. package/src/components/editor/app-container.tsx +53 -0
  282. package/src/components/editor/boundary/ErrorBoundary.tsx +41 -0
  283. package/src/components/editor/cell/CellStatus.tsx +371 -0
  284. package/src/components/editor/cell/CreateCellButton.tsx +132 -0
  285. package/src/components/editor/cell/DeleteButton.tsx +58 -0
  286. package/src/components/editor/cell/PendingDeleteConfirmation.tsx +126 -0
  287. package/src/components/editor/cell/RunButton.tsx +109 -0
  288. package/src/components/editor/cell/StopButton.tsx +36 -0
  289. package/src/components/editor/cell/TinyCode.css +10 -0
  290. package/src/components/editor/cell/TinyCode.tsx +53 -0
  291. package/src/components/editor/cell/cell-actions.tsx +185 -0
  292. package/src/components/editor/cell/cell-context-menu.tsx +243 -0
  293. package/src/components/editor/cell/cell-status.css +21 -0
  294. package/src/components/editor/cell/code/cell-editor.tsx +546 -0
  295. package/src/components/editor/cell/code/icons.tsx +31 -0
  296. package/src/components/editor/cell/code/language-toggle.tsx +140 -0
  297. package/src/components/editor/cell/collapse.tsx +100 -0
  298. package/src/components/editor/cell/toolbar.tsx +89 -0
  299. package/src/components/editor/cell/useAddCell.ts +29 -0
  300. package/src/components/editor/cell/useDeleteCell.tsx +89 -0
  301. package/src/components/editor/cell/useRunCells.ts +86 -0
  302. package/src/components/editor/cell/useShouldShowInterrupt.ts +26 -0
  303. package/src/components/editor/cell/useSplitCell.tsx +41 -0
  304. package/src/components/editor/chrome/components/contribute-snippet-button.tsx +138 -0
  305. package/src/components/editor/chrome/components/feedback-button.tsx +105 -0
  306. package/src/components/editor/chrome/panels/__tests__/write-secret-modal.test.ts +43 -0
  307. package/src/components/editor/chrome/panels/constants.ts +2 -0
  308. package/src/components/editor/chrome/panels/context-aware-panel/atoms.ts +28 -0
  309. package/src/components/editor/chrome/panels/context-aware-panel/context-aware-panel.tsx +167 -0
  310. package/src/components/editor/chrome/panels/datasources-panel.tsx +6 -0
  311. package/src/components/editor/chrome/panels/dependency-graph-panel.tsx +23 -0
  312. package/src/components/editor/chrome/panels/documentation-panel.tsx +29 -0
  313. package/src/components/editor/chrome/panels/empty-state.tsx +28 -0
  314. package/src/components/editor/chrome/panels/error-panel.tsx +35 -0
  315. package/src/components/editor/chrome/panels/file-explorer-panel.tsx +33 -0
  316. package/src/components/editor/chrome/panels/logs-panel.tsx +97 -0
  317. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +129 -0
  318. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +172 -0
  319. package/src/components/editor/chrome/panels/outline-panel.css +6 -0
  320. package/src/components/editor/chrome/panels/outline-panel.tsx +39 -0
  321. package/src/components/editor/chrome/panels/packages-panel.tsx +635 -0
  322. package/src/components/editor/chrome/panels/packages-state.ts +5 -0
  323. package/src/components/editor/chrome/panels/scratchpad-panel.tsx +8 -0
  324. package/src/components/editor/chrome/panels/secrets-panel.tsx +155 -0
  325. package/src/components/editor/chrome/panels/snippets-panel.css +11 -0
  326. package/src/components/editor/chrome/panels/snippets-panel.tsx +230 -0
  327. package/src/components/editor/chrome/panels/tracing-panel.tsx +28 -0
  328. package/src/components/editor/chrome/panels/variable-panel.tsx +31 -0
  329. package/src/components/editor/chrome/panels/write-secret-modal.tsx +190 -0
  330. package/src/components/editor/chrome/state.ts +102 -0
  331. package/src/components/editor/chrome/types.ts +133 -0
  332. package/src/components/editor/chrome/wrapper/__tests__/minimap-state.test.ts +209 -0
  333. package/src/components/editor/chrome/wrapper/__tests__/storage.test.ts +41 -0
  334. package/src/components/editor/chrome/wrapper/app-chrome.css +22 -0
  335. package/src/components/editor/chrome/wrapper/app-chrome.tsx +256 -0
  336. package/src/components/editor/chrome/wrapper/footer-item.tsx +43 -0
  337. package/src/components/editor/chrome/wrapper/footer-items/ai-status.tsx +47 -0
  338. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +111 -0
  339. package/src/components/editor/chrome/wrapper/footer-items/copilot-status.tsx +125 -0
  340. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +185 -0
  341. package/src/components/editor/chrome/wrapper/footer-items/minimap-status.tsx +21 -0
  342. package/src/components/editor/chrome/wrapper/footer-items/rtc-status.tsx +65 -0
  343. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +370 -0
  344. package/src/components/editor/chrome/wrapper/footer.tsx +90 -0
  345. package/src/components/editor/chrome/wrapper/minimap-state.ts +164 -0
  346. package/src/components/editor/chrome/wrapper/minimap.tsx +443 -0
  347. package/src/components/editor/chrome/wrapper/panels.tsx +10 -0
  348. package/src/components/editor/chrome/wrapper/sidebar.tsx +100 -0
  349. package/src/components/editor/chrome/wrapper/storage.ts +56 -0
  350. package/src/components/editor/chrome/wrapper/utils.ts +8 -0
  351. package/src/components/editor/code/readonly-python-code.tsx +160 -0
  352. package/src/components/editor/columns/__tests__/storage.test.ts +104 -0
  353. package/src/components/editor/columns/cell-column.tsx +105 -0
  354. package/src/components/editor/columns/sortable-column.tsx +175 -0
  355. package/src/components/editor/columns/storage.ts +56 -0
  356. package/src/components/editor/common.ts +20 -0
  357. package/src/components/editor/controls/Controls.tsx +225 -0
  358. package/src/components/editor/controls/command-palette-button.tsx +27 -0
  359. package/src/components/editor/controls/command-palette.tsx +210 -0
  360. package/src/components/editor/controls/keyboard-shortcuts.tsx +309 -0
  361. package/src/components/editor/controls/notebook-menu-dropdown.tsx +157 -0
  362. package/src/components/editor/controls/shutdown-button.tsx +70 -0
  363. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +659 -0
  364. package/src/components/editor/database/__tests__/as-code.test.ts +598 -0
  365. package/src/components/editor/database/__tests__/secrets.test.ts +38 -0
  366. package/src/components/editor/database/add-database-form.tsx +395 -0
  367. package/src/components/editor/database/as-code.ts +786 -0
  368. package/src/components/editor/database/form-renderers.tsx +211 -0
  369. package/src/components/editor/database/schemas.ts +485 -0
  370. package/src/components/editor/database/secrets.ts +25 -0
  371. package/src/components/editor/documentation.css +139 -0
  372. package/src/components/editor/dynamic-favicon.tsx +126 -0
  373. package/src/components/editor/errors/auto-fix.tsx +61 -0
  374. package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +321 -0
  375. package/src/components/editor/file-tree/file-explorer.tsx +679 -0
  376. package/src/components/editor/file-tree/file-viewer.tsx +283 -0
  377. package/src/components/editor/file-tree/renderers.tsx +83 -0
  378. package/src/components/editor/file-tree/requesting-tree.tsx +228 -0
  379. package/src/components/editor/file-tree/state.tsx +26 -0
  380. package/src/components/editor/file-tree/types.ts +118 -0
  381. package/src/components/editor/file-tree/upload.tsx +101 -0
  382. package/src/components/editor/header/app-header.tsx +28 -0
  383. package/src/components/editor/header/filename-form.tsx +27 -0
  384. package/src/components/editor/header/filename-input.css +21 -0
  385. package/src/components/editor/header/filename-input.tsx +244 -0
  386. package/src/components/editor/header/status.tsx +72 -0
  387. package/src/components/editor/inputs/Inputs.css +118 -0
  388. package/src/components/editor/inputs/Inputs.styles.ts +66 -0
  389. package/src/components/editor/inputs/Inputs.tsx +34 -0
  390. package/src/components/editor/kiosk-mode.tsx +25 -0
  391. package/src/components/editor/links/cell-link-list.tsx +74 -0
  392. package/src/components/editor/links/cell-link.tsx +128 -0
  393. package/src/components/editor/navigation/__tests__/clipboard.test.ts +466 -0
  394. package/src/components/editor/navigation/__tests__/navigation.test.ts +1820 -0
  395. package/src/components/editor/navigation/__tests__/selection.test.ts +194 -0
  396. package/src/components/editor/navigation/clipboard.ts +205 -0
  397. package/src/components/editor/navigation/focus-utils.ts +48 -0
  398. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +499 -0
  399. package/src/components/editor/navigation/navigation.ts +700 -0
  400. package/src/components/editor/navigation/selection.ts +114 -0
  401. package/src/components/editor/navigation/state.ts +5 -0
  402. package/src/components/editor/navigation/vim-bindings.test.ts +109 -0
  403. package/src/components/editor/navigation/vim-bindings.ts +90 -0
  404. package/src/components/editor/notebook-banner.tsx +75 -0
  405. package/src/components/editor/output/CalloutOutput.styles.ts +22 -0
  406. package/src/components/editor/output/CalloutOutput.tsx +19 -0
  407. package/src/components/editor/output/ConsoleOutput.tsx +276 -0
  408. package/src/components/editor/output/EmotionCacheProvider.tsx +32 -0
  409. package/src/components/editor/output/HtmlOutput.tsx +25 -0
  410. package/src/components/editor/output/ImageOutput.tsx +25 -0
  411. package/src/components/editor/output/JsonOutput.tsx +424 -0
  412. package/src/components/editor/output/MarimoErrorOutput.tsx +511 -0
  413. package/src/components/editor/output/MarimoTracebackOutput.tsx +233 -0
  414. package/src/components/editor/output/Outputs.css +102 -0
  415. package/src/components/editor/output/TextOutput.tsx +42 -0
  416. package/src/components/editor/output/VideoOutput.tsx +11 -0
  417. package/src/components/editor/output/__tests__/ansi.test.ts +39 -0
  418. package/src/components/editor/output/__tests__/json-output.test.ts +269 -0
  419. package/src/components/editor/output/__tests__/traceback.test.tsx +105 -0
  420. package/src/components/editor/output/useWrapText.ts +14 -0
  421. package/src/components/editor/package-alert.tsx +596 -0
  422. package/src/components/editor/renderMimeIcon.tsx +38 -0
  423. package/src/components/editor/renderers/CellArray.tsx +352 -0
  424. package/src/components/editor/renderers/cells-renderer.tsx +96 -0
  425. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +650 -0
  426. package/src/components/editor/renderers/grid-layout/plugin.tsx +146 -0
  427. package/src/components/editor/renderers/grid-layout/styles.css +31 -0
  428. package/src/components/editor/renderers/grid-layout/types.ts +89 -0
  429. package/src/components/editor/renderers/layout-select.tsx +86 -0
  430. package/src/components/editor/renderers/plugins.ts +31 -0
  431. package/src/components/editor/renderers/slides-layout/plugin.tsx +31 -0
  432. package/src/components/editor/renderers/slides-layout/slides-layout.tsx +74 -0
  433. package/src/components/editor/renderers/slides-layout/types.ts +12 -0
  434. package/src/components/editor/renderers/types.ts +75 -0
  435. package/src/components/editor/renderers/vertical-layout/__tests__/useDelayVisibility.test.ts +87 -0
  436. package/src/components/editor/renderers/vertical-layout/__tests__/useFocusFirstEditor.test.ts +123 -0
  437. package/src/components/editor/renderers/vertical-layout/__tests__/vertical-layout.test.ts +173 -0
  438. package/src/components/editor/renderers/vertical-layout/sidebar/__tests__/sidebar.test.tsx +56 -0
  439. package/src/components/editor/renderers/vertical-layout/sidebar/sheet-sidebar.tsx +32 -0
  440. package/src/components/editor/renderers/vertical-layout/sidebar/sidebar-slot.tsx +10 -0
  441. package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.css +20 -0
  442. package/src/components/editor/renderers/vertical-layout/sidebar/sidebar.tsx +30 -0
  443. package/src/components/editor/renderers/vertical-layout/sidebar/state.ts +46 -0
  444. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +25 -0
  445. package/src/components/editor/renderers/vertical-layout/sidebar/wrapped-with-sidebar.tsx +38 -0
  446. package/src/components/editor/renderers/vertical-layout/useDelayVisibility.ts +32 -0
  447. package/src/components/editor/renderers/vertical-layout/useFocusFirstEditor.ts +107 -0
  448. package/src/components/editor/renderers/vertical-layout/vertical-layout-wrapper.tsx +46 -0
  449. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +451 -0
  450. package/src/components/editor/stdin-blocking-alert.tsx +83 -0
  451. package/src/components/export/export-output-button.tsx +14 -0
  452. package/src/components/find-replace/find-replace.tsx +293 -0
  453. package/src/components/forms/__tests__/form-utils.test.ts +104 -0
  454. package/src/components/forms/form-utils.ts +90 -0
  455. package/src/components/forms/form.tsx +817 -0
  456. package/src/components/forms/options.ts +59 -0
  457. package/src/components/forms/switchable-multi-select.tsx +134 -0
  458. package/src/components/home/components.tsx +189 -0
  459. package/src/components/home/state.ts +30 -0
  460. package/src/components/icons/copy-icon.tsx +59 -0
  461. package/src/components/icons/github-copilot.tsx +17 -0
  462. package/src/components/icons/large-spinner.tsx +39 -0
  463. package/src/components/icons/loading-ellipsis.tsx +46 -0
  464. package/src/components/icons/multi-icon.css +9 -0
  465. package/src/components/icons/multi-icon.tsx +30 -0
  466. package/src/components/icons/spinner.tsx +38 -0
  467. package/src/components/layout/toolbar.tsx +26 -0
  468. package/src/components/modal/ImperativeModal.tsx +187 -0
  469. package/src/components/pages/edit-page.tsx +37 -0
  470. package/src/components/pages/home-page.tsx +514 -0
  471. package/src/components/pages/run-page.tsx +55 -0
  472. package/src/components/scratchpad/scratchpad-history.ts +28 -0
  473. package/src/components/scratchpad/scratchpad.tsx +280 -0
  474. package/src/components/shortcuts/renderShortcut.tsx +208 -0
  475. package/src/components/slides/slides-component.tsx +132 -0
  476. package/src/components/slides/slides.css +100 -0
  477. package/src/components/sort/SortableCellsProvider.tsx +242 -0
  478. package/src/components/static-html/share-modal.tsx +181 -0
  479. package/src/components/static-html/static-banner.tsx +164 -0
  480. package/src/components/terminal/terminal.tsx +110 -0
  481. package/src/components/terminal/xterm.css +3 -0
  482. package/src/components/tracing/tracing-spec.ts +118 -0
  483. package/src/components/tracing/tracing.test.tsx +66 -0
  484. package/src/components/tracing/tracing.tsx +410 -0
  485. package/src/components/ui/accordion.tsx +70 -0
  486. package/src/components/ui/alert-dialog.tsx +176 -0
  487. package/src/components/ui/alert.tsx +64 -0
  488. package/src/components/ui/aria-popover.tsx +43 -0
  489. package/src/components/ui/badge.tsx +41 -0
  490. package/src/components/ui/button.tsx +156 -0
  491. package/src/components/ui/calendar.tsx +231 -0
  492. package/src/components/ui/card.tsx +83 -0
  493. package/src/components/ui/checkbox.tsx +33 -0
  494. package/src/components/ui/combobox.tsx +278 -0
  495. package/src/components/ui/command.tsx +165 -0
  496. package/src/components/ui/context-menu.tsx +193 -0
  497. package/src/components/ui/date-input.tsx +127 -0
  498. package/src/components/ui/date-picker.tsx +188 -0
  499. package/src/components/ui/dialog.tsx +155 -0
  500. package/src/components/ui/draggable-popover.tsx +68 -0
  501. package/src/components/ui/dropdown-menu.tsx +189 -0
  502. package/src/components/ui/field.tsx +90 -0
  503. package/src/components/ui/form.tsx +224 -0
  504. package/src/components/ui/fullscreen.tsx +38 -0
  505. package/src/components/ui/input.tsx +208 -0
  506. package/src/components/ui/kbd.tsx +22 -0
  507. package/src/components/ui/label.tsx +26 -0
  508. package/src/components/ui/links.tsx +23 -0
  509. package/src/components/ui/menu-items.tsx +101 -0
  510. package/src/components/ui/native-select.tsx +39 -0
  511. package/src/components/ui/navigation.tsx +154 -0
  512. package/src/components/ui/number-field.tsx +99 -0
  513. package/src/components/ui/popover.tsx +63 -0
  514. package/src/components/ui/progress.tsx +28 -0
  515. package/src/components/ui/radio-group.tsx +44 -0
  516. package/src/components/ui/range-slider.tsx +102 -0
  517. package/src/components/ui/scroll-area.tsx +47 -0
  518. package/src/components/ui/select.tsx +167 -0
  519. package/src/components/ui/sheet.tsx +143 -0
  520. package/src/components/ui/skeleton.tsx +16 -0
  521. package/src/components/ui/slider.tsx +80 -0
  522. package/src/components/ui/switch.tsx +54 -0
  523. package/src/components/ui/table.tsx +122 -0
  524. package/src/components/ui/tabs.tsx +55 -0
  525. package/src/components/ui/textarea.tsx +104 -0
  526. package/src/components/ui/toast.tsx +133 -0
  527. package/src/components/ui/toaster.tsx +30 -0
  528. package/src/components/ui/toggle.tsx +49 -0
  529. package/src/components/ui/tooltip.tsx +87 -0
  530. package/src/components/ui/typography.tsx +207 -0
  531. package/src/components/ui/use-restore-focus.ts +28 -0
  532. package/src/components/ui/use-toast.ts +224 -0
  533. package/src/components/utils/delay-mount.tsx +81 -0
  534. package/src/components/utils/lazy-mount.tsx +24 -0
  535. package/src/components/variables/common.tsx +37 -0
  536. package/src/components/variables/variables-table.tsx +335 -0
  537. package/src/core/MarimoApp.tsx +103 -0
  538. package/src/core/ai/__tests__/model-registry.test.ts +357 -0
  539. package/src/core/ai/chat-utils.ts +71 -0
  540. package/src/core/ai/config.ts +76 -0
  541. package/src/core/ai/context/__tests__/registry.test.ts +516 -0
  542. package/src/core/ai/context/context.ts +16 -0
  543. package/src/core/ai/context/providers/__tests__/__snapshots__/tables.test.ts.snap +291 -0
  544. package/src/core/ai/context/providers/__tests__/__snapshots__/variable.test.ts.snap +378 -0
  545. package/src/core/ai/context/providers/__tests__/tables.test.ts +271 -0
  546. package/src/core/ai/context/providers/__tests__/variable.test.ts +312 -0
  547. package/src/core/ai/context/providers/common.ts +7 -0
  548. package/src/core/ai/context/providers/tables.ts +208 -0
  549. package/src/core/ai/context/providers/variable.ts +72 -0
  550. package/src/core/ai/context/registry.ts +180 -0
  551. package/src/core/ai/ids/__tests__/ids.test.ts +193 -0
  552. package/src/core/ai/ids/ids.ts +71 -0
  553. package/src/core/ai/model-registry.ts +164 -0
  554. package/src/core/ai/state.ts +58 -0
  555. package/src/core/alerts/state.ts +75 -0
  556. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +1312 -0
  557. package/src/core/cells/__tests__/add-missing-import.test.ts +78 -0
  558. package/src/core/cells/__tests__/cell.test.ts +193 -0
  559. package/src/core/cells/__tests__/cells.test.ts +2664 -0
  560. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +239 -0
  561. package/src/core/cells/__tests__/focus.test.ts +271 -0
  562. package/src/core/cells/__tests__/ids.test.ts +90 -0
  563. package/src/core/cells/__tests__/names.test.ts +62 -0
  564. package/src/core/cells/__tests__/pending-delete-service.test.tsx +202 -0
  565. package/src/core/cells/__tests__/runs.test.ts +453 -0
  566. package/src/core/cells/__tests__/session.test.ts +757 -0
  567. package/src/core/cells/__tests__/utils.test.ts +428 -0
  568. package/src/core/cells/actions.ts +21 -0
  569. package/src/core/cells/add-missing-import.ts +114 -0
  570. package/src/core/cells/cell.ts +243 -0
  571. package/src/core/cells/cells.ts +1751 -0
  572. package/src/core/cells/collapseConsoleOutputs.tsx +133 -0
  573. package/src/core/cells/effects.ts +42 -0
  574. package/src/core/cells/focus.ts +128 -0
  575. package/src/core/cells/ids.ts +124 -0
  576. package/src/core/cells/logs.ts +114 -0
  577. package/src/core/cells/names.ts +107 -0
  578. package/src/core/cells/outline.ts +30 -0
  579. package/src/core/cells/outputs.ts +34 -0
  580. package/src/core/cells/pending-delete-service.ts +183 -0
  581. package/src/core/cells/runs.ts +196 -0
  582. package/src/core/cells/scrollCellIntoView.ts +133 -0
  583. package/src/core/cells/session.ts +281 -0
  584. package/src/core/cells/types.ts +128 -0
  585. package/src/core/cells/utils.ts +141 -0
  586. package/src/core/codemirror/__tests__/__snapshots__/setup.test.ts.snap +216 -0
  587. package/src/core/codemirror/__tests__/extensions.test.ts +117 -0
  588. package/src/core/codemirror/__tests__/format.test.ts +227 -0
  589. package/src/core/codemirror/__tests__/setup.test.ts +178 -0
  590. package/src/core/codemirror/ai/request.ts +72 -0
  591. package/src/core/codemirror/ai/resources.ts +90 -0
  592. package/src/core/codemirror/cells/extensions.ts +387 -0
  593. package/src/core/codemirror/cells/state.ts +32 -0
  594. package/src/core/codemirror/cells/traceback-decorations.ts +111 -0
  595. package/src/core/codemirror/cm.ts +267 -0
  596. package/src/core/codemirror/compat/__tests__/jupyter.test.ts +136 -0
  597. package/src/core/codemirror/compat/jupyter.tsx +244 -0
  598. package/src/core/codemirror/completion/Autocompleter.ts +172 -0
  599. package/src/core/codemirror/completion/__tests__/hints.test.ts +84 -0
  600. package/src/core/codemirror/completion/__tests__/keymap.test.ts +44 -0
  601. package/src/core/codemirror/completion/completer.ts +58 -0
  602. package/src/core/codemirror/completion/hints.ts +143 -0
  603. package/src/core/codemirror/completion/keymap.ts +70 -0
  604. package/src/core/codemirror/completion/utils.ts +18 -0
  605. package/src/core/codemirror/completion/variable-completions.ts +100 -0
  606. package/src/core/codemirror/config/extension.ts +63 -0
  607. package/src/core/codemirror/config/types.ts +10 -0
  608. package/src/core/codemirror/copilot/__tests__/copilot.test.ts +260 -0
  609. package/src/core/codemirror/copilot/__tests__/getCodes.test.ts +209 -0
  610. package/src/core/codemirror/copilot/__tests__/trim-utils.test.ts +291 -0
  611. package/src/core/codemirror/copilot/client.ts +123 -0
  612. package/src/core/codemirror/copilot/copilot-config.tsx +285 -0
  613. package/src/core/codemirror/copilot/extension.ts +285 -0
  614. package/src/core/codemirror/copilot/getCodes.ts +130 -0
  615. package/src/core/codemirror/copilot/language-server.ts +255 -0
  616. package/src/core/codemirror/copilot/state.ts +66 -0
  617. package/src/core/codemirror/copilot/trim-utils.ts +33 -0
  618. package/src/core/codemirror/copilot/types.ts +41 -0
  619. package/src/core/codemirror/editing/__tests__/commands.test.ts +106 -0
  620. package/src/core/codemirror/editing/__tests__/debugging.test.ts +193 -0
  621. package/src/core/codemirror/editing/commands.ts +25 -0
  622. package/src/core/codemirror/editing/debugging.ts +58 -0
  623. package/src/core/codemirror/editing/extensions.ts +4 -0
  624. package/src/core/codemirror/extensions.ts +95 -0
  625. package/src/core/codemirror/facet.ts +19 -0
  626. package/src/core/codemirror/find-replace/__tests__/navigate.test.ts +695 -0
  627. package/src/core/codemirror/find-replace/extension.ts +41 -0
  628. package/src/core/codemirror/find-replace/navigate.ts +221 -0
  629. package/src/core/codemirror/find-replace/query.ts +31 -0
  630. package/src/core/codemirror/find-replace/search-highlight.ts +148 -0
  631. package/src/core/codemirror/find-replace/state.ts +167 -0
  632. package/src/core/codemirror/format.ts +120 -0
  633. package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +205 -0
  634. package/src/core/codemirror/go-to-definition/commands.ts +80 -0
  635. package/src/core/codemirror/go-to-definition/extension.ts +23 -0
  636. package/src/core/codemirror/go-to-definition/underline.ts +223 -0
  637. package/src/core/codemirror/go-to-definition/utils.ts +126 -0
  638. package/src/core/codemirror/keymaps/__tests__/keymaps.test.ts +43 -0
  639. package/src/core/codemirror/keymaps/__tests__/vimrc.test.ts +121 -0
  640. package/src/core/codemirror/keymaps/keymaps.ts +163 -0
  641. package/src/core/codemirror/keymaps/vim.ts +348 -0
  642. package/src/core/codemirror/keymaps/vimrc.ts +149 -0
  643. package/src/core/codemirror/language/LanguageAdapters.ts +23 -0
  644. package/src/core/codemirror/language/__tests__/ast.test.ts +124 -0
  645. package/src/core/codemirror/language/__tests__/extension.test.ts +260 -0
  646. package/src/core/codemirror/language/__tests__/indentOneTab.test.ts +31 -0
  647. package/src/core/codemirror/language/__tests__/markdown.test.ts +495 -0
  648. package/src/core/codemirror/language/__tests__/sql.test.ts +1640 -0
  649. package/src/core/codemirror/language/__tests__/utils.test.ts +166 -0
  650. package/src/core/codemirror/language/commands.ts +59 -0
  651. package/src/core/codemirror/language/embedded/__tests__/embedded-python.test.ts +163 -0
  652. package/src/core/codemirror/language/embedded/embedded-python.ts +131 -0
  653. package/src/core/codemirror/language/embedded/latex.ts +257 -0
  654. package/src/core/codemirror/language/extension.ts +322 -0
  655. package/src/core/codemirror/language/languages/markdown.ts +261 -0
  656. package/src/core/codemirror/language/languages/python.ts +329 -0
  657. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +99 -0
  658. package/src/core/codemirror/language/languages/sql/completion-store.ts +191 -0
  659. package/src/core/codemirror/language/languages/sql/sql.ts +545 -0
  660. package/src/core/codemirror/language/languages/sql/utils.ts +42 -0
  661. package/src/core/codemirror/language/metadata.ts +71 -0
  662. package/src/core/codemirror/language/panel/markdown.tsx +63 -0
  663. package/src/core/codemirror/language/panel/panel.tsx +197 -0
  664. package/src/core/codemirror/language/panel/sql.tsx +132 -0
  665. package/src/core/codemirror/language/types.ts +41 -0
  666. package/src/core/codemirror/language/utils/ast.ts +84 -0
  667. package/src/core/codemirror/language/utils/indentOneTab.ts +9 -0
  668. package/src/core/codemirror/language/utils/quotes.ts +18 -0
  669. package/src/core/codemirror/language/utils.ts +78 -0
  670. package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +860 -0
  671. package/src/core/codemirror/lsp/federated-lsp.ts +235 -0
  672. package/src/core/codemirror/lsp/lens.ts +130 -0
  673. package/src/core/codemirror/lsp/notebook-lsp.ts +604 -0
  674. package/src/core/codemirror/lsp/transports.ts +31 -0
  675. package/src/core/codemirror/lsp/types.ts +55 -0
  676. package/src/core/codemirror/lsp/utils.ts +11 -0
  677. package/src/core/codemirror/markdown/__tests__/commands.test.ts +522 -0
  678. package/src/core/codemirror/markdown/commands.ts +478 -0
  679. package/src/core/codemirror/markdown/completions.ts +273 -0
  680. package/src/core/codemirror/markdown/extension.ts +106 -0
  681. package/src/core/codemirror/misc/__tests__/dnd.test.ts +111 -0
  682. package/src/core/codemirror/misc/__tests__/paste.test.ts +239 -0
  683. package/src/core/codemirror/misc/dnd.ts +48 -0
  684. package/src/core/codemirror/misc/paste.ts +181 -0
  685. package/src/core/codemirror/placeholder/__tests__/extensions.test.ts +132 -0
  686. package/src/core/codemirror/placeholder/extensions.ts +99 -0
  687. package/src/core/codemirror/react-dom/createPanel.tsx +39 -0
  688. package/src/core/codemirror/reactive-references/__tests__/analyzer.test.ts +1222 -0
  689. package/src/core/codemirror/reactive-references/analyzer.ts +608 -0
  690. package/src/core/codemirror/reactive-references/extension.ts +154 -0
  691. package/src/core/codemirror/readonly/__tests__/extension.test.ts +55 -0
  692. package/src/core/codemirror/readonly/extension.ts +187 -0
  693. package/src/core/codemirror/rtc/extension.ts +450 -0
  694. package/src/core/codemirror/rtc/loro/awareness.ts +496 -0
  695. package/src/core/codemirror/rtc/loro/colors.ts +38 -0
  696. package/src/core/codemirror/rtc/loro/sync.ts +159 -0
  697. package/src/core/codemirror/theme/__tests__/light.test.ts +136 -0
  698. package/src/core/codemirror/theme/dark.ts +50 -0
  699. package/src/core/codemirror/theme/light.ts +58 -0
  700. package/src/core/codemirror/types.ts +5 -0
  701. package/src/core/codemirror/utils.ts +103 -0
  702. package/src/core/codemirror/vim/cursor-visibility.ts +58 -0
  703. package/src/core/config/__tests__/config-schema.test.ts +232 -0
  704. package/src/core/config/capabilities.ts +15 -0
  705. package/src/core/config/config-schema.ts +296 -0
  706. package/src/core/config/config.ts +105 -0
  707. package/src/core/config/feature-flag.tsx +62 -0
  708. package/src/core/config/if-capability.tsx +19 -0
  709. package/src/core/config/widths.ts +5 -0
  710. package/src/core/constants.ts +52 -0
  711. package/src/core/datasets/__tests__/all-tables.test.ts +466 -0
  712. package/src/core/datasets/__tests__/data-source.test.ts +461 -0
  713. package/src/core/datasets/data-source-connections.ts +334 -0
  714. package/src/core/datasets/engines.ts +10 -0
  715. package/src/core/datasets/request-registry.ts +34 -0
  716. package/src/core/datasets/state.ts +143 -0
  717. package/src/core/datasets/types.ts +38 -0
  718. package/src/core/debugger/state.ts +10 -0
  719. package/src/core/documentation/state.ts +13 -0
  720. package/src/core/dom/__tests__/htmlUtils.test.ts +22 -0
  721. package/src/core/dom/__tests__/outline.test.ts +370 -0
  722. package/src/core/dom/defineCustomElement.ts +23 -0
  723. package/src/core/dom/events.ts +94 -0
  724. package/src/core/dom/htmlUtils.ts +75 -0
  725. package/src/core/dom/outline.ts +123 -0
  726. package/src/core/dom/ui-element.css +8 -0
  727. package/src/core/dom/ui-element.ts +249 -0
  728. package/src/core/dom/uiregistry.ts +209 -0
  729. package/src/core/edit-app.tsx +189 -0
  730. package/src/core/errors/__tests__/errors.test.ts +62 -0
  731. package/src/core/errors/__tests__/utils.test.ts +108 -0
  732. package/src/core/errors/errors.ts +96 -0
  733. package/src/core/errors/state.ts +44 -0
  734. package/src/core/errors/utils.ts +67 -0
  735. package/src/core/export/hooks.ts +60 -0
  736. package/src/core/functions/FunctionRegistry.ts +18 -0
  737. package/src/core/hotkeys/__tests__/shortcuts.test.ts +166 -0
  738. package/src/core/hotkeys/actions.ts +38 -0
  739. package/src/core/hotkeys/hotkeys.ts +511 -0
  740. package/src/core/hotkeys/shortcuts.ts +117 -0
  741. package/src/core/islands/__tests__/parse.test.ts +89 -0
  742. package/src/core/islands/bridge.ts +196 -0
  743. package/src/core/islands/components/output-wrapper.tsx +154 -0
  744. package/src/core/islands/components/web-components.tsx +120 -0
  745. package/src/core/islands/islands.css +14 -0
  746. package/src/core/islands/main.ts +200 -0
  747. package/src/core/islands/parse.ts +161 -0
  748. package/src/core/islands/state.ts +30 -0
  749. package/src/core/islands/toast.ts +41 -0
  750. package/src/core/islands/utils.ts +5 -0
  751. package/src/core/islands/worker/controller.ts +52 -0
  752. package/src/core/islands/worker/worker.tsx +178 -0
  753. package/src/core/kernel/RuntimeState.ts +94 -0
  754. package/src/core/kernel/__tests__/RuntimeState.test.ts +57 -0
  755. package/src/core/kernel/__tests__/handlers.test.ts +61 -0
  756. package/src/core/kernel/__tests__/session.test.ts +10 -0
  757. package/src/core/kernel/handlers.ts +159 -0
  758. package/src/core/kernel/messages.ts +54 -0
  759. package/src/core/kernel/queryParamHandlers.ts +39 -0
  760. package/src/core/kernel/session.ts +50 -0
  761. package/src/core/layout/layout.ts +99 -0
  762. package/src/core/layout/useTogglePresenting.ts +50 -0
  763. package/src/core/meta/globals.ts +25 -0
  764. package/src/core/meta/state.ts +25 -0
  765. package/src/core/mime.ts +9 -0
  766. package/src/core/mode.ts +80 -0
  767. package/src/core/network/DeferredRequestRegistry.ts +71 -0
  768. package/src/core/network/__tests__/DeferredRequestRegistry.test.ts +37 -0
  769. package/src/core/network/__tests__/api.test.ts +80 -0
  770. package/src/core/network/api.ts +145 -0
  771. package/src/core/network/auth.ts +13 -0
  772. package/src/core/network/connection.ts +33 -0
  773. package/src/core/network/requests-network.ts +398 -0
  774. package/src/core/network/requests-static.ts +88 -0
  775. package/src/core/network/requests-toasting.ts +91 -0
  776. package/src/core/network/requests.ts +24 -0
  777. package/src/core/network/resolve.ts +17 -0
  778. package/src/core/network/types.ts +188 -0
  779. package/src/core/packages/toast-components.tsx +88 -0
  780. package/src/core/packages/useInstallPackage.ts +46 -0
  781. package/src/core/rtc/state.ts +20 -0
  782. package/src/core/run-app.tsx +69 -0
  783. package/src/core/runtime/__tests__/config.test.ts +173 -0
  784. package/src/core/runtime/__tests__/createWsUrl.test.ts +61 -0
  785. package/src/core/runtime/__tests__/runtime.test.ts +603 -0
  786. package/src/core/runtime/config.ts +49 -0
  787. package/src/core/runtime/runtime.ts +277 -0
  788. package/src/core/runtime/types.ts +7 -0
  789. package/src/core/runtime/utils.ts +9 -0
  790. package/src/core/saving/file-state.ts +15 -0
  791. package/src/core/saving/filename.ts +55 -0
  792. package/src/core/saving/save-component.tsx +274 -0
  793. package/src/core/saving/state.ts +51 -0
  794. package/src/core/saving/useAutoSave.ts +68 -0
  795. package/src/core/secrets/request-registry.ts +16 -0
  796. package/src/core/slots/slots.ts +9 -0
  797. package/src/core/state/__tests__/jotai.test.ts +25 -0
  798. package/src/core/state/jotai.ts +69 -0
  799. package/src/core/state/observable.ts +23 -0
  800. package/src/core/static/__tests__/download-html.test.ts +41 -0
  801. package/src/core/static/__tests__/files.test.ts +494 -0
  802. package/src/core/static/__tests__/virtual-file-tracker.test.ts +92 -0
  803. package/src/core/static/download-html.ts +59 -0
  804. package/src/core/static/files.ts +150 -0
  805. package/src/core/static/static-state.ts +19 -0
  806. package/src/core/static/types.ts +8 -0
  807. package/src/core/static/virtual-file-tracker.ts +83 -0
  808. package/src/core/variables/__tests__/state.test.ts +148 -0
  809. package/src/core/variables/state.ts +81 -0
  810. package/src/core/variables/types.ts +22 -0
  811. package/src/core/vscode/vscode-bindings.ts +176 -0
  812. package/src/core/wasm/PyodideLoader.tsx +72 -0
  813. package/src/core/wasm/__tests__/router.test.ts +57 -0
  814. package/src/core/wasm/__tests__/share.test.ts +35 -0
  815. package/src/core/wasm/__tests__/state.test.ts +124 -0
  816. package/src/core/wasm/__tests__/store.test.ts +55 -0
  817. package/src/core/wasm/bridge.ts +622 -0
  818. package/src/core/wasm/router.ts +39 -0
  819. package/src/core/wasm/rpc.ts +32 -0
  820. package/src/core/wasm/share.ts +15 -0
  821. package/src/core/wasm/state.ts +21 -0
  822. package/src/core/wasm/store.ts +122 -0
  823. package/src/core/wasm/utils.ts +12 -0
  824. package/src/core/wasm/worker/bootstrap.ts +223 -0
  825. package/src/core/wasm/worker/constants.ts +2 -0
  826. package/src/core/wasm/worker/fs.ts +90 -0
  827. package/src/core/wasm/worker/getController.ts +16 -0
  828. package/src/core/wasm/worker/getFS.ts +9 -0
  829. package/src/core/wasm/worker/getMarimoWheel.ts +15 -0
  830. package/src/core/wasm/worker/getPyodideVersion.ts +10 -0
  831. package/src/core/wasm/worker/message-buffer.ts +32 -0
  832. package/src/core/wasm/worker/save-worker.ts +107 -0
  833. package/src/core/wasm/worker/tracer.ts +7 -0
  834. package/src/core/wasm/worker/types.ts +97 -0
  835. package/src/core/wasm/worker/worker.ts +375 -0
  836. package/src/core/websocket/StaticWebsocket.ts +61 -0
  837. package/src/core/websocket/connection-utils.ts +59 -0
  838. package/src/core/websocket/types.ts +43 -0
  839. package/src/core/websocket/useMarimoWebSocket.tsx +386 -0
  840. package/src/core/websocket/useWebSocket.tsx +88 -0
  841. package/src/css/admonition.css +127 -0
  842. package/src/css/app/App.css +77 -0
  843. package/src/css/app/Cell.css +433 -0
  844. package/src/css/app/Header.css +25 -0
  845. package/src/css/app/codemirror-completions.css +308 -0
  846. package/src/css/app/codemirror.css +136 -0
  847. package/src/css/app/fonts.css +50 -0
  848. package/src/css/app/print.css +86 -0
  849. package/src/css/app/reset.css +18 -0
  850. package/src/css/codehilite.css +354 -0
  851. package/src/css/common.css +45 -0
  852. package/src/css/globals.css +176 -0
  853. package/src/css/index.css +10 -0
  854. package/src/css/katex-fonts.css +214 -0
  855. package/src/css/katex.min.css +1182 -0
  856. package/src/css/md-tooltip.css +52 -0
  857. package/src/css/md.css +365 -0
  858. package/src/css/progress.css +93 -0
  859. package/src/css/table.css +45 -0
  860. package/src/custom.d.ts +24 -0
  861. package/src/fonts/Fira_Mono/FiraMono-Bold.ttf +0 -0
  862. package/src/fonts/Fira_Mono/FiraMono-Medium.ttf +0 -0
  863. package/src/fonts/Fira_Mono/FiraMono-Regular.ttf +0 -0
  864. package/src/fonts/KaTeX/KaTeX_AMS-Regular.ttf +0 -0
  865. package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff +0 -0
  866. package/src/fonts/KaTeX/KaTeX_AMS-Regular.woff2 +0 -0
  867. package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.ttf +0 -0
  868. package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff +0 -0
  869. package/src/fonts/KaTeX/KaTeX_Caligraphic-Bold.woff2 +0 -0
  870. package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.ttf +0 -0
  871. package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff +0 -0
  872. package/src/fonts/KaTeX/KaTeX_Caligraphic-Regular.woff2 +0 -0
  873. package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.ttf +0 -0
  874. package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff +0 -0
  875. package/src/fonts/KaTeX/KaTeX_Fraktur-Bold.woff2 +0 -0
  876. package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.ttf +0 -0
  877. package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff +0 -0
  878. package/src/fonts/KaTeX/KaTeX_Fraktur-Regular.woff2 +0 -0
  879. package/src/fonts/KaTeX/KaTeX_Main-Bold.ttf +0 -0
  880. package/src/fonts/KaTeX/KaTeX_Main-Bold.woff +0 -0
  881. package/src/fonts/KaTeX/KaTeX_Main-Bold.woff2 +0 -0
  882. package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.ttf +0 -0
  883. package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff +0 -0
  884. package/src/fonts/KaTeX/KaTeX_Main-BoldItalic.woff2 +0 -0
  885. package/src/fonts/KaTeX/KaTeX_Main-Italic.ttf +0 -0
  886. package/src/fonts/KaTeX/KaTeX_Main-Italic.woff +0 -0
  887. package/src/fonts/KaTeX/KaTeX_Main-Italic.woff2 +0 -0
  888. package/src/fonts/KaTeX/KaTeX_Main-Regular.ttf +0 -0
  889. package/src/fonts/KaTeX/KaTeX_Main-Regular.woff +0 -0
  890. package/src/fonts/KaTeX/KaTeX_Main-Regular.woff2 +0 -0
  891. package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.ttf +0 -0
  892. package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff +0 -0
  893. package/src/fonts/KaTeX/KaTeX_Math-BoldItalic.woff2 +0 -0
  894. package/src/fonts/KaTeX/KaTeX_Math-Italic.ttf +0 -0
  895. package/src/fonts/KaTeX/KaTeX_Math-Italic.woff +0 -0
  896. package/src/fonts/KaTeX/KaTeX_Math-Italic.woff2 +0 -0
  897. package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.ttf +0 -0
  898. package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff +0 -0
  899. package/src/fonts/KaTeX/KaTeX_SansSerif-Bold.woff2 +0 -0
  900. package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.ttf +0 -0
  901. package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff +0 -0
  902. package/src/fonts/KaTeX/KaTeX_SansSerif-Italic.woff2 +0 -0
  903. package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.ttf +0 -0
  904. package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff +0 -0
  905. package/src/fonts/KaTeX/KaTeX_SansSerif-Regular.woff2 +0 -0
  906. package/src/fonts/KaTeX/KaTeX_Script-Regular.ttf +0 -0
  907. package/src/fonts/KaTeX/KaTeX_Script-Regular.woff +0 -0
  908. package/src/fonts/KaTeX/KaTeX_Script-Regular.woff2 +0 -0
  909. package/src/fonts/KaTeX/KaTeX_Size1-Regular.ttf +0 -0
  910. package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff +0 -0
  911. package/src/fonts/KaTeX/KaTeX_Size1-Regular.woff2 +0 -0
  912. package/src/fonts/KaTeX/KaTeX_Size2-Regular.ttf +0 -0
  913. package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff +0 -0
  914. package/src/fonts/KaTeX/KaTeX_Size2-Regular.woff2 +0 -0
  915. package/src/fonts/KaTeX/KaTeX_Size3-Regular.ttf +0 -0
  916. package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff +0 -0
  917. package/src/fonts/KaTeX/KaTeX_Size3-Regular.woff2 +0 -0
  918. package/src/fonts/KaTeX/KaTeX_Size4-Regular.ttf +0 -0
  919. package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff +0 -0
  920. package/src/fonts/KaTeX/KaTeX_Size4-Regular.woff2 +0 -0
  921. package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.ttf +0 -0
  922. package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff +0 -0
  923. package/src/fonts/KaTeX/KaTeX_Typewriter-Regular.woff2 +0 -0
  924. package/src/fonts/Lora/Lora-Italic-VariableFont_wght.ttf +0 -0
  925. package/src/fonts/Lora/Lora-VariableFont_wght.ttf +0 -0
  926. package/src/fonts/Lora/static/Lora-Bold.ttf +0 -0
  927. package/src/fonts/Lora/static/Lora-BoldItalic.ttf +0 -0
  928. package/src/fonts/Lora/static/Lora-Italic.ttf +0 -0
  929. package/src/fonts/Lora/static/Lora-Medium.ttf +0 -0
  930. package/src/fonts/Lora/static/Lora-MediumItalic.ttf +0 -0
  931. package/src/fonts/Lora/static/Lora-Regular.ttf +0 -0
  932. package/src/fonts/Lora/static/Lora-SemiBold.ttf +0 -0
  933. package/src/fonts/Lora/static/Lora-SemiBoldItalic.ttf +0 -0
  934. package/src/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  935. package/src/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  936. package/src/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  937. package/src/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  938. package/src/hooks/__tests__/useBoolean.test.tsx +33 -0
  939. package/src/hooks/__tests__/useDebounce.test.tsx +182 -0
  940. package/src/hooks/__tests__/useEffectSkipFirstRender.test.tsx +42 -0
  941. package/src/hooks/__tests__/useEventListener.test.tsx +148 -0
  942. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +76 -0
  943. package/src/hooks/__tests__/useInterval.test.tsx +70 -0
  944. package/src/hooks/__tests__/usePackageMetadata.test.tsx +219 -0
  945. package/src/hooks/__tests__/useResizeHandle.test.tsx +240 -0
  946. package/src/hooks/__tests__/useResizeObserver.test.tsx +86 -0
  947. package/src/hooks/__tests__/useTimer.test.tsx +62 -0
  948. package/src/hooks/debug.ts +116 -0
  949. package/src/hooks/useAsyncData.ts +392 -0
  950. package/src/hooks/useAudioRecorder.ts +89 -0
  951. package/src/hooks/useAutoGrowInputProps.ts +56 -0
  952. package/src/hooks/useBoolean.ts +26 -0
  953. package/src/hooks/useCellRenderCount.ts +15 -0
  954. package/src/hooks/useDebounce.ts +95 -0
  955. package/src/hooks/useDeepCompareMemoize.ts +22 -0
  956. package/src/hooks/useEffectSkipFirstRender.ts +24 -0
  957. package/src/hooks/useElapsedTime.ts +25 -0
  958. package/src/hooks/useEvent.ts +2 -0
  959. package/src/hooks/useEventListener.ts +68 -0
  960. package/src/hooks/useHotkey.ts +77 -0
  961. package/src/hooks/useInternalStateWithSync.ts +26 -0
  962. package/src/hooks/useInterval.ts +49 -0
  963. package/src/hooks/useIsDragging.tsx +39 -0
  964. package/src/hooks/useLifecycle.ts +20 -0
  965. package/src/hooks/useLocalStorage.ts +22 -0
  966. package/src/hooks/useNonce.ts +9 -0
  967. package/src/hooks/usePackageMetadata.ts +52 -0
  968. package/src/hooks/useRecentCommands.ts +25 -0
  969. package/src/hooks/useResizeHandle.ts +110 -0
  970. package/src/hooks/useResizeObserver.ts +101 -0
  971. package/src/hooks/useScript.ts +90 -0
  972. package/src/hooks/useSelectAllContent.ts +42 -0
  973. package/src/hooks/useTimer.ts +48 -0
  974. package/src/main.tsx +20 -0
  975. package/src/mount.tsx +331 -0
  976. package/src/plugins/core/BadPlugin.tsx +72 -0
  977. package/src/plugins/core/RenderHTML.tsx +136 -0
  978. package/src/plugins/core/__test__/RenderHTML.test.ts +146 -0
  979. package/src/plugins/core/builder.ts +59 -0
  980. package/src/plugins/core/registerReactComponent.tsx +535 -0
  981. package/src/plugins/core/rpc.ts +55 -0
  982. package/src/plugins/core/sidebar-element.tsx +104 -0
  983. package/src/plugins/impl/ButtonPlugin.tsx +95 -0
  984. package/src/plugins/impl/CheckboxPlugin.tsx +56 -0
  985. package/src/plugins/impl/CodeEditorPlugin.tsx +119 -0
  986. package/src/plugins/impl/DataEditorPlugin.tsx +181 -0
  987. package/src/plugins/impl/DataTablePlugin.tsx +948 -0
  988. package/src/plugins/impl/DatePickerPlugin.tsx +74 -0
  989. package/src/plugins/impl/DateRangePlugin.tsx +82 -0
  990. package/src/plugins/impl/DateTimePickerPlugin.tsx +76 -0
  991. package/src/plugins/impl/DictPlugin.tsx +80 -0
  992. package/src/plugins/impl/DropdownPlugin.tsx +102 -0
  993. package/src/plugins/impl/FileBrowserPlugin.tsx +500 -0
  994. package/src/plugins/impl/FileUploadPlugin.tsx +302 -0
  995. package/src/plugins/impl/FormPlugin.tsx +294 -0
  996. package/src/plugins/impl/MicrophonePlugin.tsx +58 -0
  997. package/src/plugins/impl/MultiselectPlugin.tsx +207 -0
  998. package/src/plugins/impl/NumberPlugin.tsx +84 -0
  999. package/src/plugins/impl/RadioPlugin.tsx +77 -0
  1000. package/src/plugins/impl/RangeSliderPlugin.tsx +163 -0
  1001. package/src/plugins/impl/RefreshPlugin.tsx +158 -0
  1002. package/src/plugins/impl/SearchableSelect.tsx +122 -0
  1003. package/src/plugins/impl/SliderPlugin.tsx +166 -0
  1004. package/src/plugins/impl/SwitchPlugin.tsx +48 -0
  1005. package/src/plugins/impl/TabsPlugin.tsx +83 -0
  1006. package/src/plugins/impl/TextAreaPlugin.tsx +131 -0
  1007. package/src/plugins/impl/TextInputPlugin.tsx +169 -0
  1008. package/src/plugins/impl/__tests__/DateTimePickerPlugin.test.tsx +45 -0
  1009. package/src/plugins/impl/__tests__/DropdownPlugin.test.tsx +178 -0
  1010. package/src/plugins/impl/__tests__/MultiSelectPlugin.test.ts +41 -0
  1011. package/src/plugins/impl/__tests__/NumberPlugin.test.tsx +144 -0
  1012. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +269 -0
  1013. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +181 -0
  1014. package/src/plugins/impl/anywidget/__tests__/model.test.ts +370 -0
  1015. package/src/plugins/impl/anywidget/model.ts +314 -0
  1016. package/src/plugins/impl/chat/ChatPlugin.tsx +98 -0
  1017. package/src/plugins/impl/chat/chat-ui.tsx +713 -0
  1018. package/src/plugins/impl/chat/types.ts +39 -0
  1019. package/src/plugins/impl/code/LazyAnyLanguageCodeMirror.tsx +6 -0
  1020. package/src/plugins/impl/code/any-language-editor.tsx +68 -0
  1021. package/src/plugins/impl/common/error-banner.tsx +111 -0
  1022. package/src/plugins/impl/common/intent.ts +18 -0
  1023. package/src/plugins/impl/common/labeled.tsx +69 -0
  1024. package/src/plugins/impl/data-editor/__tests__/data-utils.test.ts +876 -0
  1025. package/src/plugins/impl/data-editor/__tests__/glide-utils.test.ts +452 -0
  1026. package/src/plugins/impl/data-editor/components.tsx +179 -0
  1027. package/src/plugins/impl/data-editor/data-utils.ts +123 -0
  1028. package/src/plugins/impl/data-editor/glide-data-editor.tsx +651 -0
  1029. package/src/plugins/impl/data-editor/glide-utils.ts +200 -0
  1030. package/src/plugins/impl/data-editor/themes.ts +49 -0
  1031. package/src/plugins/impl/data-editor/types.ts +44 -0
  1032. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +268 -0
  1033. package/src/plugins/impl/data-explorer/DataExplorerPlugin.tsx +31 -0
  1034. package/src/plugins/impl/data-explorer/components/column-summary.tsx +174 -0
  1035. package/src/plugins/impl/data-explorer/components/icons.tsx +30 -0
  1036. package/src/plugins/impl/data-explorer/components/query-form.tsx +296 -0
  1037. package/src/plugins/impl/data-explorer/encoding.ts +107 -0
  1038. package/src/plugins/impl/data-explorer/functions/function.ts +83 -0
  1039. package/src/plugins/impl/data-explorer/functions/types.ts +32 -0
  1040. package/src/plugins/impl/data-explorer/marks.ts +21 -0
  1041. package/src/plugins/impl/data-explorer/queries/field-suggestion.ts +65 -0
  1042. package/src/plugins/impl/data-explorer/queries/histograms.ts +41 -0
  1043. package/src/plugins/impl/data-explorer/queries/queries.ts +204 -0
  1044. package/src/plugins/impl/data-explorer/queries/removeUndefined.ts +11 -0
  1045. package/src/plugins/impl/data-explorer/queries/types.ts +54 -0
  1046. package/src/plugins/impl/data-explorer/queries/utils.ts +85 -0
  1047. package/src/plugins/impl/data-explorer/spec.ts +28 -0
  1048. package/src/plugins/impl/data-explorer/state/reducer.ts +92 -0
  1049. package/src/plugins/impl/data-explorer/state/types.ts +28 -0
  1050. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +303 -0
  1051. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +1600 -0
  1052. package/src/plugins/impl/data-frames/forms/__tests__/form.test.tsx +67 -0
  1053. package/src/plugins/impl/data-frames/forms/context.ts +13 -0
  1054. package/src/plugins/impl/data-frames/forms/datatype-icon.tsx +43 -0
  1055. package/src/plugins/impl/data-frames/forms/renderers.tsx +518 -0
  1056. package/src/plugins/impl/data-frames/panel.tsx +308 -0
  1057. package/src/plugins/impl/data-frames/schema.ts +211 -0
  1058. package/src/plugins/impl/data-frames/types.ts +91 -0
  1059. package/src/plugins/impl/data-frames/utils/__tests__/getUpdatedColumnTypes.test.ts +191 -0
  1060. package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +116 -0
  1061. package/src/plugins/impl/data-frames/utils/getUpdatedColumnTypes.ts +67 -0
  1062. package/src/plugins/impl/data-frames/utils/operators.ts +202 -0
  1063. package/src/plugins/impl/image-comparison/ImageComparisonComponent.tsx +39 -0
  1064. package/src/plugins/impl/multiselectFilterFn.tsx +22 -0
  1065. package/src/plugins/impl/panel/PanelPlugin.tsx +266 -0
  1066. package/src/plugins/impl/panel/__tests__/utils.test.ts +119 -0
  1067. package/src/plugins/impl/panel/utils.ts +104 -0
  1068. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +300 -0
  1069. package/src/plugins/impl/plotly/__tests__/parse-from-template.test.ts +73 -0
  1070. package/src/plugins/impl/plotly/mapbox.css +359 -0
  1071. package/src/plugins/impl/plotly/parse-from-template.ts +58 -0
  1072. package/src/plugins/impl/plotly/plotly.css +280 -0
  1073. package/src/plugins/impl/vega/VegaPlugin.tsx +40 -0
  1074. package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +1210 -0
  1075. package/src/plugins/impl/vega/__tests__/encodings.test.ts +172 -0
  1076. package/src/plugins/impl/vega/__tests__/loader.test.ts +73 -0
  1077. package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +575 -0
  1078. package/src/plugins/impl/vega/__tests__/params.test.ts +52 -0
  1079. package/src/plugins/impl/vega/__tests__/resolve-data.test.ts +236 -0
  1080. package/src/plugins/impl/vega/__tests__/vega.test.ts +603 -0
  1081. package/src/plugins/impl/vega/batched.ts +41 -0
  1082. package/src/plugins/impl/vega/encodings.ts +111 -0
  1083. package/src/plugins/impl/vega/fix-relative-url.ts +15 -0
  1084. package/src/plugins/impl/vega/formats.ts +25 -0
  1085. package/src/plugins/impl/vega/loader.ts +320 -0
  1086. package/src/plugins/impl/vega/make-selectable.ts +248 -0
  1087. package/src/plugins/impl/vega/marks.ts +36 -0
  1088. package/src/plugins/impl/vega/params.ts +192 -0
  1089. package/src/plugins/impl/vega/resolve-data.ts +101 -0
  1090. package/src/plugins/impl/vega/types.ts +32 -0
  1091. package/src/plugins/impl/vega/utils.ts +46 -0
  1092. package/src/plugins/impl/vega/vega-component.tsx +271 -0
  1093. package/src/plugins/impl/vega/vega-loader.ts +53 -0
  1094. package/src/plugins/impl/vega/vega.css +31 -0
  1095. package/src/plugins/layout/AccordionPlugin.tsx +63 -0
  1096. package/src/plugins/layout/CalloutPlugin.tsx +34 -0
  1097. package/src/plugins/layout/DownloadPlugin.tsx +136 -0
  1098. package/src/plugins/layout/ImageComparisonPlugin.tsx +35 -0
  1099. package/src/plugins/layout/JsonOutputPlugin.tsx +47 -0
  1100. package/src/plugins/layout/LazyPlugin.tsx +98 -0
  1101. package/src/plugins/layout/MimeRenderPlugin.tsx +45 -0
  1102. package/src/plugins/layout/NavigationMenuPlugin.tsx +219 -0
  1103. package/src/plugins/layout/ProgressPlugin.tsx +175 -0
  1104. package/src/plugins/layout/RoutesPlugin.tsx +81 -0
  1105. package/src/plugins/layout/StatPlugin.tsx +100 -0
  1106. package/src/plugins/layout/TexPlugin.tsx +102 -0
  1107. package/src/plugins/layout/__test__/ProgressPlugin.test.ts +26 -0
  1108. package/src/plugins/layout/carousel/CarouselPlugin.tsx +48 -0
  1109. package/src/plugins/layout/mermaid/MermaidPlugin.tsx +26 -0
  1110. package/src/plugins/layout/mermaid/mermaid.tsx +94 -0
  1111. package/src/plugins/layout/navigation-menu.css +37 -0
  1112. package/src/plugins/plugins.ts +116 -0
  1113. package/src/plugins/stateless-plugin.ts +29 -0
  1114. package/src/plugins/types.ts +82 -0
  1115. package/src/stories/__fixtures__/vega.ts +225 -0
  1116. package/src/stories/accordion.stories.tsx +100 -0
  1117. package/src/stories/alert-dialog.mdx +42 -0
  1118. package/src/stories/app-chrome.stories.tsx +26 -0
  1119. package/src/stories/button.stories.tsx +90 -0
  1120. package/src/stories/callout.stories.tsx +73 -0
  1121. package/src/stories/cell-status.stories.tsx +145 -0
  1122. package/src/stories/cell.stories.tsx +336 -0
  1123. package/src/stories/checkbox.stories.tsx +44 -0
  1124. package/src/stories/colors.stories.tsx +156 -0
  1125. package/src/stories/combobox.stories.tsx +133 -0
  1126. package/src/stories/context-menu.mdx +23 -0
  1127. package/src/stories/data-explorer.stories.tsx +30 -0
  1128. package/src/stories/data-table.stories.tsx +130 -0
  1129. package/src/stories/dataframe.stories.tsx +46 -0
  1130. package/src/stories/debugger.stories.tsx +34 -0
  1131. package/src/stories/dialog.stories.tsx +80 -0
  1132. package/src/stories/dropdown-menu.mdx +159 -0
  1133. package/src/stories/editor-inputs.stories.tsx +47 -0
  1134. package/src/stories/editor.stories.tsx +91 -0
  1135. package/src/stories/file-upload.stories.tsx +103 -0
  1136. package/src/stories/form-wrapper.stories.tsx +147 -0
  1137. package/src/stories/input.stories.tsx +56 -0
  1138. package/src/stories/label.mdx +9 -0
  1139. package/src/stories/log-viewer.stories.tsx +74 -0
  1140. package/src/stories/number-field.mdx +17 -0
  1141. package/src/stories/number-field.stories.tsx +41 -0
  1142. package/src/stories/progress-component.stories.tsx +74 -0
  1143. package/src/stories/progress.stories.tsx +33 -0
  1144. package/src/stories/radio-group.mdx +54 -0
  1145. package/src/stories/select-native.stories.tsx +49 -0
  1146. package/src/stories/select.stories.tsx +92 -0
  1147. package/src/stories/slider.stories.tsx +27 -0
  1148. package/src/stories/stat.stories.tsx +123 -0
  1149. package/src/stories/switch.mdx +20 -0
  1150. package/src/stories/switchable-multi-select.stories.tsx +31 -0
  1151. package/src/stories/tabs.mdx +59 -0
  1152. package/src/stories/textarea.stories.tsx +58 -0
  1153. package/src/stories/theme.stories.tsx +111 -0
  1154. package/src/stories/tooltip.mdx +32 -0
  1155. package/src/stories/typography.stories.tsx +80 -0
  1156. package/src/stories/variables.stories.tsx +58 -0
  1157. package/src/stories/vega.stories.tsx +57 -0
  1158. package/src/theme/ThemeProvider.tsx +32 -0
  1159. package/src/theme/namespace.tsx +23 -0
  1160. package/src/theme/useTheme.ts +89 -0
  1161. package/src/utils/Deferred.ts +20 -0
  1162. package/src/utils/Logger.ts +91 -0
  1163. package/src/utils/__tests__/Deferred.test.ts +38 -0
  1164. package/src/utils/__tests__/arrays.test.ts +130 -0
  1165. package/src/utils/__tests__/batch-requests.test.ts +60 -0
  1166. package/src/utils/__tests__/blob.test.ts +52 -0
  1167. package/src/utils/__tests__/cell-urls.test.ts +92 -0
  1168. package/src/utils/__tests__/createReducer.test.ts +184 -0
  1169. package/src/utils/__tests__/data-views.test.ts +112 -0
  1170. package/src/utils/__tests__/dates.test.ts +188 -0
  1171. package/src/utils/__tests__/edit-distance.test.ts +302 -0
  1172. package/src/utils/__tests__/errors.test.ts +54 -0
  1173. package/src/utils/__tests__/filenames.test.ts +30 -0
  1174. package/src/utils/__tests__/id-tree.test.ts +1994 -0
  1175. package/src/utils/__tests__/json-parser.test.ts +79 -0
  1176. package/src/utils/__tests__/local-storage.test.ts +77 -0
  1177. package/src/utils/__tests__/lru.test.ts +74 -0
  1178. package/src/utils/__tests__/maps.test.ts +91 -0
  1179. package/src/utils/__tests__/math.test.ts +29 -0
  1180. package/src/utils/__tests__/multi-map.test.ts +295 -0
  1181. package/src/utils/__tests__/numbers.test.ts +76 -0
  1182. package/src/utils/__tests__/path.test.ts +170 -0
  1183. package/src/utils/__tests__/pluralize.test.ts +47 -0
  1184. package/src/utils/__tests__/routes.test.ts +134 -0
  1185. package/src/utils/__tests__/sets.test.ts +41 -0
  1186. package/src/utils/__tests__/shallow-compare.test.ts +55 -0
  1187. package/src/utils/__tests__/strings.test.ts +68 -0
  1188. package/src/utils/__tests__/time.test.ts +61 -0
  1189. package/src/utils/__tests__/timed-cache.test.ts +142 -0
  1190. package/src/utils/__tests__/timeout.test.ts +153 -0
  1191. package/src/utils/__tests__/traceback.test.ts +34 -0
  1192. package/src/utils/__tests__/url.test.ts +100 -0
  1193. package/src/utils/__tests__/urls.test.ts +10 -0
  1194. package/src/utils/__tests__/versions.test.ts +63 -0
  1195. package/src/utils/__tests__/waitForWs.test.ts +76 -0
  1196. package/src/utils/arrays.ts +75 -0
  1197. package/src/utils/assertExists.ts +12 -0
  1198. package/src/utils/assertNever.ts +20 -0
  1199. package/src/utils/batch-requests.ts +28 -0
  1200. package/src/utils/blob.ts +45 -0
  1201. package/src/utils/cell-urls.ts +31 -0
  1202. package/src/utils/cn.ts +8 -0
  1203. package/src/utils/copy.ts +17 -0
  1204. package/src/utils/createReducer.ts +137 -0
  1205. package/src/utils/data-views.ts +54 -0
  1206. package/src/utils/dates.ts +145 -0
  1207. package/src/utils/dereference.ts +10 -0
  1208. package/src/utils/download.ts +47 -0
  1209. package/src/utils/edit-distance.ts +141 -0
  1210. package/src/utils/errors.ts +63 -0
  1211. package/src/utils/events.ts +85 -0
  1212. package/src/utils/fileToBase64.ts +30 -0
  1213. package/src/utils/filenames.ts +29 -0
  1214. package/src/utils/functions.ts +24 -0
  1215. package/src/utils/id-tree.tsx +1032 -0
  1216. package/src/utils/idle.ts +19 -0
  1217. package/src/utils/invariant.ts +37 -0
  1218. package/src/utils/json/__tests__/base64.test.ts +100 -0
  1219. package/src/utils/json/base64.ts +51 -0
  1220. package/src/utils/json/json-parser.ts +65 -0
  1221. package/src/utils/lazy.ts +30 -0
  1222. package/src/utils/links.ts +11 -0
  1223. package/src/utils/localStorage.ts +132 -0
  1224. package/src/utils/lru.ts +68 -0
  1225. package/src/utils/maps.ts +65 -0
  1226. package/src/utils/math.ts +6 -0
  1227. package/src/utils/mergeRefs.ts +14 -0
  1228. package/src/utils/multi-map.ts +71 -0
  1229. package/src/utils/numbers.ts +124 -0
  1230. package/src/utils/objects.ts +105 -0
  1231. package/src/utils/once.ts +17 -0
  1232. package/src/utils/pathUtils.test.ts +113 -0
  1233. package/src/utils/pathUtils.ts +76 -0
  1234. package/src/utils/paths.ts +67 -0
  1235. package/src/utils/pluralize.ts +35 -0
  1236. package/src/utils/python-poet/__tests__/poet.test.ts +286 -0
  1237. package/src/utils/python-poet/poet.ts +196 -0
  1238. package/src/utils/reload-safe.ts +15 -0
  1239. package/src/utils/repl.ts +23 -0
  1240. package/src/utils/routes.ts +36 -0
  1241. package/src/utils/scroll.ts +38 -0
  1242. package/src/utils/sets.ts +30 -0
  1243. package/src/utils/shallow-compare.ts +30 -0
  1244. package/src/utils/staticImplements.ts +7 -0
  1245. package/src/utils/strings.ts +64 -0
  1246. package/src/utils/time.ts +39 -0
  1247. package/src/utils/timed-cache.ts +52 -0
  1248. package/src/utils/timeout.ts +42 -0
  1249. package/src/utils/traceback.ts +104 -0
  1250. package/src/utils/tracer.ts +106 -0
  1251. package/src/utils/typed.ts +17 -0
  1252. package/src/utils/url.ts +12 -0
  1253. package/src/utils/urls.ts +33 -0
  1254. package/src/utils/uuid.ts +8 -0
  1255. package/src/utils/versions.ts +66 -0
  1256. package/src/utils/vitals.ts +30 -0
  1257. package/src/utils/waitForWs.ts +31 -0
  1258. package/dist/assets/_baseMap-CRSErap7.js +0 -1
  1259. package/dist/assets/channel-DkujgbuA.js +0 -1
  1260. package/dist/assets/classDiagram-M3E45YP4-C27KFaf-.js +0 -1
  1261. package/dist/assets/classDiagram-v2-YAWTLIQI-C27KFaf-.js +0 -1
  1262. package/dist/assets/clone-BcaRetEG.js +0 -1
  1263. package/dist/assets/edit-page-CyEUf7VL.js +0 -163
  1264. package/dist/assets/index-BlxPam9h.css +0 -1
  1265. package/dist/assets/infoDiagram-LHK5PUON-DM8xmmD0.js +0 -2
  1266. package/dist/assets/links-UdVi9TCH.js +0 -17
  1267. package/dist/assets/min-DsZNGHWk.js +0 -1
  1268. package/dist/assets/sortBy-DRXBnSF7.js +0 -1
  1269. package/dist/assets/stateDiagram-v2-5AN5P6BG-BmONtexb.js +0 -1
  1270. package/dist/assets/storage-C6lB9RSO.js +0 -26
  1271. package/dist/assets/time-CjxeuzoW.js +0 -1
@@ -1,2 +0,0 @@
1
- import{_ as a,l as e,I as s,d as p,K as n}from"./mermaid-BjMqU7B7.js";import{p as m}from"./treemap-75Q7IDZK-DtSMjk1Y.js";import"./index-Bw4_53VL.js";import"./transform-B8bpuzxV.js";import"./timer-BwIYMJWC.js";import"./step-BwsUM5iJ.js";import"./_baseEach-c_dyjc-O.js";import"./_baseUniq-MHRYxaEh.js";import"./min-DsZNGHWk.js";import"./_baseMap-CRSErap7.js";import"./clone-BcaRetEG.js";import"./_createAggregator-BRrHJm-S.js";var d={parse:a(async r=>{const t=await m("info",r);e.debug(t)},"parse")},g={version:n.version+""},v={parser:d,db:{getVersion:a(()=>g.version,"getVersion")},renderer:{draw:a((r,t,i)=>{e.debug(`rendering info diagram
2
- `+r);const o=s(t);p(o,100,400,!0),o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)},"draw")}};export{v as diagram};
@@ -1,17 +0,0 @@
1
- import{cd as us,aO as ds,c as ne,U as S,b as Be,j as s,fr as hs,fs,a as V,cA as ps,ar as _t,ft as gs,T as Me,fu as kn,f8 as ms,fv as Cn,fw as D,fx as Nn,fy as T,fz as C,fA as E,fB as fe,fC as P,bn as ue,fD as Dn,fE as F,fF as $,ac as Re,fG as ce,bo as Y,fH as st,e2 as Tn,fI as En,fJ as vs,fK as ys,dP as ot,al as Ve,fL as xs,fM as _n,b4 as bs,fN as js,L as q,fO as ws,fP as Is,fQ as Ss,fR as Le,fS as Os,fT as ks,cl as Cs,bd as We,bp as at,et as lt,a6 as me,eq as Ns,dL as Pn,ad as Ds,ab as Ts,fU as Es,fV as _s,fW as Ie,fX as An,fY as Ps,fZ as Mn,f_ as ct,f$ as Rn,g0 as As,g1 as ut,g2 as Z,g3 as Ms,eI as Rs,ds as Pt,fh as Ls,g4 as At,g5 as Fs,g6 as Hs,g7 as Ln,g8 as Fn,g9 as zs,eQ as Hn,V as dt,ga as Us,gb as qs,gc as zn,gd as Un,ge as Bs,gf as qn,a4 as Mt,gg as Vs,gh as Ws,a7 as Bn,a8 as Ks,a9 as Gs,bl as ht,cg as Vn,gi as $s,gj as Wn,at as Ke,aJ as Ys,gk as Kn,gl as Rt,aw as Xs,ag as Ge,_ as Gn,E as Qs,gm as Js,gn as ft,go as Zs,gp as eo,ao as Lt,ff as to,gq as no,gr as ro,gs as io,gt as so,gu as oo,gv as ao,eo as $e,dC as pt,gw as lo,gx as co,gy as uo,gz as $n,a5 as ho,gA as fo,gB as po,gC as go,b9 as mo,bi as vo,b7 as yo}from"./index-Bw4_53VL.js";import{e as xo}from"./index-vOKQtqij.js";/**
2
- * @license lucide-react v0.525.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const bo=ne("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),jo=ne("book-marked",[["path",{d:"M10 2v8l3-3 3 3V2",key:"sqw3rj"}],["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20",key:"k3hazp"}]]),Yn=ne("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]),wo=ne("brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]),Xn=ne("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),Qn=ne("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),Io=ne("flask-conical",[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]),Jn=ne("folder-cog",[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]]),So=ne("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),Oo=ne("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),ko=ne("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),Co=ne("messages-square",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]),No=ne("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),Do=ne("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),To=ne("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Eo=ne("youtube",[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]]);function Ft(t,e){return Ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Ft(t,e)}function Zn(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}const er=S.createContext(null);function pe(){const t=S.useContext(er);if(t===null)throw new Error("No Tree Api Provided");return t}const tr=S.createContext(null),nr=S.createContext(null),rr=S.createContext(0);function ir(){S.useContext(rr)}function gt(t,e,n){return Math.max(Math.min(t,n),e)}function sr(t){return t&&t.isLeaf}function or(t){return t&&t.isInternal&&!t.isOpen}function ar(t){var e;return t&&t.isOpen&&!(!((e=t.children)===null||e===void 0)&&e.length)}const lr=(t,e)=>{let n=t;for(;n;){if(n.id===e.id)return!0;n=n.parent}return!1},cr=t=>{if(!t.parent)throw Error("Node does not have a parent");return t.parent.children.findIndex(e=>e.id===t.id)};function Ht(t,e){if(!t)return null;if(t.id===e)return t;if(t.children)for(let n of t.children){const r=Ht(n,e);if(r)return r}return null}function mt(t,e){if(e(t),t.children)for(let n of t.children)mt(n,e)}function ur(t){const e=hr(t);let n;for(let r=0;r<e.length;++r)if(e[r]===t){n=_o(e,r);break}n==null||n.focus()}function dr(t){const e=hr(t);let n;for(let r=0;r<e.length;++r)if(e[r]===t){n=Po(e,r);break}n==null||n.focus()}function _o(t,e){return e+1<t.length?t[e+1]:t[0]}function Po(t,e){return e-1>=0?t[e-1]:t[t.length-1]}function hr(t){return Array.from(document.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), details:not([disabled]), summary:not(:disabled)')).filter(e=>e===t||!t.contains(e))}function Ye(t,e){return typeof e=="boolean"?e:typeof e=="string"?t[e]:e(t)}function fr(t){return t===null?null:Ne(t)}function Ne(t){return typeof t=="string"?t:t.id}function pr(t,...e){if(t)return t(...e)}function gr(t){return new Promise((e,n)=>{let r=0;(function i(){r+=1,r===100&&n(),t()?e():setTimeout(i,10)})()})}function mr(t){var e,n;const r=t.focusedNode;return r?r.isOpen?0:r.parent?r.childIndex+1:0:(n=(e=t.root.children)===null||e===void 0?void 0:e.length)!==null&&n!==void 0?n:0}function vr(t){const e=t.focusedNode;return e?e.isOpen?e.id:e.parent&&!e.parent.isRoot?e.parent.id:null:null}const Ao=Object.freeze(Object.defineProperty({__proto__:null,access:Ye,bound:gt,dfs:Ht,focusNextElement:ur,focusPrevElement:dr,getInsertIndex:mr,getInsertParentId:vr,identify:Ne,identifyNull:fr,indexOf:cr,isClosed:or,isDescendant:lr,isItem:sr,isOpenWithEmptyChildren:ar,mergeRefs:function(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}},noop:function(){},safeRun:pr,waitFor:gr,walk:mt},Symbol.toStringTag,{value:"Module"})),Mo={display:"flex",alignItems:"center",zIndex:1},Ro={flex:1,height:"2px",background:"#4B91E2",borderRadius:"1px"},Lo={width:"4px",height:"4px",boxShadow:"0 0 0 3px #4B91E2",borderRadius:"50%"},Fo=Be.memo(function({top:t,left:e,indent:n}){const r={position:"absolute",pointerEvents:"none",top:t-2+"px",left:e+"px",right:n+"px"};return s.jsxs("div",{style:Object.assign(Object.assign({},Mo),r),children:[s.jsx("div",{style:Object.assign({},Lo)}),s.jsx("div",{style:Object.assign({},Ro)})]})});function Ho({node:t,attrs:e,innerRef:n,children:r}){return s.jsx("div",Object.assign({},e,{ref:n,onFocus:i=>i.stopPropagation(),onClick:t.handleClick,children:r}))}function zo(t){return s.jsxs("div",{ref:t.dragHandle,style:t.style,children:[s.jsx("span",{onClick:e=>{e.stopPropagation(),t.node.toggle()},children:t.node.isLeaf?"\u{1F333}":t.node.isOpen?"\u{1F5C1}":"\u{1F5C0}"})," ",t.node.isEditing?s.jsx(qo,Object.assign({},t)):s.jsx(Uo,Object.assign({},t))]})}function Uo(t){return s.jsx(s.Fragment,{children:s.jsx("span",{children:t.node.data.name})})}function qo({node:t}){const e=S.useRef();return S.useEffect(()=>{var n,r;(n=e.current)===null||n===void 0||n.focus(),(r=e.current)===null||r===void 0||r.select()},[]),s.jsx("input",{ref:e,defaultValue:t.data.name,onBlur:()=>t.reset(),onKeyDown:n=>{var r;n.key==="Escape"&&t.reset(),n.key==="Enter"&&t.submit(((r=e.current)===null||r===void 0?void 0:r.value)||"")}})}function zt(t){return{type:"EDIT",id:t}}function Fe(t){return{type:"FOCUS",id:t}}class Tt{constructor(e){this.handleClick=n=>{n.metaKey&&!this.tree.props.disableMultiSelection?this.isSelected?this.deselect():this.selectMulti():n.shiftKey&&!this.tree.props.disableMultiSelection?this.selectContiguous():(this.select(),this.activate())},this.tree=e.tree,this.id=e.id,this.data=e.data,this.level=e.level,this.children=e.children,this.parent=e.parent,this.isDraggable=e.isDraggable,this.rowIndex=e.rowIndex}get isRoot(){return this.id===Xe}get isLeaf(){return!Array.isArray(this.children)}get isInternal(){return!this.isLeaf}get isOpen(){return!this.isLeaf&&this.tree.isOpen(this.id)}get isClosed(){return!this.isLeaf&&!this.tree.isOpen(this.id)}get isEditable(){return this.tree.isEditable(this.data)}get isEditing(){return this.tree.editingId===this.id}get isSelected(){return this.tree.isSelected(this.id)}get isOnlySelection(){return this.isSelected&&this.tree.hasOneSelection}get isSelectedStart(){var e;return this.isSelected&&!(!((e=this.prev)===null||e===void 0)&&e.isSelected)}get isSelectedEnd(){var e;return this.isSelected&&!(!((e=this.next)===null||e===void 0)&&e.isSelected)}get isFocused(){return this.tree.isFocused(this.id)}get isDragging(){return this.tree.isDragging(this.id)}get willReceiveDrop(){return this.tree.willReceiveDrop(this.id)}get state(){return{isClosed:this.isClosed,isDragging:this.isDragging,isEditing:this.isEditing,isFocused:this.isFocused,isInternal:this.isInternal,isLeaf:this.isLeaf,isOpen:this.isOpen,isSelected:this.isSelected,isSelectedEnd:this.isSelectedEnd,isSelectedStart:this.isSelectedStart,willReceiveDrop:this.willReceiveDrop}}get childIndex(){return this.parent&&this.parent.children?this.parent.children.findIndex(e=>e.id===this.id):-1}get next(){return this.rowIndex===null?null:this.tree.at(this.rowIndex+1)}get prev(){return this.rowIndex===null?null:this.tree.at(this.rowIndex-1)}get nextSibling(){var e,n;const r=this.childIndex;return(n=(e=this.parent)===null||e===void 0?void 0:e.children[r+1])!==null&&n!==void 0?n:null}isAncestorOf(e){if(!e)return!1;let n=e;for(;n;){if(n.id===this.id)return!0;n=n.parent}return!1}select(){this.tree.select(this)}deselect(){this.tree.deselect(this)}selectMulti(){this.tree.selectMulti(this)}selectContiguous(){this.tree.selectContiguous(this)}activate(){this.tree.activate(this)}focus(){this.tree.focus(this)}toggle(){this.tree.toggle(this)}open(){this.tree.open(this)}openParents(){this.tree.openParents(this)}close(){this.tree.close(this)}submit(e){this.tree.submit(this,e)}reset(){this.tree.reset()}clone(){return new Tt(Object.assign({},this))}edit(){return this.tree.edit(this)}}const Xe="__REACT_ARBORIST_INTERNAL_ROOT__";function yr(t){var e;function n(o,a,c){const l=t.accessId(o),u=new Tt({tree:t,data:o,level:a,parent:c,id:l,children:null,isDraggable:t.isDraggable(o),rowIndex:null}),d=t.accessChildren(o);return d&&(u.children=d.map(v=>n(v,a+1,u))),u}const r=new Tt({tree:t,id:Xe,data:{id:Xe},level:-1,parent:null,children:null,isDraggable:!0,rowIndex:null}),i=(e=t.props.data)!==null&&e!==void 0?e:[];return r.children=i.map(o=>n(o,0,r)),r}const Ut={open:(t,e)=>({type:"VISIBILITY_OPEN",id:t,filtered:e}),close:(t,e)=>({type:"VISIBILITY_CLOSE",id:t,filtered:e}),toggle:(t,e)=>({type:"VISIBILITY_TOGGLE",id:t,filtered:e}),clear:t=>({type:"VISIBILITY_CLEAR",filtered:t})};function xr(t={},e){if(e.type==="VISIBILITY_OPEN")return Object.assign(Object.assign({},t),{[e.id]:!0});if(e.type==="VISIBILITY_CLOSE")return Object.assign(Object.assign({},t),{[e.id]:!1});if(e.type==="VISIBILITY_TOGGLE"){const n=t[e.id];return Object.assign(Object.assign({},t),{[e.id]:!n})}return e.type==="VISIBILITY_CLEAR"?{}:t}const He=t=>{var e;return{nodes:{open:{filtered:{},unfiltered:(e=t==null?void 0:t.initialOpenState)!==null&&e!==void 0?e:{}},focus:{id:null,treeFocused:!1},edit:{id:null},drag:{id:null,selectedIds:[],destinationParentId:null,destinationIndex:null},selection:{ids:new Set,anchor:null,mostRecent:null}},dnd:{cursor:{type:"none"},dragId:null,dragIds:[],parentId:null,index:-1}}},Bo=t=>({type:"SELECTION_ONLY",id:Ne(t)}),br=t=>({type:"SELECTION_ADD",ids:(Array.isArray(t)?t:[t]).map(Ne)}),jr=t=>({type:"SELECTION_REMOVE",ids:(Array.isArray(t)?t:[t]).map(Ne)}),Vo=t=>Object.assign({type:"SELECTION_SET"},t),qt=t=>({type:"SELECTION_MOST_RECENT",id:t===null?null:Ne(t)}),wr=t=>({type:"SELECTION_ANCHOR",id:t===null?null:Ne(t)}),ze={cursor:t=>({type:"DND_CURSOR",cursor:t}),dragStart:(t,e)=>({type:"DND_DRAG_START",id:t,dragIds:e}),dragEnd:()=>({type:"DND_DRAG_END"}),hovering:(t,e)=>({type:"DND_HOVERING",parentId:t,index:e})},Wo={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},Ko=t=>{if(!t)return{display:"none"};const{x:e,y:n}=t;return{transform:`translate(${e}px, ${n}px)`}},Go=t=>{if(!t)return{display:"none"};const{x:e,y:n}=t;return{transform:`translate(${e+10}px, ${n+10}px)`}};function Ir({offset:t,mouse:e,id:n,dragIds:r,isDragging:i}){return s.jsxs($o,{isDragging:i,children:[s.jsx(Yo,{offset:t,children:s.jsx(Qo,{id:n,dragIds:r})}),s.jsx(Xo,{mouse:e,count:r.length})]})}const $o=S.memo(function(t){return t.isDragging?s.jsx("div",{style:Wo,children:t.children}):null});function Yo(t){return s.jsx("div",{className:"row preview",style:Ko(t.offset),children:t.children})}function Xo(t){const{count:e,mouse:n}=t;return e>1?s.jsx("div",{className:"selected-count",style:Go(n),children:e}):null}const Qo=S.memo(function(t){const e=pe(),n=e.get(t.id);return n?s.jsx(e.renderNode,{preview:!0,node:n,style:{paddingLeft:n.level*e.indent,opacity:.2,background:"transparent"},tree:e}):null});var Sr=Number.isNaN||function(t){return typeof t=="number"&&t!=t};function Jo(t,e){return t===e||!(!Sr(t)||!Sr(e))}function Zo(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!Jo(t[n],e[n]))return!1;return!0}function Bt(t,e){var n;e===void 0&&(e=Zo);var r,i=[],o=!1;return function(){for(var a=[],c=0;c<arguments.length;c++)a[c]=arguments[c];return o&&n===this&&e(a,i)||(r=t.apply(this,a),o=!0,n=this,i=a),r}}var Or=typeof performance=="object"&&typeof performance.now=="function"?function(){return performance.now()}:function(){return Date.now()};function kr(t){cancelAnimationFrame(t.id)}var Vt=-1;function Cr(t){if(t===void 0&&(t=!1),Vt===-1||t){var e=document.createElement("div"),n=e.style;n.width="50px",n.height="50px",n.overflow="scroll",document.body.appendChild(e),Vt=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return Vt}var Qe=null;function Nr(t){if(t===void 0&&(t=!1),Qe===null||t){var e=document.createElement("div"),n=e.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),i=r.style;return i.width="100px",i.height="100px",e.appendChild(r),document.body.appendChild(e),e.scrollLeft>0?Qe="positive-descending":(e.scrollLeft=1,Qe=e.scrollLeft===0?"negative":"positive-ascending"),document.body.removeChild(e),Qe}return Qe}var ea=function(t,e){return t};function ta(t){var e,n=t.getItemOffset,r=t.getEstimatedTotalSize,i=t.getItemSize,o=t.getOffsetForIndexAndAlignment,a=t.getStartIndexForOffset,c=t.getStopIndexForStartIndex,l=t.initInstanceProps,u=t.shouldResetStyleCacheOnItemSizeChange,d=t.validateProps;return e=function(v){function p(h){var f;return(f=v.call(this,h)||this)._instanceProps=l(f.props,Zn(f)),f._outerRef=void 0,f._resetIsScrollingTimeoutId=null,f.state={instance:Zn(f),isScrolling:!1,scrollDirection:"forward",scrollOffset:typeof f.props.initialScrollOffset=="number"?f.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},f._callOnItemsRendered=void 0,f._callOnItemsRendered=Bt(function(y,x,w,I){return f.props.onItemsRendered({overscanStartIndex:y,overscanStopIndex:x,visibleStartIndex:w,visibleStopIndex:I})}),f._callOnScroll=void 0,f._callOnScroll=Bt(function(y,x,w){return f.props.onScroll({scrollDirection:y,scrollOffset:x,scrollUpdateWasRequested:w})}),f._getItemStyle=void 0,f._getItemStyle=function(y){var x,w=f.props,I=w.direction,k=w.itemSize,O=w.layout,N=f._getItemStyleCache(u&&k,u&&O,u&&I);if(N.hasOwnProperty(y))x=N[y];else{var _=n(f.props,y,f._instanceProps),z=i(f.props,y,f._instanceProps),H=I==="horizontal"||O==="horizontal",U=I==="rtl",B=H?_:0;N[y]=x={position:"absolute",left:U?void 0:B,right:U?B:void 0,top:H?0:_,height:H?"100%":z,width:H?z:"100%"}}return x},f._getItemStyleCache=void 0,f._getItemStyleCache=Bt(function(y,x,w){return{}}),f._onScrollHorizontal=function(y){var x=y.currentTarget,w=x.clientWidth,I=x.scrollLeft,k=x.scrollWidth;f.setState(function(O){if(O.scrollOffset===I)return null;var N=f.props.direction,_=I;if(N==="rtl")switch(Nr()){case"negative":_=-I;break;case"positive-descending":_=k-w-I}return _=Math.max(0,Math.min(_,k-w)),{isScrolling:!0,scrollDirection:O.scrollOffset<_?"forward":"backward",scrollOffset:_,scrollUpdateWasRequested:!1}},f._resetIsScrollingDebounced)},f._onScrollVertical=function(y){var x=y.currentTarget,w=x.clientHeight,I=x.scrollHeight,k=x.scrollTop;f.setState(function(O){if(O.scrollOffset===k)return null;var N=Math.max(0,Math.min(k,I-w));return{isScrolling:!0,scrollDirection:O.scrollOffset<N?"forward":"backward",scrollOffset:N,scrollUpdateWasRequested:!1}},f._resetIsScrollingDebounced)},f._outerRefSetter=function(y){var x=f.props.outerRef;f._outerRef=y,typeof x=="function"?x(y):x!=null&&typeof x=="object"&&x.hasOwnProperty("current")&&(x.current=y)},f._resetIsScrollingDebounced=function(){var y,x,w,I;f._resetIsScrollingTimeoutId!==null&&kr(f._resetIsScrollingTimeoutId),f._resetIsScrollingTimeoutId=(y=f._resetIsScrolling,x=150,w=Or(),I={id:requestAnimationFrame(function k(){Or()-w>=x?y.call(null):I.id=requestAnimationFrame(k)})})},f._resetIsScrolling=function(){f._resetIsScrollingTimeoutId=null,f.setState({isScrolling:!1},function(){f._getItemStyleCache(-1,null)})},f}(function(h,f){h.prototype=Object.create(f.prototype),h.prototype.constructor=h,Ft(h,f)})(p,v),p.getDerivedStateFromProps=function(h,f){return na(h,f),d(h),null};var m=p.prototype;return m.scrollTo=function(h){h=Math.max(0,h),this.setState(function(f){return f.scrollOffset===h?null:{scrollDirection:f.scrollOffset<h?"forward":"backward",scrollOffset:h,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},m.scrollToItem=function(h,f){f===void 0&&(f="auto");var y=this.props,x=y.itemCount,w=y.layout,I=this.state.scrollOffset;h=Math.max(0,Math.min(h,x-1));var k=0;if(this._outerRef){var O=this._outerRef;k=w==="vertical"?O.scrollWidth>O.clientWidth?Cr():0:O.scrollHeight>O.clientHeight?Cr():0}this.scrollTo(o(this.props,h,f,I,this._instanceProps,k))},m.componentDidMount=function(){var h=this.props,f=h.direction,y=h.initialScrollOffset,x=h.layout;if(typeof y=="number"&&this._outerRef!=null){var w=this._outerRef;f==="horizontal"||x==="horizontal"?w.scrollLeft=y:w.scrollTop=y}this._callPropsCallbacks()},m.componentDidUpdate=function(){var h=this.props,f=h.direction,y=h.layout,x=this.state,w=x.scrollOffset;if(x.scrollUpdateWasRequested&&this._outerRef!=null){var I=this._outerRef;if(f==="horizontal"||y==="horizontal")if(f==="rtl")switch(Nr()){case"negative":I.scrollLeft=-w;break;case"positive-ascending":I.scrollLeft=w;break;default:var k=I.clientWidth,O=I.scrollWidth;I.scrollLeft=O-k-w}else I.scrollLeft=w;else I.scrollTop=w}this._callPropsCallbacks()},m.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&kr(this._resetIsScrollingTimeoutId)},m.render=function(){var h=this.props,f=h.children,y=h.className,x=h.direction,w=h.height,I=h.innerRef,k=h.innerElementType,O=h.innerTagName,N=h.itemCount,_=h.itemData,z=h.itemKey,H=z===void 0?ea:z,U=h.layout,B=h.outerElementType,se=h.outerTagName,de=h.style,oe=h.useIsScrolling,ae=h.width,W=this.state.isScrolling,Q=x==="horizontal"||U==="horizontal",J=Q?this._onScrollHorizontal:this._onScrollVertical,ee=this._getRangeToRender(),he=ee[0],j=ee[1],g=[];if(N>0)for(var b=he;b<=j;b++)g.push(S.createElement(f,{data:_,key:H(b,_),index:b,isScrolling:oe?W:void 0,style:this._getItemStyle(b)}));var K=r(this.props,this._instanceProps);return S.createElement(B||se||"div",{className:y,onScroll:J,ref:this._outerRefSetter,style:hs({position:"relative",height:w,width:ae,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:x},de)},S.createElement(k||O||"div",{children:g,ref:I,style:{height:Q?"100%":K,pointerEvents:W?"none":void 0,width:Q?K:"100%"}}))},m._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered=="function"&&this.props.itemCount>0){var h=this._getRangeToRender(),f=h[0],y=h[1],x=h[2],w=h[3];this._callOnItemsRendered(f,y,x,w)}if(typeof this.props.onScroll=="function"){var I=this.state,k=I.scrollDirection,O=I.scrollOffset,N=I.scrollUpdateWasRequested;this._callOnScroll(k,O,N)}},m._getRangeToRender=function(){var h=this.props,f=h.itemCount,y=h.overscanCount,x=this.state,w=x.isScrolling,I=x.scrollDirection,k=x.scrollOffset;if(f===0)return[0,0,0,0];var O=a(this.props,k,this._instanceProps),N=c(this.props,O,k,this._instanceProps),_=w&&I!=="backward"?1:Math.max(1,y),z=w&&I!=="forward"?1:Math.max(1,y);return[Math.max(0,O-_),Math.max(0,Math.min(f-1,N+z)),O,N]},p}(S.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},e}var na=function(t,e){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,e.instance},ra=ta({getItemOffset:function(t,e){return e*t.itemSize},getItemSize:function(t,e){return t.itemSize},getEstimatedTotalSize:function(t){var e=t.itemCount;return t.itemSize*e},getOffsetForIndexAndAlignment:function(t,e,n,r,i,o){var a=t.direction,c=t.height,l=t.itemCount,u=t.itemSize,d=t.layout,v=t.width,p=a==="horizontal"||d==="horizontal"?v:c,m=Math.max(0,l*u-p),h=Math.min(m,e*u),f=Math.max(0,e*u-p+u+o);switch(n==="smart"&&(n=r>=f-p&&r<=h+p?"auto":"center"),n){case"start":return h;case"end":return f;case"center":var y=Math.round(f+(h-f)/2);return y<Math.ceil(p/2)?0:y>m+Math.floor(p/2)?m:y;default:return r>=f&&r<=h?r:r<f?f:h}},getStartIndexForOffset:function(t,e){var n=t.itemCount,r=t.itemSize;return Math.max(0,Math.min(n-1,Math.floor(e/r)))},getStopIndexForStartIndex:function(t,e,n){var r=t.direction,i=t.height,o=t.itemCount,a=t.itemSize,c=t.layout,l=t.width,u=e*a,d=r==="horizontal"||c==="horizontal"?l:i,v=Math.ceil((d+n-u)/a);return Math.max(0,Math.min(o-1,e+v-1))},initInstanceProps:function(t){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(t){t.itemSize}});function ia(){var t,e;const n=pe(),r=function(){const l=S.useContext(nr);if(l===null)throw new Error("Provide a DnDContext");return l}().cursor;if(!r||r.type!=="line")return null;const i=n.indent,o=n.rowHeight*r.index+((e=(t=n.props.padding)!==null&&t!==void 0?t:n.props.paddingTop)!==null&&e!==void 0?e:0),a=i*r.level,c=n.renderCursor;return s.jsx(c,{top:o,left:a,indent:i})}var sa=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n};const oa=S.forwardRef(function(t,e){const{children:n}=t,r=sa(t,["children"]),i=pe();return s.jsxs("div",Object.assign({ref:e},r,{onClick:o=>{o.currentTarget===o.target&&i.deselectAll()},children:[s.jsx(aa,{}),n]}))}),aa=()=>{const t=pe();return s.jsx("div",{style:{height:t.visibleNodes.length*t.rowHeight,width:"100%",position:"absolute",left:"0",right:"0"},children:s.jsx(ia,{})})};var la=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n};const ca=S.forwardRef(function(t,e){var n,r,i,o,{style:a}=t,c=la(t,["style"]);const l=pe(),u=(r=(n=l.props.padding)!==null&&n!==void 0?n:l.props.paddingTop)!==null&&r!==void 0?r:0,d=(o=(i=l.props.padding)!==null&&i!==void 0?i:l.props.paddingBottom)!==null&&o!==void 0?o:0;return s.jsx("div",Object.assign({ref:e,style:Object.assign(Object.assign({},a),{height:`${parseFloat(a.height)+u+d}px`})},c))});var ve,Dr=S.createContext({dragDropManager:void 0});function A(t,e){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];if(!t){var o;if(e===void 0)o=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var a=0;(o=new Error(e.replace(/%s/g,function(){return r[a++]}))).name="Invariant Violation"}throw o.framesToPop=1,o}}(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(ve||(ve={}));var Wt="dnd-core/INIT_COORDS",Kt="dnd-core/BEGIN_DRAG",Tr="dnd-core/PUBLISH_DRAG_SOURCE",vt="dnd-core/HOVER",Gt="dnd-core/DROP",$t="dnd-core/END_DRAG";function Er(t,e){return{type:Wt,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}function Yt(t){return Yt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yt(t)}function _r(t){return Yt(t)==="object"}var ua={type:Wt,payload:{clientOffset:null,sourceClientOffset:null}};function da(t){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{publishSource:!0},r=n.publishSource,i=r===void 0||r,o=n.clientOffset,a=n.getSourceClientOffset,c=t.getMonitor(),l=t.getRegistry();t.dispatch(Er(o)),function(m,h,f){A(!h.isDragging(),"Cannot call beginDrag while dragging."),m.forEach(function(y){A(f.getSource(y),"Expected sourceIds to be registered.")})}(e,c,l);var u=function(m,h){for(var f=null,y=m.length-1;y>=0;y--)if(h.canDragSource(m[y])){f=m[y];break}return f}(e,c);if(u!==null){var d=null;if(o){if(!a)throw new Error("getSourceClientOffset must be defined");(function(m){A(typeof m=="function","When clientOffset is provided, getSourceClientOffset must be a function.")})(a),d=a(u)}t.dispatch(Er(o,d));var v=l.getSource(u).beginDrag(c,u);if(v!=null){(function(m){A(_r(m),"Item must be an object.")})(v),l.pinSource(u);var p=l.getSourceType(u);return{type:Kt,payload:{itemType:p,item:v,sourceId:u,clientOffset:o||null,sourceClientOffset:d||null,isSourcePublic:!!i}}}}else t.dispatch(ua)}}function ha(t){return function(){if(t.getMonitor().isDragging())return{type:Tr}}}function Xt(t,e){return e===null?t===null:Array.isArray(t)?t.some(function(n){return n===e}):t===e}function fa(t){return function(e){var n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).clientOffset;(function(a){A(Array.isArray(a),"Expected targetIds to be an array.")})(e);var r=e.slice(0),i=t.getMonitor(),o=t.getRegistry();return function(a,c,l){A(c.isDragging(),"Cannot call hover while not dragging."),A(!c.didDrop(),"Cannot call hover after drop.");for(var u=0;u<a.length;u++){var d=a[u];A(a.lastIndexOf(d)===u,"Expected targetIds to be unique in the passed array."),A(l.getTarget(d),"Expected targetIds to be registered.")}}(r,i,o),function(a,c,l){for(var u=a.length-1;u>=0;u--){var d=a[u];Xt(c.getTargetType(d),l)||a.splice(u,1)}}(r,o,i.getItemType()),function(a,c,l){a.forEach(function(u){l.getTarget(u).hover(c,u)})}(r,i,o),{type:vt,payload:{targetIds:r,clientOffset:n||null}}}}function Pr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Ar(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Pr(Object(n),!0).forEach(function(r){pa(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Pr(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function pa(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ga(t){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.getMonitor(),r=t.getRegistry();(function(o){A(o.isDragging(),"Cannot call drop while not dragging."),A(!o.didDrop(),"Cannot call drop twice during one drag operation.")})(n);var i=function(o){var a=o.getTargetIds().filter(o.canDropOnTarget,o);return a.reverse(),a}(n);i.forEach(function(o,a){var c=function(u,d,v,p){var m=v.getTarget(u),h=m?m.drop(p,u):void 0;return function(f){A(f===void 0||_r(f),"Drop result must either be an object or undefined.")}(h),h===void 0&&(h=d===0?{}:p.getDropResult()),h}(o,a,r,n),l={type:Gt,payload:{dropResult:Ar(Ar({},e),c)}};t.dispatch(l)})}}function ma(t){return function(){var e=t.getMonitor(),n=t.getRegistry();(function(i){A(i.isDragging(),"Cannot call endDrag while not dragging.")})(e);var r=e.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(e,r),n.unpinSource()),{type:$t}}}function va(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Je(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var ya=function(){function t(e,n){var r=this;(function(i,o){if(!(i instanceof o))throw new TypeError("Cannot call a class as a function")})(this,t),Je(this,"store",void 0),Je(this,"monitor",void 0),Je(this,"backend",void 0),Je(this,"isSetUp",!1),Je(this,"handleRefCountChange",function(){var i=r.store.getState().refCount>0;r.backend&&(i&&!r.isSetUp?(r.backend.setup(),r.isSetUp=!0):!i&&r.isSetUp&&(r.backend.teardown(),r.isSetUp=!1))}),this.store=e,this.monitor=n,e.subscribe(this.handleRefCountChange)}return va(t,[{key:"receiveBackend",value:function(e){this.backend=e}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.monitor.registry}},{key:"getActions",value:function(){var e=this,n=this.store.dispatch,r=function(i){return{beginDrag:da(i),publishDragSource:ha(i),hover:fa(i),drop:ga(i),endDrag:ma(i)}}(this);return Object.keys(r).reduce(function(i,o){var a,c=r[o];return i[o]=(a=c,function(){for(var l=arguments.length,u=new Array(l),d=0;d<l;d++)u[d]=arguments[d];var v=a.apply(e,u);v!==void 0&&n(v)}),i},{})}},{key:"dispatch",value:function(e){this.store.dispatch(e)}}]),t}();function ye(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var Mr=typeof Symbol=="function"&&Symbol.observable||"@@observable",Rr=function(){return Math.random().toString(36).substring(7).split("").join(".")},Lr={INIT:"@@redux/INIT"+Rr(),REPLACE:"@@redux/REPLACE"+Rr()};function Fr(t,e,n){var r;if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(ye(0));if(typeof e=="function"&&n===void 0&&(n=e,e=void 0),n!==void 0){if(typeof n!="function")throw new Error(ye(1));return n(Fr)(t,e)}if(typeof t!="function")throw new Error(ye(2));var i=t,o=e,a=[],c=a,l=!1;function u(){c===a&&(c=a.slice())}function d(){if(l)throw new Error(ye(3));return o}function v(m){if(typeof m!="function")throw new Error(ye(4));if(l)throw new Error(ye(5));var h=!0;return u(),c.push(m),function(){if(h){if(l)throw new Error(ye(6));h=!1,u();var f=c.indexOf(m);c.splice(f,1),a=null}}}function p(m){if(!function(y){if(typeof y!="object"||y===null)return!1;for(var x=y;Object.getPrototypeOf(x)!==null;)x=Object.getPrototypeOf(x);return Object.getPrototypeOf(y)===x}(m))throw new Error(ye(7));if(m.type===void 0)throw new Error(ye(8));if(l)throw new Error(ye(9));try{l=!0,o=i(o,m)}finally{l=!1}for(var h=a=c,f=0;f<h.length;f++)(0,h[f])();return m}return p({type:Lr.INIT}),(r={dispatch:p,subscribe:v,getState:d,replaceReducer:function(m){if(typeof m!="function")throw new Error(ye(10));i=m,p({type:Lr.REPLACE})}})[Mr]=function(){var m,h=v;return(m={subscribe:function(f){if(typeof f!="object"||f===null)throw new Error(ye(11));function y(){f.next&&f.next(d())}return y(),{unsubscribe:h(y)}}})[Mr]=function(){return this},m},r}var xa=function(t,e){return t===e};function Hr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function zr(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Hr(Object(n),!0).forEach(function(r){ba(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Hr(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function ba(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ur={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function ja(){var t,e,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ur,r=arguments.length>1?arguments[1]:void 0,i=r.payload;switch(r.type){case Wt:case Kt:return{initialSourceClientOffset:i.sourceClientOffset,initialClientOffset:i.clientOffset,clientOffset:i.clientOffset};case vt:return t=n.clientOffset,e=i.clientOffset,!t&&!e||t&&e&&t.x===e.x&&t.y===e.y?n:zr(zr({},n),{},{clientOffset:i.clientOffset});case $t:case Gt:return Ur;default:return n}}var Qt="dnd-core/ADD_SOURCE",Jt="dnd-core/ADD_TARGET",Zt="dnd-core/REMOVE_SOURCE",yt="dnd-core/REMOVE_TARGET";function qr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function xe(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?qr(Object(n),!0).forEach(function(r){wa(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):qr(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function wa(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ia={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Sa(){var t,e,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ia,r=arguments.length>1?arguments[1]:void 0,i=r.payload;switch(r.type){case Kt:return xe(xe({},n),{},{itemType:i.itemType,item:i.item,sourceId:i.sourceId,isSourcePublic:i.isSourcePublic,dropResult:null,didDrop:!1});case Tr:return xe(xe({},n),{},{isSourcePublic:!0});case vt:return xe(xe({},n),{},{targetIds:i.targetIds});case yt:return n.targetIds.indexOf(i.targetId)===-1?n:xe(xe({},n),{},{targetIds:(t=n.targetIds,e=i.targetId,t.filter(function(o){return o!==e}))});case Gt:return xe(xe({},n),{},{dropResult:i.dropResult,didDrop:!0,targetIds:[]});case $t:return xe(xe({},n),{},{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return n}}function Oa(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;switch((arguments.length>1?arguments[1]:void 0).type){case Qt:case Jt:return t+1;case Zt:case yt:return t-1;default:return t}}var xt=[],en=[];function ka(){var t=arguments.length>1?arguments[1]:void 0;switch(t.type){case vt:break;case Qt:case Jt:case yt:case Zt:return xt;default:return en}var e=t.payload,n=e.targetIds,r=n===void 0?[]:n,i=e.prevTargetIds,o=i===void 0?[]:i,a=function(d,v){var p=new Map,m=function(f){p.set(f,p.has(f)?p.get(f)+1:1)};d.forEach(m),v.forEach(m);var h=[];return p.forEach(function(f,y){f===1&&h.push(y)}),h}(r,o),c=a.length>0||!function(d,v){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xa;if(d.length!==v.length)return!1;for(var m=0;m<d.length;++m)if(!p(d[m],v[m]))return!1;return!0}(r,o);if(!c)return xt;var l=o[o.length-1],u=r[r.length-1];return l!==u&&(l&&a.push(l),u&&a.push(u)),a}function Ca(){return(arguments.length>0&&arguments[0]!==void 0?arguments[0]:0)+1}function Br(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Vr(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Br(Object(n),!0).forEach(function(r){Na(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Br(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Na(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Da(){var t,e,n,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;return{dirtyHandlerIds:ka(r.dirtyHandlerIds,{type:i.type,payload:Vr(Vr({},i.payload),{},{prevTargetIds:(t=r,e="dragOperation.targetIds",n=[],e.split(".").reduce(function(o,a){return o&&o[a]?o[a]:n||null},t))})}),dragOffset:ja(r.dragOffset,i),refCount:Oa(r.refCount,i),dragOperation:Sa(r.dragOperation,i),stateId:Ca(r.stateId)}}function Wr(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Ta(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Kr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}xt.__IS_NONE__=!0,en.__IS_ALL__=!0;var Ea=function(){function t(e,n){(function(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")})(this,t),Kr(this,"store",void 0),Kr(this,"registry",void 0),this.store=e,this.registry=n}return Ta(t,[{key:"subscribeToStateChange",value:function(e){var n=this,r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{handlerIds:void 0}).handlerIds;A(typeof e=="function","listener must be a function."),A(r===void 0||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");var i=this.store.getState().stateId;return this.store.subscribe(function(){var o=n.store.getState(),a=o.stateId;try{var c=a===i||a===i+1&&!function(l,u){if(l===xt)return!1;if(l===en||u===void 0)return!0;var d,v=(d=l,u.filter(function(p){return d.indexOf(p)>-1}));return v.length>0}(o.dirtyHandlerIds,r);c||e()}finally{i=a}})}},{key:"subscribeToOffsetChange",value:function(e){var n=this;A(typeof e=="function","listener must be a function.");var r=this.store.getState().dragOffset;return this.store.subscribe(function(){var i=n.store.getState().dragOffset;i!==r&&(r=i,e())})}},{key:"canDragSource",value:function(e){if(!e)return!1;var n=this.registry.getSource(e);return A(n,"Expected to find a valid source. sourceId=".concat(e)),!this.isDragging()&&n.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){if(!e)return!1;var n=this.registry.getTarget(e);return A(n,"Expected to find a valid target. targetId=".concat(e)),!(!this.isDragging()||this.didDrop())&&Xt(this.registry.getTargetType(e),this.getItemType())&&n.canDrop(this,e)}},{key:"isDragging",value:function(){return!!this.getItemType()}},{key:"isDraggingSource",value:function(e){if(!e)return!1;var n=this.registry.getSource(e,!0);return A(n,"Expected to find a valid source. sourceId=".concat(e)),!(!this.isDragging()||!this.isSourcePublic())&&this.registry.getSourceType(e)===this.getItemType()&&n.isDragging(this,e)}},{key:"isOverTarget",value:function(e){if(!e)return!1;var n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{shallow:!1}).shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Xt(r,i))return!1;var o=this.getTargetIds();if(!o.length)return!1;var a=o.indexOf(e);return n?a===o.length-1:a>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return!!this.store.getState().dragOperation.isSourcePublic}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return e=this.store.getState().dragOffset,i=e.clientOffset,o=e.initialClientOffset,a=e.initialSourceClientOffset,i&&o&&a?Wr((r=a,{x:(n=i).x+r.x,y:n.y+r.y}),o):null;var e,n,r,i,o,a}},{key:"getDifferenceFromInitialOffset",value:function(){return e=this.store.getState().dragOffset,n=e.clientOffset,r=e.initialClientOffset,n&&r?Wr(n,r):null;var e,n,r}}]),t}(),_a=0;function tn(t){return tn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tn(t)}function nn(t,e){e&&Array.isArray(t)?t.forEach(function(n){return nn(n,!1)}):A(typeof t=="string"||tn(t)==="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}const Gr=typeof global<"u"?global:self,$r=Gr.MutationObserver||Gr.WebKitMutationObserver;function Yr(t){return function(){const e=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(e),clearInterval(n),t()}}}const Pa=typeof $r=="function"?function(t){let e=1;const n=new $r(t),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}:Yr;class Aa{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,n){this.onError=e,this.release=n,this.task=null}}const Xr=new class{enqueueTask(t){const{queue:e,requestFlush:n}=this;e.length||(n(),this.flushing=!0),e[e.length]=t}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:t}=this;for(;this.index<t.length;){const e=this.index;if(this.index++,t[e].call(),this.index>this.capacity){for(let n=0,r=t.length-this.index;n<r;n++)t[n]=t[n+this.index];t.length-=this.index,this.index=0}}t.length=0,this.index=0,this.flushing=!1},this.registerPendingError=t=>{this.pendingErrors.push(t),this.requestErrorThrow()},this.requestFlush=Pa(this.flush),this.requestErrorThrow=Yr(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},Ma=new class{create(t){const e=this.freeTasks,n=e.length?e.pop():new Aa(this.onError,r=>e[e.length]=r);return n.task=t,n}constructor(t){this.onError=t,this.freeTasks=[]}}(Xr.registerPendingError);function Ra(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Ue(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function La(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return Qr(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Qr(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
7
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Qr(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Fa(t){var e=(_a++).toString();switch(t){case ve.SOURCE:return"S".concat(e);case ve.TARGET:return"T".concat(e);default:throw new Error("Unknown Handler Role: ".concat(t))}}function Jr(t){switch(t[0]){case"S":return ve.SOURCE;case"T":return ve.TARGET;default:A(!1,"Cannot parse handler ID: ".concat(t))}}function Zr(t,e){var n=t.entries(),r=!1;do{var i=n.next(),o=i.done;if(La(i.value,2)[1]===e)return!0;r=!!o}while(!r);return!1}var Ha=function(){function t(e){(function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")})(this,t),Ue(this,"types",new Map),Ue(this,"dragSources",new Map),Ue(this,"dropTargets",new Map),Ue(this,"pinnedSourceId",null),Ue(this,"pinnedSource",null),Ue(this,"store",void 0),this.store=e}return Ra(t,[{key:"addSource",value:function(e,n){nn(e),function(i){A(typeof i.canDrag=="function","Expected canDrag to be a function."),A(typeof i.beginDrag=="function","Expected beginDrag to be a function."),A(typeof i.endDrag=="function","Expected endDrag to be a function.")}(n);var r=this.addHandler(ve.SOURCE,e,n);return this.store.dispatch(function(i){return{type:Qt,payload:{sourceId:i}}}(r)),r}},{key:"addTarget",value:function(e,n){nn(e,!0),function(i){A(typeof i.canDrop=="function","Expected canDrop to be a function."),A(typeof i.hover=="function","Expected hover to be a function."),A(typeof i.drop=="function","Expected beginDrag to be a function.")}(n);var r=this.addHandler(ve.TARGET,e,n);return this.store.dispatch(function(i){return{type:Jt,payload:{targetId:i}}}(r)),r}},{key:"containsHandler",value:function(e){return Zr(this.dragSources,e)||Zr(this.dropTargets,e)}},{key:"getSource",value:function(e){var n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];return A(this.isSourceId(e),"Expected a valid source ID."),n&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}},{key:"getTarget",value:function(e){return A(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}},{key:"getSourceType",value:function(e){return A(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}},{key:"getTargetType",value:function(e){return A(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}},{key:"isSourceId",value:function(e){return Jr(e)===ve.SOURCE}},{key:"isTargetId",value:function(e){return Jr(e)===ve.TARGET}},{key:"removeSource",value:function(e){var n,r=this;A(this.getSource(e),"Expected an existing source."),this.store.dispatch(function(i){return{type:Zt,payload:{sourceId:i}}}(e)),n=function(){r.dragSources.delete(e),r.types.delete(e)},Xr.enqueueTask(Ma.create(n))}},{key:"removeTarget",value:function(e){A(this.getTarget(e),"Expected an existing target."),this.store.dispatch(function(n){return{type:yt,payload:{targetId:n}}}(e)),this.dropTargets.delete(e),this.types.delete(e)}},{key:"pinSource",value:function(e){var n=this.getSource(e);A(n,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=n}},{key:"unpinSource",value:function(){A(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}},{key:"addHandler",value:function(e,n,r){var i=Fa(e);return this.types.set(i,n),e===ve.SOURCE?this.dragSources.set(i,r):e===ve.TARGET&&this.dropTargets.set(i,r),i}}]),t}();function za(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=function(c){var l=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return Fr(Da,c&&l&&l({name:"dnd-core",instanceId:"dnd-core"}))}(arguments.length>3&&arguments[3]!==void 0&&arguments[3]),i=new Ea(r,new Ha(r)),o=new ya(r,i),a=t(o,e,n);return o.receiveBackend(a),o}var Ua=["children"];function qa(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return ei(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return ei(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ei(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function Ba(t,e){if(t==null)return{};var n,r,i=function(a,c){if(a==null)return{};var l,u,d={},v=Object.keys(a);for(u=0;u<v.length;u++)l=v[u],c.indexOf(l)>=0||(d[l]=a[l]);return d}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var ti=0,bt=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__"),Va=S.memo(function(t){var e=t.children,n=function(a){if("manager"in a)return[{dragDropManager:a.manager},!1];var c=function(u){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ni(),v=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,m=d;return m[bt]||(m[bt]={dragDropManager:za(u,d,v,p)}),m[bt]}(a.backend,a.context,a.options,a.debugMode),l=!a.context;return[c,l]}(Ba(t,Ua)),r=qa(n,2),i=r[0],o=r[1];return S.useEffect(function(){if(o){var a=ni();return++ti,function(){--ti===0&&(a[bt]=null)}}},[]),s.jsx(Dr.Provider,Object.assign({value:i},{children:e}),void 0)});function ni(){return typeof global<"u"?global:window}function Wa(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function ri(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var rn=!1,sn=!1,Ka=function(){function t(e){(function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")})(this,t),ri(this,"internalMonitor",void 0),ri(this,"sourceId",null),this.internalMonitor=e.getMonitor()}return Wa(t,[{key:"receiveHandlerId",value:function(e){this.sourceId=e}},{key:"getHandlerId",value:function(){return this.sourceId}},{key:"canDrag",value:function(){A(!rn,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return rn=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{rn=!1}}},{key:"isDragging",value:function(){if(!this.sourceId)return!1;A(!sn,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return sn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{sn=!1}}},{key:"subscribeToStateChange",value:function(e,n){return this.internalMonitor.subscribeToStateChange(e,n)}},{key:"isDraggingSource",value:function(e){return this.internalMonitor.isDraggingSource(e)}},{key:"isOverTarget",value:function(e,n){return this.internalMonitor.isOverTarget(e,n)}},{key:"getTargetIds",value:function(){return this.internalMonitor.getTargetIds()}},{key:"isSourcePublic",value:function(){return this.internalMonitor.isSourcePublic()}},{key:"getSourceId",value:function(){return this.internalMonitor.getSourceId()}},{key:"subscribeToOffsetChange",value:function(e){return this.internalMonitor.subscribeToOffsetChange(e)}},{key:"canDragSource",value:function(e){return this.internalMonitor.canDragSource(e)}},{key:"canDropOnTarget",value:function(e){return this.internalMonitor.canDropOnTarget(e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),t}();function Ga(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function ii(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var on=!1,$a=function(){function t(e){(function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")})(this,t),ii(this,"internalMonitor",void 0),ii(this,"targetId",null),this.internalMonitor=e.getMonitor()}return Ga(t,[{key:"receiveHandlerId",value:function(e){this.targetId=e}},{key:"getHandlerId",value:function(){return this.targetId}},{key:"subscribeToStateChange",value:function(e,n){return this.internalMonitor.subscribeToStateChange(e,n)}},{key:"canDrop",value:function(){if(!this.targetId)return!1;A(!on,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return on=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{on=!1}}},{key:"isOver",value:function(e){return!!this.targetId&&this.internalMonitor.isOverTarget(this.targetId,e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),t}();function Ya(t){return function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!S.isValidElement(e)){var r=e;return t(r,n),r}var i=e;(function(a){if(typeof a.type!="string"){var c=a.type.displayName||a.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors."+"You can either wrap ".concat(c," into a <div>, or turn it into a ")+"drag source or a drop target itself.")}})(i);var o=n?function(a){return t(a,n)}:t;return function(a,c){var l=a.ref;return A(typeof l!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),l?S.cloneElement(a,{ref:function(u){oi(l,u),oi(c,u)}}):S.cloneElement(a,{ref:c})}(i,o)}}function si(t){var e={};return Object.keys(t).forEach(function(n){var r=t[n];if(n.endsWith("Ref"))e[n]=t[n];else{var i=Ya(r);e[n]=function(){return i}}}),e}function oi(t,e){typeof t=="function"?t(e):t.current=e}function an(t){return an=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},an(t)}function ln(t){return t!==null&&an(t)==="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function cn(t,e,n,r){var i=void 0;if(i!==void 0)return!!i;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;var o=Object.keys(t),a=Object.keys(e);if(o.length!==a.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(e),l=0;l<o.length;l++){var u=o[l];if(!c(u))return!1;var d=t[u],v=e[u];if((i=void 0)===!1||i===void 0&&d!==v)return!1}return!0}function Xa(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function re(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Qa=function(){function t(e){var n=this;(function(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")})(this,t),re(this,"hooks",si({dragSource:function(r,i){n.clearDragSource(),n.dragSourceOptions=i||null,ln(r)?n.dragSourceRef=r:n.dragSourceNode=r,n.reconnectDragSource()},dragPreview:function(r,i){n.clearDragPreview(),n.dragPreviewOptions=i||null,ln(r)?n.dragPreviewRef=r:n.dragPreviewNode=r,n.reconnectDragPreview()}})),re(this,"handlerId",null),re(this,"dragSourceRef",null),re(this,"dragSourceNode",void 0),re(this,"dragSourceOptionsInternal",null),re(this,"dragSourceUnsubscribe",void 0),re(this,"dragPreviewRef",null),re(this,"dragPreviewNode",void 0),re(this,"dragPreviewOptionsInternal",null),re(this,"dragPreviewUnsubscribe",void 0),re(this,"lastConnectedHandlerId",null),re(this,"lastConnectedDragSource",null),re(this,"lastConnectedDragSourceOptions",null),re(this,"lastConnectedDragPreview",null),re(this,"lastConnectedDragPreviewOptions",null),re(this,"backend",void 0),this.backend=e}return Xa(t,[{key:"receiveHandlerId",value:function(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}},{key:"connectTarget",get:function(){return this.dragSource}},{key:"dragSourceOptions",get:function(){return this.dragSourceOptionsInternal},set:function(e){this.dragSourceOptionsInternal=e}},{key:"dragPreviewOptions",get:function(){return this.dragPreviewOptionsInternal},set:function(e){this.dragPreviewOptionsInternal=e}},{key:"reconnect",value:function(){this.reconnectDragSource(),this.reconnectDragPreview()}},{key:"reconnectDragSource",value:function(){var e=this.dragSource,n=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();n&&this.disconnectDragSource(),this.handlerId&&(e?n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)):this.lastConnectedDragSource=e)}},{key:"reconnectDragPreview",value:function(){var e=this.dragPreview,n=this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();n&&this.disconnectDragPreview(),this.handlerId&&(e?n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=e,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,e,this.dragPreviewOptions)):this.lastConnectedDragPreview=e)}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didConnectedDragSourceChange",value:function(){return this.lastConnectedDragSource!==this.dragSource}},{key:"didConnectedDragPreviewChange",value:function(){return this.lastConnectedDragPreview!==this.dragPreview}},{key:"didDragSourceOptionsChange",value:function(){return!cn(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}},{key:"didDragPreviewOptionsChange",value:function(){return!cn(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}},{key:"disconnectDragSource",value:function(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}},{key:"disconnectDragPreview",value:function(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}},{key:"dragSource",get:function(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}},{key:"dragPreview",get:function(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}},{key:"clearDragSource",value:function(){this.dragSourceNode=null,this.dragSourceRef=null}},{key:"clearDragPreview",value:function(){this.dragPreviewNode=null,this.dragPreviewRef=null}}]),t}();function Ja(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Se(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Za=function(){function t(e){var n=this;(function(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")})(this,t),Se(this,"hooks",si({dropTarget:function(r,i){n.clearDropTarget(),n.dropTargetOptions=i,ln(r)?n.dropTargetRef=r:n.dropTargetNode=r,n.reconnect()}})),Se(this,"handlerId",null),Se(this,"dropTargetRef",null),Se(this,"dropTargetNode",void 0),Se(this,"dropTargetOptionsInternal",null),Se(this,"unsubscribeDropTarget",void 0),Se(this,"lastConnectedHandlerId",null),Se(this,"lastConnectedDropTarget",null),Se(this,"lastConnectedDropTargetOptions",null),Se(this,"backend",void 0),this.backend=e}return Ja(t,[{key:"connectTarget",get:function(){return this.dropTarget}},{key:"reconnect",value:function(){var e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();var n=this.dropTarget;this.handlerId&&(n?e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=n,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,n,this.dropTargetOptions)):this.lastConnectedDropTarget=n)}},{key:"receiveHandlerId",value:function(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}},{key:"dropTargetOptions",get:function(){return this.dropTargetOptionsInternal},set:function(e){this.dropTargetOptionsInternal=e}},{key:"didHandlerIdChange",value:function(){return this.lastConnectedHandlerId!==this.handlerId}},{key:"didDropTargetChange",value:function(){return this.lastConnectedDropTarget!==this.dropTarget}},{key:"didOptionsChange",value:function(){return!cn(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}},{key:"disconnectDropTarget",value:function(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}},{key:"dropTarget",get:function(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}},{key:"clearDropTarget",value:function(){this.dropTargetRef=null,this.dropTargetNode=null}}]),t}(),De=typeof window<"u"?S.useLayoutEffect:S.useEffect;function un(t){return un=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},un(t)}function el(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function dn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var tl=function(){function t(e,n,r){(function(i,o){if(!(i instanceof o))throw new TypeError("Cannot call a class as a function")})(this,t),dn(this,"spec",void 0),dn(this,"monitor",void 0),dn(this,"connector",void 0),this.spec=e,this.monitor=n,this.connector=r}return el(t,[{key:"beginDrag",value:function(){var e,n=this.spec,r=this.monitor;return(e=un(n.item)==="object"?n.item:typeof n.item=="function"?n.item(r):{})!==null&&e!==void 0?e:null}},{key:"canDrag",value:function(){var e=this.spec,n=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag!="function"||e.canDrag(n)}},{key:"isDragging",value:function(e,n){var r=this.spec,i=this.monitor,o=r.isDragging;return o?o(i):n===e.getSourceId()}},{key:"endDrag",value:function(){var e=this.spec,n=this.monitor,r=this.connector,i=e.end;i&&i(n.getItem(),n),r.reconnect()}}]),t}();function Te(){var t=S.useContext(Dr).dragDropManager;return A(t!=null,"Expected drag drop context"),t}function nl(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return ai(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return ai(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
9
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ai(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function rl(t,e,n){var r=Te(),i=function(a,c,l){var u=S.useMemo(function(){return new tl(a,c,l)},[c,l]);return S.useEffect(function(){u.spec=a},[a]),u}(t,e,n),o=function(a){return S.useMemo(function(){var c=a.type;return A(c!=null,"spec.type must be defined"),c},[a])}(t);De(function(){if(o!=null){var a=function(d,v,p){var m=p.getRegistry(),h=m.addSource(d,v);return[h,function(){return m.removeSource(h)}]}(o,i,r),c=nl(a,2),l=c[0],u=c[1];return e.receiveHandlerId(l),n.receiveHandlerId(l),u}},[r,e,n,i,o])}function il(t){return function(e){if(Array.isArray(e))return hn(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||function(e,n){if(e){if(typeof e=="string")return hn(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return hn(e,n)}}(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
10
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function hn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function li(t,e){var n=il(e||[]);return e==null&&typeof t!="function"&&n.push(t),S.useMemo(function(){return typeof t=="function"?t():t},n)}function sl(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return ci(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return ci(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
11
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ci(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function ui(t,e,n){var r=sl(S.useState(function(){return e(t)}),2),i=r[0],o=r[1],a=S.useCallback(function(){var c=e(t);xo(i,c)||(o(c),n&&n())},[i,t,n]);return De(a),[i,a]}function ol(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return di(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return di(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
12
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function di(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function hi(t,e,n){return function(r,i,o){var a=ol(ui(r,i,o),2),c=a[0],l=a[1];return De(function(){var u=r.getHandlerId();if(u!=null)return r.subscribeToStateChange(l,{handlerIds:[u]})},[r,l]),c}(e,t||function(){return{}},function(){return n.reconnect()})}function al(t){return S.useMemo(function(){return t.hooks.dragSource()},[t])}function ll(t){return S.useMemo(function(){return t.hooks.dragPreview()},[t])}function cl(t,e){var n=li(t,e);A(!n.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");var r,i=(r=Te(),S.useMemo(function(){return new Ka(r)},[r])),o=function(a,c){var l=Te(),u=S.useMemo(function(){return new Qa(l.getBackend())},[l]);return De(function(){return u.dragSourceOptions=a||null,u.reconnect(),function(){return u.disconnectDragSource()}},[u,a]),De(function(){return u.dragPreviewOptions=c||null,u.reconnect(),function(){return u.disconnectDragPreview()}},[u,c]),u}(n.options,n.previewOptions);return rl(n,i,o),[hi(n.collect,i,o),al(o),ll(o)]}function ul(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function fi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var dl=function(){function t(e,n){(function(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")})(this,t),fi(this,"spec",void 0),fi(this,"monitor",void 0),this.spec=e,this.monitor=n}return ul(t,[{key:"canDrop",value:function(){var e=this.spec,n=this.monitor;return!e.canDrop||e.canDrop(n.getItem(),n)}},{key:"hover",value:function(){var e=this.spec,n=this.monitor;e.hover&&e.hover(n.getItem(),n)}},{key:"drop",value:function(){var e=this.spec,n=this.monitor;if(e.drop)return e.drop(n.getItem(),n)}}]),t}();function hl(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return pi(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return pi(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
13
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function pi(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function fl(t,e,n){var r=Te(),i=function(a,c){var l=S.useMemo(function(){return new dl(a,c)},[c]);return S.useEffect(function(){l.spec=a},[a]),l}(t,e),o=function(a){var c=a.accept;return S.useMemo(function(){return A(a.accept!=null,"accept must be defined"),Array.isArray(c)?c:[c]},[c])}(t);De(function(){var a=function(d,v,p){var m=p.getRegistry(),h=m.addTarget(d,v);return[h,function(){return m.removeTarget(h)}]}(o,i,r),c=hl(a,2),l=c[0],u=c[1];return e.receiveHandlerId(l),n.receiveHandlerId(l),u},[r,e,i,n,o.map(function(a){return a.toString()}).join("|")])}function pl(t){return S.useMemo(function(){return t.hooks.dropTarget()},[t])}function gi(t,e){var n,r=li(t,e),i=(n=Te(),S.useMemo(function(){return new $a(n)},[n])),o=function(a){var c=Te(),l=S.useMemo(function(){return new Za(c.getBackend())},[c]);return De(function(){return l.dropTargetOptions=a||null,l.reconnect(),function(){return l.disconnectDropTarget()}},[a]),l}(r.options);return fl(r,i,o),[hi(r.collect,i,o),pl(o)]}function gl(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var i=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,c=[],l=!0,u=!1;try{for(i=i.call(n);!(l=(o=i.next()).done)&&(c.push(o.value),!r||c.length!==r);l=!0);}catch(d){u=!0,a=d}finally{try{l||i.return==null||i.return()}finally{if(u)throw a}}return c}}(t,e)||function(n,r){if(n){if(typeof n=="string")return mi(n,r);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(n);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return mi(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function mi(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function vi(t){var e=null;return function(){return e==null&&(e=t()),e}}function ml(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function yi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var vl=function(){function t(e){(function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")})(this,t),yi(this,"entered",[]),yi(this,"isNodeInDocument",void 0),this.isNodeInDocument=e}return ml(t,[{key:"enter",value:function(e){var n=this,r=this.entered.length;return this.entered=function(i,o){var a=new Set,c=function(u){return a.add(u)};i.forEach(c),o.forEach(c);var l=[];return a.forEach(function(u){return l.push(u)}),l}(this.entered.filter(function(i){return n.isNodeInDocument(i)&&(!i.contains||i.contains(e))}),[e]),r===0&&this.entered.length>0}},{key:"leave",value:function(e){var n,r,i=this.entered.length;return this.entered=(n=this.entered.filter(this.isNodeInDocument),r=e,n.filter(function(o){return o!==r})),i>0&&this.entered.length===0}},{key:"reset",value:function(){this.entered=[]}}]),t}(),yl=vi(function(){return/firefox/i.test(navigator.userAgent)}),xi=vi(function(){return!!window.safari});function xl(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Ze(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var bi=function(){function t(e,n){(function(z,H){if(!(z instanceof H))throw new TypeError("Cannot call a class as a function")})(this,t),Ze(this,"xs",void 0),Ze(this,"ys",void 0),Ze(this,"c1s",void 0),Ze(this,"c2s",void 0),Ze(this,"c3s",void 0);for(var r=e.length,i=[],o=0;o<r;o++)i.push(o);i.sort(function(z,H){return e[z]<e[H]?-1:1});for(var a,c,l=[],u=[],d=0;d<r-1;d++)a=e[d+1]-e[d],c=n[d+1]-n[d],l.push(a),u.push(c/a);for(var v=[u[0]],p=0;p<l.length-1;p++){var m=u[p],h=u[p+1];if(m*h<=0)v.push(0);else{a=l[p];var f=l[p+1],y=a+f;v.push(3*y/((y+f)/m+(y+a)/h))}}v.push(u[u.length-1]);for(var x,w=[],I=[],k=0;k<v.length-1;k++){x=u[k];var O=v[k],N=1/l[k],_=O+v[k+1]-x-x;w.push((x-O-_)*N),I.push(_*N*N)}this.xs=e,this.ys=n,this.c1s=v,this.c2s=w,this.c3s=I}return xl(t,[{key:"interpolate",value:function(e){var n=this.xs,r=this.ys,i=this.c1s,o=this.c2s,a=this.c3s,c=n.length-1;if(e===n[c])return r[c];for(var l,u=0,d=a.length-1;u<=d;){var v=n[l=Math.floor(.5*(u+d))];if(v<e)u=l+1;else{if(!(v>e))return r[l];d=l-1}}var p=e-n[c=Math.max(0,d)],m=p*p;return r[c]+i[c]*p+o[c]*m+a[c]*p*m}}]),t}();function ji(t){var e=t.nodeType===1?t:t.parentElement;if(!e)return null;var n=e.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function jt(t){return{x:t.clientX,y:t.clientY}}function bl(t,e,n,r,i){var o,a,c,l=(o=e).nodeName==="IMG"&&(yl()||!((a=document.documentElement)!==null&&a!==void 0&&a.contains(o))),u=ji(l?t:e),d={x:n.x-u.x,y:n.y-u.y},v=t.offsetWidth,p=t.offsetHeight,m=r.anchorX,h=r.anchorY,f=function(O,N,_,z){var H=O?N.width:_,U=O?N.height:z;return xi()&&O&&(U/=window.devicePixelRatio,H/=window.devicePixelRatio),{dragPreviewWidth:H,dragPreviewHeight:U}}(l,e,v,p),y=f.dragPreviewWidth,x=f.dragPreviewHeight,w=i.offsetX,I=i.offsetY,k=I===0||I;return{x:w===0||w?w:new bi([0,.5,1],[d.x,d.x/v*y,d.x+y-v]).interpolate(m),y:k?I:(c=new bi([0,.5,1],[d.y,d.y/p*x,d.y+x-p]).interpolate(h),xi()&&l&&(c+=(window.devicePixelRatio-1)*x),c)}}var wi="__NATIVE_FILE__",Ii="__NATIVE_URL__",Si="__NATIVE_TEXT__",Oi="__NATIVE_HTML__";const ki=Object.freeze(Object.defineProperty({__proto__:null,FILE:wi,HTML:Oi,TEXT:Si,URL:Ii},Symbol.toStringTag,{value:"Module"}));function fn(t,e,n){var r=e.reduce(function(i,o){return i||t.getData(o)},"");return r??n}var et;function wt(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var pn=(wt(et={},wi,{exposeProperties:{files:function(t){return Array.prototype.slice.call(t.files)},items:function(t){return t.items},dataTransfer:function(t){return t}},matchesTypes:["Files"]}),wt(et,Oi,{exposeProperties:{html:function(t,e){return fn(t,e,"")},dataTransfer:function(t){return t}},matchesTypes:["Html","text/html"]}),wt(et,Ii,{exposeProperties:{urls:function(t,e){return fn(t,e,"").split(`
15
- `)},dataTransfer:function(t){return t}},matchesTypes:["Url","text/uri-list"]}),wt(et,Si,{exposeProperties:{text:function(t,e){return fn(t,e,"")},dataTransfer:function(t){return t}},matchesTypes:["Text","text/plain"]}),et);function jl(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function Ci(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var wl=function(){function t(e){(function(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")})(this,t),Ci(this,"item",void 0),Ci(this,"config",void 0),this.config=e,this.item={},this.initializeExposedProperties()}return jl(t,[{key:"initializeExposedProperties",value:function(){var e=this;Object.keys(this.config.exposeProperties).forEach(function(n){Object.defineProperty(e.item,n,{configurable:!0,enumerable:!0,get:function(){return console.warn(`Browser doesn't allow reading "`.concat(n,'" until the drop event.')),null}})})}},{key:"loadDataTransfer",value:function(e){var n=this;if(e){var r={};Object.keys(this.config.exposeProperties).forEach(function(i){r[i]={value:n.config.exposeProperties[i](e,n.config.matchesTypes),configurable:!0,enumerable:!0}}),Object.defineProperties(this.item,r)}}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,n){return n===e.getSourceId()}},{key:"endDrag",value:function(){}}]),t}();function gn(t){if(!t)return null;var e=Array.prototype.slice.call(t.types||[]);return Object.keys(pn).filter(function(n){return pn[n].matchesTypes.some(function(r){return e.indexOf(r)>-1})})[0]||null}function Il(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function mn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Sl=function(){function t(e,n){(function(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")})(this,t),mn(this,"ownerDocument",null),mn(this,"globalContext",void 0),mn(this,"optionsArgs",void 0),this.globalContext=e,this.optionsArgs=n}return Il(t,[{key:"window",get:function(){return this.globalContext?this.globalContext:typeof window<"u"?window:void 0}},{key:"document",get:function(){var e;return(e=this.globalContext)!==null&&e!==void 0&&e.document?this.globalContext.document:this.window?this.window.document:void 0}},{key:"rootElement",get:function(){var e;return((e=this.optionsArgs)===null||e===void 0?void 0:e.rootElement)||this.window}}]),t}();function Ni(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Di(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ni(Object(n),!0).forEach(function(r){L(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ni(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Ol(t,e,n){return e&&function(r,i){for(var o=0;o<i.length;o++){var a=i[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(r,a.key,a)}}(t.prototype,e),t}function L(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var vn,kl=function(){function t(e,n,r){var i=this;(function(o,a){if(!(o instanceof a))throw new TypeError("Cannot call a class as a function")})(this,t),L(this,"options",void 0),L(this,"actions",void 0),L(this,"monitor",void 0),L(this,"registry",void 0),L(this,"enterLeaveCounter",void 0),L(this,"sourcePreviewNodes",new Map),L(this,"sourcePreviewNodeOptions",new Map),L(this,"sourceNodes",new Map),L(this,"sourceNodeOptions",new Map),L(this,"dragStartSourceIds",null),L(this,"dropTargetIds",[]),L(this,"dragEnterTargetIds",[]),L(this,"currentNativeSource",null),L(this,"currentNativeHandle",null),L(this,"currentDragSourceNode",null),L(this,"altKeyPressed",!1),L(this,"mouseMoveTimeoutTimer",null),L(this,"asyncEndDragFrameId",null),L(this,"dragOverTargetIds",null),L(this,"lastClientOffset",null),L(this,"hoverRafId",null),L(this,"getSourceClientOffset",function(o){var a=i.sourceNodes.get(o);return a&&ji(a)||null}),L(this,"endDragNativeItem",function(){i.isDraggingNativeItem()&&(i.actions.endDrag(),i.currentNativeHandle&&i.registry.removeSource(i.currentNativeHandle),i.currentNativeHandle=null,i.currentNativeSource=null)}),L(this,"isNodeInDocument",function(o){return!!(o&&i.document&&i.document.body&&i.document.body.contains(o))}),L(this,"endDragIfSourceWasRemovedFromDOM",function(){var o=i.currentDragSourceNode;o==null||i.isNodeInDocument(o)||i.clearCurrentDragSourceNode()&&i.monitor.isDragging()&&i.actions.endDrag()}),L(this,"handleTopDragStartCapture",function(){i.clearCurrentDragSourceNode(),i.dragStartSourceIds=[]}),L(this,"handleTopDragStart",function(o){if(!o.defaultPrevented){var a=i.dragStartSourceIds;i.dragStartSourceIds=null;var c=jt(o);i.monitor.isDragging()&&i.actions.endDrag(),i.actions.beginDrag(a||[],{publishSource:!1,getSourceClientOffset:i.getSourceClientOffset,clientOffset:c});var l=o.dataTransfer,u=gn(l);if(i.monitor.isDragging()){if(l&&typeof l.setDragImage=="function"){var d=i.monitor.getSourceId(),v=i.sourceNodes.get(d),p=i.sourcePreviewNodes.get(d)||v;if(p){var m=i.getCurrentSourcePreviewNodeOptions(),h=bl(v,p,c,{anchorX:m.anchorX,anchorY:m.anchorY},{offsetX:m.offsetX,offsetY:m.offsetY});l.setDragImage(p,h.x,h.y)}}try{l==null||l.setData("application/json",{})}catch{}i.setCurrentDragSourceNode(o.target),i.getCurrentSourcePreviewNodeOptions().captureDraggingState?i.actions.publishDragSource():setTimeout(function(){return i.actions.publishDragSource()},0)}else if(u)i.beginDragNativeItem(u);else{if(l&&!l.types&&(o.target&&!o.target.hasAttribute||!o.target.hasAttribute("draggable")))return;o.preventDefault()}}}),L(this,"handleTopDragEndCapture",function(){i.clearCurrentDragSourceNode()&&i.monitor.isDragging()&&i.actions.endDrag()}),L(this,"handleTopDragEnterCapture",function(o){if(i.dragEnterTargetIds=[],i.enterLeaveCounter.enter(o.target)&&!i.monitor.isDragging()){var a=o.dataTransfer,c=gn(a);c&&i.beginDragNativeItem(c,a)}}),L(this,"handleTopDragEnter",function(o){var a=i.dragEnterTargetIds;i.dragEnterTargetIds=[],i.monitor.isDragging()&&(i.altKeyPressed=o.altKey,a.length>0&&i.actions.hover(a,{clientOffset:jt(o)}),a.some(function(c){return i.monitor.canDropOnTarget(c)})&&(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=i.getCurrentDropEffect())))}),L(this,"handleTopDragOverCapture",function(){i.dragOverTargetIds=[]}),L(this,"handleTopDragOver",function(o){var a=i.dragOverTargetIds;if(i.dragOverTargetIds=[],!i.monitor.isDragging())return o.preventDefault(),void(o.dataTransfer&&(o.dataTransfer.dropEffect="none"));i.altKeyPressed=o.altKey,i.lastClientOffset=jt(o),i.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(i.hoverRafId=requestAnimationFrame(function(){i.monitor.isDragging()&&i.actions.hover(a||[],{clientOffset:i.lastClientOffset}),i.hoverRafId=null})),(a||[]).some(function(c){return i.monitor.canDropOnTarget(c)})?(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect=i.getCurrentDropEffect())):i.isDraggingNativeItem()?o.preventDefault():(o.preventDefault(),o.dataTransfer&&(o.dataTransfer.dropEffect="none"))}),L(this,"handleTopDragLeaveCapture",function(o){i.isDraggingNativeItem()&&o.preventDefault(),i.enterLeaveCounter.leave(o.target)&&i.isDraggingNativeItem()&&setTimeout(function(){return i.endDragNativeItem()},0)}),L(this,"handleTopDropCapture",function(o){var a;i.dropTargetIds=[],i.isDraggingNativeItem()?(o.preventDefault(),(a=i.currentNativeSource)===null||a===void 0||a.loadDataTransfer(o.dataTransfer)):gn(o.dataTransfer)&&o.preventDefault(),i.enterLeaveCounter.reset()}),L(this,"handleTopDrop",function(o){var a=i.dropTargetIds;i.dropTargetIds=[],i.actions.hover(a,{clientOffset:jt(o)}),i.actions.drop({dropEffect:i.getCurrentDropEffect()}),i.isDraggingNativeItem()?i.endDragNativeItem():i.monitor.isDragging()&&i.actions.endDrag()}),L(this,"handleSelectStart",function(o){var a=o.target;typeof a.dragDrop=="function"&&(a.tagName==="INPUT"||a.tagName==="SELECT"||a.tagName==="TEXTAREA"||a.isContentEditable||(o.preventDefault(),a.dragDrop()))}),this.options=new Sl(n,r),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new vl(this.isNodeInDocument)}return Ol(t,[{key:"profile",value:function(){var e,n;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:((e=this.dragStartSourceIds)===null||e===void 0?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:((n=this.dragOverTargetIds)===null||n===void 0?void 0:n.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(e!==void 0){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,n=this.rootElement;n!==void 0&&(n.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&((e=this.window)===null||e===void 0||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,n,r){var i=this;return this.sourcePreviewNodeOptions.set(e,r),this.sourcePreviewNodes.set(e,n),function(){i.sourcePreviewNodes.delete(e),i.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,n,r){var i=this;this.sourceNodes.set(e,n),this.sourceNodeOptions.set(e,r);var o=function(c){return i.handleDragStart(c,e)},a=function(c){return i.handleSelectStart(c)};return n.setAttribute("draggable","true"),n.addEventListener("dragstart",o),n.addEventListener("selectstart",a),function(){i.sourceNodes.delete(e),i.sourceNodeOptions.delete(e),n.removeEventListener("dragstart",o),n.removeEventListener("selectstart",a),n.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,n){var r=this,i=function(c){return r.handleDragEnter(c,e)},o=function(c){return r.handleDragOver(c,e)},a=function(c){return r.handleDrop(c,e)};return n.addEventListener("dragenter",i),n.addEventListener("dragover",o),n.addEventListener("drop",a),function(){n.removeEventListener("dragenter",i),n.removeEventListener("dragover",o),n.removeEventListener("drop",a)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),n=this.sourceNodeOptions.get(e);return Di({dropEffect:this.altKeyPressed?"copy":"move"},n||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return Di({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(ki).some(function(n){return ki[n]===e})}},{key:"beginDragNativeItem",value:function(e,n){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(r,i){var o=new wl(pn[r]);return o.loadDataTransfer(i),o}(e,n),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var n=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout(function(){var r;return(r=n.rootElement)===null||r===void 0?void 0:r.addEventListener("mousemove",n.endDragIfSourceWasRemovedFromDOM,!0)},1e3)}},{key:"clearCurrentDragSourceNode",value:function(){if(this.currentDragSourceNode){var e;return this.currentDragSourceNode=null,this.rootElement&&((e=this.window)===null||e===void 0||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0}return!1}},{key:"handleDragStart",value:function(e,n){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(n))}},{key:"handleDragEnter",value:function(e,n){this.dragEnterTargetIds.unshift(n)}},{key:"handleDragOver",value:function(e,n){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(n)}},{key:"handleDrop",value:function(e,n){this.dropTargetIds.unshift(n)}}]),t}(),Cl=function(t,e,n){return new kl(t,e,n)};function Nl(t){const e=pe(),n=e.selectedIds,[r,i,o]=cl(()=>({canDrag:()=>t.isDraggable,type:"NODE",item:()=>{const a=e.isSelected(t.id)?Array.from(n):[t.id];return e.dispatch(ze.dragStart(t.id,a)),{id:t.id,dragIds:a}},end:()=>{e.hideCursor(),e.dispatch(ze.dragEnd())}}),[n,t]);return S.useEffect(()=>{o((vn||((vn=new Image).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),vn))},[o]),i}function It(t,e){return{parentId:t||null,index:e}}function qe(t,e){return{type:"line",index:t,level:e}}function yn(t,e){var n;let r=t;for(;r.parent&&r.level>e;)r=r.parent;return{parentId:((n=r.parent)===null||n===void 0?void 0:n.id)||null,index:cr(r)+1}}function Ti(t){var e;const n=function(v,p){const m=v.getBoundingClientRect(),h=p.x-Math.round(m.x),f=p.y-Math.round(m.y),y=m.height,x=f<y/2,w=!x,I=y/4,k=f>I&&f<y-I;return{x:h,inTopHalf:x,inBottomHalf:w,inMiddle:k,atTop:!k&&x,atBottom:!k&&w}}(t.element,t.offset),r=t.indent,i=Math.round(Math.max(0,n.x-r)/r),{node:o,nextNode:a,prevNode:c}=t,[l,u]=function(v,p,m,h){return v?v.isInternal?h.atTop?[p,v]:h.inMiddle?[v,v]:[v,m]:h.inTopHalf?[p,v]:[v,m]:[p,null]}(o,c,a,n);if(o&&o.isInternal&&n.inMiddle)return{drop:It(o.id,null),cursor:(d=o.id,{type:"highlight",id:d})};var d;if(!l)return{drop:It((e=u==null?void 0:u.parent)===null||e===void 0?void 0:e.id,0),cursor:qe(0,0)};if(sr(l)){const v=gt(i,(u==null?void 0:u.level)||0,l.level);return{drop:yn(l,v),cursor:qe(l.rowIndex+1,v)}}if(or(l)){const v=gt(i,(u==null?void 0:u.level)||0,l.level);return{drop:yn(l,v),cursor:qe(l.rowIndex+1,v)}}if(ar(l)){const v=gt(i,0,l.level+1);return v>l.level?{drop:It(l.id,0),cursor:qe(l.rowIndex+1,v)}:{drop:yn(l,v),cursor:qe(l.rowIndex+1,v)}}return{drop:It(l==null?void 0:l.id,0),cursor:qe(l.rowIndex+1,l.level+1)}}const Dl=Be.memo(function({index:t,style:e}){ir(),function(){if(S.useContext(tr)===null)throw new Error("Provide a NodesContext")}();const n=pe(),r=function(h){const f=pe(),y=f.at(h);if(!y)throw new Error(`Could not find node for index: ${h}`);return S.useMemo(()=>{const x=y.clone();return f.visibleNodes[h]=x,x},[...Object.values(y.state),y])}(t),i=S.useRef(null),o=Nl(r),a=function(h,f){const y=pe(),[x,w]=gi(()=>({accept:"NODE",canDrop:()=>y.canDrop(),hover:(I,k)=>{const O=k.getClientOffset();if(!h.current||!O)return;const{cursor:N,drop:_}=Ti({element:h.current,offset:O,indent:y.indent,node:f,prevNode:f.prev,nextNode:f.next});_&&y.dispatch(ze.hovering(_.parentId,_.index)),k.canDrop()?N&&y.showCursor(N):y.hideCursor()},drop:(I,k)=>{if(!k.canDrop())return null;let{parentId:O,index:N,dragIds:_}=y.state.dnd;pr(y.props.onMove,{dragIds:_,parentId:O===Xe?null:O,index:N===null?0:N,dragNodes:y.dragNodes,parentNode:y.get(O)}),y.open(O)}}),[f,h.current,y.props]);return w}(i,r),c=S.useCallback(h=>{i.current=h,a(h)},[a]),l=n.indent*r.level,u=S.useMemo(()=>({paddingLeft:l}),[l]),d=S.useMemo(()=>{var h,f;return Object.assign(Object.assign({},e),{top:parseFloat(e.top)+((f=(h=n.props.padding)!==null&&h!==void 0?h:n.props.paddingTop)!==null&&f!==void 0?f:0)})},[e,n.props.padding,n.props.paddingTop]),v={role:"treeitem","aria-level":r.level+1,"aria-selected":r.isSelected,"aria-expanded":r.isOpen,style:d,tabIndex:-1,className:n.props.rowClassName};S.useEffect(()=>{var h;!r.isEditing&&r.isFocused&&((h=i.current)===null||h===void 0||h.focus({preventScroll:!0}))},[r.isEditing,r.isFocused,i.current]);const p=n.renderNode,m=n.renderRow;return s.jsx(m,{node:r,innerRef:c,attrs:v,children:s.jsx(p,{node:r,tree:n,style:u,dragHandle:o})})});let xn="",Ei=null;function _i(){ir();const t=pe();return s.jsx("div",{role:"tree",style:{height:t.height,width:t.width,minHeight:0,minWidth:0},onContextMenu:t.props.onContextMenu,onClick:t.props.onClick,tabIndex:0,onFocus:e=>{e.currentTarget.contains(e.relatedTarget)||t.onFocus()},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||t.onBlur()},onKeyDown:e=>{var n;if(t.isEditing)return;if(e.key==="Backspace"){if(!t.props.onDelete)return;const i=Array.from(t.selectedIds);if(i.length>1){let o=t.mostRecentNode;for(;o&&o.isSelected;)o=o.nextSibling;o||(o=t.lastNode),t.focus(o,{scroll:!1}),t.delete(Array.from(i))}else{const o=t.focusedNode;if(o){const a=o.nextSibling,c=o.parent;t.focus(a||c,{scroll:!1}),t.delete(o)}}return}if(e.key==="Tab"&&!e.shiftKey)return e.preventDefault(),void ur(e.currentTarget);if(e.key==="Tab"&&e.shiftKey)return e.preventDefault(),void dr(e.currentTarget);if(e.key==="ArrowDown"){e.preventDefault();const i=t.nextNode;if(e.metaKey)return t.select(t.focusedNode),void t.activate(t.focusedNode);if(!e.shiftKey||t.props.disableMultiSelection)return void t.focus(i);{if(!i)return;const o=t.focusedNode;return void(o?o.isSelected?t.selectContiguous(i):t.selectMulti(i):t.focus(t.firstNode))}}if(e.key==="ArrowUp"){e.preventDefault();const i=t.prevNode;if(!e.shiftKey||t.props.disableMultiSelection)return void t.focus(i);{if(!i)return;const o=t.focusedNode;return void(o?o.isSelected?t.selectContiguous(i):t.selectMulti(i):t.focus(t.lastNode))}}if(e.key==="ArrowRight"){const i=t.focusedNode;return i?void(i.isInternal&&i.isOpen?t.focus(t.nextNode):i.isInternal&&t.open(i.id)):void 0}if(e.key==="ArrowLeft"){const i=t.focusedNode;return!i||i.isRoot?void 0:void(i.isInternal&&i.isOpen?t.close(i.id):((n=i.parent)===null||n===void 0?void 0:n.isRoot)||t.focus(i.parent))}if(e.key==="a"&&e.metaKey&&!t.props.disableMultiSelection)return e.preventDefault(),void t.selectAll();if(e.key==="a"&&!e.metaKey&&t.props.onCreate)return void t.createLeaf();if(e.key==="A"&&!e.metaKey)return t.props.onCreate?void t.createInternal():void 0;if(e.key==="Home")return e.preventDefault(),void t.focus(t.firstNode);if(e.key==="End")return e.preventDefault(),void t.focus(t.lastNode);if(e.key==="Enter"){const i=t.focusedNode;return!i||!i.isEditable||!t.props.onRename?void 0:void setTimeout(()=>{i&&t.edit(i)})}if(e.key===" "){e.preventDefault();const i=t.focusedNode;return i?void(i.isLeaf?(i.select(),i.activate()):i.toggle()):void 0}if(e.key==="*"){const i=t.focusedNode;return i?void t.openSiblings(i):void 0}if(e.key==="PageUp")return e.preventDefault(),void t.pageUp();e.key==="PageDown"&&(e.preventDefault(),t.pageDown()),clearTimeout(Ei),xn+=e.key,Ei=setTimeout(()=>{xn=""},600);const r=t.visibleNodes.find(i=>{const o=i.data.name;return typeof o=="string"&&o.toLowerCase().startsWith(xn)});r&&t.focus(r.id)},children:s.jsx(ra,{className:t.props.className,outerRef:t.listEl,itemCount:t.visibleNodes.length,height:t.height,width:t.width,itemSize:t.rowHeight,overscanCount:t.overscanCount,itemKey:e=>{var n;return((n=t.visibleNodes[e])===null||n===void 0?void 0:n.id)||e},outerElementType:oa,innerElementType:ca,onScroll:t.props.onScroll,onItemsRendered:t.onItemsRendered.bind(t),ref:t.list,children:Dl})})}function Pi(t){return t.isFiltered?function(e,n){const r={},i=[];function o(c){if(!c.isRoot&&n(c)){r[c.id]=!0;let l=c.parent;for(;l;)r[l.id]=!0,l=l.parent}if(c.children)for(let l of c.children)o(l)}function a(c){var l;c.level>=0&&r[c.id]&&i.push(c),c.isOpen&&((l=c.children)===null||l===void 0||l.forEach(a))}return o(e),a(e),i.forEach(Ai),i}(t.root,t.isMatch.bind(t)):function(e){const n=[];function r(i){var o;i.level>=0&&n.push(i),i.isOpen&&((o=i.children)===null||o===void 0||o.forEach(r))}return r(e),n.forEach(Ai),n}(t.root)}function Ai(t,e){t.rowIndex=e}const Mi=t=>t.reduce((e,n,r)=>(e[n.id]=r,e),{});var bn=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function a(u){try{l(r.next(u))}catch(d){o(d)}}function c(u){try{l(r.throw(u))}catch(d){o(d)}}function l(u){var d;u.done?i(u.value):(d=u.value,d instanceof n?d:new n(function(v){v(d)})).then(a,c)}l((r=r.apply(t,e||[])).next())})};const{safeRun:X,identify:Oe,identifyNull:we}=Ao;class nt{constructor(e,n,r,i){this.store=e,this.props=n,this.list=r,this.listEl=i,this.visibleStartIndex=0,this.visibleStopIndex=0,this.root=yr(this),this.visibleNodes=Pi(this),this.idToIndex=Mi(this.visibleNodes)}update(e){this.props=e,this.root=yr(this),this.visibleNodes=Pi(this),this.idToIndex=Mi(this.visibleNodes)}dispatch(e){return this.store.dispatch(e)}get state(){return this.store.getState()}get openState(){return this.state.nodes.open.unfiltered}get width(){var e;return(e=this.props.width)!==null&&e!==void 0?e:300}get height(){var e;return(e=this.props.height)!==null&&e!==void 0?e:500}get indent(){var e;return(e=this.props.indent)!==null&&e!==void 0?e:24}get rowHeight(){var e;return(e=this.props.rowHeight)!==null&&e!==void 0?e:24}get overscanCount(){var e;return(e=this.props.overscanCount)!==null&&e!==void 0?e:1}get searchTerm(){return(this.props.searchTerm||"").trim()}get matchFn(){var e;const n=(e=this.props.searchMatch)!==null&&e!==void 0?e:(r,i)=>JSON.stringify(Object.values(r.data)).toLocaleLowerCase().includes(i.toLocaleLowerCase());return r=>n(r,this.searchTerm)}accessChildren(e){var n;return(n=Ye(e,this.props.childrenAccessor||"children"))!==null&&n!==void 0?n:null}accessId(e){const n=Ye(e,this.props.idAccessor||"id");if(!n)throw new Error("Data must contain an 'id' property or props.idAccessor must return a string");return n}get firstNode(){var e;return(e=this.visibleNodes[0])!==null&&e!==void 0?e:null}get lastNode(){var e;return(e=this.visibleNodes[this.visibleNodes.length-1])!==null&&e!==void 0?e:null}get focusedNode(){var e;return(e=this.get(this.state.nodes.focus.id))!==null&&e!==void 0?e:null}get mostRecentNode(){var e;return(e=this.get(this.state.nodes.selection.mostRecent))!==null&&e!==void 0?e:null}get nextNode(){const e=this.indexOf(this.focusedNode);return e===null?null:this.at(e+1)}get prevNode(){const e=this.indexOf(this.focusedNode);return e===null?null:this.at(e-1)}get(e){return e&&e in this.idToIndex&&this.visibleNodes[this.idToIndex[e]]||null}at(e){return this.visibleNodes[e]||null}nodesBetween(e,n){var r;if(e===null||n===null)return[];const i=(r=this.indexOf(e))!==null&&r!==void 0?r:0,o=this.indexOf(n);if(o===null)return[];const a=Math.min(i,o),c=Math.max(i,o);return this.visibleNodes.slice(a,c+1)}indexOf(e){const n=fr(e);return n?this.idToIndex[n]:null}get editingId(){return this.state.nodes.edit.id}createInternal(){return this.create({type:"internal"})}createLeaf(){return this.create({type:"leaf"})}create(){return bn(this,arguments,void 0,function*(e={}){var n,r;const i=e.parentId===void 0?vr(this):e.parentId,o=(n=e.index)!==null&&n!==void 0?n:mr(this),a=(r=e.type)!==null&&r!==void 0?r:"leaf",c=yield X(this.props.onCreate,{type:a,parentId:i,index:o,parentNode:this.get(i)});c&&(this.focus(c),setTimeout(()=>{this.edit(c).then(()=>{this.select(c),this.activate(c)})}))})}delete(e){return bn(this,void 0,void 0,function*(){if(!e)return;const n=(Array.isArray(e)?e:[e]).map(Oe),r=n.map(i=>this.get(i)).filter(i=>!!i);yield X(this.props.onDelete,{nodes:r,ids:n})})}edit(e){const n=Oe(e);return this.resolveEdit({cancelled:!0}),this.scrollTo(n),this.dispatch(zt(n)),new Promise(r=>{nt.editPromise=r})}submit(e,n){return bn(this,void 0,void 0,function*(){if(!e)return;const r=Oe(e);yield X(this.props.onRename,{id:r,name:n,node:this.get(r)}),this.dispatch(zt(null)),this.resolveEdit({cancelled:!1,value:n}),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(zt(null)),this.resolveEdit({cancelled:!0}),setTimeout(()=>this.onFocus())}activate(e){const n=this.get(we(e));n&&X(this.props.onActivate,n)}resolveEdit(e){const n=nt.editPromise;n&&n(e),nt.editPromise=null}get selectedIds(){return this.state.nodes.selection.ids}get selectedNodes(){let e=[];for(let n of Array.from(this.selectedIds)){const r=this.get(n);r&&e.push(r)}return e}focus(e,n={}){e&&(this.props.selectionFollowsFocus?this.select(e):(this.dispatch(Fe(Oe(e))),n.scroll!==!1&&this.scrollTo(e),this.focusedNode&&X(this.props.onFocus,this.focusedNode)))}pageUp(){var e,n;const r=this.visibleStartIndex,i=this.visibleStopIndex-r;let o=(n=(e=this.focusedNode)===null||e===void 0?void 0:e.rowIndex)!==null&&n!==void 0?n:0;o=o>r?r:Math.max(r-i,0),this.focus(this.at(o))}pageDown(){var e,n;const r=this.visibleStartIndex,i=this.visibleStopIndex,o=i-r;let a=(n=(e=this.focusedNode)===null||e===void 0?void 0:e.rowIndex)!==null&&n!==void 0?n:0;a=a<i?i:Math.min(a+o,this.visibleNodes.length-1),this.focus(this.at(a))}select(e,n={}){if(!e)return;const r=n.focus!==!1,i=Oe(e);r&&this.dispatch(Fe(i)),this.dispatch(Bo(i)),this.dispatch(wr(i)),this.dispatch(qt(i)),this.scrollTo(i,n.align),this.focusedNode&&r&&X(this.props.onFocus,this.focusedNode),X(this.props.onSelect,this.selectedNodes)}deselect(e){if(!e)return;const n=Oe(e);this.dispatch(jr(n)),X(this.props.onSelect,this.selectedNodes)}selectMulti(e){const n=this.get(we(e));n&&(this.dispatch(Fe(n.id)),this.dispatch(br(n.id)),this.dispatch(wr(n.id)),this.dispatch(qt(n.id)),this.scrollTo(n),this.focusedNode&&X(this.props.onFocus,this.focusedNode),X(this.props.onSelect,this.selectedNodes))}selectContiguous(e){if(!e)return;const n=Oe(e),{anchor:r,mostRecent:i}=this.state.nodes.selection;this.dispatch(Fe(n)),this.dispatch(jr(this.nodesBetween(r,i))),this.dispatch(br(this.nodesBetween(r,we(n)))),this.dispatch(qt(n)),this.scrollTo(n),this.focusedNode&&X(this.props.onFocus,this.focusedNode),X(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null}),X(this.props.onSelect,this.selectedNodes)}selectAll(){var e;this.setSelection({ids:Object.keys(this.idToIndex),anchor:this.firstNode,mostRecent:this.lastNode}),this.dispatch(Fe((e=this.lastNode)===null||e===void 0?void 0:e.id)),this.focusedNode&&X(this.props.onFocus,this.focusedNode),X(this.props.onSelect,this.selectedNodes)}setSelection(e){var n;const r=new Set((n=e.ids)===null||n===void 0?void 0:n.map(Oe)),i=we(e.anchor),o=we(e.mostRecent);this.dispatch(Vo({ids:r,anchor:i,mostRecent:o})),X(this.props.onSelect,this.selectedNodes)}get cursorParentId(){const{cursor:e}=this.state.dnd;return e.type==="highlight"?e.id:null}get cursorOverFolder(){return this.state.dnd.cursor.type==="highlight"}get dragNodes(){return this.state.dnd.dragIds.map(e=>this.get(e)).filter(e=>!!e)}get dragNode(){return this.get(this.state.nodes.drag.id)}get dragDestinationParent(){return this.get(this.state.nodes.drag.destinationParentId)}get dragDestinationIndex(){return this.state.nodes.drag.destinationIndex}canDrop(){var e;if(this.isFiltered)return!1;const n=(e=this.get(this.state.dnd.parentId))!==null&&e!==void 0?e:this.root,r=this.dragNodes,i=this.props.disableDrop;for(const o of r)if(!o||!n||o.isInternal&&lr(n,o))return!1;return typeof i=="function"?!i({parentNode:n,dragNodes:this.dragNodes,index:this.state.dnd.index||0}):typeof i=="string"?!n.data[i]:typeof i!="boolean"||!i}hideCursor(){this.dispatch(ze.cursor({type:"none"}))}showCursor(e){this.dispatch(ze.cursor(e))}open(e){const n=we(e);n&&(this.isOpen(n)||(this.dispatch(Ut.open(n,this.isFiltered)),X(this.props.onToggle,n)))}close(e){const n=we(e);n&&this.isOpen(n)&&(this.dispatch(Ut.close(n,this.isFiltered)),X(this.props.onToggle,n))}toggle(e){const n=we(e);if(n)return this.isOpen(n)?this.close(n):this.open(n)}openParents(e){const n=we(e);if(!n)return;const r=Ht(this.root,n);let i=r==null?void 0:r.parent;for(;i;)this.open(i.id),i=i.parent}openSiblings(e){const n=e.parent;if(n){if(n.children){const r=e.isOpen;for(let i of n.children)i.isInternal&&(r?this.close(i.id):this.open(i.id));this.scrollTo(this.focusedNode)}}else this.toggle(e.id)}openAll(){mt(this.root,e=>{e.isInternal&&e.open()})}closeAll(){mt(this.root,e=>{e.isInternal&&e.close()})}scrollTo(e,n="smart"){if(!e)return;const r=Oe(e);return this.openParents(r),gr(()=>r in this.idToIndex).then(()=>{var i;const o=this.idToIndex[r];o!==void 0&&((i=this.list.current)===null||i===void 0||i.scrollToItem(o,n))}).catch(()=>{})}get isEditing(){return this.state.nodes.edit.id!==null}get isFiltered(){var e;return!!(!((e=this.props.searchTerm)===null||e===void 0)&&e.trim())}get hasFocus(){return this.state.nodes.focus.treeFocused}get hasNoSelection(){return this.state.nodes.selection.ids.size===0}get hasOneSelection(){return this.state.nodes.selection.ids.size===1}get hasMultipleSelections(){return this.state.nodes.selection.ids.size>1}isSelected(e){return!!e&&this.state.nodes.selection.ids.has(e)}isOpen(e){var n,r,i;if(!e)return!1;if(e===Xe)return!0;const o=(n=this.props.openByDefault)===null||n===void 0||n;return this.isFiltered?(r=this.state.nodes.open.filtered[e])===null||r===void 0||r:(i=this.state.nodes.open.unfiltered[e])!==null&&i!==void 0?i:o}isEditable(e){return!Ye(e,this.props.disableEdit||(()=>!1))}isDraggable(e){return!Ye(e,this.props.disableDrag||(()=>!1))}isDragging(e){const n=we(e);return!!n&&this.state.nodes.drag.id===n}isFocused(e){return this.hasFocus&&this.state.nodes.focus.id===e}isMatch(e){return this.matchFn(e)}willReceiveDrop(e){const n=we(e);if(!n)return!1;const{destinationParentId:r,destinationIndex:i}=this.state.nodes.drag;return n===r&&i===null}onFocus(){const e=this.focusedNode||this.firstNode;e&&this.dispatch(Fe(e.id))}onBlur(){this.dispatch({type:"TREE_BLUR"})}onItemsRendered(e){this.visibleStartIndex=e.visibleStartIndex,this.visibleStopIndex=e.visibleStopIndex}get renderContainer(){return this.props.renderContainer||_i}get renderRow(){return this.props.renderRow||Ho}get renderNode(){return this.props.children||zo}get renderDragPreview(){return this.props.renderDragPreview||Ir}get renderCursor(){return this.props.renderCursor||Fo}}function ie(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var Ri=typeof Symbol=="function"&&Symbol.observable||"@@observable",jn=()=>Math.random().toString(36).substring(7).split("").join("."),St={INIT:`@@redux/INIT${jn()}`,REPLACE:`@@redux/REPLACE${jn()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${jn()}`};function Li(t,e,n){if(typeof t!="function")throw new Error(ie(2));if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(ie(0));if(typeof e=="function"&&n===void 0&&(n=e,e=void 0),n!==void 0){if(typeof n!="function")throw new Error(ie(1));return n(Li)(t,e)}let r=t,i=e,o=new Map,a=o,c=0,l=!1;function u(){a===o&&(a=new Map,o.forEach((m,h)=>{a.set(h,m)}))}function d(){if(l)throw new Error(ie(3));return i}function v(m){if(typeof m!="function")throw new Error(ie(4));if(l)throw new Error(ie(5));let h=!0;u();const f=c++;return a.set(f,m),function(){if(h){if(l)throw new Error(ie(6));h=!1,u(),a.delete(f),o=null}}}function p(m){if(!function(h){if(typeof h!="object"||h===null)return!1;let f=h;for(;Object.getPrototypeOf(f)!==null;)f=Object.getPrototypeOf(f);return Object.getPrototypeOf(h)===f||Object.getPrototypeOf(h)===null}(m))throw new Error(ie(7));if(m.type===void 0)throw new Error(ie(8));if(typeof m.type!="string")throw new Error(ie(17));if(l)throw new Error(ie(9));try{l=!0,i=r(i,m)}finally{l=!1}return(o=a).forEach(h=>{h()}),m}return p({type:St.INIT}),{dispatch:p,subscribe:v,getState:d,replaceReducer:function(m){if(typeof m!="function")throw new Error(ie(10));r=m,p({type:St.REPLACE})},[Ri]:function(){const m=v;return{subscribe(h){if(typeof h!="object"||h===null)throw new Error(ie(11));function f(){const y=h;y.next&&y.next(d())}return f(),{unsubscribe:m(f)}},[Ri](){return this}}}}}function Fi(t){const e=Object.keys(t),n={};for(let o=0;o<e.length;o++){const a=e[o];typeof t[a]=="function"&&(n[a]=t[a])}const r=Object.keys(n);let i;try{(function(o){Object.keys(o).forEach(a=>{const c=o[a];if(c(void 0,{type:St.INIT})===void 0)throw new Error(ie(12));if(c(void 0,{type:St.PROBE_UNKNOWN_ACTION()})===void 0)throw new Error(ie(13))})})(n)}catch(o){i=o}return function(o={},a){if(i)throw i;let c=!1;const l={};for(let u=0;u<r.length;u++){const d=r[u],v=n[d],p=o[d],m=v(p,a);if(m===void 0)throw a&&a.type,new Error(ie(14));l[d]=m,c=c||m!==p}return c=c||r.length!==Object.keys(o).length,c?l:o}}const Tl=Fi({nodes:Fi({focus:function(t={id:null,treeFocused:!1},e){return e.type==="FOCUS"?Object.assign(Object.assign({},t),{id:e.id,treeFocused:!0}):e.type==="TREE_BLUR"?Object.assign(Object.assign({},t),{treeFocused:!1}):t},edit:function(t={id:null},e){return e.type==="EDIT"?Object.assign(Object.assign({},t),{id:e.id}):t},open:function(t={filtered:{},unfiltered:{}},e){return e.type.startsWith("VISIBILITY")?e.filtered?Object.assign(Object.assign({},t),{filtered:xr(t.filtered,e)}):Object.assign(Object.assign({},t),{unfiltered:xr(t.unfiltered,e)}):t},selection:function(t=He().nodes.selection,e){const n=t.ids;switch(e.type){case"SELECTION_CLEAR":return Object.assign(Object.assign({},t),{ids:new Set});case"SELECTION_ONLY":return Object.assign(Object.assign({},t),{ids:new Set([e.id])});case"SELECTION_ADD":return e.ids.length===0?t:(e.ids.forEach(r=>n.add(r)),Object.assign(Object.assign({},t),{ids:new Set(n)}));case"SELECTION_REMOVE":return e.ids.length===0?t:(e.ids.forEach(r=>n.delete(r)),Object.assign(Object.assign({},t),{ids:new Set(n)}));case"SELECTION_SET":return Object.assign(Object.assign({},t),{ids:e.ids,mostRecent:e.mostRecent,anchor:e.anchor});case"SELECTION_MOST_RECENT":return Object.assign(Object.assign({},t),{mostRecent:e.id});case"SELECTION_ANCHOR":return Object.assign(Object.assign({},t),{anchor:e.id});default:return t}},drag:function(t=He().nodes.drag,e){switch(e.type){case"DND_DRAG_START":return Object.assign(Object.assign({},t),{id:e.id,selectedIds:e.dragIds});case"DND_DRAG_END":return Object.assign(Object.assign({},t),{id:null,destinationParentId:null,destinationIndex:null,selectedIds:[]});case"DND_HOVERING":return e.parentId!==t.destinationParentId||e.index!=t.destinationIndex?Object.assign(Object.assign({},t),{destinationParentId:e.parentId,destinationIndex:e.index}):t;default:return t}}}),dnd:function(t=He().dnd,e){switch(e.type){case"DND_CURSOR":return Object.assign(Object.assign({},t),{cursor:e.cursor});case"DND_DRAG_START":return Object.assign(Object.assign({},t),{dragId:e.id,dragIds:e.dragIds});case"DND_DRAG_END":return He().dnd;case"DND_HOVERING":return Object.assign(Object.assign({},t),{parentId:e.parentId,index:e.index});default:return t}}}),El=He();function _l({treeProps:t,imperativeHandle:e,children:n}){const r=S.useRef(null),i=S.useRef(null),o=S.useRef(Li(Tl,He(t))),a=fs.useSyncExternalStore(o.current.subscribe,o.current.getState,()=>El),c=S.useMemo(()=>new nt(o.current,t,r,i),[]),l=S.useRef(0);return S.useMemo(()=>{l.current+=1,c.update(t)},[...Object.values(t),a.nodes.open]),S.useImperativeHandle(e,()=>c),S.useEffect(()=>{c.props.selection?c.select(c.props.selection,{focus:!1}):c.deselectAll()},[c.props.selection]),S.useEffect(()=>{c.props.searchTerm||o.current.dispatch(Ut.clear(!0))},[c.props.searchTerm]),s.jsx(er.Provider,{value:c,children:s.jsx(rr.Provider,{value:l.current,children:s.jsx(tr.Provider,{value:a.nodes,children:s.jsx(nr.Provider,{value:a.dnd,children:s.jsx(Va,Object.assign({backend:Cl,options:{rootElement:c.props.dndRootElement||void 0}},t.dndManager&&{manager:t.dndManager},{children:n}))})})})})}function Pl(t){return function(){const e=pe(),[,n]=gi(()=>({accept:"NODE",canDrop:(r,i)=>!!i.isOver({shallow:!0})&&e.canDrop(),hover:(r,i)=>{if(!i.isOver({shallow:!0}))return;const o=i.getClientOffset();if(!e.listEl.current||!o)return;const{cursor:a,drop:c}=Ti({element:e.listEl.current,offset:o,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});c&&e.dispatch(ze.hovering(c.parentId,c.index)),i.canDrop()?a&&e.showCursor(a):e.hideCursor()}}),[e]);n(e.listEl)}(),t.children}function Al(){const t=pe().props.renderContainer||_i;return s.jsx(s.Fragment,{children:s.jsx(t,{})})}function Ml(){const t=pe(),{offset:e,mouse:n,item:r,isDragging:i}=(o=v=>({offset:v.getSourceClientOffset(),mouse:v.getClientOffset(),item:v.getItem(),isDragging:v.isDragging()}),a=Te().getMonitor(),c=gl(ui(a,o),2),l=c[0],u=c[1],S.useEffect(function(){return a.subscribeToOffsetChange(u)}),S.useEffect(function(){return a.subscribeToStateChange(u)}),l);var o,a,c,l,u;const d=t.props.renderDragPreview||Ir;return s.jsx(d,{offset:e,mouse:n,id:(r==null?void 0:r.id)||null,dragIds:(r==null?void 0:r.dragIds)||[],isDragging:i})}class Hi{constructor(e){this.root=function(n){const r=new zi({id:"ROOT"},null);return r.children=n.map(i=>wn(i,r)),r}(e)}get data(){var e,n;return(n=(e=this.root.children)===null||e===void 0?void 0:e.map(r=>r.data))!==null&&n!==void 0?n:[]}create(e){const n=e.parentId?this.find(e.parentId):this.root;if(!n)return null;n.addChild(e.data,e.index)}move(e){const n=this.find(e.id),r=e.parentId?this.find(e.parentId):this.root;n&&r&&(r.addChild(n.data,e.index),n.drop())}update(e){const n=this.find(e.id);n&&n.update(e.changes)}drop(e){const n=this.find(e.id);n&&n.drop()}find(e,n=this.root){if(!n)return null;if(n.id===e)return n;if(n.children){for(let r of n.children){const i=this.find(e,r);if(i)return i}return null}return null}}function wn(t,e){const n=new zi(t,e);return t.children&&(n.children=t.children.map(r=>wn(r,n))),n}class zi{constructor(e,n){this.data=e,this.parent=n,this.id=e.id}hasParent(){return!!this.parent}get childIndex(){return this.hasParent()?this.parent.children.indexOf(this):-1}addChild(e,n){var r,i;const o=wn(e,this);this.children=(r=this.children)!==null&&r!==void 0?r:[],this.children.splice(n,0,o),this.data.children=(i=this.data.children)!==null&&i!==void 0?i:[],this.data.children.splice(n,0,e)}removeChild(e){var n,r;(n=this.children)===null||n===void 0||n.splice(e,1),(r=this.data.children)===null||r===void 0||r.splice(e,1)}update(e){if(this.hasParent()){const n=this.childIndex;this.parent.addChild(Object.assign(Object.assign({},this.data),e),n),this.drop()}}drop(){this.hasParent()&&this.parent.removeChild(this.childIndex)}}let Rl=0;function Ll(t){if(t.initialData&&t.data)throw new Error("React Arborist Tree => Provide either a data or initialData prop, but not both.");if(t.initialData&&(t.onCreate||t.onDelete||t.onMove||t.onRename))throw new Error(`React Arborist Tree => You passed the initialData prop along with a data handler.
16
- Use the data prop if you want to provide your own handlers.`);if(t.initialData){const[e,n]=function(r){const[i,o]=S.useState(r),a=S.useMemo(()=>new Hi(i),[i]);return[i,{onMove:l=>{for(const u of l.dragIds)a.move({id:u,parentId:l.parentId,index:l.index});o(a.data)},onRename:({name:l,id:u})=>{a.update({id:u,changes:{name:l}}),o(a.data)},onCreate:({parentId:l,index:u,type:d})=>{const v={id:"simple-tree-id-"+Rl++,name:""};return d==="internal"&&(v.children=[]),a.create({parentId:l,index:u,data:v}),o(a.data),v},onDelete:l=>{l.ids.forEach(u=>a.drop({id:u})),o(a.data)}}]}(t.initialData);return Object.assign(Object.assign(Object.assign({},t),n),{data:e})}return t}const Fl=S.forwardRef(function(t,e){const n=Ll(t);return s.jsxs(_l,{treeProps:n,imperativeHandle:e,children:[s.jsx(Pl,{children:s.jsx(Al,{})}),s.jsx(Ml,{})]})});function Hl(t,e){const n=V.c(11),{delayMs:r,whenVisible:i,disabled:o}=e,a=o!==void 0&&o,c=S.useRef(void 0);let l,u,d,v,p;return n[0]!==t?(l=()=>{c.current=t},u=[t],n[0]=t,n[1]=l,n[2]=u):(l=n[1],u=n[2]),S.useEffect(l,u),n[3]!==r||n[4]!==a||n[5]!==i?(d=()=>{if(r===null||a)return;const m=setInterval(()=>{var h;i&&document.visibilityState!=="visible"||((h=c.current)==null||h.call(c))},r);return()=>clearInterval(m)},v=[r,i,a],n[3]=r,n[4]=a,n[5]=i,n[6]=d,n[7]=v):(d=n[6],v=n[7]),S.useEffect(d,v),n[8]!==a||n[9]!==i?(p=()=>{var m;document.visibilityState==="visible"&&i&&!a&&((m=c.current)==null||m.call(c))},n[8]=a,n[9]=i,n[10]=p):p=n[10],ps(document,"visibilitychange",p),null}function zl(){return["compact","medium","full","columns"]}const Ul=t=>{const e=V.c(2),{children:n}=t;let r;return e[0]!==n?(r=s.jsx("div",{className:"text-md font-semibold text-muted-foreground uppercase tracking-wide mb-1",children:n}),e[0]=n,e[1]=r):r=e[1],r},Ui=t=>{const e=V.c(10);let n,r,i,o,a;return e[0]!==t?({children:n,className:r,...i}=t,e[0]=t,e[1]=n,e[2]=r,e[3]=i):(n=e[1],r=e[2],i=e[3]),e[4]!==r?(o=_t("text-base font-semibold underline-offset-2 text-accent-foreground uppercase tracking-wide",r),e[4]=r,e[5]=o):o=e[5],e[6]!==n||e[7]!==i||e[8]!==o?(a=s.jsx("div",{...i,className:o,children:n}),e[6]=n,e[7]=i,e[8]=o,e[9]=a):a=e[9],a},ql=t=>{const e=V.c(2),{children:n}=t;let r;return e[0]!==n?(r=s.jsx("p",{className:"text-sm text-muted-foreground",children:n}),e[0]=n,e[1]=r):r=e[1],r},qi=[{label:"Auto (Default)",value:"auto"},{label:"Native",value:"native"},{label:"Polars",value:"polars"},{label:"Lazy Polars",value:"lazy-polars"},{label:"Pandas",value:"pandas"}],Bl=()=>{const t=V.c(31),[e,n]=gs(),{saveAppConfig:r}=Me();let i,o;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=kn(ms),t[0]=i):i=t[0],t[1]!==e?(o={resolver:i,defaultValues:e},t[1]=e,t[2]=o):o=t[2];const a=Cn(o);let c;t[3]!==r||t[4]!==n?(c=async I=>{await r({config:I}).then(()=>{n(I)}).catch(()=>{n(I)})},t[3]=r,t[4]=n,t[5]=c):c=t[5];const l=c;let u,d,v,p,m,h,f,y,x,w;return t[6]!==e.width?(u=[e.width],t[6]=e.width,t[7]=u):u=t[7],S.useEffect(Vl,u),t[8]!==a||t[9]!==l?(d=a.handleSubmit(l),t[8]=a,t[9]=l,t[10]=d):d=t[10],t[11]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsxs("div",{children:[s.jsx(Ul,{children:"Notebook Settings"}),s.jsx(ql,{children:"Configure how your notebook or application looks and behaves."})]}),t[11]=v):v=t[11],t[12]!==a.control?(p=s.jsxs(Ot,{title:"Display",children:[s.jsx(D,{control:a.control,name:"width",render:Kl}),s.jsx(D,{control:a.control,name:"app_title",render:Gl})]}),t[12]=a.control,t[13]=p):p=t[13],t[14]!==a.control?(m=s.jsxs(Ot,{title:"Custom Files",children:[s.jsx(D,{control:a.control,name:"css_file",render:$l}),s.jsx(D,{control:a.control,name:"html_head_file",render:Yl})]}),t[14]=a.control,t[15]=m):m=t[15],t[16]!==a.control?(h=s.jsx(Ot,{title:"Data",children:s.jsx(D,{control:a.control,name:"sql_output",render:Ql})}),t[16]=a.control,t[17]=h):h=t[17],t[18]!==a.control?(f=s.jsx(Ot,{title:"Exporting outputs",children:s.jsx(D,{control:a.control,name:"auto_download",render:Jl})}),t[18]=a.control,t[19]=f):f=t[19],t[20]!==p||t[21]!==m||t[22]!==h||t[23]!==f?(y=s.jsxs("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[p,m,h,f]}),t[20]=p,t[21]=m,t[22]=h,t[23]=f,t[24]=y):y=t[24],t[25]!==y||t[26]!==d?(x=s.jsxs("form",{onChange:d,className:"flex flex-col gap-6",children:[v,y]}),t[25]=y,t[26]=d,t[27]=x):x=t[27],t[28]!==a||t[29]!==x?(w=s.jsx(Nn,{...a,children:x}),t[28]=a,t[29]=x,t[30]=w):w=t[30],w},Ot=t=>{const e=V.c(5),{title:n,children:r}=t;let i,o;return e[0]!==n?(i=s.jsx("h3",{className:"text-base font-semibold mb-1",children:n}),e[0]=n,e[1]=i):i=e[1],e[2]!==r||e[3]!==i?(o=s.jsxs("div",{className:"flex flex-col gap-y-2",children:[i,r]}),e[2]=r,e[3]=i,e[4]=o):o=e[4],o};function Vl(){window.dispatchEvent(new Event("resize"))}function Wl(t){return s.jsx("option",{value:t,children:t},t)}function Kl(t){const{field:e}=t;return s.jsxs(T,{className:"flex flex-row items-center space-x-1 space-y-0",children:[s.jsx(C,{children:"Width"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"app-width-select",onChange:n=>e.onChange(n.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:["compact","medium","full","columns"].map(Wl)})}),s.jsx(P,{})]})}function Gl(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:"flex flex-row items-center space-x-1 space-y-0",children:[s.jsx(C,{children:"App title"}),s.jsx(E,{children:s.jsx(ue,{...e,value:e.value??"",onChange:n=>{e.onChange(n.target.value),Dn.safeParse(n.target.value).success&&(document.title=n.target.value)}})}),s.jsx(P,{})]}),s.jsx(F,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function $l(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:"flex flex-row items-center space-x-1 space-y-0",children:[s.jsx(C,{className:"shrink-0",children:"Custom CSS"}),s.jsx(E,{children:s.jsx(ue,{...e,value:e.value??"",placeholder:"custom.css",onChange:n=>{e.onChange(n.target.value),Dn.safeParse(n.target.value).success&&(document.title=n.target.value)}})}),s.jsx(P,{})]}),s.jsx(F,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Yl(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:"flex flex-row items-center space-x-1 space-y-0",children:[s.jsx(C,{className:"shrink-0",children:"HTML Head"}),s.jsx(E,{children:s.jsx(ue,{...e,value:e.value??"",placeholder:"head.html",onChange:n=>{e.onChange(n.target.value)}})}),s.jsx(P,{})]}),s.jsxs(F,{children:["A filepath to an HTML file to be injected into the"," ",s.jsx($,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function Xl(t){return s.jsx("option",{value:t.value,children:t.label},t.value)}function Ql(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:"flex flex-row items-center space-x-1 space-y-0",children:[s.jsx(C,{children:"SQL Output Type"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"sql-output-select",onChange:n=>{e.onChange(n.target.value),Re({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:qi.map(Xl)})}),s.jsx(P,{})]}),s.jsxs(F,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",s.jsx($,{className:"inline",children:"native"}),". See the"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}function Jl(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:"flex flex-col gap-2",children:[s.jsx(E,{children:s.jsxs("div",{className:"flex gap-4",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(Y,{id:"html-checkbox",checked:e.value.includes("html"),onCheckedChange:()=>{e.onChange(st(e.value,"html"))}}),s.jsx(C,{htmlFor:"html-checkbox",children:"HTML"})]}),s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(Y,{id:"ipynb-checkbox",checked:e.value.includes("ipynb"),onCheckedChange:()=>{e.onChange(st(e.value,"ipynb"))}}),s.jsx(C,{htmlFor:"ipynb-checkbox",children:"IPYNB"})]})]})}),s.jsx(P,{})]}),s.jsxs(F,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",s.jsx($,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})}const Zl=Tn("flex items-center justify-center m-0 leading-none font-medium border border-foreground/10 shadow-xs-solid hover:cursor-pointer active:shadow-none dark:border-border text-sm",{variants:{color:{gray:"mo-button gray",white:"mo-button white",green:"mo-button green",red:"mo-button red",yellow:"mo-button yellow","hint-green":"mo-button hint-green",disabled:"mo-button disabled active:shadow-xs-solid"},shape:{rectangle:"rounded",circle:"rounded-full"},size:{small:"",medium:""}},compoundVariants:[{size:"small",shape:"circle",class:"h-[24px] w-[24px] px-[5.5px] py-[5.5px]"},{size:"medium",shape:"circle",class:"px-2 py-2"},{size:"small",shape:"rectangle",class:"px-1 py-1 h-[24px] w-[24px]"},{size:"medium",shape:"rectangle",class:"px-3 py-2"}],defaultVariants:{color:"gray",size:"medium",shape:"rectangle"}}),ec=Tn("font-mono w-full flex-1 inline-flex items-center justify-center rounded px-2.5 text-foreground/60 h-[36px] hover:shadow-md hover:cursor-pointer focus:shadow-md focus:outline-hidden text-[hsl(0, 0%, 43.5%)] bg-transparent hover:bg-background focus:bg-background"),kt=Be.forwardRef((t,e)=>{const n=V.c(15);let r,i,o,a,c,l,u;return n[0]!==t?({color:i,shape:a,size:c,className:r,...o}=t,n[0]=t,n[1]=r,n[2]=i,n[3]=o,n[4]=a,n[5]=c):(r=n[1],i=n[2],o=n[3],a=n[4],c=n[5]),n[6]!==r||n[7]!==i||n[8]!==a||n[9]!==c?(l=En(Zl({color:i,shape:a,size:c}),r),n[6]=r,n[7]=i,n[8]=a,n[9]=c,n[10]=l):l=n[10],n[11]!==o||n[12]!==e||n[13]!==l?(u=s.jsx("button",{ref:e,className:l,...o,children:o.children}),n[11]=o,n[12]=e,n[13]=l,n[14]=u):u=n[14],u});kt.displayName="Button",Be.forwardRef((t,e)=>{const n=V.c(9);let r,i,o,a;return n[0]!==t?({className:r,...i}=t,n[0]=t,n[1]=r,n[2]=i):(r=n[1],i=n[2]),n[3]!==r?(o=En(ec(),r),n[3]=r,n[4]=o):o=n[4],n[5]!==i||n[6]!==e||n[7]!==o?(a=s.jsx("input",{ref:e,className:o,...i}),n[5]=i,n[6]=e,n[7]=o,n[8]=a):a=n[8],a}).displayName="Input";var tc=vs();const Bi="marimo:copilot:signedIn",Vi=bs(Bi,null,void 0,{getOnInit:!0}),Wi=Ve(null),Ct=Ve(null);function Ki(){const t=localStorage.getItem(Bi)==="true",e=ys();return t&&e.completion.copilot==="github"}const be=q.get("@github/copilot-language-server");class nc extends js{constructor(...e){super(...e),this.documentVersion=0,this.hasOpenedDocument=!1,this.getCompletionInternal=async(n,r)=>await this._request("textDocument/inlineCompletion",{...n,textDocument:{...n.textDocument,version:r}}),this.throttledGetCompletionInternal=function(n,r,i){var o=!0,a=!0;if(typeof n!="function")throw new TypeError("Expected a function");return us(i)&&(o="leading"in i?!!i.leading:o,a="trailing"in i?!!i.trailing:a),ds(n,r,{leading:o,maxWait:r,trailing:a})}(this.getCompletionInternal,200)}async _request(e,n){try{return await this.request(e,n)}catch(r){throw be.error("#request: Error",r),r}}async notify(e,n){return be.debug("#notify",e,n),super.notify(e,n)}getInitializationOptions(){const e={name:"marimo",version:"0.1.0"};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!Ki()}async textDocumentDidOpen(e){return this.isDisabled()?e:(this.hasOpenedDocument=!0,super.textDocumentDidOpen(e))}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return e;this.hasOpenedDocument||await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:"python",version:e.textDocument.version,text:e.contentChanges[0].text}});const n=e.contentChanges;n.length!==1&&be.warn("#textDocumentDidChange: Multiple changes detected. This is not supported.",n);const r=n[0];"range"in r&&be.warn("#textDocumentDidChange: Copilot doesn't support range changes.",r);const i=ws(r.text);return super.textDocumentDidChange({...e,contentChanges:[{text:i}],textDocument:Is.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)})}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request("signOut",{})}async signInInitiate(){be.log("#signInInitiate: Starting sign-in flow");try{const e=await this._request("signIn",{});return be.log("#signInInitiate: Sign-in flow started successfully"),e}catch(e){throw be.warn("#signInInitiate: Failed to start sign-in flow",e),e}}async signInConfirm(e){be.log("#signInConfirm: Confirming sign-in");try{const n=await this._request("signInConfirm",e);return be.log("#signInConfirm: Sign-in confirmed successfully"),n}catch(n){throw be.warn("#signInConfirm: Failed to confirm sign-in",n),n}}async signedIn(){try{const{status:e}=await this._request("checkStatus",{});return be.log("#checkStatus: Status check completed",{status:e}),e==="SignedIn"||e==="AlreadySignedIn"||e==="OK"}catch(e){throw be.warn("#signedIn: Failed to check sign-in status",e),e}}async getCompletion(e){if(this.isDisabled())return null;const n=this.documentVersion;if(e.textDocument.version=n,n===0)return null;var r;r=n,ot.set(Ct,r);const i=await this.throttledGetCompletionInternal(e,n);var o;return o=n,ot.get(Ct)===o&&ot.set(Ct,null),n!==this.documentVersion?null:i??null}}const Gi="/__marimo_copilot__.py",$i=`file://${Gi}`,rc=Le(()=>new ic);class ic extends tc.Transport{constructor(){super(),this.delegate=void 0,this.delegate=void 0}getWsUrl(){return Os().getLSPURL("copilot").toString()}async tryConnect(e=3,n=1e3){for(let r=1;r<=e;r++)try{return this.delegate||(this.delegate=new ks.WebSocketTransport(this.getWsUrl())),await this.delegate.connect(),void q.log("Copilot#connect: Connected successfully")}catch(i){if(q.warn(`Copilot#connect: Connection attempt ${r}/${e} failed`,i),r===e)throw this.delegate=void 0,Re({variant:"danger",title:"GitHub Copilot Connection Error",description:"Failed to connect to GitHub Copilot. Please check settings and try again."}),i;await new Promise(o=>setTimeout(o,n))}}async connect(){return await xs(_n,e=>e.completion.copilot==="github"),await Cs(),this.tryConnect()}close(){var e;(e=this.delegate)==null||e.close(),this.delegate=void 0}async sendData(e,n){var r;return n=Math.min(n??5e3,5e3),(r=this.delegate)==null?void 0:r.sendData(e,n)}}const tt=Le(()=>new nc({rootUri:$i,workspaceFolders:null,transport:rc()}));function sc(){return Ss({documentUri:$i,client:tt(),languageId:"copilot",hoverEnabled:!1,completionEnabled:!1,definitionEnabled:!1,renameEnabled:!1,codeActionsEnabled:!1,signatureHelpEnabled:!1,diagnosticsEnabled:!1,sendIncrementalChanges:!1})}const Yi=S.memo(()=>{const[t,e]=We(Vi),[n,r]=We(Wi),[i,o]=S.useState(),[a,c]=S.useState(!1),l=async v=>{v.preventDefault(),c(!0);try{const{verificationUri:p,status:m,userCode:h}=await async function(){return await tt().signInInitiate()}();Ji(m)?e(!0):(r("signingIn"),o({url:p,code:h}))}finally{c(!1)}},u=async v=>{if(v.preventDefault(),i){c(!0);try{const p=await async function(m){const h=tt();try{q.log("Copilot#tryFinishSignIn: Attempting to confirm sign-in");const{status:f}=await h.signInConfirm({userCode:m});return Ji(f)?(q.log("Copilot#tryFinishSignIn: Sign-in confirmed successfully"),{success:!0}):(q.warn("Copilot#tryFinishSignIn: Sign-in confirmation returned unexpected status",{status:f}),{success:!1})}catch(f){return Qi(f)?(q.error("Copilot#tryFinishSignIn: Connection error during sign-in",f),{success:!1,error:"connection"}):await async function(y){for(let x=0;x<Xi;x++)try{if(await new Promise(w=>setTimeout(w,oc)),await y.signedIn())return q.log("Copilot#tryFinishSignIn: Successfully signed in after retry"),{success:!0}}catch(w){if(q.warn("Copilot#tryFinishSignIn: Retry attempt failed",{attempt:x+1,maxRetries:Xi}),Qi(w))return{success:!1,error:"connection"}}return q.error("Copilot#tryFinishSignIn: All sign-in attempts failed"),{success:!1}}(h)}}(i.code);p.success?(e(!0),r("signedIn")):p.error==="connection"?(r("connectionError"),Re({title:"GitHub Copilot Connection Error",description:"Lost connection during sign-in. Please try again.",variant:"danger",action:s.jsx(me,{onClick:l,children:"Retry"})})):r("signInFailed")}finally{c(!1)}}},d=async v=>{v.preventDefault(),await async function(){await tt().signOut()}(),e(!1),r("signedOut")};return(()=>{switch(n??(t?"signedIn":"connecting")){case"connecting":return s.jsx(at,{className:"font-normal flex",children:"Connecting..."});case"signedOut":return s.jsx(me,{onClick:l,size:"xs",variant:"link",children:"Sign in to GitHub Copilot"});case"signingIn":return s.jsxs("ol",{className:"ml-4 text-sm list-decimal [&>li]:mt-2",children:[s.jsx("li",{children:s.jsxs("div",{className:"flex items-center",children:["Copy this code:",s.jsx("strong",{className:"ml-2",children:i==null?void 0:i.code}),s.jsx(Ds,{className:"ml-2 cursor-pointer opacity-60 hover:opacity-100 h-3 w-3",onClick:async()=>{i&&(await Ts(i.code),Re({description:"Copied to clipboard"}))}})]})}),s.jsxs("li",{children:["Enter the code at this link:",s.jsx("a",{href:i==null?void 0:i.url,target:"_blank",rel:"noreferrer",className:Es({variant:"link",size:"xs"}),children:i==null?void 0:i.url})]}),s.jsxs("li",{children:["Click here when done:",s.jsxs(me,{size:"xs",onClick:u,className:"ml-1",children:[a&&s.jsx(Pn,{className:"h-3 w-3 mr-1 animate-spin"}),"Done"]})]})]});case"signInFailed":return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsx("div",{className:"text-destructive text-sm",children:"Sign in failed. Please try again."}),a?s.jsx(Pn,{className:"h-3 w-3 mr-1 animate-spin"}):s.jsx(me,{onClick:l,size:"xs",variant:"link",children:"Connect to GitHub Copilot"})]});case"signedIn":return s.jsxs("div",{className:"flex items-center gap-5",children:[s.jsxs(at,{className:"font-normal flex items-center",children:[s.jsx("div",{className:"inline-flex items-center justify-center bg-(--grass-7) rounded-full p-1 mr-2",children:s.jsx(Ns,{className:"h-3 w-3 text-white"})}),"Connected"]}),s.jsx(me,{onClick:d,size:"xs",variant:"text",children:"Disconnect"})]});case"connectionError":return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs(at,{className:"font-normal flex",children:[s.jsx(lt,{className:"h-4 w-4 mr-1"}),"Connection Error"]}),s.jsx("div",{className:"text-sm",children:"Unable to connect to GitHub Copilot."}),s.jsx(me,{onClick:l,size:"xs",variant:"link",children:"Retry Connection"})]});case"notConnected":return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs(at,{className:"font-normal flex",children:[s.jsx(lt,{className:"h-4 w-4 mr-1"}),"Unable to connect"]}),s.jsxs("div",{className:"text-sm",children:["For troubleshooting, see the"," ",s.jsx(ce,{href:"https://docs.marimo.io/getting_started/index.html#github-copilot",children:"docs"}),"."]})]})}})()});Yi.displayName="CopilotConfig";const Xi=5,oc=3e3;function Qi(t){return t instanceof Error&&(t.message.includes("ECONNREFUSED")||t.message.includes("WebSocket")||t.message.includes("network"))}function Ji(t){return t==="SignedIn"||t==="AlreadySignedIn"||t==="OK"}let Nt=null;class ac{constructor(e){this.view=void 0,this.abortController=new AbortController,this.view=e.view,this.view.dom.addEventListener("focus",()=>{Nt=new WeakRef(this.view)},{signal:this.abortController.signal,capture:!0}),this.update()}update(){const e=this.view.dom.querySelector(".cm-vimCursorLayer");if(e instanceof HTMLElement)if(_s())e.style.display="none";else{const n=(Nt==null?void 0:Nt.deref())===this.view;e.style.display=n?"":"none"}}destroy(){this.abortController.abort()}}const Zi={map:{args:["lhs","rhs"]},nmap:{mode:"normal",args:["lhs","rhs"]},vmap:{mode:"visual",args:["lhs","rhs"]},imap:{mode:"insert",args:["lhs","rhs"]},noremap:{args:["lhs","rhs"]},nnoremap:{mode:"normal",args:["lhs","rhs"]},vnoremap:{mode:"visual",args:["lhs","rhs"]},inoremap:{mode:"insert",args:["lhs","rhs"]},unmap:{args:["lhs"]},nunmap:{mode:"normal",args:["lhs"]},vunmap:{mode:"visual",args:["lhs"]},iunmap:{mode:"insert",args:["lhs"]},mapclear:{},nmapclear:{mode:"normal"},vmapclear:{mode:"visual"},imapclear:{mode:"insert"}};function lc(t,e){const n=t.split(/\s+/),r=n[0];let i=0;if(r in Zi){const o=Zi[r],a={};for(const l of o.args||[]){if(i+=1,!(i<n.length))return void(e&&e(`Not enough arguments for "${r}" command: "${t}"`));a[l]=n[i]}const c={name:r};return"args"in o&&(c.args=a),"mode"in o&&(c.mode=o.mode),c}e&&e(`Unknown vimrc command: "${t}"`)}var es;const cc=Le(()=>{Z.defineAction("goToDefinition",t=>{const e=t.cm6;return Ms(e)}),Z.mapCommand("gd","action","goToDefinition",{},{context:"normal"}),Z.defineEx("write","w",t=>{const e=t.cm6;e&&e.state.facet(ct).saveNotebook()})}),uc=Le(async()=>{var n;const t=ot.get(_n),e=(n=t.keymap)==null?void 0:n.vimrc;if(e)try{q.log(`Loading vimrc from ${e}`);const r=(await Rs().sendFileDetails({path:e})).contents;if(!r)return void q.error(`Failed to load vimrc from ${e}`);const i=function(o,a){const c=[];for(const l of o.split(`
17
- `)){if(l.startsWith('"')||l.trim()==="")continue;const u=lc(l,a);u&&c.push(u)}return c}(r,q.warn);(function(o){function a(d){d.args&&d.args.lhs&&d.args.rhs?d.mode?Z.map(d.args.lhs,d.args.rhs,d.mode):Z.map(d.args.lhs,d.args.rhs):q.warn(`Could not execute vimrc command "${d.name}: expected arguments"`)}function c(d){d.args&&d.args.lhs&&d.args.rhs?d.mode?Z.noremap(d.args.lhs,d.args.rhs,d.mode):Z.noremap(d.args.lhs,d.args.rhs):q.warn(`Could not execute vimrc command "${d.name}: expected arguments"`)}function l(d){d.args&&d.args.lhs?d.mode?Z.unmap(d.args.lhs,d.mode):Z.unmap(d.args.lhs):q.warn(`Could not execute vimrc command "${d.name}: expected arguments"`)}function u(d){d.mode?Z.mapclear(d.mode):Z.mapclear()}for(const d of o)"map|nmap|vmap|imap".split("|").includes(d.name)?a(d):"noremap|nnoremap|vnoremap|inoremap".split("|").includes(d.name)?c(d):"unmap|nunmap|vunmap|iunmap".split("|").includes(d.name)?l(d):"mapclear|nmapclear|vmapclear|imapclear".split("|").includes(d.name)?u(d):q.warn(`Could not execute vimrc command "${d.name}: unknown command"`)})(i)}catch(r){q.error("Failed to load vimrc:",r)}});class Dt{constructor(){this.instances=new Set,this.isBroadcasting=!1}addInstance(e){this.instances.add(e);const n=ut(e);n?n.on("vim-mode-change",r=>{var i;this.isBroadcasting||(Pt("mode"in r,'Expected event to have a "mode" property'),this.isBroadcasting=!0,i=()=>{this.broadcastModeChange(e,r.mode,r.subMode),this.isBroadcasting=!1},"scheduler"in window?window.scheduler.postTask(i,{priority:"background"}):"requestIdleCallback"in window?requestIdleCallback(i):setTimeout(i,0))}):q.warn("Expected CodeMirror instance to have CodeMirror instance state")}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,n,r){Pt("exitInsertMode"in Z,"Vim does not have an exitInsertMode method"),Pt("exitVisualMode"in Z,"Vim does not have an exitVisualMode method");for(const i of this.instances)if(i!==e){const o=ut(i);if(!o){q.warn("Expected CodeMirror instance to have CodeMirror instance state");continue}const a=o.setSelections.bind(o);if(o.setSelections=()=>[],!ts(o)){q.warn("Expected CodeMirror instance to have Vim state");continue}const c=o.state.vim;switch(n){case"normal":c.insertMode&&Z.exitInsertMode(o,!0),c.visualMode&&Z.exitVisualMode(o,!0);break;case"insert":c.insertMode||Z.handleKey(o,"i","")}o.setSelections=a}}}function ts(t){return t.state.vim!==void 0}es=Dt,Dt.INSTANCES=new es;const dc=["default","vim"];function hc(t,e){switch(t.preset){case"default":return[Ie.of(ns()),Ie.of(rs(e)),At.low(Ie.of([{key:"Escape",preventDefault:!0,run:n=>(n.contentDOM.blur(),!0)}]))];case"vim":return[Ie.of(pc()),Ie.of(rs(e)),Ie.of([{key:"Enter",run:n=>{var i;const r=ut(n);return!!((i=r==null?void 0:r.state.vim)!=null&&i.insertMode)&&Hs(n)}}]),At.high(gc("d",n=>n.state.doc.toString()==="",n=>n.state.doc.toString()===""?(n.state.facet(ct).deleteCell(),!0):!1)),Fs({status:!1}),At.high((cc(),uc(),[Ie.of([{key:"j",run:n=>{if(Ps(n,!0)&&Mn(n)){const r=n.state.facet(ct),i=n.state.facet(Rn);return r.moveToNextCell({cellId:i,before:!1,noCreate:!0}),!0}return!1}}]),Ie.of([{key:"k",run:n=>{if(As(n)&&Mn(n)){const r=n.state.facet(ct),i=n.state.facet(Rn);return r.moveToNextCell({cellId:i,before:!0,noCreate:!0}),!0}return!1}}]),Ie.of([{linux:"Ctrl-[",win:"Ctrl-[",run:n=>{const r=ut(n);return r?ts(r)?!!r.state.vim.insertMode&&(Z.exitInsertMode(r,!0),!0):(q.warn("Expected CodeMirror instance to have Vim state"),!1):(q.warn("Expected CodeMirror instance to have CodeMirror instance state"),!1)}}]),An.define(n=>(requestAnimationFrame(()=>{Dt.INSTANCES.addInstance(n)}),{destroy(){Dt.INSTANCES.removeInstance(n)}})),An.define(n=>new ac({view:n}))]))];default:return Ls(t.preset),[]}}const fc=new Set([Ln,Fn]),ns=Le(()=>zs.filter(t=>!fc.has(t.run))),rs=t=>[{key:t.getHotkey("cell.toggleComment").key,run:Ln},{key:t.getHotkey("cell.toggleBlockComment").key,run:Fn}],pc=Le(()=>{const t=new Set(["Enter","Ctrl-v"]);return ns().filter(e=>!t.has(e.key||e.mac||e.linux||e.win||""))});function gc(t,e,n){let r="",i=0;return Ie.of([{any:(o,a)=>{const c=a.key,l=a.timeStamp;return c!==t||!e(o)?(r="",i=0,!1):r===t&&l-i<500&&n(o)?(r="",i=0,!0):(r=c,i=l,!1)}}])}const In=Ve(!1),mc=()=>{const t=V.c(82),[e,n]=We(In),[r,i]=S.useState(null);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],t[0]=o):o=t[0];const[a,c]=S.useState(o),[l,u]=Hn(),d=dt(Us),{saveUserConfig:v}=Me();let p,m;t[1]!==n?(p=()=>n(vc),t[1]=n,t[2]=p):p=t[2],qs("global.showHelp",p),t[3]!==l||t[4]!==v||t[5]!==u?(m=async ke=>{const te={...l};u(ke),await v({config:ke}).catch(G=>{throw u(te),G})},t[3]=l,t[4]=v,t[5]=u,t[6]=m):m=t[6];const h=m;let f;t[7]!==l||t[8]!==r||t[9]!==h?(f=async ke=>{if(!r)return;const te=ke.join("-"),G={...l,keymap:{...l.keymap,overrides:{...l.keymap.overrides,[r]:te}}};i(null),c([]),await h(G)},t[7]=l,t[8]=r,t[9]=h,t[10]=f):f=t[10];const y=f;let x,w,I;if(t[11]!==l||t[12]!==r||t[13]!==y||t[14]!==d||t[15]!==e||t[16]!==a||t[17]!==h){I=Symbol.for("react.early_return_sentinel");{const ke=async()=>{if(!r)return;const G={...l,keymap:{...l.keymap,overrides:{...l.keymap.overrides}}};delete G.keymap.overrides[r],i(null),c([]),await h(G)};let te;t[21]!==l||t[22]!==h?(te=async()=>{if(!window.confirm("Are you sure you want to reset all shortcuts to their default values?"))return;const G={...l,keymap:{...l.keymap,overrides:{}}};i(null),c([]),await h(G)},t[21]=l,t[22]=h,t[23]=te):te=t[23],x=te,e?w=G=>{const je=d.getHotkey(G);if(r===G){const it=Bs(G);return s.jsxs("div",{children:[s.jsx(ue,{defaultValue:a.join("+"),placeholder:je.name,onKeyDown:le=>{le.preventDefault();const Ce=[];if(le.key==="Meta"||le.key==="Control"||le.key==="Alt"||le.key==="Shift"||(le.metaKey&&Ce.push(Un()?"Cmd":"Meta"),le.ctrlKey&&Ce.push("Ctrl"),le.altKey&&Ce.push("Alt"),le.shiftKey&&Ce.push("Shift"),le.key==="-"))return;if(le.key==="Escape"&&Ce.length===0)return i(null),void c([]);let On=le.key.toLowerCase();le.key===" "&&(On="Space"),Ce.push(On),y(Ce)},autoFocus:!0,endAdornment:s.jsx(me,{variant:"text",size:"xs",className:"mb-0",onClick:()=>{i(null),c([])},children:s.jsx(lt,{className:"w-4 h-4"})})}),s.jsxs("div",{className:"flex items-center justify-between w-full",children:[s.jsx("span",{className:"text-muted-foreground text-xs",children:"Press a key combination"}),it.key!==je.key&&s.jsxs("span",{className:"text-xs cursor-pointer text-primary",onClick:ke,children:["Reset to default:"," ",s.jsx("span",{className:"font-mono",children:it.key})]})]})]},G)}return s.jsxs("div",{className:"grid grid-cols-[auto_2fr_3fr] gap-2 items-center",children:[d.isEditable(G)?s.jsx(qn,{className:"cursor-pointer opacity-60 hover:opacity-100 text-muted-foreground w-3 h-3",onClick:()=>{c([]),i(G)}}):s.jsx("div",{className:"w-3 h-3"}),s.jsx(zn,{className:"justify-end",shortcut:je.key}),s.jsx("span",{children:je.name.toLowerCase()})]},G)}:I=null}t[11]=l,t[12]=r,t[13]=y,t[14]=d,t[15]=e,t[16]=a,t[17]=h,t[18]=x,t[19]=w,t[20]=I}else x=t[18],w=t[19],I=t[20];if(I!==Symbol.for("react.early_return_sentinel"))return I;const k=w;let O,N,_,z,H,U,B,se,de,oe,ae,W,Q,J,ee,he,j,g,b,K,Ee,_e,Pe,Ae,rt;if(t[24]!==l.keymap.preset||t[25]!==d||t[26]!==e||t[27]!==k||t[28]!==n){const ke=d.getHotkeyGroups(),te=(je,it)=>{const le=ke[je];return s.jsxs("div",{className:"mb-[40px] gap-2 flex flex-col",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"text-lg font-medium",children:je}),it]}),le.map(k)]})},G=je=>te(je,s.jsxs("p",{className:"text-xs text-muted-foreground flex items-center gap-1",children:["Press"," ",l.keymap.preset==="vim"?s.jsxs(s.Fragment,{children:[s.jsx(zn,{shortcut:Un()?"Cmd":"Ctrl"}),s.jsx($,{children:"Esc"})]}):s.jsx($,{children:"Esc"})," ","in a cell to enter command mode"]}));_=Mt,Q=e,t[47]!==n?(J=je=>n(je),t[47]=n,t[48]=J):J=t[48],N=Vs,ae="sm:items-center sm:top-0",t[49]===Symbol.for("react.memo_cache_sentinel")?(W=s.jsx(Ws,{}),t[49]=W):W=t[49],O=Bn,se=!1,de="max-h-screen sm:max-h-[90vh] overflow-y-auto sm:max-w-[850px]",t[50]===Symbol.for("react.memo_cache_sentinel")?(oe=s.jsx(Ks,{children:s.jsx(Gs,{children:"Shortcuts"})}),t[50]=oe):oe=t[50],U="flex flex-row gap-3",B=s.jsxs("div",{className:"w-1/2",children:[te("Editing"),te("Markdown")]}),ee="w-1/2",he=te("Navigation"),j=te("Running Cells"),g=te("Creation and Ordering"),z=G("Command"),H=te("Other"),t[24]=l.keymap.preset,t[25]=d,t[26]=e,t[27]=k,t[28]=n,t[29]=O,t[30]=N,t[31]=_,t[32]=z,t[33]=H,t[34]=U,t[35]=B,t[36]=se,t[37]=de,t[38]=oe,t[39]=ae,t[40]=W,t[41]=Q,t[42]=J,t[43]=ee,t[44]=he,t[45]=j,t[46]=g}else O=t[29],N=t[30],_=t[31],z=t[32],H=t[33],U=t[34],B=t[35],se=t[36],de=t[37],oe=t[38],ae=t[39],W=t[40],Q=t[41],J=t[42],ee=t[43],he=t[44],j=t[45],g=t[46];return t[51]===Symbol.for("react.memo_cache_sentinel")?(b=s.jsx("span",{className:"text-destructive",children:"Reset all to default"}),t[51]=b):b=t[51],t[52]!==x?(K=s.jsx(me,{className:"mt-4 hover:bg-destructive/10 border-destructive hover:border-destructive",variant:"outline",size:"xs",onClick:x,tabIndex:-1,children:b}),t[52]=x,t[53]=K):K=t[53],t[54]!==z||t[55]!==H||t[56]!==K||t[57]!==ee||t[58]!==he||t[59]!==j||t[60]!==g?(Ee=s.jsxs("div",{className:ee,children:[he,j,g,z,H,K]}),t[54]=z,t[55]=H,t[56]=K,t[57]=ee,t[58]=he,t[59]=j,t[60]=g,t[61]=Ee):Ee=t[61],t[62]!==U||t[63]!==B||t[64]!==Ee?(_e=s.jsxs("div",{className:U,children:[B,Ee]}),t[62]=U,t[63]=B,t[64]=Ee,t[65]=_e):_e=t[65],t[66]!==O||t[67]!==se||t[68]!==de||t[69]!==oe||t[70]!==_e?(Pe=s.jsxs(O,{usePortal:se,className:de,children:[oe,_e]}),t[66]=O,t[67]=se,t[68]=de,t[69]=oe,t[70]=_e,t[71]=Pe):Pe=t[71],t[72]!==N||t[73]!==ae||t[74]!==W||t[75]!==Pe?(Ae=s.jsxs(N,{className:ae,children:[W,Pe]}),t[72]=N,t[73]=ae,t[74]=W,t[75]=Pe,t[76]=Ae):Ae=t[76],t[77]!==_||t[78]!==Q||t[79]!==J||t[80]!==Ae?(rt=s.jsx(_,{open:Q,onOpenChange:J,children:Ae}),t[77]=_,t[78]=Q,t[79]=J,t[80]=Ae,t[81]=rt):rt=t[81],rt};function vc(t){return!t}const is=["anthropic/claude-opus-4-1-20250805","anthropic/claude-opus-4-20250514","anthropic/claude-sonnet-4-20250514","anthropic/claude-3-7-sonnet-latest","anthropic/claude-3-5-sonnet-latest","anthropic/claude-3-5-haiku-latest","deepseek/deepseek-v3","deepseek/deepseek-r1","google/gemini-2.5-flash-preview-05-20","google/gemini-2.5-pro-preview-06-05","google/gemini-2.0-flash","google/gemini-2.0-flash-lite","openai/o3","openai/o4-mini","openai/gpt-4.5-preview","openai/gpt-4.1","openai/gpt-4o","openai/gpt-3.5-turbo","bedrock/anthropic.claude-3-5-haiku-20241022-v1:0","bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0","bedrock/anthropic.claude-3-7-sonnet-20250219-v1:0","bedrock/meta.llama3-3-70b-instruct-v1:0","bedrock/cohere.command-r-plus-v1"],yc=["us-east-1","us-east-2","us-west-2","eu-central-1","ap-northeast-1","ap-southeast-1"];class Et{constructor(e,n){this.providerId=void 0,this.shortModelId=void 0,this.providerId=e,this.shortModelId=n}get id(){return`${this.providerId}/${this.shortModelId}`}static parse(e){if(!e.includes("/")){const i=function(o){return o.startsWith("gpt")||o.startsWith("o3")||o.startsWith("o1")?"openai":o.startsWith("claude")?"anthropic":o.startsWith("gemini")||o.startsWith("google")?"google":"ollama"}(e);return new Et(i,e)}const[n,...r]=e.split("/");return new Et(n,r.join("/"))}}const ss=t=>{const e=V.c(11),{value:n}=t;if(!n||n.includes("/"))return null;let r;e[0]!==n?(r=Et.parse(n),e[0]=n,e[1]=r):r=e[1];const i=r.id;let o,a,c,l,u;return e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("code",{className:"font-bold",children:"provider/model"}),e[2]=o):o=e[2],e[3]!==n?(a=s.jsxs("span",{children:["Model id should be in the form"," ",o,". ",n," is missing a provider."]}),e[3]=n,e[4]=a):a=e[4],e[5]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx("br",{}),e[5]=c):c=e[5],e[6]!==i?(l=i&&s.jsxs("span",{children:["Did you mean ",s.jsx("code",{className:"font-bold",children:i}),"?"]}),e[6]=i,e[7]=l):l=e[7],e[8]!==a||e[9]!==l?(u=s.jsxs(ht,{kind:"danger",className:"mt-1",children:[a,c,l]}),e[8]=a,e[9]=l,e[10]=u):u=e[10],u};function os(t,e){const n=V.c(10);let r;n[0]!==e||n[1]!==t?(r=Vn(t,e),n[0]=e,n[1]=t,n[2]=r):r=n[2];const i=r,o=dt($s);let a;n[3]!==e||n[4]!==o?(a=Vn(o,e),n[3]=e,n[4]=o,n[5]=a):a=n[5];const c=a,l=c!=null&&i!==c;let u;return n[6]!==i||n[7]!==l||n[8]!==c?(u={isOverridden:l,currentValue:i,overriddenValue:c},n[6]=i,n[7]=l,n[8]=c,n[9]=u):u=n[9],u}const xc=t=>{const e=V.c(3),{name:n,children:r}=t,[i]=Wn(),{isOverridden:o}=os(i,n);let a;return e[0]!==r||e[1]!==o?(a=o?s.jsx(Ke,{delayDuration:200,content:s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("p",{children:["This setting is overridden by the"," ",s.jsx($,{className:"inline mx-px",children:"pyproject.toml"})," config."]}),s.jsxs("p",{children:["To change it, edit the project config"," ",s.jsx($,{className:"inline mx-px",children:"pyproject.toml"}),"directly."]})]}),children:s.jsx("div",{className:"text-muted-foreground opacity-80 cursor-not-allowed *:pointer-events-none",children:r})}):r,e[0]=r,e[1]=o,e[2]=a):a=e[2],a},as=[{id:"sql",packagesRequired:[{name:"duckdb"},{name:"sqlglot"}],additionalPackageInstalls:[{name:"polars[pyarrow]"}],description:"SQL cells"},{id:"charts",packagesRequired:[{name:"altair"}],additionalPackageInstalls:[],description:"Charts in datasource viewer"},{id:"fast-charts",packagesRequired:[{name:"vegafusion"},{name:"vl-convert-python"}],additionalPackageInstalls:[],description:"Fast server-side charts"},{id:"formatting",packagesRequired:[Ge()?{name:"black"}:{name:"ruff"}],additionalPackageInstalls:[],description:"Formatting"},{id:"ai",packagesRequired:[{name:"openai"}],additionalPackageInstalls:[],description:"AI features"},{id:"ipy-export",packagesRequired:[{name:"nbformat"}],additionalPackageInstalls:[],description:"Export as IPYNB"},{id:"testing",packagesRequired:[{name:"pytest"}],additionalPackageInstalls:[],description:"Autorun unit tests"}];Ge()||as.push({id:"lsp",packagesRequired:[{name:"python-lsp-server"},{name:"websockets"}],additionalPackageInstalls:[{name:"python-lsp-ruff"}],description:"Language Server Protocol*"});const bc=()=>{const t=V.c(23),[e]=Hn(),n=e.package_management.manager,{getPackageList:r}=Me();let i,o;t[0]!==r?(i=()=>r(),t[0]=r,t[1]=i):i=t[1],t[2]!==n?(o=[n],t[2]=n,t[3]=o):o=t[3];const{data:a,error:c,refetch:l,isPending:u}=Ys(i,o);if(u){let O;return t[4]===Symbol.for("react.memo_cache_sentinel")?(O=s.jsx(Gn,{size:"medium",centered:!0}),t[4]=O):O=t[4],O}if(c){let O;return t[5]!==c?(O=s.jsx(Qs,{error:c}),t[5]=c,t[6]=O):O=t[6],O}let d;t[7]!==(a==null?void 0:a.packages)?(d=(a==null?void 0:a.packages)||[],t[7]=a==null?void 0:a.packages,t[8]=d):d=t[8];const v=d;let p;t[9]!==v?(p=new Set(v.map(wc)),t[9]=v,t[10]=p):p=t[10];const m=p;let h,f,y,x,w,I,k;return t[11]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(Ui,{children:"Optional Features"}),t[11]=h):h=t[11],t[12]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsxs("p",{className:"text-sm text-muted-foreground",children:["marimo is lightweight, with few dependencies, to maximize compatibility with your own environments.",s.jsx("br",{}),"To unlock additional features in the marimo editor, you can install these optional dependencies:"]}),t[12]=f):f=t[12],t[13]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsx(Js,{children:s.jsxs(Kn,{children:[s.jsx(ft,{children:"Dependency"}),s.jsx(ft,{children:"Feature"}),s.jsx(ft,{children:"Status"}),s.jsx(ft,{})]})}),t[13]=y):y=t[13],t[14]!==m||t[15]!==n||t[16]!==l?(x=as.map(O=>{const N=O.packagesRequired.every(z=>m.has(z.name.split("[")[0])),_=O.packagesRequired.map(Ic).join(", ");return s.jsxs(Kn,{className:"text-sm",children:[s.jsx(Rt,{children:O.description}),s.jsx(Rt,{className:"font-mono text-xs",children:_}),s.jsx(Rt,{children:N?s.jsxs("div",{className:"flex items-center",children:[s.jsx(Xn,{className:"h-4 w-4 text-(--grass-10) mr-2"}),s.jsx("span",{children:"Installed"})]}):s.jsxs("div",{className:"flex items-center",children:[s.jsx(Xs,{className:"h-4 w-4 text-(--red-10) mr-2"}),s.jsx(jc,{packageSpecs:[...O.packagesRequired,...O.additionalPackageInstalls],packageManager:n,onSuccess:l})]})})]},O.id)}),t[14]=m,t[15]=n,t[16]=l,t[17]=x):x=t[17],t[18]!==x?(w=s.jsxs(Zs,{children:[y,s.jsx(eo,{children:x})]}),t[18]=x,t[19]=w):w=t[19],t[20]===Symbol.for("react.memo_cache_sentinel")?(I=s.jsx("p",{className:"text-muted-foreground mt-2",children:"*Requires server restart"}),t[20]=I):I=t[20],t[21]!==w?(k=s.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden gap-2",children:[h,f,w,I]}),t[21]=w,t[22]=k):k=t[22],k},jc=({packageSpecs:t,packageManager:e,onSuccess:n})=>{const[r,i]=Be.useState(!1),{addPackage:o}=Me();return s.jsxs(me,{size:"xs",variant:"outline",className:_t("text-xs",r&&"opacity-50 cursor-not-allowed"),onClick:async()=>{try{i(!0);const a=t.map(l=>l.minVersion?`${l.name}>=${l.minVersion}`:l.name).join(" "),c=await o({package:a});c.success?(n(),Re({title:"Package installed",description:s.jsxs("span",{children:["The packages"," ",s.jsx($,{className:"inline",children:t.map(l=>l.name).join(", ")})," ","have been added to your environment."]})})):Re({title:"Failed to install package",description:c.error,variant:"danger"})}finally{i(!1)}},disabled:r,children:[r?s.jsx(Gn,{size:"small",className:"mr-2 h-3 w-3"}):s.jsx(Yn,{className:"mr-2 h-3 w-3"}),"Install with ",e]})};function wc(t){return t.name}function Ic(t){return t.name}const M="flex flex-row items-center space-x-1 space-y-0",ls=[{id:"editor",label:"Editor",Icon:qn,className:"bg-(--blue-4)"},{id:"display",label:"Display",Icon:No,className:"bg-(--grass-4)"},{id:"packageManagement",label:"Package Management",Icon:Do,className:"bg-(--red-4)"},{id:"runtime",label:"Runtime",Icon:Qn,className:"bg-(--amber-4)"},{id:"ai",label:"AI",Icon:wo,className:"bg-[linear-gradient(45deg,var(--purple-5),var(--cyan-5))]"},{id:"optionalDeps",label:"Optional Dependencies",Icon:Jn,className:"bg-(--orange-4)"},{id:"labs",label:"Labs",Icon:Io,className:"bg-(--slate-4)"}],cs=Ve(ls[0].id),Sc=()=>{const t=V.c(49),[e,n]=Wn(),r=S.useRef(null),i=Lt(In),[o,a]=We(cs),c=dt(to),l=dt(no),{saveUserConfig:u}=Me();let d,v;t[0]===Symbol.for("react.memo_cache_sentinel")?(d=kn(ro),t[0]=d):d=t[0],t[1]!==e?(v={resolver:d,defaultValues:e},t[1]=e,t[2]=v):v=t[2];const p=Cn(v);let m;t[3]!==u||t[4]!==n?(m=async j=>{await u({config:j}).then(()=>{n(j)})},t[3]=u,t[4]=n,t[5]=m):m=t[5];const h=m;let f;t[6]===Symbol.for("react.memo_cache_sentinel")?(f=Ge(),t[6]=f):f=t[6];const y=f;let x;t[7]!==e||t[8]!==p?(x=()=>{const j=p.getValues("completion.copilot");return j===!1?null:j==="codeium"?s.jsxs(s.Fragment,{children:[s.jsxs("p",{className:"text-sm text-muted-secondary",children:["To get a Windsurf API key, follow"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/ai_completion.html#windsurf-copilot",children:"these instructions"}),"."]}),s.jsx(D,{control:p.control,name:"completion.codeium_api_key",render:g=>{const{field:b}=g;return s.jsxs(T,{className:M,children:[s.jsx(C,{children:"API Key"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"codeium-api-key-input",className:"m-0 inline-flex",placeholder:"key",...b,value:b.value||""})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.codeium_api_key"})]})}})]}):j==="github"?s.jsx(Yi,{}):j==="custom"?s.jsxs(s.Fragment,{children:[s.jsx("p",{className:"text-sm text-muted-secondary",children:"Configure your custom AI completion provider with the following settings."}),s.jsx(D,{control:p.control,name:"completion.model",render:g=>{const{field:b}=g;return s.jsxs(s.Fragment,{children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Model"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"custom-model-input",className:"m-0 inline-flex",placeholder:"Qwen2.5-Coder-7B",...b,value:b.value||""})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.model"})]}),s.jsx(ss,{value:b.value})]})}}),s.jsx(D,{control:p.control,name:"completion.base_url",render:g=>{const{field:b}=g;return s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Base URL"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"custom-base-url-input",className:"m-0 inline-flex",placeholder:"http://localhost:11434/v1",...b,value:b.value||""})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.base_url"})]})}}),s.jsx(D,{control:p.control,name:"completion.api_key",render:g=>{const{field:b}=g;return s.jsxs(T,{className:M,children:[s.jsx(C,{children:"API Key"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"custom-api-key-input",className:"m-0 inline-flex",placeholder:"key",...b,value:b.value||""})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.api_key"})]})}})]}):void 0},t[7]=e,t[8]=p,t[9]=x):x=t[9];const w=x;let I;t[10]!==o||t[11]!==c||t[12]!==e||t[13]!==p||t[14]!==h||t[15]!==w||t[16]!==a||t[17]!==i?(I=()=>{switch(o){case"editor":return s.jsxs(s.Fragment,{children:[s.jsxs(ge,{title:"Autosave",children:[s.jsx(D,{control:p.control,name:"save.autosave",render:j=>{const{field:g}=j;return s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Autosave enabled"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"autosave-checkbox",checked:g.value==="after_delay",disabled:g.disabled,onCheckedChange:b=>{g.onChange(b?"after_delay":"off")}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"save.autosave"})]})}}),s.jsx(D,{control:p.control,name:"save.autosave_delay",render:j=>{const{field:g}=j;return s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Autosave delay (seconds)"}),s.jsx(E,{children:s.jsx($e,{"data-testid":"autosave-delay-input",className:"m-0 w-24",isDisabled:p.getValues("save.autosave")!=="after_delay",...g,value:g.value/1e3,minValue:1,onChange:b=>{g.onChange(1e3*b),Number.isNaN(b)||h(p.getValues())}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"save.autosave_delay"})]})}}),s.jsx(D,{control:p.control,name:"runtime.default_auto_download",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Save cell outputs as"}),s.jsx(E,{children:s.jsxs("div",{className:"flex gap-4",children:[s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(Y,{id:"html-checkbox",checked:Array.isArray(g.value)&&g.value.includes("html"),onCheckedChange:()=>{const b=Array.isArray(g.value)?g.value:[];g.onChange(st(b,"html"))}}),s.jsx(C,{htmlFor:"html-checkbox",children:"HTML"})]}),s.jsxs("div",{className:"flex items-center space-x-2",children:[s.jsx(Y,{id:"ipynb-checkbox",checked:Array.isArray(g.value)&&g.value.includes("ipynb"),onCheckedChange:()=>{const b=Array.isArray(g.value)?g.value:[];g.onChange(st(b,"ipynb"))}}),s.jsx(C,{htmlFor:"ipynb-checkbox",children:"IPYNB"})]})]})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"runtime.default_auto_download"})]}),s.jsxs(F,{children:["When enabled, marimo will periodically save notebooks in your selected formats (HTML, IPYNB) to a folder named"," ",s.jsx($,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})}})]}),s.jsxs(ge,{title:"Formatting",children:[s.jsx(D,{control:p.control,name:"save.format_on_save",render:j=>{const{field:g}=j;return s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Format on save"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"format-on-save-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"save.format_on_save"})]})}}),s.jsx(D,{control:p.control,name:"formatting.line_length",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Line length"}),s.jsx(E,{children:s.jsx($e,{"data-testid":"line-length-input",className:"m-0 w-24",...g,value:g.value,minValue:1,maxValue:1e3,onChange:b=>{g.onChange(b),Number.isNaN(b)||h(p.getValues())}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"formatting.line_length"})]}),s.jsx(F,{children:"Maximum line length when formatting code."})]})}})]}),s.jsx(ge,{title:"Autocomplete",children:s.jsx(D,{control:p.control,name:"completion.activate_on_typing",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Autocomplete"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"autocomplete-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.activate_on_typing"})]}),s.jsx(F,{children:"When unchecked, code completion is still available through a hotkey."}),s.jsx("div",{children:s.jsx(me,{variant:"link",className:"mb-0 px-0",type:"button",onClick:b=>{b.preventDefault(),b.stopPropagation(),a("ai")},children:"Edit AI autocomplete"})})]})}})}),s.jsxs(ge,{title:"Language Servers",children:[s.jsxs(F,{children:["See the"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/language_server/",children:"docs"})," ","for more information about language server support."]}),s.jsxs(F,{children:[s.jsx("strong",{children:"Note:"})," When using multiple language servers, different features may conflict."]}),s.jsx(D,{control:p.control,name:"language_servers.pylsp.enabled",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs(T,{className:M,children:[s.jsxs(C,{children:[s.jsx(pt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"Python Language Server (",s.jsx(ce,{href:"https://github.com/python-lsp/python-lsp-server",children:"docs"}),")"]}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"pylsp-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"language_servers.pylsp.enabled"})]}),g.value&&!c.pylsp&&s.jsxs(ht,{kind:"danger",children:["The Python Language Server is not available in your current environment. Please install"," ",s.jsx($,{className:"inline",children:"python-lsp-server"})," in your environment."]})]})}}),s.jsx(D,{control:p.control,name:"language_servers.basedpyright.enabled",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs(T,{className:M,children:[s.jsxs(C,{children:[s.jsx(pt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"basedpyright (",s.jsx(ce,{href:"https://github.com/DetachHead/basedpyright",children:"docs"}),")"]}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"basedpyright-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"language_servers.basedpyright.enabled"})]}),g.value&&!c.basedpyright&&s.jsxs(ht,{kind:"danger",children:["basedpyright is not available in your current environment. Please install"," ",s.jsx($,{className:"inline",children:"basedpyright"})," in your environment."]})]})}}),s.jsx(D,{control:p.control,name:"language_servers.ty.enabled",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsxs(T,{className:M,children:[s.jsxs(C,{children:[s.jsx(pt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"ty (",s.jsx(ce,{href:"https://github.com/astral-sh/ty",children:"docs"}),")"]}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"ty-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"language_servers.ty.enabled"})]}),g.value&&!c.ty&&s.jsxs(ht,{kind:"danger",children:["ty is not available in your current environment. Please install ",s.jsx($,{className:"inline",children:"ty"})," in your environment."]})]})}}),s.jsx(D,{control:p.control,name:"diagnostics.enabled",render:j=>{const{field:g}=j;return s.jsxs(T,{className:M,children:[s.jsxs(C,{children:[s.jsx(pt,{variant:"defaultOutline",className:"mr-2",children:"Beta"}),"Diagnostics"]}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"diagnostics-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"diagnostics.enabled"})]})}})]}),s.jsxs(ge,{title:"Keymap",children:[s.jsx(D,{control:p.control,name:"keymap.preset",render:j=>{const{field:g}=j;return s.jsx("div",{className:"flex flex-col space-y-1",children:s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Keymap"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"keymap-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:dc.map(Oc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"keymap.preset"})]})})}}),s.jsx(D,{control:p.control,name:"keymap.destructive_delete",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Destructive delete"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"destructive-delete-checkbox",checked:g.value,disabled:g.disabled,onCheckedChange:b=>{g.onChange(!!b)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"keymap.destructive_delete"})]}),s.jsxs(F,{className:"flex items-center gap-1",children:["Allow deleting non-empty cells",s.jsx(Ke,{content:s.jsxs("div",{className:"max-w-xs",children:[s.jsx("strong",{children:"Use with caution:"})," Deleting cells with code can lose work and computed results since variables are removed from memory."]}),children:s.jsx(lo,{className:"w-3 h-3 text-(--amber-11)"})})]}),s.jsx("div",{children:s.jsx(me,{variant:"link",className:"mb-0 px-0",type:"button",onClick:b=>{b.preventDefault(),b.stopPropagation(),i(!0)},children:"Edit Keyboard Shortcuts"})})]})}})]})]});case"display":return s.jsxs(s.Fragment,{children:[s.jsxs(ge,{title:"Display",children:[s.jsx(D,{control:p.control,name:"display.default_width",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Default width"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"user-config-width-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:["compact","medium","full","columns"].map(kc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.default_width"})]}),s.jsx(F,{children:'The default app width for new notebooks; overridden by "width" in the application config.'})]})}}),s.jsx(D,{control:p.control,name:"display.theme",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Theme"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"theme-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:ao.map(Cc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.theme"})]}),s.jsx(F,{children:"This theme will be applied to the user's configuration; it does not affect theme when sharing the notebook."})]})}}),s.jsx(D,{control:p.control,name:"display.code_editor_font_size",render:j=>{const{field:g}=j;return s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Code editor font size (px)"}),s.jsx(E,{children:s.jsx("span",{className:"inline-flex mr-2",children:s.jsx($e,{"data-testid":"code-editor-font-size-input",className:"m-0 w-24",...g,value:g.value,minValue:8,maxValue:32,onChange:b=>{g.onChange(b),h(p.getValues())}})})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.code_editor_font_size"})]})}}),s.jsx(D,{control:p.control,name:"display.reference_highlighting",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Reference highlighting"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"reference-highlighting-checkbox",checked:g.value,onCheckedChange:g.onChange})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.reference_highlighting"})]}),s.jsx(F,{children:"Visually emphasizes variables in a cell that are defined elsewhere in the notebook."})]})}})]}),s.jsxs(ge,{title:"Outputs",children:[s.jsx(D,{control:p.control,name:"display.cell_output",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Cell output area"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"cell-output-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:["above","below"].map(Nc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.cell_output"})]}),s.jsx(F,{children:"Where to display cell's output."})]})}}),s.jsx(D,{control:p.control,name:"display.dataframes",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Dataframe viewer"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"display-dataframes-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:["rich","plain"].map(Dc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.dataframes"})]}),s.jsx(F,{children:"Whether to use marimo's rich dataframe viewer or a plain HTML table. This requires restarting your notebook to take effect."})]})}}),s.jsx(D,{control:p.control,name:"display.default_table_page_size",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Default table page size"}),s.jsx(E,{children:s.jsx($e,{"data-testid":"default-table-page-size-input",className:"m-0 w-24",...g,value:g.value,minValue:1,step:1,onChange:b=>{g.onChange(b),Number.isNaN(b)||h(p.getValues())}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.default_table_page_size"})]}),s.jsx(F,{children:"The default number of rows displayed in dataframes and SQL results."})]})}}),s.jsx(D,{control:p.control,name:"display.default_table_max_columns",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Default table max columns"}),s.jsx(E,{children:s.jsx($e,{"data-testid":"default-table-max-columns-input",className:"m-0 w-24",...g,value:g.value,minValue:1,step:1,onChange:b=>{g.onChange(b),Number.isNaN(b)||h(p.getValues())}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"display.default_table_max_columns"})]}),s.jsx(F,{children:"The default maximum number of columns displayed in dataframes and SQL results."})]})}})]})]});case"packageManagement":return s.jsx(ge,{title:"Package Management",children:s.jsx(D,{control:p.control,disabled:y,name:"package_management.manager",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Manager"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"package-manager-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:oo.map(Tc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"package_management.manager"})]}),s.jsxs(F,{children:["When marimo comes across a module that is not installed, you will be prompted to install it using your preferred package manager. Learn more in the"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/package_management.html",children:"docs"}),".",s.jsx("br",{}),s.jsx("br",{}),"Running marimo in a"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/package_management.html#running-marimo-in-a-sandbox-environment-uv-only",children:"sandboxed environment"})," ","is only supported by ",s.jsx($,{className:"inline",children:"uv"})]})]})}})});case"runtime":return s.jsxs(ge,{title:"Runtime configuration",children:[s.jsx(D,{control:p.control,name:"runtime.auto_instantiate",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Autorun on startup"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"auto-instantiate-checkbox",disabled:g.disabled,checked:g.value,onCheckedChange:g.onChange})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"runtime.auto_instantiate"})]}),s.jsx(F,{children:"Whether to automatically run all cells on startup."})]})}}),s.jsx(D,{control:p.control,name:"runtime.on_cell_change",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"On cell change"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"on-cell-change-select",onChange:b=>g.onChange(b.target.value),value:g.value,className:"inline-flex mr-2",children:["lazy","autorun"].map(Ec)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"runtime.on_cell_change"})]}),s.jsx(F,{children:`Whether marimo should automatically run cells or just mark them as stale. If "autorun", marimo will automatically run affected cells when a cell is run or a UI element is interacted with; if "lazy", marimo will mark affected cells as stale but won't re-run them.`})]})}}),s.jsx(D,{control:p.control,name:"runtime.auto_reload",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"On module change"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"auto-reload-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:y,className:"inline-flex mr-2",children:["off","lazy","autorun"].map(_c)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"runtime.auto_reload"})]}),s.jsx(F,{children:'Whether marimo should automatically reload modules before executing cells. If "lazy", marimo will mark cells affected by module modifications as stale; if "autorun", affected cells will be automatically re-run.'})]})}}),s.jsx(D,{control:p.control,name:"runtime.default_sql_output",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Default SQL output"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"user-config-sql-output-select",onChange:b=>g.onChange(b.target.value),value:g.value,disabled:g.disabled,className:"inline-flex mr-2",children:qi.map(Pc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"runtime.default_sql_output"})]}),s.jsx(F,{children:'The default SQL output type for new notebooks; overridden by "sql_output" in the application config.'})]})}}),s.jsx(D,{control:p.control,name:"runtime.reactive_tests",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Autorun Unit Tests"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"reactive-test-checkbox",checked:g.value,onCheckedChange:g.onChange})})]}),s.jsx(R,{userConfig:e,name:"runtime.reactive_tests"}),s.jsx(P,{}),s.jsx(F,{children:"Enable reactive pytest tests in notebook. When a cell contains only test functions (test_*) and classes (Test_*), marimo will automatically run them with pytest (requires notebook restart)."})," "]})}}),s.jsxs(F,{children:["Learn more in the"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/reactivity/#configuring-how-marimo-runs-cells",children:"docs"}),"."]})]});case"ai":return s.jsxs(s.Fragment,{children:[s.jsxs(ge,{title:"AI Code Completion",children:[s.jsx("p",{className:"text-sm text-muted-secondary",children:"You may use GitHub Copilot, Codeium, or a custom provider (e.g. Ollama) for AI code completion."}),s.jsx(D,{control:p.control,name:"completion.copilot",render:j=>{const{field:g}=j;return s.jsx("div",{className:"flex flex-col space-y-1",children:s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Provider"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"copilot-select",onChange:b=>{b.target.value==="none"?g.onChange(!1):g.onChange(b.target.value)},value:g.value===!0?"github":g.value===!1?"none":g.value,disabled:g.disabled,className:"inline-flex mr-2",children:["none","github","codeium","custom"].map(Ac)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"completion.copilot"})]})})}}),w()]}),s.jsxs(ge,{title:"AI Keys",children:[s.jsx(D,{control:p.control,name:"ai.open_ai.api_key",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"OpenAI API Key"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"ai-openai-api-key-input",className:"m-0 inline-flex",placeholder:"sk-proj...",...g,onChange:b=>{const K=b.target.value;K.includes("*")||g.onChange(K)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.open_ai.api_key"})]}),s.jsxs(F,{children:["Your OpenAI API key from"," ",s.jsx(ce,{href:"https://platform.openai.com/account/api-keys",children:"platform.openai.com"}),"."]})]})}}),s.jsx(D,{control:p.control,name:"ai.anthropic.api_key",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Anthropic API Key"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"ai-anthropic-api-key-input",className:"m-0 inline-flex",placeholder:"sk-ant...",...g,onChange:b=>{const K=b.target.value;K.includes("*")||g.onChange(K)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.anthropic.api_key"})]}),s.jsxs(F,{children:["Your Anthropic API key from"," ",s.jsx(ce,{href:"https://console.anthropic.com/settings/keys",children:"console.anthropic.com"}),"."]})]})}}),s.jsx(D,{control:p.control,name:"ai.google.api_key",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Google AI API Key"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"ai-google-api-key-input",className:"m-0 inline-flex",placeholder:"AI...",...g,onChange:b=>{const K=b.target.value;K.includes("*")||g.onChange(K)}})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.google.api_key"})]}),s.jsxs(F,{children:["Your Google AI API key from"," ",s.jsx(ce,{href:"https://aistudio.google.com/app/apikey",children:"aistudio.google.com"}),"."]})]})}}),s.jsx("p",{className:"text-sm font-semibold mt-3",children:"AWS Bedrock Configuration"}),s.jsxs("p",{className:"text-sm text-muted-secondary mb-2",children:["To use AWS Bedrock, you need to configure AWS credentials and region. See the"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/ai_completion.html#aws-bedrock",children:"documentation"})," ","for more details."]}),s.jsx(D,{control:p.control,disabled:y,name:"ai.bedrock.region_name",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"AWS Region"}),s.jsx(E,{children:s.jsx(fe,{"data-testid":"bedrock-region-select",onChange:b=>g.onChange(b.target.value),value:typeof g.value=="string"?g.value:"us-east-1",disabled:g.disabled,className:"inline-flex mr-2",children:yc.map(Mc)})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.bedrock.region_name"})]}),s.jsx(F,{children:"The AWS region where Bedrock service is available."})]})}}),s.jsx(D,{control:p.control,disabled:y,name:"ai.bedrock.profile_name",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"AWS Profile Name (Optional)"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"bedrock-profile-input",className:"m-0 inline-flex",placeholder:"default",...g,value:g.value||""})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.bedrock.profile_name"})]}),s.jsx(F,{children:"The AWS profile name from your ~/.aws/credentials file. Leave blank to use your default AWS credentials."})]})}})]}),s.jsxs(ge,{title:"AI Assist",children:[s.jsxs("p",{className:"text-sm text-muted-secondary",children:["Add an API key to ",s.jsx($,{className:"inline",children:"marimo.toml"})," to activate marimo's AI assistant; see"," ",s.jsx(ce,{href:"https://docs.marimo.io/guides/editor_features/ai_completion.html",children:"docs"})," ","for more info."]}),s.jsx(D,{control:p.control,disabled:y,name:"ai.open_ai.base_url",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Base URL"}),s.jsx(E,{children:s.jsx(ue,{"data-testid":"ai-base-url-input",className:"m-0 inline-flex",placeholder:"https://api.openai.com/v1",...g})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.open_ai.base_url"})]}),s.jsx(F,{children:"This URL can be any OpenAI-compatible API endpoint."})]})}}),s.jsx(D,{control:p.control,disabled:y,name:"ai.open_ai.model",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col space-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{children:"Model"}),s.jsx(E,{children:s.jsx(ue,{list:"ai-model-datalist","data-testid":"ai-model-input",className:"m-0 inline-flex",placeholder:"gpt-4-turbo",...g})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.open_ai.model"})]}),s.jsx("datalist",{id:"ai-model-datalist",children:is.map(Rc)}),s.jsx(ss,{value:g.value}),s.jsxs(F,{children:['Models should include the provider name and model name separated by a slash. For example, "anthropic/claude-3-7-sonnet-latest" or "google/gemini-2.5-flash-preview-05-20".',s.jsx("br",{}),"Depending on the provider, we will use the respective API key and additional configuration."]})]})}}),s.jsx(D,{control:p.control,name:"ai.rules",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col",children:[s.jsxs(T,{children:[s.jsx(C,{children:"Custom Rules"}),s.jsx(E,{children:s.jsx(so,{"data-testid":"ai-rules-input",className:"m-0 inline-flex w-full h-32 p-2 text-sm",placeholder:"e.g. Always use type hints; prefer polars over pandas",...g,value:g.value})}),s.jsx(P,{}),s.jsx(R,{userConfig:e,name:"ai.rules"})]}),s.jsx(F,{children:"Custom rules to include in all AI completion prompts."})]})}})]})]});case"optionalDeps":return s.jsx(bc,{});case"labs":return s.jsxs(ge,{title:"Experimental Features",children:[s.jsx("p",{className:"text-sm text-muted-secondary mb-4",children:"\u26A0\uFE0F These features are experimental and may require restarting your notebook to take effect."}),s.jsx(D,{control:p.control,name:"experimental.inline_ai_tooltip",render:Lc}),s.jsx(D,{control:p.control,name:"experimental.rtc_v2",render:Fc}),s.jsx(D,{control:p.control,name:"experimental.performant_table_charts",render:j=>{const{field:g}=j;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Performant Table Charts"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"performant-table-charts-checkbox",checked:g.value===!0,onCheckedChange:g.onChange})})]}),s.jsx(R,{userConfig:e,name:"experimental.performant_table_charts"}),s.jsx(F,{children:"Enable experimental table charts which are computed on the backend."})]})}})]})}},t[10]=o,t[11]=c,t[12]=e,t[13]=p,t[14]=h,t[15]=w,t[16]=a,t[17]=i,t[18]=I):I=t[18];const k=I;let O,N,_;t[19]===Symbol.for("react.memo_cache_sentinel")?(O=s.jsx($,{className:"inline",children:"marimo.toml"}),N=s.jsx("br",{}),t[19]=O,t[20]=N):(O=t[19],N=t[20]),t[21]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsxs("p",{className:"text-muted-secondary",children:["User configuration is stored in ",O,N,"Run ",s.jsx($,{className:"inline",children:"marimo config show"})," in your terminal to show your current configuration and file location."]}),t[21]=_):_=t[21];const z=_;let H,U,B,se,de,oe,ae,W,Q,J,ee,he;return t[22]!==p||t[23]!==h?(H=p.handleSubmit(h),t[22]=p,t[23]=h,t[24]=H):H=t[24],t[25]!==a?(U=j=>a(j),t[25]=a,t[26]=U):U=t[26],t[27]===Symbol.for("react.memo_cache_sentinel")?(B=ls.map(Hc),t[27]=B):B=t[27],t[28]!==l?(se=s.jsx("div",{className:"p-2 text-xs text-muted-foreground self-start",children:s.jsxs("span",{children:["Version: ",l]})}),t[28]=l,t[29]=se):se=t[29],t[30]===Symbol.for("react.memo_cache_sentinel")?(de=s.jsx("div",{className:"flex-1"}),oe=!Ge()&&z,t[30]=de,t[31]=oe):(de=t[30],oe=t[31]),t[32]!==se?(ae=s.jsxs(co,{className:"self-start max-h-none flex flex-col gap-2 shrink-0 bg-background flex-1 min-h-full",children:[B,se,de,oe]}),t[32]=se,t[33]=ae):ae=t[33],t[34]!==o||t[35]!==U||t[36]!==ae?(W=s.jsx(uo,{value:o,onValueChange:U,orientation:"vertical",className:"w-1/3 border-r h-full overflow-auto p-3",children:ae}),t[34]=o,t[35]=U,t[36]=ae,t[37]=W):W=t[37],t[38]!==k?(Q=k(),t[38]=k,t[39]=Q):Q=t[39],t[40]!==Q?(J=s.jsx("div",{className:"w-2/3 pl-6 gap-2 flex flex-col overflow-auto p-6",children:Q}),t[40]=Q,t[41]=J):J=t[41],t[42]!==W||t[43]!==J||t[44]!==H?(ee=s.jsxs("form",{ref:r,onChange:H,className:"flex text-pretty overflow-hidden",children:[W,J]}),t[42]=W,t[43]=J,t[44]=H,t[45]=ee):ee=t[45],t[46]!==p||t[47]!==ee?(he=s.jsx(Nn,{...p,children:ee}),t[46]=p,t[47]=ee,t[48]=he):he=t[48],he},ge=t=>{const e=V.c(5),{title:n,children:r}=t;let i,o;return e[0]!==n?(i=s.jsx(Ui,{children:n}),e[0]=n,e[1]=i):i=e[1],e[2]!==r||e[3]!==i?(o=s.jsxs("div",{className:"flex flex-col gap-4 pb-4",children:[i,r]}),e[2]=r,e[3]=i,e[4]=o):o=e[4],o},R=t=>{const e=V.c(18),{userConfig:n,name:r}=t,{isOverridden:i,currentValue:o,overriddenValue:a}=os(n,r);if(!i)return null;let c,l,u,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsxs("span",{children:["This setting is overridden by"," ",s.jsx($,{className:"inline",children:"pyproject.toml"}),"."]}),l=s.jsx("br",{}),e[0]=c,e[1]=l):(c=e[0],l=e[1]),e[2]===Symbol.for("react.memo_cache_sentinel")?(u=s.jsxs("span",{children:["Edit the ",s.jsx($,{className:"inline",children:"pyproject.toml"})," file directly to change this setting."]}),d=s.jsx("br",{}),e[2]=u,e[3]=d):(u=e[2],d=e[3]);const v=String(o);let p,m;e[4]!==v?(p=s.jsxs("span",{children:["User value: ",s.jsx("strong",{children:v})]}),e[4]=v,e[5]=p):p=e[5],e[6]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx("br",{}),e[6]=m):m=e[6];const h=String(a);let f,y,x;e[7]!==h?(f=s.jsxs("span",{children:["Project value: ",s.jsx("strong",{children:h})]}),e[7]=h,e[8]=f):f=e[8],e[9]!==p||e[10]!==f?(y=s.jsxs(s.Fragment,{children:[c,l,u,d,p,m,f]}),e[9]=p,e[10]=f,e[11]=y):y=e[11],e[12]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(Jn,{className:"w-3 h-3"}),e[12]=x):x=e[12];const w=String(a);let I,k;return e[13]!==w?(I=s.jsxs("span",{className:"text-(--amber-12) text-xs flex items-center gap-1 border rounded px-2 py-1 bg-(--amber-2) border-(--amber-6) ml-1",children:[x,"Overridden by pyproject.toml [",w,"]"]}),e[13]=w,e[14]=I):I=e[14],e[15]!==y||e[16]!==I?(k=s.jsx(Ke,{content:y,children:I}),e[15]=y,e[16]=I,e[17]=k):k=e[17],k};function Oc(t){return s.jsx("option",{value:t,children:t},t)}function kc(t){return s.jsx("option",{value:t,children:t},t)}function Cc(t){return s.jsx("option",{value:t,children:t},t)}function Nc(t){return s.jsx("option",{value:t,children:t},t)}function Dc(t){return s.jsx("option",{value:t,children:t},t)}function Tc(t){return s.jsx("option",{value:t,children:t},t)}function Ec(t){return s.jsx("option",{value:t,children:t},t)}function _c(t){return s.jsx("option",{value:t,children:t},t)}function Pc(t){return s.jsx("option",{value:t.value,children:t.label},t.value)}function Ac(t){return s.jsx("option",{value:t,children:t},t)}function Mc(t){return s.jsx("option",{value:t,children:t},t)}function Rc(t){return s.jsx("option",{value:t,children:t},t)}function Lc(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"AI Edit Tooltip"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"inline-ai-checkbox",checked:e.value===!0,onCheckedChange:e.onChange})})]}),s.jsx(F,{children:'Enable experimental "Edit with AI" tooltip when selecting code.'})]})}function Fc(t){const{field:e}=t;return s.jsxs("div",{className:"flex flex-col gap-y-1",children:[s.jsxs(T,{className:M,children:[s.jsx(C,{className:"font-normal",children:"Real-Time Collaboration"}),s.jsx(E,{children:s.jsx(Y,{"data-testid":"rtc-checkbox",checked:e.value===!0,onCheckedChange:e.onChange})})]}),s.jsx(F,{children:"Enable experimental real-time collaboration. This change requires a page refresh to take effect."})]})}function Hc(t){return s.jsx(io,{value:t.id,className:"w-full text-left p-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground justify-start",children:s.jsxs("div",{className:"flex gap-4 items-center text-lg overflow-hidden",children:[s.jsx("span",{className:_t(t.className,"w-8 h-8 rounded flex items-center justify-center text-muted-foreground shrink-0"),children:s.jsx(t.Icon,{className:"w-4 h-4"})}),s.jsx("span",{className:"truncate",children:t.label})]})},t.id)}const Sn=Ve(!1);function zc(){const t=V.c(5),e=Lt(cs),n=Lt(Sn);let r;t[0]!==e||t[1]!==n?(r=a=>{e(a),n(!0)},t[0]=e,t[1]=n,t[2]=r):r=t[2];const i=r;let o;return t[3]!==i?(o={handleClick:i},t[3]=i,t[4]=o):o=t[4],o}const Uc=t=>{const e=V.c(32),{showAppConfig:n,disabled:r,tooltip:i}=t,o=n===void 0||n,a=r!==void 0&&r,c=i===void 0?"Settings":i,[l,u]=We(Sn),d=a?"disabled":"hint-green";let v,p,m;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx($n,{strokeWidth:1.8}),e[0]=v):v=e[0],e[1]!==c?(p=s.jsx(Ke,{content:c,children:v}),e[1]=c,e[2]=p):p=e[2],e[3]!==a||e[4]!==d||e[5]!==p?(m=s.jsx(kt,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:a,color:d,children:p}),e[3]=a,e[4]=d,e[5]=p,e[6]=m):m=e[6];const h=m;let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(Bn,{className:"w-[80vw] h-[70vh] overflow-hidden sm:max-w-5xl top-[15vh] p-0",children:s.jsx(Sc,{})}),e[7]=f):f=e[7];const y=f;if(!o){let U,B;return e[8]!==h?(U=s.jsx(ho,{children:h}),e[8]=h,e[9]=U):U=e[9],e[10]!==u||e[11]!==l||e[12]!==U?(B=s.jsxs(Mt,{open:l,onOpenChange:u,children:[U,y]}),e[10]=u,e[11]=l,e[12]=U,e[13]=B):B=e[13],B}let x,w,I,k,O,N,_,z,H;return e[14]!==h?(x=s.jsx(fo,{asChild:!0,children:h}),e[14]=h,e[15]=x):x=e[15],e[16]===Symbol.for("react.memo_cache_sentinel")?(w=s.jsx(Bl,{}),I=s.jsx("div",{className:"h-px bg-border my-2"}),e[16]=w,e[17]=I):(w=e[16],I=e[17]),e[18]!==u?(k=()=>u(!0),e[18]=u,e[19]=k):k=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(O=s.jsx($n,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=O):O=e[20],e[21]!==k?(N=s.jsxs(po,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:qc,children:[w,I,s.jsxs(me,{onClick:k,variant:"link",className:"px-0",children:[O,"User settings"]})]}),e[21]=k,e[22]=N):N=e[22],e[23]!==N||e[24]!==x?(_=s.jsxs(go,{children:[x,N]}),e[23]=N,e[24]=x,e[25]=_):_=e[25],e[26]!==u||e[27]!==l?(z=s.jsx(Mt,{open:l,onOpenChange:u,children:y}),e[26]=u,e[27]=l,e[28]=z):z=e[28],e[29]!==_||e[30]!==z?(H=s.jsxs(s.Fragment,{children:[_,z]}),e[29]=_,e[30]=z,e[31]=H):H=e[31],H};function qc(t){return t.preventDefault()}const Bc=t=>{const e=V.c(15),{description:n,disabled:r,tooltip:i}=t,o=r!==void 0&&r,a=i===void 0?"Shutdown":i,{openConfirm:c,closeModal:l}=mo(),{sendShutdown:u}=Me();let d;e[0]!==u?(d=()=>{u(),setTimeout(Vc,200)},e[0]=u,e[1]=d):d=e[1];const v=d;if(Ge())return null;const p=o?"disabled":"red";let m,h,f,y;return e[2]!==l||e[3]!==n||e[4]!==v||e[5]!==c?(m=x=>{x.stopPropagation(),c({title:"Shutdown",description:n,variant:"destructive",confirmAction:s.jsx(vo,{onClick:()=>{v(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=n,e[4]=v,e[5]=c,e[6]=m):m=e[6],e[7]===Symbol.for("react.memo_cache_sentinel")?(h=s.jsx(lt,{strokeWidth:1}),e[7]=h):h=e[7],e[8]!==o||e[9]!==p||e[10]!==m?(f=s.jsx(kt,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:p,className:"h-[27px] w-[27px]",disabled:o,onClick:m,children:h}),e[8]=o,e[9]=p,e[10]=m,e[11]=f):f=e[11],e[12]!==f||e[13]!==a?(y=s.jsx(Ke,{content:a,children:f}),e[12]=f,e[13]=a,e[14]=y):y=e[14],y};function Vc(){window.close()}function Wc(t){window.open(yo(`?file=${t}`).toString(),"_blank")}export{bo as A,jo as B,Uc as C,xc as D,Oo as G,mc as K,ko as L,Co as M,To as P,Bc as S,Fl as T,Eo as Y,So as a,Yn as b,kt as c,sc as d,tt as e,Gi as f,zl as g,hc as h,Ki as i,zc as j,In as k,Vi as l,Ct as m,Wi as n,Wc as o,Qn as p,Xn as q,is as r,Sn as s,Hi as t,Hl as u};
@@ -1 +0,0 @@
1
- import{J as b,aE as d,bR as g,bS as O,x as j,Q as y,bT as x,aA as w,ak as P,bU as E,az as M,aC as U}from"./index-Bw4_53VL.js";import{a as v}from"./_baseEach-c_dyjc-O.js";import{d as k}from"./_baseUniq-MHRYxaEh.js";import{b as z}from"./_baseMap-CRSErap7.js";var c=Object.prototype,A=c.hasOwnProperty,C=b(function(a,n){a=Object(a);var u=-1,t=n.length,r=t>2?n[2]:void 0;for(r&&d(n[0],n[1],r)&&(t=1);++u<t;)for(var s=n[u],o=g(s),i=-1,l=o.length;++i<l;){var e=o[i],f=a[e];(f===void 0||O(f,c[e])&&!A.call(a,e))&&(a[e]=s[e])}return a});function J(a){var n=a==null?0:a.length;return n?a[n-1]:void 0}var Q=Math.max,p,R=(p=function(a,n,u){var t=a==null?0:a.length;if(!t)return-1;var r=u==null?0:x(u);return r<0&&(r=Q(t+r,0)),k(a,v(n),r)},function(a,n,u){var t=Object(a);if(!j(a)){var r=v(n);a=y(a),n=function(o){return r(t[o],o,t)}}var s=p(a,n,u);return s>-1?t[r?a[s]:s]:void 0});function S(a,n){return(P(a)?w:z)(a,v(n))}var T=Object.prototype.hasOwnProperty;function _(a,n){return a!=null&&T.call(a,n)}function q(a,n){return a!=null&&E(a,n,_)}function h(a,n){return a<n}function m(a,n,u){for(var t=-1,r=a.length;++t<r;){var s=a[t],o=n(s);if(o!=null&&(i===void 0?o==o&&!M(o):u(o,i)))var i=o,l=s}return l}function B(a){return a&&a.length?m(a,U,h):void 0}export{h as a,m as b,B as c,C as d,R as f,q as h,J as l,S as m};
@@ -1 +0,0 @@
1
- import{az as d,aA as c,ak as x,aB as b,aC as k,aD as z,J as A,aE as g,K as B}from"./index-Bw4_53VL.js";import{a as C}from"./_baseEach-c_dyjc-O.js";import{b as D}from"./_baseMap-CRSErap7.js";function E(n,r){if(n!==r){var u=n!==void 0,l=n===null,t=n==n,a=d(n),e=r!==void 0,o=r===null,f=r==r,i=d(r);if(!o&&!i&&!a&&n>r||a&&e&&f&&!o&&!i||l&&e&&f||!u&&f||!t)return 1;if(!l&&!a&&!i&&n<r||i&&u&&t&&!l&&!a||o&&u&&t||!e&&t||!f)return-1}return 0}function J(n,r,u){r=r.length?c(r,function(t){return x(t)?function(a){return b(a,t.length===1?t[0]:t)}:t}):[k];var l=-1;return r=c(r,z(C)),function(t,a){var e=t.length;for(t.sort(a);e--;)t[e]=t[e].value;return t}(D(n,function(t,a,e){return{criteria:c(r,function(o){return o(t)}),index:++l,value:t}}),function(t,a){return function(e,o,f){for(var i=-1,v=e.criteria,h=o.criteria,m=v.length,p=f.length;++i<m;){var s=E(v[i],h[i]);if(s)return i>=p?s:s*(f[i]=="desc"?-1:1)}return e.index-o.index}(t,a,u)})}var K=A(function(n,r){if(n==null)return[];var u=r.length;return u>1&&g(n,r[0],r[1])?r=[]:u>2&&g(r[0],r[1],r[2])&&(r=[r[0]]),J(n,B(r),[])});export{K as s};
@@ -1 +0,0 @@
1
- import{s as t,b as a,a as e,S as o}from"./chunk-OW32GOEJ-C4FCmwnP.js";import{_ as s}from"./mermaid-BjMqU7B7.js";import"./transform-B8bpuzxV.js";import"./chunk-BFAMUDN2-CZKcG7Hk.js";import"./chunk-SKB7J2MH-BaSlr3jl.js";import"./index-Bw4_53VL.js";import"./step-BwsUM5iJ.js";import"./timer-BwIYMJWC.js";var i={parser:e,get db(){return new o(2)},renderer:a,styles:t,init:s(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{i as diagram};