@volter/game-editor 0.5.109 → 0.5.110

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 (298) hide show
  1. package/BUNDLED_NOTICES +22 -22
  2. package/catalog/entries/blender.json +2 -2
  3. package/catalog/entries/music.json +2 -2
  4. package/dist/.vite/manifest.json +2172 -2172
  5. package/dist/assets/{AssetBudgetPanel-CCkSD93r.js → AssetBudgetPanel-CA5WnTKY.js} +3 -3
  6. package/dist/assets/{AudioViewer-DRAuh1Tf.js → AudioViewer-D9bHbFfE.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-eJIG9t3X.js → CanvasBoardDocument-C-Rmqno1.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-BGIV83u9.js → CanvasSceneViewport-GPeqRbJF.js} +1 -1
  9. package/dist/assets/{ColorInput-Di_iRap7.js → ColorInput-LOPjrHkP.js} +1 -1
  10. package/dist/assets/{ColorPicker-C79B61hb.js → ColorPicker-CshnU6f7.js} +1 -1
  11. package/dist/assets/{EntityModelDocument-BPh9rEzM.js → EntityModelDocument-Dlp-8g7D.js} +1 -1
  12. package/dist/assets/{EnvironmentAssetDocument-BkIR9E5x.js → EnvironmentAssetDocument-CgRbt4Jo.js} +1 -1
  13. package/dist/assets/{GameplaySessionTimeline-DTvZ3GjC.js → GameplaySessionTimeline-E-BE0EU7.js} +1 -1
  14. package/dist/assets/{ImageViewer-BXNPoub2.js → ImageViewer-DLZttZzB.js} +1 -1
  15. package/dist/assets/InspectorObjectPreview-bpSm22I-.js +1 -0
  16. package/dist/assets/{JsonAssetDocument-DzcgeyAQ.js → JsonAssetDocument-DIecsd7l.js} +1 -1
  17. package/dist/assets/{LiveModuleDocument-BUUBuUMh.js → LiveModuleDocument-BOR_N7Na.js} +1 -1
  18. package/dist/assets/{LutAssetDocument-B0I8Bx-N.js → LutAssetDocument-Rvj1GVIa.js} +1 -1
  19. package/dist/assets/{ModelAssetDocument-CkTK1kar.js → ModelAssetDocument-l9npox50.js} +1 -1
  20. package/dist/assets/{NonThreeAuthoringBootstrap-DAnz0kxg.js → NonThreeAuthoringBootstrap-BSPTW9LM.js} +1 -1
  21. package/dist/assets/{Object3DDocumentToolbar-CPuXNd-1.js → Object3DDocumentToolbar-DY8a0Occ.js} +1 -1
  22. package/dist/assets/Object3DDocumentViewport-C7LPv0rT.js +2 -0
  23. package/dist/assets/{Object3DPreview-BuD-anwy.js → Object3DPreview-F5H47D4e.js} +1 -1
  24. package/dist/assets/{OnlineAssetDetail-DnikeT94.js → OnlineAssetDetail-DHbh9BHq.js} +1 -1
  25. package/dist/assets/{PlayBar-CYc9J-Qd.js → PlayBar-Cp3N-KCf.js} +1 -1
  26. package/dist/assets/{QuarksAssetDocument-BtUVssr5.js → QuarksAssetDocument-CJ55waf3.js} +1 -1
  27. package/dist/assets/{ReactCanvasControls-C3JazO5f.js → ReactCanvasControls-BZIKnBe_.js} +1 -1
  28. package/dist/assets/{RootSelectionOverlay-DVKRGf1V.js → RootSelectionOverlay-DbREUgIb.js} +1 -1
  29. package/dist/assets/{ShaderAssetDocument-Cm93bxxc.js → ShaderAssetDocument-C0I3j_bn.js} +1 -1
  30. package/dist/assets/{ShadowEditor-DwPHRHuU.js → ShadowEditor-DQJHrmnw.js} +1 -1
  31. package/dist/assets/{SourceAssetViewer-DXsirN9n.js → SourceAssetViewer-GaiKwcan.js} +1 -1
  32. package/dist/assets/{StageHost-Dly3GvuI.js → StageHost-DooxiRtf.js} +2 -2
  33. package/dist/assets/{StoryPreviewMount-gtSXRf8l.js → StoryPreviewMount-Dn5LTh6d.js} +1 -1
  34. package/dist/assets/{ThreeBoardDocument-COb8NNN6.js → ThreeBoardDocument-BSveW9kd.js} +2 -2
  35. package/dist/assets/{ThreeIsolationSceneContent-Div0OiTb.js → ThreeIsolationSceneContent-VRHOzKbZ.js} +1 -1
  36. package/dist/assets/{ToolObject3DPreview-BdiwjLou.js → ToolObject3DPreview-bl5ZiSTf.js} +1 -1
  37. package/dist/assets/{Toolbar-DKzjaszH.js → Toolbar-BthqVrvk.js} +1 -1
  38. package/dist/assets/{TransientHint-CTWR6LpT.js → TransientHint-BfLO2bn2.js} +1 -1
  39. package/dist/assets/{VideoViewer-BWoW4IVz.js → VideoViewer-CfMklFgO.js} +1 -1
  40. package/dist/assets/{ViewportShadingMenu-K3E7trcz.js → ViewportShadingMenu-BwML2aq7.js} +1 -1
  41. package/dist/assets/{active-ingest-C1qTpJWx.js → active-ingest-CjTOfvPo.js} +2 -2
  42. package/dist/assets/{animation-clock-C8yHgr9_.js → animation-clock-dqOcJ1jx.js} +1 -1
  43. package/dist/assets/{animation-mixers.service-C_0sRw0F.js → animation-mixers.service-Cyr-o0Ys.js} +1 -1
  44. package/dist/assets/{animation-timeline.utility-CD9oW3j1.js → animation-timeline.utility-BVVP_uKf.js} +1 -1
  45. package/dist/assets/{asset-budget-asset.menu-DWFIOVgR.js → asset-budget-asset.menu-BBvMPohD.js} +1 -1
  46. package/dist/assets/{asset-budget.action-B5pY1gXn.js → asset-budget.action-C_vm5rI8.js} +1 -1
  47. package/dist/assets/{asset-budget.document-o6VdSdic.js → asset-budget.document-O0KxG1Xs.js} +1 -1
  48. package/dist/assets/{asset-budget.menu-B8-fCUlk.js → asset-budget.menu-DoTOigvn.js} +1 -1
  49. package/dist/assets/{asset-editor-persistence-CwS08IFG.js → asset-editor-persistence-BDtXtYHv.js} +1 -1
  50. package/dist/assets/{asset-loaders-BgJ1cWuF.js → asset-loaders-oyqCjokK.js} +1 -1
  51. package/dist/assets/{asset-preview-Brlu-Xoc.js → asset-preview-DeoFAm2V.js} +1 -1
  52. package/dist/assets/{audio-unlock.service-Biv0ZOCH.js → audio-unlock.service-p06da4Yi.js} +1 -1
  53. package/dist/assets/{audio.utility-C1eDZAD6.js → audio.utility-ChNs1GrX.js} +1 -1
  54. package/dist/assets/autoplay.service-CaAzAiui.js +1 -0
  55. package/dist/assets/{babylon-authoring-adapter-BrFLD_ik.js → babylon-authoring-adapter-DitAm5jy.js} +1 -1
  56. package/dist/assets/{binding-resolver-D7rIcBbf.js → binding-resolver-DmISbZ_C.js} +2 -2
  57. package/dist/assets/{blender-emscripten-engine-C_f-vtj2.js → blender-emscripten-engine-DrQ7iKAw.js} +1 -1
  58. package/dist/assets/{blender-node-editor.document-Dz2_kub9.js → blender-node-editor.document-CjFrwIsm.js} +1 -1
  59. package/dist/assets/{blender-properties-tab-GmNRB7ft.js → blender-properties-tab-DPfPDJEM.js} +1 -1
  60. package/dist/assets/{blender-runtime-host-D3-AAxoI.js → blender-runtime-host-ujsU3CHo.js} +1 -1
  61. package/dist/assets/{blender-runtime-skin-39i3Ay2u.js → blender-runtime-skin-CwUNCSeX.js} +1 -1
  62. package/dist/assets/{blender-runtime.document-DC8-QnY0.js → blender-runtime.document-DSE6A3hU.js} +1 -1
  63. package/dist/assets/{blender-screenshot.menu-Dw0eiKq1.js → blender-screenshot.menu-CGpBxeEq.js} +1 -1
  64. package/dist/assets/{blender-timeline.document-Cug6pDX1.js → blender-timeline.document-BW8pAn48.js} +1 -1
  65. package/dist/assets/{blender-uv-editor.document-CSreixhA.js → blender-uv-editor.document-AVdfD3lL.js} +1 -1
  66. package/dist/assets/{blender-version.status-qP5NrHjl.js → blender-version.status-5pbhDXPd.js} +1 -1
  67. package/dist/assets/{blender-wali-engine-DdbLddKd.js → blender-wali-engine-DRlkIoxZ.js} +1 -1
  68. package/dist/assets/{blender.command-BrPdewPa.js → blender.command-Tiwc3_Hq.js} +1 -1
  69. package/dist/assets/{board-guides-BVn674bj.js → board-guides-siB7DLLo.js} +1 -1
  70. package/dist/assets/{bridge.command-bILj0Sr4.js → bridge.command-Bwvk9KTP.js} +3 -3
  71. package/dist/assets/{browserAll-CI9QtNtB.js → browserAll-DatQc6Hg.js} +1 -1
  72. package/dist/assets/{build-player.document-BOtbz_7u.js → build-player.document-5galC35i.js} +1 -1
  73. package/dist/assets/{build-profiles.document-Cz_2fIEA.js → build-profiles.document-BtgtKY3e.js} +1 -1
  74. package/dist/assets/{build-progress.status-BmlYkC--.js → build-progress.status-CELO9Hk6.js} +1 -1
  75. package/dist/assets/{build-session-DVOSXPmX.js → build-session-CmSSnwbl.js} +1 -1
  76. package/dist/assets/{build.action-GgVNgcj-.js → build.action-DtWKh5ZO.js} +1 -1
  77. package/dist/assets/{build.command-Cql6BTK2.js → build.command-CPSdPV-6.js} +1 -1
  78. package/dist/assets/{build.header-Bi7h9Jxp.js → build.header-B_esAQuh.js} +1 -1
  79. package/dist/assets/{build.menu-DK0V575e.js → build.menu-Bl9QiO1i.js} +1 -1
  80. package/dist/assets/{build.service-pjxxD2mN.js → build.service-3C_qeoGz.js} +1 -1
  81. package/dist/assets/{camera-D38IYzVG.js → camera-CvN4e2Zz.js} +1 -1
  82. package/dist/assets/{camera-runtime.inspector-BysePUWe.js → camera-runtime.inspector-DSvOIBHY.js} +1 -1
  83. package/dist/assets/{canvas-design-mount-DUFU4onq.js → canvas-design-mount-DBtUNmrt.js} +3 -3
  84. package/dist/assets/{canvas-entry-runtime-CVgvZ-8U.js → canvas-entry-runtime-C2mS5iAy.js} +2 -2
  85. package/dist/assets/{canvas-preview-frames-C0mqVPgw.js → canvas-preview-frames-ciVf8XNo.js} +1 -1
  86. package/dist/assets/{canvas-story-capture.service-Al3qHPqY.js → canvas-story-capture.service-Be2yHqJ5.js} +2 -2
  87. package/dist/assets/{capability-coverage-DAfqpXOj.js → capability-coverage-C4P-DBKm.js} +1 -1
  88. package/dist/assets/{collaboration-presence-DltcWF-9.js → collaboration-presence-3cLXKw77.js} +1 -1
  89. package/dist/assets/{collider-BvhH4BcM.js → collider-DRQ_g1zi.js} +1 -1
  90. package/dist/assets/{component-board.service-BY_oFObh.js → component-board.service-BuJB7tbp.js} +2 -2
  91. package/dist/assets/{component-board.service-C5VH9NI2.js → component-board.service-D6bAXKxC.js} +2 -2
  92. package/dist/assets/{component-board.service-C_kX0wd-.js → component-board.service-DGzNpMjz.js} +2 -2
  93. package/dist/assets/{component-contracts.service-DcOH4GIX.js → component-contracts.service-DdihP393.js} +1 -1
  94. package/dist/assets/{component-instance-root-Djq3PDc8.js → component-instance-root-z47Ib-DX.js} +1 -1
  95. package/dist/assets/{component-verbs.command-BhuTKNDk.js → component-verbs.command-DE37VF0z.js} +1 -1
  96. package/dist/assets/{component-verbs.service-cdOW641O.js → component-verbs.service-p8nz1DC6.js} +1 -1
  97. package/dist/assets/{config-DKCTY-Oj.js → config-CdxEVH0n.js} +2 -2
  98. package/dist/assets/{configurations-D4qdAYVT.js → configurations-3ggfkdh8.js} +1 -1
  99. package/dist/assets/{connection.status-DqvSXOqQ.js → connection.status-L7HOKlna.js} +1 -1
  100. package/dist/assets/{constraints.inspector-B8ybW9sy.js → constraints.inspector-BccsKc10.js} +1 -1
  101. package/dist/assets/{content-bounds-BLQTqJJp.js → content-bounds-BzOnMMA9.js} +1 -1
  102. package/dist/assets/{contract-system-adapters-BQVWtVjc.js → contract-system-adapters-DEkFby0m.js} +1 -1
  103. package/dist/assets/{coverage.service-C4wjYYN6.js → coverage.service-Dh3aFjA4.js} +1 -1
  104. package/dist/assets/{create-runtime-DpoPjpAR.js → create-runtime-CIgubwcC.js} +1 -1
  105. package/dist/assets/{curve-BSA7rg2A.js → curve-PXFWOu1h.js} +1 -1
  106. package/dist/assets/{data-asset-D3F8CXx0.js → data-asset-JCTDHYos.js} +1 -1
  107. package/dist/assets/{data-ref-RaHFohbN.js → data-ref-D8GloBWb.js} +1 -1
  108. package/dist/assets/{debug-bridge-CPq4pIaW.js → debug-bridge-Bn0fBpNA.js} +1 -1
  109. package/dist/assets/{debug-registry-SP12sh2J.js → debug-registry-b9SNCcVT.js} +1 -1
  110. package/dist/assets/{deferred-ingest-play-CAjMiy72.js → deferred-ingest-play-EBHoQATQ.js} +2 -2
  111. package/dist/assets/{design-time-canvas-mount-6_9ogA7k.js → design-time-canvas-mount-DOnlywHv.js} +2 -2
  112. package/dist/assets/{design-time-layers-C9-zyQgK.js → design-time-layers-Cqjx6T_b.js} +1 -1
  113. package/dist/assets/{design-time-mount.service-BR1z-oZk.js → design-time-mount.service-51cvhzrM.js} +2 -2
  114. package/dist/assets/{design-time-mount.service-DyPkUjUq.js → design-time-mount.service-CjHEWF1r.js} +2 -2
  115. package/dist/assets/{design-time-react-mount-Cwnp6Wne.js → design-time-react-mount-C4_WfKCT.js} +1 -1
  116. package/dist/assets/{document-preview-three-Aqn0tYup.js → document-preview-three-Dph0qWUe.js} +1 -1
  117. package/dist/assets/{dom-authoring-adapter--Y-FLMYx.js → dom-authoring-adapter-CMXOivlg.js} +1 -1
  118. package/dist/assets/{draco3d-DTAmCQ2c.js → draco3d-wRpcYGCF.js} +1 -1
  119. package/dist/assets/{edit-mode-audio.service-CTuPkuM7.js → edit-mode-audio.service-BON9_pwC.js} +1 -1
  120. package/dist/assets/{edit-mode-authoring-ySC_NtLV.js → edit-mode-authoring-DsZ-2V4q.js} +1 -1
  121. package/dist/assets/{edit-mode-networking.service-A9SV-x1Q.js → edit-mode-networking.service-B1jvzsUe.js} +1 -1
  122. package/dist/assets/{editor-api-BOk57i1q.js → editor-api-BBBw0rAh.js} +1 -1
  123. package/dist/assets/{editor-layers-D5KQrZV0.js → editor-layers-wmPhuj0X.js} +1 -1
  124. package/dist/assets/{editor-shell-store-HdyIJxw4.js → editor-shell-store-LRVyeXM-.js} +1 -1
  125. package/dist/assets/{entity-object-Djm4wdCS.js → entity-object-DWKBk3rf.js} +1 -1
  126. package/dist/assets/{extend-F7x1JUVu.js → extend-Hb3YZk-l.js} +1 -1
  127. package/dist/assets/{fork-menu-DLIIk-uS.js → fork-menu-Bz8tnAZP.js} +1 -1
  128. package/dist/assets/{frame-debugger-store-aGt6VLrL.js → frame-debugger-store-XDqmRybm.js} +1 -1
  129. package/dist/assets/{game-contract-seams-7rlt1BKU.js → game-contract-seams-Dq1vGRC1.js} +1 -1
  130. package/dist/assets/{game-css-scope-transform-DvQFKPX7.js → game-css-scope-transform-CE-77RAD.js} +1 -1
  131. package/dist/assets/{game-document.service-AkPID9br.js → game-document.service-C4GqAnuP.js} +1 -1
  132. package/dist/assets/{game-eval.command-CdDG2mHX.js → game-eval.command-S1AUTAe6.js} +1 -1
  133. package/dist/assets/{game-module-access-CraKpebU.js → game-module-access-Cpd1pqcr.js} +1 -1
  134. package/dist/assets/{game-network-DKgC2niL.js → game-network-DcXic1hU.js} +3 -3
  135. package/dist/assets/{gameplay-export-CIjnOVcO.js → gameplay-export-CXYuIXwM.js} +1 -1
  136. package/dist/assets/{gameplay-replay-BfXOfg9i.js → gameplay-replay-Bn9Tff0H.js} +1 -1
  137. package/dist/assets/{gameplay.command-DhzyrDhY.js → gameplay.command-B9QmrfQx.js} +1 -1
  138. package/dist/assets/{generation-jobs-BzYqGgKC.js → generation-jobs-DbXxsaSZ.js} +1 -1
  139. package/dist/assets/{generation.service-CzvLruoQ.js → generation.service-CVz0jrH8.js} +1 -1
  140. package/dist/assets/{generations-CON0t5BL.js → generations-BuSgXNmm.js} +1 -1
  141. package/dist/assets/{generations.status-A4Wk1BGl.js → generations.status-DUr_PjwO.js} +1 -1
  142. package/dist/assets/{hierarchy-marks-BFDfKk_l.js → hierarchy-marks-BjIT-DOf.js} +1 -1
  143. package/dist/assets/{hosted-asset-materialization-CazDXedD.js → hosted-asset-materialization-rUtmDeMy.js} +1 -1
  144. package/dist/assets/{index-B49gtmr1.js → index-BB2JZnar.js} +1 -1
  145. package/dist/assets/{index-DvMvwiUa.js → index-BTzFwm1R.js} +2 -2
  146. package/dist/assets/{index-Dq43v9LZ.js → index-BYdQuKKk.js} +7 -7
  147. package/dist/assets/{index-DVWE-aEL.js → index-BsyTLFdL.js} +1 -1
  148. package/dist/assets/{index-DazSfhro.js → index-C0gUuD--.js} +1 -1
  149. package/dist/assets/{index-BYexaoQj.js → index-CwHA-Zn2.js} +1 -1
  150. package/dist/assets/{index-DCyeJ3GH.js → index-DPXH0DLI.js} +1 -1
  151. package/dist/assets/{index-DKYh_HhB.js → index-Dv6KjGDu.js} +1 -1
  152. package/dist/assets/{index-C4AAzmyx.js → index-yUo6ZJ1K.js} +1 -1
  153. package/dist/assets/{inference-diagnostics-D4pNFk3L.js → inference-diagnostics-DylK1Zco.js} +1 -1
  154. package/dist/assets/{ingest-boot-viewport-CGT3WdlA.js → ingest-boot-viewport-CWPpaeQX.js} +1 -1
  155. package/dist/assets/{ingest-siblings-Byfbaprq.js → ingest-siblings-ChSVCnmP.js} +1 -1
  156. package/dist/assets/{ingest-source-persistence-D_67jDgK.js → ingest-source-persistence-G4DRJGE8.js} +1 -1
  157. package/dist/assets/{ingest.service-BqMHjhHB.js → ingest.service-0fE22SDc.js} +1 -1
  158. package/dist/assets/{inspect-BZteyS7S.js → inspect-CazPcKcv.js} +1 -1
  159. package/dist/assets/instances.command-Cff8g0Qu.js +1 -0
  160. package/dist/assets/{json-history-resource-CxaTEwYM.js → json-history-resource-D-FoaxLT.js} +1 -1
  161. package/dist/assets/{layered-pick-yYf2eQv_.js → layered-pick-C73ZQGcv.js} +1 -1
  162. package/dist/assets/{light-DdAlBuY-.js → light-xGJK3Wlj.js} +1 -1
  163. package/dist/assets/{live-project-verbs-DSMSOJoO.js → live-project-verbs-DYPJ4HjP.js} +1 -1
  164. package/dist/assets/{machine.document-CSlU1rmZ.js → machine.document-D3px2bzJ.js} +1 -1
  165. package/dist/assets/{machines.finder-DYsgjJxU.js → machines.finder-BebmWb2J.js} +1 -1
  166. package/dist/assets/{material-DgRsjaXK.js → material-P9SjD3Ot.js} +1 -1
  167. package/dist/assets/{material-factory-CfNdF__M.js → material-factory-DZpGzP1J.js} +1 -1
  168. package/dist/assets/{mesh-BKJuhrfc.js → mesh-NhmM6AvO.js} +1 -1
  169. package/dist/assets/{model-asset-sections.service-N927Dg3n.js → model-asset-sections.service-XoDCR7K7.js} +1 -1
  170. package/dist/assets/{model-inspection-DK0Qd2ET.js → model-inspection-CRQL0kkD.js} +1 -1
  171. package/dist/assets/{model-thumbnail-Bmz5T9-I.js → model-thumbnail-BSBXqm11.js} +1 -1
  172. package/dist/assets/{models.finder-DM0hhoBq.js → models.finder-CyqMFbNG.js} +1 -1
  173. package/dist/assets/{module-mode-DM5lYCsl.js → module-mode-CrdDk1MO.js} +2 -2
  174. package/dist/assets/{mount-canvas-ingest-root-CKofhgmJ.js → mount-canvas-ingest-root-CNhapYXw.js} +2 -2
  175. package/dist/assets/{mount-dom-ingest-root-D5AIV4xu.js → mount-dom-ingest-root-fz_nUR-I.js} +2 -2
  176. package/dist/assets/{mount-ingest-root-D5AondhJ.js → mount-ingest-root-CnOI0tzn.js} +2 -2
  177. package/dist/assets/{mount-manifest-chiQDu6B.js → mount-manifest-DtOieSVW.js} +1 -1
  178. package/dist/assets/{mount-three-ingest-root-BYFK3msA.js → mount-three-ingest-root-B11KDTlC.js} +1 -1
  179. package/dist/assets/{mounted-authoring-CpmmmKqd.js → mounted-authoring-CqEcYmBB.js} +1 -1
  180. package/dist/assets/{mounted-story-viewport-source-_ULndUPD.js → mounted-story-viewport-source-ClFcc8ZE.js} +1 -1
  181. package/dist/assets/{native-debug-module-D-X0rEzE.js → native-debug-module-xmmPMHBo.js} +1 -1
  182. package/dist/assets/{navigation-CEQEFe13.js → navigation-B5MSEPQo.js} +1 -1
  183. package/dist/assets/{navmesh.menu-C_Vopd0f.js → navmesh.menu-CjCV-1Zk.js} +1 -1
  184. package/dist/assets/{navmesh.service-COafEjFc.js → navmesh.service-DJaVLPIT.js} +1 -1
  185. package/dist/assets/network-observer.service-DX1ZcyzF.js +1 -0
  186. package/dist/assets/{network.utility-DquS39cg.js → network.utility-CHVTUNSl.js} +1 -1
  187. package/dist/assets/{object3d-document-session-registry-CWt0_93b.js → object3d-document-session-registry-RFHXjepL.js} +2 -2
  188. package/dist/assets/{oid-transform-Bcdzbjyg.js → oid-transform-DOVsETju.js} +1 -1
  189. package/dist/assets/{particles-DCRLWGPb.js → particles-CcUkRyUm.js} +1 -1
  190. package/dist/assets/{pixi-authoring-adapter-dJjXKY0a.js → pixi-authoring-adapter-CDcz5ySv.js} +1 -1
  191. package/dist/assets/{pixi-live-write-target-K4LQa0_b.js → pixi-live-write-target-BjlNk1ws.js} +1 -1
  192. package/dist/assets/{play.command-BeNcehee.js → play.command-MX_nXHxk.js} +2 -2
  193. package/dist/assets/{presentation-Ap9bIhjT.js → presentation-Dy8F-23e.js} +1 -1
  194. package/dist/assets/{product-DZtwByvN.js → product-DKcPhhH3.js} +1 -1
  195. package/dist/assets/{profiler.action-DMV0OjZn.js → profiler.action-CrVcze1d.js} +1 -1
  196. package/dist/assets/{profiler.menu-DGzbxpZu.js → profiler.menu-BT8Gbk-H.js} +1 -1
  197. package/dist/assets/{profiler.utility-KzW91Yru.js → profiler.utility-BK7-JszO.js} +1 -1
  198. package/dist/assets/{project-authoring-session-AyxDTnnj.js → project-authoring-session-C7hSaUoI.js} +2 -2
  199. package/dist/assets/{properties-bone-constraints.inspector-BnZxkfbc.js → properties-bone-constraints.inspector-DojLcDWI.js} +1 -1
  200. package/dist/assets/{properties-bone.inspector-CXEXWoZD.js → properties-bone.inspector-BKtnxYej.js} +1 -1
  201. package/dist/assets/{properties-collection.inspector-CbUlkw56.js → properties-collection.inspector-CJwK055D.js} +1 -1
  202. package/dist/assets/{properties-constraints.inspector-CDJ3R5yl.js → properties-constraints.inspector-BMr_2fNW.js} +1 -1
  203. package/dist/assets/{properties-data.inspector-xjOE7mVN.js → properties-data.inspector-eP5kPx_x.js} +1 -1
  204. package/dist/assets/{properties-material.inspector-ilx6E3hA.js → properties-material.inspector-DzcTJXqu.js} +1 -1
  205. package/dist/assets/{properties-modifiers.inspector-DRLNZm5E.js → properties-modifiers.inspector-BPnJY0K9.js} +1 -1
  206. package/dist/assets/{properties-object.inspector-CTXK7Ihy.js → properties-object.inspector-CiU_g5eW.js} +1 -1
  207. package/dist/assets/{properties-output.inspector-tAtb5hhb.js → properties-output.inspector-B7-0cxFB.js} +1 -1
  208. package/dist/assets/{properties-particles.inspector-BOFxcAJj.js → properties-particles.inspector-B_dIFFES.js} +1 -1
  209. package/dist/assets/{properties-physics.inspector-CcQc4uol.js → properties-physics.inspector-BrZZssu5.js} +1 -1
  210. package/dist/assets/{properties-render.inspector-dJvGweiz.js → properties-render.inspector-Cr3ILbCE.js} +1 -1
  211. package/dist/assets/{properties-scene.inspector-ClUVVSad.js → properties-scene.inspector-CCT-Wwlq.js} +1 -1
  212. package/dist/assets/{properties-texture.inspector-DCWWAl6e.js → properties-texture.inspector-BbDSLSIf.js} +1 -1
  213. package/dist/assets/{properties-view-layer.inspector-DjKwbK3x.js → properties-view-layer.inspector-CMFsWlWn.js} +1 -1
  214. package/dist/assets/{properties-world.inspector-CRApg_f1.js → properties-world.inspector-QOI3frGi.js} +1 -1
  215. package/dist/assets/{r3f-design-session-C5FVaJJX.js → r3f-design-session-DYcgEMWW.js} +2 -2
  216. package/dist/assets/{r3f-physics-binding-D0LfM118.js → r3f-physics-binding-CmlqQXpO.js} +1 -1
  217. package/dist/assets/{r3f-source-authoring-adapter-B-WFIzH2.js → r3f-source-authoring-adapter-DlK-JsAS.js} +1 -1
  218. package/dist/assets/{react-canvas-navigation-B1clrw4s.js → react-canvas-navigation-CcPcwMkG.js} +1 -1
  219. package/dist/assets/{react-inspector.service-vlkMJA77.js → react-inspector.service-CXeQPCph.js} +1 -1
  220. package/dist/assets/{react-story-board-CvbtJuHM.js → react-story-board-JyxJfFaY.js} +1 -1
  221. package/dist/assets/{react-three-rapier.esm-B5VWa55S.js → react-three-rapier.esm-CUxniyd-.js} +1 -1
  222. package/dist/assets/{react-world-authoring-adapter-mjbEX4K5.js → react-world-authoring-adapter-D9avM44a.js} +1 -1
  223. package/dist/assets/{realm-services-HiflB4aM.js → realm-services-D8d7aUSw.js} +1 -1
  224. package/dist/assets/{reflection-probe-capture.inspector-B48oEWSh.js → reflection-probe-capture.inspector-BU0Ixoxz.js} +1 -1
  225. package/dist/assets/{registry-BhydL1k4.js → registry-BDw0X1Ht.js} +1 -1
  226. package/dist/assets/{relative-import-specifier-1tSJjBsK.js → relative-import-specifier-BGUMwtft.js} +1 -1
  227. package/dist/assets/{render-env-DnyNJ_9v.js → render-env-COdmMCld.js} +1 -1
  228. package/dist/assets/{render-features-DZ0IOHga.js → render-features-B9DvCMxj.js} +1 -1
  229. package/dist/assets/{render-settings-BbIuxirq.js → render-settings-BZQKFQ-S.js} +1 -1
  230. package/dist/assets/{resolve-three-BLAwNSsq.js → resolve-three-CBuaRQ3h.js} +3 -3
  231. package/dist/assets/{root-seam-contract-DjNXdO5a.js → root-seam-contract-CnveH2Nm.js} +1 -1
  232. package/dist/assets/{run-selection-uXaHrctz.js → run-selection-CIf2tl8R.js} +1 -1
  233. package/dist/assets/{scene-capture-BBNbVVu4.js → scene-capture-C58hCZOG.js} +1 -1
  234. package/dist/assets/{scene-document.service-Mvxm8urE.js → scene-document.service-2jk9EV45.js} +2 -2
  235. package/dist/assets/{scene-framing-DWXsQpNZ.js → scene-framing-C0vuzmLH.js} +1 -1
  236. package/dist/assets/{seeded-random-BZep_0iq.js → seeded-random-C4zhXjCn.js} +1 -1
  237. package/dist/assets/{session-CNMGJAx3.js → session-BfHWkUIf.js} +32 -1
  238. package/dist/assets/{setup-renderer-DL5Ls9GB.js → setup-renderer-B5wilQJH.js} +1 -1
  239. package/dist/assets/{source-object3d-authoring-adapter-DG9hLsbb.js → source-object3d-authoring-adapter-PbUdA5Q2.js} +1 -1
  240. package/dist/assets/{source-persistence-backend-BUmAvFJp.js → source-persistence-backend-Sj6uuBrM.js} +1 -1
  241. package/dist/assets/{stage-keyboard-UiTip2rC.js → stage-keyboard-9ZzYQNd5.js} +1 -1
  242. package/dist/assets/{stage-overlay-set-DNMIOCAu.js → stage-overlay-set-CguBU7J4.js} +1 -1
  243. package/dist/assets/{stage-presence-markers-CYD5_V81.js → stage-presence-markers-DXjy7DL7.js} +1 -1
  244. package/dist/assets/{stage-transform-tools-_6Kfz5IX.js → stage-transform-tools-DiblXG_Z.js} +1 -1
  245. package/dist/assets/{standard-viewport-dressing-iuHji7nk.js → standard-viewport-dressing-DpCqZowy.js} +1 -1
  246. package/dist/assets/{state-watch.action-nRSzCZjf.js → state-watch.action-Ct5Wy0zu.js} +1 -1
  247. package/dist/assets/{state-watch.menu-CG6K4mlx.js → state-watch.menu-Bf6HJvqy.js} +1 -1
  248. package/dist/assets/{state-watch.utility-D8ANrSxe.js → state-watch.utility-efli4QQe.js} +1 -1
  249. package/dist/assets/{story-capture-DROG9sui.js → story-capture-DAzlViX7.js} +1 -1
  250. package/dist/assets/{story-documents-CAJYUoPB.js → story-documents-BYIxqRcJ.js} +1 -1
  251. package/dist/assets/{story-documents.service-bDNITWJo.js → story-documents.service-B7jaECxU.js} +1 -1
  252. package/dist/assets/{story-documents.service-B0E2g71o.js → story-documents.service-BAoQMTa4.js} +1 -1
  253. package/dist/assets/{story-media-presence-BYPuOfSN.js → story-media-presence-B0ccG2oZ.js} +1 -1
  254. package/dist/assets/{story-pixi-preview-CPFlEAWM.js → story-pixi-preview-qNGRD1RG.js} +1 -1
  255. package/dist/assets/{story-presentation-CpFYqE9n.js → story-presentation-B85RFwXM.js} +1 -1
  256. package/dist/assets/{story-three-preview-BxBhUb3U.js → story-three-preview-C-kpIz3s.js} +2 -2
  257. package/dist/assets/{studio-environment-2i6Hxopi.js → studio-environment-BXrrTMN4.js} +1 -1
  258. package/dist/assets/{surface-state-97hynKeK.js → surface-state-D9U0kgz0.js} +1 -1
  259. package/dist/assets/{syntactic-prop-specs-_zcLEJhw.js → syntactic-prop-specs-Ca4XG7zz.js} +1 -1
  260. package/dist/assets/{team-playtest.service-Djd_UbdR.js → team-playtest.service-BVasG50-.js} +1 -1
  261. package/dist/assets/{three-Bp_CAhru.js → three-D4bun8tv.js} +1 -1
  262. package/dist/assets/{three-authoring-adapter-DvTnYhC5.js → three-authoring-adapter-VpfMe64G.js} +1 -1
  263. package/dist/assets/three-authoring.service-Dgj0R5Mm.js +2 -0
  264. package/dist/assets/{three-ingest-runtime-CJSmvmlg.js → three-ingest-runtime-DI_J7mdv.js} +1 -1
  265. package/dist/assets/{three-integration-deAYWHkv.js → three-integration-BzTWd5jX.js} +2 -2
  266. package/dist/assets/three-integration.service-CHDRTJ4I.js +1 -0
  267. package/dist/assets/{three-projection-core-B9lnUe6D.js → three-projection-core-DTAhpWX4.js} +1 -1
  268. package/dist/assets/{three-state-BEf5w8yJ.js → three-state-ctKrzvps.js} +1 -1
  269. package/dist/assets/{three-story-capture.service-BU-RIqEa.js → three-story-capture.service-9OfuwiWo.js} +2 -2
  270. package/dist/assets/{three-story-model-DDN1l0fJ.js → three-story-model-UEeiGz1i.js} +1 -1
  271. package/dist/assets/{three-viewport-presentation-DzMpU_E6.js → three-viewport-presentation-Zf87KDhY.js} +1 -1
  272. package/dist/assets/{transform-mode-request-BkR5m16Z.js → transform-mode-request-D9k3BUHW.js} +1 -1
  273. package/dist/assets/{transport-strip-D09VuqIL.js → transport-strip-CwOW82Og.js} +1 -1
  274. package/dist/assets/transport.header-B4EdCaSb.js +1 -0
  275. package/dist/assets/{tuples-U35Zvubu.js → tuples-B8Z8h1FP.js} +1 -1
  276. package/dist/assets/{ui-board-document-C6OKItpk.js → ui-board-document-B7_C_NlR.js} +2 -2
  277. package/dist/assets/{user-data-tCwby2d8.js → user-data-CJW19F-2.js} +1 -1
  278. package/dist/assets/{utility-view-state-U2YWv3xH.js → utility-view-state-D_vE7sm3.js} +1 -1
  279. package/dist/assets/{viewport-door-CPXPa0LO.js → viewport-door-BW0xEXr5.js} +1 -1
  280. package/dist/assets/{viewport-root-presentation-UhZX1kOz.js → viewport-root-presentation-Cy219iw-.js} +1 -1
  281. package/dist/assets/{viewport-surface-status-CQvh0JrT.js → viewport-surface-status-CO8m-4fj.js} +1 -1
  282. package/dist/assets/{webworkerAll-DdZ3wt2y.js → webworkerAll-DXnaOz71.js} +1 -1
  283. package/dist/assets/{worker-Csaq1NQe.js → worker-CIByxsbl.js} +1 -1
  284. package/dist/assets/{workspace-arrangement-Deo0XMRO.js → workspace-arrangement-DwFkSdlq.js} +1 -1
  285. package/dist/assets/{world-documents-BOrGAkxV.js → world-documents-DXzZtfR9.js} +1 -1
  286. package/dist/assets/{world-root-stage-binding-CysyV-uy.js → world-root-stage-binding-C7HH_DuY.js} +1 -1
  287. package/dist/assets/{xstate-animation-binding-uqKuogTz.js → xstate-animation-binding-DMnWdBYa.js} +1 -1
  288. package/dist/assets/{xstate-animation-meta-BGRItRtn.js → xstate-animation-meta-DzRq8jno.js} +1 -1
  289. package/dist-node/cli.js +16 -16
  290. package/package.json +16 -16
  291. package/dist/assets/InspectorObjectPreview-DReh6Wj6.js +0 -1
  292. package/dist/assets/Object3DDocumentViewport-Bn7uHN-F.js +0 -2
  293. package/dist/assets/autoplay.service-C0Gx-tw4.js +0 -1
  294. package/dist/assets/instances.command-B75ziBHv.js +0 -1
  295. package/dist/assets/network-observer.service-DXsn74nl.js +0 -1
  296. package/dist/assets/three-authoring.service-mF26TX9C.js +0 -2
  297. package/dist/assets/three-integration.service-CBSfLW6O.js +0 -1
  298. package/dist/assets/transport.header-CmS98a4t.js +0 -1
