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

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 (196) hide show
  1. package/dist/{ConnectedDataExplorerComponent-BbSXV-Xa.js → ConnectedDataExplorerComponent-Le_OBfmt.js} +9 -9
  2. package/dist/{ErrorBoundary-NE86qEWZ.js → ErrorBoundary-DNvcAIsP.js} +8 -8
  3. package/dist/{abnfDiagram-VCTEODGH-D7n07nXf.js → abnfDiagram-VCTEODGH-Tf1ghyQQ.js} +2 -2
  4. package/dist/{any-language-editor-3E24SnCV.js → any-language-editor-BVFHDDQ3.js} +4 -4
  5. package/dist/{architectureDiagram-5GKGNRK7-D6CjRib5.js → architectureDiagram-5GKGNRK7-xlnbTG0T.js} +1 -1
  6. package/dist/{chat-ui-CC7GekpG.js → chat-ui-X-cWrL9u.js} +1218 -1218
  7. package/dist/{check-SpOMoCLP.js → check-C9Mp9eCK.js} +1 -1
  8. package/dist/{chunk-IMKFNOWR-6dtPz7uS.js → chunk-IMKFNOWR-Cmd4a5jy.js} +1 -1
  9. package/dist/{chunk-SHT3W25Y-BwnFNKDA.js → chunk-SHT3W25Y-mSNp-WpO.js} +1 -1
  10. package/dist/{chunk-SVP7TREG-D2eV4vBJ.js → chunk-SVP7TREG-CWC49D8X.js} +1 -1
  11. package/dist/{chunk-TICWLB2K-BDs4-_-r.js → chunk-TICWLB2K-De9FINtG.js} +1 -1
  12. package/dist/{classDiagram-ZZMXUADV-DCJnf_8v.js → classDiagram-ZZMXUADV-DweTkYdp.js} +2 -2
  13. package/dist/{classDiagram-v2-VYDZK3BY-BOmSzPBD.js → classDiagram-v2-VYDZK3BY-A6MR2TiE.js} +2 -2
  14. package/dist/{code-visibility-Bzvc6ajl.js → code-visibility-CH1lmM1h.js} +5 -5
  15. package/dist/{common-Ciw4zkh2.js → common-DIrS1UR9.js} +1081 -1085
  16. package/dist/{copy-icon-C1trdvVt.js → copy-icon-De584pZ4.js} +2 -2
  17. package/dist/{cynefinDiagram-5FMLGOSQ-Bln_Soky.js → cynefinDiagram-5FMLGOSQ-BSvo5le-.js} +1 -1
  18. package/dist/{dagre-GXQ25YYZ-D-nf7WzW.js → dagre-GXQ25YYZ-tXRQslO6.js} +1 -1
  19. package/dist/{data-grid-overlay-editor-AQREmxI7.js → data-grid-overlay-editor-DFLZvFK0.js} +1 -1
  20. package/dist/{diagram-S7CK7UJ4-PsgSMkY2.js → diagram-S7CK7UJ4-r3t5VtwI.js} +1 -1
  21. package/dist/{diagram-UQ7AKVKN-DfwfUuSw.js → diagram-UQ7AKVKN-qgbC8YnT.js} +1 -1
  22. package/dist/{diagram-VX7I27RA-C9_e-oMc.js → diagram-VX7I27RA-CiHxEwtp.js} +1 -1
  23. package/dist/{diagram-Z3DM3KII-CWLa5tuY.js → diagram-Z3DM3KII-D95u15Ev.js} +1 -1
  24. package/dist/{dialog-DgeqyrEZ.js → dialog-DVRfQuhD.js} +24 -24
  25. package/dist/{dist-F8Ep36rk.js → dist-B1M0bGO3.js} +1 -1
  26. package/dist/{dist-D6d86eNJ.js → dist-BA13RJj5.js} +1 -1
  27. package/dist/{dist-Bvs24R_E.js → dist-BJtmSgcE.js} +48 -48
  28. package/dist/{dist-CN_BeG2I.js → dist-Ba2VIn1K.js} +53 -53
  29. package/dist/{dist-PXYI_yuP.js → dist-Bj4bmwUm.js} +12 -12
  30. package/dist/{dist-DoE4XJBC.js → dist-BmS-ZGjl.js} +8626 -8626
  31. package/dist/{dist-BorMD-uX.js → dist-Bzogh7CW.js} +87 -87
  32. package/dist/{dist-CN8zI-XC.js → dist-CThPVKaP.js} +1385 -1382
  33. package/dist/{dist-DiDibOYr.js → dist-CTi5FTiV.js} +87 -87
  34. package/dist/{dist-diIx5qJW.js → dist-Ck_C32ye.js} +2 -2
  35. package/dist/{dist-BLfKmR-l.js → dist-D1fnFp1J.js} +1 -1
  36. package/dist/{dist-OR1OnN-y.js → dist-D3x9__Fu.js} +46 -46
  37. package/dist/{dist-BMQf5zIS.js → dist-D7mrh5sO.js} +36 -36
  38. package/dist/{dist-CSJ0MDRw.js → dist-D9Q3xjiP.js} +1 -1
  39. package/dist/{dist-BuaRHxOc.js → dist-DP60Ubh8.js} +2 -2
  40. package/dist/{dist-CSbh1PNP.js → dist-DTv9KkpW.js} +12 -12
  41. package/dist/{dist-D-wwqlzJ.js → dist-DVVwOfrD.js} +109 -109
  42. package/dist/{dist-C8fAKSH1.js → dist-DYXM73-k.js} +36 -36
  43. package/dist/{dist-DBtSl3sf.js → dist-DjeybPOb.js} +1 -1
  44. package/dist/{dist-CrSP_H1M.js → dist-DtGn9N4h.js} +197 -197
  45. package/dist/{dist-CLdpGQVr.js → dist-KN80qWCP.js} +2 -2
  46. package/dist/{dist-Cg7gzw-a.js → dist-O0qFpEJh.js} +56 -56
  47. package/dist/{dist-CkTTIdBe.js → dist-OUle2RT7.js} +207 -207
  48. package/dist/{dist-BK4Oj99o.js → dist-T5rh6JvL.js} +1 -1
  49. package/dist/{dropdown-menu-B6ftyzOg.js → dropdown-menu-DCMbbQ35.js} +691 -691
  50. package/dist/{ebnfDiagram-PWID7BFC-B1QRM58v.js → ebnfDiagram-PWID7BFC-P7e4bryK.js} +2 -2
  51. package/dist/{erDiagram-RLTQ6QDP-DJK_FqvW.js → erDiagram-RLTQ6QDP-CUHZcmRj.js} +1 -1
  52. package/dist/{error-banner-D40pmfQQ.js → error-banner-DxJ3s8YO.js} +57 -57
  53. package/dist/{error-entries-DgK3wUJR.js → error-entries-mpoD5t79.js} +4985 -5006
  54. package/dist/{esm-D2gTsXEV.js → esm-Bbw_Njjx.js} +575 -575
  55. package/dist/{esm-AMFssoNp.js → esm-mDQNEFe_.js} +354 -354
  56. package/dist/{feedback-button-8a6SETmT.js → feedback-button-DL0DJ-LB.js} +30 -30
  57. package/dist/{flowDiagram-HODETNUW-Uxc25XSJ.js → flowDiagram-HODETNUW-BGZ95AzI.js} +2 -2
  58. package/dist/{formats-DQCyPd5Z.js → formats-DI7HEVv7.js} +1 -1
  59. package/dist/{glide-data-editor-B70oke_v.js → glide-data-editor-n4wnx19S.js} +10 -10
  60. package/dist/{glide-utils-Dz_F4pAY.js → glide-utils-D98laidb.js} +2 -2
  61. package/dist/{globals-Cxd5hNlI.js → globals-NCsYyjpB.js} +3 -3
  62. package/dist/{html-to-image-D4yG5Ru0.js → html-to-image-BoZthB4P.js} +467 -458
  63. package/dist/{infoDiagram-27XIBGKW-DmjxqwL0.js → infoDiagram-27XIBGKW-BF0YX70D.js} +1 -1
  64. package/dist/{ishikawaDiagram-5VMMS53U-NgCLHqQi.js → ishikawaDiagram-5VMMS53U-_itsAAn-.js} +1 -1
  65. package/dist/{kanban-definition-UXKFOSKX-CZaG-iam.js → kanban-definition-UXKFOSKX-VNW2Beqh.js} +1 -1
  66. package/dist/{label-D9_-zSg-.js → label-Qvw1E97W.js} +1 -1
  67. package/dist/main.js +8257 -6606
  68. package/dist/{mermaid-CSvw7c71.js → mermaid-CZ6FrClS.js} +35 -35
  69. package/dist/{mindmap-definition-YA3MSWOX-DJYQBDH_.js → mindmap-definition-YA3MSWOX-DR4ripvd.js} +1 -1
  70. package/dist/{number-overlay-editor-ChK-SKUk.js → number-overlay-editor-rlvo4mo3.js} +1 -1
  71. package/dist/{pegDiagram-XKGWAZYB-CHKO_dAe.js → pegDiagram-XKGWAZYB-CFr3XlGl.js} +2 -2
  72. package/dist/{pieDiagram-E7YTZNPT-DVevbMAo.js → pieDiagram-E7YTZNPT-j91XYSLY.js} +1 -1
  73. package/dist/{process-output-DxvBAeL3.js → process-output-DLS4Mqg_.js} +4 -4
  74. package/dist/{railroadDiagram-O6MQD6OU-Detj1kcB.js → railroadDiagram-O6MQD6OU-Cd47ZV9E.js} +2 -2
  75. package/dist/{requirementDiagram-BXWQKSXE-BLFD0T_Z.js → requirementDiagram-BXWQKSXE-eJH6gLtX.js} +1 -1
  76. package/dist/{reveal-component-CXMXeDZD.js → reveal-component-BJfmRUzb.js} +9 -9
  77. package/dist/{select-CkF_GBxO.js → select-2KOiReNY.js} +324 -324
  78. package/dist/{sequenceDiagram-WJ2MYXX4-BZBgatQV.js → sequenceDiagram-WJ2MYXX4-DdfFEIrm.js} +1 -1
  79. package/dist/{spec-Mnkn3XEr.js → spec-h69nC3SI.js} +4 -4
  80. package/dist/{stateDiagram-D77RDMKH-4BZW9-6_.js → stateDiagram-D77RDMKH-DkjDvip8.js} +2 -2
  81. package/dist/{stateDiagram-v2-MP3YSRHH-C4sKC8Iq.js → stateDiagram-v2-MP3YSRHH-DBHACnOo.js} +2 -2
  82. package/dist/{swimlanes-42K2YHIH-SL5yeGe2.js → swimlanes-42K2YHIH-ogImlOmp.js} +1 -1
  83. package/dist/{swimlanesDiagram-VR7AAH4N-DqPmAYUv.js → swimlanesDiagram-VR7AAH4N-D6x-zsci.js} +2 -2
  84. package/dist/{timeline-definition-24CTP7MA-BfXUMWkq.js → timeline-definition-24CTP7MA-DQpLtsHD.js} +1 -1
  85. package/dist/{toDate-TMubKIVL.js → toDate-CDzoofJo.js} +2 -2
  86. package/dist/{toast-Btbve3Lm.js → toast-B5t9o6s_.js} +47 -47
  87. package/dist/{tooltip-CJ4Rqasp.js → tooltip-s4zZxwKe.js} +67 -67
  88. package/dist/{use-restore-focus-CmGwRNId.js → use-restore-focus-BgDTd2tc.js} +1 -1
  89. package/dist/{useAsyncData-DjMGFzFy.js → useAsyncData-Bn8SxUqM.js} +1 -1
  90. package/dist/{useDateFormatter-eCL_SdeG.js → useDateFormatter-D3Tkfzej.js} +2 -2
  91. package/dist/{useDeepCompareMemoize-BQR5TJot.js → useDeepCompareMemoize-CC2tnPCk.js} +1 -1
  92. package/dist/{useLifecycle-C_GvKWbQ.js → useLifecycle-BJlxHqWa.js} +2 -2
  93. package/dist/{useTheme-Bns2gJZ6.js → useTheme-DMfQYmlG.js} +85 -85
  94. package/dist/{vega-component-BsVptuhz.js → vega-component-CovWHi60.js} +7 -7
  95. package/dist/{vennDiagram-4TSXK5OY-CH65znGa.js → vennDiagram-4TSXK5OY-BD-SL_vq.js} +1 -1
  96. package/dist/{wardleyDiagram-VM6X3IG4-z9pWKb2_.js → wardleyDiagram-VM6X3IG4-BDgJV4ah.js} +1 -1
  97. package/dist/{xychartDiagram-S5SC5T6Z-MxyaWjjq.js → xychartDiagram-S5SC5T6Z-1hIHN6Rl.js} +1 -1
  98. package/package.json +1 -1
  99. package/src/__mocks__/document.tsx +54 -0
  100. package/src/__mocks__/notebook.ts +2 -1
  101. package/src/__mocks__/requests.ts +0 -2
  102. package/src/components/chat/chat-panel.tsx +3 -3
  103. package/src/components/datasources/__tests__/column-preview.test.tsx +6 -8
  104. package/src/components/datasources/column-preview.tsx +4 -8
  105. package/src/components/datasources/datasources.tsx +4 -3
  106. package/src/components/dependency-graph/minimap-content.tsx +2 -6
  107. package/src/components/dependency-graph/panels.tsx +2 -1
  108. package/src/components/editor/__tests__/Output.test.tsx +50 -32
  109. package/src/components/editor/__tests__/data-attributes.test.tsx +22 -11
  110. package/src/components/editor/__tests__/output-persistence.test.tsx +6 -1
  111. package/src/components/editor/actions/__tests__/name-cell-input.test.tsx +69 -0
  112. package/src/components/editor/actions/name-cell-input.tsx +4 -3
  113. package/src/components/editor/actions/useCellActionButton.tsx +20 -26
  114. package/src/components/editor/actions/useNotebookActions.tsx +13 -18
  115. package/src/components/editor/actions/useSetCodeVisibility.ts +10 -11
  116. package/src/components/editor/actions/useSetOutputsExpanded.ts +13 -18
  117. package/src/components/editor/cell/CreateCellButton.tsx +5 -9
  118. package/src/components/editor/cell/__tests__/StagedAICell.test.tsx +3 -1
  119. package/src/components/editor/cell/code/cell-editor.tsx +13 -20
  120. package/src/components/editor/cell/useAddCell.ts +4 -8
  121. package/src/components/editor/cell/useDeleteCell.tsx +10 -36
  122. package/src/components/editor/cell/useRunCells.ts +2 -5
  123. package/src/components/editor/cell/useSplitCell.tsx +2 -1
  124. package/src/components/editor/chrome/panels/logs-panel.tsx +2 -1
  125. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -11
  126. package/src/components/editor/chrome/wrapper/__tests__/pending-ai-cells.test.tsx +3 -1
  127. package/src/components/editor/columns/sortable-column.tsx +1 -1
  128. package/src/components/editor/connections/components.tsx +4 -9
  129. package/src/components/editor/controls/Controls.tsx +1 -1
  130. package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +9 -3
  131. package/src/components/editor/documentation.css +34 -11
  132. package/src/components/editor/errors/auto-fix.tsx +4 -8
  133. package/src/components/editor/file-tree/file-explorer.tsx +3 -7
  134. package/src/components/editor/links/__tests__/cell-link.test.tsx +3 -1
  135. package/src/components/editor/links/cell-link.tsx +2 -1
  136. package/src/components/editor/navigation/__tests__/clipboard.test.ts +60 -38
  137. package/src/components/editor/navigation/__tests__/navigation.test.ts +73 -64
  138. package/src/components/editor/navigation/clipboard.ts +12 -11
  139. package/src/components/editor/navigation/multi-cell-action-toolbar.tsx +11 -20
  140. package/src/components/editor/navigation/navigation.ts +20 -28
  141. package/src/components/editor/notebook-cell.tsx +7 -10
  142. package/src/components/editor/output/console/__tests__/ConsoleOutput.test.tsx +125 -69
  143. package/src/components/editor/renderers/cell-array.tsx +10 -17
  144. package/src/components/markdown/markdown-renderer.tsx +4 -8
  145. package/src/components/pages/edit-page.tsx +32 -17
  146. package/src/components/scratchpad/scratchpad.test.tsx +3 -1
  147. package/src/components/scratchpad/scratchpad.tsx +4 -7
  148. package/src/components/slides/__tests__/minimap-actions.test.tsx +9 -25
  149. package/src/components/slides/minimap.tsx +7 -3
  150. package/src/components/slides/slide-cell-view.tsx +3 -3
  151. package/src/components/sort/SortableCellsProvider.tsx +2 -1
  152. package/src/core/ai/__tests__/staged-cells.test.ts +18 -20
  153. package/src/core/ai/staged-cells.ts +8 -16
  154. package/src/core/ai/tools/__tests__/edit-notebook-tool.test.ts +2 -2
  155. package/src/core/ai/tools/__tests__/run-cells-tool.test.ts +2 -2
  156. package/src/core/ai/tools/base.ts +2 -2
  157. package/src/core/ai/tools/edit-notebook-tool.ts +13 -21
  158. package/src/core/cells/__tests__/actions.test.ts +474 -34
  159. package/src/core/cells/__tests__/add-missing-import.test.ts +7 -8
  160. package/src/core/cells/__tests__/cells.test.ts +251 -861
  161. package/src/core/cells/__tests__/document.test.ts +42 -38
  162. package/src/core/cells/__tests__/notebook-outline.test.ts +7 -1
  163. package/src/core/cells/__tests__/outputs.test.tsx +71 -53
  164. package/src/core/cells/actions.ts +391 -3
  165. package/src/core/cells/add-missing-import.ts +46 -42
  166. package/src/core/cells/cells.ts +73 -444
  167. package/src/core/cells/document.ts +38 -6
  168. package/src/core/cells/outputs.ts +12 -28
  169. package/src/core/codemirror/cells/extensions.ts +6 -6
  170. package/src/core/codemirror/cells/state.ts +1 -1
  171. package/src/core/codemirror/keymaps/vim.ts +2 -2
  172. package/src/core/edit-app.tsx +20 -25
  173. package/src/core/islands/__tests__/bootstrap.test.ts +56 -0
  174. package/src/core/islands/__tests__/bridge.test.ts +42 -0
  175. package/src/core/islands/bootstrap.ts +24 -1
  176. package/src/core/islands/bridge.ts +46 -5
  177. package/src/core/kernel/__tests__/handlers.test.ts +7 -153
  178. package/src/core/kernel/handlers.ts +18 -59
  179. package/src/core/network/__tests__/requests-lazy.test.ts +1 -3
  180. package/src/core/network/requests-lazy.ts +0 -2
  181. package/src/core/network/requests-network.ts +0 -16
  182. package/src/core/network/requests-static.ts +0 -2
  183. package/src/core/network/requests-toasting.tsx +0 -2
  184. package/src/core/network/types.ts +0 -7
  185. package/src/core/notebook/document/__tests__/codemirror.test.ts +5 -0
  186. package/src/core/notebook/document/__tests__/draft.test.ts +41 -0
  187. package/src/core/notebook/document/__tests__/state.test.ts +21 -0
  188. package/src/core/notebook/document/draft.ts +35 -5
  189. package/src/core/notebook/document/index.ts +1 -0
  190. package/src/core/notebook/document/state.ts +6 -2
  191. package/src/core/run-app.tsx +1 -7
  192. package/src/core/session/__tests__/useNotebookSession.hook.test.tsx +0 -6
  193. package/src/core/session/useNotebookSession.tsx +28 -35
  194. package/src/core/wasm/bridge.ts +0 -16
  195. package/src/css/globals.css +56 -22
  196. package/src/stories/runtime-story.tsx +22 -15
