koboyo 0.3.0 → 0.5.0

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 (228) hide show
  1. package/README.md +26 -0
  2. package/assets/editor/assets/ContextMenuTrigger-CXUL1E23.js +1 -0
  3. package/assets/editor/assets/DialogDescription-Ddhk2rmF.js +1 -0
  4. package/assets/editor/assets/DialogRoot-DUeVfNhS.js +1 -0
  5. package/assets/editor/assets/DialogTitle-D5au2NAn.js +1 -0
  6. package/assets/editor/assets/FloatingPortalLite-HnWQWrLk.js +1 -0
  7. package/assets/editor/assets/{IconAlertTriangle-CxPhYpe-.js → IconAlertTriangle-B33xznYN.js} +1 -1
  8. package/assets/editor/assets/{IconArrowLeft-DFk3Krim.js → IconArrowLeft-B4Zcy-Fc.js} +1 -1
  9. package/assets/editor/assets/IconChevronLeft-D7e7QC0h.js +1 -0
  10. package/assets/editor/assets/IconChevronRight-csfMBSUs.js +1 -0
  11. package/assets/editor/assets/{IconCode-hd05zxU4.js → IconCode-CHIz1nCU.js} +1 -1
  12. package/assets/editor/assets/IconCornerDownRight-DDiBMO4O.js +1 -0
  13. package/assets/editor/assets/{IconEraser-DlZQe3-r.js → IconEraser-CYfXj27R.js} +1 -1
  14. package/assets/editor/assets/{IconFocusCentered-C5PcDeR0.js → IconFocusCentered-Cn8rbfRI.js} +1 -1
  15. package/assets/editor/assets/IconHelp-4FIVl1rh.js +2 -0
  16. package/assets/editor/assets/{IconLink-ze4g4Lrj.js → IconLink-VS5p9Ytk.js} +1 -1
  17. package/assets/editor/assets/IconLoader2-CzCTn-Sn.js +1 -0
  18. package/assets/editor/assets/IconMinus-BcaDLts8.js +1 -0
  19. package/assets/editor/assets/{IconMoodSmile-Bic_fw54.js → IconMoodSmile-CSZ5p_Hy.js} +1 -1
  20. package/assets/editor/assets/{IconPencil-C5Y-Y4dC.js → IconPencil-D_pQsAyv.js} +1 -1
  21. package/assets/editor/assets/{IconPhoto-CR36IK-b.js → IconPhoto-5zuCDtnR.js} +1 -1
  22. package/assets/editor/assets/{IconPlayerPlayFilled-D4OODBX7.js → IconPlayerPlayFilled-DVAWmYt7.js} +1 -1
  23. package/assets/editor/assets/{IconPlayerStopFilled-BUbX6ZO5.js → IconPlayerStopFilled-D4qdct2R.js} +1 -1
  24. package/assets/editor/assets/IconPlus-D4tAoi-A.js +1 -0
  25. package/assets/editor/assets/{IconPresentation-DCrY3PKL.js → IconPresentation-BMKzt7fv.js} +1 -1
  26. package/assets/editor/assets/IconReplace-CYUD1RLF.js +1 -0
  27. package/assets/editor/assets/{IconSearch-C1K0_Pq_.js → IconSearch-CCpMt02s.js} +1 -1
  28. package/assets/editor/assets/{IconSparkles-WDcg8BA9.js → IconSparkles-CnCp3BCQ.js} +1 -1
  29. package/assets/editor/assets/{IconTrash-DbN_RxB7.js → IconTrash-C8w6ThWx.js} +1 -1
  30. package/assets/editor/assets/{IconUsers-Bwnyj4mm.js → IconUsers-Dp85N225.js} +1 -1
  31. package/assets/editor/assets/IconX-KrRqxr2j.js +1 -0
  32. package/assets/editor/assets/MenuSubmenuTrigger-BFlIkXYg.js +1 -0
  33. package/assets/editor/assets/PopoverPopup-1zO38CRl.js +1 -0
  34. package/assets/editor/assets/asset-glyph-DjBHkQcP.js +1 -0
  35. package/assets/editor/assets/billing-BSXr-z2r.js +1 -0
  36. package/assets/editor/assets/build-pips-BRf3pMnt.js +1 -0
  37. package/assets/editor/assets/build-visibility-CAmmsnmF.js +1 -0
  38. package/assets/editor/assets/builders-DrWdKwLQ.js +1 -0
  39. package/assets/editor/assets/{chart-Z4HQx-0h.js → chart-CKIxcbcM.js} +4 -4
  40. package/assets/editor/assets/{chrome-layout-B8YmHznO.js → chrome-layout-D5dql-y4.js} +1 -1
  41. package/assets/editor/assets/code-panel-BFikzGNv.js +18 -0
  42. package/assets/editor/assets/color-swatches-CZKb4DxX.js +1 -0
  43. package/assets/editor/assets/command-palette-Uat68wmJ.js +1 -0
  44. package/assets/editor/assets/config-D8b1QyEk.js +1 -0
  45. package/assets/editor/assets/connector-labels-DqVssnYz.js +2 -0
  46. package/assets/editor/assets/copy-image-dialog-C0fXdR1a.js +1 -0
  47. package/assets/editor/assets/core-C1TxysMz.js +1 -0
  48. package/assets/editor/assets/createReactComponent-C51FAx3B.js +1 -0
  49. package/assets/editor/assets/diagram-fingerprint-B-HB8UbR.js +3 -0
  50. package/assets/editor/assets/dialog-DnXgEbpz.js +1 -0
  51. package/assets/editor/assets/{edit-BJ_kibk8.js → edit-B4DMFSZr.js} +1 -1
  52. package/assets/editor/assets/editor-DAJETlQW.js +1 -0
  53. package/assets/editor/assets/{elk-api-DnfklSaw.js → elk-api-C4wlHVIw.js} +1 -1
  54. package/assets/editor/assets/{elk-worker-loader-CC-I9MmI.js → elk-worker-loader-BCdkmVMX.js} +1 -1
  55. package/assets/editor/assets/embed-input-D77Udvni.js +1 -0
  56. package/assets/editor/assets/export-FQTXirjn.js +2 -0
  57. package/assets/editor/assets/export-dialog-KYLeNY3G.js +1 -0
  58. package/assets/editor/assets/export-u442sUQs.js +6 -0
  59. package/assets/editor/assets/flow-layer-B4Q8rktl.js +1 -0
  60. package/assets/editor/assets/flow-panel-DbnavW4w.js +1 -0
  61. package/assets/editor/assets/flow-stage-CSTrNMZF.js +1 -0
  62. package/assets/editor/assets/{flow-start-BKN48uke.js → flow-start-ByhFxEeV.js} +1 -1
  63. package/assets/editor/assets/{flows-GGbkNqs8.js → flows-CGl4r-xb.js} +2 -2
  64. package/assets/editor/assets/{frames-CRP8oPP8.js → frames-DRSLvE9E.js} +1 -1
  65. package/assets/editor/assets/generate-DHP90nDk.js +26 -0
  66. package/assets/editor/assets/icon-picker-DIkw2xYL.js +1 -0
  67. package/assets/editor/assets/image-library-BmoSPV9c.js +1 -0
  68. package/assets/editor/assets/{index-e23lIFZB.css → index-DBrN0u0i.css} +1 -1
  69. package/assets/editor/assets/index-DFwoT1_W.js +25 -0
  70. package/assets/editor/assets/jsx-runtime-DKdBMi_L.js +1 -0
  71. package/assets/editor/assets/layout-offthread-JPTCbsLL.js +18 -0
  72. package/assets/editor/assets/{layout.worker-BIE1_z0S.js → layout.worker-CekYkaxO.js} +2 -2
  73. package/assets/editor/assets/menu-4xb5HtA1.js +1 -0
  74. package/assets/editor/assets/mermaid-paste-2cCwweY0.js +1 -0
  75. package/assets/editor/assets/panel-controls-B0Ccd0XF.js +1 -0
  76. package/assets/editor/assets/{panel-shell-CG2aq4Ia.js → panel-shell-COqmheb-.js} +1 -1
  77. package/assets/editor/assets/plan-D4Jyzo5X.js +1 -0
  78. package/assets/editor/assets/presentation-DNmdm11D.js +1 -0
  79. package/assets/editor/assets/presenter-keys-DLNIsrm5.js +1 -0
  80. package/assets/editor/assets/{jsx-runtime-2Zwg-L3c.js → react-lCSYwAWP.js} +1 -1
  81. package/assets/editor/assets/reflow-C6bvnSVm.js +1 -0
  82. package/assets/editor/assets/registry-d5KleeyB.js +1 -0
  83. package/assets/editor/assets/renderer-environment-D3n3hbug.js +1 -0
  84. package/assets/editor/assets/rich-paste-route-Bx69sREx.js +1 -0
  85. package/assets/editor/assets/ride-overlay-C1TrM7Ki.js +1 -0
  86. package/assets/editor/assets/selection-overlay-primitives-CfOaP5_G.js +1 -0
  87. package/assets/editor/assets/shape-meta-YgfIm0bQ.js +1 -0
  88. package/assets/editor/assets/shape-render-DZscezZk.js +1 -0
  89. package/assets/editor/assets/shapes-D5w8NTQQ.js +11 -0
  90. package/assets/editor/assets/sign-in-dialog-tmQEB2bx.js +1 -0
  91. package/assets/editor/assets/slide-notes-dialog-43EMJFJV.js +1 -0
  92. package/assets/editor/assets/slides-DDNzjFz9.js +5 -0
  93. package/assets/editor/assets/slides-panel-DANnu_nw.js +26 -0
  94. package/assets/editor/assets/text-breaks-DhCXtQrJ.js +7 -0
  95. package/assets/editor/assets/{theme-palette-D1nbDFBC.js → theme-palette-DEq19D0h.js} +1 -1
  96. package/assets/editor/assets/tidy-browser-BdlwTfCT.js +1 -0
  97. package/assets/editor/assets/tidy-scope-REEad7oC.js +1 -0
  98. package/assets/editor/assets/toast-Czv_DJ-4.js +1 -0
  99. package/assets/editor/assets/{tool-catalog-CHq6TJ2q.js → tool-catalog-CIjdZm_C.js} +1 -1
  100. package/assets/editor/assets/tool-drawer-B-Ys7Rsn.js +1 -0
  101. package/assets/editor/assets/tooltip-CKCG8vcp.js +1 -0
  102. package/assets/editor/assets/tree-BWJsAqkV.js +1 -0
  103. package/assets/editor/assets/upgrade-dialog-DhSZnDpx.js +1 -0
  104. package/assets/editor/assets/use-drag-reorder-ye8-kpyR.js +1 -0
  105. package/assets/editor/assets/use-export-command-BR-A4kAa.js +2 -0
  106. package/assets/editor/assets/use-grid-keyboard-nav-B0jjlh8Q.js +0 -0
  107. package/assets/editor/assets/use-icon-node-uhKPP4Ki.js +1 -0
  108. package/assets/editor/assets/use-key-held-DaUTxGze.js +1 -0
  109. package/assets/editor/assets/use-recent-list-DuazDypH.js +1 -0
  110. package/assets/editor/assets/useAnchoredPopupScrollLock-i8D5Dm1d.js +1 -0
  111. package/assets/editor/assets/useBaseUiId-D2RfU0uY.js +1 -0
  112. package/assets/editor/assets/useButton-CLQYGhRJ.js +1 -0
  113. package/assets/editor/assets/useControlled-BE8zdmih.js +1 -0
  114. package/assets/editor/assets/usePositioner-AtbrPc7w.js +1 -0
  115. package/assets/editor/assets/useScrollLock-CQpr0n6U.js +1 -0
  116. package/assets/editor/assets/useTriggerFocusGuards-Mibi8yYw.js +1 -0
  117. package/assets/editor/assets/useValueChanged-SqLfIDi5.js +1 -0
  118. package/assets/editor/assets/web-card-BTru0lge.js +1 -0
  119. package/assets/editor/assets/web-card-font-BbZEq3En.js +1 -0
  120. package/assets/editor/assets/web-controls-BjBov-C2.js +1 -0
  121. package/assets/editor/assets/web-embed-dialog-sT-1yK5o.js +1 -0
  122. package/assets/editor/assets/web-embed-url-CHu4SU82.js +1 -0
  123. package/assets/editor/assets/web-embeds-I3saJ_yp.js +1 -0
  124. package/assets/editor/assets/web-html-dialog-B5Hb3RGw.js +1 -0
  125. package/assets/editor/assets/web-runtime-wPi8lWzO.js +1 -0
  126. package/assets/editor/assets/web-widget-limits-DeMquLIR.js +1 -0
  127. package/assets/editor/assets/web-widgets-DsFUBhiq.js +325 -0
  128. package/assets/editor/assets/widget-source-C3N9ZKTz.js +2 -0
  129. package/assets/editor/assets/widget-target-C9a207gT.js +1 -0
  130. package/assets/editor/index.html +79 -69
  131. package/dist/koboyo.js +600 -225
  132. package/package.json +5 -5
  133. package/skills/koboyo/SKILL.md +27 -2
  134. package/skills/koboyo/references/architecture.md +1 -1
  135. package/skills/koboyo/references/bpmn.md +1 -1
  136. package/skills/koboyo/references/chart.md +1 -1
  137. package/skills/koboyo/references/cycle.md +1 -1
  138. package/skills/koboyo/references/erd.md +1 -1
  139. package/skills/koboyo/references/flowchart.md +1 -1
  140. package/skills/koboyo/references/funnel.md +1 -1
  141. package/skills/koboyo/references/gantt.md +1 -1
  142. package/skills/koboyo/references/gitgraph.md +1 -1
  143. package/skills/koboyo/references/journey.md +1 -1
  144. package/skills/koboyo/references/matrix.md +1 -1
  145. package/skills/koboyo/references/mindmap.md +1 -1
  146. package/skills/koboyo/references/orgchart.md +1 -1
  147. package/skills/koboyo/references/pyramid.md +1 -1
  148. package/skills/koboyo/references/sankey.md +1 -1
  149. package/skills/koboyo/references/sequence.md +1 -1
  150. package/skills/koboyo/references/statemachine.md +1 -1
  151. package/skills/koboyo/references/timeline.md +1 -1
  152. package/skills/koboyo/references/venn.md +1 -1
  153. package/skills/koboyo/references/wireframe.md +1 -1
  154. package/assets/editor/assets/DialogDescription-ZtZCUsfy.js +0 -1
  155. package/assets/editor/assets/DialogRoot-mHGRFW9m.js +0 -1
  156. package/assets/editor/assets/DialogTitle-CFhr-gP9.js +0 -1
  157. package/assets/editor/assets/FloatingPortalLite-Bf0q6fmL.js +0 -1
  158. package/assets/editor/assets/IconChevronLeft-BR0iwdRI.js +0 -1
  159. package/assets/editor/assets/IconChevronRight-DBDnxPYT.js +0 -1
  160. package/assets/editor/assets/IconCornerDownRight-BerbioFY.js +0 -1
  161. package/assets/editor/assets/IconHelp-DKNacRqS.js +0 -2
  162. package/assets/editor/assets/IconLoader2-BQaF1LKo.js +0 -1
  163. package/assets/editor/assets/IconMinus-y4ejub-s.js +0 -1
  164. package/assets/editor/assets/IconPlus-BbmieIBT.js +0 -1
  165. package/assets/editor/assets/IconX-AlbPkO_g.js +0 -1
  166. package/assets/editor/assets/MenuSubmenuTrigger-CpN67g09.js +0 -1
  167. package/assets/editor/assets/PopoverPopup-BqGWd_uB.js +0 -1
  168. package/assets/editor/assets/asset-glyph-B3c--Mx2.js +0 -1
  169. package/assets/editor/assets/billing-C-BNGM3Z.js +0 -1
  170. package/assets/editor/assets/build-pips-q_Fq10ov.js +0 -1
  171. package/assets/editor/assets/build-visibility-E1mHeDCW.js +0 -1
  172. package/assets/editor/assets/builders-DbF28yId.js +0 -1
  173. package/assets/editor/assets/code-panel-BfsykjSz.js +0 -43
  174. package/assets/editor/assets/command-palette-BjFnQHnz.js +0 -1
  175. package/assets/editor/assets/config-a_lz-57R.js +0 -1
  176. package/assets/editor/assets/connector-labels-vVnYQJRz.js +0 -2
  177. package/assets/editor/assets/copy-image-dialog-CCY_6fM4.js +0 -1
  178. package/assets/editor/assets/core-CBnmD9hT.js +0 -1
  179. package/assets/editor/assets/createReactComponent-9UsI5fmM.js +0 -1
  180. package/assets/editor/assets/diagram-fingerprint-CsqZK4xZ.js +0 -3
  181. package/assets/editor/assets/dialog-B32krrce.js +0 -1
  182. package/assets/editor/assets/editor-B0tARd79.js +0 -1
  183. package/assets/editor/assets/export-ChP0k5F5.js +0 -2
  184. package/assets/editor/assets/export-DEFKKRRi.js +0 -6
  185. package/assets/editor/assets/export-dialog-DPg1uzX5.js +0 -1
  186. package/assets/editor/assets/flow-layer-B7mlx0G4.js +0 -1
  187. package/assets/editor/assets/flow-panel-DoK6VIJ4.js +0 -1
  188. package/assets/editor/assets/flow-stage-fiF5Nggn.js +0 -1
  189. package/assets/editor/assets/icon-picker-NboB5Fvv.js +0 -1
  190. package/assets/editor/assets/image-library-Bb6bV6eK.js +0 -1
  191. package/assets/editor/assets/index-mhi0Z6gG.js +0 -24
  192. package/assets/editor/assets/layout-offthread-BwetpTFH.js +0 -18
  193. package/assets/editor/assets/menu-BPrc8Ara.js +0 -1
  194. package/assets/editor/assets/panel-controls-DYZ7QFT5.js +0 -1
  195. package/assets/editor/assets/plan-jQm1jDpt.js +0 -1
  196. package/assets/editor/assets/presentation-BavfNtxp.js +0 -1
  197. package/assets/editor/assets/presenter-keys-DVQcBdy1.js +0 -1
  198. package/assets/editor/assets/reflow-Cv75wPSh.js +0 -1
  199. package/assets/editor/assets/registry-DCgwH8wI.js +0 -1
  200. package/assets/editor/assets/renderer-environment-DmWXvuT4.js +0 -1
  201. package/assets/editor/assets/ride-overlay-DhygYdx1.js +0 -1
  202. package/assets/editor/assets/selection-overlay-primitives-hWJ1xjF7.js +0 -1
  203. package/assets/editor/assets/shape-meta-BpwsiB82.js +0 -1
  204. package/assets/editor/assets/sign-in-dialog-DRooo5xw.js +0 -1
  205. package/assets/editor/assets/slide-notes-dialog-DLdTmd7_.js +0 -1
  206. package/assets/editor/assets/slides-D9bnXqtf.js +0 -15
  207. package/assets/editor/assets/slides-panel-hozTMSMk.js +0 -26
  208. package/assets/editor/assets/text-breaks-YU-ymaF9.js +0 -7
  209. package/assets/editor/assets/tidy-browser-BwodBnAH.js +0 -1
  210. package/assets/editor/assets/tidy-scope-BgBSUklT.js +0 -1
  211. package/assets/editor/assets/toast-Nu_fiCd9.js +0 -1
  212. package/assets/editor/assets/tool-drawer-DEEqsKSN.js +0 -1
  213. package/assets/editor/assets/tooltip-DgEojto1.js +0 -1
  214. package/assets/editor/assets/tree-BbSzMkPL.js +0 -1
  215. package/assets/editor/assets/upgrade-dialog-DpZeaLDB.js +0 -1
  216. package/assets/editor/assets/use-drag-reorder-CTTvTwza.js +0 -1
  217. package/assets/editor/assets/use-export-command-CPc7qug1.js +0 -2
  218. package/assets/editor/assets/use-grid-keyboard-nav-B88Qw-cQ.js +0 -0
  219. package/assets/editor/assets/use-icon-node-DJZFjABX.js +0 -1
  220. package/assets/editor/assets/use-key-held-38H1v73f.js +0 -1
  221. package/assets/editor/assets/use-recent-list-BEG0iBIm.js +0 -1
  222. package/assets/editor/assets/useAnchoredPopupScrollLock-BGKchwpi.js +0 -1
  223. package/assets/editor/assets/useBaseUiId-C0Zm5sUV.js +0 -1
  224. package/assets/editor/assets/useButton-D3eS7fh5.js +0 -1
  225. package/assets/editor/assets/useControlled-C5xhvPXX.js +0 -1
  226. package/assets/editor/assets/usePositioner-DA3aR0-T.js +0 -1
  227. package/assets/editor/assets/useScrollLock-B7mQdXyv.js +0 -1
  228. package/assets/editor/assets/useValueChanged-p8z-93L4.js +0 -1
