@marimo-team/islands 0.25.3-dev17 → 0.25.3-dev170

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 (547) hide show
  1. package/dist/{ConnectedDataExplorerComponent-CNMliVzw.js → ConnectedDataExplorerComponent-BbSXV-Xa.js} +21 -19
  2. package/dist/{ErrorBoundary-jaGao4LA.js → ErrorBoundary-NE86qEWZ.js} +18 -18
  3. package/dist/{abnfDiagram-VCTEODGH-D-Ez91gV.js → abnfDiagram-VCTEODGH-D7n07nXf.js} +2 -2
  4. package/dist/any-language-editor-3E24SnCV.js +75 -0
  5. package/dist/{architectureDiagram-5GKGNRK7-CTpcNtO8.js → architectureDiagram-5GKGNRK7-D6CjRib5.js} +1 -1
  6. package/dist/{arrays-CN1djC4k.js → arrays-R6JsImiT.js} +8 -0
  7. package/dist/assets/__vite-browser-external-DVeFf2e7.js +1 -0
  8. package/dist/assets/worker-C1pfNBsx.js +113 -0
  9. package/dist/{button-CvjkwdSk.js → button-BQRdqQi1.js} +199 -192
  10. package/dist/{capabilities-CQ5IjhzL.js → capabilities-CI4xUPsp.js} +2 -2
  11. package/dist/{chat-ui-DaHynk8g.js → chat-ui-CC7GekpG.js} +1144 -1143
  12. package/dist/{check-EDwSwP89.js → check-SpOMoCLP.js} +1 -1
  13. package/dist/{chunk-IMKFNOWR-DGxi-zeo.js → chunk-IMKFNOWR-6dtPz7uS.js} +1 -1
  14. package/dist/{chunk-SHT3W25Y-CV9J3rAB.js → chunk-SHT3W25Y-BwnFNKDA.js} +1 -1
  15. package/dist/{chunk-SVP7TREG-BL-9Fqgg.js → chunk-SVP7TREG-D2eV4vBJ.js} +1 -1
  16. package/dist/{chunk-TICWLB2K-Cu_XMjDM.js → chunk-TICWLB2K-BDs4-_-r.js} +1 -1
  17. package/dist/{chunk-YOKDWASO-DPZk8vhS.js → chunk-YOKDWASO-DKplTrBY.js} +20 -20
  18. package/dist/{classDiagram-ZZMXUADV-BXXV13Hq.js → classDiagram-ZZMXUADV-DCJnf_8v.js} +2 -2
  19. package/dist/{classDiagram-v2-VYDZK3BY-B7FXJ1Cp.js → classDiagram-v2-VYDZK3BY-BOmSzPBD.js} +2 -2
  20. package/dist/{code-visibility-Bub8tnaA.js → code-visibility-Bzvc6ajl.js} +25 -25
  21. package/dist/{common-CdT0nyN1.js → common-Ciw4zkh2.js} +6933 -6754
  22. package/dist/{copy-icon-Ft7t9bqz.js → copy-icon-C1trdvVt.js} +3 -3
  23. package/dist/{cynefinDiagram-5FMLGOSQ-CH96rwba.js → cynefinDiagram-5FMLGOSQ-Bln_Soky.js} +1 -1
  24. package/dist/{dagre-GXQ25YYZ-BD3PmpFY.js → dagre-GXQ25YYZ-D-nf7WzW.js} +1 -1
  25. package/dist/{data-grid-overlay-editor-Dbcss6_2.js → data-grid-overlay-editor-AQREmxI7.js} +5 -5
  26. package/dist/{data-grid-types-BH_r7g7l.js → data-grid-types-0PJ-9N5n.js} +1 -1
  27. package/dist/{diagram-S7CK7UJ4-BsSJJldB.js → diagram-S7CK7UJ4-PsgSMkY2.js} +1 -1
  28. package/dist/{diagram-UQ7AKVKN-muQtNZc4.js → diagram-UQ7AKVKN-DfwfUuSw.js} +1 -1
  29. package/dist/{diagram-VX7I27RA-CdhuZAqR.js → diagram-VX7I27RA-C9_e-oMc.js} +1 -1
  30. package/dist/{diagram-Z3DM3KII-BD8mXjOj.js → diagram-Z3DM3KII-CWLa5tuY.js} +1 -1
  31. package/dist/{dialog-CEBFZNyc.js → dialog-DgeqyrEZ.js} +3 -3
  32. package/dist/{dist-DpBpA_n1.js → dist-Lm-D-Vr6.js} +3 -3
  33. package/dist/{dropdown-menu-CP_qCYHC.js → dropdown-menu-B6ftyzOg.js} +1277 -1229
  34. package/dist/{ebnfDiagram-PWID7BFC-BIN1sweE.js → ebnfDiagram-PWID7BFC-B1QRM58v.js} +2 -2
  35. package/dist/{erDiagram-RLTQ6QDP-Ctp5cfoN.js → erDiagram-RLTQ6QDP-DJK_FqvW.js} +1 -1
  36. package/dist/{error-banner-D-WCIiMt.js → error-banner-D40pmfQQ.js} +83 -83
  37. package/dist/{error-entries-Bv6bZPF3.js → error-entries-DgK3wUJR.js} +5728 -5638
  38. package/dist/{feedback-button-B3Wrnsf_.js → feedback-button-8a6SETmT.js} +23 -23
  39. package/dist/{flowDiagram-HODETNUW-3EfLrlFb.js → flowDiagram-HODETNUW-Uxc25XSJ.js} +2 -2
  40. package/dist/{formats-27CW_UP4.js → formats-DQCyPd5Z.js} +3 -3
  41. package/dist/{ganttDiagram-EL5Y4UJY-BQT16JSc.js → ganttDiagram-EL5Y4UJY-Dh_4cBJZ.js} +2 -2
  42. package/dist/{glide-data-editor-BDYKJdqK.js → glide-data-editor-B70oke_v.js} +370 -368
  43. package/dist/{glide-utils-DJyqh0EM.js → glide-utils-Dz_F4pAY.js} +16 -16
  44. package/dist/{globals-DGTE1S0_.js → globals-Cxd5hNlI.js} +3 -3
  45. package/dist/{highlighted-body-KPVGNVTW-zwjq21tf.js → highlighted-body-KPVGNVTW-3Ziwfz-V.js} +2 -2
  46. package/dist/{html-to-image-Bf8QMGi4.js → html-to-image-D4yG5Ru0.js} +631 -594
  47. package/dist/{infoDiagram-27XIBGKW-DipQoHxl.js → infoDiagram-27XIBGKW-DmjxqwL0.js} +1 -1
  48. package/dist/{ishikawaDiagram-5VMMS53U-DgFMjSGz.js → ishikawaDiagram-5VMMS53U-NgCLHqQi.js} +1 -1
  49. package/dist/{kanban-definition-UXKFOSKX-w1ACVjgl.js → kanban-definition-UXKFOSKX-CZaG-iam.js} +1 -1
  50. package/dist/{label-BDKF3Afc.js → label-D9_-zSg-.js} +3 -3
  51. package/dist/{linear-Cnaq3Tfb.js → linear-DWERh7eI.js} +121 -73
  52. package/dist/{loader-BQOfjTIJ.js → loader-DOVB0Syl.js} +12 -12
  53. package/dist/main.js +7689 -7342
  54. package/dist/{mermaid-CHo49Yv-.js → mermaid-CSvw7c71.js} +38 -38
  55. package/dist/mermaid-HWGCJPDP-Du3-HPQA.js +2 -0
  56. package/dist/{mindmap-definition-YA3MSWOX-CrT0KSfX.js → mindmap-definition-YA3MSWOX-DJYQBDH_.js} +1 -1
  57. package/dist/{number-overlay-editor-S8UJY0i5.js → number-overlay-editor-ChK-SKUk.js} +3 -3
  58. package/dist/{objects-CzUgoMIF.js → objects-DCmMvZtn.js} +1 -3
  59. package/dist/{once-BtE-wKRL.js → once-eG8Vmvjd.js} +1 -1
  60. package/dist/{pegDiagram-XKGWAZYB-BqvywNJA.js → pegDiagram-XKGWAZYB-CHKO_dAe.js} +2 -2
  61. package/dist/{pieDiagram-E7YTZNPT-BfxJ_XCc.js → pieDiagram-E7YTZNPT-DVevbMAo.js} +1 -1
  62. package/dist/precisionRound-DhAzeRcm.js +49 -0
  63. package/dist/{process-output-BZg56CCb.js → process-output-DxvBAeL3.js} +4 -4
  64. package/dist/{quadrantDiagram-AXDQQJYC-Ccw0xMjN.js → quadrantDiagram-AXDQQJYC-Blrm7V7_.js} +1 -1
  65. package/dist/{railroadDiagram-O6MQD6OU-8vFLVTPu.js → railroadDiagram-O6MQD6OU-Detj1kcB.js} +2 -2
  66. package/dist/{react-vega-BED0DjiB.js → react-vega-C4T9Rb_w.js} +12284 -12270
  67. package/dist/{requirementDiagram-BXWQKSXE-a_MxGvxe.js → requirementDiagram-BXWQKSXE-BLFD0T_Z.js} +1 -1
  68. package/dist/{reveal-component-De4Pvf4V.js → reveal-component-CXMXeDZD.js} +14 -14
  69. package/dist/{select-BButFi-d.js → select-CkF_GBxO.js} +537 -458
  70. package/dist/{sequenceDiagram-WJ2MYXX4-CXFMnxGh.js → sequenceDiagram-WJ2MYXX4-BZBgatQV.js} +1 -1
  71. package/dist/{spec-BwarBpUJ.js → spec-Mnkn3XEr.js} +41 -11
  72. package/dist/{stateDiagram-D77RDMKH-DQeA_CwI.js → stateDiagram-D77RDMKH-4BZW9-6_.js} +2 -2
  73. package/dist/{stateDiagram-v2-MP3YSRHH-BxxQucm1.js → stateDiagram-v2-MP3YSRHH-C4sKC8Iq.js} +2 -2
  74. package/dist/style.css +1 -1
  75. package/dist/{swimlanes-42K2YHIH-Do6L-cYg.js → swimlanes-42K2YHIH-SL5yeGe2.js} +1 -1
  76. package/dist/{swimlanesDiagram-VR7AAH4N-DUzPvSVU.js → swimlanesDiagram-VR7AAH4N-DqPmAYUv.js} +2 -2
  77. package/dist/{swiper-component-DKntyn8p.js → swiper-component-BkCm-kLg.js} +2 -2
  78. package/dist/{time-BieKwdYS.js → time-BaMbJs4z.js} +18 -18
  79. package/dist/{timeline-definition-24CTP7MA-D3c46WM5.js → timeline-definition-24CTP7MA-BfXUMWkq.js} +1 -1
  80. package/dist/{toDate-UtiwmnH2.js → toDate-TMubKIVL.js} +37 -36
  81. package/dist/{toast-B9UMEi8u.js → toast-Btbve3Lm.js} +231 -213
  82. package/dist/{tooltip-BO1REbqs.js → tooltip-CJ4Rqasp.js} +327 -303
  83. package/dist/{use-restore-focus-BEM7sFWl.js → use-restore-focus-CmGwRNId.js} +1482 -1433
  84. package/dist/{useAsyncData-Deh5kszT.js → useAsyncData-DjMGFzFy.js} +15 -14
  85. package/dist/{useDateFormatter-D8XruNGG.js → useDateFormatter-eCL_SdeG.js} +2 -2
  86. package/dist/{useDeepCompareMemoize-DXwzRINI.js → useDeepCompareMemoize-BQR5TJot.js} +1 -1
  87. package/dist/{useIframeCapabilities-DBETvvPl.js → useIframeCapabilities-CSdWn6NP.js} +1 -1
  88. package/dist/{useLifecycle-j7D9uD1o.js → useLifecycle-C_GvKWbQ.js} +28 -25
  89. package/dist/{useTheme-CRnjkku0.js → useTheme-Bns2gJZ6.js} +224 -220
  90. package/dist/{vega-component-BeF9dfyO.js → vega-component-BsVptuhz.js} +148 -148
  91. package/dist/{vega-embed-container-BNHE18G9.js → vega-embed-container--LYZqguO.js} +2 -2
  92. package/dist/{vega-loader.browser-DNST6uVf.js → vega-loader.browser-B9Pz0EGP.js} +298 -507
  93. package/dist/{vennDiagram-4TSXK5OY-BSZD8JcZ.js → vennDiagram-4TSXK5OY-CH65znGa.js} +1 -1
  94. package/dist/{wardleyDiagram-VM6X3IG4-48cUWkfA.js → wardleyDiagram-VM6X3IG4-z9pWKb2_.js} +1 -1
  95. package/dist/{xychartDiagram-S5SC5T6Z-CswYgYeu.js → xychartDiagram-S5SC5T6Z-MxyaWjjq.js} +2 -2
  96. package/package.json +16 -16
  97. package/src/__mocks__/requests.ts +0 -1
  98. package/src/__tests__/module-entry.test.ts +44 -0
  99. package/src/__tests__/mount.test.ts +1 -21
  100. package/src/__tests__/{host-imports.test.ts → replica-imports.test.ts} +12 -11
  101. package/src/components/ai/__tests__/ai-model-dropdown.test.tsx +63 -0
  102. package/src/components/ai/ai-model-dropdown.tsx +11 -6
  103. package/src/components/app-config/ai-config.tsx +7 -2
  104. package/src/components/app-config/user-config-form.tsx +35 -0
  105. package/src/components/chat/__tests__/message-queue.test.tsx +17 -0
  106. package/src/components/chat/acp/__tests__/session-tabs.test.tsx +43 -0
  107. package/src/components/chat/acp/__tests__/state.test.ts +2 -2
  108. package/src/components/chat/acp/blocks.tsx +3 -2
  109. package/src/components/chat/acp/session-tabs.tsx +8 -3
  110. package/src/components/chat/chat-components.tsx +2 -0
  111. package/src/components/chat/chat-panel.tsx +9 -8
  112. package/src/components/chat/chat-utils.ts +4 -8
  113. package/src/components/data-table/TableBottomBar.tsx +4 -1
  114. package/src/components/data-table/TableTopBar.tsx +2 -0
  115. package/src/components/data-table/__tests__/chart-spec-model.test.ts +195 -195
  116. package/src/components/data-table/__tests__/column-explorer.test.tsx +27 -1
  117. package/src/components/data-table/__tests__/columns.test.tsx +105 -0
  118. package/src/components/data-table/__tests__/context-menu-interaction.test.tsx +130 -0
  119. package/src/components/data-table/__tests__/data-table.test.tsx +1 -0
  120. package/src/components/data-table/__tests__/date-popover.test.tsx +72 -0
  121. package/src/components/data-table/__tests__/export-actions.test.tsx +105 -0
  122. package/src/components/data-table/__tests__/keyboard-selection.test.tsx +188 -0
  123. package/src/components/data-table/__tests__/pagination.test.tsx +28 -1
  124. package/src/components/data-table/__tests__/search-highlight.test.tsx +109 -0
  125. package/src/components/data-table/__tests__/url-detector.test.tsx +74 -0
  126. package/src/components/data-table/cell-selection/feature.ts +2 -2
  127. package/src/components/data-table/cell-selection/types.ts +2 -2
  128. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  129. package/src/components/data-table/charts/__tests__/spec-snapshot.test.ts +20 -20
  130. package/src/components/data-table/charts/__tests__/spec.test.ts +78 -52
  131. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  132. package/src/components/data-table/charts/chart-spec/spec.ts +68 -43
  133. package/src/components/data-table/charts/charts.tsx +40 -30
  134. package/src/components/data-table/charts/storage.ts +16 -5
  135. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  136. package/src/components/data-table/column-summary/chart-spec-model.tsx +23 -16
  137. package/src/components/data-table/column-summary/column-summary.tsx +2 -4
  138. package/src/components/data-table/column-visibility-dropdown.tsx +8 -13
  139. package/src/components/data-table/columns.tsx +45 -46
  140. package/src/components/data-table/context-menu.tsx +36 -20
  141. package/src/components/data-table/data-table.tsx +17 -1
  142. package/src/components/data-table/date-popover.tsx +6 -4
  143. package/src/components/data-table/export-actions.tsx +76 -48
  144. package/src/components/data-table/pagination.tsx +44 -33
  145. package/src/components/data-table/range-focus/atoms.ts +4 -6
  146. package/src/components/data-table/range-focus/use-cell-range-selection.ts +65 -38
  147. package/src/components/data-table/range-focus/use-scroll-into-view.ts +21 -2
  148. package/src/components/data-table/renderers.tsx +16 -7
  149. package/src/components/data-table/row-viewer-panel/__tests__/row-viewer.test.tsx +24 -1
  150. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +4 -4
  151. package/src/components/data-table/search-highlight.tsx +79 -0
  152. package/src/components/data-table/types.ts +1 -0
  153. package/src/components/data-table/url-detector.tsx +49 -9
  154. package/src/components/datasources/__tests__/column-actions.test.tsx +97 -0
  155. package/src/components/datasources/__tests__/column-preview.test.tsx +98 -5
  156. package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
  157. package/src/components/datasources/__tests__/table-list.test.tsx +118 -0
  158. package/src/components/datasources/__tests__/utils.test.ts +57 -6
  159. package/src/components/datasources/column-preview.tsx +13 -4
  160. package/src/components/datasources/datasources.tsx +51 -39
  161. package/src/components/datasources/utils.ts +32 -23
  162. package/src/components/debugger/debugger-code.tsx +5 -0
  163. package/src/components/dependency-graph/dependency-graph-tree.tsx +8 -8
  164. package/src/components/dependency-graph/elements.ts +24 -21
  165. package/src/components/dependency-graph/panels.tsx +2 -1
  166. package/src/components/dependency-graph/utils/__tests__/layout.test.ts +18 -11
  167. package/src/components/editor/SortableCell.tsx +1 -3
  168. package/src/{core/attachments/__tests__/toast.test.tsx → components/editor/__tests__/agent-toast.test.tsx} +1 -1
  169. package/src/components/editor/__tests__/data-attributes.test.tsx +6 -2
  170. package/src/components/editor/__tests__/dynamic-favicon.test.tsx +111 -18
  171. package/src/components/editor/__tests__/package-alert.test.tsx +22 -1
  172. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +24 -0
  173. package/src/components/editor/actions/pair-with-agent-modal.tsx +18 -15
  174. package/src/components/editor/actions/useRestartKernel.tsx +1 -1
  175. package/src/components/editor/ai/add-cell-with-ai.tsx +3 -3
  176. package/src/components/editor/ai/ai-completion-editor.tsx +1 -0
  177. package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +1 -1
  178. package/src/components/editor/alerts/connection-notice.tsx +1 -1
  179. package/src/components/editor/alerts/startup-logs-alert.tsx +1 -0
  180. package/src/components/editor/app-container.tsx +1 -1
  181. package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +1 -1
  182. package/src/components/editor/cell/CreateCellButton.tsx +10 -12
  183. package/src/components/editor/cell/DeleteButton.tsx +3 -2
  184. package/src/components/editor/cell/RunButton.tsx +2 -2
  185. package/src/components/editor/cell/StagedAICell.tsx +10 -2
  186. package/src/components/editor/cell/StopButton.tsx +2 -2
  187. package/src/components/editor/cell/__tests__/useShouldShowInterrupt.test.ts +39 -0
  188. package/src/components/editor/cell/code/__tests__/language-toggle.test.tsx +54 -0
  189. package/src/components/editor/cell/code/cell-editor.tsx +9 -16
  190. package/src/components/editor/cell/code/language-toggle.tsx +8 -7
  191. package/src/components/editor/cell/collapse.tsx +5 -3
  192. package/src/components/editor/cell/useShouldShowInterrupt.ts +2 -12
  193. package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +1 -1
  194. package/src/components/editor/chrome/components/feedback-button.tsx +1 -1
  195. package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +31 -2
  196. package/src/components/editor/chrome/panels/__tests__/runtime-details.test.tsx +1 -1
  197. package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +1 -1
  198. package/src/components/editor/chrome/panels/cache-panel.tsx +1 -0
  199. package/src/components/editor/chrome/panels/outline/__tests__/outline-keyboard.test.tsx +84 -0
  200. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +39 -14
  201. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +3 -2
  202. package/src/components/editor/chrome/panels/packages-panel.tsx +4 -7
  203. package/src/components/editor/chrome/panels/secrets-panel.tsx +1 -0
  204. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -1
  205. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +9 -18
  206. package/src/components/editor/chrome/wrapper/__tests__/document-sync-status.test.tsx +92 -0
  207. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +58 -1
  208. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +4 -4
  209. package/src/components/editor/chrome/wrapper/footer-items/backend-status.tsx +1 -1
  210. package/src/components/editor/chrome/wrapper/footer-items/document-sync-status.tsx +54 -0
  211. package/src/components/editor/chrome/wrapper/footer-items/lsp-status.tsx +1 -1
  212. package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +1 -1
  213. package/src/components/editor/chrome/wrapper/footer-items/runtime-settings.tsx +1 -7
  214. package/src/components/editor/chrome/wrapper/footer.tsx +2 -0
  215. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +12 -2
  216. package/src/components/editor/chrome/wrapper/storage.ts +1 -1
  217. package/src/components/editor/connections/components.tsx +1 -1
  218. package/src/components/editor/controls/Controls.tsx +2 -2
  219. package/src/components/editor/controls/__tests__/command-palette.test.tsx +53 -0
  220. package/src/components/editor/controls/__tests__/keyboard-shortcuts.test.tsx +61 -0
  221. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +1 -1
  222. package/src/components/editor/controls/command-palette.tsx +22 -10
  223. package/src/components/editor/controls/keyboard-shortcuts.tsx +14 -5
  224. package/src/components/editor/dynamic-favicon.tsx +21 -40
  225. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +9 -23
  226. package/src/components/editor/errors/send-error-report-button.tsx +3 -6
  227. package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +6 -0
  228. package/src/components/editor/file-tree/__tests__/file-explorer-navigation.test.tsx +47 -0
  229. package/src/components/editor/file-tree/__tests__/use-file-search.test.tsx +91 -0
  230. package/src/components/editor/file-tree/file-explorer.tsx +45 -8
  231. package/src/components/editor/file-tree/file-name-input.tsx +1 -0
  232. package/src/components/editor/file-tree/file-viewer.tsx +4 -2
  233. package/src/components/editor/file-tree/use-file-search.ts +35 -21
  234. package/src/components/editor/header/__tests__/status.test.tsx +5 -3
  235. package/src/components/editor/header/app-header.tsx +1 -1
  236. package/src/components/editor/header/status.tsx +40 -20
  237. package/src/components/editor/links/__tests__/cell-link.test.tsx +146 -0
  238. package/src/components/editor/links/cell-link.tsx +14 -5
  239. package/src/components/editor/navigation/focus-utils.ts +4 -4
  240. package/src/components/editor/notebook-banner.tsx +1 -0
  241. package/src/components/editor/notebook-cell.tsx +12 -3
  242. package/src/components/editor/output/MarimoErrorOutput.tsx +2 -1
  243. package/src/components/editor/output/MarimoTracebackOutput.tsx +19 -17
  244. package/src/components/editor/output/Outputs.css +8 -0
  245. package/src/components/editor/output/__tests__/traceback.test.tsx +27 -1
  246. package/src/components/editor/output/ansi-reduce.ts +33 -20
  247. package/src/components/editor/output/console/ConsoleOutput.tsx +19 -25
  248. package/src/components/editor/package-alert.tsx +14 -7
  249. package/src/components/editor/renderers/grid-layout/grid-layout.tsx +12 -6
  250. package/src/components/editor/renderers/vertical-layout/sidebar/toggle.tsx +7 -1
  251. package/src/components/home/components.tsx +17 -31
  252. package/src/components/icons/__tests__/large-spinner.test.tsx +39 -0
  253. package/src/components/icons/large-spinner.tsx +3 -14
  254. package/src/components/icons/spinner.tsx +1 -1
  255. package/src/components/mcp/mcp-status-indicator.tsx +1 -1
  256. package/src/components/pages/__tests__/home-page.test.tsx +116 -0
  257. package/src/components/pages/home-page.tsx +164 -91
  258. package/src/components/scratchpad/scratchpad.test.tsx +95 -0
  259. package/src/components/scratchpad/scratchpad.tsx +16 -3
  260. package/src/components/slides/reveal-component.tsx +4 -2
  261. package/src/components/slides/slide-cell-view.tsx +1 -1
  262. package/src/components/slides/slide-form.tsx +1 -0
  263. package/src/components/tracing/tracing-keyboard.test.tsx +85 -0
  264. package/src/components/tracing/tracing.tsx +45 -41
  265. package/src/components/ui/__tests__/draggable-popover.test.tsx +24 -0
  266. package/src/components/ui/__tests__/range-slider.test.tsx +165 -0
  267. package/src/components/ui/alert-dialog.tsx +1 -1
  268. package/src/components/ui/draggable-popover.tsx +24 -2
  269. package/src/components/ui/range-slider.tsx +22 -9
  270. package/src/core/ai/__tests__/staged-cells.test.ts +8 -5
  271. package/src/core/ai/context/providers/datasource.ts +6 -2
  272. package/src/core/ai/staged-cells.ts +7 -2
  273. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +3 -15
  274. package/src/core/ai/tools/base.ts +16 -7
  275. package/src/core/ai/tools/edit-notebook-tool.ts +61 -48
  276. package/src/core/ai/tools/registry.ts +13 -8
  277. package/src/core/ai/tools/sample-tool.ts +6 -7
  278. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  279. package/src/core/cells/__tests__/cell.test.ts +39 -0
  280. package/src/core/cells/__tests__/cells.test.ts +3 -298
  281. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  282. package/src/core/cells/__tests__/document.test.ts +410 -0
  283. package/src/core/cells/__tests__/flush-document.test.ts +40 -0
  284. package/src/core/cells/__tests__/notebook-outline.test.ts +108 -0
  285. package/src/core/cells/__tests__/session.test.ts +117 -36
  286. package/src/core/cells/__tests__/with-document-save.test.ts +67 -0
  287. package/src/core/cells/cell.ts +14 -3
  288. package/src/core/cells/cells.ts +30 -159
  289. package/src/core/cells/columns.ts +38 -0
  290. package/src/core/cells/document.ts +360 -0
  291. package/src/core/cells/pending-delete-service.ts +2 -6
  292. package/src/core/cells/session.ts +1 -1
  293. package/src/core/cells/types.ts +22 -1
  294. package/src/core/codemirror/__tests__/setup.test.ts +29 -29
  295. package/src/core/codemirror/ai/__tests__/resources.test.ts +117 -0
  296. package/src/core/codemirror/ai/resources.ts +1 -1
  297. package/src/core/codemirror/cells/__tests__/extensions.test.ts +42 -1
  298. package/src/core/codemirror/cells/extensions.ts +21 -3
  299. package/src/core/codemirror/format.ts +6 -5
  300. package/src/core/codemirror/keymaps/vim.ts +2 -6
  301. package/src/core/codemirror/language/__tests__/sql.test.ts +22 -20
  302. package/src/core/codemirror/language/__tests__/utils.test.ts +187 -15
  303. package/src/core/codemirror/language/cell-code.ts +114 -0
  304. package/src/core/codemirror/language/extension.ts +52 -35
  305. package/src/core/codemirror/language/languages/markdown.ts +8 -6
  306. package/src/core/codemirror/language/languages/python.ts +16 -10
  307. package/src/core/codemirror/language/languages/sql/sql.ts +16 -24
  308. package/src/core/codemirror/language/panel/panel.tsx +1 -0
  309. package/src/core/codemirror/language/types.ts +7 -7
  310. package/src/core/codemirror/language/utils.ts +9 -39
  311. package/src/core/codemirror/lsp/notebook-lsp.ts +6 -5
  312. package/src/core/codemirror/readonly/__tests__/extension.test.ts +1 -1
  313. package/src/core/codemirror/readonly/extension.ts +2 -2
  314. package/src/core/codemirror/rtc/extension.ts +24 -13
  315. package/src/core/codemirror/rtc/loro/awareness.ts +34 -19
  316. package/src/core/codemirror/rtc/loro/sync.ts +1 -0
  317. package/src/core/codemirror/utils.ts +1 -0
  318. package/src/core/config/__tests__/config-schema.test.ts +5 -3
  319. package/src/core/config/config-schema.ts +3 -0
  320. package/src/core/datasets/__tests__/data-source-discovery.test.ts +5 -5
  321. package/src/core/datasets/data-source-discovery.ts +4 -6
  322. package/src/core/edit-app.tsx +6 -5
  323. package/src/core/errors/error-entries.ts +3 -0
  324. package/src/core/export/hooks.ts +1 -1
  325. package/src/core/export/layout.ts +2 -2
  326. package/src/core/hotkeys/actions.ts +2 -4
  327. package/src/core/islands/__tests__/bootstrap.test.ts +16 -42
  328. package/src/core/islands/__tests__/bridge.test.ts +31 -26
  329. package/src/core/islands/bootstrap.ts +22 -52
  330. package/src/core/islands/bridge.ts +31 -21
  331. package/src/core/islands/components/__tests__/IslandControls.test.tsx +7 -5
  332. package/src/core/islands/worker/__tests__/controller.test.ts +62 -4
  333. package/src/core/islands/worker/controller.ts +4 -10
  334. package/src/core/islands/worker/worker.tsx +33 -33
  335. package/src/core/kernel/__tests__/RuntimeState.test.ts +1 -1
  336. package/src/core/network/__tests__/connection.test.ts +1 -1
  337. package/src/core/network/connection-notice.ts +1 -1
  338. package/src/core/network/connection.ts +5 -3
  339. package/src/core/network/requests-lazy.ts +1 -2
  340. package/src/core/network/requests-network.ts +0 -9
  341. package/src/core/network/requests-static.ts +0 -1
  342. package/src/core/network/requests-toasting.tsx +0 -1
  343. package/src/core/network/types.ts +0 -5
  344. package/src/core/network/useConnectionNotice.ts +8 -2
  345. package/src/core/notebook/attachments.ts +38 -0
  346. package/src/core/notebook/document/__tests__/codemirror.test.ts +547 -0
  347. package/src/core/notebook/document/__tests__/draft.test.ts +322 -0
  348. package/src/core/notebook/document/__tests__/fixtures.ts +92 -0
  349. package/src/core/notebook/document/__tests__/hold.test.ts +88 -0
  350. package/src/core/notebook/document/__tests__/hooks.test.tsx +391 -0
  351. package/src/core/notebook/document/__tests__/lifecycle-scenarios.test.ts +61 -0
  352. package/src/core/notebook/document/__tests__/model.test.ts +247 -0
  353. package/src/core/notebook/document/__tests__/protocol-fixtures.ts +38 -0
  354. package/src/core/notebook/document/__tests__/recovery-scenarios.test.ts +230 -0
  355. package/src/core/notebook/document/__tests__/scenario-fixture.ts +43 -0
  356. package/src/core/notebook/document/__tests__/scenarios.test.ts +205 -0
  357. package/src/core/notebook/document/__tests__/state.test.ts +438 -0
  358. package/src/core/notebook/document/__tests__/submission.test.ts +203 -0
  359. package/src/core/notebook/document/__tests__/test-host.test.ts +92 -0
  360. package/src/core/notebook/document/__tests__/test-host.ts +247 -0
  361. package/src/core/notebook/document/__tests__/test-notebook.ts +149 -0
  362. package/src/core/notebook/document/__tests__/user.ts +61 -0
  363. package/src/core/notebook/document/codemirror.ts +216 -0
  364. package/src/core/notebook/document/draft.ts +472 -0
  365. package/src/core/notebook/document/hooks.tsx +118 -0
  366. package/src/core/notebook/document/index.ts +23 -0
  367. package/src/core/notebook/document/model.ts +105 -0
  368. package/src/core/notebook/document/select.ts +41 -0
  369. package/src/core/notebook/document/state.ts +374 -0
  370. package/src/core/notebook/document/sync.ts +418 -0
  371. package/src/core/notebook/index.ts +18 -0
  372. package/src/core/notebook/replica/AGENTS.md +11 -0
  373. package/src/core/notebook/replica/__tests__/attachments.test.ts +56 -0
  374. package/src/core/notebook/replica/__tests__/document.test.ts +126 -0
  375. package/src/core/notebook/replica/__tests__/fixtures.ts +79 -0
  376. package/src/core/notebook/replica/__tests__/replica.test.ts +550 -0
  377. package/src/core/notebook/replica/backend.ts +19 -0
  378. package/src/core/notebook/replica/connection.ts +42 -0
  379. package/src/core/notebook/replica/index.ts +13 -0
  380. package/src/core/notebook/replica/replica.ts +286 -0
  381. package/src/core/notebook/replica/resources/attachments.ts +22 -0
  382. package/src/core/notebook/replica/resources/document.ts +101 -0
  383. package/src/core/packages/__tests__/useSandboxController.test.tsx +1 -1
  384. package/src/core/packages/useSandboxController.ts +1 -1
  385. package/src/core/run-app.tsx +47 -44
  386. package/src/core/runtime/__tests__/adapter.test.ts +1 -1
  387. package/src/core/runtime/__tests__/createWsUrl.test.ts +77 -7
  388. package/src/core/runtime/__tests__/runtime.test.ts +32 -58
  389. package/src/core/runtime/adapter.ts +1 -1
  390. package/src/core/runtime/config.ts +2 -2
  391. package/src/core/runtime/runtime.ts +38 -42
  392. package/src/core/runtime/types.ts +0 -2
  393. package/src/core/saving/filename.ts +1 -1
  394. package/src/core/saving/save-component.tsx +10 -4
  395. package/src/core/saving/useAutoSave.ts +1 -1
  396. package/src/core/session/__tests__/backend.test.ts +235 -0
  397. package/src/core/session/__tests__/useNotebookReplica.hook.test.tsx +183 -0
  398. package/src/core/session/__tests__/useNotebookSession.hook.test.tsx +669 -0
  399. package/src/core/session/active-notebook.ts +11 -0
  400. package/src/core/session/backend.ts +125 -0
  401. package/src/core/{websocket → session}/types.ts +2 -2
  402. package/src/core/session/useNotebookReplica.ts +72 -0
  403. package/src/core/{websocket → session}/useNotebookSession.tsx +56 -43
  404. package/src/core/state/__tests__/jotai.test.tsx +108 -0
  405. package/src/core/state/jotai.ts +1 -1
  406. package/src/core/static/__tests__/files.test.ts +38 -10
  407. package/src/core/static/files.ts +2 -0
  408. package/src/core/{websocket → transports}/__tests__/connection-state.test.ts +1 -13
  409. package/src/core/transports/__tests__/server.test.ts +408 -0
  410. package/src/core/transports/__tests__/static.test.ts +175 -0
  411. package/src/core/transports/__tests__/wasm.test.ts +166 -0
  412. package/src/core/{websocket → transports}/connection-state.ts +9 -16
  413. package/src/core/transports/server.ts +152 -0
  414. package/src/core/transports/static.ts +84 -0
  415. package/src/core/transports/wasm.ts +97 -0
  416. package/src/core/wasm/__tests__/bridge.test.ts +213 -50
  417. package/src/core/wasm/__tests__/worker.test.ts +187 -0
  418. package/src/core/wasm/bridge.ts +75 -53
  419. package/src/core/wasm/rpc.ts +15 -3
  420. package/src/core/wasm/store.ts +3 -3
  421. package/src/core/wasm/worker/bootstrap.ts +55 -51
  422. package/src/core/wasm/worker/getMarimoWheel.ts +1 -1
  423. package/src/core/wasm/worker/save-worker.ts +9 -10
  424. package/src/core/wasm/worker/types.ts +29 -18
  425. package/src/core/wasm/worker/worker.ts +88 -44
  426. package/src/css/globals.css +10 -0
  427. package/src/hooks/__tests__/useAsyncData.test.tsx +148 -0
  428. package/src/hooks/__tests__/useDebounce.test.tsx +51 -0
  429. package/src/hooks/__tests__/useDeepCompareMemoize.test.tsx +39 -0
  430. package/src/hooks/__tests__/useDelayElapsed.test.tsx +28 -0
  431. package/src/hooks/__tests__/useInternalStateWithSync.test.tsx +20 -0
  432. package/src/hooks/__tests__/useScript.test.tsx +77 -0
  433. package/src/hooks/__tests__/useStateForKey.test.tsx +257 -0
  434. package/src/hooks/useAsyncData.ts +3 -3
  435. package/src/hooks/useDataSourceDiscovery.ts +6 -4
  436. package/src/hooks/useDebounce.ts +6 -10
  437. package/src/hooks/useDeepCompareMemoize.ts +1 -1
  438. package/src/hooks/useDelayElapsed.ts +14 -10
  439. package/src/hooks/useElapsedTime.ts +3 -3
  440. package/src/hooks/useEventListener.ts +1 -2
  441. package/src/hooks/useInputHistory.ts +4 -7
  442. package/src/hooks/useInternalStateWithSync.ts +6 -6
  443. package/src/hooks/useResizeObserver.ts +4 -7
  444. package/src/hooks/useScript.ts +67 -70
  445. package/src/hooks/useStateForKey.ts +93 -0
  446. package/src/mount.tsx +1 -5
  447. package/src/plugins/__tests__/plugin-object-schemas.test.ts +104 -0
  448. package/src/plugins/core/registerReactComponent.tsx +1 -1
  449. package/src/plugins/impl/CodeEditorPlugin.tsx +1 -1
  450. package/src/plugins/impl/DataEditorPlugin.tsx +1 -1
  451. package/src/plugins/impl/DataTablePlugin.tsx +69 -37
  452. package/src/plugins/impl/DropdownPlugin.tsx +2 -6
  453. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -16
  454. package/src/plugins/impl/FormPlugin.tsx +1 -1
  455. package/src/plugins/impl/RangeSliderPlugin.tsx +16 -2
  456. package/src/plugins/impl/RefreshPlugin.tsx +1 -0
  457. package/src/plugins/impl/SliderPlugin.tsx +6 -8
  458. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +387 -1
  459. package/src/plugins/impl/__tests__/FileBrowserPlugin.test.tsx +45 -0
  460. package/src/plugins/impl/__tests__/RangeSliderPlugin.test.tsx +109 -0
  461. package/src/plugins/impl/__tests__/SliderPlugin.test.tsx +24 -3
  462. package/src/plugins/impl/anywidget/__tests__/registry.test.ts +153 -0
  463. package/src/plugins/impl/anywidget/__tests__/widget-binding.test.ts +241 -2
  464. package/src/plugins/impl/anywidget/model.ts +3 -1
  465. package/src/plugins/impl/anywidget/registry.ts +18 -14
  466. package/src/plugins/impl/anywidget/runtime.ts +21 -9
  467. package/src/plugins/impl/anywidget/widget-binding.ts +160 -82
  468. package/src/plugins/impl/chat/__tests__/chat-prompts.test.tsx +93 -0
  469. package/src/plugins/impl/chat/chat-ui.tsx +14 -11
  470. package/src/plugins/impl/code/any-language-editor.tsx +2 -2
  471. package/src/plugins/impl/data-editor/glide-data-editor.tsx +8 -5
  472. package/src/plugins/impl/data-editor/glide-utils.ts +3 -1
  473. package/src/plugins/impl/data-explorer/ConnectedDataExplorerComponent.tsx +1 -1
  474. package/src/plugins/impl/data-explorer/components/column-summary.tsx +4 -2
  475. package/src/plugins/impl/data-explorer/state/reducer.ts +1 -1
  476. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -2
  477. package/src/plugins/impl/data-frames/__tests__/sidebar.test.tsx +160 -0
  478. package/src/plugins/impl/data-frames/forms/__tests__/__snapshots__/form.test.tsx.snap +66 -66
  479. package/src/plugins/impl/data-frames/panel.tsx +43 -16
  480. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +5 -3
  481. package/src/plugins/impl/panel/PanelPlugin.tsx +16 -17
  482. package/src/plugins/impl/panel/__tests__/utils.test.ts +39 -1
  483. package/src/plugins/impl/panel/utils.ts +17 -0
  484. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +2 -5
  485. package/src/plugins/impl/plotly/selection.ts +25 -19
  486. package/src/plugins/impl/vega/VegaPlugin.tsx +2 -3
  487. package/src/plugins/impl/vega/make-selectable.ts +4 -7
  488. package/src/plugins/layout/RoutesPlugin.tsx +1 -1
  489. package/src/stories/__tests__/editor-story.test.tsx +33 -0
  490. package/src/stories/button.stories.tsx +1 -0
  491. package/src/stories/cell.stories.tsx +1 -1
  492. package/src/stories/data-table.stories.tsx +31 -0
  493. package/src/stories/editor.stories.tsx +24 -17
  494. package/src/stories/form-wrapper.stories.tsx +2 -2
  495. package/src/stories/layout/vertical/one-column.stories.tsx +1 -1
  496. package/src/stories/runtime-story.tsx +1 -1
  497. package/src/stories/select.stories.tsx +2 -2
  498. package/src/stories/switchable-multi-select.stories.tsx +1 -1
  499. package/src/utils/__tests__/arrays.test.ts +35 -0
  500. package/src/utils/__tests__/batch-requests.test.ts +3 -3
  501. package/src/utils/__tests__/{createReducer.test.ts → createReducer.test.tsx} +29 -0
  502. package/src/utils/__tests__/numbers.test.ts +105 -1
  503. package/src/utils/__tests__/objects.test.ts +21 -0
  504. package/src/utils/arrays.ts +11 -2
  505. package/src/utils/blob.ts +1 -1
  506. package/src/utils/createReducer.ts +53 -26
  507. package/src/utils/maps.ts +0 -3
  508. package/src/utils/numbers.ts +79 -18
  509. package/src/utils/objects.ts +4 -9
  510. package/src/utils/once.ts +19 -19
  511. package/src/utils/tracer.ts +9 -5
  512. package/src/utils/zod-utils.ts +1 -3
  513. package/dist/any-language-editor-DZ_YTVus.js +0 -76
  514. package/dist/assets/__vite-browser-external-BXYkiFsk.js +0 -1
  515. package/dist/assets/worker-HPY9fbhz.js +0 -114
  516. package/dist/mermaid-HWGCJPDP-ByCsZnYF.js +0 -2
  517. package/dist/precisionRound-DMIVQrt2.js +0 -97
  518. package/src/core/attachments/state.ts +0 -21
  519. package/src/core/cells/__tests__/apply-transaction.test.ts +0 -991
  520. package/src/core/cells/__tests__/document-changes.test.ts +0 -1140
  521. package/src/core/cells/__tests__/document-roundtrip.test.ts +0 -392
  522. package/src/core/cells/document-changes.ts +0 -944
  523. package/src/core/host/AGENTS.md +0 -6
  524. package/src/core/host/__tests__/events.test.ts +0 -46
  525. package/src/core/host/__tests__/notebook-client.test.ts +0 -191
  526. package/src/core/host/__tests__/protocol.test.ts +0 -214
  527. package/src/core/host/connection.ts +0 -81
  528. package/src/core/host/events.ts +0 -60
  529. package/src/core/host/notebook-client.ts +0 -226
  530. package/src/core/host/protocol.ts +0 -1943
  531. package/src/core/state/__tests__/jotai.test.ts +0 -25
  532. package/src/core/wasm/worker/message-buffer.ts +0 -33
  533. package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
  534. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +0 -140
  535. package/src/core/websocket/__tests__/useNotebookSession.hook.test.tsx +0 -883
  536. package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
  537. package/src/core/websocket/transports/__tests__/sse.test.ts +0 -335
  538. package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
  539. package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
  540. package/src/core/websocket/transports/basic.ts +0 -102
  541. package/src/core/websocket/transports/create.ts +0 -31
  542. package/src/core/websocket/transports/sse.ts +0 -308
  543. package/src/core/websocket/transports/transport.ts +0 -50
  544. package/src/core/websocket/transports/ws.ts +0 -98
  545. package/src/core/websocket/useNotebookClient.ts +0 -80
  546. /package/src/{core/attachments/toast.ts → components/editor/agent-toast.ts} +0 -0
  547. /package/src/core/{websocket → session}/connection-utils.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import { a as e, r as t } from "./rolldown-runtime-Cb76FRpK.js";