@@ -3,7 +3,7 @@ import { n, t as r } from "./src-CA_m4ONl.js";
3
3
  import { n as i } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
4
4
  import { A as a, F as o, G as s, H as c, K as l, O as u, U as d, a as f, b as p, c as m, i as h, r as g, s as _, v, w as y, x as b, y as x, z as S } from "./chunk-DU6HZSFF-BwiyaNpg.js";
5
5
  import { t as C } from "./dist-DUAh96QY.js";
6
- import { a as w, i as T } from "./mermaid-CSvw7c71.js";
6
+ import { a as w, i as T } from "./mermaid-CZ6FrClS.js";
7
7
  import { a as E, c as D, i as O, n as k, r as A, s as j } from "./chunk-F27PBJKO-ufseIn5y.js";
8
8
  import { t as M } from "./chunk-2Q5K7J3B-BMkUkeuy.js";
9
9
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WJ2MYXX4.mjs
@@ -1,7 +1,7 @@
1
- import { m as e } from "./tooltip-CJ4Rqasp.js";
2
- import { s as t } from "./useLifecycle-C_GvKWbQ.js";
3
- import { i as n, o as r } from "./useDateFormatter-eCL_SdeG.js";
4
- import { C as i } from "./select-CkF_GBxO.js";
1
+ import { m as e } from "./tooltip-s4zZxwKe.js";
2
+ import { s as t } from "./useLifecycle-BJlxHqWa.js";
3
+ import { i as n, o as r } from "./useDateFormatter-D3Tkfzej.js";
4
+ import { C as i } from "./select-2KOiReNY.js";
5
5
  var a = e("align-center-vertical", [
6
6
  ["path", {
7
7
  d: "M12 2v20",
@@ -12,11 +12,11 @@ import "./chunk-4HAMMTFA-D4eFPyFh.js";
12
12
  import "./chunk-GVQU2GXP-Cwbt-lF0.js";
13
13
  import "./chunk-L3NEJ4N5-n-zgIVSy.js";
14
14
  import "./chunk-OSK3NFVY-DXa-Cxbn.js";
15
- import "./mermaid-CSvw7c71.js";
15
+ import "./mermaid-CZ6FrClS.js";
16
16
  import "./chunk-F27PBJKO-ufseIn5y.js";
17
17
  import "./chunk-XXDRQBXY-Dnl5VBqG.js";
18
18
  import "./chunk-POPQ4Y6H-hYOXbYH_.js";
19
- import { i as f, n as p, t as m } from "./chunk-IMKFNOWR-6dtPz7uS.js";
19
+ import { i as f, n as p, t as m } from "./chunk-IMKFNOWR-Cmd4a5jy.js";
20
20
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-D77RDMKH.mjs
21
21
  var h = /* @__PURE__ */ s((e) => e.append("circle").attr("class", "start-state").attr("r", d().state.sizeUnit).attr("cx", d().state.padding + d().state.sizeUnit).attr("cy", d().state.padding + d().state.sizeUnit), "drawStartState"), g = /* @__PURE__ */ s((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", d().state.textHeight).attr("class", "divider").attr("x2", d().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), _ = /* @__PURE__ */ s((e, t) => {
22
22
  let n = e.append("text").attr("x", 2 * d().state.padding).attr("y", d().state.textHeight + 2 * d().state.padding).attr("font-size", d().state.fontSize).attr("class", "state-title").text(t.id), r = n.node().getBBox();
@@ -9,11 +9,11 @@ import "./chunk-4HAMMTFA-D4eFPyFh.js";
9
9
  import "./chunk-GVQU2GXP-Cwbt-lF0.js";
10
10
  import "./chunk-L3NEJ4N5-n-zgIVSy.js";
11
11
  import "./chunk-OSK3NFVY-DXa-Cxbn.js";
12
- import "./mermaid-CSvw7c71.js";
12
+ import "./mermaid-CZ6FrClS.js";
13
13
  import "./chunk-F27PBJKO-ufseIn5y.js";
14
14
  import "./chunk-XXDRQBXY-Dnl5VBqG.js";
15
15
  import "./chunk-POPQ4Y6H-hYOXbYH_.js";
16
- import { i as t, n, r, t as i } from "./chunk-IMKFNOWR-6dtPz7uS.js";
16
+ import { i as t, n, r, t as i } from "./chunk-IMKFNOWR-Cmd4a5jy.js";
17
17
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-MP3YSRHH.mjs
18
18
  var a = {
19
19
  parser: n,
@@ -9,7 +9,7 @@ import "./chunk-4HAMMTFA-D4eFPyFh.js";
9
9
  import "./chunk-GVQU2GXP-Cwbt-lF0.js";
10
10
  import "./chunk-L3NEJ4N5-n-zgIVSy.js";
11
11
  import { o as n } from "./chunk-OSK3NFVY-DXa-Cxbn.js";
12
- import { c as r } from "./mermaid-CSvw7c71.js";
12
+ import { c as r } from "./mermaid-CZ6FrClS.js";
13
13
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/swimlanes-42K2YHIH.mjs
14
14
  var i = 5, a = 1e-5, o = 1e-6;
15
15
  function s(e) {
@@ -9,11 +9,11 @@ import "./chunk-4HAMMTFA-D4eFPyFh.js";
9
9
  import "./chunk-GVQU2GXP-Cwbt-lF0.js";
10
10
  import "./chunk-L3NEJ4N5-n-zgIVSy.js";
11
11
  import "./chunk-OSK3NFVY-DXa-Cxbn.js";
12
- import "./mermaid-CSvw7c71.js";
12
+ import "./mermaid-CZ6FrClS.js";
13
13
  import "./chunk-F27PBJKO-ufseIn5y.js";
14
14
  import "./chunk-XXDRQBXY-Dnl5VBqG.js";
15
15
  import "./chunk-POPQ4Y6H-hYOXbYH_.js";
16
- import { r as t, t as n } from "./chunk-SHT3W25Y-BwnFNKDA.js";
16
+ import { r as t, t as n } from "./chunk-SHT3W25Y-mSNp-WpO.js";
17
17
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/swimlanesDiagram-VR7AAH4N.mjs
18
18
  var r = n({
19
19
  defaultLayout: "swimlane",
@@ -3,7 +3,7 @@ import { p as t } from "./chunk-75Z2AOVW-D7gxIs2Q.js";
3
3
  import { n, t as r } from "./src-CA_m4ONl.js";
4
4
  import { n as i, t as a } from "./chunk-Y2CYZVJY-DKKS1VyV.js";
5
5
  import { $ as o, J as s, a as c, b as l, et as u, nt as d, o as f, x as p } from "./chunk-DU6HZSFF-BwiyaNpg.js";
6
- import { p as m } from "./mermaid-CSvw7c71.js";
6
+ import { p as m } from "./mermaid-CZ6FrClS.js";
7
7
  //#region ../node_modules/.pnpm/mermaid@11.17.2/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-24CTP7MA.mjs
8
8
  var h = (function() {
9
9
  var e = /* @__PURE__ */ i(function(e, t, n, r) {
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { g as t } from "./button-BQRdqQi1.js";
3
3
  import { t as n } from "./compiler-runtime-CldRdSsv.js";
4
- import { m as r } from "./tooltip-CJ4Rqasp.js";
5
- import { D as i, _ as a, a as o, w as s, x as c } from "./useTheme-Bns2gJZ6.js";
4
+ import { m as r } from "./tooltip-s4zZxwKe.js";
5
+ import { D as i, _ as a, a as o, w as s, x as c } from "./useTheme-DMfQYmlG.js";
6
6
  import { t as l } from "./invariant-DLmrl-hA.js";
7
7
  var u = r("circle-question-mark", [
8
8
  ["circle", {
@@ -2,11 +2,11 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { h as t, p as n, r } from "./button-BQRdqQi1.js";
3
3
  import { t as i } from "./react-sHtZdjeP.js";
4
4
  import { t as a } from "./compiler-runtime-CldRdSsv.js";
5
- import { p as o } from "./tooltip-CJ4Rqasp.js";
6
- import { A as s, O as c } from "./select-CkF_GBxO.js";
5
+ import { p as o } from "./tooltip-s4zZxwKe.js";
6
+ import { A as s, O as c } from "./select-2KOiReNY.js";
7
7
  import { t as l } from "./react-dom-DUmH0GXv.js";
8
8
  import { t as u } from "./jsx-runtime-3BD1kT0s.js";
9
- import { Ct as d, Dt as f, Et as p, St as ee, Tt as m, _t as h, ft as g, vt as te, wt as _, xt as ne, yt as v } from "./use-restore-focus-CmGwRNId.js";
9
+ import { At as d, Dt as f, Et as p, Ot as m, St as h, Tt as g, bt as ee, ht as te, kt as _, wt as v, xt as ne } from "./use-restore-focus-BgDTd2tc.js";
10
10
  //#region ../node_modules/.pnpm/@radix-ui+react-toast@1.3.1_@types+react-dom@19.3.0_@types+react@19.3.0__@types+react@1_9e7c08a11157ed276bff36e462c11a8f/node_modules/@radix-ui/react-toast/dist/index.mjs
11
11
  var y = /* @__PURE__ */ e(i(), 1), re = /* @__PURE__ */ e(l(), 1), b = u(), x = Object.defineProperty, S = (e, t) => x(e, "name", {
12
12
  value: t,
@@ -27,9 +27,9 @@ S(O, "scheduleUpdate");
27
27
  var ue = /* @__PURE__ */ S((e) => {
28
28
  let { __scopeToast: t, label: n = "Notification", duration: r = 5e3, swipeDirection: i = w.Right, swipeThreshold: a = 50, announcerContainer: o, children: s } = e, [c, l] = y.useState(null), [u, d] = y.useState(0), f = y.useRef(!1), p = y.useCallback((e) => {
29
29
  O(() => l(e));
30
- }, []), ee = y.useCallback(() => {
31
- O(() => d((e) => e + 1));
32
30
  }, []), m = y.useCallback(() => {
31
+ O(() => d((e) => e + 1));
32
+ }, []), h = y.useCallback(() => {
33
33
  O(() => d((e) => e - 1));
34
34
  }, []);
35
35
  return n.trim() || console.error(`Invalid prop \`label\` supplied to \`${ae}\`. Expected non-empty \`string\`.`), /* @__PURE__ */ (0, b.jsx)(oe.Provider, {
@@ -43,15 +43,15 @@ var ue = /* @__PURE__ */ S((e) => {
43
43
  toastCount: u,
44
44
  viewport: c,
45
45
  onViewportChange: p,
46
- onToastAdd: ee,
47
- onToastRemove: m,
46
+ onToastAdd: m,
47
+ onToastRemove: h,
48
48
  isClosePausedRef: f,
49
49
  announcerContainer: o,
50
50
  children: s
51
51
  })
52
52
  });
53
53
  }, "ToastProvider"), de = "ToastViewport", k = ["F8"], fe = "toast.viewportPause", pe = "toast.viewportResume", A = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
54
- let { __scopeToast: r, hotkey: i = k, label: a = "Notifications ({hotkey})", ...o } = e, s = D(de, r), c = se(r), l = y.useRef(null), u = y.useRef(null), d = y.useRef(null), f = y.useRef(null), ee = n(t, f, s.onViewportChange), m = i.join("+").replace(/Key/g, "").replace(/Digit/g, ""), h = s.toastCount > 0;
54
+ let { __scopeToast: r, hotkey: i = k, label: a = "Notifications ({hotkey})", ...o } = e, s = D(de, r), c = se(r), l = y.useRef(null), u = y.useRef(null), d = y.useRef(null), f = y.useRef(null), p = n(t, f, s.onViewportChange), m = i.join("+").replace(/Key/g, "").replace(/Digit/g, ""), h = s.toastCount > 0;
55
55
  y.useEffect(() => {
56
56
  let e = /* @__PURE__ */ S((e) => {
57
57
  i.length !== 0 && i.every((t) => e[t] || e.code === t) && f.current?.focus();
@@ -104,7 +104,7 @@ var ue = /* @__PURE__ */ S((e) => {
104
104
  }, "handleKeyDown");
105
105
  return e.addEventListener("keydown", t), () => e.removeEventListener("keydown", t);
106
106
  }
107
- }, [c, g]), /* @__PURE__ */ (0, b.jsxs)(te, {
107
+ }, [c, g]), /* @__PURE__ */ (0, b.jsxs)(ne, {
108
108
  ref: l,
109
109
  role: "region",
110
110
  "aria-label": a.replace("{hotkey}", m),
@@ -119,10 +119,10 @@ var ue = /* @__PURE__ */ S((e) => {
119
119
  }),
120
120
  /* @__PURE__ */ (0, b.jsx)(oe.Slot, {
121
121
  scope: r,
122
- children: /* @__PURE__ */ (0, b.jsx)(p.ol, {
122
+ children: /* @__PURE__ */ (0, b.jsx)(_.ol, {
123
123
  tabIndex: -1,
124
124
  ...o,
125
- ref: ee
125
+ ref: p
126
126
  })
127
127
  }),
128
128
  h && /* @__PURE__ */ (0, b.jsx)(he, {
@@ -146,45 +146,45 @@ var ue = /* @__PURE__ */ S((e) => {
146
146
  }
147
147
  });
148
148
  }, "ToastFocusProxy")), j = "Toast", ge = "toast.swipeStart", _e = "toast.swipeMove", ve = "toast.swipeCancel", ye = "toast.swipeEnd", be = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
149
- let { forceMount: n, open: r, defaultOpen: i, onOpenChange: a, ...o } = e, [s, c] = ee({
149
+ let { forceMount: n, open: r, defaultOpen: i, onOpenChange: a, ...o } = e, [s, c] = g({
150
150
  prop: r,
151
151
  defaultProp: i ?? !0,
152
152
  onChange: a,
153
153
  caller: j
154
154
  });
155
- return /* @__PURE__ */ (0, b.jsx)(ne, {
155
+ return /* @__PURE__ */ (0, b.jsx)(v, {
156
156
  present: n || s,
157
157
  children: /* @__PURE__ */ (0, b.jsx)(Ce, {
158
158
  open: s,
159
159
  ...o,
160
160
  ref: t,
161
161
  onClose: () => c(!1),
162
- onPause: v(e.onPause),
163
- onResume: v(e.onResume),
164
- onSwipeStart: d(e.onSwipeStart, (e) => {
162
+ onPause: h(e.onPause),
163
+ onResume: h(e.onResume),
164
+ onSwipeStart: p(e.onSwipeStart, (e) => {
165
165
  e.currentTarget.setAttribute("data-swipe", "start");
166
166
  }),
167
- onSwipeMove: d(e.onSwipeMove, (e) => {
167
+ onSwipeMove: p(e.onSwipeMove, (e) => {
168
168
  let { x: t, y: n } = e.detail.delta;
169
169
  e.currentTarget.setAttribute("data-swipe", "move"), e.currentTarget.style.setProperty("--radix-toast-swipe-move-x", `${t}px`), e.currentTarget.style.setProperty("--radix-toast-swipe-move-y", `${n}px`);
170
170
  }),
171
- onSwipeCancel: d(e.onSwipeCancel, (e) => {
171
+ onSwipeCancel: p(e.onSwipeCancel, (e) => {
172
172
  e.currentTarget.setAttribute("data-swipe", "cancel"), e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"), e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"), e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"), e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y");
173
173
  }),
174
- onSwipeEnd: d(e.onSwipeEnd, (e) => {
174
+ onSwipeEnd: p(e.onSwipeEnd, (e) => {
175
175
  let { x: t, y: n } = e.detail.delta;
176
176
  e.currentTarget.setAttribute("data-swipe", "end"), e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"), e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"), e.currentTarget.style.setProperty("--radix-toast-swipe-end-x", `${t}px`), e.currentTarget.style.setProperty("--radix-toast-swipe-end-y", `${n}px`), c(!1);
177
177
  })
178
178
  })
179
179
  });
180
180
  }, "Toast")), [xe, Se] = T(j, { onClose() {} }), Ce = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
181
- let { __scopeToast: r, type: i = ce.Foreground, duration: a, open: o, onClose: s, onEscapeKeyDown: c, onPause: l, onResume: u, onSwipeStart: f, onSwipeMove: ee, onSwipeCancel: m, onSwipeEnd: g, ...te } = e, _ = D(j, r), ne = se(r), [x, ie] = y.useState(null), ae = n(t, ie), C = y.useRef(null), w = y.useRef(null), T = a || _.duration, le = y.useRef(0), E = y.useRef(T), O = y.useRef(0), { onToastAdd: ue, onToastRemove: de } = _, k = v(() => {
182
- x?.contains(document.activeElement) && _.viewport?.focus(), s();
181
+ let { __scopeToast: r, type: i = ce.Foreground, duration: a, open: o, onClose: s, onEscapeKeyDown: c, onPause: l, onResume: u, onSwipeStart: d, onSwipeMove: f, onSwipeCancel: m, onSwipeEnd: g, ...te } = e, v = D(j, r), ne = se(r), [x, ie] = y.useState(null), ae = n(t, ie), C = y.useRef(null), w = y.useRef(null), T = a || v.duration, le = y.useRef(0), E = y.useRef(T), O = y.useRef(0), { onToastAdd: ue, onToastRemove: de } = v, k = h(() => {
182
+ x?.contains(document.activeElement) && v.viewport?.focus(), s();
183
183
  }), A = y.useCallback((e) => {
184
184
  !e || e === Infinity || (window.clearTimeout(O.current), le.current = (/* @__PURE__ */ new Date()).getTime(), O.current = window.setTimeout(k, e));
185
185
  }, [k]);
186
186
  y.useEffect(() => {
187
- let e = _.viewport;
187
+ let e = v.viewport;
188
188
  if (e) {
189
189
  let t = /* @__PURE__ */ S(() => {
190
190
  A(E.current), u?.();
@@ -197,23 +197,23 @@ var ue = /* @__PURE__ */ S((e) => {
197
197
  };
198
198
  }
199
199
  }, [
200
- _.viewport,
200
+ v.viewport,
201
201
  T,
202
202
  l,
203
203
  u,
204
204
  A
205
205
  ]), y.useEffect(() => {
206
- E.current = T, o && !_.isClosePausedRef.current && A(T);
206
+ E.current = T, o && !v.isClosePausedRef.current && A(T);
207
207
  }, [
208
208
  o,
209
209
  T,
210
- _.isClosePausedRef,
210
+ v.isClosePausedRef,
211
211
  A
212
212
  ]), y.useEffect(() => () => {
213
213
  window.clearTimeout(O.current);
214
214
  }, []), y.useEffect(() => (ue(), () => de()), [ue, de]);
215
215
  let me = y.useMemo(() => x ? Me(x) : null, [x]);
216
- return _.viewport ? /* @__PURE__ */ (0, b.jsxs)(b.Fragment, { children: [me && /* @__PURE__ */ (0, b.jsx)(we, {
216
+ return v.viewport ? /* @__PURE__ */ (0, b.jsxs)(b.Fragment, { children: [me && /* @__PURE__ */ (0, b.jsx)(we, {
217
217
  __scopeToast: r,
218
218
  role: "status",
219
219
  "aria-live": i === ce.Foreground ? "assertive" : "polite",
@@ -223,15 +223,15 @@ var ue = /* @__PURE__ */ S((e) => {
223
223
  onClose: k,
224
224
  children: re.createPortal(/* @__PURE__ */ (0, b.jsx)(oe.ItemSlot, {
225
225
  scope: r,
226
- children: /* @__PURE__ */ (0, b.jsx)(h, {
226
+ children: /* @__PURE__ */ (0, b.jsx)(ee, {
227
227
  asChild: !0,
228
- onEscapeKeyDown: d(c, (e) => {
228
+ onEscapeKeyDown: p(c, (e) => {
229
229
  ne().some((t) => t.ref.current?.contains(e.target)) || k();
230
230
  }),
231
- children: /* @__PURE__ */ (0, b.jsx)(p.li, {
231
+ children: /* @__PURE__ */ (0, b.jsx)(_.li, {
232
232
  tabIndex: 0,
233
233
  "data-state": o ? "open" : "closed",
234
- "data-swipe-direction": _.swipeDirection,
234
+ "data-swipe-direction": v.swipeDirection,
235
235
  ...te,
236
236
  ref: ae,
237
237
  style: {
@@ -239,46 +239,46 @@ var ue = /* @__PURE__ */ S((e) => {
239
239
  touchAction: "none",
240
240
  ...e.style
241
241
  },
242
- onKeyDown: d(e.onKeyDown, (e) => {
242
+ onKeyDown: p(e.onKeyDown, (e) => {
243
243
  e.key === "Escape" && (c?.(e.nativeEvent), e.nativeEvent.defaultPrevented || k());
244
244
  }),
245
- onPointerDown: d(e.onPointerDown, (e) => {
245
+ onPointerDown: p(e.onPointerDown, (e) => {
246
246
  e.button === 0 && (C.current = {
247
247
  x: e.clientX,
248
248
  y: e.clientY
249
249
  });
250
250
  }),
251
- onPointerMove: d(e.onPointerMove, (e) => {
251
+ onPointerMove: p(e.onPointerMove, (e) => {
252
252
  if (!C.current) return;
253
- let t = e.clientX - C.current.x, n = e.clientY - C.current.y, r = !!w.current, i = ["left", "right"].includes(_.swipeDirection), a = ["left", "up"].includes(_.swipeDirection) ? Math.min : Math.max, o = i ? a(0, t) : 0, s = i ? 0 : a(0, n), c = e.pointerType === "touch" ? 10 : 2, l = {
253
+ let t = e.clientX - C.current.x, n = e.clientY - C.current.y, r = !!w.current, i = ["left", "right"].includes(v.swipeDirection), a = ["left", "up"].includes(v.swipeDirection) ? Math.min : Math.max, o = i ? a(0, t) : 0, s = i ? 0 : a(0, n), c = e.pointerType === "touch" ? 10 : 2, l = {
254
254
  x: o,
255
255
  y: s
256
256
  }, u = {
257
257
  originalEvent: e,
258
258
  delta: l
259
259
  };
260
- r ? (w.current = l, M(_e, ee, u, { discrete: !1 })) : Ne(l, _.swipeDirection, c) ? (w.current = l, M(ge, f, u, { discrete: !1 }), e.target.setPointerCapture(e.pointerId)) : (Math.abs(t) > c || Math.abs(n) > c) && (C.current = null);
260
+ r ? (w.current = l, M(_e, f, u, { discrete: !1 })) : Ne(l, v.swipeDirection, c) ? (w.current = l, M(ge, d, u, { discrete: !1 }), e.target.setPointerCapture(e.pointerId)) : (Math.abs(t) > c || Math.abs(n) > c) && (C.current = null);
261
261
  }),
262
- onPointerUp: d(e.onPointerUp, (e) => {
262
+ onPointerUp: p(e.onPointerUp, (e) => {
263
263
  let t = w.current, n = e.target;
264
264
  if (n.hasPointerCapture(e.pointerId) && n.releasePointerCapture(e.pointerId), w.current = null, C.current = null, t) {
265
265
  let n = e.currentTarget, r = {
266
266
  originalEvent: e,
267
267
  delta: t
268
268
  };
269
- Ne(t, _.swipeDirection, _.swipeThreshold) ? M(ye, g, r, { discrete: !0 }) : M(ve, m, r, { discrete: !0 }), n.addEventListener("click", (e) => e.preventDefault(), { once: !0 });
269
+ Ne(t, v.swipeDirection, v.swipeThreshold) ? M(ye, g, r, { discrete: !0 }) : M(ve, m, r, { discrete: !0 }), n.addEventListener("click", (e) => e.preventDefault(), { once: !0 });
270
270
  }
271
271
  })
272
272
  })
273
273
  })
274
- }), _.viewport)
274
+ }), v.viewport)
275
275
  })] }) : null;
276
276
  }, "ToastImpl")), we = /* @__PURE__ */ S((e) => {
277
277
  let { __scopeToast: t, children: n, ...r } = e, i = D(j, t), [a, s] = y.useState(!1), [c, l] = y.useState(!1);
278
278
  return Pe(() => s(!0)), y.useEffect(() => {
279
279
  let e = window.setTimeout(() => l(!0), 1e3);
280
280
  return () => window.clearTimeout(e);
281
- }, []), c ? null : /* @__PURE__ */ (0, b.jsx)(g, {
281
+ }, []), c ? null : /* @__PURE__ */ (0, b.jsx)(te, {
282
282
  asChild: !0,
283
283
  container: i.announcerContainer || void 0,
284
284
  children: /* @__PURE__ */ (0, b.jsx)(o, {
@@ -292,13 +292,13 @@ var ue = /* @__PURE__ */ S((e) => {
292
292
  });
293
293
  }, "ToastAnnounce"), Te = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
294
294
  let { __scopeToast: n, ...r } = e;
295
- return /* @__PURE__ */ (0, b.jsx)(p.div, {
295
+ return /* @__PURE__ */ (0, b.jsx)(_.div, {
296
296
  ...r,
297
297
  ref: t
298
298
  });
299
299
  }, "ToastTitle")), Ee = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
300
300
  let { __scopeToast: n, ...r } = e;
301
- return /* @__PURE__ */ (0, b.jsx)(p.div, {
301
+ return /* @__PURE__ */ (0, b.jsx)(_.div, {
302
302
  ...r,
303
303
  ref: t
304
304
  });
@@ -316,16 +316,16 @@ var ue = /* @__PURE__ */ S((e) => {
316
316
  let { __scopeToast: n, ...r } = e, i = Se(ke, n);
317
317
  return /* @__PURE__ */ (0, b.jsx)(je, {
318
318
  asChild: !0,
319
- children: /* @__PURE__ */ (0, b.jsx)(p.button, {
319
+ children: /* @__PURE__ */ (0, b.jsx)(_.button, {
320
320
  type: "button",
321
321
  ...r,
322
322
  ref: t,
323
- onClick: d(e.onClick, i.onClose)
323
+ onClick: p(e.onClick, i.onClose)
324
324
  })
325
325
  });
326
326
  }, "ToastClose")), je = /* @__PURE__ */ y.forwardRef(/* @__PURE__ */ S(function(e, t) {
327
327
  let { __scopeToast: n, altText: r, ...i } = e;
328
- return /* @__PURE__ */ (0, b.jsx)(p.div, {
328
+ return /* @__PURE__ */ (0, b.jsx)(_.div, {
329
329
  "data-radix-toast-announce-exclude": "",
330
330
  "data-radix-toast-announce-alt": r || void 0,
331
331
  ...i,
@@ -353,7 +353,7 @@ function M(e, t, n, { discrete: r }) {
353
353
  cancelable: !0,
354
354
  detail: n
355
355
  });
356
- t && i.addEventListener(e, t, { once: !0 }), r ? f(i, a) : i.dispatchEvent(a);
356
+ t && i.addEventListener(e, t, { once: !0 }), r ? d(i, a) : i.dispatchEvent(a);
357
357
  }
358
358
  S(M, "handleAndDispatchCustomEvent");
359
359
  var Ne = /* @__PURE__ */ S((e, t, n = 0) => {
@@ -361,8 +361,8 @@ var Ne = /* @__PURE__ */ S((e, t, n = 0) => {
361
361
  return t === w.Left || t === w.Right ? a && r > n : !a && i > n;
362
362
  }, "isDeltaInDirection");
363
363
  function Pe(e = () => {}) {
364
- let t = v(e);
365
- _(() => {
364
+ let t = h(e);
365
+ f(() => {
366
366
  let e = 0, n = 0;
367
367
  return e = window.requestAnimationFrame(() => n = window.requestAnimationFrame(t)), () => {
368
368
  window.cancelAnimationFrame(e), window.cancelAnimationFrame(n);