@marimo-team/islands 0.16.2 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/{ConnectedDataExplorerComponent-KvtsEmcw.js → ConnectedDataExplorerComponent-CareOso9.js} +2 -2
  2. package/dist/{ImageComparisonComponent-R2tjqLSx.js → ImageComparisonComponent-I_Z738Uj.js} +1 -1
  3. package/dist/{_baseUniq-BykZEXIq.js → _baseUniq-D-Kb4EU4.js} +1 -1
  4. package/dist/{any-language-editor-CMt4Y6oz.js → any-language-editor-BRWmYor8.js} +1 -1
  5. package/dist/{architectureDiagram-W76B3OCA-mQ3sJdEW.js → architectureDiagram-W76B3OCA-bZJcJYGH.js} +4 -4
  6. package/dist/assets/{worker-B0C57BK8.js → worker-DMlIUTIq.js} +18 -17
  7. package/dist/{blockDiagram-QIGZ2CNN-BxLRv5EM.js → blockDiagram-QIGZ2CNN-DyXjO8fR.js} +5 -5
  8. package/dist/{c4Diagram-FPNF74CW-Cfz16aWq.js → c4Diagram-FPNF74CW-Bfs9ui2r.js} +2 -2
  9. package/dist/{channel-zr1uJJ5g.js → channel-CMup9X3Z.js} +1 -1
  10. package/dist/{chunk-4BX2VUAB-B8iHvpDe.js → chunk-4BX2VUAB-CW-ni6M_.js} +1 -1
  11. package/dist/{chunk-55IACEB6-CJs4dL1H.js → chunk-55IACEB6-Bj-Indya.js} +1 -1
  12. package/dist/{chunk-FMBD7UC4-C5irHg20.js → chunk-FMBD7UC4-9IC8qSSk.js} +1 -1
  13. package/dist/{chunk-K7UQS3LO-B2XW75WS.js → chunk-K7UQS3LO-aapkEuWN.js} +4 -4
  14. package/dist/{chunk-QN33PNHL-BtwctqGa.js → chunk-QN33PNHL-Bo5dJ5T5.js} +1 -1
  15. package/dist/{chunk-QZHKN3VN-Sb8ZD0FY.js → chunk-QZHKN3VN-BkMzjJYY.js} +1 -1
  16. package/dist/{chunk-TVAH2DTR-CEJ5zkLX.js → chunk-TVAH2DTR-Wqy_C_Rn.js} +3 -3
  17. package/dist/{chunk-TZMSLE5B-Ccm4T92V.js → chunk-TZMSLE5B-DjBmEAUz.js} +1 -1
  18. package/dist/{classDiagram-v2-RKCZMP56-DWTbT0ww.js → classDiagram-KNZD7YFC-DUsaN1O4.js} +2 -2
  19. package/dist/{classDiagram-KNZD7YFC-DWTbT0ww.js → classDiagram-v2-RKCZMP56-DUsaN1O4.js} +2 -2
  20. package/dist/{clone-CDDiMerE.js → clone-Dkt_7KOK.js} +1 -1
  21. package/dist/{cose-bilkent-S5V4N54A-B74aLjZ_.js → cose-bilkent-S5V4N54A-ClBuGZWI.js} +2 -2
  22. package/dist/{dagre-5GWH7T2D-Cie_wUzI.js → dagre-5GWH7T2D-BzmDIGaM.js} +6 -6
  23. package/dist/{data-grid-overlay-editor-OsCMRzfP.js → data-grid-overlay-editor-NiU9Ea77.js} +2 -2
  24. package/dist/{diagram-N5W7TBWH-CCeFeV2B.js → diagram-N5W7TBWH-BlO1yw_g.js} +5 -5
  25. package/dist/{diagram-QEK2KX5R-BPROiVV7.js → diagram-QEK2KX5R-BvK83LUx.js} +3 -3
  26. package/dist/{diagram-S2PKOQOG-BkLFbUa_.js → diagram-S2PKOQOG-DvBzRYd7.js} +3 -3
  27. package/dist/{dockerfile-CuJXUZQ_.js → dockerfile-CPQG2tLO.js} +1 -1
  28. package/dist/{erDiagram-AWTI2OKA-CpBWOTMK.js → erDiagram-AWTI2OKA-Doy9FRTX.js} +4 -4
  29. package/dist/{flowDiagram-PVAE7QVJ-C_X4bmq3.js → flowDiagram-PVAE7QVJ-D_tX_HU1.js} +5 -5
  30. package/dist/{ganttDiagram-OWAHRB6G-CruldwEp.js → ganttDiagram-OWAHRB6G-CV03BHVY.js} +4 -4
  31. package/dist/{gitGraphDiagram-NY62KEGX-ZJnVxaQP.js → gitGraphDiagram-NY62KEGX-w3szEguZ.js} +4 -4
  32. package/dist/{glide-data-editor-CnOBht4I.js → glide-data-editor-akznFrmp.js} +3 -3
  33. package/dist/{graph-DjTtWtcG.js → graph-CjrrDHdT.js} +3 -3
  34. package/dist/index-CIJJs0Tu.js +40382 -0
  35. package/dist/{index-CZ9vIBEc.js → index-DMo6cbcV.js} +3 -3
  36. package/dist/{index-saLjL5eo.js → index-DlV2CtJb.js} +1 -1
  37. package/dist/{index-DSpjUDnr.js → index-Y-Vbae6Z.js} +1 -1
  38. package/dist/{infoDiagram-STP46IZ2-RZgl96nR.js → infoDiagram-STP46IZ2-BcBV2j75.js} +2 -2
  39. package/dist/{journeyDiagram-BIP6EPQ6-9ytZy-zY.js → journeyDiagram-BIP6EPQ6-BTGMSgvB.js} +3 -3
  40. package/dist/{kanban-definition-6OIFK2YF-CpjPWkgX.js → kanban-definition-6OIFK2YF-aopNqZ1Y.js} +2 -2
  41. package/dist/{layout-BAvhX25D.js → layout-Dvo9pb_w.js} +4 -4
  42. package/dist/{linear-BKZuvJrK.js → linear-CHnELER9.js} +1 -1
  43. package/dist/{main-pE28kbH0.js → main-kLZGkzVQ.js} +34849 -34052
  44. package/dist/main.js +1 -1
  45. package/dist/{mermaid-BGd7kEsf.js → mermaid-DgM4_4bD.js} +30 -30
  46. package/dist/{min-DmsBJf5S.js → min-cX4DuL_n.js} +2 -2
  47. package/dist/{mindmap-definition-Q6HEUPPD-BerypnVD.js → mindmap-definition-Q6HEUPPD-DZjbYryy.js} +3 -3
  48. package/dist/{number-overlay-editor-A7ZQ6sSs.js → number-overlay-editor-8MpIObf7.js} +2 -2
  49. package/dist/{pieDiagram-ADFJNKIX-ChcQLZM2.js → pieDiagram-ADFJNKIX-D6L1IYAc.js} +3 -3
  50. package/dist/{quadrantDiagram-LMRXKWRM-BOMxo-5G.js → quadrantDiagram-LMRXKWRM-nOyuc3Bf.js} +2 -2
  51. package/dist/{react-plotly-8f0vAPdB.js → react-plotly-ChkfYiVe.js} +1 -1
  52. package/dist/{requirementDiagram-4UW4RH46-rql0vkIr.js → requirementDiagram-4UW4RH46-OVV8wsju.js} +3 -3
  53. package/dist/{sankeyDiagram-GR3RE2ED-BMz3hqw4.js → sankeyDiagram-GR3RE2ED-qZHMdnE_.js} +1 -1
  54. package/dist/{sequenceDiagram-C3RYC4MD-DFK39LUK.js → sequenceDiagram-C3RYC4MD-D0bOqf-t.js} +3 -3
  55. package/dist/{slides-component-BNsZuUgg.js → slides-component-CNzLDdA3.js} +1 -1
  56. package/dist/{stateDiagram-KXAO66HF-B_3SWOCl.js → stateDiagram-KXAO66HF-CFNCnNJS.js} +4 -4
  57. package/dist/{stateDiagram-v2-UMBNRL4Z-BWAYN6aU.js → stateDiagram-v2-UMBNRL4Z-CnIh27m8.js} +2 -2
  58. package/dist/style.css +1 -1
  59. package/dist/{time-DCvYzQ5t.js → time-Z7CJSfOW.js} +2 -2
  60. package/dist/{timeline-definition-XQNQX7LJ-CSbxJ5mV.js → timeline-definition-XQNQX7LJ-BYLMfrvK.js} +1 -1
  61. package/dist/{treemap-75Q7IDZK-LMXGKln_.js → treemap-75Q7IDZK-BEh1HacP.js} +5 -5
  62. package/dist/{vega-component-CRmon7pH.js → vega-component-iMjXd3tD.js} +2 -2
  63. package/dist/{xychartDiagram-6GGTOJPD-DaUD4dq3.js → xychartDiagram-6GGTOJPD-Bmi13ZSG.js} +2 -2
  64. package/package.json +6 -6
  65. package/src/__mocks__/common.ts +5 -3
  66. package/src/__mocks__/notebook.ts +2 -2
  67. package/src/__tests__/main.test.tsx +2 -2
  68. package/src/components/ai/ai-provider-icon.tsx +2 -0
  69. package/src/components/app-config/ai-config.tsx +32 -1
  70. package/src/components/app-config/common.tsx +2 -2
  71. package/src/components/app-config/user-config-form.tsx +26 -0
  72. package/src/components/audio/audio-recorder.tsx +0 -1
  73. package/src/components/chat/acp/blocks.tsx +2 -2
  74. package/src/components/chat/acp/thread.tsx +3 -5
  75. package/src/components/chat/acp/utils.ts +5 -5
  76. package/src/components/chat/chat-panel.tsx +1 -1
  77. package/src/components/data-table/__tests__/data-table.test.tsx +2 -2
  78. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +1 -1
  79. package/src/components/data-table/charts/chart-spec/tooltips.ts +3 -3
  80. package/src/components/data-table/charts/components/chart-items.tsx +1 -1
  81. package/src/components/data-table/charts/components/form-fields.tsx +2 -2
  82. package/src/components/data-table/charts/constants.ts +1 -1
  83. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  84. package/src/components/data-table/column-summary/chart-spec-model.tsx +2 -2
  85. package/src/components/data-table/columns.tsx +1 -1
  86. package/src/components/data-table/data-table.tsx +35 -3
  87. package/src/components/data-table/date-popover.tsx +1 -1
  88. package/src/components/data-table/download-actions.tsx +1 -1
  89. package/src/components/data-table/range-focus/__tests__/utils.test.ts +5 -5
  90. package/src/components/data-table/renderers.tsx +6 -5
  91. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +1 -1
  92. package/src/components/data-table/types.ts +4 -3
  93. package/src/components/datasources/column-preview.tsx +9 -6
  94. package/src/components/debugger/debugger-code.tsx +1 -1
  95. package/src/components/dependency-graph/custom-node.tsx +15 -6
  96. package/src/components/dependency-graph/dependency-graph-minimap.tsx +2 -2
  97. package/src/components/dependency-graph/dependency-graph-tree.tsx +2 -2
  98. package/src/components/dependency-graph/dependency-graph.tsx +1 -1
  99. package/src/components/dependency-graph/elements.ts +7 -7
  100. package/src/components/dependency-graph/utils/changes.ts +4 -4
  101. package/src/components/editor/Cell.tsx +6 -2
  102. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  103. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +1 -1
  104. package/src/components/editor/chrome/panels/packages-panel.tsx +1 -1
  105. package/src/components/editor/columns/storage.ts +1 -1
  106. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +36 -0
  107. package/src/components/editor/database/__tests__/as-code.test.ts +30 -7
  108. package/src/components/editor/database/add-database-form.tsx +11 -0
  109. package/src/components/editor/database/as-code.ts +104 -5
  110. package/src/components/editor/database/schemas.ts +36 -18
  111. package/src/components/editor/errors/auto-fix.tsx +12 -2
  112. package/src/components/editor/errors/sql-validation-errors.tsx +12 -6
  113. package/src/components/editor/navigation/clipboard.ts +2 -2
  114. package/src/components/editor/output/ConsoleOutput.tsx +1 -1
  115. package/src/components/editor/output/JsonOutput.tsx +1 -1
  116. package/src/components/editor/output/MarimoErrorOutput.tsx +25 -25
  117. package/src/components/editor/output/MarimoTracebackOutput.tsx +17 -2
  118. package/src/components/editor/renderers/grid-layout/types.ts +2 -2
  119. package/src/components/editor/renderers/plugins.ts +1 -1
  120. package/src/components/editor/renderers/types.ts +1 -1
  121. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +7 -7
  122. package/src/components/forms/form.tsx +5 -5
  123. package/src/components/ui/links.tsx +1 -0
  124. package/src/core/ai/__tests__/model-registry.test.ts +0 -10
  125. package/src/core/ai/context/providers/error.ts +2 -2
  126. package/src/core/ai/ids/ids.ts +1 -0
  127. package/src/core/ai/model-registry.ts +2 -1
  128. package/src/core/cells/cells.ts +5 -5
  129. package/src/core/cells/logs.ts +1 -1
  130. package/src/core/cells/types.ts +1 -1
  131. package/src/core/codemirror/__tests__/format.test.ts +6 -0
  132. package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
  133. package/src/core/codemirror/editing/commands.ts +2 -2
  134. package/src/core/codemirror/find-replace/navigate.ts +1 -1
  135. package/src/core/codemirror/language/__tests__/extension.test.ts +1 -1
  136. package/src/core/codemirror/language/__tests__/sql-validation.test.ts +1 -1
  137. package/src/core/codemirror/language/__tests__/sql.test.ts +764 -79
  138. package/src/core/codemirror/language/languages/markdown.ts +4 -1
  139. package/src/core/codemirror/language/languages/sql/{validation-errors.ts → banner-validation-errors.ts} +9 -3
  140. package/src/core/codemirror/language/languages/sql/completion-builder.ts +160 -0
  141. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +9 -3
  142. package/src/core/codemirror/language/languages/sql/completion-store.ts +46 -50
  143. package/src/core/codemirror/language/languages/sql/renderers.tsx +485 -0
  144. package/src/core/codemirror/language/languages/sql/sql.ts +151 -24
  145. package/src/core/codemirror/language/languages/sql/utils.ts +4 -1
  146. package/src/core/codemirror/language/panel/sql.tsx +6 -1
  147. package/src/core/codemirror/language/utils/ast.ts +3 -3
  148. package/src/core/codemirror/lsp/federated-lsp.ts +4 -4
  149. package/src/core/codemirror/lsp/lens.ts +4 -4
  150. package/src/core/codemirror/lsp/notebook-lsp.ts +1 -1
  151. package/src/core/codemirror/lsp/types.ts +1 -1
  152. package/src/core/codemirror/markdown/completions.ts +1 -1
  153. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  154. package/src/core/codemirror/rtc/loro/awareness.ts +1 -1
  155. package/src/core/config/config-schema.ts +1 -0
  156. package/src/core/config/feature-flag.tsx +3 -1
  157. package/src/core/datasets/request-registry.ts +17 -10
  158. package/src/core/dom/events.ts +1 -1
  159. package/src/core/dom/outline.ts +2 -2
  160. package/src/core/dom/uiregistry.ts +2 -8
  161. package/src/core/errors/__tests__/errors.test.ts +22 -4
  162. package/src/core/errors/errors.ts +29 -1
  163. package/src/core/errors/state.ts +1 -1
  164. package/src/core/islands/main.ts +2 -2
  165. package/src/core/islands/parse.ts +1 -3
  166. package/src/core/kernel/messages.ts +1 -1
  167. package/src/core/network/CachingRequestRegistry.ts +74 -0
  168. package/src/core/network/DeferredRequestRegistry.ts +3 -1
  169. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +73 -0
  170. package/src/core/network/types.ts +1 -1
  171. package/src/core/variables/state.ts +2 -2
  172. package/src/core/wasm/__tests__/state.test.ts +1 -1
  173. package/src/core/websocket/useMarimoWebSocket.tsx +5 -2
  174. package/src/custom.d.ts +1 -1
  175. package/src/hooks/useCellRenderCount.ts +1 -0
  176. package/src/hooks/useResizeHandle.ts +4 -1
  177. package/src/plugins/core/RenderHTML.tsx +1 -2
  178. package/src/plugins/impl/DataTablePlugin.tsx +7 -2
  179. package/src/plugins/impl/FileUploadPlugin.tsx +1 -1
  180. package/src/plugins/impl/RefreshPlugin.tsx +1 -1
  181. package/src/plugins/impl/SliderPlugin.tsx +4 -0
  182. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +27 -9
  183. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +58 -2
  184. package/src/plugins/impl/anywidget/__tests__/model.test.ts +3 -4
  185. package/src/plugins/impl/anywidget/model.ts +2 -3
  186. package/src/plugins/impl/data-editor/types.ts +1 -1
  187. package/src/plugins/impl/data-explorer/components/query-form.tsx +1 -1
  188. package/src/plugins/impl/data-frames/types.ts +1 -1
  189. package/src/plugins/impl/panel/PanelPlugin.tsx +2 -2
  190. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  191. package/src/plugins/impl/vega/__tests__/loader.test.ts +2 -2
  192. package/src/plugins/impl/vega/loader.ts +1 -1
  193. package/src/plugins/impl/vega/vega-component.tsx +1 -1
  194. package/src/plugins/impl/vega/vega-loader.ts +2 -2
  195. package/src/plugins/layout/NavigationMenuPlugin.tsx +1 -1
  196. package/src/plugins/layout/RoutesPlugin.tsx +1 -2
  197. package/src/plugins/plugins.ts +2 -2
  198. package/src/utils/Logger.ts +1 -1
  199. package/src/utils/__tests__/data-views.test.ts +30 -68
  200. package/src/utils/__tests__/dom.test.ts +10 -10
  201. package/src/utils/__tests__/id-tree.test.ts +49 -1
  202. package/src/utils/__tests__/storage.test.ts +1 -1
  203. package/src/utils/__tests__/traceback.test.ts +13 -2
  204. package/src/utils/arrays.ts +1 -1
  205. package/src/utils/createReducer.ts +1 -5
  206. package/src/utils/data-views.ts +6 -19
  207. package/src/utils/edit-distance.ts +1 -1
  208. package/src/utils/fileToBase64.ts +1 -1
  209. package/src/utils/id-tree.tsx +20 -18
  210. package/src/utils/json/base64.ts +13 -0
  211. package/src/utils/json/json-parser.ts +2 -2
  212. package/src/utils/lru.ts +4 -0
  213. package/src/utils/mergeRefs.ts +1 -1
  214. package/src/utils/objects.ts +3 -3
  215. package/src/utils/pluralize.ts +1 -1
  216. package/src/utils/routes.ts +2 -2
  217. package/src/utils/sets.ts +1 -1
  218. package/src/utils/traceback.ts +45 -15
  219. package/src/utils/tracer.ts +11 -9
  220. package/dist/index-DeOkA9fC.js +0 -40315
  221. package/src/__tests__/lru.test.ts +0 -74
