koboyo 0.2.0 → 0.4.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 (208) hide show
  1. package/README.md +6 -1
  2. package/assets/editor/assets/DialogDescription-Ddhk2rmF.js +1 -0
  3. package/assets/editor/assets/DialogRoot-DUeVfNhS.js +1 -0
  4. package/assets/editor/assets/DialogTitle-D5au2NAn.js +1 -0
  5. package/assets/editor/assets/FloatingPortalLite-HnWQWrLk.js +1 -0
  6. package/assets/editor/assets/{IconAlertTriangle-CxPhYpe-.js → IconAlertTriangle-B33xznYN.js} +1 -1
  7. package/assets/editor/assets/{IconArrowLeft-DFk3Krim.js → IconArrowLeft-B4Zcy-Fc.js} +1 -1
  8. package/assets/editor/assets/IconChevronLeft-D7e7QC0h.js +1 -0
  9. package/assets/editor/assets/IconChevronRight-csfMBSUs.js +1 -0
  10. package/assets/editor/assets/{IconCode-hd05zxU4.js → IconCode-CHIz1nCU.js} +1 -1
  11. package/assets/editor/assets/IconCornerDownRight-DDiBMO4O.js +1 -0
  12. package/assets/editor/assets/{IconEraser-DlZQe3-r.js → IconEraser-CYfXj27R.js} +1 -1
  13. package/assets/editor/assets/{IconFocusCentered-C5PcDeR0.js → IconFocusCentered-Cn8rbfRI.js} +1 -1
  14. package/assets/editor/assets/IconHelp-CaEwHrsN.js +2 -0
  15. package/assets/editor/assets/IconLink-VS5p9Ytk.js +1 -0
  16. package/assets/editor/assets/IconLoader2-CzCTn-Sn.js +1 -0
  17. package/assets/editor/assets/IconMinus-BcaDLts8.js +1 -0
  18. package/assets/editor/assets/{IconMoodSmile-Bic_fw54.js → IconMoodSmile-CSZ5p_Hy.js} +1 -1
  19. package/assets/editor/assets/{IconPencil-C5Y-Y4dC.js → IconPencil-D_pQsAyv.js} +1 -1
  20. package/assets/editor/assets/{IconPhoto-CR36IK-b.js → IconPhoto-5zuCDtnR.js} +1 -1
  21. package/assets/editor/assets/{IconPlayerPlayFilled-D4OODBX7.js → IconPlayerPlayFilled-DVAWmYt7.js} +1 -1
  22. package/assets/editor/assets/{IconPlayerStopFilled-BUbX6ZO5.js → IconPlayerStopFilled-D4qdct2R.js} +1 -1
  23. package/assets/editor/assets/IconPlus-D4tAoi-A.js +1 -0
  24. package/assets/editor/assets/{IconPresentation-DCrY3PKL.js → IconPresentation-BMKzt7fv.js} +1 -1
  25. package/assets/editor/assets/{IconSearch-C1K0_Pq_.js → IconSearch-CCpMt02s.js} +1 -1
  26. package/assets/editor/assets/{IconSparkles-WDcg8BA9.js → IconSparkles-CnCp3BCQ.js} +1 -1
  27. package/assets/editor/assets/{IconTrash-DbN_RxB7.js → IconTrash-C8w6ThWx.js} +1 -1
  28. package/assets/editor/assets/{IconUsers-Bwnyj4mm.js → IconUsers-Dp85N225.js} +1 -1
  29. package/assets/editor/assets/IconX-KrRqxr2j.js +1 -0
  30. package/assets/editor/assets/MenuSubmenuTrigger-KacA9GM8.js +1 -0
  31. package/assets/editor/assets/PopoverPopup-B3Y0VRYc.js +1 -0
  32. package/assets/editor/assets/{asset-glyph-B3c--Mx2.js → asset-glyph-C1E6cGwM.js} +1 -1
  33. package/assets/editor/assets/billing-BSXr-z2r.js +1 -0
  34. package/assets/editor/assets/build-pips-BV-uwXlP.js +1 -0
  35. package/assets/editor/assets/build-visibility-DyML9SHt.js +1 -0
  36. package/assets/editor/assets/builders-DMHAOPEv.js +1 -0
  37. package/assets/editor/assets/{chart-Z4HQx-0h.js → chart-4iRduYdU.js} +4 -4
  38. package/assets/editor/assets/{chrome-layout-B8YmHznO.js → chrome-layout-BzPU9far.js} +1 -1
  39. package/assets/editor/assets/{code-panel-BfsykjSz.js → code-panel-koBUgEWp.js} +7 -7
  40. package/assets/editor/assets/command-palette-BR-_ChOL.js +1 -0
  41. package/assets/editor/assets/config-D8b1QyEk.js +1 -0
  42. package/assets/editor/assets/connector-labels-CrEgadsC.js +2 -0
  43. package/assets/editor/assets/copy-image-dialog-BzGP7Xw8.js +1 -0
  44. package/assets/editor/assets/{core-CBnmD9hT.js → core-CmsJyU_-.js} +1 -1
  45. package/assets/editor/assets/createReactComponent-C51FAx3B.js +1 -0
  46. package/assets/editor/assets/{diagram-fingerprint-CsqZK4xZ.js → diagram-fingerprint-WGQ5iVXx.js} +1 -1
  47. package/assets/editor/assets/dialog-DnXgEbpz.js +1 -0
  48. package/assets/editor/assets/{edit-BJ_kibk8.js → edit-C0sBxxsg.js} +1 -1
  49. package/assets/editor/assets/editor-BeufBV54.js +1 -0
  50. package/assets/editor/assets/{elk-api-DnfklSaw.js → elk-api-C4wlHVIw.js} +1 -1
  51. package/assets/editor/assets/{elk-worker-loader-CC-I9MmI.js → elk-worker-loader-CVBdN1je.js} +1 -1
  52. package/assets/editor/assets/{export-ChP0k5F5.js → export-Bce6ra0N.js} +1 -1
  53. package/assets/editor/assets/export-K2VWg76n.js +6 -0
  54. package/assets/editor/assets/export-dialog-x2n2a4KX.js +1 -0
  55. package/assets/editor/assets/flow-layer-ewaL7g2y.js +1 -0
  56. package/assets/editor/assets/flow-panel-BzXNGGke.js +1 -0
  57. package/assets/editor/assets/flow-stage-Ba_CAggI.js +1 -0
  58. package/assets/editor/assets/flow-start-CpAvU-9P.js +1 -0
  59. package/assets/editor/assets/{flows-GGbkNqs8.js → flows-Cj7AFMIA.js} +2 -2
  60. package/assets/editor/assets/frames-Cp1QD3LR.js +1 -0
  61. package/assets/editor/assets/icon-picker-Cg39IKNJ.js +1 -0
  62. package/assets/editor/assets/image-library-JQu_tb8P.js +1 -0
  63. package/assets/editor/assets/index-CBPPqsiR.js +24 -0
  64. package/assets/editor/assets/{index-CC2h28V_.css → index-DBrN0u0i.css} +1 -1
  65. package/assets/editor/assets/jsx-runtime-DKdBMi_L.js +1 -0
  66. package/assets/editor/assets/layout-offthread-mRHRulkS.js +18 -0
  67. package/assets/editor/assets/{layout.worker-BIE1_z0S.js → layout.worker-CekYkaxO.js} +2 -2
  68. package/assets/editor/assets/menu-B9BAk63v.js +1 -0
  69. package/assets/editor/assets/panel-controls-DWVXiNUZ.js +1 -0
  70. package/assets/editor/assets/{panel-shell-CG2aq4Ia.js → panel-shell-BnMOHgWM.js} +1 -1
  71. package/assets/editor/assets/{plan-jQm1jDpt.js → plan-CkgM52Yh.js} +1 -1
  72. package/assets/editor/assets/presentation-DJUO0t7I.js +1 -0
  73. package/assets/editor/assets/presenter-keys-Bs3LnmOa.js +1 -0
  74. package/assets/editor/assets/{jsx-runtime-2Zwg-L3c.js → react-lCSYwAWP.js} +1 -1
  75. package/assets/editor/assets/reflow-DaYiVkwp.js +1 -0
  76. package/assets/editor/assets/registry-rEGZW7Ab.js +1 -0
  77. package/assets/editor/assets/renderer-environment-D3n3hbug.js +1 -0
  78. package/assets/editor/assets/ride-overlay-Hx90v4ZK.js +1 -0
  79. package/assets/editor/assets/selection-overlay-primitives-BRp854AD.js +1 -0
  80. package/assets/editor/assets/shape-meta-COE2ATNh.js +1 -0
  81. package/assets/editor/assets/sign-in-dialog-tmQEB2bx.js +1 -0
  82. package/assets/editor/assets/slide-notes-dialog-BQBXpep6.js +1 -0
  83. package/assets/editor/assets/slides-D686obFO.js +15 -0
  84. package/assets/editor/assets/slides-panel-BEJCevJi.js +26 -0
  85. package/assets/editor/assets/text-breaks-DM4W6y5f.js +7 -0
  86. package/assets/editor/assets/{theme-palette-D1nbDFBC.js → theme-palette-Dl_G_VIJ.js} +1 -1
  87. package/assets/editor/assets/tidy-browser-dF3BON7J.js +1 -0
  88. package/assets/editor/assets/tidy-scope-BGG3ZXvZ.js +1 -0
  89. package/assets/editor/assets/toast-Czv_DJ-4.js +1 -0
  90. package/assets/editor/assets/tool-catalog-DXPhX2S1.js +1 -0
  91. package/assets/editor/assets/tool-drawer-CWOX_njp.js +1 -0
  92. package/assets/editor/assets/tooltip-CyBz17g8.js +1 -0
  93. package/assets/editor/assets/tree-KSgPjntC.js +1 -0
  94. package/assets/editor/assets/upgrade-dialog-DhSZnDpx.js +1 -0
  95. package/assets/editor/assets/use-drag-reorder-ye8-kpyR.js +1 -0
  96. package/assets/editor/assets/use-export-command-sC9UHj3_.js +2 -0
  97. package/assets/editor/assets/use-grid-keyboard-nav-DhQKecO1.js +0 -0
  98. package/assets/editor/assets/use-icon-node-BxqH7H27.js +1 -0
  99. package/assets/editor/assets/use-key-held-094C3Mn3.js +1 -0
  100. package/assets/editor/assets/use-recent-list-DuazDypH.js +1 -0
  101. package/assets/editor/assets/useAnchoredPopupScrollLock-i8D5Dm1d.js +1 -0
  102. package/assets/editor/assets/useBaseUiId-D2RfU0uY.js +1 -0
  103. package/assets/editor/assets/useButton-CLQYGhRJ.js +1 -0
  104. package/assets/editor/assets/useControlled-BE8zdmih.js +1 -0
  105. package/assets/editor/assets/usePositioner-AtbrPc7w.js +1 -0
  106. package/assets/editor/assets/useScrollLock-CQpr0n6U.js +1 -0
  107. package/assets/editor/assets/useValueChanged-SqLfIDi5.js +1 -0
  108. package/assets/editor/assets/web-controls-CLE9zr7i.js +1 -0
  109. package/assets/editor/assets/web-embed-dialog-XUNelFFM.js +1 -0
  110. package/assets/editor/assets/web-html-dialog-BcAyzH5D.js +1 -0
  111. package/assets/editor/assets/web-shape-C941TGTy.js +1 -0
  112. package/assets/editor/assets/widget-source-CHujvUeA.js +1 -0
  113. package/assets/editor/index.html +73 -69
  114. package/dist/koboyo.js +258 -214
  115. package/package.json +5 -5
  116. package/skills/koboyo/SKILL.md +22 -2
  117. package/skills/koboyo/references/architecture.md +1 -1
  118. package/skills/koboyo/references/bpmn.md +1 -1
  119. package/skills/koboyo/references/chart.md +1 -1
  120. package/skills/koboyo/references/cycle.md +1 -1
  121. package/skills/koboyo/references/erd.md +1 -1
  122. package/skills/koboyo/references/flowchart.md +1 -1
  123. package/skills/koboyo/references/funnel.md +1 -1
  124. package/skills/koboyo/references/gantt.md +1 -1
  125. package/skills/koboyo/references/gitgraph.md +1 -1
  126. package/skills/koboyo/references/journey.md +1 -1
  127. package/skills/koboyo/references/matrix.md +1 -1
  128. package/skills/koboyo/references/mindmap.md +1 -1
  129. package/skills/koboyo/references/orgchart.md +1 -1
  130. package/skills/koboyo/references/pyramid.md +1 -1
  131. package/skills/koboyo/references/sankey.md +1 -1
  132. package/skills/koboyo/references/sequence.md +1 -1
  133. package/skills/koboyo/references/statemachine.md +1 -1
  134. package/skills/koboyo/references/timeline.md +1 -1
  135. package/skills/koboyo/references/venn.md +1 -1
  136. package/skills/koboyo/references/wireframe.md +1 -1
  137. package/assets/editor/assets/DialogDescription-ZtZCUsfy.js +0 -1
  138. package/assets/editor/assets/DialogRoot-mHGRFW9m.js +0 -1
  139. package/assets/editor/assets/DialogTitle-CFhr-gP9.js +0 -1
  140. package/assets/editor/assets/FloatingPortalLite-Bf0q6fmL.js +0 -1
  141. package/assets/editor/assets/IconArrowBackUp-Brd2WpCh.js +0 -1
  142. package/assets/editor/assets/IconChevronLeft-BR0iwdRI.js +0 -1
  143. package/assets/editor/assets/IconChevronRight-DBDnxPYT.js +0 -1
  144. package/assets/editor/assets/IconHelp-DKNacRqS.js +0 -2
  145. package/assets/editor/assets/IconLoader2-BQaF1LKo.js +0 -1
  146. package/assets/editor/assets/IconMinus-y4ejub-s.js +0 -1
  147. package/assets/editor/assets/IconNote-CSELvWzx.js +0 -1
  148. package/assets/editor/assets/IconPlus-BbmieIBT.js +0 -1
  149. package/assets/editor/assets/IconX-AlbPkO_g.js +0 -1
  150. package/assets/editor/assets/MenuSubmenuTrigger-CpN67g09.js +0 -1
  151. package/assets/editor/assets/PopoverPopup-BqGWd_uB.js +0 -1
  152. package/assets/editor/assets/billing-C-BNGM3Z.js +0 -1
  153. package/assets/editor/assets/build-pips-CIaHaEPB.js +0 -1
  154. package/assets/editor/assets/build-visibility-E1mHeDCW.js +0 -1
  155. package/assets/editor/assets/builders-DbF28yId.js +0 -1
  156. package/assets/editor/assets/command-palette-BjFnQHnz.js +0 -1
  157. package/assets/editor/assets/config-a_lz-57R.js +0 -1
  158. package/assets/editor/assets/connector-labels-vVnYQJRz.js +0 -2
  159. package/assets/editor/assets/copy-image-dialog-CCY_6fM4.js +0 -1
  160. package/assets/editor/assets/createReactComponent-9UsI5fmM.js +0 -1
  161. package/assets/editor/assets/dialog-B32krrce.js +0 -1
  162. package/assets/editor/assets/editor-B0tARd79.js +0 -1
  163. package/assets/editor/assets/export-DEFKKRRi.js +0 -6
  164. package/assets/editor/assets/export-dialog-DPg1uzX5.js +0 -1
  165. package/assets/editor/assets/flow-layer-BC35drcK.js +0 -1
  166. package/assets/editor/assets/flow-panel-D_K9wgZi.js +0 -1
  167. package/assets/editor/assets/flow-stage-fiF5Nggn.js +0 -1
  168. package/assets/editor/assets/flow-start-ccYJ2KB9.js +0 -1
  169. package/assets/editor/assets/frames-CRP8oPP8.js +0 -1
  170. package/assets/editor/assets/icon-picker-NboB5Fvv.js +0 -1
  171. package/assets/editor/assets/image-library-Bb6bV6eK.js +0 -1
  172. package/assets/editor/assets/index-DfNbwHl_.js +0 -24
  173. package/assets/editor/assets/layout-offthread-BwetpTFH.js +0 -18
  174. package/assets/editor/assets/menu-BPrc8Ara.js +0 -1
  175. package/assets/editor/assets/panel-controls-DYZ7QFT5.js +0 -1
  176. package/assets/editor/assets/presentation-BavfNtxp.js +0 -1
  177. package/assets/editor/assets/presenter-keys-DVQcBdy1.js +0 -1
  178. package/assets/editor/assets/reflow-Cv75wPSh.js +0 -1
  179. package/assets/editor/assets/registry-DCgwH8wI.js +0 -1
  180. package/assets/editor/assets/renderer-environment-DmWXvuT4.js +0 -1
  181. package/assets/editor/assets/ride-overlay-DhygYdx1.js +0 -1
  182. package/assets/editor/assets/selection-overlay-primitives-hWJ1xjF7.js +0 -1
  183. package/assets/editor/assets/shape-meta-BpwsiB82.js +0 -1
  184. package/assets/editor/assets/sign-in-dialog-DRooo5xw.js +0 -1
  185. package/assets/editor/assets/slide-notes-dialog-DLdTmd7_.js +0 -1
  186. package/assets/editor/assets/slides-D9bnXqtf.js +0 -15
  187. package/assets/editor/assets/slides-panel-DV-zQJhV.js +0 -26
  188. package/assets/editor/assets/text-breaks-YU-ymaF9.js +0 -7
  189. package/assets/editor/assets/tidy-browser-BwodBnAH.js +0 -1
  190. package/assets/editor/assets/tidy-scope-BgBSUklT.js +0 -1
  191. package/assets/editor/assets/toast-Nu_fiCd9.js +0 -1
  192. package/assets/editor/assets/tool-catalog-ChSwaLIq.js +0 -1
  193. package/assets/editor/assets/tool-drawer-CG7-cnML.js +0 -1
  194. package/assets/editor/assets/tooltip-DgEojto1.js +0 -1
  195. package/assets/editor/assets/tree-rq4RTGgw.js +0 -1
  196. package/assets/editor/assets/upgrade-dialog-DpZeaLDB.js +0 -1
  197. package/assets/editor/assets/use-drag-reorder-C3h4ZMoZ.js +0 -1
  198. package/assets/editor/assets/use-export-command-CPc7qug1.js +0 -2
  199. package/assets/editor/assets/use-grid-keyboard-nav-B88Qw-cQ.js +0 -0
  200. package/assets/editor/assets/use-icon-node-DJZFjABX.js +0 -1
  201. package/assets/editor/assets/use-recent-list-BEG0iBIm.js +0 -1
  202. package/assets/editor/assets/useAnchoredPopupScrollLock-BGKchwpi.js +0 -1
  203. package/assets/editor/assets/useBaseUiId-C0Zm5sUV.js +0 -1
  204. package/assets/editor/assets/useButton-D3eS7fh5.js +0 -1
  205. package/assets/editor/assets/useControlled-C5xhvPXX.js +0 -1
  206. package/assets/editor/assets/usePositioner-DA3aR0-T.js +0 -1
  207. package/assets/editor/assets/useScrollLock-B7mQdXyv.js +0 -1
  208. package/assets/editor/assets/useValueChanged-p8z-93L4.js +0 -1
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-aKtaBQYM.js";var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),n=e(((e,n)=>{n.exports=t()})),r=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),i=e(((e,t)=>{t.exports=r()}));export{n,i as t};
1
+ import{t as e}from"./rolldown-runtime-aKtaBQYM.js";var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),n=e(((e,n)=>{n.exports=t()}));export{n as t};
@@ -0,0 +1 @@
1
+ import{$r as e,$t as t,A as n,E as r,J as i,Nr as a,O as o,Qr as s,Qt as c,U as l,Ut as u,Xt as d,Y as f,ai as p,an as m,en as h,ii as g,in as _,j as v,ni as y,oi as b,sn as x}from"./slides-D686obFO.js";import{G as S,V as C,Y as w,Z as T,it as ee}from"./style-BENGW2ZV.js";var te=[`solid`,`dashed`,`dotted`,`none`],ne=[`curved`,`elbow`],re=[`arrow`,`sweep`,`triangle`,`triangleOutline`,`diamond`,`diamondOutline`,`circle`,`circleOutline`,`bar`,`cross`,`crowOne`,`crowMany`,`crowOneOrMany`,`crowOnlyOne`,`crowZeroOrOne`,`crowZeroOrMany`],ie=[`pastel`,`bold`,`outline`,`shadow`],ae=[`left`,`center`,`right`],oe=[`top`,`middle`,`bottom`],se=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],ce=`rectangle.ellipse.diamond.triangle.oval.parallelogram.trapezoid.cylinder.note.hexagon.star.checkbox.crossbox.heart.cloud.arrow-up.arrow-down.arrow-left.arrow-right.plus.speech-bubble.bolt.queue.callout.document.predefined-process.manual-input.pentagon.chevron.octagon.cube.actor.double-circle.card.delay.fork-join.multi-document.multi-process.package.component.brace`.split(`.`),le=[`fade`,`rise`,`scale`,`pop`,`blur`,`wipe`,`draw`,`type`,`pulse`,`shake`,`glow`],ue=[`up`,`down`,`left`,`right`],de=[`enter`,`emphasis`,`exit`],fe=[`sharp`,`rounded`],pe=[`simple`,`phone`,`tablet`,`browser`,`window`,`lanes`,`vlanes`,`boundary`],me=[`call`,`async`,`reply`],he=[`bar`,`line`,`area`,`scatter`,`pie`,`donut`,`radar`,`quadrant`],ge=[`number`,`percent`,`currency`],_e=`button.input.search.checkbox.radio.toggle.dropdown.slider.navbar.tabs.image.avatar.heading.paragraph.divider.link.textarea.stepper.badge.progress.breadcrumbs.pagination.rating.card.list.alert.menu.tooltip.accordion.datepicker.sidebar.scrollbar.segmented.tabbar.statusbar.fab.stepbadge`.split(`.`),ve=[`embed`,`html`],E=131072,ye=`allow-scripts`,D=[`cdn.jsdelivr.net`,`unpkg.com`,`cdnjs.cloudflare.com`,`cdn.tailwindcss.com`,`esm.sh`],O=[...D,`fonts.googleapis.com`],be=[`fonts.gstatic.com`,...D],xe=`https://koboyo.com`,Se=`koboyo-widget`,Ce=`koboyo-editor`;function we(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.source===`koboyo-widget`&&(t.type===`ready`||t.type===`rendered`)}`${E}${xe}${Ce}${Se}${Se}`;var Te=2048;function Ee(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t.html;return typeof n!=`string`||k(n)>131072?null:n}function De(e,t){if(e.length>Te)return!1;if(t!==void 0)return e.startsWith(t)&&!e.slice(t.length).includes(`..`);try{return new URL(e).protocol===`https:`}catch{return!1}}async function Oe(e,t={}){if(!De(e,t.prefix))return null;let n=t.fetch??fetch;try{let r=await n(e,{credentials:`omit`,referrerPolicy:`no-referrer`,signal:t.signal});return r.ok?Ee(await r.text()):null}catch{return null}}function ke(e,t,n){let r=`${Math.round(t)}x${Math.round(n)}\n${e}`,i=3735928559,a=1103547991;for(let e=0;e<r.length;e+=1){let t=r.charCodeAt(e);i=Math.imul(i^t,2654435761),a=Math.imul(a^t,1597334677)}return i=Math.imul(i^i>>>16,2246822507),i^=Math.imul(a^a>>>13,3266489909),a=Math.imul(a^a>>>16,2246822507),a^=Math.imul(i^i>>>13,3266489909),(4294967296*(2097151&a)+(i>>>0)).toString(36)}function k(e){let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);r<128?t+=1:r<2048?t+=2:r>=55296&&r<=56319&&(e.charCodeAt(n+1)&64512)==56320?(t+=4,n+=1):t+=3}return t}var Ae=[[/\bfetch\s*\(/,`fetch()`],[/\bXMLHttpRequest\b/,`XMLHttpRequest`],[/\bWebSocket\b/,`WebSocket`],[/\bEventSource\b/,`EventSource`]];function A(e,t){let n=RegExp(`\\s${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s"'>]+))`,`i`).exec(e);return n?n[1]??n[2]??n[3]??``:null}function j(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 je=new Set(D),Me=new Set([...O,...be]);function Ne(e){let t=[],n=k(e);n>131072&&t.push(`The HTML is ${Math.ceil(n/1024)} KB; a widget can be at most ${E/1024} KB.`);for(let[n,r]of Ae)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=A(n,`src`),r=e===null?null:j(e,je);r&&t.push(`A script won't load: ${r}. Scripts can come from ${D.join(`, `)}.`)}for(let n of e.match(/<link\b[^>]*>/gi)??[]){let e=A(n,`href`),r=e===null?null:j(e,Me);r&&t.push(`A stylesheet won't load: ${r}. Styles can come from ${O.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}function M(e){return`kind`in e&&e.kind===`path`}function Pe(e){return e.type===`line`?e.points:e.type===`arrow`?[{x:e.x,y:e.y},{x:e.x2,y:e.y2}]:null}function N(e,t){let n=Pe(e)??[C(m(e))],r=Math.max(0,Math.min(t.seg,n.length-2)),i=n[r],a=n[r+1]??i,o=S(t.t);return{x:i.x+(a.x-i.x)*o,y:i.y+(a.y-i.y)*o}}function P(e,t){return t?M(e)?t.type===`line`||t.type===`arrow`:t.type!==`arrow`:!1}function Fe(e,t,r){let i=new Set,a=[r];for(;a.length>0;){let r=a.pop();if(r===t)return!0;if(i.has(r))continue;i.add(r);let o=n(e,r);o?.type===`arrow`&&(o.startBinding&&a.push(o.startBinding.shapeId),o.endBinding&&a.push(o.endBinding.shapeId))}return!1}function Ie(e,t){let n=Math.abs(t.x-e.x),r=Math.abs(t.x-(e.x+e.width)),i=Math.abs(t.y-e.y),a=Math.abs(t.y-(e.y+e.height)),o=Math.min(n,r,i,a);return o===n?{x:-1,y:0}:o===r?{x:1,y:0}:o===i?{x:0,y:-1}:{x:0,y:1}}function F(e,t){return e.type===`icon`?h(e,t):e.type===`control`&&e.kind===`lifeline`?f(e):m(e,t)}function I(e,t){return C(m(e,t))}var L=6,R=14;function z(e){return e.type===`text`?R:L}var Le=new Set(a);function B(e,t,n){let r=n===`start`?t.startArrow:t.endArrow,i=n===`start`?t.startHead:t.endHead;return r&&i&&Le.has(i)?0:z(e)}function V(e){if(e.type!==`rectangle`)return null;let t=e.kind;return t!==`diamond`&&t!==`ellipse`&&t!==`double-circle`?null:t}function H(e,t){return e===`diamond`?1-t:Math.sqrt(Math.max(0,1-t*t))}function Re(e,t,n){let r=V(e);if(r===null)return n;let i=Ie(t,n),a=t.x+t.width/2,o=t.y+t.height/2,s=i.x!==0,c=s?t.width/2:t.height/2,l=s?t.height/2:t.width/2,u=s?n.y-o:n.x-a,d=H(r,l===0?0:Math.min(1,Math.abs(u)/l)),f=s?i.x:i.y;return s?{x:a+f*c*d,y:n.y}:{x:n.x,y:o+f*c*d}}var U=.002;function W(e,t,n=0,r){let i=F(e,r),a=q(i,t);if(t.x>U&&t.x<1-U&&t.y>U&&t.y<1-U)return K(e,a,r);let o=Re(e,i,a),s=e.type===`text`?Math.max(n,R):n;if(s<=0)return K(e,o,r);let c=Ie(i,a);return K(e,{x:o.x+c.x*s,y:o.y+c.y*s},r)}var ze=.2;function Be(e,t){return J(F(e,t),I(e,t))}function Ve(e,t,n){let r=Be(e,n);return Math.abs(t.x-r.x)<=ze&&Math.abs(t.y-r.y)<=ze}function He(e){let t=S(e.x),n=S(e.y),r=t,i=1-t,a=n,o=1-n,s=Math.min(r,i,a,o);return s===r?{x:0,y:n}:s===i?{x:1,y:n}:s===a?{x:t,y:0}:{x:t,y:1}}function G(e,t,n){let r=x(e)*Math.PI/180;return r?_(t,C(m(e,n)),-r):t}function K(e,t,n){let r=x(e)*Math.PI/180;return r?_(t,C(m(e,n)),r):t}function q(e,t){return{x:e.x+t.x*e.width,y:e.y+t.y*e.height}}function J(e,t){return{x:e.width===0?.5:(t.x-e.x)/e.width,y:e.height===0?.5:(t.y-e.y)/e.height}}function Ue(e,t){return!e||t.has(e.shapeId)?!1:M(e)?!0:e.precise}function We(e,t){return e.type===`arrow`&&Ue(e.startBinding,t)&&Ue(e.endBinding,t)}function Ge(e,t,n){let r=Pe(t);if(!r||r.length<2)return null;let i=Math.max(0,Math.min(e.seg,r.length-2)),a=r[i],o=r[i+1],s=o.x-a.x,c=o.y-a.y,l=Math.hypot(s,c);if(l<1e-6)return null;let u=(n.x*s+n.y*c)/l;return{...e,seg:i,t:S(e.t+u/l)}}function Ke(e,t,n,r){if(x(t)!==0)return null;let i=F(t,r),{anchor:a}=e;if(Y(t))return i.height>0?{...e,anchor:{x:a.x,y:S(a.y+n.y/i.height)}}:null;let o=.001,s=a.x<=o||a.x>=1-o,c=a.y<=o||a.y>=1-o;return s&&(!c||Math.abs(n.y)>=Math.abs(n.x))&&i.height>0?{...e,anchor:{x:a.x,y:S(a.y+n.y/i.height)},port:void 0}:c&&i.width>0?{...e,anchor:{x:S(a.x+n.x/i.width),y:a.y},port:void 0}:null}function qe(e,t,n,r){return M(e)?Ge(e,t,n):Ke(e,t,n,r)}function Je(e,t,r,i,a){if(!We(e,i))return null;let o=e,s=o.startBinding?.shapeId,c=o.endBinding?.shapeId,l=s?n(r,s):void 0,u=c?n(r,c):void 0;if(!l||!u||!o.startBinding||!o.endBinding)return null;let d=qe(o.startBinding,l,t,a),f=qe(o.endBinding,u,t,a);return!d||!f?null:{...o,startBinding:d,endBinding:f}}function Ye(e,t,n,r,i){let a=Je(e,t,n,r,i);if(a)return a;let o=u(e,t);if(o.type!==`arrow`)return o;let s=e=>e&&r.has(e.shapeId)?e:null,c=s(o.startBinding),l=s(o.endBinding);return c===o.startBinding&&l===o.endBinding?o:{...o,startBinding:c,endBinding:l}}function Xe(e,n,r,i){for(let a=e.length-1;a>=0;--a){let o=e[a];if(o.type===`arrow`||o.type===`line`||o.type===`draw`||o.type===`polygon`||o.type===`figure`||r&&o.id===r||!t(o)&&!T(n,c(o)))continue;let s=o.type===`icon`?h(o,i):m(o,i);if(T(G(o,n,i),s))return o}return null}var Ze={n:{x:.5,y:0},s:{x:.5,y:1},e:{x:1,y:.5},w:{x:0,y:.5},ne:{x:1,y:0},nw:{x:0,y:0},se:{x:1,y:1},sw:{x:0,y:1}},Qe=8;function $e(e,t){return e.x===0||e.x===1?Math.abs(e.y-.5)*t.height<=Qe?{x:e.x,y:.5}:e:Math.abs(e.x-.5)*t.width<=Qe?{x:.5,y:e.y}:e}function et(e,t,n){if(e.type!==`control`||e.kind!==`entity`||t.x!==0&&t.x!==1)return t;let r=l(e);if(r.length===0)return t;let i=n.y+t.y*n.height,a=r.reduce((e,t)=>Math.abs(t.cy-i)<Math.abs(e.cy-i)?t:e);return{x:t.x,y:S((a.cy-n.y)/n.height)}}function tt(e,t,n){return et(e,$e(He(t),n),n)}function nt(e,t,n){let r=F(e,n),i=J(r,G(e,t,n));return e.type===`control`&&e.kind===`lifeline`?{shapeId:e.id,anchor:{x:.5,y:S(i.y)},precise:!0}:Ve(e,i,n)?{shapeId:e.id,anchor:{x:S(i.x),y:S(i.y)},precise:!1}:{shapeId:e.id,anchor:tt(e,i,r),precise:!0}}function rt(e){return e.port?Ze[e.port]:e.anchor}function it(e,t,n){let r=F(e,n);if(e.type===`control`&&e.kind===`lifeline`){let i=J(r,G(e,t,n));return{x:r.x+r.width/2,y:r.y+S(i.y)*r.height}}let i=J(r,G(e,t,n));return Ve(e,i,n)?I(e,n):K(e,q(r,tt(e,i,r)),n)}function at(e,t=L){return w(e,t)}function Y(e){return e.type===`control`&&e.kind===`lifeline`}function ot(e,t,n,r){let a=F(e),o=a.x+a.width/2,s=a.y+S(t)*a.height,c=e.type===`control`?i(e,s):null,l=n.x<=o;return{x:(c?l?c.x:c.x+c.width:o)+(l?-r:r),y:s}}function X(e,t,n){if(M(t))return N(e,t);if(Y(e)&&t.precise){let n=F(e);return{x:n.x+n.width/2,y:n.y+S(t.anchor.y)*n.height}}return t.precise?W(e,rt(t),z(e),n):I(e,n)}function Z(e,t,n,r=z(e),i){return M(t)?N(e,t):Y(e)&&t.precise?ot(e,t.anchor.y,n,r):t.precise?W(e,rt(t),r,i):K(e,ee(at(F(e,i),r),I(e,i),G(e,n,i)),i)}function Q(e,t,n,r,i){let a=at(F(e,i),r),o=n?1/64:-1/64,s=+!n;for(let n=1;n<=64;n+=1){let n=s+o;if(!T(G(e,t.pointAt(n),i),a)){let r=s,o=n;for(let n=0;n<16;n+=1){let n=(r+o)/2;T(G(e,t.pointAt(n),i),a)?r=n:o=n}return r}if(s=n,n<=0||n>=1)break}return+!n}function st(e,t,r,i,a){let o=e=>a?a.get(e):n(t,e),s=e.startBinding?o(e.startBinding.shapeId):void 0,c=e.endBinding?o(e.endBinding.shapeId):void 0;return{start:e.startBinding&&P(e.startBinding,s)?r(s,e.startBinding,`start`):i({x:e.x,y:e.y}),end:e.endBinding&&P(e.endBinding,c)?r(c,e.endBinding,`end`):i({x:e.x2,y:e.y2})}}function ct(e,t,n,r){return st(e,t,(e,t)=>X(e,t,r),e=>e,n)}function lt(e,t){let n=F(e,t),r=x(e)*Math.PI/180;return r?d(n,C(m(e,t)),r):n}function ut(e,t,n){return e.type===`icon`?J(m(e,n),q(F(e,n),t)):t}function dt(e,t){let n=e.x-.5,r=e.y-.5;if(t){let e=t*Math.PI/180,i=Math.cos(e),a=Math.sin(e),o=n*i-r*a,s=n*a+r*i;n=o,r=s}return Math.abs(n)<1e-6&&Math.abs(r)<1e-6?null:Math.abs(n)>Math.abs(r)-1e-4?n<0?`left`:`right`:r<0?`top`:`bottom`}function ft(e,t){if(x(e)!==0)return;let n=V(e);if(n===null)return;let r=m(e),i=r.x+r.width/2,a=r.y+r.height/2,o=r.width/2,s=r.height/2,c=t===`left`||t===`right`,l=t===`right`||t===`bottom`?1:-1;return e=>{let t=c?i:a,r=c?o:s,u=c?a:i,d=c?s:o,f=d===0?0:Math.min(1,Math.abs(e-u)/d),p=H(n,f);return t+l*r*p}}function $(e,t,n,r=z(e),i){if(M(t))return g(N(e,t),n);let a=t.precise?dt(ut(e,t.anchor,i),x(e)):null;return{bounds:lt(e,i),target:t.precise?W(e,t.anchor,0,i):I(e,i),gap:r,minEnd:n*y,side:a,outline:a?ft(e,a):void 0,isPoint:!1}}function pt(e,t,n,r){return st(e,t,(t,n,i)=>$(t,n,e.strokeWidth,B(t,e,i),r),t=>g(t,e.strokeWidth),n)}function mt(e,t,n,r){let i=pt(e,t,n,r);return b(i.start,i.end,e.elbowMid??.5)}function ht(e,t){return{...e,elbowPoints:t,elbowRoute:t,elbowMidHandle:void 0,x:t[0].x,y:t[0].y,x2:t[t.length-1].x,y2:t[t.length-1].y}}function gt(e){return{...e,elbowPoints:void 0,elbowRoute:void 0,elbowMidHandle:void 0}}function _t(e,t,n,r){if(!e.elbowPoints)return e;let i=pt(e,t,n,r),a=p(e.elbowPoints,i.start,i.end);return a?ht(e,a):gt(e)}var vt=24;function yt(e,t,n){let r=e.x+e.width,i=t.x,a=e.y+n.fromTop*e.height,o=Math.max(1,n.fromSpan*e.height),s=t.y+n.toTop*t.height,c=Math.max(1,n.toSpan*t.height),l=r+(i-r)/3,u=i-(i-r)/3,d=(e,t,n)=>{let r=1-e;return r*r*r*t+3*r*r*e*t+3*r*e*e*n+e*e*e*n},f=e=>{let t=1-e;return t*t*t*r+3*t*t*e*l+3*t*e*e*u+e*e*e*i},p=[],m=[];for(let e=0;e<=vt;e+=1){let t=e/vt,n=f(t);p.push({x:n,y:d(t,a,s)}),m.push({x:n,y:d(t,a+o,s+c)})}return[...p,...m.reverse()]}function bt(e,t,n){let r=e.band;if(!r||n&&!n.has(e.id)&&!n.has(r.from)&&!n.has(r.to))return e;let i=t.get(r.from),a=t.get(r.to);if(!i||!a||!xt(i)||!xt(a))return e;let o=yt(i,a,r);return St(o,e.points)?e:{...e,points:o}}function xt(e){return`width`in e&&`height`in e&&`x`in e&&`y`in e}function St(e,t){return e.length===t.length&&e.every((e,n)=>e.x===t[n].x&&e.y===t[n].y)}function Ct(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(Math.abs(e[n].x-t[n].x)>.01||Math.abs(e[n].y-t[n].y)>.01)return!1;return!0}function wt(e,t,n,r){if(t==null){let t=e;for(let e=0;e<4;e+=1){let e=jt(t,n);if(e===t)break;t=e}return t}if(t.size===0)return e;let i=e,a=t;for(let e=0;e<4&&a.size>0;e+=1){let t=Nt(i,a,n,e===0?r:void 0);if(t.shapes===i)break;i=t.shapes,a=t.moved}return i}function Tt(e){let t=new Set(e.map(e=>e.id)),n=new Set;for(let r of e)if(r.type===`arrow`){let{startBinding:e,endBinding:i}=r;e&&i&&t.has(e.shapeId)&&t.has(i.shapeId)&&n.add(r.id)}else r.type===`polygon`&&r.band&&t.has(r.band.from)&&t.has(r.band.to)&&n.add(r.id);return n}function Et(e,t){return!!(t.has(e.id)||e.startBinding&&t.has(e.startBinding.shapeId)||e.endBinding&&t.has(e.endBinding.shapeId))}function Dt(e,t,n,r,i,a,o,s){let{x:c,y:l,x2:u,y2:d}=e;if(t&&n){let r=Z(t,n,o,B(t,e,`start`),s);c=r.x,l=r.y}if(r&&i){let t=Z(r,i,a,B(r,e,`end`),s);u=t.x,d=t.y}return{x:c,y:l,x2:u,y2:d}}function Ot(e,t,n,r,i,a,o,s){let{x:c,y:l,x2:u,y2:d}=e,f=e.elbowPoints,m=e.elbowRoute,h=e.elbowMidHandle,_=t&&n?$(t,n,e.strokeWidth,B(t,e,`start`),s):g({x:e.x,y:e.y},e.strokeWidth),v=r&&i?$(r,i,e.strokeWidth,B(r,e,`end`),s):g({x:e.x2,y:e.y2},e.strokeWidth),y=null;if(f&&f.length>=3&&t&&t===r){let e=(e,t)=>e.map(n=>({x:n.x+t.x-e[0].x,y:n.y+t.y-e[0].y})),t=p(e(f,_.target),_,v)?.[0];t&&(f=e(f,t))}if(f&&f.length>=3)y=p(f,_,v),y||(f=void 0);else if(f){let e=e=>!e||M(e)||e.precise;e(n)&&e(i)?y=[{x:_.target.x,y:_.target.y},{x:v.target.x,y:v.target.y}]:f=void 0}if(y)({elbowPoints:f,elbowRoute:m,elbowMidHandle:h,x:c,y:l,x2:u,y2:d}=ht(e,y));else{let f=b(_,v,e.elbowMid??.5);f.route&&f.route.length>=2?(m=f.route,h=f.midHandle??void 0,c=f.route[0].x,l=f.route[0].y,u=f.route[f.route.length-1].x,d=f.route[f.route.length-1].y):(m=void 0,h=void 0,{x:c,y:l,x2:u,y2:d}=Dt(e,t,n,r,i,a,o,s))}return{x:c,y:l,x2:u,y2:d,bend:e.bend,bendAlong:e.bendAlong,bow:e.bow,bowAlong:e.bowAlong,elbowPoints:f,elbowRoute:m,elbowMidHandle:h}}function kt(t,n,r,i,a,o,c,l){let{x:u,y:d,x2:f,y2:p}=t,m=t.bend,h=t.bendAlong,g=t.bow??t.bend??0,_=t.bowAlong??t.bendAlong??0,v=g,y=_,b=s(o,c,g,_),x=!1;if(b){let o=n&&r&&!M(r)?Q(n,b,!0,B(n,t,`start`),l):0,s=i&&a&&!M(a)?Q(i,b,!1,B(i,t,`end`),l):1;if(s-o>.02){let t=b.pointAt(o),n=b.pointAt(s);if(u=t.x,d=t.y,f=n.x,p=n.y,_===0)m=e(t,n,b.pointAt((o+s)/2)).bow,h=0;else if(b.apexT>o+.01&&b.apexT<s-.01){let r=e(t,n,b.apex);m=r.bow,h=r.bowAlong}else m=e(t,n,b.pointAt((o+s)/2)).bow,h=0;x=!0}}return x||({x:u,y:d,x2:f,y2:p}=Dt(t,n,r,i,a,o,c,l),m=0,h=0),{x:u,y:d,x2:f,y2:p,bend:m,bendAlong:h,bow:v,bowAlong:y,elbowPoints:t.elbowPoints,elbowRoute:void 0,elbowMidHandle:void 0}}function At(e,t,n,r){if(e.type===`polygon`)return bt(e,t,n);if(e.type!==`arrow`||!e.startBinding&&!e.endBinding||n&&!Et(e,n))return e;let i=e.startBinding,a=e.endBinding,o=i?t.get(i.shapeId):void 0,s=a?t.get(a.shapeId):void 0;i&&!P(i,o)&&(i=null),a&&!P(a,s)&&(a=null);let c=o&&i?X(o,i,r):{x:e.x,y:e.y},l=s&&a?X(s,a,r):{x:e.x2,y:e.y2},u=(e.bendStyle===`elbow`?Ot:kt)(e,o,i,s,a,c,l,r),{x:d,y:f,x2:p,y2:m,bend:h,bendAlong:g,bow:_,bowAlong:v}=u,y=u.elbowPoints,b=u.elbowRoute,x=u.elbowMidHandle,S=!Ct(b,e.elbowRoute);S||(b=e.elbowRoute);let C=!Ct(y,e.elbowPoints);C||(y=e.elbowPoints);let w=!Pt(x,e.elbowMidHandle);return w||(x=e.elbowMidHandle),d===e.x&&f===e.y&&p===e.x2&&m===e.y2&&h===e.bend&&g===e.bendAlong&&_===e.bow&&v===e.bowAlong&&!S&&!C&&!w&&i===e.startBinding&&a===e.endBinding?e:{...e,x:d,y:f,x2:p,y2:m,bend:h,bendAlong:g,bow:_,bowAlong:v,elbowPoints:y,elbowRoute:b,elbowMidHandle:x,startBinding:i,endBinding:a}}function jt(e,t){let n=new Map(e.map(e=>[e.id,e])),r=!1,i=e.map(e=>{let i=At(e,n,null,t);return i!==e&&(r=!0),i});return r?i:e}function Mt(e,t){return e.type===`arrow`?(e.startBinding!==null||e.endBinding!==null)&&Et(e,t):e.type===`polygon`&&e.band?t.has(e.id)||t.has(e.band.from)||t.has(e.band.to):!1}function Nt(e,t,n,i){let{position:a,dependents:s}=v(e),c=new Set,l=n=>{if(n===void 0||c.has(n))return;let r=e[n];Mt(r,t)&&!i?.has(r.id)&&c.add(n)};for(let e of t){l(a.get(e));for(let t of s.get(e)??[])l(a.get(t))}let u=new Set;if(c.size===0)return{shapes:e,moved:u};let d=new Map;for(let t of c)for(let n of r(e[t])){let t=a.get(n);t!==void 0&&d.set(n,e[t])}let f=null,p=[];for(let r of c){let i=e[r],a=At(i,d,t,n);a!==i&&(f??=e.slice(),f[r]=a,p.push(r),u.add(i.id))}return f?(o(e,f,p),{shapes:f,moved:u}):{shapes:e,moved:u}}function Pt(e,t){return e===t?!0:!e||!t?!1:e.axis===t.axis&&Math.abs(e.x-t.x)<=.01&&Math.abs(e.y-t.y)<=.01&&Math.abs(e.span-t.span)<=.01}export{he as A,oe as B,k as C,de as D,le as E,pe as F,_e as H,ce as I,ge as L,te as M,ie as N,re as O,me as P,se as R,Ne as S,ue as T,ve as V,E as _,Fe as a,we as b,We as c,Ye as d,Xe as f,Ce as g,Z as h,ct as i,fe as j,ne as k,mt as l,_t as m,Tt as n,nt as o,X as p,yt as r,it as s,wt as t,M as u,ye as v,ke as w,De as x,Oe as y,ae as z};
@@ -0,0 +1 @@
1
+ import{Ar as e,At as t,B as n,Bn as r,Ct as i,Hn as a,I as o,Mr as s,P as c,Tt as l,Wn as u,_t as d,an as f,at as p,bt as m,ct as h,dt as g,et as ee,ft as te,gt as _,ht as ne,it as v,jr as y,lt as re,mt as b,nt as ie,pt as ae,rt as x,st as S,tt as C,ut as oe,vt as w,xt as T,yt as se}from"./slides-D686obFO.js";import{B as E,G as D,b as O}from"./style-BENGW2ZV.js";function k(e){return(e.value??0)>=.5}function ce(e){let{bounds:t,shape:n,ink:r}=e,i=[],a=S(n);if(a&&i.push({kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:10,fill:a}),i.push(..._(e,s(t.x,t.y,t.width,t.height,10),r)),n.label){let o=a?E(a):r;i.push(w(e,t.x+t.width/2,t.y+t.height/2,n.label,o,{anchor:`middle`}))}return i}function A(e,t=12){let{bounds:n,shape:r,ink:i}=e,a=_(e,s(n.x,n.y,n.width,n.height,6),i);return r.label&&a.push(w(e,n.x+t,n.y+n.height/2,r.label,v)),a}function le(t){let{bounds:n,ink:r}=t,i=te(n),a=n.x+12+i,o=n.y+n.height/2-i*.4,s=A(t,ae(n));return s.push(..._(t,e(a,o,i),r,C)),s.push(..._(t,y(a+i*.72,o+i*.72,a+i*1.7,o+i*1.7),r,C)),s}function ue(e){let{bounds:t,shape:n,ink:r}=e,i=t.x,a=t.y+t.height/2-22/2,o=_(e,s(i,a,22,22,4),r);if(k(n)){let t=`M ${i+22*.22} ${a+22*.55} L ${i+22*.45} ${a+22*.75} L ${i+22*.8} ${a+22*.25}`;o.push(..._(e,t,r,2.2))}return n.label&&o.push(w(e,i+22+10,t.y+t.height/2,n.label,r)),o}function de(t){let{bounds:n,shape:r,ink:i}=t,a=n.x+11,o=n.y+n.height/2,s=_(t,e(a,o,11),i);return k(r)&&s.push({kind:`circle`,cx:a,cy:o,r:4.5,fill:i}),r.label&&s.push(w(t,a+11+10,o,r.label,i)),s}function fe(t){let{bounds:n,shape:i,ink:a}=t,o=se(n),c=o*1.9,l=n.x,u=n.y+n.height/2-o/2,d=n.y+n.height/2,f=k(i),p=[];f&&p.push({kind:`rect`,x:l,y:u,width:c,height:o,rx:o/2,fill:S(i)??`#4dabf7`}),p.push(..._(t,s(l,u,c,o,o/2),a));let h=o/2-4,g=f?l+c-o/2:l+o/2;return p.push({kind:`circle`,cx:g,cy:d,r:h,fill:r.paper}),p.push(..._(t,e(g,d,h),a,C)),i.label&&p.push(w(t,n.x+m(n),d,i.label,a)),p}function pe(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=t.x+t.width,o=_(e,s(t.x,t.y,t.width,t.height,6),r);n.label&&o.push(w(e,t.x+12,i,n.label,r));let c=`M ${a-25} ${i-4} L ${a-18} ${i+4} L ${a-11} ${i-4}`;return o.push(..._(e,c,r,C)),o}function me(t){let{bounds:n,shape:i,ink:a}=t,o=D(i.value??.5),s=n.y+n.height/2+(i.label?n.height*.12:0),c=n.x+8,l=n.x+n.width-8,u=c+o*(l-c),d=_(t,y(c,s,l,s),v,C);return d.push({kind:`line`,x1:c,y1:s,x2:u,y2:s,stroke:a,width:3}),d.push({kind:`circle`,cx:u,cy:s,r:8,fill:r.paper}),d.push(..._(t,e(u,s,8),a,C)),i.label&&d.push(w(t,n.x,n.y+2,i.label,v,{size:i.fontSize*.7,baseline:`hanging`})),d}function he(t){let{bounds:n,ink:r}=t,i=n.x+n.width/2,a=n.y+n.height/2,o=Math.min(n.width,n.height)/2-2,s=_(t,e(i,a,o),r);s.push(..._(t,e(i,a-o*.3,o*.32),r,C));let c=`M ${i-o*.55} ${a+o*.72} A ${o*.55} ${o*.55} 0 0 1 ${i+o*.55} ${a+o*.72}`;return s.push(..._(t,c,r,C)),s}function ge(e){let{bounds:t,shape:n,ink:r}=e;return n.label?[w(e,t.x,t.y+t.height/2,n.label,r,{size:n.fontSize*ie})]:[]}function _e(e,t,n,r){let i=(e+t)/2;return`M ${e} ${n} Q ${i} ${n-r} ${t} ${n} Q ${i} ${n+r} ${e} ${n} Z`}function ve(e,t,n,r){return{kind:`path`,d:_e(e,t,n,r),fill:v,stroke:`none`}}function ye(e){let{bounds:t,shape:n,ink:r}=e;if(n.label){let a=n.fontSize*.9,o=a*1.4,s=i(n.label,t.width,a),c=Math.max(1,Math.floor(t.height/o));return s.slice(0,c).map((n,i)=>w(e,t.x,t.y+o*(i+.6),n,r,{size:a}))}let a=n.fontSize*1.4,o=Math.max(2,Math.floor(t.height/a)),s=[];for(let e=0;e<o;e+=1){let n=t.y+a*(e+.7),r=e===o-1?.6:1;s.push(ve(t.x,t.x+t.width*r,n,3))}return s}function j(e,t,n){let r=n*.45,i=[];for(let a=0;a<10;a+=1){let o=a%2==0?n:r,s=-Math.PI/2+a*Math.PI/5,c=e+Math.cos(s)*o,l=t+Math.sin(s)*o;i.push(`${a===0?`M`:`L`} ${c} ${l}`)}return`${i.join(` `)} Z`}function be(e){let{bounds:t}=e,n=t.y+t.height/2;return _(e,y(t.x,n,t.x+t.width,n),v,C)}function xe(e){let{bounds:t,shape:n}=e;if(!n.label)return[];let r=t.x+t.width/2,i=t.y+t.height/2,a=Math.min(t.width,n.label.length*n.fontSize*.55),o=i+n.fontSize*.6;return[w(e,r,i,n.label,O,{anchor:`middle`}),..._(e,y(r-a/2,o,r+a/2,o),O,C)]}function M(e){let{bounds:t,shape:n,ink:r}=e,a=_(e,s(t.x,t.y,t.width,t.height,6),r),o=n.fontSize*.9,c=o*1.4;if(n.label){let s=i(n.label,t.width-24,o),l=Math.max(1,Math.floor((t.height-12)/c));s.slice(0,l).forEach((n,i)=>{a.push(w(e,t.x+12,t.y+12+c*(i+.5),n,r,{size:o}))})}else a.push(w(e,t.x+12,t.y+12+c*.5,`Type here…`,v,{size:o}));let l=t.x+t.width-6,u=t.y+t.height-6;return a.push(..._(e,y(l-6,u,l,u-6),v,C)),a.push(..._(e,y(l-11,u,l,u-11),v,C)),a}function Se(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=ne(t),o=t.x+a,c=t.x+t.width-a,l=_(e,s(t.x,t.y,t.width,t.height,6),r);l.push(..._(e,y(o,t.y,o,t.y+t.height),r,C)),l.push(..._(e,y(c,t.y,c,t.y+t.height),r,C));let u=t.x+a/2,d=t.x+t.width-a/2,f=Math.min(n.fontSize*.42,a*.4,t.height*.3);return l.push(..._(e,y(u-f,i,u+f,i),r,2.2)),l.push(..._(e,y(d-f,i,d+f,i),r,2.2)),l.push(..._(e,y(d,i-f,d,i+f),r,2.2)),n.label&&l.push(w(e,(o+c)/2,i,n.label,r,{anchor:`middle`})),l}function Ce(e){let{bounds:t,shape:n,ink:r}=e,i=t.height/2,a=S(n),o=[];return a&&o.push({kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:i,fill:a}),o.push(..._(e,s(t.x,t.y,t.width,t.height,i),r)),n.label&&o.push(w(e,t.x+t.width/2,t.y+t.height/2,n.label,r,{anchor:`middle`,size:n.fontSize*ee})),o}var N=`#ffd43b`;function we(e){let{bounds:t,shape:n}=e,r=t.x+t.width/2,i=t.y+t.height/2,a=Math.min(t.width,t.height)/2,o=S(n)??`#ffd43b`,s=l(r,i,a,n,e.nextSalt()).map(e=>({kind:`path`,d:e,fill:o,stroke:`none`}));return n.label&&s.push(w(e,r,i,n.label,E(o),{anchor:`middle`,size:a*.95})),s}function Te(e){let{bounds:t,shape:n,ink:r}=e,i=D(n.value??.6),a=Math.min(t.height,14),o=t.y+t.height/2-a/2,c=a/2,l=[],u=Math.max(a,t.width*i);return l.push({kind:`rect`,x:t.x,y:o,width:u,height:a,rx:c,fill:S(n)??r}),l.push(..._(e,s(t.x,o,t.width,a,c),r,C)),l}function Ee(e){let{bounds:t,shape:n,ink:r}=e,i=Math.max(0,Math.min(5,Math.round(n.value??3))),a=t.y+t.height/2,o=t.width/5,s=Math.min(o,t.height)*.42,c=[];for(let l=0;l<5;l+=1){let u=t.x+o*(l+.5);l<i&&c.push({kind:`path`,d:j(u,a,s),fill:S(n)??r}),c.push(..._(e,j(u,a,s),r,C))}return c}function De(e){let{bounds:t,shape:n,ink:r}=e,i=D(n.value??.3),a=t.width/2,o=_(e,s(t.x,t.y,t.width,t.height,a),v,C),c=Math.max(t.width*1.5,t.height*.32),l=t.y+i*(t.height-c);return o.push({kind:`rect`,x:t.x,y:l,width:t.width,height:c,rx:a,fill:S(n)??r}),o.push(..._(e,s(t.x,l,t.width,c,a),r,C)),o}var Oe={button:ce,input:A,search:le,checkbox:ue,radio:de,toggle:fe,dropdown:pe,slider:me,avatar:he,heading:ge,paragraph:ye,divider:be,link:xe,textarea:M,stepper:Se,badge:Ce,progress:Te,rating:Ee,scrollbar:De,stepbadge:we},P=`rectangle.ellipse.circle.diamond.cylinder.queue.callout.hexagon.parallelogram.trapezoid.triangle.cloud.star.speech-bubble.note.sticky.checkbox.crossbox.heart.arrow-up.arrow-down.arrow-left.arrow-right.plus.bolt.document.predefined-process.manual-input.pentagon.chevron.octagon.cube.actor.double-circle.card.delay.fork-join.multi-document.multi-process.package.component.brace`.split(`.`),ke=[`browser`,`phone`,`window`,`tablet`],Ae={architecture:`architecture`,graph:`architecture`,flowchart:`flowchart`,flow:`flowchart`,bpmn:`bpmn`,orgchart:`orgchart`,org:`orgchart`,statemachine:`statemachine`,state:`statemachine`,fsm:`statemachine`,sequence:`sequence`,erd:`erd`,class:`erd`,uml:`erd`,wireframe:`wireframe`},je=[`architecture`,`flowchart`,`bpmn`,`orgchart`,`statemachine`,`sequence`,`erd`,`wireframe`],F=[`blue`,`green`,`red`,`orange`,`violet`,`teal`,`pink`,`yellow`,`gray`];function I(e){return Object.fromEntries(e.map(e=>[e,e]))}var Me={...I(F),grey:`gray`,purple:`violet`},Ne={...I(P),box:`rectangle`,oval:`ellipse`,decision:`diamond`,database:`cylinder`,db:`cylinder`,storage:`cylinder`,process:`rectangle`,terminator:`ellipse`,start:`ellipse`,end:`ellipse`,data:`parallelogram`,io:`parallelogram`,prep:`hexagon`,preparation:`hexagon`,crossedbox:`crossbox`,lightning:`bolt`,cross:`plus`,doc:`document`,subroutine:`predefined-process`,offpage:`pentagon`,"off-page":`pentagon`,stop:`octagon`,box3d:`cube`,person:`actor`,activity:`rectangle`,event:`ellipse`,gateway:`diamond`,doublecircle:`double-circle`,ring:`double-circle`,"notched-rectangle":`card`,fork:`fork-join`,join:`fork-join`,"stacked-document":`multi-document`,documents:`multi-document`,"stacked-rectangle":`multi-process`,processes:`multi-process`},Pe={app:`app-window`,money:`banknote`};function Fe(e){let t=e.replace(`/`,`:`),n=/^(tech|aws|gcp|azure)-(.+)$/.exec(t);return n?`${n[1]}:${n[2]}`:Pe[t]??t}var Ie=[`pastel`,`bold`,`outline`],Le=[`sharp`,`rounded`],Re=[`arrow`,`circle`,`cross`],ze=[`right`,`down`,`left`,`up`],Be=[`loop`,`alt`,`opt`,`par`,`break`],Ve=[`public`,`private`,`protected`,`package`],He={public:`+`,private:`-`,protected:`#`,package:`~`},Ue=[`zeroOrOne`,`one`,`zeroOrMany`,`oneOrMany`],We=[`inheritance`,`realization`,`composition`,`aggregation`,`dependency`,`association`];function Ge(e){if(e.fromCard||e.toCard)return{from:e.fromCard??`one`,to:e.toCard??`one`};switch(e.cardinality){case`1:1`:return{from:`one`,to:`one`};case`1:N`:return{from:`one`,to:`oneOrMany`};case`N:M`:return{from:`oneOrMany`,to:`oneOrMany`};default:return null}}var Ke=[`full`,`twoThirds`,`half`,`third`],L=[`info`,`success`,`warning`,`error`],qe=[`timeline`,`journey`,`cycle`,`funnel`,`pyramid`,`venn`,`matrix`],Je={min:0,max:5,default:3},Ye=[`normal`,`reverse`,`highlight`],Xe=[`done`,`active`,`critical`,`milestone`];function Ze(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=t.y+t.height,o=_(e,s(t.x,t.y,t.width,t.height,4),r);return o.push(..._(e,y(t.x,t.y,i,a),r,C)),o.push(..._(e,y(i,t.y,t.x,a),r,C)),n.label&&o.push(w(e,t.x+t.width/2,t.y+t.height/2+Math.min(t.height*.25,n.fontSize*1.4),n.label,v,{size:n.fontSize*.8,anchor:`middle`})),o}var R=`Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`,z=1.3;function B(e,t){return Math.min(e.height*.5,Math.max(0,e.height-t*4))}function V(e){let t=f(e),n=e.fontSize,r=e.fontSize*.85,i=t.x+12,a=t.width-24,o=t.y+B(t,e.fontSize)+8,s=t.y+t.height-6,c=n*z,l=Math.max(1,e.label.trim()?T(e.label.trim(),a,n).length:1),u=Math.min(l*c,s-o),d=Math.min(o+u+4,s);return{title:{field:`label`,x:i,y:o,width:a,height:u,fontSize:n},body:{field:`body`,x:i,y:d,width:a,height:Math.max(r,s-d),fontSize:r}}}function H(e,t,n,r){let i=n.trim();if(!i)return[];let a=t.fontSize*z,o=Math.max(1,Math.floor(t.height/a));return T(i,t.width,t.fontSize).slice(0,o).map((n,i)=>w(e,t.x,t.y+a*i+2,n,r,{size:t.fontSize,baseline:`hanging`,testId:t.field===`body`?`card-body`:`card-title`}))}function Qe(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=t.y+B(t,n.fontSize),o=g(e,10);o.push(..._(e,y(t.x,a,i,a),r,C)),o.push(..._(e,y(t.x,t.y,i,a),v,C)),o.push(..._(e,y(i,t.y,t.x,a),v,C));let s=V(n);return o.push(...H(e,s.title,n.label,r)),o.push(...H(e,s.body,n.body??``,v)),o}function $e(e){let{bounds:t,shape:n,ink:r}=e,i=b(n.label),a=g(e,6);if(i.length===0)return a;let o=t.height/i.length;return i.forEach((n,s)=>{let c=t.y+o*s,l=c+o/2,u=t.x+12;a.push({kind:`circle`,cx:u,cy:l,r:2.4,fill:v}),a.push(w(e,u+12,l,n,r)),s<i.length-1&&a.push(..._(e,y(t.x,c+o,t.x+t.width,c+o),v,1))}),a}var et={info:{label:`Info`,tint:`#e7f5ff`,ink:`#1971c2`},success:{label:`Success`,tint:`#ebfbee`,ink:`#2f9e44`},warning:{label:`Warning`,tint:`#fff9db`,ink:`#f08c00`},error:{label:`Error`,tint:`#fff5f5`,ink:`#e03131`}},U=L.map(e=>({key:e,...et[e]}));function tt(e){return U[Math.max(0,Math.min(U.length-1,Math.round(e.value??0)))]}function nt(t,n,r,i,a,o){let s=[];return n===`warning`?s.push(..._(t,`M ${r} ${i-a} L ${r+a} ${i+a*.85} L ${r-a} ${i+a*.85} Z`,o,C)):s.push(..._(t,e(r,i,a),o,C)),n===`success`?(s.push(..._(t,`M ${r-a*.45} ${i} L ${r-a*.1} ${i+a*.4} L ${r+a*.5} ${i-a*.4}`,o,2)),s):n===`info`?(s.push({kind:`circle`,cx:r,cy:i-a*.45,r:1.5,fill:o}),s.push(..._(t,y(r,i-a*.1,r,i+a*.5),o,2)),s):n===`warning`?(s.push(..._(t,y(r,i-a*.08,r,i+a*.28),o,2)),s.push({kind:`circle`,cx:r,cy:i+a*.5,r:1.4,fill:o}),s):(s.push(..._(t,y(r,i-a*.42,r,i+a*.12),o,2)),s.push({kind:`circle`,cx:r,cy:i+a*.42,r:1.4,fill:o}),s)}function rt(e){let{bounds:t,shape:n}=e,r=tt(n),i=t.y+t.height/2,a=[{kind:`rect`,x:t.x,y:t.y,width:t.width,height:t.height,rx:8,fill:r.tint}];a.push(..._(e,s(t.x,t.y,t.width,t.height,8),r.ink));let o=re(t),c=t.x+o+12;if(a.push(...nt(e,r.key,c,i,o,r.ink)),n.label){let o=t.x+oe(t);a.push(w(e,o,i,n.label,r.ink,{size:n.fontSize*.92}))}return a}function it(e){let{bounds:t,shape:n,ink:r}=e,i=b(n.label),a=g(e,8);if(i.length===0)return a;let o=t.height/i.length,s=h(n,i.length);return i.forEach((n,i)=>{let c=t.y+o*i,l=c+o/2;i===s&&a.push({kind:`rect`,x:t.x+4,y:c+3,width:t.width-8,height:o-6,rx:5,fill:x}),a.push(w(e,t.x+12,l,n,r))}),a}function at(e){let{bounds:t,shape:n,ink:r}=e,i=t.height-8,a=t.x+t.width/2,o=[],s=S(n),c=t.x,l=t.x+t.width,u=t.y,d=t.y+i,f=Math.min(6,i/2,t.width/2),p=`M ${c+f} ${u} H ${l-f} Q ${l} ${u} ${l} ${u+f} V ${d-f} Q ${l} ${d} ${l-f} ${d} H ${a+8} L ${a} ${d+8} L ${a-8} ${d} H ${c+f} Q ${c} ${d} ${c} ${d-f} V ${u+f} Q ${c} ${u} ${c+f} ${u} Z`;if(s&&(o.push({kind:`rect`,x:c,y:u,width:t.width,height:i,rx:f,fill:s}),o.push({kind:`path`,d:`M ${a-8} ${d} L ${a} ${d+8} L ${a+8} ${d} Z`,fill:s,stroke:`none`})),o.push(..._(e,p,r)),n.label){let c=s?E(s):r;o.push(w(e,a,t.y+i/2,n.label,c,{anchor:`middle`,size:n.fontSize*.9}))}return o}function ot(e){let{bounds:t,shape:n,ink:r}=e,i=b(n.label),a=g(e,8);if(i.length===0)return a;let o=h(n,i.length),s=Math.min(38,t.height/i.length),c=Math.max(0,t.height-s*i.length),l=t.x+t.width,u=t.y;return i.forEach((d,f)=>{let p=u+s/2,m=l-20,h=f===o,g=h?`M ${m-5} ${p-3} L ${m} ${p+3} L ${m+5} ${p-3}`:`M ${m-3} ${p-5} L ${m+3} ${p} L ${m-3} ${p+5}`;if(a.push(w(e,t.x+12,p,d,r)),a.push(..._(e,g,v,C)),u+=s,h&&c>0){let r=Math.max(1,Math.floor(c/(n.fontSize*1.4)));for(let i=0;i<r;i+=1){let o=u+n.fontSize*1.4*(i+.6);if(o>u+c)break;let s=i===r-1?.6:.92;a.push(..._(e,y(t.x+12,o,t.x+t.width*s,o),v,1))}u+=c}f<i.length-1&&a.push(..._(e,y(t.x,u,l,u),v,1))}),a}var st=`Are you sure you want to continue?`;function W(e){return Math.min(46,e.height*.24)}function G(e){return Math.min(56,e.height*.28)}function K(e){let t=e.x+e.width,n=e.y+e.height,r=G(e),i=n-r,a=Math.min(34,r-14),o=i+(r-a)/2,s=Math.min(88,(e.width-24-10)/2);if(s<=24)return null;let c=t-12-s;return{secondary:{x:c-10-s,y:o,width:s,height:a},primary:{x:c,y:o,width:s,height:a}}}function q(e){return e.primaryLabel??`OK`}function J(e){return e.secondaryLabel??`Cancel`}function ct(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,o=t.y+t.height,c=W(t),l=o-G(t),u=g(e,12);n.label&&u.push(w(e,t.x+12,t.y+c/2,n.label,r,{testId:`card-title`}));let d=i-12-4,f=t.y+c/2;u.push(..._(e,y(d-5,f-5,d+5,f+5),v,C)),u.push(..._(e,y(d+5,f-5,d-5,f+5),v,C)),u.push(..._(e,y(t.x,t.y+c,i,t.y+c),v,1));let p=n.body??``;if(p){let i=n.fontSize*.92,a=i*1.4,o=t.y+c+10,s=T(p,t.width-24,i),d=Math.max(1,Math.floor((l-o)/a));s.slice(0,d).forEach((n,s)=>u.push(w(e,t.x+12,o+a*(s+.5),n,r,{size:i,testId:`card-body`})))}u.push(..._(e,y(t.x,l,i,l),v,1));let m=K(t);if(m){let{secondary:t,primary:i}=m,o=n.fontSize*.82,c=a(r)??E(r);u.push({kind:`rect`,x:i.x,y:i.y,width:i.width,height:i.height,rx:8,fill:r}),u.push(..._(e,s(i.x,i.y,i.width,i.height,8),r)),u.push(..._(e,s(t.x,t.y,t.width,t.height,8),r));let l=q(n),d=J(n);l&&u.push(w(e,i.x+i.width/2,i.y+i.height/2,l,c,{anchor:`middle`,size:o,testId:`modal-primary`})),d&&u.push(w(e,t.x+t.width/2,t.y+t.height/2,d,r,{anchor:`middle`,size:o,testId:`modal-secondary`}))}return u}var lt={image:Ze,card:Qe,list:$e,alert:rt,menu:it,tooltip:at,accordion:ot,modal:ct};function ut(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=_(e,s(t.x,t.y,t.width,t.height,8),r),o=b(n.label),c=h(n,o.length);return o.forEach((n,s)=>{let l=t.x+t.width*(s+.5)/o.length;a.push(w(e,l,i,n,s===c?r:v,{anchor:`middle`}))}),a}var dt=14;function ft(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=t.y+t.height-1,o=[{kind:`line`,x1:t.x,y1:a,x2:t.x+t.width,y2:a,stroke:v,width:1}],s=b(n.label);if(s.length>0){let c=h(n,s.length),l=n.fontSize*.55,u=t.x;s.forEach((t,n)=>{let s=t.length*l+dt*2;n===c&&o.push(..._(e,y(u+4,a,u+s-4,a),r,2.5)),o.push(w(e,u+s/2,i,t,n===c?r:v,{anchor:`middle`})),u+=s})}return o}function pt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=b(n.label),o=n.fontSize*.4,s=[],c=t.x;return a.forEach((t,n)=>{let l=n===a.length-1;s.push(w(e,c,i,t,l?r:v,{anchor:`start`})),c+=d(e,t),l||(c+=o,s.push(w(e,c,i,`/`,v,{anchor:`start`})),c+=d(e,`/`)+o)}),s}function mt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=b(n.label),o=t.height*.5,c=[],l=t.x+o*.5;c.push(..._(e,`M ${l+3} ${i-5} L ${l-3} ${i} L ${l+3} ${i+5}`,v,C));let u=t.x+t.width-o*.5;if(c.push(..._(e,`M ${u-3} ${i-5} L ${u+3} ${i} L ${u-3} ${i+5}`,v,C)),a.length>0){let l={x:t.x+o,width:t.width-o*2},u=l.width/a.length,d=h(n,a.length),f=Math.min(t.height,u)*.82;a.forEach((t,a)=>{let o=l.x+u*(a+.5);a===d&&c.push(..._(e,s(o-f/2,i-f/2,f,f,5),r,C)),c.push(w(e,o,i,t,a===d?r:v,{anchor:`middle`,size:n.fontSize*.85}))})}return c}function ht(e){let{bounds:t,shape:n,ink:r}=e,i=t.x+t.width,a=Math.min(34,t.height*.2),o=_(e,s(t.x,t.y,t.width,t.height,8),r),c=t.y+a/2;o.push(..._(e,`M ${t.x+18} ${c-4} L ${t.x+12} ${c} L ${t.x+18} ${c+4}`,v,C)),o.push(..._(e,`M ${i-18} ${c-4} L ${i-12} ${c} L ${i-18} ${c+4}`,v,C)),o.push(w(e,t.x+t.width/2,c,n.label||`Month`,v,{anchor:`middle`,size:n.fontSize*.85})),o.push(..._(e,y(t.x,t.y+a,i,t.y+a),v,1));let l=t.y+a+8,u=t.y+t.height-l-8,d=t.width/7,f=u/5,p=Math.min(d,f)*.16,m=Math.round((n.value??.4)*34);for(let e=0;e<5;e+=1)for(let i=0;i<7;i+=1){let a=t.x+d*(i+.5),s=l+f*(e+.5);e*7+i===m?o.push({kind:`circle`,cx:a,cy:s,r:p*1.8,fill:S(n)??r}):o.push({kind:`circle`,cx:a,cy:s,r:p,fill:v})}return o}function gt(e){let{bounds:t,shape:n,ink:r}=e,i=b(n.label),a=g(e,8);if(i.length===0)return a;let o=t.y+12,s=Math.min(40,(t.height-24)/i.length),c=h(n,i.length);return i.forEach((i,l)=>{let u=o+s*l,d=u+s/2;l===c&&a.push({kind:`rect`,x:t.x+6,y:u+3,width:t.width-12,height:s-6,rx:6,fill:x});let f=t.x+12+2;a.push({kind:`circle`,cx:f,cy:d,r:3,fill:l===c?r:v}),a.push(w(e,f+14,d,i,l===c?r:v,{size:n.fontSize*.9}))}),a}function Y(e){let{bounds:t,shape:n,ink:r}=e,i=b(n.label),a=Math.max(i.length,1),o=t.width/a,c=Math.min(8,t.height/2),l=t.y+t.height/2,u=h(n,i.length),d=S(n)??`#4dabf7`,f=[];i.length>0&&f.push({kind:`rect`,x:t.x+u*o,y:t.y,width:o,height:t.height,rx:u===0||u===a-1?c:0,fill:d}),f.push(..._(e,s(t.x,t.y,t.width,t.height,c),r));for(let n=1;n<a;n+=1){let i=t.x+n*o;f.push(..._(e,y(i,t.y,i,t.y+t.height),r,C))}return i.forEach((n,r)=>{let i=t.x+(r+.5)*o,a=r===u?E(d):v;f.push(w(e,i,l,n,a,{anchor:`middle`}))}),f}function _t(t){let{bounds:n,shape:r,ink:i}=t,a=b(r.label),o=Math.max(a.length,1),s=n.width/o,c=h(r,a.length),l=_(t,y(n.x,n.y,n.x+n.width,n.y),v,C),u=Math.min(8,n.height*.18),d=n.y+n.height*.4;return a.forEach((a,o)=>{let f=n.x+(o+.5)*s,p=o===c?i:v;l.push(..._(t,e(f,d,u),p,C)),l.push(w(t,f,n.y+n.height*.8,a,p,{anchor:`middle`,size:r.fontSize*.78}))}),l}function vt(e){let{bounds:t,shape:n,ink:r}=e,i=t.y+t.height/2,a=n.label&&n.label.length>0?n.label:`9:41`,o=[w(e,t.x+8,i,a,r,{size:n.fontSize*p})],c=t.x+t.width-8,l=Math.min(11,t.height*.5),u=l*2,d=c-u-2,f=i-l/2;o.push(..._(e,s(d,f,u,l,2),r,C)),o.push({kind:`rect`,x:d+u+1.5,y:i-l*.2,width:2,height:l*.4,fill:r}),o.push({kind:`rect`,x:d+1.5,y:f+1.5,width:(u-3)*.6,height:l-3,fill:r});let m=i+5,h=d-30;for(let e=0;e<4;e+=1){let t=3+e*2.2;o.push({kind:`rect`,x:h,y:m-t,width:3,height:t,fill:r}),h+=5}return o}function yt(t){let{bounds:n,shape:r,ink:i}=t,a=n.x+n.width/2,o=n.y+n.height/2,s=Math.min(n.width,n.height)/2-2,c=S(r),l=[];c&&l.push({kind:`circle`,cx:a,cy:o,r:s,fill:c}),l.push(..._(t,e(a,o,s),i));let u=s*.42,d=c?E(c):i;return l.push(..._(t,y(a-u,o,a+u,o),d,2.5)),l.push(..._(t,y(a,o-u,a,o+u),d,2.5)),l}var bt={navbar:ut,tabs:ft,breadcrumbs:pt,pagination:mt,datepicker:ht,sidebar:gt,segmented:Y,tabbar:_t,statusbar:vt,fab:yt},X=`#1e1e1e`,xt={...Oe,...bt,...lt,...n};function St(e,t){let n=f(e),r=0,i={shape:e,bounds:n,ink:u(e.color===`transparent`?X:e.color),text:t,nextSalt:()=>(r+=1,r)};return xt[e.kind](i)}var Z={button:{width:140,height:46},input:{width:220,height:46},search:{width:220,height:46},checkbox:{width:160,height:32},radio:{width:160,height:32},toggle:{width:140,height:36},dropdown:{width:200,height:46},slider:{width:220,height:42},navbar:{width:360,height:52},tabs:{width:320,height:46},image:{width:240,height:160},avatar:{width:72,height:72},heading:{width:240,height:46},paragraph:{width:280,height:84},divider:{width:240,height:16},link:{width:120,height:28},textarea:{width:240,height:110},stepper:{width:140,height:46},badge:{width:76,height:28},progress:{width:240,height:16},breadcrumbs:{width:280,height:32},pagination:{width:240,height:40},rating:{width:150,height:32},card:{width:240,height:200},list:{width:240,height:150},alert:{width:320,height:56},menu:{width:200,height:150},tooltip:{width:160,height:48},accordion:{width:280,height:170},datepicker:{width:240,height:220},sidebar:{width:180,height:280},scrollbar:{width:14,height:220},segmented:{width:240,height:36},tabbar:{width:360,height:56},statusbar:{width:320,height:28},fab:{width:56,height:56},modal:{width:320,height:210},stepbadge:{width:44,height:44},entity:{width:200,height:176},lifeline:{width:150,height:300},fragment:{width:300,height:180}},Q={button:`Button`,input:`Type here…`,search:`Search…`,dropdown:`Select…`,heading:`Heading`,navbar:`Home | About | Contact`,tabs:`First | Second`,checkbox:`Checkbox`,radio:`Option`,toggle:`Toggle`,link:`Link text`,badge:`New`,breadcrumbs:`Home | Library | Item`,pagination:`1 | 2 | 3 | 4`,card:`Card title`,list:`Item one | Item two | Item three`,alert:`Heads up. Something needs attention.`,menu:`New | Open | Save | Close`,tooltip:`Tooltip text`,accordion:`Section one | Section two | Section three`,sidebar:`Dashboard | Projects | Team | Settings`,segmented:`Day | Week | Month`,tabbar:`Home | Search | Profile`,statusbar:`9:41`,modal:`Dialog title`,stepbadge:`1`,entity:`User`,lifeline:`Participant`,fragment:`opt`},$={button:{resize:`free`,fill:!0,font:!0,label:!0},input:{resize:`width`,fill:!1,font:!0,label:!0},search:{resize:`width`,fill:!1,font:!0,label:!0},checkbox:{resize:`width`,fill:!1,font:!0,label:!0,value:`toggle`},radio:{resize:`width`,fill:!1,font:!0,label:!0,value:`toggle`},toggle:{resize:`width`,fill:!0,font:!0,label:!0,value:`toggle`},dropdown:{resize:`width`,fill:!1,font:!0,label:!0},slider:{resize:`width`,fill:!1,font:!0,label:!0,value:`range`},navbar:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},tabs:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},image:{resize:`free`,fill:!1,font:!0,label:!0},avatar:{resize:`aspect`,fill:!1,font:!1,label:!1},heading:{resize:`free`,fill:!1,font:!0,label:!0},paragraph:{resize:`free`,fill:!1,font:!0,label:!0},divider:{resize:`width`,fill:!1,font:!1,label:!1},link:{resize:`width`,fill:!1,font:!0,label:!0},textarea:{resize:`free`,fill:!1,font:!0,label:!0},stepper:{resize:`width`,fill:!1,font:!0,label:!0},badge:{resize:`width`,fill:!0,font:!0,label:!0},progress:{resize:`width`,fill:!0,font:!1,label:!1,value:`range`},breadcrumbs:{resize:`width`,fill:!1,font:!0,label:!0},pagination:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},rating:{resize:`width`,fill:!0,font:!1,label:!1,value:`stars`},card:{resize:`free`,fill:!0,font:!0,label:!0},list:{resize:`free`,fill:!0,font:!0,label:!0},alert:{resize:`width`,fill:!1,font:!0,label:!0,value:`alert`},menu:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},tooltip:{resize:`width`,fill:!0,font:!0,label:!0},accordion:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},datepicker:{resize:`free`,fill:!1,font:!1,label:!1},sidebar:{resize:`free`,fill:!0,font:!0,label:!0,value:`index`},scrollbar:{resize:`height`,fill:!0,font:!1,label:!1,value:`range`},segmented:{resize:`width`,fill:!0,font:!0,label:!0,value:`index`},tabbar:{resize:`width`,fill:!1,font:!0,label:!0,value:`index`},statusbar:{resize:`width`,fill:!1,font:!0,label:!0},fab:{resize:`aspect`,fill:!0,font:!1,label:!1},modal:{resize:`free`,fill:!0,font:!0,label:!0},stepbadge:{resize:`aspect`,fill:!0,font:!0,label:!0},entity:{resize:`free`,fill:!0,font:!0,label:!0},lifeline:{resize:`free`,fill:!0,font:!0,label:!0,value:`activation`},fragment:{resize:`free`,fill:!0,font:!0,label:!0,value:`operator`}};function Ct(e){return $[e].label}function wt(e,n,r){let i=Z[e];return{id:t(),type:`control`,kind:e,x:n.x,y:n.y,width:i.width,height:i.height,rotation:0,label:Q[e]??``,...e===`card`?{body:R}:{},...e===`modal`?{body:st}:{},...e===`entity`?{body:c}:{},...e===`fragment`?{fill:o}:{},...e===`stepbadge`?{fill:N}:{},fontSize:16,fontFamily:r.fontFamily,color:r.color===`transparent`?X:r.color,opacity:r.opacity,value:Tt(e)}}function Tt(e){if(e===`toggle`||e===`checkbox`||e===`radio`)return 1;if(e===`slider`||e===`progress`)return .6;if(e===`scrollbar`)return .3;if(e===`rating`)return 3;if(e===`alert`||e===`navbar`||e===`tabs`||e===`pagination`||e===`menu`||e===`accordion`||e===`sidebar`||e===`segmented`||e===`tabbar`)return 0}export{Le as A,Xe as C,Je as D,qe as E,He as F,Ve as I,Ge as L,P as M,Ne as N,F as O,Be as P,Fe as R,Ae as S,ke as T,We as _,Ct as a,Re as b,R as c,G as d,W as f,je as g,L as h,St as i,Ie as j,Me as k,V as l,J as m,Q as n,wt as o,q as p,Z as r,U as s,$ as t,K as u,Ke as v,Ye as w,Ue as x,ze as y,N as z};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./react-lCSYwAWP.js";var n=e(t(),1),r=(0,n.createContext)(null),i=r.Provider;function a(){let e=(0,n.useContext)(r);if(!e)throw Error(`useRendererEnvironment must be used within a <Canvas>`);return e}export{a as n,i as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./react-lCSYwAWP.js";import{t as n}from"./jsx-runtime-DKdBMi_L.js";import{o as r,s as i}from"./editor-BeufBV54.js";import{C as a,Kr as o,Ur as s,an as c,in as l,mn as u,sn as d,w as f}from"./slides-D686obFO.js";import{H as p,J as m,K as h,Q as g,W as ee}from"./style-BENGW2ZV.js";import{n as te}from"./renderer-environment-D3n3hbug.js";import{r as ne,s as re,t as ie}from"./IconHelp-CaEwHrsN.js";import{t as ae}from"./editable-target-BTLnvKNi.js";import{t as _}from"./createReactComponent-C51FAx3B.js";import{n as oe,r as v,t as se}from"./IconTrash-C8w6ThWx.js";import{t as ce}from"./IconArrowLeft-B4Zcy-Fc.js";import{n as le,t as ue}from"./IconPlayerStopFilled-D4qdct2R.js";import{t as de}from"./IconEraser-CYfXj27R.js";import{t as fe}from"./IconFocusCentered-Cn8rbfRI.js";import{t as pe}from"./IconPencil-D_pQsAyv.js";import{t as me}from"./IconX-KrRqxr2j.js";import{t as he}from"./IconPlayerPlayFilled-DVAWmYt7.js";import{t as ge}from"./storage-CvDRYh5V.js";import{s as y}from"./chrome-C2RCq3SI.js";import{i as _e,n as b,r as x,t as S}from"./DialogRoot-DUeVfNhS.js";import{n as C,t as ve}from"./DialogTitle-D5au2NAn.js";import{t as w}from"./DialogDescription-Ddhk2rmF.js";import{n as ye}from"./connector-labels-CrEgadsC.js";var T=_(`outline`,`volume-off`,`VolumeOff`,[[`path`,{d:`M15 8a5 5 0 0 1 1.912 4.934m-1.377 2.602a5 5 0 0 1 -.535 .464`,key:`svg-0`}],[`path`,{d:`M17.7 5a9 9 0 0 1 2.362 11.086m-1.676 2.299a9 9 0 0 1 -.686 .615`,key:`svg-1`}],[`path`,{d:`M9.069 5.054l.431 -.554a.8 .8 0 0 1 1.5 .5v2m0 4v8a.8 .8 0 0 1 -1.5 .5l-3.5 -4.5h-2a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h2l1.294 -1.664`,key:`svg-2`}],[`path`,{d:`M3 3l18 18`,key:`svg-3`}]]),be=_(`outline`,`volume`,`Volume`,[[`path`,{d:`M15 8a5 5 0 0 1 0 8`,key:`svg-0`}],[`path`,{d:`M17.7 5a9 9 0 0 1 0 14`,key:`svg-1`}],[`path`,{d:`M6 15h-2a1 1 0 0 1 -1 -1v-4a1 1 0 0 1 1 -1h2l3.5 -4.5a.8 .8 0 0 1 1.5 .5v14a.8 .8 0 0 1 -1.5 .5l-3.5 -4.5`,key:`svg-2`}]]),E=e(t(),1),D=200,xe=24,O=48,k=new Set([`ellipse`,`oval`,`double-circle`,`delay`]);function A(e,t){return`${e}:${t}`}function j(e){if(e.bendStyle===`elbow`)return o(e);let t={x:e.x,y:e.y},n={x:e.x2,y:e.y2};if(Math.abs(e.bend)<.5)return[t,n];let r=s(e),i={x:2*r.x-(t.x+n.x)/2,y:2*r.y-(t.y+n.y)/2},a=[];for(let e=0;e<=xe;e++){let r=e/xe,o=1-r;a.push({x:o*o*t.x+2*o*r*i.x+r*r*n.x,y:o*o*t.y+2*o*r*i.y+r*r*n.y})}return a}function M(e,t){let{x:n,y:r,width:i,height:a}=t,o=e.type===`rectangle`?e.kind:null;if(o&&k.has(o)){let e=[];for(let t=0;t<=O;t++){let o=t/O*Math.PI*2;e.push({x:n+i/2+Math.cos(o)*i/2,y:r+a/2+Math.sin(o)*a/2})}return e}return o===`diamond`?[{x:n+i/2,y:r},{x:n+i,y:r+a/2},{x:n+i/2,y:r+a},{x:n,y:r+a/2},{x:n+i/2,y:r}]:o===`triangle`?[{x:n+i/2,y:r},{x:n+i,y:r+a},{x:n,y:r+a},{x:n+i/2,y:r}]:[{x:n,y:r},{x:n+i,y:r},{x:n+i,y:r+a},{x:n,y:r+a},{x:n,y:r}]}var N=6;function P(e){if(e.length<3)return e;let t=[e[0]];for(let n=1;n<e.length-1;n++){let r=t[t.length-1];Math.hypot(e[n].x-r.x,e[n].y-r.y)>=N&&t.push(e[n])}return t.push(e[e.length-1]),t}function Se(e){if(e.type===`draw`)return[P(e.points)];if(e.type===`line`)return[e.points];if(e.type===`polygon`)return e.points.length>2?[[...e.points,e.points[0]]]:[];if(e.type===`arrow`)return[j(e)];if(e.type===`text`||e.type===`figure`||!u(e)&&e.type!==`table`)return[];let t=c(e),n=M(e,t),r=d(e);if(!r)return[n];let i={x:t.x+t.width/2,y:t.y+t.height/2},a=r*Math.PI/180;return[n.map(e=>l(e,i,a))]}function F(e,t){let n=Math.floor(Math.min(t.a.x,t.b.x)/D),r=Math.floor(Math.max(t.a.x,t.b.x)/D),i=Math.floor(Math.min(t.a.y,t.b.y)/D),a=Math.floor(Math.max(t.a.y,t.b.y)/D);for(let o=n;o<=r;o++)for(let n=i;n<=a;n++){let r=A(o,n),i=e.get(r);i?i.push(t):e.set(r,[t])}}function Ce(e,t){for(let n=1;n<t.length;n++){let r=t[n-1],i=t[n];!Number.isFinite(r.x+r.y+i.x+i.y)||r.x===i.x&&r.y===i.y||(F(e.cells,{a:r,b:i}),e.bottom=Math.max(e.bottom,r.y,i.y),e.empty=!1)}}function we(e){return e.flatMap(Se)}function Te(e,t=[]){let n={cells:new Map,bottom:-1/0,empty:!0};for(let t of e)Ce(n,t);for(let e of t)Ce(n,P(e));return n}function I(e,t,n){let r=Math.floor((t.x-n)/D),i=Math.floor((t.x+n)/D),a=Math.floor((t.y-n)/D),o=Math.floor((t.y+n)/D),s=[];for(let t=r;t<=i;t++)for(let n=a;n<=o;n++){let r=e.cells.get(A(t,n));r&&s.push(...r)}return s}function Ee(e,t){let n=Math.floor(t.x/D),r=Math.floor(e.bottom/D);for(let i=Math.floor(t.y/D);i<=r;i++)for(let{a:r,b:a}of e.cells.get(A(n,i))??[]){let e=Math.min(r.x,a.x),n=Math.max(r.x,a.x);if(t.x<e||t.x>n)continue;let i=n===e?0:(t.x-r.x)/(a.x-r.x);if(Math.max(r.y,a.y)>=t.y&&r.y+(a.y-r.y)*i>=t.y)return!0}return!1}var De=1500,L={x:8,y:-40},Oe={x:11,y:-29},R=7,ke=.1,Ae=.02,z=5e3,je=32,Me=1300,Ne=1100,Pe=650,B=7,V=10,H=1,Fe=.15,U=2.5,Ie=3,Le=8,Re=1.2,ze=1700,Be=2400,Ve=.2,He=620,Ue=.15,We=1.4,Ge=700,Ke=4e3,qe=160,Je={left:!1,right:!1,boost:!1,duck:!1};function Ye(e,t){return{position:{...e},velocity:{...t},grounded:!1,normal:null}}function Xe(e,t){return{...Ye(e,t),spin:0}}function Ze(e){let t={x:0,y:0};return{left:Xe({x:e.x-23,y:e.y},t),right:Xe({x:e.x+23,y:e.y},t),facing:1,ducking:!1,rider:null,crashedFor:0,jumpBuffer:0,outcome:`riding`,distance:0,topSpeed:0,air:0,longestAir:0,angle:0,airTurn:0,groundTurn:0,leanLock:0,wasGrounded:!1,touchedDown:!1,lastGroundY:e.y,startY:e.y,trail:[{...e}],events:[]}}function W(e){return Math.hypot(e.x,e.y)}function G(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function Qe(e){return G(e.left.position,e.right.position,.5)}function $e(e){return W(G(e.left.velocity,e.right.velocity,.5))}function et(e,t,n){let r=G(e,t,.5),i=Math.atan2(t.y-e.y,t.x-e.x),a=Math.cos(i),o=Math.sin(i);return{x:r.x+n.x*a-n.y*o,y:r.y+n.x*o+n.y*a}}function tt(e,t){let{position:n,velocity:r}=e;r.y+=De*t,r.x*=1-Ae*t,r.y*=1-Ae*t;let i=W(r);i>z&&(r.x=r.x/i*z,r.y=r.y/i*z),n.x+=r.x*t,n.y+=r.y*t}function nt(e,t,n,r){let{position:i,velocity:a}=e,o=0,s=0;for(let e of I(t,i,n)){let t=h(i,e.a,e.b),r=i.x-t.x,c=i.y-t.y,l=Math.hypot(r,c);if(l>=n)continue;let u,d;if(l>1e-6)u=r/l,d=c/l;else{let t=e.b.x-e.a.x,n=e.b.y-e.a.y,r=Math.hypot(t,n);u=n/r,d=-t/r,d>0&&(u=-u,d=-d)}i.x+=u*(n-l),i.y+=d*(n-l);let f=a.x*u+a.y*d;f<0&&(a.x-=1.1*f*u,a.y-=1.1*f*d),o+=u,s+=d}let c=Math.hypot(o,s);e.grounded=c>0,e.normal=e.grounded?{x:o/c,y:s/c}:null,e.grounded&&(a.x*=1-ke*r,a.y*=1-ke*r)}function rt(e,t,n){return I(e,t,n).some(e=>m(h(t,e.a,e.b),t)<n)}function K(e,t){let n=t.position.x-e.position.x,r=t.position.y-e.position.y,i=Math.hypot(n,r)||1;return{x:n/i,y:r/i}}function it(e,t){let n=t.position.x-e.position.x,r=t.position.y-e.position.y,i=Math.hypot(n,r)||1,a=n/i,o=r/i,s=(i-46)/2;e.position.x+=a*s,e.position.y+=o*s,t.position.x-=a*s,t.position.y-=o*s;let c=(t.velocity.x-e.velocity.x)*a+(t.velocity.y-e.velocity.y)*o;t.velocity.x-=a*c*.5,t.velocity.y-=o*c*.5,e.velocity.x+=a*c*.5,e.velocity.y+=o*c*.5}function at(e,t,n){let{left:r,right:i}=e,a=K(r,i),o=!!t.right-+!!t.left,s=r.grounded||i.grounded;o!==0&&s&&(e.facing=o>0?1:-1);let c={x:a.x*e.facing,y:a.y*e.facing};if(o!==0&&s)for(let e of[r,i]){if(!e.normal)continue;let t=-e.normal.y,r=e.normal.x;t*c.x+r*c.y<0&&(t=-t,r=-r),e.velocity.x*t+e.velocity.y*r<Ne&&(e.velocity.x+=t*Me*n,e.velocity.y+=r*Me*n)}if(o!==0&&!s&&(r.velocity.x+i.velocity.x)/2*o<Ne)for(let e of[r,i])e.velocity.x+=o*Pe*n;if(t.boost&&(r.velocity.x+i.velocity.x)/2*c.x+(r.velocity.y+i.velocity.y)/2*c.y<Be)for(let e of[r,i])e.velocity.x+=c.x*ze*n,e.velocity.y+=c.y*ze*n}function ot(e,t,n){return((t.velocity.x-e.velocity.x)*-n.y+(t.velocity.y-e.velocity.y)*n.x)/46}function st(e,t,n,r,i){let a=(i-r)*23;t.velocity.x+=-n.y*a,t.velocity.y+=n.x*a,e.velocity.x-=-n.y*a,e.velocity.y-=n.x*a}function ct(e,t){let{left:n,right:r}=e,i=K(n,r),a=ot(n,r,i),o=Math.atan2(i.y,i.x),s=ee(-o*U,-3,Ie);st(n,r,i,a,Math.abs(o)>Re&&a*o>0?s:a+(s-a)*Math.min(1,Le*t))}function lt(e,t,n){let{left:r,right:i}=e,a=K(r,i),o=ot(r,i,a);st(r,i,a,o,o+(t*B-o)*Math.min(1,V*n))}function ut(e){let t=K(e.left,e.right);return Math.atan2(t.y,t.x)}function dt(e,t){let n=t-e;return n>Math.PI?n-=Math.PI*2:n<-Math.PI&&(n+=Math.PI*2),n}function ft(e,t=0){return Math.floor((Math.abs(e)+t)/(Math.PI*2))}function pt(e){e.outcome===`riding`&&(e.jumpBuffer=Ue)}function mt(e){let{left:t,right:n}=e;if(e.jumpBuffer<=0||!t.grounded&&!n.grounded)return;let r=K(t,n);for(let e of[t,n])e.velocity.x+=r.y*He,e.velocity.y-=r.x*He;e.jumpBuffer=0,e.events.push({kind:`jump`})}function ht(e,t,n,r){if(e.outcome===`fell`)return;let i=Math.max(W(e.left.velocity),W(e.right.velocity),e.rider?W(e.rider.velocity):0),a=Math.min(je,Math.max(1,Math.ceil(i*r/(11*.4)))),o=r/a;for(let r=0;r<a;r++){let r=Qe(e);if(e.outcome===`riding`){e.ducking=n.duck,at(e,n,o);let t=!!n.right-+!!n.left,r=!e.left.grounded&&!e.right.grounded;r&&e.wasGrounded&&(e.leanLock=t),t!==e.leanLock&&(e.leanLock=0),e.wasGrounded=!r,e.touchedDown||=!r,r&&(t!==0&&e.leanLock===0&&e.touchedDown?lt(e,t,o):ct(e,o)),mt(e)}tt(e.left,o),tt(e.right,o),it(e.left,e.right),nt(e.left,t,11,o),nt(e.right,t,11,o);let i=K(e.left,e.right);for(let t of[e.left,e.right]){let e=t.velocity.x*i.x+t.velocity.y*i.y;t.spin+=e/11*o}let a=ut(e),s=dt(e.angle,a);if(e.angle=a,e.left.grounded||e.right.grounded?e.groundTurn+=s:(e.airTurn+=s,e.air<=Fe&&(e.groundTurn+=s)),e.outcome===`riding`){let t=Qe(e);e.distance+=m(r,t)}if(e.rider)tt(e.rider,o),nt(e.rider,t,R,o);else{let n=e.ducking?Oe:L,r=et(e.left.position,e.right.position,{x:n.x*e.facing,y:n.y});if(rt(t,r,R)){let t=G(e.left.velocity,e.right.velocity,.5);e.rider=Ye(r,{x:t.x,y:t.y-250}),e.outcome=`crashed`,e.events.push({kind:`crash`})}}}let s=Qe(e);if(e.outcome===`riding`&&(e.topSpeed=Math.max(e.topSpeed,$e(e))),e.left.grounded||e.right.grounded){if(e.outcome===`riding`){e.air>Ve&&e.events.push({kind:`land`,strength:Math.min(1,e.air/1.2),air:e.air});let t=ft(e.airTurn,H);if(t>0){let n=e.airTurn*e.facing>0?`frontflip`:`backflip`;e.events.push({kind:`trick`,trick:{kind:n,count:t}})}ft(e.groundTurn)>0&&(e.events.push({kind:`trick`,trick:{kind:`loop`}}),e.groundTurn-=Math.sign(e.groundTurn)*Math.PI*2)}e.air=0,e.airTurn=0,e.lastGroundY=s.y}else e.outcome===`riding`&&(e.air+=r,e.longestAir=Math.max(e.longestAir,e.air),e.air>Fe&&(e.groundTurn=0));e.outcome===`crashed`&&(e.crashedFor+=r),e.jumpBuffer=Math.max(0,e.jumpBuffer-r);let c=e.trail[e.trail.length-1];m(c,s)>6&&(e.trail.push(s),e.trail.length>qe&&e.trail.shift());let l=Math.max(t.bottom,e.startY)+Ke,u=s.y-e.lastGroundY>Ge&&!Ee(t,s);(s.y>l||u)&&(e.outcome=`fell`)}function gt(e){return e.outcome===`fell`||e.crashedFor>We}function q(e){return G(e.left,e.right,.5)}function _t(e){return{left:{x:e.x-23,y:e.y},right:{x:e.x+23,y:e.y},leftSpin:0,rightSpin:0,facing:1,ducking:!1,rider:null,riderSpin:0}}function vt(e){return{left:{...e.left.position},right:{...e.right.position},leftSpin:e.left.spin,rightSpin:e.right.spin,facing:e.facing,ducking:e.ducking,rider:e.rider?{...e.rider.position}:null,riderSpin:e.crashedFor*9}}function yt(e,t,n){return{left:G(e.left,t.left,n),right:G(e.right,t.right,n),leftSpin:e.leftSpin+(t.leftSpin-e.leftSpin)*n,rightSpin:e.rightSpin+(t.rightSpin-e.rightSpin)*n,facing:t.facing,ducking:t.ducking,rider:t.rider?G(e.rider??t.rider,t.rider,n):null,riderSpin:e.riderSpin+(t.riderSpin-e.riderSpin)*n}}var J=n(),bt=`#e03131`,xt=`#f76707`,Y=`var(--canvas-ink)`;function St(e){let{x:t,spin:n}=e;return(0,J.jsxs)(`g`,{transform:`translate(${t} 0) rotate(${n*180/Math.PI})`,children:[(0,J.jsx)(`circle`,{r:10,fill:`none`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`path`,{d:`M -9 0 L 9 0 M 0 -9 L 0 9`,stroke:Y,strokeWidth:1,opacity:.6})]})}function Ct(e){let{rearSpin:t,frontSpin:n,riding:r,boosting:i,ducking:a}=e,o={x:-3,y:2},s=t*.6,c=e=>({x:o.x+Math.cos(s+e)*6,y:o.y+Math.sin(s+e)*6}),l=c(0),u=c(Math.PI),d=a?{x:-7,y:-17}:{x:-7,y:-20},f=a?{x:6,y:-23}:{x:4,y:-34},p=a?Oe:L,m=a?`M 6 -24 L -7 -23 L -12 -19`:`M 5 -33 L -8 -31 L -13 -27`,h=e=>{let t={x:(d.x+e.x)/2+6,y:(d.y+e.y)/2-3};return`M ${d.x} ${d.y} L ${t.x} ${t.y} L ${e.x} ${e.y}`};return(0,J.jsxs)(`g`,{strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`,children:[i&&(0,J.jsx)(`path`,{d:`M -30 -19 L ${-44-(Math.sin(t*7)+1)*5} -16 L -30 -13 Z`,fill:xt,stroke:xt,strokeWidth:1.5}),(0,J.jsx)(`rect`,{x:-30,y:-19,width:16,height:6,rx:3,fill:`var(--canvas-bg)`,stroke:Y,strokeWidth:2}),(0,J.jsx)(St,{x:-23,spin:t}),(0,J.jsx)(St,{x:23,spin:n}),r&&(0,J.jsx)(`path`,{d:h(u),stroke:Y,strokeWidth:2.5,opacity:.45}),(0,J.jsx)(`path`,{d:`M -23 0 L ${o.x} ${o.y} L 14 -16 L 23 0 M -23 0 L -8 -17 L ${o.x} ${o.y} M -12 -18 L -4 -18 M 14 -16 L 12 -23 L 18 -24`,stroke:Y,strokeWidth:2.5}),r&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`path`,{d:`${h(l)} M ${d.x} ${d.y} L ${f.x} ${f.y} L 16 -23`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`circle`,{cx:p.x,cy:p.y,r:6,fill:`var(--canvas-bg)`,stroke:Y,strokeWidth:2.5}),(0,J.jsx)(`path`,{d:m,stroke:`#e03131`,strokeWidth:3})]})]})}function wt(){return(0,J.jsxs)(`g`,{strokeLinecap:`round`,fill:`none`,stroke:Y,strokeWidth:2.5,children:[(0,J.jsx)(`circle`,{r:6,fill:`var(--canvas-bg)`}),(0,J.jsx)(`path`,{d:`M 0 6 L 0 20 M 0 11 L -9 16 M 0 11 L 9 14 M 0 20 L -6 30 M 0 20 L 7 29`}),(0,J.jsx)(`path`,{d:`M -3 6 L -14 9`,stroke:bt,strokeWidth:3})]})}function Tt(e,t){let n=[e[0]];for(let r=1;r<e.length;r++){let i=e[r-1],a=e[r],o=Math.ceil(m(i,a)/t);for(let e=1;e<=o;e++){let t=e/o;n.push({x:i.x+(a.x-i.x)*t,y:i.y+(a.y-i.y)*t})}}return n}function Et(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return{minX:t,minY:n,maxX:r,maxY:i}}function Dt(e,t,n,r){let i=[],a=!1;for(let o of e){let e=Et(o);if(!(Math.min(t.x,n.x)-r<=e.maxX&&Math.max(t.x,n.x)+r>=e.minX&&Math.min(t.y,n.y)-r<=e.maxY&&Math.max(t.y,n.y)+r>=e.minY)){i.push(o);continue}let s=[],c=!1;for(let e of Tt(o,r/2))g(e,t,n)<=r?(c=!0,s.length>1&&i.push(s),s=[]):s.push(e);if(!c){i.push(o);continue}a=!0,s.length>1&&i.push(s)}return a?i:e}function Ot(e,t){let n=e;for(let e of t)for(let t=0;t<e.points.length;t++)n=Dt(n,e.points[Math.max(0,t-1)],e.points[t],e.radius);return n}var kt=260,At=2.2,jt={smoke:-60,dust:500,spark:900};function X(e,t,n,r,i,a,o,s){for(let c=0;c<r;c++){let r=Math.random()*Math.PI*2,c=Math.random()*a;e.push({kind:t,x:n.x+(Math.random()-.5)*4,y:n.y+(Math.random()-.5)*4,vx:i.x+Math.cos(r)*c,vy:i.y+Math.sin(r)*c,age:0,life:o*(.6+Math.random()*.8),size:s*(.7+Math.random()*.6)})}e.length>kt&&e.splice(0,e.length-kt)}function Mt(e,t){let n=0;for(let r of e)r.age+=t,!(r.age>=r.life)&&(r.vx*=1-At*t,r.vy=r.vy*(1-At*t)+jt[r.kind]*t,r.x+=r.vx*t,r.y+=r.vy*t,e[n++]=r);e.length=n}var Z=.05;function Nt(e,t){let n=e.createBuffer(1,e.sampleRate*t,e.sampleRate),r=n.getChannelData(0);for(let e=0;e<r.length;e++)r[e]=Math.random()*2-1;return n}function Pt(e,t){let n=e.createBufferSource();return n.buffer=t,n.loop=!0,n.start(),n}function Ft(e){let t=typeof window>`u`?void 0:window.AudioContext??window.webkitAudioContext;if(!t)return null;let n=new t;n.resume().catch(()=>void 0);let r=n.createGain();r.gain.value=e?0:.6,r.connect(n.destination);let i=Nt(n,2),a=n.createBiquadFilter();a.type=`lowpass`,a.frequency.value=300;let o=n.createGain();o.gain.value=0,Pt(n,i).connect(a).connect(o).connect(r);let s=n.createOscillator();s.type=`sawtooth`,s.frequency.value=70;let c=n.createBiquadFilter();c.type=`lowpass`,c.frequency.value=700;let l=n.createGain();l.gain.value=0,s.connect(c).connect(l).connect(r),s.start();let u=n.createBiquadFilter();u.type=`bandpass`,u.frequency.value=1800,u.Q.value=.7;let d=n.createGain();d.gain.value=0,Pt(n,i).connect(u).connect(d).connect(r);let f=(e,t,i,a)=>{let o=n.currentTime,s=n.createOscillator();s.type=`sine`,s.frequency.setValueAtTime(e,o),s.frequency.exponentialRampToValueAtTime(t,o+a);let c=n.createGain();c.gain.setValueAtTime(i,o),c.gain.exponentialRampToValueAtTime(.001,o+a),s.connect(c).connect(r),s.start(o),s.stop(o+a)},p=(e,t,a)=>{let o=n.currentTime,s=n.createBufferSource();s.buffer=i;let c=n.createBiquadFilter();c.type=`lowpass`,c.frequency.value=e;let l=n.createGain();l.gain.setValueAtTime(t,o),l.gain.exponentialRampToValueAtTime(.001,o+a),s.connect(c).connect(l).connect(r),s.start(o),s.stop(o+a)};return{update:({speed:e,grounded:t,boosting:r,running:i})=>{let c=n.currentTime,u=Math.min(1,e/1500);o.gain.setTargetAtTime(i&&t?.05+u*.25:0,c,Z),a.frequency.setTargetAtTime(250+u*1400,c,Z);let f=i&&r;l.gain.setTargetAtTime(f?.1:0,c,Z),s.frequency.setTargetAtTime(60+u*90,c,Z),d.gain.setTargetAtTime(f?.18:0,c,Z)},land:e=>{f(140,45,.25+e*.45,.25),p(900,.15+e*.2,.18)},jump:()=>{f(180,520,.3,.14),p(2400,.08,.1)},trick:()=>{let e=n.currentTime;[660,990].forEach((t,i)=>{let a=e+i*.09,o=n.createOscillator();o.type=`triangle`,o.frequency.setValueAtTime(t,a);let s=n.createGain();s.gain.setValueAtTime(.001,e),s.gain.setValueAtTime(.18,a),s.gain.exponentialRampToValueAtTime(.001,a+.22),o.connect(s).connect(r),o.start(a),o.stop(a+.24)})},crash:()=>{p(1400,.6,.6),f(110,35,.7,.45)},setMuted:e=>{r.gain.setTargetAtTime(e?0:.6,n.currentTime,Z)},close:()=>{n.close().catch(()=>void 0)}}}var It=1/120,Lt=.05,Rt=5,zt=.25,Bt=260,Vt=48,Ht={x:-32,y:-16},Ut=100,Wt=150,Gt=50,Kt=1,qt=1.4,Jt=40,Yt=22;function Xt(e){return e.lift+e.age/qt*Jt}function Zt(e){if(e.kind===`loop`)return`Loop!`;let t=e.kind===`backflip`?`Backflip`:`Frontflip`;return e.count>1?`${e.count}× ${t}!`:`${t}!`}function Qt(e){return e.kind===`loop`?Wt:Ut*e.count*e.count}function $t(){let e=0,t=null,n={bike:null,pose:null,blendFrom:null,controls:{...Je},particles:[],callouts:[],score:0,running:!1,following:!0,returning:!1,play(e,r){t??=Ft(r),n.bike=Ze(e),n.pose=vt(n.bike),n.blendFrom=null,n.returning=!1,n.following=!0,n.running=!0,n.score=0,n.callouts=[]},stop(e){let r=n.bike,i=r?{distance:r.distance,topSpeed:r.topSpeed,longestAir:r.longestAir,score:n.score,outcome:e}:null;return n.bike=null,n.pose=null,n.controls={...Je},t?.update({speed:0,grounded:!1,boosting:!1,running:!1}),n.returning=n.following,n.running=!1,i},setMuted(e){t?.setMuted(e)},close(){t?.close(),t=null},tick(t,r,a,o,s){let c=Math.min(Lt,t),l=n.bike,u=null;if(l&&n.running){for(e+=c;e>=It;)n.blendFrom=vt(l),ht(l,r,n.controls,It),e-=It;let t=vt(l);if(n.pose=yt(n.blendFrom??t,t,e/It),i(l,t),gt(l))return{camera:null,ended:n.stop(l.outcome===`fell`?`fell`:`crashed`),moved:!1};!n.following&&en(q(n.pose),a,o)&&(n.following=!0),n.following&&(u=tn(l,n.pose))}else e=0,n.returning&&s&&(u=s);let d=null;if(u){let e=1-Math.exp(-c*Rt),t=a.width/2-u.x*o.zoom-o.x,r=a.height/2-u.y*o.zoom-o.y;!n.running&&Math.hypot(t,r)<1&&(n.returning=!1),d={...o,x:o.x+t*e,y:o.y+r*e}}if(n.particles.length>0&&Mt(n.particles,c),n.callouts.length>0){for(let e of n.callouts)e.age+=c;n.callouts=n.callouts.filter(e=>e.age<qt)}return{camera:d,ended:null,moved:n.running||n.particles.length>0||n.callouts.length>0}}};function r(e,t,r){n.score+=t;let i=q(r),a=0,o=n.callouts.map(Xt).sort((e,t)=>e-t);for(let e of o)e<a+Yt&&(a=Math.max(a,e+Yt));n.callouts.push({text:`${e} +${t}`,at:{x:i.x,y:i.y-60},age:0,lift:a})}function i(e,i){let a=n.particles,o=n.controls.boost&&e.outcome===`riding`;if(o){let t=et(i.left,i.right,{x:Ht.x*e.facing,y:Ht.y}),n={x:(e.left.velocity.x+e.right.velocity.x)*.15,y:(e.left.velocity.y+e.right.velocity.y)*.15};X(a,`smoke`,t,2,n,90,.9,7),X(a,`spark`,t,1,n,160,.25,2.5)}for(let n of e.events)if(n.kind===`jump`){t?.jump();for(let e of[i.left,i.right])X(a,`dust`,{x:e.x,y:e.y+11},4,{x:0,y:-40},120,.45,3.5)}else if(n.kind===`trick`)t?.trick(),r(Zt(n.trick),Qt(n.trick),i);else if(n.kind===`land`){n.air>=Kt&&r(`Big air ${n.air.toFixed(1)}s`,Math.round(n.air*Gt),i),t?.land(n.strength);for(let e of[i.left,i.right])X(a,`dust`,{x:e.x,y:e.y+11},6,{x:0,y:-80},160+n.strength*200,.6,4)}else t?.crash(),X(a,`dust`,i.rider??q(i),18,{x:0,y:-120},320,.8,5);e.events.length=0,t?.update({speed:$e(e),grounded:e.left.grounded||e.right.grounded,boosting:o,running:e.outcome===`riding`})}return n}function en(e,t,n){let r=e.x*n.zoom+n.x,i=e.y*n.zoom+n.y;return r<Vt||i<Vt||r>t.width-Vt||i>t.height-Vt}function tn(e,t){let n=q(t),r={x:(e.left.velocity.x+e.right.velocity.x)/2,y:(e.left.velocity.y+e.right.velocity.y)/2},i=Math.min(1,Bt/(Math.hypot(r.x,r.y)*zt||1));return{x:n.x+r.x*zt*i,y:n.y+r.y*zt*i}}var nn=e=>Math.round(e/50),rn=e=>Math.round(e/10);function Q(e){let{label:t,value:n,fresh:r}=e;return(0,J.jsxs)(`span`,{className:`flex items-baseline gap-1`,children:[(0,J.jsx)(`span`,{className:`tabular-nums ${r?`font-semibold text-[var(--canvas-selection)]`:`text-[var(--chrome-fg-900)]`}`,children:n}),(0,J.jsx)(`span`,{className:`text-[var(--chrome-fg-500)]`,children:t})]})}function an(e){let{live:t,last:n,best:r,newBest:i,hint:a}=e;return(0,J.jsx)(`div`,{className:`pointer-events-none flex flex-col items-center ${re}`,children:(0,J.jsxs)(`div`,{"data-overlay":!0,"data-ride-hud":!0,onPointerDown:e=>e.stopPropagation(),className:`pointer-events-auto flex h-8 items-center gap-3 rounded-xl px-3 text-[12px] text-[var(--chrome-fg-600)] ${y}`,children:[t&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Q,{label:`km/h`,value:String(rn(t.speed))}),(0,J.jsx)(Q,{label:`m`,value:String(nn(t.distance))}),(0,J.jsx)(Q,{label:`s air`,value:t.longestAir.toFixed(1)}),(0,J.jsx)(Q,{label:`pts`,value:String(t.score)})]}),!t&&n&&(0,J.jsxs)(J.Fragment,{children:[(i.distance||i.score)&&(0,J.jsx)(`span`,{className:`font-semibold text-[var(--canvas-selection)]`,children:`New best!`}),(0,J.jsx)(Q,{label:`m last`,value:String(nn(n.distance))}),n.score>0&&(0,J.jsx)(Q,{label:`pts`,value:String(n.score)}),(0,J.jsx)(Q,{label:`m best`,value:String(nn(r.distance)),fresh:i.distance}),r.score>0&&(0,J.jsx)(Q,{label:`pts best`,value:String(r.score),fresh:i.score})]}),a&&(0,J.jsx)(`span`,{className:`text-[var(--chrome-fg-500)]`,children:a})]})})}function $(e){let{label:t,title:n,active:r,onClick:i,children:a}=e;return(0,J.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":r,title:n,onClick:i,className:`flex h-9 min-w-9 cursor-pointer touch-none select-none items-center justify-center rounded-lg px-2 transition-colors ${r?`bg-[var(--canvas-selection)]/15 text-[var(--canvas-selection)]`:`text-[var(--chrome-fg-600)] hover:bg-[var(--chrome-hover)] hover:text-[var(--chrome-fg-900)]`}`,children:a})}function on(e){let{inkTool:t,hasDrawings:n,running:r,following:i,muted:a}=e,{onInkTool:o,onResetDrawings:s,onPlay:c,onStop:l}=e,{onFollow:u,onToggleMuted:d,onExit:f,onHelp:p}=e;return(0,J.jsxs)(`div`,{"data-overlay":!0,"data-ride-hud":!0,onPointerDown:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),className:`pointer-events-auto absolute bottom-[calc(1rem+env(safe-area-inset-bottom))] left-1/2 flex -translate-x-1/2 items-center gap-1 rounded-xl p-1 ${y}`,children:[(0,J.jsx)($,{label:`Pen`,title:`Pen (P) — ride mode drawings aren't saved`,active:t===`pen`,onClick:()=>o(`pen`),children:(0,J.jsx)(pe,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`Eraser`,title:`Eraser (E)`,active:t===`eraser`,onClick:()=>o(`eraser`),children:(0,J.jsx)(de,{size:18,stroke:1.75})}),n&&(0,J.jsx)($,{label:`Reset drawings`,title:`Clear ride drawings and bring back anything erased`,onClick:s,children:(0,J.jsx)(se,{size:18,stroke:1.75})}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-[var(--chrome-ring)]`}),(0,J.jsxs)(`button`,{type:`button`,"data-testid":`ride-play`,"aria-label":r?`Stop`:`Play`,title:r?`Back to the start`:`Play (Space)`,onClick:r?l:c,className:`flex h-9 cursor-pointer items-center gap-1.5 rounded-lg bg-[var(--canvas-selection)] px-3 text-[13px] font-medium text-white transition-opacity hover:opacity-90`,children:[r?(0,J.jsx)(ue,{size:14}):(0,J.jsx)(he,{size:14}),r?`Stop`:`Play`]}),r&&!i&&(0,J.jsx)($,{label:`Follow the bike`,title:`Follow the bike`,onClick:u,children:(0,J.jsx)(fe,{size:18,stroke:1.75})}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-[var(--chrome-ring)]`}),(0,J.jsx)($,{label:a?`Unmute`:`Mute`,title:a?`Sound off`:`Sound on`,onClick:d,children:a?(0,J.jsx)(T,{size:18,stroke:1.75}):(0,J.jsx)(be,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`How to play`,title:`How to play (?)`,onClick:p,children:(0,J.jsx)(ie,{size:18,stroke:1.75})}),(0,J.jsx)($,{label:`Exit ride mode`,title:`Exit ride mode (Esc)`,onClick:f,children:(0,J.jsx)(me,{size:18,stroke:1.75})})]})}var sn=(0,E.memo)(on),cn={"←":ce,"→":le,"↑":oe,"↓":v};function ln(e){let t=cn[e.name];return(0,J.jsx)(`kbd`,{className:`flex h-6 min-w-6 items-center justify-center rounded-md bg-[var(--chrome-hover)] px-1.5 text-[11px] text-[var(--chrome-fg-600)] ring-1 ring-[var(--chrome-ring)]`,children:t?(0,J.jsx)(t,{size:13,stroke:2}):e.name})}var un=[[[[`Space`],`Start playing`],[[`←`,`→`],`Drive`],[[`↑`],`Jump`],[[`R`],`Restart`],[[`B`],`Move bike to cursor`],[[`P`],`Pen`],[[`E`],`Eraser`]],[[[`↓`],`Duck`],[[`Shift`],`Boost`],[[`←`,`→`],`Flip, in the air`],[[`⌘`,`Z`],`Undo a stroke`],[[`?`],`These shortcuts`],[[`Esc`],`Leave ride mode`]]];function dn(){return(0,J.jsxs)(`svg`,{viewBox:`0 0 420 96`,className:`h-24 w-full`,"aria-hidden":!0,children:[(0,J.jsx)(`path`,{d:`M 0 82 L 150 82 Q 250 82 300 40`,fill:`none`,stroke:`var(--canvas-selection)`,strokeWidth:3,strokeLinecap:`round`}),(0,J.jsx)(`g`,{transform:`translate(110 71)`,children:(0,J.jsx)(Ct,{rearSpin:0,frontSpin:0,riding:!0,boosting:!1,ducking:!1})})]})}var fn=(0,E.memo)(function(e){let{open:t,onClose:n}=e;return(0,J.jsx)(S,{open:t,onOpenChange:e=>{e||n()},children:(0,J.jsxs)(b,{children:[(0,J.jsx)(_e,{"data-overlay":!0,className:`fixed inset-0 z-50 bg-gray-900/15`}),(0,J.jsxs)(x,{"data-overlay":!0,"data-testid":`ride-guide`,onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),n())},className:`fixed left-1/2 top-1/2 z-50 flex w-[min(480px,92vw)] overflow-hidden -translate-x-1/2 -translate-y-1/2 flex-col gap-4 rounded-2xl bg-[var(--chrome-popup)] p-5 outline-none ring-1 ring-[var(--chrome-ring)]`,children:[(0,J.jsx)(`div`,{className:`-mx-5 -mt-5 rounded-t-2xl bg-[var(--chrome-hover)] px-5 pt-4`,children:(0,J.jsx)(dn,{})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(ve,{className:`text-[15px] font-medium text-[var(--chrome-fg-900)]`,children:`Ride your canvas`}),(0,J.jsx)(w,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Nothing you draw or erase changes your work.`})]}),(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-x-6`,children:un.map((e,t)=>(0,J.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(([e,t])=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[13px] text-[var(--chrome-fg-600)]`,children:[(0,J.jsx)(`span`,{children:t}),(0,J.jsx)(`span`,{className:`flex gap-1`,children:e.map(e=>(0,J.jsx)(ln,{name:e},e))})]},t))},t))}),(0,J.jsx)(C,{className:`h-9 w-full cursor-pointer rounded-xl bg-[var(--chrome-fg-900)] text-[13px] font-medium text-[var(--chrome-popup)] outline-none transition-opacity hover:opacity-90 active:scale-[0.99]`,children:`Start Playing`})]})]})})}),pn=new Set([`ArrowLeft`,`KeyA`]),mn=new Set([`ArrowRight`,`KeyD`]),hn=new Set([`ArrowUp`,`KeyW`,`Space`]),gn=new Set([`ShiftLeft`,`ShiftRight`]),_n=new Set([`ArrowDown`,`KeyS`]),vn=new Set([`Equal`,`Minus`,`Digit0`,`Digit1`]);function yn(e){return pn.has(e)?`left`:mn.has(e)?`right`:gn.has(e)?`boost`:_n.has(e)?`duck`:null}function bn(e,t,n){let r=(0,E.useRef)(t);r.current=t;let i=(0,E.useRef)(n);i.current=n,(0,E.useEffect)(()=>{let t=t=>{if(i.current||ae(t.target))return;let n=t.metaKey||t.ctrlKey;if(n&&vn.has(t.code)||t.shiftKey&&!n&&t.code===`KeyR`)return;t.stopImmediatePropagation();let a=r.current;if(t.key===`Escape`){t.preventDefault(),a.escape();return}if(n&&t.code===`KeyZ`){t.preventDefault(),a.undo();return}if(!n&&t.code===`KeyP`){a.pickTool(`pen`);return}if(!n&&t.code===`KeyE`){a.pickTool(`eraser`);return}if(!n&&t.code===`KeyB`){a.placeBike();return}if(t.key===`?`){t.preventDefault(),a.help();return}let o=e.bike;if(!n&&t.code===`KeyR`){t.preventDefault(),t.repeat||a.restart();return}if(t.code===`Space`&&!e.running){t.preventDefault(),t.repeat||a.play();return}if(!e.running||!o)return;let s=yn(t.code);if(!(!hn.has(t.code)&&!s)){if(t.preventDefault(),t.repeat||(e.following=!0),s){e.controls[s]=!0;return}t.repeat||pt(o)}},n=t=>{let n=yn(t.code);n&&(e.controls[n]=!1)},a=()=>{e.controls={...Je}};return window.addEventListener(`keydown`,t,!0),window.addEventListener(`keyup`,n,!0),window.addEventListener(`blur`,a),()=>{window.removeEventListener(`keydown`,t,!0),window.removeEventListener(`keyup`,n,!0),window.removeEventListener(`blur`,a)}},[e])}var xn=`koboyo.ride-muted`,Sn=`koboyo.ride-guide-seen`,Cn={smoke:`#adb5bd`,dust:`#b08968`,spark:`#f76707`},wn=`var(--canvas-selection)`,Tn=12,En=50,Dn=3,On=new WeakMap;function kn(e){return e.map((e,t)=>`${t===0?`M`:`L`} ${e.x} ${e.y}`).join(` `)}var An=(0,E.memo)(function(e){let{ink:t,cuts:n,inkWidth:r}=e;return(0,J.jsxs)(J.Fragment,{children:[n.map((e,t)=>(0,J.jsx)(`path`,{d:kn(e.points.length>1?e.points:[e.points[0],e.points[0]]),fill:`none`,stroke:`var(--canvas-bg)`,strokeWidth:e.radius*2,strokeLinecap:`round`,strokeLinejoin:`round`},t)),t.map((e,t)=>(0,J.jsx)(`path`,{"data-testid":`ride-ink`,d:kn(e),fill:`none`,stroke:wn,strokeWidth:r,vectorEffect:`non-scaling-stroke`,strokeLinecap:`round`,strokeLinejoin:`round`},t))]})});function jn(e,t){return e.map((e,n)=>{let r=f(e,t);return`${n===0?`M`:`L`} ${r.x} ${r.y}`}).join(` `)}function Mn(e,t){let n=c(e);return e.type!==`arrow`&&e.type!==`line`?[n]:[n,...ye(e,t)]}function Nn(){let e=i(),t=te(),n=r(e=>e.viewport),o=r(e=>e.shapes),s=(0,E.useRef)(null),[c]=(0,E.useState)(()=>On.get(e)),l=(0,E.useRef)(c?.start??null),[u]=(0,E.useState)($t),d=(0,E.useRef)(null),h=(0,E.useRef)(null),g=(0,E.useRef)(null),ee=(0,E.useRef)(0),re=(0,E.useRef)(null),ie=(0,E.useRef)([]),[_,oe]=(0,E.useState)(!1),[v,se]=(0,E.useState)(!0),ce=(0,E.useRef)(v);ce.current=v;let[le,ue]=(0,E.useState)(null),[de,fe]=(0,E.useState)(c?.best??{distance:0,score:0}),[pe,me]=(0,E.useState)({distance:!1,score:!1}),he=(0,E.useRef)(de);he.current=de;let[y,_e]=(0,E.useState)(()=>ge.getString(xn)===`1`),b=(0,E.useMemo)(()=>we(o),[o]),[x,S]=(0,E.useState)(()=>({ink:c?.ink??[],cuts:c?.cuts??[],lines:c?Ot(b,c.cuts):b})),{ink:C,cuts:ve}=x,[w,ye]=(0,E.useState)(`pen`),[T,be]=(0,E.useState)(null),[D,xe]=(0,E.useState)(()=>ge.getString(Sn)!==`1`),[,O]=(0,E.useState)(0);(0,E.useEffect)(()=>{S(e=>e.lines===b&&e.cuts.length===0?e:{...e,lines:Ot(b,e.cuts)})},[b]);let k=(0,E.useMemo)(()=>Te(x.lines,C),[x.lines,C]),A=(0,E.useRef)(x),j=(0,E.useRef)(b);j.current=b,A.current=x;let M=(0,E.useCallback)(()=>{let e=ie.current;e.push(A.current),e.length>En&&e.shift()},[]),N=(0,E.useRef)(k);N.current=k;let P=(0,E.useCallback)(e=>{u.following=e,se(e)},[u]),Se=(0,E.useCallback)(()=>{_e(e=>{let t=!e;return ge.setString(xn,t?`1`:`0`),u.setMuted(t),t})},[u]);(0,E.useEffect)(()=>()=>u.close(),[u]),(0,E.useEffect)(()=>()=>{On.set(e,{ink:A.current.ink,cuts:A.current.cuts,start:l.current,best:he.current})},[e]),(0,E.useLayoutEffect)(()=>{let t=s.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.getState().viewport,i=e=>e.x>=0&&e.y>=0&&e.x<=n.width&&e.y<=n.height,o=ne.at&&{x:ne.at.x-n.left,y:ne.at.y-n.top};if(o&&i(o)){l.current=a(o,r),O(e=>e+1);return}let c=l.current;c&&i(f(c,r))||(l.current=a({x:n.width*.3,y:n.height*.4},r),O(e=>e+1))},[e]),(0,E.useEffect)(()=>{e.getState().setSelectedIds(new Set)},[e]),(0,E.useEffect)(()=>{let e=e=>{ae(e.target)||e.stopImmediatePropagation()};return window.addEventListener(`paste`,e,!0),window.addEventListener(`cut`,e,!0),()=>{window.removeEventListener(`paste`,e,!0),window.removeEventListener(`cut`,e,!0)}},[]);let F=(0,E.useCallback)(()=>{let e=l.current;e&&(u.play(e,y),P(!0),oe(!0),me({distance:!1,score:!1}))},[u,y,P]),I=(0,E.useCallback)(e=>{if(e){let t=he.current,n={distance:e.distance>t.distance&&t.distance>0,score:e.score>t.score&&t.score>0};ue(e),me(n),fe({distance:Math.max(t.distance,e.distance),score:Math.max(t.score,e.score)})}oe(!1)},[]),De=(0,E.useCallback)(()=>I(u.stop(`stopped`)),[u,I]),Oe=(0,E.useCallback)(()=>{u.running&&I(u.stop(`stopped`)),F()},[u,I,F]),R=(0,E.useCallback)(()=>e.getState().setRideMode(!1),[e]),ke=(0,E.useCallback)(()=>{u.running&&I(u.stop(`stopped`)),u.controls={...Je},xe(!0)},[u,I]),Ae=(0,E.useCallback)(()=>{ge.setString(Sn,`1`),xe(!1)},[]);bn(u,{escape:()=>{if(h.current){h.current=null,O(e=>e+1);return}R()},undo:()=>{let e=ie.current.pop();e&&S({...e,lines:Ot(j.current,e.cuts)})},pickTool:ye,placeBike:()=>{let e=re.current;!e||u.running||(l.current=e,O(e=>e+1))},play:F,restart:Oe,help:ke},D),(0,E.useEffect)(()=>{let e=s.current?.parentElement;if(!e)return;let t=e=>{e.target instanceof Element&&e.target.closest(`[data-ride-hud]`)||(u.returning=!1,u.running&&u.following&&P(!1))};return e.addEventListener(`pointerdown`,t,!0),e.addEventListener(`wheel`,t,{capture:!0,passive:!0}),()=>{e.removeEventListener(`pointerdown`,t,!0),e.removeEventListener(`wheel`,t,!0)}},[u,P]),(0,E.useEffect)(()=>{let t=0,n=performance.now(),r=i=>{t=requestAnimationFrame(r);let a=(i-n)/1e3;n=i;let o=s.current;if(!o)return;let c=u.tick(a,N.current,{width:o.clientWidth,height:o.clientHeight},e.getState().viewport,l.current);if(c.ended){I(c.ended);return}if(u.following&&!ce.current&&P(!0),c.camera){e.getState().setViewport(c.camera);return}c.moved&&O(e=>e+1)};return t=requestAnimationFrame(r),()=>cancelAnimationFrame(t)},[u,e,I,P]);let z=t=>{let n=s.current?.getBoundingClientRect();return a({x:t.clientX-(n?.left??0),y:t.clientY-(n?.top??0)},e.getState().viewport)},je=(n,r,i)=>{let a=Tn/e.getState().viewport.zoom,o={x:Math.min(n.x,r.x)-a,y:Math.min(n.y,r.y)-a,width:Math.abs(r.x-n.x)+a*2,height:Math.abs(r.y-n.y)+a*2},s=e.getState().shapes.some(e=>Mn(e,t.text).some(e=>p(e,o)));S(e=>{let t=Dt(e.ink,n,r,a);if(!s)return t===e.ink?e:{...e,ink:t};let o=e.cuts[e.cuts.length-1];return{ink:t,cuts:o?.gesture===i?[...e.cuts.slice(0,-1),{...o,points:[...o.points,r]}]:[...e.cuts,{gesture:i,radius:a,points:[n,r]}],lines:Dt(e.lines,n,r,a)}})},Me=()=>{let e=h.current;if(h.current=null,e&&e.points.length>1){let t=e.points;M(),S(e=>({...e,ink:[...e.ink,t]}))}else O(e=>e+1)},Ne=(0,E.useCallback)(()=>P(!0),[P]),Pe=(0,E.useCallback)(()=>{M(),S({ink:[],cuts:[],lines:j.current})},[M]),B=l.current,V=u.bike,H=_?u.pose:B?_t(B):null,Fe=H?q(H):null,U=Fe?f(Fe,n):null,Ie=H?Math.atan2(H.right.y-H.left.y,H.right.x-H.left.x):0,Le=H?.rider?f(H.rider,n):null,Re=h.current,ze=_&&V?.outcome===`riding`&&u.controls.boost,Be=Math.max(1.5,3*n.zoom),Ve;return Ve=_?V?.outcome===`crashed`?`Ouch!`:``:k.empty||B&&!Ee(k,B)?`Draw a track under the bike, then press Play`:le?.outcome===`crashed`?`Crashed! Press Play to go again`:le?.outcome===`fell`?`Fell off the world. Press Play to go again`:`Drag the bike, or press B to park it under the cursor. Space to play`,(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{ref:s,"data-testid":`ride-overlay`,className:`absolute inset-0 ${w===`pen`?`cursor-crosshair`:`cursor-none`}`,onPointerDown:e=>{if(e.button!==0)return;e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId);let t=z(e);if(w===`pen`)h.current={pointerId:e.pointerId,points:[t]};else{M();let n=++ee.current;g.current={pointerId:e.pointerId,last:t,gesture:n},je(t,t,n)}},onPointerMove:t=>{t.buttons<=1&&t.stopPropagation();let n=z(t);re.current=n,w===`eraser`&&be(n);let r=h.current;if(r&&r.pointerId===t.pointerId){let t=r.points[r.points.length-1],i=Dn/e.getState().viewport.zoom;m(t,n)>=i&&(r.points.push(n),Ce(N.current,[t,n]),O(e=>e+1))}else g.current?.pointerId===t.pointerId&&(je(g.current.last,n,g.current.gesture),g.current.last=n)},onPointerUp:e=>{if(h.current?.pointerId===e.pointerId&&Me(),g.current?.pointerId===e.pointerId){g.current=null;let e=ie.current;e[e.length-1]===A.current&&e.pop()}},onPointerCancel:()=>{h.current=null,g.current=null},onPointerLeave:()=>{re.current=null,be(null)},onDoubleClick:e=>e.stopPropagation(),onContextMenu:e=>{e.preventDefault(),e.stopPropagation()},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,J.jsxs)(`svg`,{className:`pointer-events-none absolute inset-0 h-full w-full`,children:[(0,J.jsxs)(`g`,{transform:`translate(${n.x} ${n.y}) scale(${n.zoom})`,children:[(0,J.jsx)(An,{ink:C,cuts:ve,inkWidth:Be}),Re&&(0,J.jsx)(`path`,{d:kn(Re.points),fill:`none`,stroke:wn,strokeWidth:Be,vectorEffect:`non-scaling-stroke`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),w===`eraser`&&T&&(0,J.jsx)(`circle`,{cx:f(T,n).x,cy:f(T,n).y,r:Tn,fill:`none`,stroke:`var(--chrome-fg-500)`,strokeWidth:1.5}),_&&V&&V.trail.length>1&&(0,J.jsx)(`path`,{d:jn(V.trail,n),fill:`none`,stroke:`#e03131`,strokeOpacity:.3,strokeWidth:Math.max(1.5,3*n.zoom),strokeLinecap:`round`,strokeLinejoin:`round`}),u.particles.map((e,t)=>{let r=f(e,n),i=e.age/e.life,a=e.kind===`smoke`?1+i*2:1;return(0,J.jsx)(`circle`,{cx:r.x,cy:r.y,r:e.size*a*n.zoom,fill:Cn[e.kind],opacity:(1-i)*(e.kind===`smoke`?.45:.8)},t)}),H&&U&&(0,J.jsx)(`g`,{opacity:_?1:.85,transform:`translate(${U.x} ${U.y}) rotate(${Ie*180/Math.PI}) scale(${n.zoom*H.facing} ${n.zoom})`,children:(0,J.jsx)(Ct,{rearSpin:H.facing===1?H.leftSpin:-H.rightSpin,frontSpin:H.facing===1?H.rightSpin:-H.leftSpin,riding:!H.rider,boosting:ze,ducking:H.ducking})}),u.callouts.map((e,t)=>{let r=f(e.at,n),i=e.age/qt;return(0,J.jsx)(`text`,{x:r.x,y:r.y-Xt(e),textAnchor:`middle`,fontSize:16,fontWeight:700,fill:`var(--canvas-selection)`,stroke:`var(--canvas-bg)`,strokeWidth:4,paintOrder:`stroke`,opacity:Math.min(1,(1-i)*2),children:e.text},t)}),H&&Le&&(0,J.jsx)(`g`,{transform:`translate(${Le.x} ${Le.y}) rotate(${H.riderSpin*180/Math.PI}) scale(${n.zoom})`,children:(0,J.jsx)(wt,{})})]}),!_&&U&&(0,J.jsx)(`div`,{"data-ride-hud":!0,"data-testid":`ride-start-handle`,title:`Drag to move the start`,className:`pointer-events-auto absolute cursor-grab touch-none active:cursor-grabbing`,style:{left:U.x-34*n.zoom,top:U.y+(L.y-8)*n.zoom,width:68*n.zoom,height:(11-L.y+8)*n.zoom},onPointerDown:e=>{if(e.stopPropagation(),e.button!==0||!l.current)return;e.currentTarget.setPointerCapture(e.pointerId);let t=z(e);d.current={pointerId:e.pointerId,offset:{x:t.x-l.current.x,y:t.y-l.current.y}}},onPointerMove:e=>{let t=d.current;if(!t||t.pointerId!==e.pointerId)return;e.stopPropagation();let n=z(e);l.current={x:n.x-t.offset.x,y:n.y-t.offset.y},O(e=>e+1)},onPointerUp:()=>{d.current=null},onPointerCancel:()=>{d.current=null},onDoubleClick:e=>e.stopPropagation()}),(0,J.jsx)(an,{live:_&&V?{speed:$e(V),distance:V.distance,longestAir:V.longestAir,score:u.score}:null,last:le,best:de,newBest:pe,hint:Ve}),(0,J.jsx)(sn,{inkTool:w,hasDrawings:C.length>0||ve.length>0,running:_,following:v,muted:y,onInkTool:ye,onResetDrawings:Pe,onPlay:F,onStop:De,onFollow:Ne,onToggleMuted:Se,onExit:R,onHelp:ke})]}),(0,J.jsx)(fn,{open:D,onClose:Ae})]})}export{Nn as RideOverlay};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./react-lCSYwAWP.js";import{t as n}from"./jsx-runtime-DKdBMi_L.js";import{a as r}from"./editor-BeufBV54.js";import{an as i,en as a,in as o,sn as s}from"./slides-D686obFO.js";import{Z as c}from"./style-BENGW2ZV.js";import{t as l}from"./registry-rEGZW7Ab.js";var u=e(t(),1);function d(e,t){let n=i(e,t),r=a(e,t),c=s(e)*Math.PI/180;if(!c)return{body:n,footprint:r,toLocal:e=>e,toWorld:e=>e};let l={x:n.x+n.width/2,y:n.y+n.height/2};return{body:n,footprint:r,toLocal:e=>o(e,l,-c),toWorld:e=>o(e,l,c)}}function f(e,t,n){let r=d(e,n);return c(r.toLocal(t),r.footprint)}function p(e){function t(){document.hidden&&e()}return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}}var m=n(),h=`coarse:before:absolute coarse:before:-inset-[18px] coarse:before:content-['']`,g=[{handle:`nw`,cursor:`nwse-resize`},{handle:`ne`,cursor:`nesw-resize`},{handle:`sw`,cursor:`nesw-resize`},{handle:`se`,cursor:`nwse-resize`}],_=[{handle:`n`,cursor:`ns-resize`},{handle:`w`,cursor:`ew-resize`},{handle:`e`,cursor:`ew-resize`},{handle:`s`,cursor:`ns-resize`}],v=[{handle:`n`,cursor:`ns-resize`},{handle:`w`,cursor:`ew-resize`},{handle:`e`,cursor:`ew-resize`},{handle:`s`,cursor:`ns-resize`}],y=_.filter(e=>e.handle===`w`||e.handle===`e`),b=_.filter(e=>e.handle===`n`||e.handle===`s`);function x(e){if(e.type!==`control`)return{edges:e.type===`text`?v:_,corners:g};switch(l[e.kind].resize){case`width`:return{edges:y,corners:[]};case`height`:return{edges:b,corners:[]};case`aspect`:return{edges:[],corners:g};default:return{edges:_,corners:g}}}function S(e,t,n,r=0){let i=t/2;e.includes(`w`)?i=-r:e.includes(`e`)&&(i=t+r);let a=n/2;return e.includes(`n`)?a=-r:e.includes(`s`)&&(a=n+r),{x:i,y:a}}function C(e,t){if(e.type===`text`){let n=t?.textBounds(e.id);if(n)return{x:e.x,y:e.y,width:n.width,height:n.height}}return e.type===`icon`?a(e,t):i(e,t)}function w(e,t,n,r){let a=i(e,r);return{x:(a.x+a.width/2-t.x)*n,y:(a.y+a.height/2-t.y)*n}}function T(e,t){let n=C(e,t);return[{x:n.x,y:n.y},{x:n.x+n.width,y:n.y},{x:n.x+n.width,y:n.y+n.height},{x:n.x,y:n.y+n.height}].map(d(e,t).toWorld).reduce((e,t)=>t.y<e.y-.5||Math.abs(t.y-e.y)<=.5&&t.x<e.x?t:e)}var E=[`ew-resize`,`nwse-resize`,`ns-resize`,`nesw-resize`],D={e:0,se:45,s:90,sw:135,w:180,nw:225,n:270,ne:315};function O(e,t){let n=(((D[e]??0)+t)%180+180)%180;return E[Math.round(n/45)%4]}function k(e){let t=r().measurement,[n,i]=(0,u.useState)(()=>C(e,t));return(0,u.useLayoutEffect)(()=>{let n=C(e,t);i(e=>e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height?e:n)},[e,t]),n}var A=15;function j(e,t){return t===void 0?0:Math.max(0,t-(e-A/2))}function M(e){let{position:t,cursor:n,round:r,testId:i,minHitTop:a,onPointerDown:o,onDoubleClick:s}=e,c=j(t.y,a),l=a===void 0?void 0:Math.min(0,Math.max(-15,a-(t.y+c-A/2)));return(0,m.jsx)(`div`,{"data-testid":i,onPointerDown:o,onDoubleClick:s?e=>{e.stopPropagation(),s()}:void 0,className:`absolute flex h-[15px] w-[15px] -translate-x-1/2 -translate-y-1/2 items-center justify-center coarse:before:absolute coarse:before:-inset-[15px] coarse:before:top-[var(--handle-touch-top,-15px)] coarse:before:content-['']`,style:{left:t.x,top:t.y+c,cursor:n,pointerEvents:`all`,...l===void 0?{}:{"--handle-touch-top":`${l}px`}},children:(0,m.jsx)(`div`,{className:`pointer-events-none h-[9px] w-[9px] border border-[var(--canvas-selection)] bg-white ${r?`rounded-full`:`rounded-[2px]`}`,style:c?{translate:`0 ${-c}px`}:void 0})})}function N(e){let{position:t,onPointerDown:n}=e;return(0,m.jsxs)(`div`,{"data-testid":`sticky-duplicate`,onPointerDown:n,className:`group absolute flex h-[22px] w-[22px] -translate-x-1/2 -translate-y-1/2 items-center justify-center`,style:{left:t.x,top:t.y,cursor:`grab`,pointerEvents:`all`},children:[(0,m.jsx)(`div`,{className:`absolute inset-0 rounded-full bg-[var(--canvas-selection)]/25 opacity-0 transition-opacity group-hover:opacity-100`}),(0,m.jsx)(`div`,{className:`h-[7px] w-[7px] rounded-full bg-[var(--canvas-selection)]`})]})}var P=7,F=10,I=10,L=8,R=12,z=8;function B(){return typeof window<`u`&&window.matchMedia(`(pointer: coarse)`).matches}function V(e){return e?B()?{inward:0,outward:R}:{inward:0,outward:L}:B()?{inward:F,outward:I}:{inward:3,outward:P}}function H(e,t){let n=V(e);if(t===void 0||n.outward<=t)return n;let r=Math.max(0,t);return{inward:n.inward+n.outward-r,outward:r}}function U(e){return 4*e}function W(e){let{edge:t,cursor:n,testId:r,along:i,across:a,inset:o,outwardLimit:s,onPointerDown:c}=e,l=o??(i<24?0:z),{inward:u,outward:d}=H(a<24,s);return(0,m.jsx)(`div`,{"data-testid":r,onPointerDown:c,className:`absolute`,style:{...t===`w`||t===`e`?{top:l,bottom:l,width:u+d,[t===`w`?`left`:`right`]:-d}:{left:l,right:l,height:u+d,[t===`n`?`top`:`bottom`]:-d},cursor:n,pointerEvents:`all`}})}function G(){return B()?20:14}var K=`url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cg%20stroke%3D'white'%20stroke-width%3D'4'%3E%3Cpolyline%20points%3D'23%204%2023%2010%2017%2010'%2F%3E%3Cpath%20d%3D'M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D'black'%20stroke-width%3D'2'%3E%3Cpolyline%20points%3D'23%204%2023%2010%2017%2010'%2F%3E%3Cpath%20d%3D'M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") 12 12, grabbing`;function q(e){let{position:t,onPointerDown:n,testId:r}=e;return(0,m.jsx)(`div`,{"data-testid":r,onPointerDown:n,className:`absolute h-[9px] w-[9px] -translate-x-1/2 -translate-y-1/2 rounded-full border border-[var(--canvas-selection)] bg-white ${h}`,style:{left:t.x,top:t.y,cursor:K,pointerEvents:`all`}})}export{p as _,M as a,x as c,w as d,U as f,C as g,k as h,W as i,S as l,O as m,_ as n,q as o,T as p,N as r,h as s,g as t,G as u,f as v,d as y};
@@ -0,0 +1 @@
1
+ import{Dn as e,Pn as t}from"./slides-D686obFO.js";function n(n){let r=n.type===`text`?n.text:`label`in n&&typeof n.label==`string`?n.label:`text`in n&&typeof n.text==`string`?n.text:``;return e(r)?t(r):r}function r(e){return e.type===`rectangle`?e.kind:e.type===`figure`?`frame`:e.type===`web`?e.kind===`html`?`widget`:`embed`:e.type}var i=34;function a(e){let t=n(e).replace(/\s+/g,` `).trim();return t?t.length>i?`${t.slice(0,i-1)}…`:t:e.type===`icon`&&e.name?o(e.name):o(r(e))}function o(e){let t=e.replace(/[-_]+/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1)}export{n,a as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./react-lCSYwAWP.js";import{r as n}from"./toast-Czv_DJ-4.js";import{t as r}from"./jsx-runtime-DKdBMi_L.js";import{n as i}from"./config-D8b1QyEk.js";import{t as a}from"./createReactComponent-C51FAx3B.js";import{t as o}from"./IconArrowLeft-B4Zcy-Fc.js";import{n as s,r as c,t as l}from"./IconPresentation-BMKzt7fv.js";import{a as u,l as d,o as f,r as p}from"./billing-BSXr-z2r.js";import{t as m}from"./IconMoodSmile-CSZ5p_Hy.js";import{t as h}from"./IconSparkles-CnCp3BCQ.js";import{t as g}from"./IconUsers-Dp85N225.js";import{t as _}from"./IconX-KrRqxr2j.js";import{n as v}from"./surface-Dke4SWpE.js";import{i as y,n as b,r as x,t as S}from"./DialogRoot-DUeVfNhS.js";import{n as C,t as w}from"./DialogTitle-D5au2NAn.js";import{t as T}from"./DialogDescription-Ddhk2rmF.js";var E=a(`outline`,`mail-forward`,`MailForward`,[[`path`,{d:`M12 18h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5`,key:`svg-0`}],[`path`,{d:`M3 6l9 6l9 -6`,key:`svg-1`}],[`path`,{d:`M15 18h6`,key:`svg-2`}],[`path`,{d:`M18 15l3 3l-3 3`,key:`svg-3`}]]),D=a(`outline`,`mail`,`Mail`,[[`path`,{d:`M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10`,key:`svg-0`}],[`path`,{d:`M3 7l9 6l9 -6`,key:`svg-1`}]]),O={field:`w-full rounded-lg bg-transparent px-3 py-2 text-[13px] text-[var(--chrome-fg-900)] outline-none ring-1 ring-[var(--chrome-ring)] placeholder:text-[var(--chrome-fg-300)]`,linkButton:`text-[12px] text-[var(--chrome-fg-500)] underline decoration-[var(--chrome-fg-300)] underline-offset-2 outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,submitButton:`flex h-10 items-center justify-center rounded-lg bg-[var(--chrome-accent)] px-4 text-[14px] text-white outline-none transition-colors active:scale-[0.97] hover:bg-[var(--chrome-accent-hover)] disabled:cursor-default disabled:opacity-60 disabled:active:scale-100`},k=e(t(),1),A=r();function j(e){let{sent:t,email:n,error:r,resent:i,pending:a,onBack:o,onResend:s}=e;return(0,A.jsxs)(`div`,{"data-testid":`email-auth-sent`,className:`flex flex-col items-start gap-3`,children:[(0,A.jsx)(`span`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-[var(--chrome-rest)] text-[var(--chrome-fg-600)] ring-1 ring-[var(--chrome-ring)]`,children:(0,A.jsx)(E,{size:19,stroke:1.75})}),(0,A.jsx)(`p`,{className:`text-[14px] text-[var(--chrome-fg-900)]`,children:`Check your email`}),(0,A.jsx)(`p`,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:t===`verify`?`We sent a confirmation link to ${n}. Click it to activate your account. This tab can be closed.`:`If ${n} has an account, a password reset link is on its way. It expires in an hour.`}),t===`verify`&&(0,A.jsx)(`p`,{className:`text-[13px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Wrong address? Go back and sign up again with the right one.`}),r&&(0,A.jsx)(`p`,{"data-testid":`email-auth-error`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-600)]`,children:r}),i&&!r&&(0,A.jsx)(`p`,{"data-testid":`email-auth-resend-confirmation`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-400)]`,children:`Sent again.`}),(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-sent-back`,className:O.linkButton,onClick:o,children:`Back to sign in`}),t===`verify`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-resend`,disabled:a,className:O.linkButton,onClick:s,children:a?`Sending…`:`Resend email`})]})]})}var M={signin:{submit:`Sign in`,pending:`Signing in…`},register:{submit:`Create account`,pending:`Creating…`},forgot:{submit:`Email me a reset link`,pending:`Sending…`}};function N(e){let{actions:t,signupAvailable:n,registerAvailable:r}=e,[i,a]=(0,k.useState)(`signin`),[o,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(``),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(null),[m,h]=(0,k.useState)(null),[g,_]=(0,k.useState)(!1);function v(e){a(e),p(null)}async function y(e){e.preventDefault();let n=o.trim();if(!(!n||u)){d(!0),p(null),_(!1);try{i===`signin`?await t.loginWithEmail({email:n,password:c}):i===`register`?(await t.registerWithEmail?.({email:n,password:c}),h(`verify`)):(await t.requestPasswordReset?.(n),h(`reset`))}catch(e){p(e instanceof Error?e.message:`Something went wrong. Try again.`)}finally{d(!1)}}}async function b(){if(!u){d(!0),p(null),_(!1);try{await t.registerWithEmail?.({email:o.trim(),password:c}),_(!0)}catch(e){p(e instanceof Error?e.message:`Something went wrong. Try again.`)}finally{d(!1)}}}if(m)return(0,A.jsx)(j,{sent:m,email:o.trim(),error:f,resent:g,pending:u,onBack:()=>{h(null),_(!1),v(`signin`)},onResend:()=>void b()});let x=M[i],S=i!==`forgot`,C=o.trim().length>0&&(!S||c.length>0);return(0,A.jsxs)(`form`,{"data-testid":`email-auth-form`,className:`flex flex-col gap-3`,onSubmit:e=>void y(e),children:[(0,A.jsx)(`input`,{"data-testid":`email-auth-email`,className:O.field,type:`email`,autoComplete:`email`,placeholder:`you@example.com`,value:o,autoFocus:!0,onChange:e=>s(e.target.value)}),S&&(0,A.jsx)(`input`,{"data-testid":`email-auth-password`,className:O.field,type:`password`,autoComplete:i===`register`?`new-password`:`current-password`,placeholder:i===`register`?`Choose a password (8+ characters)`:`Password`,value:c,onChange:e=>l(e.target.value)}),i===`forgot`&&(0,A.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--chrome-fg-500)]`,children:`Enter your account's email and we'll send a link to choose a new password.`}),f&&(0,A.jsx)(`p`,{"data-testid":`email-auth-error`,className:`text-[12px] leading-relaxed text-[var(--chrome-fg-600)]`,children:f}),(0,A.jsx)(`button`,{type:`submit`,"data-testid":`email-auth-submit`,disabled:u||!C,className:O.submitButton,children:u?x.pending:x.submit}),(0,A.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i===`signin`&&r&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-register`,className:O.linkButton,onClick:()=>v(`register`),children:`New here? Create an account`}),i===`signin`&&n&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-forgot`,className:`${O.linkButton} ml-auto`,onClick:()=>v(`forgot`),children:`Forgot password?`}),i===`register`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-signin`,className:O.linkButton,onClick:()=>v(`signin`),children:`Already have an account? Sign in`}),i===`forgot`&&(0,A.jsx)(`button`,{type:`button`,"data-testid":`email-auth-to-signin`,className:O.linkButton,onClick:()=>v(`signin`),children:`Back to sign in`})]})]})}function P(e){let t=e.size??18;return(0,A.jsxs)(`svg`,{width:t,height:t,viewBox:`0 0 18 18`,"aria-hidden":`true`,children:[(0,A.jsx)(`path`,{fill:`#4285F4`,d:`M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z`}),(0,A.jsx)(`path`,{fill:`#34A853`,d:`M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.259c-.806.54-1.837.858-3.048.858-2.344 0-4.328-1.583-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z`}),(0,A.jsx)(`path`,{fill:`#FBBC05`,d:`M3.964 10.704A5.41 5.41 0 0 1 3.682 9c0-.591.102-1.166.282-1.704V4.964H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.036l3.007-2.332Z`}),(0,A.jsx)(`path`,{fill:`#EA4335`,d:`M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.964L3.964 7.296C4.672 5.168 6.656 3.58 9 3.58Z`})]})}function F(e){let t=e.size??18;return(0,A.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,A.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function I(e){let{icon:t,label:n,testId:r,onClick:i,pending:a,disabled:o}=e;return(0,A.jsxs)(`button`,{type:`button`,"data-testid":r,onClick:i,disabled:o,className:`flex h-11 items-center justify-center gap-2.5 rounded-lg bg-[var(--chrome-popup)] px-4 text-[14px] text-[var(--chrome-fg-800)] outline-none ring-1 ring-[var(--chrome-input)] transition-colors hover:bg-[var(--chrome-hover)] disabled:cursor-default disabled:opacity-60`,children:[(0,A.jsx)(`span`,{className:`flex h-[18px] w-[18px] items-center justify-center`,children:t}),(0,A.jsx)(`span`,{children:a?`Opening…`:n})]})}function L(e){let{providers:t,emailSignup:n,pendingProvider:r,onOAuth:i,emailActions:a,renderEmailPanel:s}=e,c=r!=null,[l,u]=(0,k.useState)(`providers`),d=t.includes(`email`)&&(s!=null||a!=null);return l===`email`&&d?(0,A.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,A.jsxs)(`button`,{type:`button`,"data-testid":`email-auth-back`,onClick:()=>u(`providers`),className:`flex items-center gap-1 self-start text-[12px] text-[var(--chrome-fg-500)] outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,children:[(0,A.jsx)(o,{size:13,stroke:1.75}),(0,A.jsx)(`span`,{children:`All sign-in options`})]}),s?s():(0,A.jsx)(N,{actions:a,signupAvailable:n,registerAvailable:n&&e.offerRegister!==!1})]}):(0,A.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[t.includes(`google`)&&(0,A.jsx)(I,{icon:(0,A.jsx)(P,{size:18}),label:`Continue with Google`,testId:`login-google`,onClick:()=>i(`google`),pending:r===`google`,disabled:c}),t.includes(`github`)&&(0,A.jsx)(I,{icon:(0,A.jsx)(F,{size:18}),label:`Continue with GitHub`,testId:`login-github`,onClick:()=>i(`github`),pending:r===`github`,disabled:c}),d&&(0,A.jsx)(I,{icon:(0,A.jsx)(D,{size:18,stroke:1.75}),label:`Continue with email`,testId:`login-email`,onClick:()=>u(`email`),pending:!1,disabled:c}),t.length===0&&(0,A.jsx)(`p`,{"data-testid":`login-unavailable`,className:`rounded-lg px-4 py-3 text-[13px] leading-relaxed text-[var(--chrome-fg-500)] ring-1 ring-[var(--chrome-ring)]`,children:`Sign-in isn't set up on this server yet.`}),e.providersFootnote!=null&&t.length>0&&(0,A.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--chrome-fg-400)]`,children:e.providersFootnote})]})}var R=p(f.monthly.amountCents,`usd`),z=[{icon:(0,A.jsx)(s,{size:18,stroke:1.75}),title:`Every board, saved`,detail:`Unlimited boards, autosaved.`},{icon:(0,A.jsx)(h,{size:18,stroke:1.75}),title:`AI assistant`,detail:`${u.pro.messages.limit} AI credits a month.`},{icon:(0,A.jsx)(l,{size:18,stroke:1.75}),title:`Slides from your board`,detail:`Present without exporting.`},{icon:(0,A.jsx)(g,{size:18,stroke:1.75}),title:`Work with your team`,detail:`Share, comment, mention.`},{icon:(0,A.jsx)(d,{size:18,stroke:1.75}),title:`Folders`,detail:`Keep every project tidy.`},{icon:(0,A.jsx)(m,{size:18,stroke:1.75}),title:`260,000 icons`,detail:`Hand-drawn, cloud and tech.`}];function B(e){let{open:t,onOpenChange:n,onLogin:r,pendingProvider:a,providers:o,emailSignup:s}=e,l=i(),u=e.title??`Save this board`,d=e.description??`Koboyo is a paid app. Try every feature free for 14 days, then ${R} a month.`;return(0,A.jsx)(S,{open:t,onOpenChange:n,children:(0,A.jsxs)(b,{children:[(0,A.jsx)(y,{className:v.dialogBackdrop}),(0,A.jsxs)(x,{"data-overlay":!0,"data-testid":`login-dialog`,className:`flex w-[min(680px,92vw)] max-w-[680px] flex-col overflow-hidden sm:flex-row ${v.dialogPopup}`,children:[(0,A.jsx)(C,{"aria-label":`Close`,className:`absolute right-3 top-3 z-10 flex h-7 w-7 items-center justify-center rounded-md text-[var(--chrome-fg-400)] outline-none transition-colors hover:bg-[var(--chrome-divider)] hover:text-[var(--chrome-fg-600)]`,children:(0,A.jsx)(_,{size:16,stroke:1.75})}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-7 p-8 sm:w-[54%]`,children:[(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsx)(w,{className:`text-[20px] leading-tight text-[var(--chrome-fg-900)]`,children:u}),(0,A.jsx)(T,{className:`text-[13.5px] leading-relaxed text-[var(--chrome-fg-500)]`,children:d})]}),(0,A.jsx)(L,{providers:o,emailSignup:s,pendingProvider:a,onOAuth:r,emailActions:{loginWithEmail:l.loginWithEmail,registerWithEmail:l.registerWithEmail,requestPasswordReset:l.requestPasswordReset}}),(0,A.jsx)(`p`,{className:`text-[11.5px] leading-relaxed text-[var(--chrome-fg-400)]`,children:`New here? You'll add a card next. You won't be charged today, and you can cancel any time.`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-4 border-t border-[var(--chrome-divider)] bg-[var(--cta-panel-bg)] p-8 sm:w-[46%] sm:border-l sm:border-t-0`,children:[z.map(e=>(0,A.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,A.jsx)(`span`,{className:`mt-px shrink-0 text-[var(--cta-save-fg)]`,children:e.icon}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,A.jsx)(`span`,{className:`text-[13.5px] leading-tight text-[var(--chrome-fg-800)]`,children:e.title}),(0,A.jsx)(`span`,{className:`text-[12px] leading-snug text-[var(--chrome-fg-500)]`,children:e.detail})]})]},e.title)),(0,A.jsxs)(`a`,{href:`/premium`,target:`_blank`,rel:`noreferrer`,className:`mt-auto flex items-center gap-1 self-start pt-1 text-[12px] text-[var(--chrome-fg-500)] underline underline-offset-2 outline-none transition-colors hover:text-[var(--chrome-fg-800)]`,children:[`Learn more about Koboyo Pro`,(0,A.jsx)(c,{size:12,stroke:2,"aria-hidden":!0})]})]})]})]})})}function V(e){let{open:t,onOpenChange:r,title:a,description:o}=e,s=i(),{notify:c}=n(),l=s.state.status===`authenticated`,u=s.state.status===`disabled`?[]:s.state.providers,d=s.state.status===`disabled`||s.state.emailSignup,[f,p]=(0,k.useState)(null),m=s.acquireSessionPolling;return(0,k.useEffect)(()=>{if(!(!t||l))return m()},[t,l,m]),(0,k.useEffect)(()=>{t&&l&&r(!1)},[t,l,r]),(0,A.jsx)(B,{open:t,onOpenChange:r,onLogin:e=>{p(e),s.loginWithProvider(e).then(()=>p(null),()=>{p(null),c(`Your browser blocked the sign-in popup`)})},pendingProvider:f,providers:u,emailSignup:d,title:a,description:o})}export{V as SignInDialog};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./react-lCSYwAWP.js";import{t as n}from"./jsx-runtime-DKdBMi_L.js";import{o as r,s as i}from"./editor-BeufBV54.js";import{A as a,f as o,i as s}from"./slides-D686obFO.js";import{t as c}from"./IconX-KrRqxr2j.js";import{i as l,n as u,r as d,t as f}from"./DialogRoot-DUeVfNhS.js";import{n as p,t as m}from"./DialogTitle-D5au2NAn.js";var h=e(t(),1),g=n();function _(){let e=i(),t=r(e=>e.notesEditorId),n=r(e=>e.shapes),[_,v]=(0,h.useState)(``),y=s(n),b=y.findIndex(e=>e.id===t),x=b>=0?y[b]:null;(0,h.useEffect)(()=>{if(!t)return;let n=a(e.getState().shapes,t);v(n?.type===`figure`?n.notes??``:``)},[t,e]);function S(){let t=e.getState(),n=t.shapes.find(e=>e.id===t.notesEditorId),r=_.trim(),i=r.length>0?r:void 0;n?.type===`figure`&&n.notes!==i&&t.updateShape(n.id,{notes:i}),t.setNotesEditorId(null)}return(0,g.jsx)(f,{open:x!==null,onOpenChange:e=>{e||S()},children:(0,g.jsxs)(u,{children:[(0,g.jsx)(l,{className:`fixed inset-0 bg-gray-900/15`}),(0,g.jsxs)(d,{"data-overlay":!0,"data-testid":`slide-notes-dialog`,className:`fixed left-1/2 top-1/2 w-[min(480px,92vw)] -translate-x-1/2 -translate-y-1/2 rounded-2xl bg-[var(--chrome-popup)] p-4 shadow-[0_24px_70px_rgba(0,0,0,0.22)] outline-none ring-1 ring-[var(--chrome-ring)]`,children:[(0,g.jsxs)(`div`,{className:`mb-2.5 flex items-center justify-between`,children:[(0,g.jsxs)(m,{className:`text-[14px] text-[var(--chrome-fg-900)]`,children:[`Speaker notes — `,x?o(x,b):``]}),(0,g.jsx)(p,{"aria-label":`Close`,className:`-mr-1 flex h-7 w-7 items-center justify-center rounded-full text-[var(--chrome-fg-400)] outline-none transition-colors hover:bg-[var(--chrome-divider)] hover:text-[var(--chrome-fg-600)]`,children:(0,g.jsx)(c,{size:16,stroke:1.75})})]}),(0,g.jsx)(`textarea`,{autoFocus:!0,value:_,placeholder:`What you'll say on this slide: context, the story, the segue…`,"data-testid":`slide-notes-input`,onChange:e=>v(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&S()},className:`h-36 w-full resize-none rounded-lg bg-[var(--chrome-rest)] p-3 text-[13px] leading-relaxed text-[var(--chrome-fg-800)] outline-none ring-1 ring-[var(--chrome-ring)] placeholder:text-[var(--chrome-fg-400)]`}),(0,g.jsxs)(`div`,{className:`mt-3 flex justify-between`,children:[(0,g.jsx)(`span`,{className:`self-center text-[11px] text-[var(--chrome-fg-400)]`,children:`Shown to you while presenting (press N)`}),(0,g.jsx)(`button`,{type:`button`,"data-testid":`slide-notes-done`,onClick:S,className:`rounded-lg bg-[var(--chrome-accent)] px-3.5 py-1.5 text-[13px] text-white transition-colors hover:bg-[var(--chrome-accent-hover)]`,children:`Done`})]})]})]})})}export{_ as SlideNotesDialog};