@@ -1 +1 @@
1
- import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as w}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{e4 as j,a6 as S,f0 as st,aN as et,e6 as M,e5 as L,bH as K,a7 as z,iZ as X,kD as O,eJ as at,bP as it,hZ as W,dV as lt,aS as ct}from"./index-Dq43v9LZ.js";import{C as N,r as ot}from"./ColorPicker-C79B61hb.js";const dt={full:{anchor:{left:0,top:0,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},top:{anchor:{left:0,top:0,right:1,bottom:0},offset:{left:0,top:0,right:0,bottom:0}},bottom:{anchor:{left:0,top:1,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},left:{anchor:{left:0,top:0,right:0,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},right:{anchor:{left:1,top:0,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},center:{anchor:{left:.5,top:.5,right:.5,bottom:.5},offset:{left:-60,top:-20,right:60,bottom:20}},"top-left":{anchor:{left:0,top:0,right:0,bottom:0},offset:{left:0,top:0,right:120,bottom:40}},"top-right":{anchor:{left:1,top:0,right:1,bottom:0},offset:{left:-120,top:0,right:0,bottom:40}}},V=["flex-start","center","flex-end"],Y=["flex-start","center","flex-end"];function pt({row:t,col:e,justify:s,align:r,isActive:c,disabled:a,onSelect:h}){return o.jsx("div",{"data-testid":`alignment-grid-${t}-${e}`,onClick:()=>{a||h(s,r)},style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:a?"not-allowed":"pointer",borderRadius:j.radiusSmall,background:c?j.accent:"transparent"},children:o.jsx("div",{style:{width:c?6:4,height:c?6:4,borderRadius:"50%",background:c?j.onAccent:j.textMuted}})})}function Lt({value:t,onChange:e,disabled:s}){const r=V.indexOf(t.justify),c=Y.indexOf(t.align);return o.jsx("div",{"data-testid":"alignment-grid",style:{display:"inline-grid",gridTemplateColumns:"repeat(3, 16px)",gridTemplateRows:"repeat(3, 16px)",gap:1,background:j.inputBg,borderRadius:j.radiusMedium,padding:4,opacity:s?.35:1},children:Y.map((a,h)=>V.map((l,m)=>o.jsx(pt,{row:h,col:m,justify:l,align:a,isActive:h===c&&m===r,disabled:s,onSelect:(f,g)=>e({justify:f,align:g})},`${h}-${m}`)))})}function It({onSelect:t,disabled:e}){return o.jsx("div",{"data-testid":"anchor-presets",style:{display:"flex",flexWrap:"wrap",gap:4},children:Object.entries(dt).map(([s,r])=>o.jsx(S,{type:"button",variant:"secondary",size:"compact","data-testid":`anchor-preset-${s}`,disabled:e,onClick:()=>t(s,r),children:s},s))})}function R({label:t,value:e,unit:s="",step:r=1,min:c,max:a,precision:h,disabled:l,onChange:m,onChangeEnd:f,testId:g,style:p}){const x=w.useRef(null),u=h??(r<1?2:r>=100?-2:0),n=w.useMemo(()=>y=>{if(u<0){const C=10**-u;return Math.round(y/C)*C}const k=10**u;return Math.round(y*k)/k},[u]),i=y=>{let k=y;return c!==void 0&&(k=Math.max(c,k)),a!==void 0&&(k=Math.min(a,k)),n(k)},d=y=>{if(l)return;y.preventDefault(),x.current={startX:y.clientX,startValue:e,last:e},document.body.style.cursor="ew-resize";const k=I=>{if(!x.current)return;I.preventDefault();const A=I.clientX-x.current.startX,rt=I.shiftKey?10:I.altKey?.1:1,U=i(x.current.startValue+A*r*rt);x.current.last=U,L({onChange:m},U)},C=()=>{document.body.style.cursor="",window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",H),window.removeEventListener("keydown",G)},H=()=>{if(x.current){const I=x.current.last;x.current=null,M({onChange:m,onChangeEnd:f},I)}C()},G=I=>{if(I.key==="Escape"&&x.current){const A=i(x.current.startValue);x.current=null,L({onChange:m},A),M({onChange:m,onChangeEnd:f},A),C()}};window.addEventListener("mousemove",k),window.addEventListener("mouseup",H),window.addEventListener("keydown",G)},[v,$]=w.useState(null),E=w.useRef(!1),b=y=>{const k=Number.parseFloat(y);if(Number.isNaN(k))return;const C=i(k);C!==e&&M({onChange:m,onChangeEnd:f},C)};return o.jsxs("div",{style:{...st,...p},children:[o.jsx("span",{className:"volter-scrub-label","data-testid":g?`${g}-label`:void 0,onMouseDown:d,"data-disabled":l||void 0,style:{fontSize:11,...l?{color:j.dynamic}:{},flexShrink:0,cursor:l?"not-allowed":"ew-resize",userSelect:"none",fontWeight:500},children:t}),o.jsx(et,{"data-testid":g,type:"text",value:v??`${e}${s}`,readOnly:l,"data-dynamic":l||void 0,onFocus:y=>{$(`${e}${s}`),y.target.select()},onChange:y=>$(y.target.value),onBlur:y=>{E.current||b(y.target.value),E.current=!1,$(null)},onKeyDown:y=>{y.key==="Enter"&&y.target.blur(),y.key==="Escape"&&(E.current=!0,y.target.blur())},style:{flex:1,width:0}})]})}const q=["none","solid","dashed","dotted","double"];function ut(t){return{top:t,right:t,bottom:t,left:t}}function ht(t){const e=r=>`${r.width}|${r.style}|${r.color}`,s=e(t.top);return e(t.right)===s&&e(t.bottom)===s&&e(t.left)===s}function Tt({value:t,onChange:e,onChangeEnd:s,disabled:r,recentColors:c,onAddRecentColor:a}){const[h,l]=w.useState(!ht(t)),m=(p,x)=>{const u={...t.top,...p},n=ut(u);x?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)},f=(p,x,u)=>{const n={...t,[p]:{...t[p],...x}};u?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)};if(!h)return o.jsxs("div",{"data-testid":"border-editor-uniform",style:{display:"flex",gap:6,alignItems:"center"},children:[o.jsx(N,{testId:"border-color",value:t.top.color,disabled:r,onChange:p=>m({color:p},!1),onChangeEnd:p=>m({color:p},!0),recentColors:c,onAddRecentColor:a}),o.jsx(R,{testId:"border-width",label:"W",value:t.top.width,min:0,disabled:r,onChange:p=>m({width:p},!1),onChangeEnd:p=>m({width:p},!0),style:{width:64}}),o.jsx(K,{className:"volter-select","data-testid":"border-style",value:t.top.style,disabled:r,"data-dynamic":r||void 0,onChange:p=>m({style:p.target.value},!0),style:{flex:1},children:q.map(p=>o.jsx("option",{value:p,children:p},p))}),o.jsx(S,{type:"button","data-testid":"border-expand",title:"Per-side borders","aria-label":"Edit borders per side",onClick:()=>l(!0),variant:"ghost",size:"compact",children:o.jsx(z,{icon:X})})]});const g=[{key:"top",label:"T"},{key:"right",label:"R"},{key:"bottom",label:"B"},{key:"left",label:"L"}];return o.jsxs("div",{"data-testid":"border-editor-expanded",style:{display:"flex",flexDirection:"column",gap:4},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted},children:"Per-side"}),o.jsx("div",{style:{flex:1}}),o.jsx(S,{type:"button",variant:"primary",size:"compact","data-testid":"border-collapse",title:"Uniform border","aria-label":"Use one border for all sides",onClick:()=>l(!1),children:o.jsx(z,{icon:X})})]}),g.map(({key:p,label:x})=>o.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted,width:10,textAlign:"center"},children:x}),o.jsx(N,{testId:`border-${p}-color`,value:t[p].color,disabled:r,onChange:u=>f(p,{color:u},!1),onChangeEnd:u=>f(p,{color:u},!0),recentColors:c,onAddRecentColor:a}),o.jsx(R,{testId:`border-${p}-width`,label:"",value:t[p].width,min:0,disabled:r,onChange:u=>f(p,{width:u},!1),onChangeEnd:u=>f(p,{width:u},!0),style:{width:48}}),o.jsx(K,{className:"volter-select","data-testid":`border-${p}-style`,value:t[p].style,disabled:r,"data-density":"compact","data-dynamic":r||void 0,onChange:u=>f(p,{style:u.target.value},!0),style:{flex:1},children:q.map(u=>o.jsx("option",{value:u,children:u},u))})]},p))]})}function ft(t){return{topLeft:t,topRight:t,bottomLeft:t,bottomRight:t}}function mt(t){return t.topLeft===t.topRight&&t.topRight===t.bottomLeft&&t.bottomLeft===t.bottomRight}function zt({value:t,onChange:e,onChangeEnd:s,disabled:r}){const[c,a]=w.useState(!mt(t)),h=(f,g)=>{const p=ft(f);g?M({onChange:e,onChangeEnd:s},p):L({onChange:e},p)},l=(f,g,p)=>{const x={...t,[f]:g};p?M({onChange:e,onChangeEnd:s},x):L({onChange:e},x)};if(!c)return o.jsxs("div",{"data-testid":"border-radius-editor-uniform",style:{display:"flex",gap:4,alignItems:"center"},children:[o.jsx(R,{testId:"border-radius",label:o.jsx(z,{icon:O,label:"Radius"}),value:t.topLeft,min:0,disabled:r,onChange:f=>h(f,!1),onChangeEnd:f=>h(f,!0),style:{flex:1}}),o.jsx(S,{type:"button","data-testid":"border-radius-expand",title:"Independent corners","aria-label":"Edit radius per corner",onClick:()=>a(!0),variant:"ghost",size:"compact",children:o.jsx(z,{icon:O})})]});const m=[{key:"topLeft",label:"TL"},{key:"topRight",label:"TR"},{key:"bottomLeft",label:"BL"},{key:"bottomRight",label:"BR"}];return o.jsxs("div",{"data-testid":"border-radius-editor-expanded",children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:4},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted},children:"Corners"}),o.jsx("div",{style:{flex:1}}),o.jsx(S,{type:"button",variant:"primary",size:"compact","data-testid":"border-radius-collapse",title:"Uniform radius","aria-label":"Use one radius for all corners",onClick:()=>a(!1),children:o.jsx(z,{icon:O})})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:3},children:m.map(({key:f,label:g})=>o.jsx(R,{testId:`border-radius-${f}`,label:g,value:t[f],min:0,disabled:r,onChange:p=>l(f,p,!1),onChangeEnd:p=>l(f,p,!0)},f))})]})}const P=[{name:"blur",unit:"px",min:0,max:50,step:.5,default:0},{name:"brightness",unit:"%",min:0,max:300,step:1,default:100},{name:"contrast",unit:"%",min:0,max:300,step:1,default:100},{name:"saturate",unit:"%",min:0,max:300,step:1,default:100},{name:"grayscale",unit:"%",min:0,max:100,step:1,default:0},{name:"hue-rotate",unit:"deg",min:0,max:360,step:1,default:0}];function Bt(t){return!t||t==="none"?P.map(e=>({name:e.name,value:e.default})):P.map(e=>{const s=new RegExp(`${e.name}\\(([\\d.]+)${e.unit}?\\)`),r=t.match(s);return{name:e.name,value:r?.[1]?Number.parseFloat(r[1]):e.default}})}function Nt(t){const e=[];for(let s=0;s<t.length;s++){const r=t[s],c=P[s];r&&c&&r.value!==c.default&&e.push(`${r.name}(${r.value}${c.unit})`)}return e.length?e.join(" "):"none"}function At({value:t,onChange:e,onChangeEnd:s,disabled:r,label:c="Filter",testId:a="filter-editor"}){const h=(l,m,f)=>{const g=t.map((p,x)=>x===l?{...p,value:m}:p);f?M({onChange:e,onChangeEnd:s},g):L({onChange:e},g)};return o.jsxs("div",{"data-testid":a,children:[o.jsx("div",{style:{fontSize:9,color:j.textMuted,marginBottom:4},children:c}),t.map((l,m)=>{const f=P[m];return f?o.jsx("div",{"data-testid":`filter-row-${l.name}`,style:{marginBottom:3},children:o.jsx(R,{testId:`filter-${l.name}`,label:l.name.replace("hue-rotate","hue"),value:l.value,unit:f.unit,min:f.min,max:f.max,step:f.step,disabled:r,onChange:g=>h(m,g,!1),onChangeEnd:g=>h(m,g,!0)})},l.name):null})]})}const T=28,J=10;function Dt({value:t,onChange:e,disabled:s,fonts:r,testId:c="font-picker"}){const[a,h]=w.useState(!1),[l,m]=w.useState(""),[f,g]=w.useState(0),p=w.useRef(null),x=w.useRef(null);w.useEffect(()=>{a&&x.current?.focus()},[a]),w.useEffect(()=>{if(!a)return;const b=y=>{p.current&&!p.current.contains(y.target)&&h(!1)};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[a]),w.useEffect(()=>{if(!a)return;const b=y=>{y.key==="Escape"&&h(!1)};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[a]);const u=w.useMemo(()=>{if(!l)return r;const b=l.toLowerCase();return r.filter(y=>y.toLowerCase().includes(b))},[r,l]),n=u.length*T,i=Math.floor(f/T),d=Math.min(u.length,i+J+2),v=u.slice(i,d),$=b=>{e(b),h(!1),m("")},E=t.replace(/^["']|["']$/g,"");return o.jsxs("div",{ref:p,"data-testid":c,style:{position:"relative",flex:1},children:[o.jsxs(S,{type:"button",variant:"secondary",className:"volter-field-trigger","aria-haspopup":"listbox","aria-expanded":a,disabled:s,"data-testid":"font-picker-input",onClick:()=>{s||h(b=>!b)},children:[o.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:E||"—"}),o.jsx(at,{direction:"down",tone:"muted",style:{marginLeft:4}})]}),a&&o.jsxs(it,{"data-testid":"font-picker-dropdown",style:{position:"absolute",top:"100%",left:0,right:0,zIndex:"var(--volter-z-dropdown)",marginTop:2},children:[o.jsx("div",{style:{padding:4},children:o.jsx(et,{ref:x,type:"text","data-testid":"font-picker-search",value:l,onChange:b=>{m(b.target.value),g(0)},placeholder:"Search fonts…","data-density":"compact",style:{width:"100%",boxSizing:"border-box"}})}),o.jsx("div",{"data-testid":"font-picker-list",onScroll:b=>g(b.target.scrollTop),style:{maxHeight:J*T,overflowY:"auto"},children:o.jsx("div",{style:{height:n,position:"relative"},children:v.map((b,y)=>{const k=i+y,C=b.toLowerCase()===E.toLowerCase();return o.jsx("div",{"data-testid":`font-picker-option-${b}`,onClick:()=>$(b),style:{position:"absolute",top:k*T,left:0,right:0,height:T,display:"flex",alignItems:"center",padding:"0 8px",cursor:"pointer",fontSize:12,background:C?j.accent:"transparent",color:C?j.onAccent:j.text},children:o.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})},b)})})}),u.length===0&&o.jsx("div",{style:{padding:"8px 12px",color:j.textMuted,fontSize:10,textAlign:"center"},children:"No matching fonts"})]})]})}function gt(t){const e=t.stops.map(s=>`${s.color} ${Math.round(s.position*100)}%`).join(", ");return t.type==="radial"?`radial-gradient(circle, ${e})`:`linear-gradient(${t.angle}deg, ${e})`}function xt(t){const e=t.match(/^linear-gradient\((.+)\)$/);if(e?.[1]!==void 0)return{type:"linear",inner:e[1]};const s=t.match(/^radial-gradient\((.+)\)$/);return s?.[1]!==void 0?{type:"radial",inner:s[1]}:null}function yt(t){const e=t.match(/^(\d+)deg\s*,\s*/);if(e)return{angle:Number.parseInt(e[1]??"180",10),colorPart:t.slice(e[0].length)};if(t.startsWith("to ")){const s=t.match(/^to\s+\w+\s*,\s*/);if(s)return{angle:180,colorPart:t.slice(s[0].length)}}return{angle:180,colorPart:t}}function bt(t){const e=t.split(/,\s*(?![^(]*\))/).map(s=>{const r=s.trim(),c=r.match(/\s+(\d+)%$/),a=c?Number.parseInt(c[1]??"0",10)/100:-1;return{color:c?r.slice(0,-c[0].length).trim():r,position:a}});for(let s=0;s<e.length;s++){const r=e[s];r&&r.position<0&&(r.position=e.length>1?s/(e.length-1):0)}return e}function Ft(t){if(!t||t==="none")return null;const e=xt(t);if(!e)return null;const{angle:s,colorPart:r}=e.type==="linear"?yt(e.inner):{angle:180,colorPart:e.inner},c=bt(r);return c.length<2?null:{type:e.type,angle:s,stops:c}}function _({stops:t,selected:e,onSelect:s,onMove:r,disabled:c,testIdPrefix:a}){return o.jsx("div",{style:{position:"relative",height:12,marginTop:2},children:t.map((h,l)=>o.jsx("div",{"data-testid":`${a}-${l}`,onClick:()=>s(l),onMouseDown:m=>{if(c)return;m.preventDefault(),s(l);const g=m.target.parentElement?.getBoundingClientRect(),p=n=>g?.width?Math.max(0,Math.min(1,(n-g.left)/g.width)):h.position,x=n=>r(l,p(n.clientX),!1),u=n=>{r(l,p(n.clientX),!0),window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",u)};window.addEventListener("mousemove",x),window.addEventListener("mouseup",u)},style:{position:"absolute",left:`${h.position*100}%`,top:0,width:10,height:10,borderRadius:"50%",background:h.css,border:`2px solid ${l===e?j.accent:"#fff"}`,transform:"translateX(-50%)",cursor:c?"not-allowed":"pointer"}},l))})}function Pt({value:t,onChange:e,onChangeEnd:s,disabled:r,recentColors:c,onAddRecentColor:a,testId:h="gradient-editor"}){const[l,m]=w.useState(0),f=(i,d)=>{d?M({onChange:e,onChangeEnd:s},i):L({onChange:e},i)},g=(i,d,v)=>{const $=t.stops.map((E,b)=>b===i?{...E,...d}:E);f({...t,stops:$},v)},p=()=>{const i=t.stops[t.stops.length-1]?.position??1,d=t.stops[0]?.position??0,v=(i+d)/2,$=[...t.stops,{color:"#888888",position:v}].sort((E,b)=>E.position-b.position);m($.length-1),f({...t,stops:$},!0)},x=i=>{if(t.stops.length<=2)return;const d=t.stops.filter((v,$)=>$!==i);m(Math.min(l,d.length-1)),f({...t,stops:d},!0)},u=t.stops[l]?.color??"#000000",n=u.startsWith("#")?u:ot(u);return o.jsxs("div",{"data-testid":h,children:[o.jsxs("div",{style:{position:"relative",marginBottom:8},children:[o.jsx("div",{"data-testid":"gradient-preview",style:{height:20,borderRadius:j.radiusSmall,border:`1px solid ${j.border}`,background:gt(t)}}),o.jsx(_,{stops:t.stops.map(i=>({position:i.position,css:i.color})),selected:l,onSelect:m,onMove:(i,d,v)=>g(i,{position:d},v),disabled:r,testIdPrefix:"gradient-stop"})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[o.jsx(N,{testId:"gradient-selected-color",value:n,disabled:r,onChange:i=>g(l,{color:i},!1),onChangeEnd:i=>g(l,{color:i},!0),recentColors:c,onAddRecentColor:a}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Stop ",l+1]}),t.stops.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove gradient stop","data-testid":"gradient-remove-stop",onClick:()=>x(l),children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":"gradient-add-stop",onClick:p,children:"+ stop"})]}),o.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",gap:1,flex:1},children:[o.jsx(W,{testId:"gradient-type-linear",label:"Linear",active:t.type==="linear",disabled:r,onClick:()=>f({...t,type:"linear"},!0)}),o.jsx(W,{testId:"gradient-type-radial",label:"Radial",active:t.type==="radial",disabled:r,onClick:()=>f({...t,type:"radial"},!0)})]}),t.type==="linear"&&o.jsx(R,{testId:"gradient-angle",label:"°",value:t.angle,unit:"deg",disabled:r,onChange:i=>f({...t,angle:i},!1),onChangeEnd:i=>f({...t,angle:i},!0),style:{width:70}})]})]})}function Q(t){const e=s=>Math.round(Math.max(0,Math.min(1,s))*255).toString(16).padStart(2,"0");return`#${e(t.r)}${e(t.g)}${e(t.b)}`}function Z(t){return{r:Number.parseInt(t.slice(1,3),16)/255,g:Number.parseInt(t.slice(3,5),16)/255,b:Number.parseInt(t.slice(5,7),16)/255}}function D(t,e,s){if(t.length===0)return;if(e<=t[0].pos)return t[0].value;const r=t[t.length-1];if(e>=r.pos)return r.value;for(let c=0;c+1<t.length;c++){const a=t[c],h=t[c+1];if(e>=a.pos&&e<=h.pos){const l=h.pos>a.pos?(e-a.pos)/(h.pos-a.pos):0;return s(a.value,h.value,l)}}return r.value}const B=(t,e,s)=>t+(e-t)*s,tt=(t,e,s)=>({r:B(t.r,e.r,s),g:B(t.g,e.g,s),b:B(t.b,e.b,s)});function F(t,e,s){const r={...t[e],pos:s},c=[...t.filter((a,h)=>h!==e),r].sort((a,h)=>a.pos-h.pos);return{keys:c,index:c.indexOf(r)}}function Ot({value:t,onChange:e,onChangeEnd:s,disabled:r,testId:c="quarks-gradient"}){const[a,h]=w.useState({track:"color",i:0}),l=(n,i)=>{i?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)},m=n=>({...t,color:{...t.color,keys:n}}),f=n=>({...t,alpha:{...t.alpha,keys:n}}),p=[...new Set([...t.color.keys.map(n=>n.pos),...t.alpha.keys.map(n=>n.pos)])].sort((n,i)=>n-i).map(n=>{const i=D(t.color.keys,n,tt)??{r:1,g:1,b:1},d=D(t.alpha.keys,n,B)??1;return`rgba(${Math.round(i.r*255)},${Math.round(i.g*255)},${Math.round(i.b*255)},${Math.round(d*1e3)/1e3}) ${Math.round(n*100)}%`}).join(", "),x=t.color.keys[a.track==="color"?a.i:0],u=t.alpha.keys[a.track==="alpha"?a.i:0];return o.jsxs("div",{"data-testid":c,children:[o.jsx(_,{stops:t.alpha.keys.map(n=>{const i=Math.round(Math.max(0,Math.min(1,n.value))*255);return{position:n.pos,css:`rgb(${i},${i},${i})`}}),selected:a.track==="alpha"?a.i:-1,onSelect:n=>h({track:"alpha",i:n}),onMove:(n,i,d)=>{const{keys:v,index:$}=F(t.alpha.keys,n,i);h({track:"alpha",i:$}),l(f(v),d)},disabled:r,testIdPrefix:`${c}-alpha-stop`}),o.jsx("div",{"data-testid":`${c}-preview`,style:{height:20,borderRadius:j.radiusSmall,border:`1px solid ${j.border}`,backgroundImage:`linear-gradient(90deg, ${p}), repeating-linear-gradient(45deg, #777 0 5px, #aaa 5px 10px)`}}),o.jsx(_,{stops:t.color.keys.map(n=>({position:n.pos,css:Q(n.value)})),selected:a.track==="color"?a.i:-1,onSelect:n=>h({track:"color",i:n}),onMove:(n,i,d)=>{const{keys:v,index:$}=F(t.color.keys,n,i);h({track:"color",i:$}),l(m(v),d)},disabled:r,testIdPrefix:`${c}-color-stop`}),a.track==="color"&&x&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4},children:[o.jsx(N,{testId:`${c}-color-swatch`,value:Q(x.value),disabled:r,onChange:n=>l(m(t.color.keys.map((i,d)=>d===a.i?{...i,value:Z(n)}:i)),!1),onChangeEnd:n=>l(m(t.color.keys.map((i,d)=>d===a.i?{...i,value:Z(n)}:i)),!0)}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Color ",a.i+1,"/",t.color.keys.length]}),t.color.keys.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove color stop","data-testid":`${c}-remove-color-stop`,onClick:()=>{const n=t.color.keys.filter((i,d)=>d!==a.i);h({track:"color",i:Math.min(a.i,n.length-1)}),l(m(n),!0)},children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-add-color-stop`,onClick:()=>{const i=D(t.color.keys,.5,tt)??{r:1,g:1,b:1},{keys:d,index:v}=F([...t.color.keys,{value:i,pos:.5}],t.color.keys.length,.5);h({track:"color",i:v}),l(m(d),!0)},children:"+ stop"})]}),a.track==="alpha"&&u&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4},children:[o.jsx(lt,{label:"a",step:.05,testId:`${c}-alpha-value`,value:Math.round(u.value*1e3)/1e3,onChange:n=>l(f(t.alpha.keys.map((i,d)=>d===a.i?{...i,value:Math.max(0,Math.min(1,n))}:i)),!1),onChangeEnd:n=>l(f(t.alpha.keys.map((i,d)=>d===a.i?{...i,value:Math.max(0,Math.min(1,n))}:i)),!0)}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Alpha ",a.i+1,"/",t.alpha.keys.length]}),t.alpha.keys.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove alpha stop","data-testid":`${c}-remove-alpha-stop`,onClick:()=>{const n=t.alpha.keys.filter((i,d)=>d!==a.i);h({track:"alpha",i:Math.min(a.i,n.length-1)}),l(f(n),!0)},children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-add-alpha-stop`,onClick:()=>{const i=D(t.alpha.keys,.5,B)??1,{keys:d,index:v}=F([...t.alpha.keys,{value:i,pos:.5}],t.alpha.keys.length,.5);h({track:"alpha",i:v}),l(f(d),!0)},children:"+ stop"})]})]})}const jt={x:0,y:4,blur:8,spread:0,color:"rgba(0,0,0,0.25)",inset:!1,enabled:!0},vt={x:0,y:2,blur:4,spread:0,color:"rgba(0,0,0,0.3)",inset:!1,enabled:!0};function wt(t,e){return(e?[t.inset?"inset":"",`${t.x}px`,`${t.y}px`,`${t.blur}px`,`${t.spread}px`,t.color]:[`${t.x}px`,`${t.y}px`,`${t.blur}px`,t.color]).filter(Boolean).join(" ")}function _t(t,e=!0){const s=t.filter(r=>r.enabled);return s.length===0?"none":s.map(r=>wt(r,e)).join(", ")}function $t(t){const e=t.match(/(rgba?\([^)]+\))/);if(e?.[1])return{color:e[1],nums:t.replace(e[1],"").trim()};const s=t.match(/(#[0-9a-fA-F]{3,8})/);return s?.[1]?{color:s[1],nums:t.replace(s[1],"").trim()}:{color:"#000000",nums:t}}function kt(t,e){if(!t||t==="none")return null;const s=t.trim(),r=e&&s.startsWith("inset"),c=r?s.slice(5).trim():s,{color:a,nums:h}=$t(c),l=h.split(/\s+/).map(m=>Number.parseFloat(m)).filter(m=>!Number.isNaN(m));return e?{inset:r,x:l[0]??0,y:l[1]??0,blur:l[2]??0,spread:l[3]??0,color:a}:l.length<2?null:{inset:!1,x:l[0]??0,y:l[1]??0,blur:l[2]??0,spread:0,color:a}}function Ht(t,e=!0){if(!t||t==="none")return[];const s=t.split(/,\s*(?![^(]*\))/),r=[];for(const c of s){const a=kt(c.trim(),e);a&&r.push({...a,enabled:!0})}return r}function nt({value:t,onChange:e,onChangeEnd:s,disabled:r,withSpreadInset:c=!0,label:a="Shadow",testId:h="shadow-editor",recentColors:l,onAddRecentColor:m}){const f=(u,n)=>{n?M({onChange:e,onChangeEnd:s},u):L({onChange:e},u)},g=(u,n,i=!1)=>{f(t.map((d,v)=>v===u?{...d,...n}:d),i)},p=u=>{f(t.filter((n,i)=>i!==u),!0)},x=()=>{f([...t,{...c?jt:vt}],!0)};return o.jsxs("div",{"data-testid":h,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:t.length>0?4:0},children:[o.jsx("span",{style:{fontSize:9,color:j.textMuted},children:a}),o.jsx("div",{style:{flex:1}}),!r&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${h}-add`,onClick:x,children:"+"})]}),t.map((u,n)=>{const i=u.color.startsWith("#")?u.color:ot(u.color);return o.jsxs("div",{"data-testid":`${h}-row-${n}`,style:{marginBottom:6,padding:"4px 0",borderBottom:`1px solid ${j.border}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:4},children:[o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-pressed":u.enabled,"data-testid":`${h}-toggle-${n}`,onClick:()=>{r||g(n,{enabled:!u.enabled},!0)},children:u.enabled?"●":"○"}),o.jsx(N,{testId:`${h}-color-${n}`,value:i,disabled:r,onChange:d=>g(n,{color:d}),onChangeEnd:d=>g(n,{color:d},!0),recentColors:l,onAddRecentColor:m}),c&&o.jsxs("label",{style:{display:"flex",alignItems:"center",gap:2,fontSize:8,color:j.textMuted,cursor:"pointer"},children:[o.jsx(ct,{className:"volter-checkbox","data-testid":`${h}-inset-${n}`,checked:u.inset,disabled:r,onChange:d=>g(n,{inset:d.target.checked},!0)}),"in"]}),o.jsx("div",{style:{flex:1}}),!r&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":`Remove ${a.toLowerCase()} ${n+1}`,"data-testid":`${h}-remove-${n}`,onClick:()=>p(n),children:"×"})]}),u.enabled&&o.jsxs("div",{style:{display:"flex",gap:4},children:[o.jsx(R,{label:"X",value:u.x,disabled:r,onChange:d=>g(n,{x:d}),onChangeEnd:d=>g(n,{x:d},!0),style:{flex:1}}),o.jsx(R,{label:"Y",value:u.y,disabled:r,onChange:d=>g(n,{y:d}),onChangeEnd:d=>g(n,{y:d},!0),style:{flex:1}}),o.jsx(R,{label:"B",value:u.blur,min:0,disabled:r,onChange:d=>g(n,{blur:Math.max(0,d)}),onChangeEnd:d=>g(n,{blur:Math.max(0,d)},!0),style:{flex:1}}),c&&o.jsx(R,{label:"S",value:u.spread,disabled:r,onChange:d=>g(n,{spread:d}),onChangeEnd:d=>g(n,{spread:d},!0),style:{flex:1}})]})]},n)})]})}function Gt(t){return o.jsx(nt,{...t,withSpreadInset:!0,testId:"box-shadow-editor",label:t.label??"Shadow"})}function Ut(t){return o.jsx(nt,{...t,withSpreadInset:!1,testId:"text-shadow-editor",label:t.label??"Text Shadow"})}export{Lt as A,Tt as B,jt as D,At as F,Pt as G,Ot as Q,R as S,Ut as T,zt as a,Bt as b,gt as c,Nt as d,Ht as e,Gt as f,_t as g,Dt as h,ht as i,mt as j,It as k,vt as l,_ as m,nt as n,ft as o,Ft as p,ut as u};
1
+ import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as w}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{e4 as j,a6 as S,f0 as st,aN as et,e6 as M,e5 as L,bH as K,a7 as z,iZ as X,kD as O,eJ as at,bP as it,hZ as W,dV as lt,aS as ct}from"./index-BYdQuKKk.js";import{C as N,r as ot}from"./ColorPicker-CshnU6f7.js";const dt={full:{anchor:{left:0,top:0,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},top:{anchor:{left:0,top:0,right:1,bottom:0},offset:{left:0,top:0,right:0,bottom:0}},bottom:{anchor:{left:0,top:1,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},left:{anchor:{left:0,top:0,right:0,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},right:{anchor:{left:1,top:0,right:1,bottom:1},offset:{left:0,top:0,right:0,bottom:0}},center:{anchor:{left:.5,top:.5,right:.5,bottom:.5},offset:{left:-60,top:-20,right:60,bottom:20}},"top-left":{anchor:{left:0,top:0,right:0,bottom:0},offset:{left:0,top:0,right:120,bottom:40}},"top-right":{anchor:{left:1,top:0,right:1,bottom:0},offset:{left:-120,top:0,right:0,bottom:40}}},V=["flex-start","center","flex-end"],Y=["flex-start","center","flex-end"];function pt({row:t,col:e,justify:s,align:r,isActive:c,disabled:a,onSelect:h}){return o.jsx("div",{"data-testid":`alignment-grid-${t}-${e}`,onClick:()=>{a||h(s,r)},style:{width:16,height:16,display:"flex",alignItems:"center",justifyContent:"center",cursor:a?"not-allowed":"pointer",borderRadius:j.radiusSmall,background:c?j.accent:"transparent"},children:o.jsx("div",{style:{width:c?6:4,height:c?6:4,borderRadius:"50%",background:c?j.onAccent:j.textMuted}})})}function Lt({value:t,onChange:e,disabled:s}){const r=V.indexOf(t.justify),c=Y.indexOf(t.align);return o.jsx("div",{"data-testid":"alignment-grid",style:{display:"inline-grid",gridTemplateColumns:"repeat(3, 16px)",gridTemplateRows:"repeat(3, 16px)",gap:1,background:j.inputBg,borderRadius:j.radiusMedium,padding:4,opacity:s?.35:1},children:Y.map((a,h)=>V.map((l,m)=>o.jsx(pt,{row:h,col:m,justify:l,align:a,isActive:h===c&&m===r,disabled:s,onSelect:(f,g)=>e({justify:f,align:g})},`${h}-${m}`)))})}function It({onSelect:t,disabled:e}){return o.jsx("div",{"data-testid":"anchor-presets",style:{display:"flex",flexWrap:"wrap",gap:4},children:Object.entries(dt).map(([s,r])=>o.jsx(S,{type:"button",variant:"secondary",size:"compact","data-testid":`anchor-preset-${s}`,disabled:e,onClick:()=>t(s,r),children:s},s))})}function R({label:t,value:e,unit:s="",step:r=1,min:c,max:a,precision:h,disabled:l,onChange:m,onChangeEnd:f,testId:g,style:p}){const x=w.useRef(null),u=h??(r<1?2:r>=100?-2:0),n=w.useMemo(()=>y=>{if(u<0){const C=10**-u;return Math.round(y/C)*C}const k=10**u;return Math.round(y*k)/k},[u]),i=y=>{let k=y;return c!==void 0&&(k=Math.max(c,k)),a!==void 0&&(k=Math.min(a,k)),n(k)},d=y=>{if(l)return;y.preventDefault(),x.current={startX:y.clientX,startValue:e,last:e},document.body.style.cursor="ew-resize";const k=I=>{if(!x.current)return;I.preventDefault();const A=I.clientX-x.current.startX,rt=I.shiftKey?10:I.altKey?.1:1,U=i(x.current.startValue+A*r*rt);x.current.last=U,L({onChange:m},U)},C=()=>{document.body.style.cursor="",window.removeEventListener("mousemove",k),window.removeEventListener("mouseup",H),window.removeEventListener("keydown",G)},H=()=>{if(x.current){const I=x.current.last;x.current=null,M({onChange:m,onChangeEnd:f},I)}C()},G=I=>{if(I.key==="Escape"&&x.current){const A=i(x.current.startValue);x.current=null,L({onChange:m},A),M({onChange:m,onChangeEnd:f},A),C()}};window.addEventListener("mousemove",k),window.addEventListener("mouseup",H),window.addEventListener("keydown",G)},[v,$]=w.useState(null),E=w.useRef(!1),b=y=>{const k=Number.parseFloat(y);if(Number.isNaN(k))return;const C=i(k);C!==e&&M({onChange:m,onChangeEnd:f},C)};return o.jsxs("div",{style:{...st,...p},children:[o.jsx("span",{className:"volter-scrub-label","data-testid":g?`${g}-label`:void 0,onMouseDown:d,"data-disabled":l||void 0,style:{fontSize:11,...l?{color:j.dynamic}:{},flexShrink:0,cursor:l?"not-allowed":"ew-resize",userSelect:"none",fontWeight:500},children:t}),o.jsx(et,{"data-testid":g,type:"text",value:v??`${e}${s}`,readOnly:l,"data-dynamic":l||void 0,onFocus:y=>{$(`${e}${s}`),y.target.select()},onChange:y=>$(y.target.value),onBlur:y=>{E.current||b(y.target.value),E.current=!1,$(null)},onKeyDown:y=>{y.key==="Enter"&&y.target.blur(),y.key==="Escape"&&(E.current=!0,y.target.blur())},style:{flex:1,width:0}})]})}const q=["none","solid","dashed","dotted","double"];function ut(t){return{top:t,right:t,bottom:t,left:t}}function ht(t){const e=r=>`${r.width}|${r.style}|${r.color}`,s=e(t.top);return e(t.right)===s&&e(t.bottom)===s&&e(t.left)===s}function Tt({value:t,onChange:e,onChangeEnd:s,disabled:r,recentColors:c,onAddRecentColor:a}){const[h,l]=w.useState(!ht(t)),m=(p,x)=>{const u={...t.top,...p},n=ut(u);x?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)},f=(p,x,u)=>{const n={...t,[p]:{...t[p],...x}};u?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)};if(!h)return o.jsxs("div",{"data-testid":"border-editor-uniform",style:{display:"flex",gap:6,alignItems:"center"},children:[o.jsx(N,{testId:"border-color",value:t.top.color,disabled:r,onChange:p=>m({color:p},!1),onChangeEnd:p=>m({color:p},!0),recentColors:c,onAddRecentColor:a}),o.jsx(R,{testId:"border-width",label:"W",value:t.top.width,min:0,disabled:r,onChange:p=>m({width:p},!1),onChangeEnd:p=>m({width:p},!0),style:{width:64}}),o.jsx(K,{className:"volter-select","data-testid":"border-style",value:t.top.style,disabled:r,"data-dynamic":r||void 0,onChange:p=>m({style:p.target.value},!0),style:{flex:1},children:q.map(p=>o.jsx("option",{value:p,children:p},p))}),o.jsx(S,{type:"button","data-testid":"border-expand",title:"Per-side borders","aria-label":"Edit borders per side",onClick:()=>l(!0),variant:"ghost",size:"compact",children:o.jsx(z,{icon:X})})]});const g=[{key:"top",label:"T"},{key:"right",label:"R"},{key:"bottom",label:"B"},{key:"left",label:"L"}];return o.jsxs("div",{"data-testid":"border-editor-expanded",style:{display:"flex",flexDirection:"column",gap:4},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted},children:"Per-side"}),o.jsx("div",{style:{flex:1}}),o.jsx(S,{type:"button",variant:"primary",size:"compact","data-testid":"border-collapse",title:"Uniform border","aria-label":"Use one border for all sides",onClick:()=>l(!1),children:o.jsx(z,{icon:X})})]}),g.map(({key:p,label:x})=>o.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted,width:10,textAlign:"center"},children:x}),o.jsx(N,{testId:`border-${p}-color`,value:t[p].color,disabled:r,onChange:u=>f(p,{color:u},!1),onChangeEnd:u=>f(p,{color:u},!0),recentColors:c,onAddRecentColor:a}),o.jsx(R,{testId:`border-${p}-width`,label:"",value:t[p].width,min:0,disabled:r,onChange:u=>f(p,{width:u},!1),onChangeEnd:u=>f(p,{width:u},!0),style:{width:48}}),o.jsx(K,{className:"volter-select","data-testid":`border-${p}-style`,value:t[p].style,disabled:r,"data-density":"compact","data-dynamic":r||void 0,onChange:u=>f(p,{style:u.target.value},!0),style:{flex:1},children:q.map(u=>o.jsx("option",{value:u,children:u},u))})]},p))]})}function ft(t){return{topLeft:t,topRight:t,bottomLeft:t,bottomRight:t}}function mt(t){return t.topLeft===t.topRight&&t.topRight===t.bottomLeft&&t.bottomLeft===t.bottomRight}function zt({value:t,onChange:e,onChangeEnd:s,disabled:r}){const[c,a]=w.useState(!mt(t)),h=(f,g)=>{const p=ft(f);g?M({onChange:e,onChangeEnd:s},p):L({onChange:e},p)},l=(f,g,p)=>{const x={...t,[f]:g};p?M({onChange:e,onChangeEnd:s},x):L({onChange:e},x)};if(!c)return o.jsxs("div",{"data-testid":"border-radius-editor-uniform",style:{display:"flex",gap:4,alignItems:"center"},children:[o.jsx(R,{testId:"border-radius",label:o.jsx(z,{icon:O,label:"Radius"}),value:t.topLeft,min:0,disabled:r,onChange:f=>h(f,!1),onChangeEnd:f=>h(f,!0),style:{flex:1}}),o.jsx(S,{type:"button","data-testid":"border-radius-expand",title:"Independent corners","aria-label":"Edit radius per corner",onClick:()=>a(!0),variant:"ghost",size:"compact",children:o.jsx(z,{icon:O})})]});const m=[{key:"topLeft",label:"TL"},{key:"topRight",label:"TR"},{key:"bottomLeft",label:"BL"},{key:"bottomRight",label:"BR"}];return o.jsxs("div",{"data-testid":"border-radius-editor-expanded",children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:4},children:[o.jsx("span",{style:{fontSize:10,color:j.textMuted},children:"Corners"}),o.jsx("div",{style:{flex:1}}),o.jsx(S,{type:"button",variant:"primary",size:"compact","data-testid":"border-radius-collapse",title:"Uniform radius","aria-label":"Use one radius for all corners",onClick:()=>a(!1),children:o.jsx(z,{icon:O})})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:3},children:m.map(({key:f,label:g})=>o.jsx(R,{testId:`border-radius-${f}`,label:g,value:t[f],min:0,disabled:r,onChange:p=>l(f,p,!1),onChangeEnd:p=>l(f,p,!0)},f))})]})}const P=[{name:"blur",unit:"px",min:0,max:50,step:.5,default:0},{name:"brightness",unit:"%",min:0,max:300,step:1,default:100},{name:"contrast",unit:"%",min:0,max:300,step:1,default:100},{name:"saturate",unit:"%",min:0,max:300,step:1,default:100},{name:"grayscale",unit:"%",min:0,max:100,step:1,default:0},{name:"hue-rotate",unit:"deg",min:0,max:360,step:1,default:0}];function Bt(t){return!t||t==="none"?P.map(e=>({name:e.name,value:e.default})):P.map(e=>{const s=new RegExp(`${e.name}\\(([\\d.]+)${e.unit}?\\)`),r=t.match(s);return{name:e.name,value:r?.[1]?Number.parseFloat(r[1]):e.default}})}function Nt(t){const e=[];for(let s=0;s<t.length;s++){const r=t[s],c=P[s];r&&c&&r.value!==c.default&&e.push(`${r.name}(${r.value}${c.unit})`)}return e.length?e.join(" "):"none"}function At({value:t,onChange:e,onChangeEnd:s,disabled:r,label:c="Filter",testId:a="filter-editor"}){const h=(l,m,f)=>{const g=t.map((p,x)=>x===l?{...p,value:m}:p);f?M({onChange:e,onChangeEnd:s},g):L({onChange:e},g)};return o.jsxs("div",{"data-testid":a,children:[o.jsx("div",{style:{fontSize:9,color:j.textMuted,marginBottom:4},children:c}),t.map((l,m)=>{const f=P[m];return f?o.jsx("div",{"data-testid":`filter-row-${l.name}`,style:{marginBottom:3},children:o.jsx(R,{testId:`filter-${l.name}`,label:l.name.replace("hue-rotate","hue"),value:l.value,unit:f.unit,min:f.min,max:f.max,step:f.step,disabled:r,onChange:g=>h(m,g,!1),onChangeEnd:g=>h(m,g,!0)})},l.name):null})]})}const T=28,J=10;function Dt({value:t,onChange:e,disabled:s,fonts:r,testId:c="font-picker"}){const[a,h]=w.useState(!1),[l,m]=w.useState(""),[f,g]=w.useState(0),p=w.useRef(null),x=w.useRef(null);w.useEffect(()=>{a&&x.current?.focus()},[a]),w.useEffect(()=>{if(!a)return;const b=y=>{p.current&&!p.current.contains(y.target)&&h(!1)};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[a]),w.useEffect(()=>{if(!a)return;const b=y=>{y.key==="Escape"&&h(!1)};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[a]);const u=w.useMemo(()=>{if(!l)return r;const b=l.toLowerCase();return r.filter(y=>y.toLowerCase().includes(b))},[r,l]),n=u.length*T,i=Math.floor(f/T),d=Math.min(u.length,i+J+2),v=u.slice(i,d),$=b=>{e(b),h(!1),m("")},E=t.replace(/^["']|["']$/g,"");return o.jsxs("div",{ref:p,"data-testid":c,style:{position:"relative",flex:1},children:[o.jsxs(S,{type:"button",variant:"secondary",className:"volter-field-trigger","aria-haspopup":"listbox","aria-expanded":a,disabled:s,"data-testid":"font-picker-input",onClick:()=>{s||h(b=>!b)},children:[o.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:E||"—"}),o.jsx(at,{direction:"down",tone:"muted",style:{marginLeft:4}})]}),a&&o.jsxs(it,{"data-testid":"font-picker-dropdown",style:{position:"absolute",top:"100%",left:0,right:0,zIndex:"var(--volter-z-dropdown)",marginTop:2},children:[o.jsx("div",{style:{padding:4},children:o.jsx(et,{ref:x,type:"text","data-testid":"font-picker-search",value:l,onChange:b=>{m(b.target.value),g(0)},placeholder:"Search fonts…","data-density":"compact",style:{width:"100%",boxSizing:"border-box"}})}),o.jsx("div",{"data-testid":"font-picker-list",onScroll:b=>g(b.target.scrollTop),style:{maxHeight:J*T,overflowY:"auto"},children:o.jsx("div",{style:{height:n,position:"relative"},children:v.map((b,y)=>{const k=i+y,C=b.toLowerCase()===E.toLowerCase();return o.jsx("div",{"data-testid":`font-picker-option-${b}`,onClick:()=>$(b),style:{position:"absolute",top:k*T,left:0,right:0,height:T,display:"flex",alignItems:"center",padding:"0 8px",cursor:"pointer",fontSize:12,background:C?j.accent:"transparent",color:C?j.onAccent:j.text},children:o.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:b})},b)})})}),u.length===0&&o.jsx("div",{style:{padding:"8px 12px",color:j.textMuted,fontSize:10,textAlign:"center"},children:"No matching fonts"})]})]})}function gt(t){const e=t.stops.map(s=>`${s.color} ${Math.round(s.position*100)}%`).join(", ");return t.type==="radial"?`radial-gradient(circle, ${e})`:`linear-gradient(${t.angle}deg, ${e})`}function xt(t){const e=t.match(/^linear-gradient\((.+)\)$/);if(e?.[1]!==void 0)return{type:"linear",inner:e[1]};const s=t.match(/^radial-gradient\((.+)\)$/);return s?.[1]!==void 0?{type:"radial",inner:s[1]}:null}function yt(t){const e=t.match(/^(\d+)deg\s*,\s*/);if(e)return{angle:Number.parseInt(e[1]??"180",10),colorPart:t.slice(e[0].length)};if(t.startsWith("to ")){const s=t.match(/^to\s+\w+\s*,\s*/);if(s)return{angle:180,colorPart:t.slice(s[0].length)}}return{angle:180,colorPart:t}}function bt(t){const e=t.split(/,\s*(?![^(]*\))/).map(s=>{const r=s.trim(),c=r.match(/\s+(\d+)%$/),a=c?Number.parseInt(c[1]??"0",10)/100:-1;return{color:c?r.slice(0,-c[0].length).trim():r,position:a}});for(let s=0;s<e.length;s++){const r=e[s];r&&r.position<0&&(r.position=e.length>1?s/(e.length-1):0)}return e}function Ft(t){if(!t||t==="none")return null;const e=xt(t);if(!e)return null;const{angle:s,colorPart:r}=e.type==="linear"?yt(e.inner):{angle:180,colorPart:e.inner},c=bt(r);return c.length<2?null:{type:e.type,angle:s,stops:c}}function _({stops:t,selected:e,onSelect:s,onMove:r,disabled:c,testIdPrefix:a}){return o.jsx("div",{style:{position:"relative",height:12,marginTop:2},children:t.map((h,l)=>o.jsx("div",{"data-testid":`${a}-${l}`,onClick:()=>s(l),onMouseDown:m=>{if(c)return;m.preventDefault(),s(l);const g=m.target.parentElement?.getBoundingClientRect(),p=n=>g?.width?Math.max(0,Math.min(1,(n-g.left)/g.width)):h.position,x=n=>r(l,p(n.clientX),!1),u=n=>{r(l,p(n.clientX),!0),window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",u)};window.addEventListener("mousemove",x),window.addEventListener("mouseup",u)},style:{position:"absolute",left:`${h.position*100}%`,top:0,width:10,height:10,borderRadius:"50%",background:h.css,border:`2px solid ${l===e?j.accent:"#fff"}`,transform:"translateX(-50%)",cursor:c?"not-allowed":"pointer"}},l))})}function Pt({value:t,onChange:e,onChangeEnd:s,disabled:r,recentColors:c,onAddRecentColor:a,testId:h="gradient-editor"}){const[l,m]=w.useState(0),f=(i,d)=>{d?M({onChange:e,onChangeEnd:s},i):L({onChange:e},i)},g=(i,d,v)=>{const $=t.stops.map((E,b)=>b===i?{...E,...d}:E);f({...t,stops:$},v)},p=()=>{const i=t.stops[t.stops.length-1]?.position??1,d=t.stops[0]?.position??0,v=(i+d)/2,$=[...t.stops,{color:"#888888",position:v}].sort((E,b)=>E.position-b.position);m($.length-1),f({...t,stops:$},!0)},x=i=>{if(t.stops.length<=2)return;const d=t.stops.filter((v,$)=>$!==i);m(Math.min(l,d.length-1)),f({...t,stops:d},!0)},u=t.stops[l]?.color??"#000000",n=u.startsWith("#")?u:ot(u);return o.jsxs("div",{"data-testid":h,children:[o.jsxs("div",{style:{position:"relative",marginBottom:8},children:[o.jsx("div",{"data-testid":"gradient-preview",style:{height:20,borderRadius:j.radiusSmall,border:`1px solid ${j.border}`,background:gt(t)}}),o.jsx(_,{stops:t.stops.map(i=>({position:i.position,css:i.color})),selected:l,onSelect:m,onMove:(i,d,v)=>g(i,{position:d},v),disabled:r,testIdPrefix:"gradient-stop"})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[o.jsx(N,{testId:"gradient-selected-color",value:n,disabled:r,onChange:i=>g(l,{color:i},!1),onChangeEnd:i=>g(l,{color:i},!0),recentColors:c,onAddRecentColor:a}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Stop ",l+1]}),t.stops.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove gradient stop","data-testid":"gradient-remove-stop",onClick:()=>x(l),children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":"gradient-add-stop",onClick:p,children:"+ stop"})]}),o.jsxs("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",gap:1,flex:1},children:[o.jsx(W,{testId:"gradient-type-linear",label:"Linear",active:t.type==="linear",disabled:r,onClick:()=>f({...t,type:"linear"},!0)}),o.jsx(W,{testId:"gradient-type-radial",label:"Radial",active:t.type==="radial",disabled:r,onClick:()=>f({...t,type:"radial"},!0)})]}),t.type==="linear"&&o.jsx(R,{testId:"gradient-angle",label:"°",value:t.angle,unit:"deg",disabled:r,onChange:i=>f({...t,angle:i},!1),onChangeEnd:i=>f({...t,angle:i},!0),style:{width:70}})]})]})}function Q(t){const e=s=>Math.round(Math.max(0,Math.min(1,s))*255).toString(16).padStart(2,"0");return`#${e(t.r)}${e(t.g)}${e(t.b)}`}function Z(t){return{r:Number.parseInt(t.slice(1,3),16)/255,g:Number.parseInt(t.slice(3,5),16)/255,b:Number.parseInt(t.slice(5,7),16)/255}}function D(t,e,s){if(t.length===0)return;if(e<=t[0].pos)return t[0].value;const r=t[t.length-1];if(e>=r.pos)return r.value;for(let c=0;c+1<t.length;c++){const a=t[c],h=t[c+1];if(e>=a.pos&&e<=h.pos){const l=h.pos>a.pos?(e-a.pos)/(h.pos-a.pos):0;return s(a.value,h.value,l)}}return r.value}const B=(t,e,s)=>t+(e-t)*s,tt=(t,e,s)=>({r:B(t.r,e.r,s),g:B(t.g,e.g,s),b:B(t.b,e.b,s)});function F(t,e,s){const r={...t[e],pos:s},c=[...t.filter((a,h)=>h!==e),r].sort((a,h)=>a.pos-h.pos);return{keys:c,index:c.indexOf(r)}}function Ot({value:t,onChange:e,onChangeEnd:s,disabled:r,testId:c="quarks-gradient"}){const[a,h]=w.useState({track:"color",i:0}),l=(n,i)=>{i?M({onChange:e,onChangeEnd:s},n):L({onChange:e},n)},m=n=>({...t,color:{...t.color,keys:n}}),f=n=>({...t,alpha:{...t.alpha,keys:n}}),p=[...new Set([...t.color.keys.map(n=>n.pos),...t.alpha.keys.map(n=>n.pos)])].sort((n,i)=>n-i).map(n=>{const i=D(t.color.keys,n,tt)??{r:1,g:1,b:1},d=D(t.alpha.keys,n,B)??1;return`rgba(${Math.round(i.r*255)},${Math.round(i.g*255)},${Math.round(i.b*255)},${Math.round(d*1e3)/1e3}) ${Math.round(n*100)}%`}).join(", "),x=t.color.keys[a.track==="color"?a.i:0],u=t.alpha.keys[a.track==="alpha"?a.i:0];return o.jsxs("div",{"data-testid":c,children:[o.jsx(_,{stops:t.alpha.keys.map(n=>{const i=Math.round(Math.max(0,Math.min(1,n.value))*255);return{position:n.pos,css:`rgb(${i},${i},${i})`}}),selected:a.track==="alpha"?a.i:-1,onSelect:n=>h({track:"alpha",i:n}),onMove:(n,i,d)=>{const{keys:v,index:$}=F(t.alpha.keys,n,i);h({track:"alpha",i:$}),l(f(v),d)},disabled:r,testIdPrefix:`${c}-alpha-stop`}),o.jsx("div",{"data-testid":`${c}-preview`,style:{height:20,borderRadius:j.radiusSmall,border:`1px solid ${j.border}`,backgroundImage:`linear-gradient(90deg, ${p}), repeating-linear-gradient(45deg, #777 0 5px, #aaa 5px 10px)`}}),o.jsx(_,{stops:t.color.keys.map(n=>({position:n.pos,css:Q(n.value)})),selected:a.track==="color"?a.i:-1,onSelect:n=>h({track:"color",i:n}),onMove:(n,i,d)=>{const{keys:v,index:$}=F(t.color.keys,n,i);h({track:"color",i:$}),l(m(v),d)},disabled:r,testIdPrefix:`${c}-color-stop`}),a.track==="color"&&x&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4},children:[o.jsx(N,{testId:`${c}-color-swatch`,value:Q(x.value),disabled:r,onChange:n=>l(m(t.color.keys.map((i,d)=>d===a.i?{...i,value:Z(n)}:i)),!1),onChangeEnd:n=>l(m(t.color.keys.map((i,d)=>d===a.i?{...i,value:Z(n)}:i)),!0)}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Color ",a.i+1,"/",t.color.keys.length]}),t.color.keys.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove color stop","data-testid":`${c}-remove-color-stop`,onClick:()=>{const n=t.color.keys.filter((i,d)=>d!==a.i);h({track:"color",i:Math.min(a.i,n.length-1)}),l(m(n),!0)},children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-add-color-stop`,onClick:()=>{const i=D(t.color.keys,.5,tt)??{r:1,g:1,b:1},{keys:d,index:v}=F([...t.color.keys,{value:i,pos:.5}],t.color.keys.length,.5);h({track:"color",i:v}),l(m(d),!0)},children:"+ stop"})]}),a.track==="alpha"&&u&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:4},children:[o.jsx(lt,{label:"a",step:.05,testId:`${c}-alpha-value`,value:Math.round(u.value*1e3)/1e3,onChange:n=>l(f(t.alpha.keys.map((i,d)=>d===a.i?{...i,value:Math.max(0,Math.min(1,n))}:i)),!1),onChangeEnd:n=>l(f(t.alpha.keys.map((i,d)=>d===a.i?{...i,value:Math.max(0,Math.min(1,n))}:i)),!0)}),o.jsxs("span",{style:{fontSize:9,color:j.textMuted},children:["Alpha ",a.i+1,"/",t.alpha.keys.length]}),t.alpha.keys.length>2&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":"Remove alpha stop","data-testid":`${c}-remove-alpha-stop`,onClick:()=>{const n=t.alpha.keys.filter((i,d)=>d!==a.i);h({track:"alpha",i:Math.min(a.i,n.length-1)}),l(f(n),!0)},children:"×"}),o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-add-alpha-stop`,onClick:()=>{const i=D(t.alpha.keys,.5,B)??1,{keys:d,index:v}=F([...t.alpha.keys,{value:i,pos:.5}],t.alpha.keys.length,.5);h({track:"alpha",i:v}),l(f(d),!0)},children:"+ stop"})]})]})}const jt={x:0,y:4,blur:8,spread:0,color:"rgba(0,0,0,0.25)",inset:!1,enabled:!0},vt={x:0,y:2,blur:4,spread:0,color:"rgba(0,0,0,0.3)",inset:!1,enabled:!0};function wt(t,e){return(e?[t.inset?"inset":"",`${t.x}px`,`${t.y}px`,`${t.blur}px`,`${t.spread}px`,t.color]:[`${t.x}px`,`${t.y}px`,`${t.blur}px`,t.color]).filter(Boolean).join(" ")}function _t(t,e=!0){const s=t.filter(r=>r.enabled);return s.length===0?"none":s.map(r=>wt(r,e)).join(", ")}function $t(t){const e=t.match(/(rgba?\([^)]+\))/);if(e?.[1])return{color:e[1],nums:t.replace(e[1],"").trim()};const s=t.match(/(#[0-9a-fA-F]{3,8})/);return s?.[1]?{color:s[1],nums:t.replace(s[1],"").trim()}:{color:"#000000",nums:t}}function kt(t,e){if(!t||t==="none")return null;const s=t.trim(),r=e&&s.startsWith("inset"),c=r?s.slice(5).trim():s,{color:a,nums:h}=$t(c),l=h.split(/\s+/).map(m=>Number.parseFloat(m)).filter(m=>!Number.isNaN(m));return e?{inset:r,x:l[0]??0,y:l[1]??0,blur:l[2]??0,spread:l[3]??0,color:a}:l.length<2?null:{inset:!1,x:l[0]??0,y:l[1]??0,blur:l[2]??0,spread:0,color:a}}function Ht(t,e=!0){if(!t||t==="none")return[];const s=t.split(/,\s*(?![^(]*\))/),r=[];for(const c of s){const a=kt(c.trim(),e);a&&r.push({...a,enabled:!0})}return r}function nt({value:t,onChange:e,onChangeEnd:s,disabled:r,withSpreadInset:c=!0,label:a="Shadow",testId:h="shadow-editor",recentColors:l,onAddRecentColor:m}){const f=(u,n)=>{n?M({onChange:e,onChangeEnd:s},u):L({onChange:e},u)},g=(u,n,i=!1)=>{f(t.map((d,v)=>v===u?{...d,...n}:d),i)},p=u=>{f(t.filter((n,i)=>i!==u),!0)},x=()=>{f([...t,{...c?jt:vt}],!0)};return o.jsxs("div",{"data-testid":h,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:t.length>0?4:0},children:[o.jsx("span",{style:{fontSize:9,color:j.textMuted},children:a}),o.jsx("div",{style:{flex:1}}),!r&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","data-testid":`${h}-add`,onClick:x,children:"+"})]}),t.map((u,n)=>{const i=u.color.startsWith("#")?u.color:ot(u.color);return o.jsxs("div",{"data-testid":`${h}-row-${n}`,style:{marginBottom:6,padding:"4px 0",borderBottom:`1px solid ${j.border}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:4},children:[o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-pressed":u.enabled,"data-testid":`${h}-toggle-${n}`,onClick:()=>{r||g(n,{enabled:!u.enabled},!0)},children:u.enabled?"●":"○"}),o.jsx(N,{testId:`${h}-color-${n}`,value:i,disabled:r,onChange:d=>g(n,{color:d}),onChangeEnd:d=>g(n,{color:d},!0),recentColors:l,onAddRecentColor:m}),c&&o.jsxs("label",{style:{display:"flex",alignItems:"center",gap:2,fontSize:8,color:j.textMuted,cursor:"pointer"},children:[o.jsx(ct,{className:"volter-checkbox","data-testid":`${h}-inset-${n}`,checked:u.inset,disabled:r,onChange:d=>g(n,{inset:d.target.checked},!0)}),"in"]}),o.jsx("div",{style:{flex:1}}),!r&&o.jsx(S,{type:"button",variant:"ghost",size:"compact","aria-label":`Remove ${a.toLowerCase()} ${n+1}`,"data-testid":`${h}-remove-${n}`,onClick:()=>p(n),children:"×"})]}),u.enabled&&o.jsxs("div",{style:{display:"flex",gap:4},children:[o.jsx(R,{label:"X",value:u.x,disabled:r,onChange:d=>g(n,{x:d}),onChangeEnd:d=>g(n,{x:d},!0),style:{flex:1}}),o.jsx(R,{label:"Y",value:u.y,disabled:r,onChange:d=>g(n,{y:d}),onChangeEnd:d=>g(n,{y:d},!0),style:{flex:1}}),o.jsx(R,{label:"B",value:u.blur,min:0,disabled:r,onChange:d=>g(n,{blur:Math.max(0,d)}),onChangeEnd:d=>g(n,{blur:Math.max(0,d)},!0),style:{flex:1}}),c&&o.jsx(R,{label:"S",value:u.spread,disabled:r,onChange:d=>g(n,{spread:d}),onChangeEnd:d=>g(n,{spread:d},!0),style:{flex:1}})]})]},n)})]})}function Gt(t){return o.jsx(nt,{...t,withSpreadInset:!0,testId:"box-shadow-editor",label:t.label??"Shadow"})}function Ut(t){return o.jsx(nt,{...t,withSpreadInset:!1,testId:"text-shadow-editor",label:t.label??"Text Shadow"})}export{Lt as A,Tt as B,jt as D,At as F,Pt as G,Ot as Q,R as S,Ut as T,zt as a,Bt as b,gt as c,Nt as d,Ht as e,Gt as f,_t as g,Dt as h,ht as i,mt as j,It as k,vt as l,_ as m,nt as n,ft as o,Ft as p,ut as u};
@@ -1 +1 @@
1
- import{a as r}from"./jsx-runtime-DPjLkJKQ.js";import{b5 as m,al as n,b6 as x,b7 as C,b8 as $,aC as V}from"./index-Dq43v9LZ.js";import{r as f}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{J as E,C as N,c as A}from"./JsonAssetDocument-DzcgeyAQ.js";import{AudioViewer as H}from"./AudioViewer-DRAuh1Tf.js";import{ImageViewer as R}from"./ImageViewer-BXNPoub2.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";function k(t){const e=(t.split(/[?#]/,1)[0]??"").replace(/^\//,"");return e.startsWith("src/")&&/\.(?:[cm]?[jt]sx?)$/.test(e)}function j(t){const e=C(t);return e.editor==="model"?"model":e.editor==="image"?"image":e.editor==="audio"?"audio":e.editor==="data"?"json":e.editor==="environment"?"environment":e.format==="cube"?"lut":e.format==="glsl"||e.format==="vert"||e.format==="frag"?"shader":k(t)?"module":e.editor==="source"&&e.previewable?"text":"binary"}function b({documentId:t,assetPath:e,active:i=!0}){const[o,l]=f.useState(null),[c,u]=f.useState(null),y=e.split("/").pop()??e;return f.useEffect(()=>{let a=!1;l(null),u(null);const w=e.replace(/^\//,"");let d=0;async function h(){const g=++d;try{const s=`/__editor/source-file?path=${encodeURIComponent(w)}`,S=await fetch(s,{cache:"no-store"}).then(p=>{if(!p.ok)throw new Error(`HTTP ${p.status}`);return p.text()});!a&&g===d&&(l(S),u(null))}catch(s){!a&&g===d&&u(s instanceof Error?s.message:String(s))}}const v=$();return h(),()=>{a=!0,v()}},[e]),r.jsx(m,{documentId:t,active:i,type:"source",title:y,sections:[],status:`source · ${e}`,fill:!0,children:r.jsx("div",{style:{padding:12,height:"100%",minHeight:0,display:"flex",flexDirection:"column",gap:8},children:r.jsx("div",{style:{padding:8,flex:1,minHeight:0,display:"flex",overflow:"hidden",background:n.surface.inset,border:`1px solid ${n.boundary.default}`,borderRadius:n.shape.small},children:c!==null||o===null?r.jsx("div",{style:{fontFamily:n.typography.mono,fontSize:11,lineHeight:1.5,color:c?n.semantic.danger:n.content.muted,padding:4},children:c??"Loading…"}):r.jsx(N,{value:o,followChanges:!0,language:A(e),fontSize:11,maxHeight:"100%",ariaLabel:`Source of ${e}`})})})})}function z({documentId:t,assetPath:e,active:i}){const o=e.split("/").pop()??e;return r.jsx(m,{documentId:t,active:i,type:"source",title:o,sections:[],status:`no viewer · ${e}`,children:r.jsxs("div",{style:{padding:16,color:n.content.muted,fontSize:12},children:["No editor package in this project renders ",o,"; the file is available in the project and stays selectable and referenceable."]})})}function K({documentId:t,assetPath:e,active:i=!0}){switch(j(e)){case"model":case"environment":case"lut":case"shader":{const o=j(e);return r.jsx(x,{route:o,documentId:t,assetPath:e,displayName:e.split("/").pop()??e,active:i,whenUnregistered:r.jsx(z,{documentId:t,assetPath:e,active:i})})}case"image":return r.jsx(R,{assetPath:e});case"audio":return r.jsx(H,{assetPath:e});case"json":return r.jsx(E,{documentId:t,assetPath:e,displayName:e.split("/").pop()??e,active:i,sections:[],status:`json · ${e}`});case"module":{const o=V()?.rootPath,l=r.jsx(b,{documentId:t,assetPath:e,active:i});return o?r.jsx(x,{route:"module",documentId:t,assetPath:e,projectRoot:o,displayName:e.split("/").pop()??e,active:i,fallback:l,whenUnregistered:l}):l}case"text":return r.jsx(b,{documentId:t,assetPath:e,active:i});case"binary":return r.jsx(m,{documentId:t,active:i,type:"binary source",title:e.split("/").pop()??e,sections:[],status:`binary · ${e}`,children:r.jsxs("div",{style:{padding:16,color:n.content.muted,fontSize:12},children:[r.jsx("div",{style:{color:n.content.primary,fontWeight:600,marginBottom:6},children:e.split("/").pop()}),"This binary source is available in the project, but it has no safe in-editor renderer. Its file remains selectable and referenceable without being misidentified as another format."]})})}}export{K as SourceAssetViewer,j as sourceAssetRoute};
1
+ import{a as r}from"./jsx-runtime-DPjLkJKQ.js";import{b5 as m,al as n,b6 as x,b7 as C,b8 as $,aC as V}from"./index-BYdQuKKk.js";import{r as f}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{J as E,C as N,c as A}from"./JsonAssetDocument-DIecsd7l.js";import{AudioViewer as H}from"./AudioViewer-D9bHbFfE.js";import{ImageViewer as R}from"./ImageViewer-DLZttZzB.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";function k(t){const e=(t.split(/[?#]/,1)[0]??"").replace(/^\//,"");return e.startsWith("src/")&&/\.(?:[cm]?[jt]sx?)$/.test(e)}function j(t){const e=C(t);return e.editor==="model"?"model":e.editor==="image"?"image":e.editor==="audio"?"audio":e.editor==="data"?"json":e.editor==="environment"?"environment":e.format==="cube"?"lut":e.format==="glsl"||e.format==="vert"||e.format==="frag"?"shader":k(t)?"module":e.editor==="source"&&e.previewable?"text":"binary"}function b({documentId:t,assetPath:e,active:i=!0}){const[o,l]=f.useState(null),[c,u]=f.useState(null),y=e.split("/").pop()??e;return f.useEffect(()=>{let a=!1;l(null),u(null);const w=e.replace(/^\//,"");let d=0;async function h(){const g=++d;try{const s=`/__editor/source-file?path=${encodeURIComponent(w)}`,S=await fetch(s,{cache:"no-store"}).then(p=>{if(!p.ok)throw new Error(`HTTP ${p.status}`);return p.text()});!a&&g===d&&(l(S),u(null))}catch(s){!a&&g===d&&u(s instanceof Error?s.message:String(s))}}const v=$();return h(),()=>{a=!0,v()}},[e]),r.jsx(m,{documentId:t,active:i,type:"source",title:y,sections:[],status:`source · ${e}`,fill:!0,children:r.jsx("div",{style:{padding:12,height:"100%",minHeight:0,display:"flex",flexDirection:"column",gap:8},children:r.jsx("div",{style:{padding:8,flex:1,minHeight:0,display:"flex",overflow:"hidden",background:n.surface.inset,border:`1px solid ${n.boundary.default}`,borderRadius:n.shape.small},children:c!==null||o===null?r.jsx("div",{style:{fontFamily:n.typography.mono,fontSize:11,lineHeight:1.5,color:c?n.semantic.danger:n.content.muted,padding:4},children:c??"Loading…"}):r.jsx(N,{value:o,followChanges:!0,language:A(e),fontSize:11,maxHeight:"100%",ariaLabel:`Source of ${e}`})})})})}function z({documentId:t,assetPath:e,active:i}){const o=e.split("/").pop()??e;return r.jsx(m,{documentId:t,active:i,type:"source",title:o,sections:[],status:`no viewer · ${e}`,children:r.jsxs("div",{style:{padding:16,color:n.content.muted,fontSize:12},children:["No editor package in this project renders ",o,"; the file is available in the project and stays selectable and referenceable."]})})}function K({documentId:t,assetPath:e,active:i=!0}){switch(j(e)){case"model":case"environment":case"lut":case"shader":{const o=j(e);return r.jsx(x,{route:o,documentId:t,assetPath:e,displayName:e.split("/").pop()??e,active:i,whenUnregistered:r.jsx(z,{documentId:t,assetPath:e,active:i})})}case"image":return r.jsx(R,{assetPath:e});case"audio":return r.jsx(H,{assetPath:e});case"json":return r.jsx(E,{documentId:t,assetPath:e,displayName:e.split("/").pop()??e,active:i,sections:[],status:`json · ${e}`});case"module":{const o=V()?.rootPath,l=r.jsx(b,{documentId:t,assetPath:e,active:i});return o?r.jsx(x,{route:"module",documentId:t,assetPath:e,projectRoot:o,displayName:e.split("/").pop()??e,active:i,fallback:l,whenUnregistered:l}):l}case"text":return r.jsx(b,{documentId:t,assetPath:e,active:i});case"binary":return r.jsx(m,{documentId:t,active:i,type:"binary source",title:e.split("/").pop()??e,sections:[],status:`binary · ${e}`,children:r.jsxs("div",{style:{padding:16,color:n.content.muted,fontSize:12},children:[r.jsx("div",{style:{color:n.content.primary,fontWeight:600,marginBottom:6},children:e.split("/").pop()}),"This binary source is available in the project, but it has no safe in-editor renderer. Its file remains selectable and referenceable without being misidentified as another format."]})})}}export{K as SourceAssetViewer,j as sourceAssetRoute};