@@ -1,74 +0,0 @@
1
- /* Copyright 2024 Marimo. All rights reserved. */
2
- import { describe, expect, test } from "vitest";
3
- import { LRUCache } from "../utils/lru";
4
-
5
- describe("LRUCache", () => {
6
- test("basic get/set operations", () => {
7
- const cache = new LRUCache<string, number>(3);
8
- cache.set("a", 1);
9
- cache.set("b", 2);
10
- cache.set("c", 3);
11
-
12
- expect(cache.get("a")).toBe(1);
13
- expect(cache.get("b")).toBe(2);
14
- expect(cache.get("c")).toBe(3);
15
- });
16
-
17
- test("evicts least recently used item when over capacity", () => {
18
- const cache = new LRUCache<string, number>(3);
19
- cache.set("a", 1);
20
- cache.set("b", 2);
21
- cache.set("c", 3);
22
- cache.set("d", 4);
23
-
24
- // "a" should be evicted as it was the least recently used
25
- expect(cache.get("a")).toBeUndefined();
26
- expect(cache.get("b")).toBe(2);
27
- expect(cache.get("c")).toBe(3);
28
- expect(cache.get("d")).toBe(4);
29
- });
30
-
31
- test("accessing an item makes it most recently used", () => {
32
- const cache = new LRUCache<string, number>(3);
33
- cache.set("a", 1);
34
- cache.set("b", 2);
35
- cache.set("c", 3);
36
-
37
- // Access "a", making it most recently used
38
- cache.get("a");
39
- cache.set("d", 4);
40
-
41
- // "b" should be evicted as it becomes the least recently used
42
- expect(cache.get("b")).toBeUndefined();
43
- expect(cache.get("a")).toBe(1);
44
- expect(cache.get("c")).toBe(3);
45
- expect(cache.get("d")).toBe(4);
46
- });
47
-
48
- test("updating existing key maintains order", () => {
49
- const cache = new LRUCache<string, number>(3);
50
- cache.set("a", 1);
51
- cache.set("b", 2);
52
- cache.set("c", 3);
53
-
54
- // Update "a"
55
- cache.set("a", 10);
56
- cache.set("d", 4);
57
-
58
- // "b" should be evicted as "a" was moved to most recent
59
- expect(cache.get("b")).toBeUndefined();
60
- expect(cache.get("a")).toBe(10);
61
- expect(cache.get("c")).toBe(3);
62
- expect(cache.get("d")).toBe(4);
63
- });
64
-
65
- test("keys() returns iterator in order", () => {
66
- const cache = new LRUCache<string, number>(3);
67
- cache.set("a", 1);
68
- cache.set("b", 2);
69
- cache.set("c", 3);
70
-
71
- const keys = [...cache.keys()];
72
- expect(keys).toEqual(["a", "b", "c"]);
73
- });
74
- });