@@ -0,0 +1,325 @@
1
+ import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,r as n,t as r}from"./web-widget-limits-DeMquLIR.js";import{t as i}from"./widget-target-C9a207gT.js";var a=`function (query) {
2
+ var MAX_TEXT = 200;
3
+ var MAX_SELECTOR = 400;
4
+ var NAMED = /^(a|button|input|select|textarea|label|img|video|canvas|h[1-6]|p|li|td|th|summary|option|figure)$/;
5
+ function collapse(value) {
6
+ return String(value == null ? "" : value).replace(/\\s+/g, " ").trim();
7
+ }
8
+ function textOf(element) {
9
+ var text = collapse(element.innerText);
10
+ if (!text) {
11
+ text = collapse(
12
+ element.getAttribute("aria-label") || element.getAttribute("alt") ||
13
+ element.getAttribute("title") || element.value || element.getAttribute("placeholder")
14
+ );
15
+ }
16
+ return text.slice(0, MAX_TEXT);
17
+ }
18
+ function uniqueId(element) {
19
+ if (!element.id) {
20
+ return null;
21
+ }
22
+ var selector = "#" + CSS.escape(element.id);
23
+ try {
24
+ return document.querySelectorAll(selector).length === 1 ? selector : null;
25
+ } catch (error) {
26
+ return null;
27
+ }
28
+ }
29
+ function named(element) {
30
+ var svg = null;
31
+ for (var node = element; node && node !== document.body; node = node.parentElement) {
32
+ if (node.tagName.toLowerCase() === "svg") {
33
+ svg = node;
34
+ }
35
+ }
36
+ if (svg) {
37
+ return svg;
38
+ }
39
+ for (var at = element; at && at !== document.body; at = at.parentElement) {
40
+ if (NAMED.test(at.tagName.toLowerCase()) || at.hasAttribute("role") || at.id) {
41
+ return at;
42
+ }
43
+ }
44
+ return element;
45
+ }
46
+ function selectorOf(element) {
47
+ var parts = [];
48
+ var node = element;
49
+ while (node && node !== document.body && node !== document.documentElement) {
50
+ var id = uniqueId(node);
51
+ if (id) {
52
+ parts.unshift(id);
53
+ return parts.join(" > ");
54
+ }
55
+ var tag = node.tagName.toLowerCase();
56
+ var parent = node.parentElement;
57
+ var part = tag;
58
+ if (parent) {
59
+ var same = 0;
60
+ var index = 0;
61
+ for (var child = parent.firstElementChild; child; child = child.nextElementSibling) {
62
+ if (child.tagName === node.tagName) {
63
+ same += 1;
64
+ if (child === node) {
65
+ index = same;
66
+ }
67
+ }
68
+ }
69
+ if (same > 1) {
70
+ part = tag + ":nth-of-type(" + index + ")";
71
+ }
72
+ }
73
+ parts.unshift(part);
74
+ node = parent;
75
+ }
76
+ parts.unshift("body");
77
+ return parts.join(" > ");
78
+ }
79
+ function targetOf(element) {
80
+ if (!element || element === document.body || element === document.documentElement) {
81
+ return null;
82
+ }
83
+ var rect = element.getBoundingClientRect();
84
+ var selector = selectorOf(element);
85
+ return {
86
+ tag: element.tagName.toLowerCase().slice(0, 32),
87
+ text: textOf(element),
88
+ selector: selector.length > MAX_SELECTOR ? "" : selector,
89
+ box: {
90
+ x: Math.round(rect.left + window.scrollX),
91
+ y: Math.round(rect.top + window.scrollY),
92
+ w: Math.round(rect.width),
93
+ h: Math.round(rect.height)
94
+ }
95
+ };
96
+ }
97
+ function byText(wanted) {
98
+ var exact = collapse(wanted);
99
+ var lower = exact.toLowerCase();
100
+ var all = document.body ? document.body.getElementsByTagName("*") : [];
101
+ var best = null;
102
+ var loose = null;
103
+ for (var i = 0; i < all.length; i += 1) {
104
+ var text = textOf(all[i]);
105
+ if (text === exact && (!best || best.contains(all[i]))) {
106
+ best = all[i];
107
+ } else if (text.toLowerCase() === lower && (!loose || loose.contains(all[i]))) {
108
+ loose = all[i];
109
+ }
110
+ }
111
+ var found = best || loose;
112
+ if (!found) {
113
+ return null;
114
+ }
115
+ var chosen = named(found);
116
+ return textOf(chosen).toLowerCase() === lower ? chosen : found;
117
+ }
118
+ if (query.kind === "point") {
119
+ var hit = document.elementFromPoint(query.x - window.scrollX, query.y - window.scrollY);
120
+ return hit ? targetOf(named(hit)) : null;
121
+ }
122
+ if (query.kind === "selector") {
123
+ try {
124
+ return targetOf(document.querySelector(query.selector));
125
+ } catch (error) {
126
+ return null;
127
+ }
128
+ }
129
+ return targetOf(byText(query.text));
130
+ }`,o=e({EDITOR_MESSAGE_SOURCE:()=>p,MAX_ASSISTANT_WIDGET_HTML_BYTES:()=>MAX_ASSISTANT_WIDGET_HTML_BYTES,MAX_WIDGET_CONTENT_SIZE:()=>h,MAX_WIDGET_HTML_BYTES:()=>r,MAX_WIDGET_WHEEL_DELTA:()=>m,WIDGET_FONT_HOSTS:()=>u,WIDGET_MESSAGE_SOURCE:()=>f,WIDGET_ORIGIN:()=>WIDGET_ORIGIN,WIDGET_PATH:()=>`/w`,WIDGET_SANDBOX:()=>s,WIDGET_SCRIPT_HOSTS:()=>c,WIDGET_SOURCE_CONTENT_TYPE:()=>WIDGET_SOURCE_CONTENT_TYPE,WIDGET_SOURCE_PREFIX:()=>WIDGET_SOURCE_PREFIX,WIDGET_STYLE_HOSTS:()=>l,fetchWidgetSource:()=>D,lintWidgetHtml:()=>N,parseWidgetMessage:()=>C,parseWidgetSource:()=>E}),s=`allow-scripts`,c=[`cdn.jsdelivr.net`,`unpkg.com`,`cdnjs.cloudflare.com`,`cdn.tailwindcss.com`,`esm.sh`],l=[...c,`fonts.googleapis.com`],u=[`fonts.gstatic.com`,...c],d=`https://koboyo.com`,f=`koboyo-widget`,p=`koboyo-editor`,m=1e3,h=2e4,g=1e5,_=64;function v(e){return typeof e==`number`&&Number.isFinite(e)}function y(e,t){return Math.max(-t,Math.min(t,e))}function b(e){return typeof e==`string`&&e.length>0&&e.length<=_}function x(e){return{x:y(e.x,g),y:y(e.y,g),w:Math.max(0,Math.min(g,e.w)),h:Math.max(0,Math.min(g,e.h))}}function S(e){if(e===null)return null;if(i(e))return{tag:e.tag,text:e.text,selector:e.selector,box:x(e.box)}}function C(e){if(typeof e!=`object`||!e)return null;let t=e;if(t.source!==`koboyo-widget`)return null;let n=f;switch(t.type){case`ready`:case`rendered`:return{source:n,type:t.type};case`size`:{let{width:e,height:r}=t;if(!v(e)||!v(r))return null;let i=e=>Math.max(0,Math.min(h,e));return{source:n,type:`size`,width:i(e),height:i(r)}}case`wheel`:{let{dx:e,dy:r,x:i,y:a,ctrl:o}=t;return!v(e)||!v(r)||!v(i)||!v(a)||typeof o!=`boolean`?null:{source:n,type:`wheel`,dx:y(e,m),dy:y(r,m),ctrl:o,x:y(i,g),y:y(a,g)}}case`key`:return t.key===`Escape`?{source:n,type:`key`,key:`Escape`}:null;case`probe-result`:case`locate-text-result`:{let e=S(t.target);return!b(t.id)||e===void 0?null:{source:n,type:t.type,id:t.id,target:e}}case`locate-result`:{if(!b(t.id))return null;if(t.box===null)return{source:n,type:`locate-result`,id:t.id,box:null};let e=S({tag:`x`,text:``,selector:``,box:t.box});return e?{source:n,type:`locate-result`,id:t.id,box:e.box}:null}default:return null}}var w=String.raw`(function () {
131
+ var parent = window.parent;
132
+ var origin = __ORIGIN__;
133
+ var doc = document;
134
+ var pending = null;
135
+ function post(message) {
136
+ message.source = "${f}";
137
+ parent.postMessage(message, origin);
138
+ }
139
+ function num(value) {
140
+ return typeof value === "number" && isFinite(value);
141
+ }
142
+ function focusable(el) {
143
+ for (var node = el; node && node.nodeType === 1; node = node.parentNode) {
144
+ if (/^(INPUT|TEXTAREA|SELECT|BUTTON)$/.test(node.tagName) || node.isContentEditable ||
145
+ node.hasAttribute("tabindex") || (node.tagName === "A" && node.hasAttribute("href"))) {
146
+ return node;
147
+ }
148
+ }
149
+ return null;
150
+ }
151
+ function fire(el, type, x, y, down, Ctor) {
152
+ return el.dispatchEvent(new Ctor(type, {
153
+ bubbles: true, cancelable: true, composed: true, view: window, detail: 1,
154
+ clientX: x, clientY: y, button: 0, buttons: down ? 1 : 0,
155
+ pointerId: 1, pointerType: "mouse", isPrimary: true
156
+ }));
157
+ }
158
+ function click(x, y) {
159
+ var el = doc.elementFromPoint(x, y);
160
+ if (!el) {
161
+ return;
162
+ }
163
+ var Pointer = typeof PointerEvent === "function" ? PointerEvent : null;
164
+ if (Pointer) {
165
+ fire(el, "pointerdown", x, y, true, Pointer);
166
+ }
167
+ var focus = fire(el, "mousedown", x, y, true, MouseEvent);
168
+ var target = focus ? focusable(el) : null;
169
+ if (target && typeof target.focus === "function") {
170
+ target.focus();
171
+ }
172
+ if (Pointer) {
173
+ fire(el, "pointerup", x, y, false, Pointer);
174
+ }
175
+ fire(el, "mouseup", x, y, false, MouseEvent);
176
+ fire(el, "click", x, y, false, MouseEvent);
177
+ }
178
+ var probe = ${a};
179
+ function ask(query) {
180
+ try {
181
+ return probe(query);
182
+ } catch (error) {
183
+ return null;
184
+ }
185
+ }
186
+ window.addEventListener("message", function (event) {
187
+ var data = event.data;
188
+ if (event.source !== parent || event.origin !== origin || !data || data.source !== "${p}") {
189
+ return;
190
+ }
191
+ if (data.type === "click" && num(data.x) && num(data.y)) {
192
+ click(data.x, data.y);
193
+ } else if (data.type === "probe" && typeof data.id === "string" && num(data.x) && num(data.y)) {
194
+ post({ type: "probe-result", id: data.id, target: ask({ kind: "point", x: data.x, y: data.y }) });
195
+ } else if (data.type === "locate" && typeof data.id === "string" && typeof data.selector === "string") {
196
+ var found = ask({ kind: "selector", selector: data.selector });
197
+ post({ type: "locate-result", id: data.id, box: found ? found.box : null });
198
+ } else if (data.type === "locate-text" && typeof data.id === "string" && typeof data.text === "string") {
199
+ post({ type: "locate-text-result", id: data.id, target: ask({ kind: "text", text: data.text }) });
200
+ }
201
+ });
202
+ function open(value) {
203
+ return value === "auto" || value === "scroll" || value === "overlay";
204
+ }
205
+ function rootOverflow(axis) {
206
+ var value = getComputedStyle(doc.documentElement)[axis];
207
+ if (value === "visible" && doc.body) {
208
+ value = getComputedStyle(doc.body)[axis];
209
+ }
210
+ return value !== "hidden" && value !== "clip";
211
+ }
212
+ function canScroll(node, dx, dy) {
213
+ var root = node === doc.scrollingElement;
214
+ if (node === doc.body && !root) {
215
+ return false;
216
+ }
217
+ var style = root ? null : getComputedStyle(node);
218
+ if (dy !== 0 && (root ? rootOverflow("overflowY") : open(style.overflowY))) {
219
+ var maxY = node.scrollHeight - node.clientHeight;
220
+ if (maxY > 1 && (dy > 0 ? node.scrollTop < maxY - 1 : node.scrollTop > 0)) {
221
+ return true;
222
+ }
223
+ }
224
+ if (dx !== 0 && (root ? rootOverflow("overflowX") : open(style.overflowX))) {
225
+ var maxX = node.scrollWidth - node.clientWidth;
226
+ if (maxX > 1 && (dx > 0 ? node.scrollLeft < maxX - 1 : node.scrollLeft > 0)) {
227
+ return true;
228
+ }
229
+ }
230
+ return false;
231
+ }
232
+ function scrolls(el, dx, dy) {
233
+ for (var node = el; node && node.nodeType === 1; node = node.parentNode) {
234
+ if (canScroll(node, dx, dy)) {
235
+ return true;
236
+ }
237
+ }
238
+ return false;
239
+ }
240
+ function flush() {
241
+ var message = pending;
242
+ pending = null;
243
+ if (message) {
244
+ post(message);
245
+ }
246
+ }
247
+ window.addEventListener("wheel", function (event) {
248
+ if (event.defaultPrevented) {
249
+ return;
250
+ }
251
+ var unit = event.deltaMode === 1 ? 16 : event.deltaMode === 2 ? window.innerHeight : 1;
252
+ var dx = event.deltaX * unit;
253
+ var dy = event.deltaY * unit;
254
+ if (event.shiftKey && dx === 0) {
255
+ dx = dy;
256
+ dy = 0;
257
+ }
258
+ var ctrl = !!(event.ctrlKey || event.metaKey);
259
+ if (!ctrl && scrolls(event.target, dx, dy)) {
260
+ return;
261
+ }
262
+ event.preventDefault();
263
+ if (pending && pending.ctrl !== ctrl) {
264
+ flush();
265
+ }
266
+ if (!pending) {
267
+ pending = { type: "wheel", dx: 0, dy: 0, ctrl: ctrl, x: 0, y: 0 };
268
+ requestAnimationFrame(flush);
269
+ }
270
+ pending.dx += dx;
271
+ pending.dy += dy;
272
+ pending.x = event.clientX;
273
+ pending.y = event.clientY;
274
+ }, { passive: false });
275
+ window.addEventListener("keydown", function (event) {
276
+ if (event.key === "Escape") {
277
+ post({ type: "key", key: "Escape" });
278
+ }
279
+ }, true);
280
+ var sized = "";
281
+ var sizeTimer = 0;
282
+ // The page's own height, not the frame's: documentElement never reports
283
+ // less than the box, which would let Fit height grow a box but never
284
+ // shrink it. A body stretched to the viewport (min-height: 100vh) still
285
+ // reads as the box, which is what that page asked for.
286
+ function contentHeight(root) {
287
+ var body = doc.body;
288
+ if (!body || !window.getComputedStyle) {
289
+ return root.scrollHeight;
290
+ }
291
+ var style = window.getComputedStyle(body);
292
+ var margins = (parseFloat(style.marginTop) || 0) + (parseFloat(style.marginBottom) || 0);
293
+ return Math.ceil(Math.max(body.scrollHeight, body.getBoundingClientRect().height) + margins);
294
+ }
295
+ function sendSize() {
296
+ sizeTimer = 0;
297
+ var root = doc.documentElement;
298
+ if (!root) {
299
+ return;
300
+ }
301
+ var width = Math.min(${h}, root.scrollWidth);
302
+ var height = Math.min(${h}, contentHeight(root));
303
+ if (width + "x" + height !== sized) {
304
+ sized = width + "x" + height;
305
+ post({ type: "size", width: width, height: height });
306
+ }
307
+ }
308
+ function measure() {
309
+ if (!sizeTimer) {
310
+ sizeTimer = setTimeout(sendSize, 200);
311
+ }
312
+ }
313
+ if (typeof ResizeObserver === "function") {
314
+ var observer = new ResizeObserver(measure);
315
+ observer.observe(doc.documentElement);
316
+ doc.addEventListener("DOMContentLoaded", function () {
317
+ if (doc.body) {
318
+ observer.observe(doc.body);
319
+ }
320
+ });
321
+ }
322
+ doc.addEventListener("DOMContentLoaded", measure);
323
+ window.addEventListener("load", measure);
324
+ window.addEventListener("resize", measure);
325
+ })();`;`${r}${d}${p}${f}${f}`;function T(e){return JSON.stringify(e).replace(/</g,`\\u003c`)}T(w);function E(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let r=t.html;return typeof r!=`string`||n(r)>131072?null:r}async function D(e,n={}){if(!t(e,n.prefix))return null;let r=n.fetch??fetch;try{let t=await r(e,{credentials:`omit`,referrerPolicy:`no-referrer`,signal:n.signal});return t.ok?E(await t.text()):null}catch{return null}}var O=[[/\bfetch\s*\(/,`fetch()`],[/\bXMLHttpRequest\b/,`XMLHttpRequest`],[/\bWebSocket\b/,`WebSocket`],[/\bEventSource\b/,`EventSource`]];function k(e,t){let n=RegExp(`\\s${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s"'>]+))`,`i`).exec(e);return n?n[1]??n[2]??n[3]??``:null}function A(e,t){let n=e.trim();if(/^data:/i.test(n))return null;let r;try{r=new URL(n.startsWith(`//`)?`https:${n}`:n)}catch{return`"${n}" is a relative path, and a widget has no files of its own`}return r.protocol===`https:`?t.has(r.hostname.toLowerCase())?null:`${r.hostname} isn't on the allowed list`:`"${n}" isn't https`}var j=new Set(c),M=new Set([...l,...u]);function N(e){let t=[],i=n(e);i>131072&&t.push(`The HTML is ${Math.ceil(i/1024)} KB; a widget can be at most ${r/1024} KB.`);for(let[n,r]of O)n.test(e)&&t.push(`It uses ${r}, but widgets have no network access, so it will fail. Inline the data instead.`);for(let n of e.match(/<script\b[^>]*>/gi)??[]){let e=k(n,`src`),r=e===null?null:A(e,j);r&&t.push(`A script won't load: ${r}. Scripts can come from ${c.join(`, `)}.`)}for(let n of e.match(/<link\b[^>]*>/gi)??[]){let e=k(n,`href`),r=e===null?null:A(e,M);r&&t.push(`A stylesheet won't load: ${r}. Styles can come from ${l.join(`, `)}.`)}return/<form\b[^>]*\saction\s*=/i.test(e)&&t.push(`A form has an action, but widgets can't submit forms anywhere.`),/\b(?:top|parent)\.location\b/.test(e)&&t.push(`It tries to navigate the page around it, which widgets can't do.`),t}export{C as a,N as i,m as n,o,s as r,p as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/web-widgets-DsFUBhiq.js","assets/rolldown-runtime-aKtaBQYM.js","assets/web-widget-limits-DeMquLIR.js","assets/widget-target-C9a207gT.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{t as n}from"./react-lCSYwAWP.js";import{t as r}from"./preload-helper-Czpn1I53.js";var i=t({loadWidgetSource:()=>h,useWidgetHtml:()=>g,widgetSourceOf:()=>m}),a=e(n(),1),o={status:`loading`},s={status:`failed`},c=100,l=new Map,u=new Map,d=new Set;function f(){for(let e of d)e()}function p(e){return d.add(e),()=>{d.delete(e)}}function m(e){return e.kind===`html`?typeof e.html==`string`?e.html.length>0?{html:e.html}:null:e.htmlSrc?{src:e.htmlSrc}:null:null}function h(e){let t=l.get(e);if(t?.status===`ready`)return Promise.resolve(t.html);let n=u.get(e);if(n)return n;l.set(e,o);let i=r(()=>import(`./web-widgets-DsFUBhiq.js`).then(e=>e.o).then(t=>t.fetchWidgetSource(e)),__vite__mapDeps([0,1,2,3])).catch(()=>null).then(t=>(u.delete(e),t===null?l.set(e,s):(l.size>=c&&l.delete(l.keys().next().value),l.set(e,{status:`ready`,html:t})),f(),t));return u.set(e,i),i}function g(e,t){let n=e&&`src`in e?e.src:null,r=(0,a.useSyncExternalStore)(p,()=>n?l.get(n)??null:null);return(0,a.useEffect)(()=>{if(!n||!t)return;let e=l.get(n);e?.status===`ready`||e?.status===`loading`||h(n)},[n,t]),e?`html`in e?{status:`ready`,html:e.html}:!t&&r?.status!==`ready`?null:r??o:null}export{i,g as n,m as r,h as t};
@@ -0,0 +1 @@
1
+ function e(e){return typeof e==`number`&&Number.isFinite(e)}function t(e,t){return typeof e==`string`&&e.length<=t}function n(t){if(typeof t!=`object`||!t)return!1;let n=t;return e(n.x)&&e(n.y)&&e(n.w)&&e(n.h)}function r(e){if(typeof e!=`object`||!e)return!1;let r=e;return t(r.tag,32)&&t(r.text,200)&&t(r.selector,400)&&n(r.box)}export{r as t};
@@ -5,90 +5,100 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <meta name="color-scheme" content="light" />
7
7
  <title>Koboyo</title>
8
- <script type="module" crossorigin src="/assets/index-mhi0Z6gG.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DFwoT1_W.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
10
- <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-2Zwg-L3c.js">
11
- <link rel="modulepreload" crossorigin href="/assets/useScrollLock-B7mQdXyv.js">
12
- <link rel="modulepreload" crossorigin href="/assets/FloatingPortalLite-Bf0q6fmL.js">
13
- <link rel="modulepreload" crossorigin href="/assets/toast-Nu_fiCd9.js">
14
- <link rel="modulepreload" crossorigin href="/assets/useButton-D3eS7fh5.js">
15
- <link rel="modulepreload" crossorigin href="/assets/usePositioner-DA3aR0-T.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/react-lCSYwAWP.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DKdBMi_L.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/useScrollLock-CQpr0n6U.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/FloatingPortalLite-HnWQWrLk.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/toast-Czv_DJ-4.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/useButton-CLQYGhRJ.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/usePositioner-AtbrPc7w.js">
16
17
  <link rel="modulepreload" crossorigin href="/assets/style-BENGW2ZV.js">
17
- <link rel="modulepreload" crossorigin href="/assets/slides-D9bnXqtf.js">
18
- <link rel="modulepreload" crossorigin href="/assets/reflow-Cv75wPSh.js">
19
- <link rel="modulepreload" crossorigin href="/assets/editor-B0tARd79.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/shapes-D5w8NTQQ.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/slides-DDNzjFz9.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/reflow-C6bvnSVm.js">
21
+ <link rel="modulepreload" crossorigin href="/assets/web-embed-url-CHu4SU82.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/web-widget-limits-DeMquLIR.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/editor-DAJETlQW.js">
20
24
  <link rel="modulepreload" crossorigin href="/assets/keys-DrjiT9FL.js">
21
- <link rel="modulepreload" crossorigin href="/assets/useBaseUiId-C0Zm5sUV.js">
22
- <link rel="modulepreload" crossorigin href="/assets/tooltip-DgEojto1.js">
23
- <link rel="modulepreload" crossorigin href="/assets/createReactComponent-9UsI5fmM.js">
24
- <link rel="modulepreload" crossorigin href="/assets/useValueChanged-p8z-93L4.js">
25
- <link rel="modulepreload" crossorigin href="/assets/useAnchoredPopupScrollLock-BGKchwpi.js">
25
+ <link rel="modulepreload" crossorigin href="/assets/useBaseUiId-D2RfU0uY.js">
26
+ <link rel="modulepreload" crossorigin href="/assets/tooltip-CKCG8vcp.js">
27
+ <link rel="modulepreload" crossorigin href="/assets/createReactComponent-C51FAx3B.js">
28
+ <link rel="modulepreload" crossorigin href="/assets/useValueChanged-SqLfIDi5.js">
29
+ <link rel="modulepreload" crossorigin href="/assets/useTriggerFocusGuards-Mibi8yYw.js">
30
+ <link rel="modulepreload" crossorigin href="/assets/useAnchoredPopupScrollLock-i8D5Dm1d.js">
26
31
  <link rel="modulepreload" crossorigin href="/assets/surface-Dke4SWpE.js">
27
- <link rel="modulepreload" crossorigin href="/assets/menu-BPrc8Ara.js">
28
- <link rel="modulepreload" crossorigin href="/assets/config-a_lz-57R.js">
29
- <link rel="modulepreload" crossorigin href="/assets/registry-DCgwH8wI.js">
30
- <link rel="modulepreload" crossorigin href="/assets/renderer-environment-DmWXvuT4.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/menu-4xb5HtA1.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/config-D8b1QyEk.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/registry-d5KleeyB.js">
35
+ <link rel="modulepreload" crossorigin href="/assets/renderer-environment-D3n3hbug.js">
31
36
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
32
- <link rel="modulepreload" crossorigin href="/assets/text-breaks-YU-ymaF9.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/web-card-font-BbZEq3En.js">
38
+ <link rel="modulepreload" crossorigin href="/assets/text-breaks-DhCXtQrJ.js">
33
39
  <link rel="modulepreload" crossorigin href="/assets/blob-CTPsKWYv.js">
34
40
  <link rel="modulepreload" crossorigin href="/assets/icon-sources-CZI1h18s.js">
35
41
  <link rel="modulepreload" crossorigin href="/assets/icons-DzW1j-r3.js">
36
- <link rel="modulepreload" crossorigin href="/assets/theme-palette-D1nbDFBC.js">
37
- <link rel="modulepreload" crossorigin href="/assets/elk-worker-loader-CC-I9MmI.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/theme-palette-DEq19D0h.js">
43
+ <link rel="modulepreload" crossorigin href="/assets/elk-worker-loader-BCdkmVMX.js">
38
44
  <link rel="modulepreload" crossorigin href="/assets/dom-PAoZruqo.js">
39
- <link rel="modulepreload" crossorigin href="/assets/selection-overlay-primitives-hWJ1xjF7.js">
45
+ <link rel="modulepreload" crossorigin href="/assets/selection-overlay-primitives-CfOaP5_G.js">
40
46
  <link rel="modulepreload" crossorigin href="/assets/storage-CvDRYh5V.js">
41
47
  <link rel="modulepreload" crossorigin href="/assets/export-options-CJwykdP5.js">
42
- <link rel="modulepreload" crossorigin href="/assets/IconMinus-y4ejub-s.js">
43
- <link rel="modulepreload" crossorigin href="/assets/IconPlus-BbmieIBT.js">
44
- <link rel="modulepreload" crossorigin href="/assets/PopoverPopup-BqGWd_uB.js">
48
+ <link rel="modulepreload" crossorigin href="/assets/IconMinus-BcaDLts8.js">
49
+ <link rel="modulepreload" crossorigin href="/assets/IconPlus-D4tAoi-A.js">
50
+ <link rel="modulepreload" crossorigin href="/assets/PopoverPopup-1zO38CRl.js">
45
51
  <link rel="modulepreload" crossorigin href="/assets/chrome-C2RCq3SI.js">
46
- <link rel="modulepreload" crossorigin href="/assets/panel-controls-DYZ7QFT5.js">
47
- <link rel="modulepreload" crossorigin href="/assets/presenter-keys-DVQcBdy1.js">
52
+ <link rel="modulepreload" crossorigin href="/assets/panel-controls-B0Ccd0XF.js">
53
+ <link rel="modulepreload" crossorigin href="/assets/presenter-keys-DLNIsrm5.js">
48
54
  <link rel="modulepreload" crossorigin href="/assets/lazy-module-DkWvu4va.js">
49
- <link rel="modulepreload" crossorigin href="/assets/IconHelp-DKNacRqS.js">
50
- <link rel="modulepreload" crossorigin href="/assets/tidy-scope-BgBSUklT.js">
55
+ <link rel="modulepreload" crossorigin href="/assets/IconHelp-4FIVl1rh.js">
56
+ <link rel="modulepreload" crossorigin href="/assets/tidy-scope-REEad7oC.js">
51
57
  <link rel="modulepreload" crossorigin href="/assets/clipboard-CO7YHov7.js">
52
- <link rel="modulepreload" crossorigin href="/assets/frames-CRP8oPP8.js">
53
- <link rel="modulepreload" crossorigin href="/assets/chart-Z4HQx-0h.js">
54
- <link rel="modulepreload" crossorigin href="/assets/shape-meta-BpwsiB82.js">
55
- <link rel="modulepreload" crossorigin href="/assets/diagram-fingerprint-CsqZK4xZ.js">
58
+ <link rel="modulepreload" crossorigin href="/assets/frames-DRSLvE9E.js">
59
+ <link rel="modulepreload" crossorigin href="/assets/chart-CKIxcbcM.js">
60
+ <link rel="modulepreload" crossorigin href="/assets/shape-meta-YgfIm0bQ.js">
61
+ <link rel="modulepreload" crossorigin href="/assets/diagram-fingerprint-B-HB8UbR.js">
56
62
  <link rel="modulepreload" crossorigin href="/assets/editable-target-BTLnvKNi.js">
57
- <link rel="modulepreload" crossorigin href="/assets/use-key-held-38H1v73f.js">
58
- <link rel="modulepreload" crossorigin href="/assets/IconAlertTriangle-CxPhYpe-.js">
59
- <link rel="modulepreload" crossorigin href="/assets/IconEraser-DlZQe3-r.js">
60
- <link rel="modulepreload" crossorigin href="/assets/IconLink-ze4g4Lrj.js">
61
- <link rel="modulepreload" crossorigin href="/assets/IconMoodSmile-Bic_fw54.js">
62
- <link rel="modulepreload" crossorigin href="/assets/IconPencil-C5Y-Y4dC.js">
63
- <link rel="modulepreload" crossorigin href="/assets/IconPhoto-CR36IK-b.js">
64
- <link rel="modulepreload" crossorigin href="/assets/IconSearch-C1K0_Pq_.js">
65
- <link rel="modulepreload" crossorigin href="/assets/IconSparkles-WDcg8BA9.js">
66
- <link rel="modulepreload" crossorigin href="/assets/tool-catalog-CHq6TJ2q.js">
67
- <link rel="modulepreload" crossorigin href="/assets/core-CBnmD9hT.js">
68
- <link rel="modulepreload" crossorigin href="/assets/flow-start-BKN48uke.js">
69
- <link rel="modulepreload" crossorigin href="/assets/IconTrash-DbN_RxB7.js">
70
- <link rel="modulepreload" crossorigin href="/assets/IconArrowLeft-DFk3Krim.js">
71
- <link rel="modulepreload" crossorigin href="/assets/IconPresentation-DCrY3PKL.js">
72
- <link rel="modulepreload" crossorigin href="/assets/IconChevronRight-DBDnxPYT.js">
73
- <link rel="modulepreload" crossorigin href="/assets/IconCode-hd05zxU4.js">
74
- <link rel="modulepreload" crossorigin href="/assets/useControlled-C5xhvPXX.js">
75
- <link rel="modulepreload" crossorigin href="/assets/IconFocusCentered-C5PcDeR0.js">
76
- <link rel="modulepreload" crossorigin href="/assets/billing-C-BNGM3Z.js">
77
- <link rel="modulepreload" crossorigin href="/assets/IconLoader2-BQaF1LKo.js">
78
- <link rel="modulepreload" crossorigin href="/assets/MenuSubmenuTrigger-CpN67g09.js">
79
- <link rel="modulepreload" crossorigin href="/assets/IconX-AlbPkO_g.js">
80
- <link rel="modulepreload" crossorigin href="/assets/IconPlayerPlayFilled-D4OODBX7.js">
81
- <link rel="modulepreload" crossorigin href="/assets/use-export-command-CPc7qug1.js">
82
- <link rel="modulepreload" crossorigin href="/assets/asset-glyph-B3c--Mx2.js">
83
- <link rel="modulepreload" crossorigin href="/assets/plan-jQm1jDpt.js">
84
- <link rel="modulepreload" crossorigin href="/assets/DialogRoot-mHGRFW9m.js">
85
- <link rel="modulepreload" crossorigin href="/assets/DialogTitle-CFhr-gP9.js">
86
- <link rel="modulepreload" crossorigin href="/assets/DialogDescription-ZtZCUsfy.js">
87
- <link rel="modulepreload" crossorigin href="/assets/dialog-B32krrce.js">
88
- <link rel="modulepreload" crossorigin href="/assets/use-icon-node-DJZFjABX.js">
89
- <link rel="modulepreload" crossorigin href="/assets/chrome-layout-B8YmHznO.js">
90
- <link rel="modulepreload" crossorigin href="/assets/panel-shell-CG2aq4Ia.js">
91
- <link rel="stylesheet" crossorigin href="/assets/index-e23lIFZB.css">
63
+ <link rel="modulepreload" crossorigin href="/assets/use-key-held-DaUTxGze.js">
64
+ <link rel="modulepreload" crossorigin href="/assets/IconAlertTriangle-B33xznYN.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/IconEraser-CYfXj27R.js">
66
+ <link rel="modulepreload" crossorigin href="/assets/IconLink-VS5p9Ytk.js">
67
+ <link rel="modulepreload" crossorigin href="/assets/IconMoodSmile-CSZ5p_Hy.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/IconPencil-D_pQsAyv.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/IconPhoto-5zuCDtnR.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/IconSearch-CCpMt02s.js">
71
+ <link rel="modulepreload" crossorigin href="/assets/IconSparkles-CnCp3BCQ.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/tool-catalog-CIjdZm_C.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/core-C1TxysMz.js">
74
+ <link rel="modulepreload" crossorigin href="/assets/flow-start-ByhFxEeV.js">
75
+ <link rel="modulepreload" crossorigin href="/assets/IconTrash-C8w6ThWx.js">
76
+ <link rel="modulepreload" crossorigin href="/assets/IconArrowLeft-B4Zcy-Fc.js">
77
+ <link rel="modulepreload" crossorigin href="/assets/IconPresentation-BMKzt7fv.js">
78
+ <link rel="modulepreload" crossorigin href="/assets/IconChevronRight-csfMBSUs.js">
79
+ <link rel="modulepreload" crossorigin href="/assets/IconCode-CHIz1nCU.js">
80
+ <link rel="modulepreload" crossorigin href="/assets/ContextMenuTrigger-CXUL1E23.js">
81
+ <link rel="modulepreload" crossorigin href="/assets/useControlled-BE8zdmih.js">
82
+ <link rel="modulepreload" crossorigin href="/assets/IconReplace-CYUD1RLF.js">
83
+ <link rel="modulepreload" crossorigin href="/assets/IconFocusCentered-Cn8rbfRI.js">
84
+ <link rel="modulepreload" crossorigin href="/assets/billing-BSXr-z2r.js">
85
+ <link rel="modulepreload" crossorigin href="/assets/IconLoader2-CzCTn-Sn.js">
86
+ <link rel="modulepreload" crossorigin href="/assets/MenuSubmenuTrigger-BFlIkXYg.js">
87
+ <link rel="modulepreload" crossorigin href="/assets/IconX-KrRqxr2j.js">
88
+ <link rel="modulepreload" crossorigin href="/assets/IconPlayerPlayFilled-DVAWmYt7.js">
89
+ <link rel="modulepreload" crossorigin href="/assets/use-export-command-BR-A4kAa.js">
90
+ <link rel="modulepreload" crossorigin href="/assets/shape-render-DZscezZk.js">
91
+ <link rel="modulepreload" crossorigin href="/assets/asset-glyph-DjBHkQcP.js">
92
+ <link rel="modulepreload" crossorigin href="/assets/plan-D4Jyzo5X.js">
93
+ <link rel="modulepreload" crossorigin href="/assets/widget-target-C9a207gT.js">
94
+ <link rel="modulepreload" crossorigin href="/assets/DialogRoot-DUeVfNhS.js">
95
+ <link rel="modulepreload" crossorigin href="/assets/DialogTitle-D5au2NAn.js">
96
+ <link rel="modulepreload" crossorigin href="/assets/DialogDescription-Ddhk2rmF.js">
97
+ <link rel="modulepreload" crossorigin href="/assets/dialog-DnXgEbpz.js">
98
+ <link rel="modulepreload" crossorigin href="/assets/use-icon-node-uhKPP4Ki.js">
99
+ <link rel="modulepreload" crossorigin href="/assets/chrome-layout-D5dql-y4.js">
100
+ <link rel="modulepreload" crossorigin href="/assets/panel-shell-COqmheb-.js">
101
+ <link rel="stylesheet" crossorigin href="/assets/index-DBrN0u0i.css">
92
102
  </head>
93
103
  <body>
94
104
  <div id="root"></div>