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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1271) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-s7RGpPDV.js → ConnectedDataExplorerComponent-Lj2BeiyU.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CnrulJpr.js → ImageComparisonComponent-D3RIzxQe.js} +1 -1
  3. package/dist/assets/{VegaLite-C2fs5zc3.js → VegaLite-BTUZR9TJ.js} +1 -1
  4. package/dist/assets/{_baseEach-c_dyjc-O.js → _baseEach-xh-ORWj8.js} +1 -1
  5. package/dist/assets/_baseMap-C2kDvE8l.js +1 -0
  6. package/dist/assets/{_baseUniq-MHRYxaEh.js → _baseUniq-CNG96KTl.js} +1 -1
  7. package/dist/assets/{_createAggregator-BRrHJm-S.js → _createAggregator-Cv8xMgoA.js} +1 -1
  8. package/dist/assets/{any-language-editor-BvO3QFMF.js → any-language-editor-BJZHpvqq.js} +1 -1
  9. package/dist/assets/{architectureDiagram-SUXI7LT5-NdrSJuvB.js → architectureDiagram-SUXI7LT5-B4QW7y7k.js} +1 -1
  10. package/dist/assets/{blockDiagram-6J76NXCF-ftx5RUcT.js → blockDiagram-6J76NXCF-2_qD1lv3.js} +1 -1
  11. package/dist/assets/{c4Diagram-6F6E4RAY-BulMqa-Y.js → c4Diagram-6F6E4RAY-CiqB2A6m.js} +1 -1
  12. package/dist/assets/channel-CXQMFLkR.js +1 -0
  13. package/dist/assets/{chunk-353BL4L5-D5H2iwN7.js → chunk-353BL4L5-BtGgOUmt.js} +1 -1
  14. package/dist/assets/{chunk-67H74DCK-LK08G4lc.js → chunk-67H74DCK-TJXvuggV.js} +1 -1
  15. package/dist/assets/{chunk-AACKK3MU-B9JAiO5u.js → chunk-AACKK3MU-Doy1mczK.js} +1 -1
  16. package/dist/assets/{chunk-BFAMUDN2-CZKcG7Hk.js → chunk-BFAMUDN2-C4I4etpf.js} +1 -1
  17. package/dist/assets/{chunk-E2GYISFI-CIXtdUNn.js → chunk-E2GYISFI-Cxww4Ltb.js} +1 -1
  18. package/dist/assets/{chunk-OW32GOEJ-C4FCmwnP.js → chunk-OW32GOEJ-DiJlBqXm.js} +6 -6
  19. package/dist/assets/{chunk-SKB7J2MH-BaSlr3jl.js → chunk-SKB7J2MH-C4VR1YMy.js} +1 -1
  20. package/dist/assets/{chunk-SZ463SBG-BwDfdiOo.js → chunk-SZ463SBG-BSYDMdZf.js} +1 -1
  21. package/dist/assets/{circle-play-JsgbRX6G.js → circle-play-CR023yIc.js} +1 -1
  22. package/dist/assets/classDiagram-M3E45YP4-zRmtNMuu.js +1 -0
  23. package/dist/assets/classDiagram-v2-YAWTLIQI-zRmtNMuu.js +1 -0
  24. package/dist/assets/clone-DBGtH1IR.js +1 -0
  25. package/dist/assets/common-keywords-Dg3Y2cJS.js +1 -0
  26. package/dist/assets/{compile-BGbhA30T.js → compile-BBipuCz_.js} +1 -1
  27. package/dist/assets/{dagre-JOIXM2OF-B8vUNw1G.js → dagre-JOIXM2OF-Cyt_2fk1.js} +1 -1
  28. package/dist/assets/{data-grid-overlay-editor-5lo5J1Vt.js → data-grid-overlay-editor-NnUiuRND.js} +1 -1
  29. package/dist/assets/{diagram-5UYTHUR4-PLDgwO4x.js → diagram-5UYTHUR4-B7YzTBfk.js} +1 -1
  30. package/dist/assets/{diagram-VMROVX33-B5-7SLna.js → diagram-VMROVX33-B0ZokLFb.js} +1 -1
  31. package/dist/assets/{diagram-ZTM2IBQH-BnKr5V6h.js → diagram-ZTM2IBQH-Bn6CzUqI.js} +1 -1
  32. package/dist/assets/duckdb-keywords-CFYiiNsB.js +1 -0
  33. package/dist/assets/edit-page-9tfY4EcP.js +163 -0
  34. package/dist/assets/{erDiagram-3M52JZNH-Dk0Y_2Is.js → erDiagram-3M52JZNH-DSJbuM-1.js} +1 -1
  35. package/dist/assets/{flowDiagram-KYDEHFYC-DM8J3haJ.js → flowDiagram-KYDEHFYC-CsTqPAve.js} +1 -1
  36. package/dist/assets/{ganttDiagram-EK5VF46D-B7MEeaeb.js → ganttDiagram-EK5VF46D-Cr-IpNLk.js} +1 -1
  37. package/dist/assets/{gitGraphDiagram-GW3U2K7C-ciOWHdK1.js → gitGraphDiagram-GW3U2K7C-VFsi8TR7.js} +1 -1
  38. package/dist/assets/{glide-data-editor-CeJNWkGL.js → glide-data-editor-DzIveSDw.js} +11 -11
  39. package/dist/assets/{graph-IzuQV5TV.js → graph-BVgAvkSn.js} +1 -1
  40. package/dist/assets/{home-page-P0hOk_Lu.js → home-page-CQ4SpQA6.js} +2 -2
  41. package/dist/assets/{index-DzmGiDPv.js → index-B2IHU7-p.js} +1 -1
  42. package/dist/assets/{index-DL31Tmv6.js → index-B9x0HEJ9.js} +1 -1
  43. package/dist/assets/{index-BtVdSmBr.js → index-BWo9bh8L.js} +1 -1
  44. package/dist/assets/{index-vOKQtqij.js → index-Bi6iLuYs.js} +1 -1
  45. package/dist/assets/{index-BqqAIR7p.js → index-BqtqXCBR.js} +1 -1
  46. package/dist/assets/{index-DWbP9NKv.js → index-C1Oh0aU6.js} +1 -1
  47. package/dist/assets/{index-DzcdkCgc.js → index-C8VfDB-Z.js} +1 -1
  48. package/dist/assets/{index-DyGhL8pb.js → index-Ca-2Exla.js} +1 -1
  49. package/dist/assets/{index-DVgehULr.js → index-Ce6Mtf4K.js} +1 -1
  50. package/dist/assets/index-CrH6PPjG.css +1 -0
  51. package/dist/assets/{index-ABc3l5O5.js → index-Cw5LPiDP.js} +1 -1
  52. package/dist/assets/{index-D86OE7I-.js → index-D9iK-Vp-.js} +1 -1
  53. package/dist/assets/{index-CrnLkrsN.js → index-DKWPso7i.js} +1 -1
  54. package/dist/assets/{index-Bw4_53VL.js → index-DXRsGR8a.js} +211 -201
  55. package/dist/assets/{index-ZMOxgO0o.js → index-DYiivuQs.js} +1 -1
  56. package/dist/assets/index-DibQYIxo.js +68 -0
  57. package/dist/assets/{index-VEO6hI2a.js → index-DmzbDJ-7.js} +1 -1
  58. package/dist/assets/{index-DKlX9VbD.js → index-SuEi3PN4.js} +1 -1
  59. package/dist/assets/{index-CvNa254z.js → index-skYP39h6.js} +1 -1
  60. package/dist/assets/{index-CTxIrFfM.js → index-vBidaW0-.js} +1 -1
  61. package/dist/assets/{index--eqo3Nr1.js → index-wH_4tPUM.js} +1 -1
  62. package/dist/assets/infoDiagram-LHK5PUON-CPI_adHd.js +2 -0
  63. package/dist/assets/{journeyDiagram-EWQZEKCU-D-rWvB9c.js → journeyDiagram-EWQZEKCU-IJUOBk6L.js} +1 -1
  64. package/dist/assets/{kanban-definition-ZSS6B67P-BPrv-lG3.js → kanban-definition-ZSS6B67P-B9CZdLKh.js} +1 -1
  65. package/dist/assets/{layout-C3NQCD38.js → layout-CePSY0wX.js} +1 -1
  66. package/dist/assets/{linear-Dcz3lyvf.js → linear-BFD0bH8S.js} +1 -1
  67. package/dist/assets/links-CHXiAps8.js +17 -0
  68. package/dist/assets/{mermaid-BjMqU7B7.js → mermaid-vBmR5b31.js} +26 -26
  69. package/dist/assets/min-BGEN9HX3.js +1 -0
  70. package/dist/assets/{mindmap-definition-6CBA2TL7-BZsnMx2y.js → mindmap-definition-6CBA2TL7-CQbYpJ4d.js} +1 -1
  71. package/dist/assets/{number-overlay-editor-CzX-JKBj.js → number-overlay-editor-aNt4EISQ.js} +2 -2
  72. package/dist/assets/{pieDiagram-NIOCPIFQ-BjbDT3_7.js → pieDiagram-NIOCPIFQ-CpNgpI5j.js} +3 -3
  73. package/dist/assets/{quadrantDiagram-2OG54O6I-DwvUEn5y.js → quadrantDiagram-2OG54O6I-CqQ4AjgU.js} +1 -1
  74. package/dist/assets/{react-plotly-DsUGZTQl.js → react-plotly-7UjgR4D7.js} +1 -1
  75. package/dist/assets/{requirementDiagram-QOLK2EJ7-DnqQ02xB.js → requirementDiagram-QOLK2EJ7-pihTrVe8.js} +1 -1
  76. package/dist/assets/{run-page-Dh1_LBex.js → run-page-Bmu-pbuv.js} +1 -1
  77. package/dist/assets/{sankeyDiagram-4UZDY2LN-CGiEg-KK.js → sankeyDiagram-4UZDY2LN-BguJD-Ub.js} +1 -1
  78. package/dist/assets/{sequenceDiagram-SKLFT4DO-Du_9Bhah.js → sequenceDiagram-SKLFT4DO-dSjJa9dA.js} +1 -1
  79. package/dist/assets/{slides-component-DbRb2vqt.js → slides-component-D7IZvvl7.js} +1 -1
  80. package/dist/assets/sortBy-BnGQN5jt.js +1 -0
  81. package/dist/assets/{stateDiagram-MI5ZYTHO-x_vUiEQz.js → stateDiagram-MI5ZYTHO-DUk5KO2m.js} +1 -1
  82. package/dist/assets/stateDiagram-v2-5AN5P6BG-DOib4Vz6.js +1 -0
  83. package/dist/assets/storage-BER2_pxY.js +26 -0
  84. package/dist/assets/{terminal-xOuxdYpY.js → terminal-YUKBi9kf.js} +1 -1
  85. package/dist/assets/time-DBL85Vmh.js +1 -0
  86. package/dist/assets/{timeline-definition-MYPXXCX6-8Kv4fcyB.js → timeline-definition-MYPXXCX6-L4XSdUyH.js} +1 -1
  87. package/dist/assets/{tracing-BAj6E74_.js → tracing-pE0VuSyW.js} +2 -2
  88. package/dist/assets/{trash-65Vbt3F6.js → trash-DSlI83T4.js} +1 -1
  89. package/dist/assets/{treemap-75Q7IDZK-DtSMjk1Y.js → treemap-75Q7IDZK-C8CiaT47.js} +1 -1
  90. package/dist/assets/{vega-component-C3aywWbx.js → vega-component-DLTlaRfn.js} +1 -1
  91. package/dist/assets/{xychartDiagram-H2YORKM3-D33F1MLE.js → xychartDiagram-H2YORKM3-wXFo5nBV.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 +281 -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
@@ -0,0 +1,1600 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`renderZodSchema > should render a form aggregate 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="flex flex-row gap-6 items-start"
7
+ >
8
+ <input
9
+ name="type"
10
+ type="hidden"
11
+ value="aggregate"
12
+ />
13
+ <div
14
+ class="flex flex-row align-start"
15
+ >
16
+ <div
17
+ class="flex flex-col gap-1"
18
+ >
19
+ <label
20
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
21
+ for="«r24»-form-item"
22
+ >
23
+ Columns
24
+ </label>
25
+ <div
26
+ aria-describedby="«r24»-form-item-description"
27
+ aria-invalid="false"
28
+ class="relative"
29
+ id="«r24»-form-item"
30
+ >
31
+ <div
32
+ aria-controls="radix-«r25»"
33
+ aria-expanded="false"
34
+ aria-haspopup="dialog"
35
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
36
+ data-state="closed"
37
+ type="button"
38
+ >
39
+ <span
40
+ class="truncate flex-1 min-w-0"
41
+ >
42
+ Select columns
43
+ </span>
44
+ <svg
45
+ aria-hidden="true"
46
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
47
+ fill="none"
48
+ height="24"
49
+ stroke="currentColor"
50
+ stroke-linecap="round"
51
+ stroke-linejoin="round"
52
+ stroke-width="2"
53
+ viewBox="0 0 24 24"
54
+ width="24"
55
+ xmlns="http://www.w3.org/2000/svg"
56
+ >
57
+ <path
58
+ d="m6 9 6 6 6-6"
59
+ />
60
+ </svg>
61
+ </div>
62
+ <div
63
+ class="flex flex-col gap-1 items-start"
64
+ />
65
+ </div>
66
+ </div>
67
+ </div>
68
+ <div
69
+ class="flex flex-row align-start"
70
+ >
71
+ <div
72
+ class="flex flex-col gap-1"
73
+ >
74
+ <label
75
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
76
+ for="«r26»-form-item"
77
+ >
78
+ Aggregations
79
+ </label>
80
+ <div
81
+ aria-describedby="«r26»-form-item-description"
82
+ aria-invalid="false"
83
+ class="relative"
84
+ id="«r26»-form-item"
85
+ >
86
+ <div
87
+ aria-controls="radix-«r27»"
88
+ aria-expanded="false"
89
+ aria-haspopup="dialog"
90
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
91
+ data-state="closed"
92
+ type="button"
93
+ >
94
+ <span
95
+ class="truncate flex-1 min-w-0"
96
+ >
97
+ Select aggregations
98
+ </span>
99
+ <svg
100
+ aria-hidden="true"
101
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
102
+ fill="none"
103
+ height="24"
104
+ stroke="currentColor"
105
+ stroke-linecap="round"
106
+ stroke-linejoin="round"
107
+ stroke-width="2"
108
+ viewBox="0 0 24 24"
109
+ width="24"
110
+ xmlns="http://www.w3.org/2000/svg"
111
+ >
112
+ <path
113
+ d="m6 9 6 6 6-6"
114
+ />
115
+ </svg>
116
+ </div>
117
+ <div
118
+ class="flex flex-col gap-1 items-start"
119
+ />
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </DocumentFragment>
125
+ `;
126
+
127
+ exports[`renderZodSchema > should render a form column_conversion 1`] = `
128
+ <DocumentFragment>
129
+ <div
130
+ class="flex flex-col gap-6"
131
+ >
132
+ <input
133
+ name="type"
134
+ type="hidden"
135
+ value="column_conversion"
136
+ />
137
+ <div
138
+ class="flex flex-row align-start"
139
+ >
140
+ <div
141
+ class="flex flex-col gap-1"
142
+ >
143
+ <label
144
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
145
+ for="«rd»-form-item"
146
+ >
147
+ Column
148
+ </label>
149
+ <div
150
+ class="flex items-center gap-1"
151
+ >
152
+ <button
153
+ aria-autocomplete="none"
154
+ aria-controls="radix-«re»"
155
+ aria-expanded="false"
156
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
157
+ data-placeholder=""
158
+ data-state="closed"
159
+ dir="ltr"
160
+ role="combobox"
161
+ type="button"
162
+ >
163
+ <span
164
+ style="pointer-events: none;"
165
+ >
166
+ --
167
+ </span>
168
+ <svg
169
+ aria-hidden="true"
170
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
171
+ fill="none"
172
+ height="24"
173
+ stroke="currentColor"
174
+ stroke-linecap="round"
175
+ stroke-linejoin="round"
176
+ stroke-width="2"
177
+ viewBox="0 0 24 24"
178
+ width="24"
179
+ xmlns="http://www.w3.org/2000/svg"
180
+ >
181
+ <path
182
+ d="m6 9 6 6 6-6"
183
+ />
184
+ </svg>
185
+ </button>
186
+ </div>
187
+ </div>
188
+ </div>
189
+ <div
190
+ class="flex flex-row align-start"
191
+ >
192
+ <div
193
+ class="flex flex-col gap-1"
194
+ >
195
+ <label
196
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
197
+ for="«rf»-form-item"
198
+ >
199
+ Data type (numpy)
200
+ </label>
201
+ <button
202
+ aria-autocomplete="none"
203
+ aria-controls="radix-«rg»"
204
+ aria-expanded="false"
205
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
206
+ data-placeholder=""
207
+ data-state="closed"
208
+ dir="ltr"
209
+ role="combobox"
210
+ type="button"
211
+ >
212
+ <span
213
+ style="pointer-events: none;"
214
+ >
215
+ --
216
+ </span>
217
+ <svg
218
+ aria-hidden="true"
219
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
220
+ fill="none"
221
+ height="24"
222
+ stroke="currentColor"
223
+ stroke-linecap="round"
224
+ stroke-linejoin="round"
225
+ stroke-width="2"
226
+ viewBox="0 0 24 24"
227
+ width="24"
228
+ xmlns="http://www.w3.org/2000/svg"
229
+ >
230
+ <path
231
+ d="m6 9 6 6 6-6"
232
+ />
233
+ </svg>
234
+ </button>
235
+ </div>
236
+ </div>
237
+ <div
238
+ class="flex flex-row align-start"
239
+ >
240
+ <div
241
+ class="flex flex-col gap-1"
242
+ >
243
+ <label
244
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
245
+ for="«rh»-form-item"
246
+ >
247
+ Handle errors
248
+ </label>
249
+ <div
250
+ aria-describedby="«rh»-form-item-description"
251
+ aria-invalid="false"
252
+ aria-required="false"
253
+ class="flex flex-row gap-2 pt-1 items-center"
254
+ dir="ltr"
255
+ id="«rh»-form-item"
256
+ role="radiogroup"
257
+ style="outline: none;"
258
+ tabindex="0"
259
+ >
260
+ <div
261
+ class="flex items-center gap-1"
262
+ >
263
+ <button
264
+ aria-checked="false"
265
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
266
+ data-radix-collection-item=""
267
+ data-state="unchecked"
268
+ id="errors-ignore"
269
+ role="radio"
270
+ tabindex="-1"
271
+ type="button"
272
+ value="ignore"
273
+ />
274
+ <label
275
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
276
+ for="errors-ignore"
277
+ >
278
+ Ignore
279
+ </label>
280
+ </div>
281
+ <div
282
+ class="flex items-center gap-1"
283
+ >
284
+ <button
285
+ aria-checked="false"
286
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
287
+ data-radix-collection-item=""
288
+ data-state="unchecked"
289
+ id="errors-raise"
290
+ role="radio"
291
+ tabindex="-1"
292
+ type="button"
293
+ value="raise"
294
+ />
295
+ <label
296
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
297
+ for="errors-raise"
298
+ >
299
+ Raise
300
+ </label>
301
+ </div>
302
+ </div>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ </DocumentFragment>
307
+ `;
308
+
309
+ exports[`renderZodSchema > should render a form expand_dict 1`] = `
310
+ <DocumentFragment>
311
+ <div
312
+ class="flex flex-col gap-6"
313
+ >
314
+ <input
315
+ name="type"
316
+ type="hidden"
317
+ value="expand_dict"
318
+ />
319
+ <div
320
+ class="flex flex-row align-start"
321
+ >
322
+ <div
323
+ class="flex flex-col gap-1"
324
+ >
325
+ <label
326
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
327
+ for="«r2o»-form-item"
328
+ >
329
+ Column
330
+ </label>
331
+ <div
332
+ class="flex items-center gap-1"
333
+ >
334
+ <button
335
+ aria-autocomplete="none"
336
+ aria-controls="radix-«r2p»"
337
+ aria-expanded="false"
338
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
339
+ data-placeholder=""
340
+ data-state="closed"
341
+ dir="ltr"
342
+ role="combobox"
343
+ type="button"
344
+ >
345
+ <span
346
+ style="pointer-events: none;"
347
+ >
348
+ --
349
+ </span>
350
+ <svg
351
+ aria-hidden="true"
352
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
353
+ fill="none"
354
+ height="24"
355
+ stroke="currentColor"
356
+ stroke-linecap="round"
357
+ stroke-linejoin="round"
358
+ stroke-width="2"
359
+ viewBox="0 0 24 24"
360
+ width="24"
361
+ xmlns="http://www.w3.org/2000/svg"
362
+ >
363
+ <path
364
+ d="m6 9 6 6 6-6"
365
+ />
366
+ </svg>
367
+ </button>
368
+ </div>
369
+ </div>
370
+ </div>
371
+ </div>
372
+ </DocumentFragment>
373
+ `;
374
+
375
+ exports[`renderZodSchema > should render a form explode_columns 1`] = `
376
+ <DocumentFragment>
377
+ <div
378
+ class="flex flex-col gap-6"
379
+ >
380
+ <input
381
+ name="type"
382
+ type="hidden"
383
+ value="explode_columns"
384
+ />
385
+ <div
386
+ class="flex flex-row align-start"
387
+ >
388
+ <div
389
+ class="flex flex-col gap-1"
390
+ >
391
+ <label
392
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
393
+ for="«r2m»-form-item"
394
+ >
395
+ Columns
396
+ </label>
397
+ <div
398
+ aria-describedby="«r2m»-form-item-description"
399
+ aria-invalid="false"
400
+ class="relative"
401
+ id="«r2m»-form-item"
402
+ >
403
+ <div
404
+ aria-controls="radix-«r2n»"
405
+ aria-expanded="false"
406
+ aria-haspopup="dialog"
407
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
408
+ data-state="closed"
409
+ type="button"
410
+ >
411
+ <span
412
+ class="truncate flex-1 min-w-0"
413
+ >
414
+ Select columns
415
+ </span>
416
+ <svg
417
+ aria-hidden="true"
418
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
419
+ fill="none"
420
+ height="24"
421
+ stroke="currentColor"
422
+ stroke-linecap="round"
423
+ stroke-linejoin="round"
424
+ stroke-width="2"
425
+ viewBox="0 0 24 24"
426
+ width="24"
427
+ xmlns="http://www.w3.org/2000/svg"
428
+ >
429
+ <path
430
+ d="m6 9 6 6 6-6"
431
+ />
432
+ </svg>
433
+ </div>
434
+ <div
435
+ class="flex flex-col gap-1 items-start"
436
+ />
437
+ </div>
438
+ </div>
439
+ </div>
440
+ </div>
441
+ </DocumentFragment>
442
+ `;
443
+
444
+ exports[`renderZodSchema > should render a form filter_rows 1`] = `
445
+ <DocumentFragment>
446
+ <div
447
+ class="flex flex-col gap-6"
448
+ >
449
+ <input
450
+ name="type"
451
+ type="hidden"
452
+ value="filter_rows"
453
+ />
454
+ <div
455
+ class="flex flex-row align-start"
456
+ >
457
+ <div
458
+ class="flex flex-col gap-1"
459
+ >
460
+ <div
461
+ aria-describedby="«r0»-form-item-description"
462
+ aria-invalid="false"
463
+ aria-required="false"
464
+ class="flex flex-row gap-2 pt-1 items-center"
465
+ dir="ltr"
466
+ id="«r0»-form-item"
467
+ role="radiogroup"
468
+ style="outline: none;"
469
+ tabindex="0"
470
+ >
471
+ <div
472
+ class="flex items-center gap-1"
473
+ >
474
+ <button
475
+ aria-checked="false"
476
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
477
+ data-radix-collection-item=""
478
+ data-state="unchecked"
479
+ id="operation-keep_rows"
480
+ role="radio"
481
+ tabindex="-1"
482
+ type="button"
483
+ value="keep_rows"
484
+ />
485
+ <label
486
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
487
+ for="operation-keep_rows"
488
+ >
489
+ Keep Rows
490
+ </label>
491
+ </div>
492
+ <div
493
+ class="flex items-center gap-1"
494
+ >
495
+ <button
496
+ aria-checked="false"
497
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
498
+ data-radix-collection-item=""
499
+ data-state="unchecked"
500
+ id="operation-remove_rows"
501
+ role="radio"
502
+ tabindex="-1"
503
+ type="button"
504
+ value="remove_rows"
505
+ />
506
+ <label
507
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
508
+ for="operation-remove_rows"
509
+ >
510
+ Remove Rows
511
+ </label>
512
+ </div>
513
+ </div>
514
+ </div>
515
+ </div>
516
+ <div
517
+ class="flex flex-row align-start"
518
+ >
519
+ <div
520
+ class="flex flex-col gap-1"
521
+ >
522
+ <label
523
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
524
+ />
525
+ <div
526
+ class="flex flex-col gap-2 min-w-[220px]"
527
+ >
528
+ <div
529
+ class="text-destructive text-xs font-semibold"
530
+ >
531
+ <div>
532
+ At least 1 required.
533
+ </div>
534
+ </div>
535
+ <div>
536
+ <button
537
+ class="disabled:opacity-50 disabled:pointer-events-none inline-flex items-center justify-center font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background opacity-80 hover:opacity-100 active:opacity-100 h-7 px-2 rounded-md text-xs hover:text-accent-foreground"
538
+ data-testid="marimo-plugin-data-frames-add-array-item"
539
+ >
540
+ <svg
541
+ aria-hidden="true"
542
+ class="lucide lucide-plus w-3.5 h-3.5 mr-1"
543
+ fill="none"
544
+ height="24"
545
+ stroke="currentColor"
546
+ stroke-linecap="round"
547
+ stroke-linejoin="round"
548
+ stroke-width="2"
549
+ viewBox="0 0 24 24"
550
+ width="24"
551
+ xmlns="http://www.w3.org/2000/svg"
552
+ >
553
+ <path
554
+ d="M5 12h14"
555
+ />
556
+ <path
557
+ d="M12 5v14"
558
+ />
559
+ </svg>
560
+ Add
561
+ </button>
562
+ </div>
563
+ </div>
564
+ </div>
565
+ </div>
566
+ </div>
567
+ </DocumentFragment>
568
+ `;
569
+
570
+ exports[`renderZodSchema > should render a form group_by 1`] = `
571
+ <DocumentFragment>
572
+ <div
573
+ class="flex flex-col gap-6"
574
+ >
575
+ <input
576
+ name="type"
577
+ type="hidden"
578
+ value="group_by"
579
+ />
580
+ <div
581
+ class="flex flex-row align-start"
582
+ >
583
+ <div
584
+ class="flex flex-col gap-1"
585
+ >
586
+ <label
587
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
588
+ for="«r1o»-form-item"
589
+ >
590
+ Columns
591
+ </label>
592
+ <div
593
+ aria-describedby="«r1o»-form-item-description"
594
+ aria-invalid="false"
595
+ class="relative"
596
+ id="«r1o»-form-item"
597
+ >
598
+ <div
599
+ aria-controls="radix-«r1p»"
600
+ aria-expanded="false"
601
+ aria-haspopup="dialog"
602
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
603
+ data-state="closed"
604
+ type="button"
605
+ >
606
+ <span
607
+ class="truncate flex-1 min-w-0"
608
+ >
609
+ Select columns
610
+ </span>
611
+ <svg
612
+ aria-hidden="true"
613
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
614
+ fill="none"
615
+ height="24"
616
+ stroke="currentColor"
617
+ stroke-linecap="round"
618
+ stroke-linejoin="round"
619
+ stroke-width="2"
620
+ viewBox="0 0 24 24"
621
+ width="24"
622
+ xmlns="http://www.w3.org/2000/svg"
623
+ >
624
+ <path
625
+ d="m6 9 6 6 6-6"
626
+ />
627
+ </svg>
628
+ </div>
629
+ <div
630
+ class="flex flex-col gap-1 items-start"
631
+ />
632
+ </div>
633
+ </div>
634
+ </div>
635
+ <div
636
+ class="flex flex-row align-start"
637
+ >
638
+ <div
639
+ class="flex flex-col gap-1"
640
+ >
641
+ <label
642
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
643
+ for="«r1q»-form-item"
644
+ >
645
+ Aggregation
646
+ </label>
647
+ <button
648
+ aria-autocomplete="none"
649
+ aria-controls="radix-«r1r»"
650
+ aria-expanded="false"
651
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
652
+ data-placeholder=""
653
+ data-state="closed"
654
+ dir="ltr"
655
+ role="combobox"
656
+ type="button"
657
+ >
658
+ <span
659
+ style="pointer-events: none;"
660
+ >
661
+ --
662
+ </span>
663
+ <svg
664
+ aria-hidden="true"
665
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
666
+ fill="none"
667
+ height="24"
668
+ stroke="currentColor"
669
+ stroke-linecap="round"
670
+ stroke-linejoin="round"
671
+ stroke-width="2"
672
+ viewBox="0 0 24 24"
673
+ width="24"
674
+ xmlns="http://www.w3.org/2000/svg"
675
+ >
676
+ <path
677
+ d="m6 9 6 6 6-6"
678
+ />
679
+ </svg>
680
+ </button>
681
+ </div>
682
+ </div>
683
+ <div
684
+ class="flex flex-row align-start"
685
+ >
686
+ <div
687
+ class="flex flex-col gap-1"
688
+ >
689
+ <div
690
+ class="flex flex-row items-start space-x-2"
691
+ >
692
+ <label
693
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
694
+ for="«r1s»-form-item"
695
+ >
696
+ Drop N/A
697
+ </label>
698
+ <button
699
+ aria-checked="false"
700
+ aria-describedby="«r1s»-form-item-description"
701
+ aria-invalid="false"
702
+ class="flex items-center justify-center peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"
703
+ data-state="unchecked"
704
+ data-testid="marimo-plugin-data-frames-boolean-checkbox"
705
+ id="«r1s»-form-item"
706
+ role="checkbox"
707
+ type="button"
708
+ value="on"
709
+ />
710
+ </div>
711
+ </div>
712
+ </div>
713
+ </div>
714
+ </DocumentFragment>
715
+ `;
716
+
717
+ exports[`renderZodSchema > should render a form rename_column 1`] = `
718
+ <DocumentFragment>
719
+ <div
720
+ class="flex flex-col gap-6"
721
+ >
722
+ <input
723
+ name="type"
724
+ type="hidden"
725
+ value="rename_column"
726
+ />
727
+ <div
728
+ class="flex flex-row align-start"
729
+ >
730
+ <div
731
+ class="flex flex-col gap-1"
732
+ >
733
+ <label
734
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
735
+ for="«r5»-form-item"
736
+ >
737
+ Column
738
+ </label>
739
+ <div
740
+ class="flex items-center gap-1"
741
+ >
742
+ <button
743
+ aria-autocomplete="none"
744
+ aria-controls="radix-«r6»"
745
+ aria-expanded="false"
746
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
747
+ data-placeholder=""
748
+ data-state="closed"
749
+ dir="ltr"
750
+ role="combobox"
751
+ type="button"
752
+ >
753
+ <span
754
+ style="pointer-events: none;"
755
+ >
756
+ --
757
+ </span>
758
+ <svg
759
+ aria-hidden="true"
760
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
761
+ fill="none"
762
+ height="24"
763
+ stroke="currentColor"
764
+ stroke-linecap="round"
765
+ stroke-linejoin="round"
766
+ stroke-width="2"
767
+ viewBox="0 0 24 24"
768
+ width="24"
769
+ xmlns="http://www.w3.org/2000/svg"
770
+ >
771
+ <path
772
+ d="m6 9 6 6 6-6"
773
+ />
774
+ </svg>
775
+ </button>
776
+ </div>
777
+ </div>
778
+ </div>
779
+ <div
780
+ class="flex flex-row align-start"
781
+ >
782
+ <div
783
+ class="flex flex-col gap-1"
784
+ >
785
+ <div
786
+ class="relative"
787
+ >
788
+ <input
789
+ aria-describedby="«r7»-form-item-description"
790
+ aria-invalid="false"
791
+ class="shadow-xs-solid hover:shadow-sm-solid disabled:shadow-xs-solid focus-visible:shadow-md-solid flex h-6 w-full rounded-sm border border-input bg-background px-1.5 py-1 text-sm font-code ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:border-primary disabled:cursor-not-allowed disabled:opacity-50 my-0"
792
+ id="«r7»-form-item"
793
+ name="new_column_id"
794
+ />
795
+ </div>
796
+ </div>
797
+ </div>
798
+ </div>
799
+ </DocumentFragment>
800
+ `;
801
+
802
+ exports[`renderZodSchema > should render a form sample_rows 1`] = `
803
+ <DocumentFragment>
804
+ <div
805
+ class="flex flex-col gap-6"
806
+ >
807
+ <input
808
+ name="type"
809
+ type="hidden"
810
+ value="sample_rows"
811
+ />
812
+ <div
813
+ class="flex flex-row align-start"
814
+ >
815
+ <div
816
+ class="flex flex-col gap-1"
817
+ >
818
+ <label
819
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
820
+ for="«r28»-form-item"
821
+ >
822
+ Number of rows
823
+ </label>
824
+ <div
825
+ class="my-0"
826
+ data-rac=""
827
+ >
828
+ <div
829
+ class="shadow-xs-solid hover:shadow-sm-solid hover:focus-within:shadow-md-solid flex overflow-hidden rounded-sm border border-input bg-background text-sm font-code ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 disabled:shadow-xs-solid focus-within:shadow-md-solid focus-within:outline-hidden focus-within:ring-1 focus-within:ring-ring focus-within:border-primary h-6 w-full my-0"
830
+ >
831
+ <input
832
+ aria-describedby="«r28»-form-item-description"
833
+ aria-roledescription="Number field"
834
+ autocomplete="off"
835
+ autocorrect="off"
836
+ class="flex-1 w-full placeholder:text-muted-foreground outline-hidden disabled:cursor-not-allowed disabled:opacity-50 px-1.5"
837
+ data-rac=""
838
+ id="«r28»-form-item"
839
+ inputmode="numeric"
840
+ spellcheck="false"
841
+ tabindex="0"
842
+ title=""
843
+ type="text"
844
+ value=""
845
+ />
846
+ <div
847
+ class="flex flex-col border-s-2"
848
+ >
849
+ <button
850
+ aria-controls="«r28»-form-item"
851
+ aria-label="Increase"
852
+ class="cursor-default text-muted-foreground pressed:bg-muted-foreground group-disabled:text-disabled-foreground outline-hidden focus-visible:text-primary disabled:cursor-not-allowed disabled:opacity-50 hover:text-primary hover:bg-muted px-0.5"
853
+ data-rac=""
854
+ data-react-aria-pressable="true"
855
+ id="react-aria-«r2f»"
856
+ slot="increment"
857
+ tabindex="-1"
858
+ type="button"
859
+ >
860
+ <svg
861
+ aria-hidden="true"
862
+ class="lucide lucide-chevron-up w-3 h-3 -mb-px"
863
+ fill="none"
864
+ height="24"
865
+ stroke="currentColor"
866
+ stroke-linecap="round"
867
+ stroke-linejoin="round"
868
+ stroke-width="2"
869
+ viewBox="0 0 24 24"
870
+ width="24"
871
+ xmlns="http://www.w3.org/2000/svg"
872
+ >
873
+ <path
874
+ d="m18 15-6-6-6 6"
875
+ />
876
+ </svg>
877
+ </button>
878
+ <div
879
+ class="h-px shrink-0 divider bg-border z-10"
880
+ />
881
+ <button
882
+ aria-controls="«r28»-form-item"
883
+ aria-label="Decrease"
884
+ class="cursor-default text-muted-foreground pressed:bg-muted-foreground group-disabled:text-disabled-foreground outline-hidden focus-visible:text-primary disabled:cursor-not-allowed disabled:opacity-50 hover:text-primary hover:bg-muted px-0.5"
885
+ data-rac=""
886
+ data-react-aria-pressable="true"
887
+ id="react-aria-«r2g»"
888
+ slot="decrement"
889
+ tabindex="-1"
890
+ type="button"
891
+ >
892
+ <svg
893
+ aria-hidden="true"
894
+ class="lucide lucide-chevron-down w-3 h-3 -mt-px"
895
+ fill="none"
896
+ height="24"
897
+ stroke="currentColor"
898
+ stroke-linecap="round"
899
+ stroke-linejoin="round"
900
+ stroke-width="2"
901
+ viewBox="0 0 24 24"
902
+ width="24"
903
+ xmlns="http://www.w3.org/2000/svg"
904
+ >
905
+ <path
906
+ d="m6 9 6 6 6-6"
907
+ />
908
+ </svg>
909
+ </button>
910
+ </div>
911
+ </div>
912
+ </div>
913
+ <input
914
+ name="n"
915
+ type="hidden"
916
+ value=""
917
+ />
918
+ </div>
919
+ </div>
920
+ <div
921
+ class="flex flex-row align-start"
922
+ >
923
+ <button
924
+ class="disabled:opacity-50 disabled:pointer-events-none inline-flex items-center justify-center font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input shadow-xs active:shadow-none h-7 px-2 rounded-md text-xs"
925
+ data-testid="marimo-plugin-data-frames-random-number-button"
926
+ >
927
+ <svg
928
+ aria-hidden="true"
929
+ class="lucide lucide-refresh-ccw w-3.5 h-3.5 mr-1"
930
+ fill="none"
931
+ height="24"
932
+ stroke="currentColor"
933
+ stroke-linecap="round"
934
+ stroke-linejoin="round"
935
+ stroke-width="2"
936
+ viewBox="0 0 24 24"
937
+ width="24"
938
+ xmlns="http://www.w3.org/2000/svg"
939
+ >
940
+ <path
941
+ d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"
942
+ />
943
+ <path
944
+ d="M3 3v5h5"
945
+ />
946
+ <path
947
+ d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"
948
+ />
949
+ <path
950
+ d="M16 16h5v5"
951
+ />
952
+ </svg>
953
+ Re-sample
954
+ </button>
955
+ </div>
956
+ <div
957
+ class="flex flex-row align-start"
958
+ >
959
+ <div
960
+ class="flex flex-col gap-1"
961
+ >
962
+ <div
963
+ class="flex flex-row items-start space-x-2"
964
+ >
965
+ <label
966
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
967
+ for="«r2l»-form-item"
968
+ >
969
+ Sample with replacement
970
+ </label>
971
+ <button
972
+ aria-checked="false"
973
+ aria-describedby="«r2l»-form-item-description"
974
+ aria-invalid="false"
975
+ class="flex items-center justify-center peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"
976
+ data-state="unchecked"
977
+ data-testid="marimo-plugin-data-frames-boolean-checkbox"
978
+ id="«r2l»-form-item"
979
+ role="checkbox"
980
+ type="button"
981
+ value="on"
982
+ />
983
+ </div>
984
+ </div>
985
+ </div>
986
+ </div>
987
+ </DocumentFragment>
988
+ `;
989
+
990
+ exports[`renderZodSchema > should render a form select_columns 1`] = `
991
+ <DocumentFragment>
992
+ <div
993
+ class="flex flex-col gap-6"
994
+ >
995
+ <input
996
+ name="type"
997
+ type="hidden"
998
+ value="select_columns"
999
+ />
1000
+ <div
1001
+ class="flex flex-row align-start"
1002
+ >
1003
+ <div
1004
+ class="flex flex-col gap-1"
1005
+ >
1006
+ <label
1007
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1008
+ for="«r3»-form-item"
1009
+ >
1010
+ Columns
1011
+ </label>
1012
+ <div
1013
+ aria-describedby="«r3»-form-item-description"
1014
+ aria-invalid="false"
1015
+ class="relative"
1016
+ id="«r3»-form-item"
1017
+ >
1018
+ <div
1019
+ aria-controls="radix-«r4»"
1020
+ aria-expanded="false"
1021
+ aria-haspopup="dialog"
1022
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
1023
+ data-state="closed"
1024
+ type="button"
1025
+ >
1026
+ <span
1027
+ class="truncate flex-1 min-w-0"
1028
+ >
1029
+ Select columns
1030
+ </span>
1031
+ <svg
1032
+ aria-hidden="true"
1033
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
1034
+ fill="none"
1035
+ height="24"
1036
+ stroke="currentColor"
1037
+ stroke-linecap="round"
1038
+ stroke-linejoin="round"
1039
+ stroke-width="2"
1040
+ viewBox="0 0 24 24"
1041
+ width="24"
1042
+ xmlns="http://www.w3.org/2000/svg"
1043
+ >
1044
+ <path
1045
+ d="m6 9 6 6 6-6"
1046
+ />
1047
+ </svg>
1048
+ </div>
1049
+ <div
1050
+ class="flex flex-col gap-1 items-start"
1051
+ />
1052
+ </div>
1053
+ </div>
1054
+ </div>
1055
+ </div>
1056
+ </DocumentFragment>
1057
+ `;
1058
+
1059
+ exports[`renderZodSchema > should render a form shuffle_rows 1`] = `
1060
+ <DocumentFragment>
1061
+ <div
1062
+ class="flex flex-col gap-6"
1063
+ >
1064
+ <input
1065
+ name="type"
1066
+ type="hidden"
1067
+ value="shuffle_rows"
1068
+ />
1069
+ <div
1070
+ class="flex flex-row align-start"
1071
+ >
1072
+ <button
1073
+ class="disabled:opacity-50 disabled:pointer-events-none inline-flex items-center justify-center font-medium focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input shadow-xs active:shadow-none h-7 px-2 rounded-md text-xs"
1074
+ data-testid="marimo-plugin-data-frames-random-number-button"
1075
+ >
1076
+ <svg
1077
+ aria-hidden="true"
1078
+ class="lucide lucide-refresh-ccw w-3.5 h-3.5 mr-1"
1079
+ fill="none"
1080
+ height="24"
1081
+ stroke="currentColor"
1082
+ stroke-linecap="round"
1083
+ stroke-linejoin="round"
1084
+ stroke-width="2"
1085
+ viewBox="0 0 24 24"
1086
+ width="24"
1087
+ xmlns="http://www.w3.org/2000/svg"
1088
+ >
1089
+ <path
1090
+ d="M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"
1091
+ />
1092
+ <path
1093
+ d="M3 3v5h5"
1094
+ />
1095
+ <path
1096
+ d="M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"
1097
+ />
1098
+ <path
1099
+ d="M16 16h5v5"
1100
+ />
1101
+ </svg>
1102
+ Re-shuffle
1103
+ </button>
1104
+ </div>
1105
+ </div>
1106
+ </DocumentFragment>
1107
+ `;
1108
+
1109
+ exports[`renderZodSchema > should render a form sort_column 1`] = `
1110
+ <DocumentFragment>
1111
+ <div
1112
+ class="flex flex-col gap-6"
1113
+ >
1114
+ <input
1115
+ name="type"
1116
+ type="hidden"
1117
+ value="sort_column"
1118
+ />
1119
+ <div
1120
+ class="flex flex-row align-start"
1121
+ >
1122
+ <div
1123
+ class="flex flex-col gap-1"
1124
+ >
1125
+ <label
1126
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1127
+ for="«r1d»-form-item"
1128
+ >
1129
+ Column
1130
+ </label>
1131
+ <div
1132
+ class="flex items-center gap-1"
1133
+ >
1134
+ <button
1135
+ aria-autocomplete="none"
1136
+ aria-controls="radix-«r1e»"
1137
+ aria-expanded="false"
1138
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
1139
+ data-placeholder=""
1140
+ data-state="closed"
1141
+ dir="ltr"
1142
+ role="combobox"
1143
+ type="button"
1144
+ >
1145
+ <span
1146
+ style="pointer-events: none;"
1147
+ >
1148
+ --
1149
+ </span>
1150
+ <svg
1151
+ aria-hidden="true"
1152
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
1153
+ fill="none"
1154
+ height="24"
1155
+ stroke="currentColor"
1156
+ stroke-linecap="round"
1157
+ stroke-linejoin="round"
1158
+ stroke-width="2"
1159
+ viewBox="0 0 24 24"
1160
+ width="24"
1161
+ xmlns="http://www.w3.org/2000/svg"
1162
+ >
1163
+ <path
1164
+ d="m6 9 6 6 6-6"
1165
+ />
1166
+ </svg>
1167
+ </button>
1168
+ </div>
1169
+ </div>
1170
+ </div>
1171
+ <div
1172
+ class="flex flex-row align-start"
1173
+ >
1174
+ <div
1175
+ class="flex flex-col gap-1"
1176
+ >
1177
+ <div
1178
+ class="flex flex-row items-start space-x-2"
1179
+ >
1180
+ <label
1181
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1182
+ for="«r1f»-form-item"
1183
+ >
1184
+ Ascending
1185
+ </label>
1186
+ <button
1187
+ aria-checked="false"
1188
+ aria-describedby="«r1f»-form-item-description"
1189
+ aria-invalid="false"
1190
+ class="flex items-center justify-center peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground"
1191
+ data-state="unchecked"
1192
+ data-testid="marimo-plugin-data-frames-boolean-checkbox"
1193
+ id="«r1f»-form-item"
1194
+ role="checkbox"
1195
+ type="button"
1196
+ value="on"
1197
+ />
1198
+ </div>
1199
+ </div>
1200
+ </div>
1201
+ <div
1202
+ class="flex flex-row align-start"
1203
+ >
1204
+ <div
1205
+ class="flex flex-col gap-1"
1206
+ >
1207
+ <label
1208
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1209
+ for="«r1g»-form-item"
1210
+ >
1211
+ N/A position
1212
+ </label>
1213
+ <div
1214
+ aria-describedby="«r1g»-form-item-description"
1215
+ aria-invalid="false"
1216
+ aria-required="false"
1217
+ class="flex flex-row gap-2 pt-1 items-center"
1218
+ dir="ltr"
1219
+ id="«r1g»-form-item"
1220
+ role="radiogroup"
1221
+ style="outline: none;"
1222
+ tabindex="0"
1223
+ >
1224
+ <div
1225
+ class="flex items-center gap-1"
1226
+ >
1227
+ <button
1228
+ aria-checked="false"
1229
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
1230
+ data-radix-collection-item=""
1231
+ data-state="unchecked"
1232
+ id="na_position-first"
1233
+ role="radio"
1234
+ tabindex="-1"
1235
+ type="button"
1236
+ value="first"
1237
+ />
1238
+ <label
1239
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
1240
+ for="na_position-first"
1241
+ >
1242
+ First
1243
+ </label>
1244
+ </div>
1245
+ <div
1246
+ class="flex items-center gap-1"
1247
+ >
1248
+ <button
1249
+ aria-checked="false"
1250
+ class="h-[16px] w-[16px] transition-shadow data-[state=unchecked]:shadow-xs-solid rounded-full border border-input text-primary ring-offset-background focus:outline-hidden focus:shadow-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:shadow-none"
1251
+ data-radix-collection-item=""
1252
+ data-state="unchecked"
1253
+ id="na_position-last"
1254
+ role="radio"
1255
+ tabindex="-1"
1256
+ type="button"
1257
+ value="last"
1258
+ />
1259
+ <label
1260
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
1261
+ for="na_position-last"
1262
+ >
1263
+ Last
1264
+ </label>
1265
+ </div>
1266
+ </div>
1267
+ </div>
1268
+ </div>
1269
+ </div>
1270
+ </DocumentFragment>
1271
+ `;
1272
+
1273
+ exports[`renderZodSchema > should render a form unique 1`] = `
1274
+ <DocumentFragment>
1275
+ <div
1276
+ class="flex flex-row gap-6 items-start"
1277
+ >
1278
+ <input
1279
+ name="type"
1280
+ type="hidden"
1281
+ value="unique"
1282
+ />
1283
+ <div
1284
+ class="flex flex-row align-start"
1285
+ >
1286
+ <div
1287
+ class="flex flex-col gap-1"
1288
+ >
1289
+ <label
1290
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1291
+ for="«r2v»-form-item"
1292
+ >
1293
+ Columns
1294
+ </label>
1295
+ <div
1296
+ aria-describedby="«r2v»-form-item-description"
1297
+ aria-invalid="false"
1298
+ class="relative"
1299
+ id="«r2v»-form-item"
1300
+ >
1301
+ <div
1302
+ aria-controls="radix-«r30»"
1303
+ aria-expanded="false"
1304
+ aria-haspopup="dialog"
1305
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
1306
+ data-state="closed"
1307
+ type="button"
1308
+ >
1309
+ <span
1310
+ class="truncate flex-1 min-w-0"
1311
+ >
1312
+ Select columns
1313
+ </span>
1314
+ <svg
1315
+ aria-hidden="true"
1316
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
1317
+ fill="none"
1318
+ height="24"
1319
+ stroke="currentColor"
1320
+ stroke-linecap="round"
1321
+ stroke-linejoin="round"
1322
+ stroke-width="2"
1323
+ viewBox="0 0 24 24"
1324
+ width="24"
1325
+ xmlns="http://www.w3.org/2000/svg"
1326
+ >
1327
+ <path
1328
+ d="m6 9 6 6 6-6"
1329
+ />
1330
+ </svg>
1331
+ </div>
1332
+ <div
1333
+ class="flex flex-col gap-1 items-start"
1334
+ />
1335
+ </div>
1336
+ </div>
1337
+ </div>
1338
+ <div
1339
+ class="flex flex-row align-start"
1340
+ >
1341
+ <div
1342
+ class="flex flex-col gap-1"
1343
+ >
1344
+ <label
1345
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 whitespace-pre"
1346
+ for="«r31»-form-item"
1347
+ >
1348
+ Keep
1349
+ </label>
1350
+ <button
1351
+ aria-autocomplete="none"
1352
+ aria-controls="radix-«r32»"
1353
+ aria-expanded="false"
1354
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
1355
+ data-placeholder=""
1356
+ data-state="closed"
1357
+ dir="ltr"
1358
+ role="combobox"
1359
+ type="button"
1360
+ >
1361
+ <span
1362
+ style="pointer-events: none;"
1363
+ >
1364
+ --
1365
+ </span>
1366
+ <svg
1367
+ aria-hidden="true"
1368
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
1369
+ fill="none"
1370
+ height="24"
1371
+ stroke="currentColor"
1372
+ stroke-linecap="round"
1373
+ stroke-linejoin="round"
1374
+ stroke-width="2"
1375
+ viewBox="0 0 24 24"
1376
+ width="24"
1377
+ xmlns="http://www.w3.org/2000/svg"
1378
+ >
1379
+ <path
1380
+ d="m6 9 6 6 6-6"
1381
+ />
1382
+ </svg>
1383
+ </button>
1384
+ </div>
1385
+ </div>
1386
+ </div>
1387
+ </DocumentFragment>
1388
+ `;
1389
+
1390
+ exports[`renders custom forms column_id 1`] = `
1391
+ <DocumentFragment>
1392
+ <div
1393
+ class="flex flex-col gap-1"
1394
+ >
1395
+ <label
1396
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1397
+ for="«r38»-form-item"
1398
+ >
1399
+ Column
1400
+ </label>
1401
+ <div
1402
+ class="flex items-center gap-1"
1403
+ >
1404
+ <button
1405
+ aria-autocomplete="none"
1406
+ aria-controls="radix-«r39»"
1407
+ aria-expanded="false"
1408
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
1409
+ data-placeholder=""
1410
+ data-state="closed"
1411
+ dir="ltr"
1412
+ role="combobox"
1413
+ type="button"
1414
+ >
1415
+ <span
1416
+ style="pointer-events: none;"
1417
+ >
1418
+ --
1419
+ </span>
1420
+ <svg
1421
+ aria-hidden="true"
1422
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
1423
+ fill="none"
1424
+ height="24"
1425
+ stroke="currentColor"
1426
+ stroke-linecap="round"
1427
+ stroke-linejoin="round"
1428
+ stroke-width="2"
1429
+ viewBox="0 0 24 24"
1430
+ width="24"
1431
+ xmlns="http://www.w3.org/2000/svg"
1432
+ >
1433
+ <path
1434
+ d="m6 9 6 6 6-6"
1435
+ />
1436
+ </svg>
1437
+ </button>
1438
+ </div>
1439
+ </div>
1440
+ </DocumentFragment>
1441
+ `;
1442
+
1443
+ exports[`renders custom forms column_id_array 1`] = `
1444
+ <DocumentFragment>
1445
+ <div
1446
+ class="flex flex-col gap-1"
1447
+ >
1448
+ <label
1449
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1450
+ for="«r3f»-form-item"
1451
+ >
1452
+ Columns
1453
+ </label>
1454
+ <div
1455
+ aria-describedby="«r3f»-form-item-description"
1456
+ aria-invalid="false"
1457
+ class="relative"
1458
+ id="«r3f»-form-item"
1459
+ >
1460
+ <div
1461
+ aria-controls="radix-«r3g»"
1462
+ aria-expanded="false"
1463
+ aria-haspopup="dialog"
1464
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
1465
+ data-state="closed"
1466
+ type="button"
1467
+ >
1468
+ <span
1469
+ class="truncate flex-1 min-w-0"
1470
+ >
1471
+ Select columns
1472
+ </span>
1473
+ <svg
1474
+ aria-hidden="true"
1475
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
1476
+ fill="none"
1477
+ height="24"
1478
+ stroke="currentColor"
1479
+ stroke-linecap="round"
1480
+ stroke-linejoin="round"
1481
+ stroke-width="2"
1482
+ viewBox="0 0 24 24"
1483
+ width="24"
1484
+ xmlns="http://www.w3.org/2000/svg"
1485
+ >
1486
+ <path
1487
+ d="m6 9 6 6 6-6"
1488
+ />
1489
+ </svg>
1490
+ </div>
1491
+ <div
1492
+ class="flex flex-col gap-1 items-start"
1493
+ />
1494
+ </div>
1495
+ </div>
1496
+ </DocumentFragment>
1497
+ `;
1498
+
1499
+ exports[`renders custom forms column_id_dot_array 1`] = `
1500
+ <DocumentFragment>
1501
+ <div
1502
+ class="flex flex-col gap-1"
1503
+ >
1504
+ <div
1505
+ aria-describedby="«r3h»-form-item-description"
1506
+ aria-invalid="false"
1507
+ class="relative"
1508
+ id="«r3h»-form-item"
1509
+ >
1510
+ <div
1511
+ aria-controls="radix-«r3i»"
1512
+ aria-expanded="false"
1513
+ aria-haspopup="dialog"
1514
+ class="flex h-6 w-fit mb-1 shadow-xs-solid items-center justify-between rounded-sm border border-input bg-transparent px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid disabled:cursor-not-allowed disabled:opacity-50 min-w-[180px]"
1515
+ data-state="closed"
1516
+ type="button"
1517
+ >
1518
+ <span
1519
+ class="truncate flex-1 min-w-0"
1520
+ >
1521
+ --
1522
+ </span>
1523
+ <svg
1524
+ aria-hidden="true"
1525
+ class="lucide lucide-chevron-down ml-3 w-4 h-4 opacity-50 shrink-0"
1526
+ fill="none"
1527
+ height="24"
1528
+ stroke="currentColor"
1529
+ stroke-linecap="round"
1530
+ stroke-linejoin="round"
1531
+ stroke-width="2"
1532
+ viewBox="0 0 24 24"
1533
+ width="24"
1534
+ xmlns="http://www.w3.org/2000/svg"
1535
+ >
1536
+ <path
1537
+ d="m6 9 6 6 6-6"
1538
+ />
1539
+ </svg>
1540
+ </div>
1541
+ <div
1542
+ class="flex flex-col gap-1 items-start"
1543
+ />
1544
+ </div>
1545
+ </div>
1546
+ </DocumentFragment>
1547
+ `;
1548
+
1549
+ exports[`renders custom forms column_id_optional 1`] = `
1550
+ <DocumentFragment>
1551
+ <div
1552
+ class="flex flex-col gap-1"
1553
+ >
1554
+ <label
1555
+ class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
1556
+ for="«r3j»-form-item"
1557
+ >
1558
+ Column
1559
+ </label>
1560
+ <div
1561
+ class="flex items-center gap-1"
1562
+ >
1563
+ <button
1564
+ aria-autocomplete="none"
1565
+ aria-controls="radix-«r3k»"
1566
+ aria-expanded="false"
1567
+ class="flex h-6 w-fit items-center justify-between rounded-sm bg-background px-2 text-sm font-prose ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer shadow-xs-solid border border-input hover:shadow-sm-solid focus:border-primary focus:shadow-md-solid disabled:hover:shadow-xs-solid mb-0 min-w-[180px]"
1568
+ data-placeholder=""
1569
+ data-state="closed"
1570
+ dir="ltr"
1571
+ role="combobox"
1572
+ type="button"
1573
+ >
1574
+ <span
1575
+ style="pointer-events: none;"
1576
+ >
1577
+ --
1578
+ </span>
1579
+ <svg
1580
+ aria-hidden="true"
1581
+ class="lucide lucide-chevron-down h-4 w-4 opacity-50"
1582
+ fill="none"
1583
+ height="24"
1584
+ stroke="currentColor"
1585
+ stroke-linecap="round"
1586
+ stroke-linejoin="round"
1587
+ stroke-width="2"
1588
+ viewBox="0 0 24 24"
1589
+ width="24"
1590
+ xmlns="http://www.w3.org/2000/svg"
1591
+ >
1592
+ <path
1593
+ d="m6 9 6 6 6-6"
1594
+ />
1595
+ </svg>
1596
+ </button>
1597
+ </div>
1598
+ </div>
1599
+ </DocumentFragment>
1600
+ `;