2
- import { a as n, g as r, s as i } from "./button-CvjkwdSk.js";
2
+ import { a as n, g as r, s as i } from "./button-BQRdqQi1.js";
3
3
  import { t as a } from "./react-sHtZdjeP.js";
4
4
  import { t as o } from "./compiler-runtime-CldRdSsv.js";
5
- import { C as s, F as c, L as l, M as u, O as d, P as f, S as p, j as m, v as h } from "./use-restore-focus-BEM7sFWl.js";
5
+ import { C as s, F as c, L as l, M as u, O as d, P as f, S as p, j as m, v as h } from "./use-restore-focus-CmGwRNId.js";
6
6
  import { l as g, t as _ } from "./_baseMerge-BiGRwuqv.js";
7
7
  //#region ../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/mergeWith.js
8
8
  var v = g(function(e, t, n, r) {
@@ -22,94 +22,52 @@ function S() {
22
22
  throw Error("INVALID_USEEVENT_INVOCATION: the callback from useEvent cannot be invoked before the component has mounted.");
23
23
  }
24
24
  //#endregion
25
- //#region ../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
26
- var C = o(), w = Object.prototype.hasOwnProperty;
27
- function T(e, t, n) {
28
- for (n of e.keys()) if (E(n, t)) return n;
29
- }
30
- function E(e, t) {
31
- var n, r, i;
32
- if (e === t) return !0;
33
- if (e && t && (n = e.constructor) === t.constructor) {
34
- if (n === Date) return e.getTime() === t.getTime();
35
- if (n === RegExp) return e.toString() === t.toString();
36
- if (n === Array) {
37
- if ((r = e.length) === t.length) for (; r-- && E(e[r], t[r]););
38
- return r === -1;
39
- }
40
- if (n === Set) {
41
- if (e.size !== t.size) return !1;
42
- for (r of e) if (i = r, i && typeof i == "object" && (i = T(t, i), !i) || !t.has(i)) return !1;
43
- return !0;
44
- }
45
- if (n === Map) {
46
- if (e.size !== t.size) return !1;
47
- for (r of e) if (i = r[0], i && typeof i == "object" && (i = T(t, i), !i) || !E(r[1], t.get(i))) return !1;
48
- return !0;
49
- }
50
- if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
51
- else if (n === DataView) {
52
- if ((r = e.byteLength) === t.byteLength) for (; r-- && e.getInt8(r) === t.getInt8(r););
53
- return r === -1;
54
- }
55
- if (ArrayBuffer.isView(e)) {
56
- if ((r = e.byteLength) === t.byteLength) for (; r-- && e[r] === t[r];);
57
- return r === -1;
58
- }
59
- if (!n || typeof e == "object") {
60
- for (n in r = 0, e) if (w.call(e, n) && ++r && !w.call(t, n) || !(n in t) || !E(e[n], t[n])) return !1;
61
- return Object.keys(t).length === r;
62
- }
63
- }
64
- return e !== e && t !== t;
65
- }
66
- //#endregion
67
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla/internals.mjs
68
- var D = /* @__PURE__ */ t({
69
- INTERNAL_addPendingPromiseToDependency: () => N,
70
- INTERNAL_buildStoreRev3: () => we,
71
- INTERNAL_getBuildingBlocksRev3: () => L,
72
- INTERNAL_getMountedOrPendingDependents: () => P,
73
- INTERNAL_hasInitialValue: () => O,
74
- INTERNAL_initializeStoreHooksRev3: () => re,
75
- INTERNAL_isActuallyWritableAtom: () => k,
76
- INTERNAL_isAtomStateInitialized: () => A,
77
- INTERNAL_isPromiseLike: () => M,
78
- INTERNAL_returnAtomValue: () => j,
79
- INTERNAL_shouldThrowSynchronously: () => te
25
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla/internals.mjs
26
+ var C = /* @__PURE__ */ t({
27
+ INTERNAL_addPendingPromiseToDependency: () => A,
28
+ INTERNAL_buildStoreRev3: () => Ce,
29
+ INTERNAL_getBuildingBlocksRev3: () => Se,
30
+ INTERNAL_getMountedOrPendingDependents: () => j,
31
+ INTERNAL_hasInitialValue: () => w,
32
+ INTERNAL_initializeStoreHooksRev3: () => te,
33
+ INTERNAL_isActuallyWritableAtom: () => T,
34
+ INTERNAL_isAtomStateInitialized: () => D,
35
+ INTERNAL_isPromiseLike: () => k,
36
+ INTERNAL_returnAtomValue: () => O,
37
+ INTERNAL_shouldThrowSynchronously: () => ee
80
38
  });
81
- function O(e) {
39
+ function w(e) {
82
40
  return "init" in e;
83
41
  }
84
- function k(e) {
42
+ function T(e) {
85
43
  return typeof e.write == "function";
86
44
  }
87
- function ee(e) {
45
+ function E(e) {
88
46
  return !!e.onMount;
89
47
  }
90
- function A(e) {
48
+ function D(e) {
91
49
  return "v" in e || "e" in e;
92
50
  }
93
- function j(e) {
51
+ function O(e) {
94
52
  if ("e" in e) throw e.e;
95
53
  return e.v;
96
54
  }
97
- function M(e) {
55
+ function k(e) {
98
56
  return typeof e?.then == "function";
99
57
  }
100
- function te(e) {
58
+ function ee(e) {
101
59
  if (!(e instanceof Error)) return !1;
102
60
  let t = e.name, n = e.message.toLowerCase();
103
61
  return (t === "RangeError" || t === "InternalError") && (n.includes("call stack") || n.includes("too much recursion") || n.includes("stack overflow"));
104
62
  }
105
- function N(e, t, n) {
63
+ function A(e, t, n) {
106
64
  if (!n.p.has(e)) {
107
65
  n.p.add(e);
108
66
  let r = () => n.p.delete(e);
109
67
  t.then(r, r);
110
68
  }
111
69
  }
112
- function P(e, t, n) {
70
+ function j(e, t, n) {
113
71
  let r = n.get(e)?.t, i = t.p;
114
72
  if (!r?.size) return i;
115
73
  if (!i.size) return r;
@@ -117,10 +75,10 @@ function P(e, t, n) {
117
75
  for (let e of i) a.add(e);
118
76
  return a;
119
77
  }
120
- var ne = () => {
78
+ var M = () => {
121
79
  let e = /* @__PURE__ */ new Set(), t = () => e.forEach((e) => e());
122
80
  return t.add = (t) => (e.add(t), () => e.delete(t)), t;
123
- }, F = () => {
81
+ }, N = () => {
124
82
  let e = {}, t = /* @__PURE__ */ new WeakMap(), n = (n) => {
125
83
  var r, i;
126
84
  (r = t.get(e)) == null || r.forEach((e) => e(n)), (i = t.get(n)) == null || i.forEach((e) => e());
@@ -132,13 +90,13 @@ var ne = () => {
132
90
  };
133
91
  }, n;
134
92
  };
135
- function re(e) {
136
- return e.i ||= F(), e.r ||= F(), e.c ||= F(), e.m ||= F(), e.u ||= F(), e.f ||= ne(), e;
93
+ function te(e) {
94
+ return e.i ||= N(), e.r ||= N(), e.c ||= N(), e.m ||= N(), e.u ||= N(), e.f ||= M(), e;
137
95
  }
138
- function ie(e) {
96
+ function P(e) {
139
97
  return !!e.INTERNAL_onInit;
140
98
  }
141
- var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r), se = (e, t, n) => n.INTERNAL_onInit(t), ce = (e, t, n, r) => n.onMount?.call(n, r), le = (e, t, n) => {
99
+ var ne = (e, t, n, ...r) => n.read(...r), re = (e, t, n, ...r) => n.write(...r), ie = (e, t, n) => n.INTERNAL_onInit(t), ae = (e, t, n, r) => n.onMount?.call(n, r), oe = (e, t, n) => {
142
100
  var r;
143
101
  let i = e[0], a = i.get(n);
144
102
  if (!a) {
@@ -147,10 +105,10 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
147
105
  d: /* @__PURE__ */ new Map(),
148
106
  p: /* @__PURE__ */ new Set(),
149
107
  n: 0
150
- }, i.set(n, a), (r = o.i) == null || r.call(o, n), ie(n) && s(e, t, n);
108
+ }, i.set(n, a), (r = o.i) == null || r.call(o, n), P(n) && s(e, t, n);
151
109
  }
152
110
  return a;
153
- }, ue = (e, t) => {
111
+ }, se = (e, t) => {
154
112
  let n = e[1], r = e[3], i = e[4], a = e[5], o = e[6], s = e[13];
155
113
  if (!o.f && !r.size && !i.size && !a.size) return;
156
114
  let c = [], l = (e) => {
@@ -176,7 +134,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
176
134
  r.size && s(e, t);
177
135
  } while (r.size || a.size || i.size);
178
136
  if (c.length) throw AggregateError(c);
179
- }, de = (e, t) => {
137
+ }, ce = (e, t) => {
180
138
  let n = e[1], r = e[2], i = e[3], a = e[11], o = e[14], s = e[17];
181
139
  if (!i.size) return;
182
140
  let c = [], l = [], u = /* @__PURE__ */ new WeakSet(), d = /* @__PURE__ */ new WeakSet(), f = [], p = [];
@@ -192,7 +150,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
192
150
  continue;
193
151
  }
194
152
  u.add(o);
195
- for (let r of P(o, s, n)) u.has(r) || (f.push(r), p.push(a(e, t, r)));
153
+ for (let r of j(o, s, n)) u.has(r) || (f.push(r), p.push(a(e, t, r)));
196
154
  }
197
155
  for (let n = c.length - 1; n >= 0; --n) {
198
156
  let a = c[n], u = l[n], d = !1;
@@ -202,10 +160,10 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
202
160
  }
203
161
  d && (r.set(a, u.n), o(e, t, a), s(e, t, a)), r.delete(a);
204
162
  }
205
- }, fe = (e, t, n) => {
163
+ }, le = (e, t, n) => {
206
164
  var r, i;
207
165
  let a = e[1], o = e[2], s = e[3], c = e[6], l = e[7], u = e[11], d = e[12], f = e[13], p = e[14], m = e[16], h = e[17], g = e[20], _ = e[26], v = e[28], y = u(e, t, n), b = v[0];
208
- if (A(y)) {
166
+ if (D(y)) {
209
167
  if (a.has(n) && o.get(n) !== y.n || y.m === b) return y.m = b, y;
210
168
  let r = !1;
211
169
  for (let [n, i] of y.d) if (p(e, t, n).n !== i) {
@@ -216,73 +174,73 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
216
174
  }
217
175
  let x = !0, S = new Set(y.d.keys()), C = () => {
218
176
  for (let e of S) y.d.delete(e);
219
- }, w = () => {
177
+ }, E = () => {
220
178
  if (a.has(n)) {
221
179
  let r = !s.size;
222
180
  h(e, t, n), r && (f(e, t), d(e, t));
223
181
  }
224
- }, T = (r) => {
182
+ }, j = (r) => {
225
183
  var i;
226
184
  if (r === n) {
227
185
  let n = u(e, t, r);
228
- if (!A(n)) {
229
- if (O(r)) g(e, t, r, r.init);
186
+ if (!D(n)) {
187
+ if (w(r)) g(e, t, r, r.init);
230
188
  else throw Error("no atom init");
231
189
  }
232
- return j(n);
190
+ return O(n);
233
191
  }
234
192
  let o = p(e, t, r);
235
193
  try {
236
- return j(o);
194
+ return O(o);
237
195
  } finally {
238
- S.delete(r), y.d.set(r, o.n), M(y.v) && N(n, y.v, o), a.has(n) && ((i = a.get(r)) == null || i.t.add(n)), x || w();
196
+ S.delete(r), y.d.set(r, o.n), k(y.v) && A(n, y.v, o), a.has(n) && ((i = a.get(r)) == null || i.t.add(n)), x || E();
239
197
  }
240
- }, E, D, ee = {
198
+ }, M, N, te = {
241
199
  get signal() {
242
- return E ||= new AbortController(), E.signal;
200
+ return M ||= new AbortController(), M.signal;
243
201
  },
244
202
  get setSelf() {
245
- return !D && k(n) && (D = (...r) => {
203
+ return !N && T(n) && (N = (...r) => {
246
204
  if (!x) try {
247
205
  return m(e, t, n, r);
248
206
  } finally {
249
207
  f(e, t), d(e, t);
250
208
  }
251
- }), D;
209
+ }), N;
252
210
  }
253
211
  }, P = y.n, ne = o.get(n) === P;
254
212
  try {
255
- let i = l(e, t, n, T, ee);
256
- if (g(e, t, n, i), M(i)) {
257
- _(e, t, i, () => E?.abort());
213
+ let i = l(e, t, n, j, te);
214
+ if (g(e, t, n, i), k(i)) {
215
+ _(e, t, i, () => M?.abort());
258
216
  let n = () => {
259
- C(), w();
217
+ C(), E();
260
218
  };
261
219
  i.then(n, n);
262
220
  } else C();
263
221
  return (r = c.r) == null || r.call(c, n), y.m = b, y;
264
222
  } catch (e) {
265
- if (te(e)) throw e;
223
+ if (ee(e)) throw e;
266
224
  return delete y.v, y.e = e, ++y.n, y.m = b, y;
267
225
  } finally {
268
226
  x = !1, y.n !== P && ne && (o.set(n, y.n), s.add(n), (i = c.c) == null || i.call(c, n));
269
227
  }
270
- }, pe = (e, t, n) => {
228
+ }, ue = (e, t, n) => {
271
229
  let r = e[1], i = e[2], a = e[11], o = [n];
272
230
  for (; o.length;) {
273
231
  let n = o.pop(), s = a(e, t, n);
274
- for (let c of P(n, s, r)) {
232
+ for (let c of j(n, s, r)) {
275
233
  let n = a(e, t, c);
276
234
  i.get(c) !== n.n && (i.set(c, n.n), o.push(c));
277
235
  }
278
236
  }
279
- }, me = (e, t, n, r) => {
280
- let i = e[3], a = e[6], o = e[8], s = e[11], c = e[12], l = e[13], u = e[14], d = e[15], f = e[16], p = e[17], m = e[20], h = e[28], g = !0, _ = (n) => j(u(e, t, n)), v = (r, ...o) => {
237
+ }, de = (e, t, n, r) => {
238
+ let i = e[3], a = e[6], o = e[8], s = e[11], c = e[12], l = e[13], u = e[14], d = e[15], f = e[16], p = e[17], m = e[20], h = e[28], g = !0, _ = (n) => O(u(e, t, n)), v = (r, ...o) => {
281
239
  var u;
282
240
  let _ = s(e, t, r);
283
241
  try {
284
242
  if (r === n) {
285
- if (!O(r)) throw Error("atom not writable");
243
+ if (!w(r)) throw Error("atom not writable");
286
244
  let n = _.n, s = o[0];
287
245
  m(e, t, r, s), p(e, t, r), n !== _.n && (++h[0], i.add(r), d(e, t, r), (u = a.c) == null || u.call(a, r));
288
246
  return;
@@ -297,7 +255,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
297
255
  } finally {
298
256
  g = !1;
299
257
  }
300
- }, he = (e, t, n) => {
258
+ }, fe = (e, t, n) => {
301
259
  var r;
302
260
  let i = e[1], a = e[3], o = e[6], s = e[11], c = e[15], l = e[18], u = e[19], d = s(e, t, n), f = i.get(n);
303
261
  if (f && d.d.size > 0) {
@@ -307,7 +265,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
307
265
  }
308
266
  for (let r of f.d) d.d.has(r) || (f.d.delete(r), u(e, t, r)?.t.delete(n));
309
267
  }
310
- }, ge = (e, t, n) => {
268
+ }, pe = (e, t, n) => {
311
269
  var r;
312
270
  let i = e[1], a = e[4], o = e[6], s = e[10], c = e[11], l = e[12], u = e[13], d = e[14], f = e[16], p = e[18], m = c(e, t, n), h = i.get(n);
313
271
  if (!h) {
@@ -317,7 +275,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
317
275
  l: /* @__PURE__ */ new Set(),
318
276
  d: new Set(m.d.keys()),
319
277
  t: /* @__PURE__ */ new Set()
320
- }, i.set(n, h), k(n) && ee(n) && a.add(() => {
278
+ }, i.set(n, h), T(n) && E(n) && a.add(() => {
321
279
  let r = !0, i = (...i) => {
322
280
  try {
323
281
  return f(e, t, n, i);
@@ -341,7 +299,7 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
341
299
  }), (r = o.m) == null || r.call(o, n);
342
300
  }
343
301
  return h;
344
- }, _e = (e, t, n) => {
302
+ }, me = (e, t, n) => {
345
303
  var r;
346
304
  let i = e[1], a = e[5], o = e[6], s = e[11], c = e[19], l = s(e, t, n), u = i.get(n);
347
305
  if (!u || u.l.size) return u;
@@ -357,26 +315,26 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
357
315
  return;
358
316
  }
359
317
  return u;
360
- }, ve = (e, t, n, r) => {
318
+ }, he = (e, t, n, r) => {
361
319
  let i = e[11], a = e[27], o = i(e, t, n), s = "v" in o, c = o.v;
362
- if (M(r)) for (let a of o.d.keys()) N(n, r, i(e, t, a));
363
- o.v = r, delete o.e, (!s || !Object.is(c, o.v)) && (++o.n, M(c) && a(e, t, c));
364
- }, ye = (e, t, n) => {
320
+ if (k(r)) for (let a of o.d.keys()) A(n, r, i(e, t, a));
321
+ o.v = r, delete o.e, (!s || !Object.is(c, o.v)) && (++o.n, k(c) && a(e, t, c));
322
+ }, ge = (e, t, n) => {
365
323
  let r = e[14];
366
- return j(r(e, t, n));
367
- }, be = (e, t, n, ...r) => {
324
+ return O(r(e, t, n));
325
+ }, _e = (e, t, n, ...r) => {
368
326
  let i = e[3], a = e[12], o = e[13], s = e[16], c = i.size;
369
327
  try {
370
328
  return s(e, t, n, r);
371
329
  } finally {
372
330
  i.size !== c && (o(e, t), a(e, t));
373
331
  }
374
- }, xe = (e, t, n, r) => {
332
+ }, ve = (e, t, n, r) => {
375
333
  let i = e[12], a = e[13], o = e[18], s = e[19], c = o(e, t, n).l;
376
334
  return c.add(r), a(e, t), i(e, t), () => {
377
335
  c.delete(r), s(e, t, n), a(e, t), i(e, t);
378
336
  };
379
- }, Se = (e, t, n, r) => {
337
+ }, ye = (e, t, n, r) => {
380
338
  let i = e[25], a = i.get(n);
381
339
  if (!a) {
382
340
  a = /* @__PURE__ */ new Set(), i.set(n, a);
@@ -384,14 +342,14 @@ var ae = (e, t, n, ...r) => n.read(...r), oe = (e, t, n, ...r) => n.write(...r),
384
342
  n.then(e, e);
385
343
  }
386
344
  a.add(r);
387
- }, Ce = (e, t, n) => {
345
+ }, be = (e, t, n) => {
388
346
  e[25].get(n)?.forEach((e) => e());
389
- }, I = /* @__PURE__ */ new WeakMap();
390
- function L(e) {
391
- let t = I.get(e), n = t[24];
347
+ }, xe = /* @__PURE__ */ new WeakMap();
348
+ function Se(e) {
349
+ let t = xe.get(e), n = t[24];
392
350
  return n ? n(t, e) : t;
393
351
  }
394
- function we(...e) {
352
+ function Ce(...e) {
395
353
  let t = {
396
354
  get(e) {
397
355
  return r(n, t, e);
@@ -410,6 +368,9 @@ function we(...e) {
410
368
  /* @__PURE__ */ new Set(),
411
369
  /* @__PURE__ */ new Set(),
412
370
  {},
371
+ ne,
372
+ re,
373
+ ie,
413
374
  ae,
414
375
  oe,
415
376
  se,
@@ -424,64 +385,61 @@ function we(...e) {
424
385
  ge,
425
386
  _e,
426
387
  ve,
427
- ye,
428
- be,
429
- xe,
430
388
  void 0,
431
389
  /* @__PURE__ */ new WeakMap(),
432
- Se,
433
- Ce,
390
+ ye,
391
+ be,
434
392
  [0]
435
393
  ].map((t, n) => e[n] || t);
436
- I.set(t, Object.freeze(n));
394
+ xe.set(t, Object.freeze(n));
437
395
  let r = n[21], i = n[22], a = n[23];
438
396
  return t;
439
397
  }
440
398
  //#endregion
441
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla.mjs
442
- var Te = 0;
443
- function R(e, t) {
444
- let n = `atom${++Te}`, r = { toString() {
399
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/vanilla.mjs
400
+ var we = 0;
401
+ function F(e, t) {
402
+ let n = `atom${++we}`, r = { toString() {
445
403
  return n;
446
404
  } };
447
- return typeof e == "function" ? r.read = e : (r.init = e, r.read = Ee, r.write = De), t && (r.write = t), r;
405
+ return typeof e == "function" ? r.read = e : (r.init = e, r.read = Te, r.write = Ee), t && (r.write = t), r;
448
406
  }
449
- function Ee(e) {
407
+ function Te(e) {
450
408
  return e(this);
451
409
  }
452
- function De(e, t, n) {
410
+ function Ee(e, t, n) {
453
411
  return t(this, typeof n == "function" ? n(e(this)) : n);
454
412
  }
455
- function z() {
456
- return we();
413
+ function I() {
414
+ return Ce();
457
415
  }
458
- var Oe;
459
- function ke() {
460
- return Oe ||= z(), Oe;
416
+ var De;
417
+ function Oe() {
418
+ return De ||= I(), De;
461
419
  }
462
420
  //#endregion
463
- //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/react.mjs
464
- var B = (0, y.createContext)(void 0);
465
- function V(e) {
466
- let t = (0, y.useContext)(B);
467
- return e?.store || t || ke();
421
+ //#region ../node_modules/.pnpm/jotai@2.20.3_@babel+core@7.29.0_supports-color@10.0.0__@babel+template@7.28.6_@types+react@19.3.0_react@19.3.0/node_modules/jotai/esm/react.mjs
422
+ var L = (0, y.createContext)(void 0);
423
+ function R(e) {
424
+ let t = (0, y.useContext)(L);
425
+ return e?.store || t || Oe();
468
426
  }
469
- function Ae({ children: e, store: t }) {
427
+ function ke({ children: e, store: t }) {
470
428
  let n = (0, y.useRef)(null);
471
- return t ? (0, y.createElement)(B.Provider, { value: t }, e) : (n.current === null && (n.current = z()), (0, y.createElement)(B.Provider, { value: n.current }, e));
429
+ return t ? (0, y.createElement)(L.Provider, { value: t }, e) : (n.current === null && (n.current = I()), (0, y.createElement)(L.Provider, { value: n.current }, e));
472
430
  }
473
- var H = (e) => typeof e?.then == "function", U = (e) => {
431
+ var z = (e) => typeof e?.then == "function", B = (e) => {
474
432
  e.status || (e.status = "pending", e.then((t) => {
475
433
  e.status = "fulfilled", e.value = t;
476
434
  }, (t) => {
477
435
  e.status = "rejected", e.reason = t;
478
436
  }));
479
- }, je = y.use || ((e) => {
437
+ }, Ae = y.use || ((e) => {
480
438
  if (e.status === "pending") throw e;
481
439
  if (e.status === "fulfilled") return e.value;
482
- throw e.status === "rejected" ? e.reason : (U(e), e);
483
- }), W = /* @__PURE__ */ new WeakMap(), Me = (e, t, n) => {
484
- let r = L(e), i = r[26], a = W.get(t);
440
+ throw e.status === "rejected" ? e.reason : (B(e), e);
441
+ }), V = /* @__PURE__ */ new WeakMap(), je = (e, t, n) => {
442
+ let r = Se(e), i = r[26], a = V.get(t);
485
443
  return a || (a = new Promise((o, s) => {
486
444
  let c = t, l = (e) => (t) => {
487
445
  c === e && o(t);
@@ -490,16 +448,16 @@ var H = (e) => typeof e?.then == "function", U = (e) => {
490
448
  }, d = () => {
491
449
  try {
492
450
  let t = n();
493
- H(t) ? (W.set(t, a), c = t, t.then(l(t), u(t)), i(r, e, t, d)) : o(t);
451
+ z(t) ? (V.set(t, a), c = t, t.then(l(t), u(t)), i(r, e, t, d)) : o(t);
494
452
  } catch (e) {
495
453
  s(e);
496
454
  }
497
455
  };
498
456
  t.then(l(t), u(t)), i(r, e, t, d);
499
- }), W.set(t, a)), a;
457
+ }), V.set(t, a)), a;
500
458
  };
501
- function G(e, t) {
502
- let { delay: n, unstable_promiseStatus: r = !y.use } = t || {}, i = V(t), [[a, o, s], c] = (0, y.useReducer)((t) => {
459
+ function H(e, t) {
460
+ let { delay: n, unstable_promiseStatus: r = !y.use } = t || {}, i = R(t), [[a, o, s], c] = (0, y.useReducer)((t) => {
503
461
  let n = i.get(e);
504
462
  return Object.is(t[0], n) && t[1] === i && t[2] === e ? t : [
505
463
  n,
@@ -515,7 +473,7 @@ function G(e, t) {
515
473
  let t = i.sub(e, () => {
516
474
  if (r) try {
517
475
  let t = i.get(e);
518
- H(t) && U(Me(i, t, () => i.get(e)));
476
+ z(t) && B(je(i, t, () => i.get(e)));
519
477
  } catch {}
520
478
  if (typeof n == "number") {
521
479
  console.warn("[DEPRECATED] delay option is deprecated and will be removed in v3.\n\nMigration guide:\n\nCreate a custom hook like the following.\n\nfunction useAtomValueWithDelay<Value>(\n atom: Atom<Value>,\n options: { delay: number },\n): Value {\n const { delay } = options\n const store = useStore(options)\n const [value, setValue] = useState(() => store.get(atom))\n useEffect(() => {\n const unsub = store.sub(atom, () => {\n setTimeout(() => setValue(store.get(atom)), delay)\n })\n return unsub\n }, [store, atom, delay])\n return value\n}\n"), setTimeout(c, n);
@@ -529,27 +487,70 @@ function G(e, t) {
529
487
  e,
530
488
  n,
531
489
  r
532
- ]), (0, y.useDebugValue)(l), H(l)) {
533
- let t = Me(i, l, () => i.get(e));
534
- return r && U(t), je(t);
490
+ ]), (0, y.useDebugValue)(l), z(l)) {
491
+ let t = je(i, l, () => i.get(e));
492
+ return r && B(t), Ae(t);
535
493
  }
536
494
  return l;
537
495
  }
538
- function K(e, t) {
539
- let n = V(t);
496
+ function U(e, t) {
497
+ let n = R(t);
540
498
  return (0, y.useCallback)((...t) => n.set(e, ...t), [n, e]);
541
499
  }
542
- function Ne(e, t) {
543
- return [G(e, t), K(e, t)];
500
+ function Me(e, t) {
501
+ return [H(e, t), U(e, t)];
544
502
  }
545
503
  //#endregion
546
504
  //#region src/core/islands/utils.ts
547
- function Pe() {
505
+ var W = o();
506
+ function G() {
548
507
  return !0;
549
508
  }
550
509
  //#endregion
510
+ //#region ../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
511
+ var Ne = Object.prototype.hasOwnProperty;
512
+ function Pe(e, t, n) {
513
+ for (n of e.keys()) if (K(n, t)) return n;
514
+ }
515
+ function K(e, t) {
516
+ var n, r, i;
517
+ if (e === t) return !0;
518
+ if (e && t && (n = e.constructor) === t.constructor) {
519
+ if (n === Date) return e.getTime() === t.getTime();
520
+ if (n === RegExp) return e.toString() === t.toString();
521
+ if (n === Array) {
522
+ if ((r = e.length) === t.length) for (; r-- && K(e[r], t[r]););
523
+ return r === -1;
524
+ }
525
+ if (n === Set) {
526
+ if (e.size !== t.size) return !1;
527
+ for (r of e) if (i = r, i && typeof i == "object" && (i = Pe(t, i), !i) || !t.has(i)) return !1;
528
+ return !0;
529
+ }
530
+ if (n === Map) {
531
+ if (e.size !== t.size) return !1;
532
+ for (r of e) if (i = r[0], i && typeof i == "object" && (i = Pe(t, i), !i) || !K(r[1], t.get(i))) return !1;
533
+ return !0;
534
+ }
535
+ if (n === ArrayBuffer) e = new Uint8Array(e), t = new Uint8Array(t);
536
+ else if (n === DataView) {
537
+ if ((r = e.byteLength) === t.byteLength) for (; r-- && e.getInt8(r) === t.getInt8(r););
538
+ return r === -1;
539
+ }
540
+ if (ArrayBuffer.isView(e)) {
541
+ if ((r = e.byteLength) === t.byteLength) for (; r-- && e[r] === t[r];);
542
+ return r === -1;
543
+ }
544
+ if (!n || typeof e == "object") {
545
+ for (n in r = 0, e) if (Ne.call(e, n) && ++r && !Ne.call(t, n) || !(n in t) || !K(e[n], t[n])) return !1;
546
+ return Object.keys(t).length === r;
547
+ }
548
+ }
549
+ return e !== e && t !== t;
550
+ }
551
+ //#endregion
551
552
  //#region src/core/state/jotai.ts
552
- var q = z();
553
+ var q = I();
553
554
  async function Fe(e, t) {
554
555
  return t(q.get(e)) ? q.get(e) : new Promise((n) => {
555
556
  let r = q.sub(e, () => {
@@ -559,10 +560,10 @@ async function Fe(e, t) {
559
560
  });
560
561
  }
561
562
  function Ie(e, t) {
562
- let n = (0, C.c)(5), r = V(), i, a;
563
+ let n = (0, W.c)(5), r = R(), i, a;
563
564
  n[0] !== e || n[1] !== t || n[2] !== r ? (i = () => {
564
565
  let n = r.get(e);
565
- r.sub(e, () => {
566
+ return r.sub(e, () => {
566
567
  let i = r.get(e);
567
568
  t(i, n), n = i;
568
569
  });
@@ -573,9 +574,9 @@ function Ie(e, t) {
573
574
  ], n[0] = e, n[1] = t, n[2] = r, n[3] = i, n[4] = a) : (i = n[3], a = n[4]), (0, y.useEffect)(i, a);
574
575
  }
575
576
  var Le = Symbol("sentinel");
576
- function Re(e, t = E) {
577
+ function Re(e, t = K) {
577
578
  let n = Le;
578
- return R((r) => {
579
+ return F((r) => {
579
580
  let i = r(e);
580
581
  return (n === Le || !t(n, i)) && (n = i), n;
581
582
  });
@@ -604,7 +605,7 @@ var ze = [
604
605
  "html",
605
606
  "markdown",
606
607
  "ipynb"
607
- ], Ue = [
608
+ ], Ue = ["off", "jedi"], We = [
608
609
  "manual",
609
610
  "ask",
610
611
  "agent",
@@ -613,13 +614,13 @@ var ze = [
613
614
  api_key: c().optional(),
614
615
  base_url: c().optional(),
615
616
  project: c().optional()
616
- }).loose(), We = u({
617
+ }).loose(), Ge = u({
617
618
  chat_model: c().nullish(),
618
619
  edit_model: c().nullish(),
619
620
  autocomplete_model: c().nullish(),
620
621
  displayed_models: p(c()).default([]),
621
622
  custom_models: p(c()).default([])
622
- }), Ge = d({
623
+ }), Ke = d({
623
624
  completion: u({
624
625
  activate_on_typing: s().prefault(!0),
625
626
  signature_hint_on_typing: s().prefault(!1),
@@ -636,7 +637,10 @@ var ze = [
636
637
  autosave_delay: m().nonnegative().transform((e) => Math.max(e, 1e3)).prefault(1e3),
637
638
  format_on_save: s().prefault(!1)
638
639
  }).prefault({}),
639
- formatting: d({ line_length: m().nonnegative().prefault(79).transform((e) => Math.min(e, 1e3)) }).prefault({}),
640
+ formatting: d({
641
+ line_length: m().nonnegative().prefault(79).transform((e) => Math.min(e, 1e3)),
642
+ infer_types: h(Ue).prefault("off")
643
+ }).prefault({}),
640
644
  keymap: d({
641
645
  preset: h(["default", "vim"]).prefault("default"),
642
646
  overrides: f(c(), c()).prefault({}),
@@ -677,7 +681,7 @@ var ze = [
677
681
  enabled: s().prefault(!0),
678
682
  rules: c().prefault(""),
679
683
  max_tokens: m().int().positive().nullable().optional(),
680
- mode: h(Ue).prefault("manual"),
684
+ mode: h(We).prefault("manual"),
681
685
  inline_tooltip: s().prefault(!1),
682
686
  allow_provider_config: s().prefault(!0),
683
687
  open_ai: J.optional(),
@@ -697,7 +701,7 @@ var ze = [
697
701
  aws_secret_access_key: c().optional()
698
702
  }).optional(),
699
703
  custom_providers: f(c(), J).prefault({}),
700
- models: We.prefault({
704
+ models: Ge.prefault({
701
705
  displayed_models: [],
702
706
  custom_models: []
703
707
  })
@@ -738,27 +742,27 @@ var ze = [
738
742
  ai: {},
739
743
  package_management: {},
740
744
  mcp: {}
741
- })), Ke = c(), qe = h(Ve).prefault("auto"), Y = u({
745
+ })), qe = c(), Je = h(Ve).prefault("auto"), Y = u({
742
746
  width: h(Be).prefault("medium").transform((e) => e === "normal" ? "compact" : e),
743
- app_title: Ke.nullish(),
747
+ app_title: qe.nullish(),
744
748
  css_file: c().nullish(),
745
749
  html_head_file: c().nullish(),
746
750
  auto_download: p(h(He)).prefault([]),
747
- sql_output: qe
751
+ sql_output: Je
748
752
  }).prefault(() => ({
749
753
  width: "medium",
750
754
  auto_download: [],
751
755
  sql_output: "auto"
752
756
  }));
753
- function Je(e) {
757
+ function Ye(e) {
754
758
  try {
755
759
  return Y.parse(e);
756
760
  } catch (e) {
757
761
  return r.error(`Marimo got an unexpected value in the configuration file: ${e}`), Y.parse({});
758
762
  }
759
763
  }
760
- function Ye() {
761
- return Ge.parse({
764
+ function Xe() {
765
+ return Ke.parse({
762
766
  completion: {},
763
767
  save: {},
764
768
  formatting: {},
@@ -776,47 +780,47 @@ function Ye() {
776
780
  }
777
781
  //#endregion
778
782
  //#region src/core/config/config.ts
779
- function Xe(...e) {
783
+ function Ze(...e) {
780
784
  return v({}, ...e, (e, t) => {
781
785
  if (Array.isArray(t)) return [...t];
782
786
  });
783
787
  }
784
- var X = R(Ye()), Ze = R({}), Z = R((e) => {
785
- let t = e(Ze);
786
- return Xe(e(X), t);
787
- }), Qe = R((e) => e(Z).runtime.auto_instantiate), $e = R((e) => e(Z).keymap.overrides ?? {}), et = R(i());
788
- R((e) => {
789
- let t = e($e), r = e(et);
788
+ var X = F(Xe()), Qe = F({}), Z = F((e) => {
789
+ let t = e(Qe);
790
+ return Ze(e(X), t);
791
+ }), $e = F((e) => e(Z).runtime.auto_instantiate), et = F((e) => e(Z).keymap.overrides ?? {}), tt = F(i());
792
+ F((e) => {
793
+ let t = e(et), r = e(tt);
790
794
  return new n(t, { platform: r });
791
- }), R((e) => e(Z).save), R((e) => e(Z).server.transport === "sse" ? "sse" : "websocket"), R((e) => e(Z).ai), R((e) => e(Z).completion), R((e) => e(Z).keymap.preset);
792
- function tt() {
793
- let e = (0, C.c)(3), t = G(Z), n = K(X), r;
795
+ }), F((e) => e(Z).save), F((e) => e(Z).server.transport === "sse" ? "sse" : "websocket"), F((e) => e(Z).ai), F((e) => e(Z).completion), F((e) => e(Z).keymap.preset);
796
+ function nt() {
797
+ let e = (0, W.c)(3), t = H(Z), n = U(X), r;
794
798
  return e[0] !== t || e[1] !== n ? (r = [t, n], e[0] = t, e[1] = n, e[2] = r) : r = e[2], r;
795
799
  }
796
- function nt() {
800
+ function rt() {
797
801
  return q.get(Z);
798
802
  }
799
- R((e) => ot(e(Z)));
800
- var rt = R((e) => st(e(Z))), it = R((e) => ct(e(Z)));
801
- R((e) => e(Z).display.code_editor_font_size);
802
- var at = R((e) => e(Z).display.locale);
803
- function ot(e) {
803
+ F((e) => st(e(Z)));
804
+ var it = F((e) => ct(e(Z))), at = F((e) => lt(e(Z)));
805
+ F((e) => e(Z).display.code_editor_font_size);
806
+ var ot = F((e) => e(Z).display.locale);
807
+ function st(e) {
804
808
  return e.ai?.enabled !== !1;
805
809
  }
806
- function st(e) {
810
+ function ct(e) {
807
811
  return !!e.ai?.models?.chat_model || !!e.ai?.models?.edit_model || !!e.ai?.models?.autocomplete_model;
808
812
  }
809
- function ct(e) {
810
- return ot(e) && st(e);
813
+ function lt(e) {
814
+ return st(e) && ct(e);
811
815
  }
812
- var lt = R(Je({}));
813
- R((e) => e(lt).width), R((e) => {
816
+ var ut = F(Ye({}));
817
+ F((e) => e(ut).width), F((e) => {
814
818
  let t = e(Z), n = t.snippets?.custom_paths ?? [], r = t.snippets?.include_default_snippets;
815
819
  return n.length > 0 || r === !0;
816
- }), R((e) => e(Z).server?.disable_file_downloads ?? !1);
820
+ }), F((e) => e(Z).server?.disable_file_downloads ?? !1);
817
821
  //#endregion
818
822
  //#region src/core/constants.ts
819
- var ut = {
823
+ var dt = {
820
824
  githubPage: "https://github.com/marimo-team/marimo",
821
825
  releasesPage: "https://github.com/marimo-team/marimo/releases",
822
826
  issuesPage: "https://github.com/marimo-team/marimo/issues",
@@ -826,7 +830,7 @@ var ut = {
826
830
  docsPage: "https://docs.marimo.io",
827
831
  youtube: "https://www.youtube.com/@marimo-team",
828
832
  molab: "https://molab.marimo.io"
829
- }, dt = {
833
+ }, ft = {
830
834
  showCode: "show-code",
831
835
  includeCode: "include-code",
832
836
  sessionId: "session_id",
@@ -837,18 +841,18 @@ var ut = {
837
841
  viewAs: "view-as",
838
842
  showChrome: "show-chrome",
839
843
  theme: "theme"
840
- }, ft = { outputArea: "output-area" }, pt = [
844
+ }, pt = { outputArea: "output-area" }, mt = [
841
845
  "light",
842
846
  "dark",
843
847
  "system"
844
848
  ];
845
- function mt() {
849
+ function ht() {
846
850
  if (typeof window > "u") return;
847
- let e = new URLSearchParams(window.location.search).get(dt.theme);
848
- return pt.includes(e) ? e : void 0;
851
+ let e = new URLSearchParams(window.location.search).get(ft.theme);
852
+ return mt.includes(e) ? e : void 0;
849
853
  }
850
- var ht = R((e) => {
851
- if (Pe()) {
854
+ var gt = F((e) => {
855
+ if (G()) {
852
856
  if (document.body.classList.contains("dark-mode") || document.body.classList.contains("dark") || document.body.dataset.theme === "dark" || document.body.dataset.mode === "dark" || $() === "dark") return "dark";
853
857
  let e = window.getComputedStyle(document.body), t = e.getPropertyValue("color-scheme").trim();
854
858
  if (t) return t.includes("dark") ? "dark" : "light";
@@ -859,16 +863,16 @@ var ht = R((e) => {
859
863
  }
860
864
  return "light";
861
865
  }
862
- return mt() ?? e(Z).display.theme;
863
- }), Q = R(!1);
864
- function gt() {
866
+ return ht() ?? e(Z).display.theme;
867
+ }), Q = F(!1);
868
+ function _t() {
865
869
  if (typeof window > "u" || !window.matchMedia) return;
866
870
  let e = window.matchMedia("(prefers-color-scheme: dark)");
867
871
  q.set(Q, e.matches), e.addEventListener("change", (e) => {
868
872
  q.set(Q, e.matches);
869
873
  });
870
874
  }
871
- gt();
875
+ _t();
872
876
  function $() {
873
877
  switch (document.body.dataset.vscodeThemeKind) {
874
878
  case "vscode-dark": return "dark";
@@ -876,29 +880,29 @@ function $() {
876
880
  case "vscode-light": return "light";
877
881
  }
878
882
  }
879
- var _t = R($());
880
- function vt() {
883
+ var vt = F($());
884
+ function yt() {
881
885
  let e = new MutationObserver(() => {
882
886
  let e = $();
883
- q.set(_t, e);
887
+ q.set(vt, e);
884
888
  });
885
889
  return e.observe(document.body, {
886
890
  attributes: !0,
887
891
  attributeFilter: ["data-vscode-theme-kind"]
888
892
  }), () => e.disconnect();
889
893
  }
890
- vt();
891
- var yt = R((e) => {
892
- let t = e(ht), n = e(_t);
894
+ yt();
895
+ var bt = F((e) => {
896
+ let t = e(gt), n = e(vt);
893
897
  if (n !== void 0) return n;
894
898
  let r = e(Q);
895
899
  return t === "system" ? r ? "dark" : "light" : t;
896
900
  });
897
- function bt() {
898
- let e = (0, C.c)(3), t;
901
+ function xt() {
902
+ let e = (0, W.c)(3), t;
899
903
  e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = { store: q }, e[0] = t) : t = e[0];
900
- let n = G(yt, t), r;
904
+ let n = H(bt, t), r;
901
905
  return e[1] === n ? r = e[2] : (r = { theme: n }, e[1] = n, e[2] = r), r;
902
906
  }
903
907
  //#endregion
904
- export { x as A, G as C, z as D, R as E, D as O, Ne as S, V as T, q as _, dt as a, Pe as b, Qe as c, Xe as d, Z as f, Re as g, Y as h, ut as i, E as k, nt as l, X as m, bt as n, it as o, tt as p, ft as r, rt as s, yt as t, at as u, Ie as v, K as w, Ae as x, Fe as y };
908
+ export { x as A, Me as C, F as D, R as E, I as O, ke as S, U as T, q as _, ft as a, K as b, $e as c, Ze as d, Z as f, Re as g, Y as h, dt as i, C as k, rt as l, X as m, xt as n, at as o, nt as p, pt as r, it as s, bt as t, ot as u, Ie as v, H as w, G as x, Fe as y };