@volter/game-editor 0.5.141 → 0.5.143
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.
- package/BUNDLED_NOTICES +22 -22
- package/catalog/entries/blender.json +2 -2
- package/catalog/entries/music.json +2 -2
- package/dist/.vite/manifest.json +2143 -2143
- package/dist/assets/{AssetBudgetPanel-DFg7kCtN.js → AssetBudgetPanel-BdiVftGG.js} +3 -3
- package/dist/assets/{AudioViewer-XdiXrS41.js → AudioViewer-DjwTr_wg.js} +1 -1
- package/dist/assets/{CanvasBoardDocument-BkdttT70.js → CanvasBoardDocument-DK3MXhRp.js} +1 -1
- package/dist/assets/{CanvasSceneViewport-C1rOs64D.js → CanvasSceneViewport-DOzblR0m.js} +1 -1
- package/dist/assets/{ColorInput-CLif5Vaz.js → ColorInput-qITQn-_m.js} +1 -1
- package/dist/assets/{ColorPicker-D7aFqHEF.js → ColorPicker-DPs8654V.js} +1 -1
- package/dist/assets/{EntityModelDocument-B1xtlUBF.js → EntityModelDocument-CNPGnGt3.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-Iq-Jc0dd.js → EnvironmentAssetDocument-oyIJfFdj.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-B5BcyyWD.js → GameplaySessionTimeline-f2tPMu4I.js} +1 -1
- package/dist/assets/{ImageViewer-XUSF-iNz.js → ImageViewer-DO5Ve_Ox.js} +1 -1
- package/dist/assets/InspectorObjectPreview-CunxnDvP.js +1 -0
- package/dist/assets/{JsonAssetDocument-eB_iGWdj.js → JsonAssetDocument-BuRyWHCE.js} +1 -1
- package/dist/assets/{LiveModuleDocument-BJEbwtGO.js → LiveModuleDocument-DSKvtvtv.js} +1 -1
- package/dist/assets/{LutAssetDocument-C-OOLoEF.js → LutAssetDocument-DpQ27fBd.js} +1 -1
- package/dist/assets/{ModelAssetDocument-BLYHZZNs.js → ModelAssetDocument-PpCxnR1j.js} +1 -1
- package/dist/assets/{NonThreeAuthoringBootstrap-D7x_CZUj.js → NonThreeAuthoringBootstrap-mIzPFTqE.js} +1 -1
- package/dist/assets/{Object3DDocumentToolbar-DKLsFjM7.js → Object3DDocumentToolbar-BtPLixcu.js} +1 -1
- package/dist/assets/Object3DDocumentViewport-C1XieeeO.js +2 -0
- package/dist/assets/{Object3DPreview-QMncRENP.js → Object3DPreview-D3qGjLVE.js} +1 -1
- package/dist/assets/{OnlineAssetDetail-BLgpieg6.js → OnlineAssetDetail-p4AlihvW.js} +1 -1
- package/dist/assets/{PlayBar-Yz_6vz6N.js → PlayBar-CPfTu06h.js} +1 -1
- package/dist/assets/{QuarksAssetDocument-BOJnTz90.js → QuarksAssetDocument-D6dGxxmU.js} +1 -1
- package/dist/assets/{ReactCanvasControls-m-bggN8l.js → ReactCanvasControls-DijwLcwS.js} +1 -1
- package/dist/assets/{RootSelectionOverlay-BI3HMdr7.js → RootSelectionOverlay-CsD1aZs6.js} +1 -1
- package/dist/assets/{ShaderAssetDocument-BTaKglHY.js → ShaderAssetDocument-BEa81zNK.js} +1 -1
- package/dist/assets/{ShadowEditor-BujnAQRV.js → ShadowEditor-B7CJc6XL.js} +1 -1
- package/dist/assets/{SourceAssetViewer-DLCwpb4C.js → SourceAssetViewer-Bwvyvl7B.js} +1 -1
- package/dist/assets/StageHost-CHeH7liy.js +2 -0
- package/dist/assets/{StoryPreviewMount-4E9HAE2O.js → StoryPreviewMount-CLfDAbBH.js} +1 -1
- package/dist/assets/{ThreeBoardDocument-BEFALuF0.js → ThreeBoardDocument-CBxxjARz.js} +2 -2
- package/dist/assets/{ThreeIsolationSceneContent-erdzfS7t.js → ThreeIsolationSceneContent-B7AvGnMj.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-VUtXhFDx.js → ToolObject3DPreview-BgogY6xt.js} +1 -1
- package/dist/assets/{Toolbar-C52BH7TO.js → Toolbar-DcpfyyCi.js} +1 -1
- package/dist/assets/{TransientHint-BU0oBEGk.js → TransientHint-DzpkDjxN.js} +1 -1
- package/dist/assets/{VideoViewer-D1nvtQqp.js → VideoViewer-uaulCUB7.js} +1 -1
- package/dist/assets/{ViewportShadingMenu-CPrGvYAX.js → ViewportShadingMenu-BNortpJP.js} +1 -1
- package/dist/assets/{active-ingest-BuXTPNfw.js → active-ingest-D93pvHUb.js} +2 -2
- package/dist/assets/{animation-clock-Dr2nCWYc.js → animation-clock-gP0Omdq0.js} +1 -1
- package/dist/assets/{animation-mixers.service-D6Pl4J-9.js → animation-mixers.service-BnC2sPxd.js} +1 -1
- package/dist/assets/{animation-timeline.utility-B-QuTGQI.js → animation-timeline.utility-_iveOjvf.js} +1 -1
- package/dist/assets/{asset-budget-asset.menu-DRkB-HYw.js → asset-budget-asset.menu-BO6S6Clb.js} +1 -1
- package/dist/assets/{asset-budget.action-Bls8Ip3v.js → asset-budget.action-BfPsEFA-.js} +1 -1
- package/dist/assets/{asset-budget.document-CrX3TzHY.js → asset-budget.document-BPHPWfbm.js} +1 -1
- package/dist/assets/{asset-budget.menu-BdwlnrL_.js → asset-budget.menu-BMn3dsDS.js} +1 -1
- package/dist/assets/{asset-editor-persistence-Dl2E1VQb.js → asset-editor-persistence-BE91v4hN.js} +1 -1
- package/dist/assets/{asset-loaders-BUkviq-4.js → asset-loaders-p2V4yWeG.js} +1 -1
- package/dist/assets/{asset-preview-BJukDKmE.js → asset-preview-BqIrR4Xy.js} +1 -1
- package/dist/assets/{audio-unlock.service-DfVhYNbr.js → audio-unlock.service-t0voeDQd.js} +1 -1
- package/dist/assets/{audio.utility-DozFnxKV.js → audio.utility-BtDV4l6L.js} +1 -1
- package/dist/assets/autoplay.service-BTr6K5DJ.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-CzGUUC8b.js → babylon-authoring-adapter-ys1eX0ED.js} +1 -1
- package/dist/assets/{binding-resolver-CLNN8khs.js → binding-resolver-BWwofL-w.js} +2 -2
- package/dist/assets/{blender-node-editor.document-67ouO2_k.js → blender-node-editor.document-BHsl001G.js} +1 -1
- package/dist/assets/{blender-properties-tab-CVnypWSo.js → blender-properties-tab-uAaS_Exu.js} +1 -1
- package/dist/assets/{blender-runtime-host-DE5lHYUn.js → blender-runtime-host-BYZufdkP.js} +1 -1
- package/dist/assets/{blender-runtime-skin-BDJusrFw.js → blender-runtime-skin-DuLZEmCx.js} +37 -37
- package/dist/assets/{blender-runtime.document-BD4dD5SZ.js → blender-runtime.document-CfDUmwIa.js} +8 -8
- package/dist/assets/{blender-screenshot.menu-Boe9-KcQ.js → blender-screenshot.menu-qJZV-LS0.js} +1 -1
- package/dist/assets/{blender-timeline.document-4NFtXPSU.js → blender-timeline.document-BwrXagJ6.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-CTxoDBP-.js → blender-uv-editor.document-CSZoUDWM.js} +1 -1
- package/dist/assets/{blender-version.status-DRPbhIQv.js → blender-version.status-BWDUK2l7.js} +1 -1
- package/dist/assets/{blender.command-DJmuoahT.js → blender.command-B0s3Af-m.js} +1 -1
- package/dist/assets/{board-guides-BkCq-F99.js → board-guides-5y4zeqX7.js} +1 -1
- package/dist/assets/{bridge.command-DWBc9bXb.js → bridge.command-DQfhUNFq.js} +3 -3
- package/dist/assets/{browserAll-3GZzxLYS.js → browserAll-Dbf4aGgB.js} +1 -1
- package/dist/assets/{build-player.document-r_QYq1le.js → build-player.document-Bd0u1g-Y.js} +1 -1
- package/dist/assets/{build-profiles.document-c7_vQlpf.js → build-profiles.document-B7WkqaZ6.js} +1 -1
- package/dist/assets/{build-progress.status-Bw4qMPAa.js → build-progress.status-D2GyM7T5.js} +1 -1
- package/dist/assets/{build-session-BKLLzQgc.js → build-session-urvplcJ_.js} +1 -1
- package/dist/assets/{build.action-OcEuKKI_.js → build.action-CY_qJBby.js} +1 -1
- package/dist/assets/{build.command-B1eOus3I.js → build.command-Bql81_76.js} +1 -1
- package/dist/assets/{build.header-BO7Zs6kl.js → build.header-BWEm5PxX.js} +1 -1
- package/dist/assets/{build.menu-DJodnLa2.js → build.menu-Drj27927.js} +1 -1
- package/dist/assets/{build.service-D8DMN2YE.js → build.service-UkGk8Uw_.js} +1 -1
- package/dist/assets/{camera-BmwAVlRw.js → camera-DjlldTcH.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-CxV_m5Ac.js → camera-runtime.inspector-Brr2VKtr.js} +1 -1
- package/dist/assets/{canvas-design-mount-C3LNG-vP.js → canvas-design-mount-qDZm4PWb.js} +3 -3
- package/dist/assets/{canvas-entry-runtime-CwdLCxUy.js → canvas-entry-runtime-C5mQcqUX.js} +2 -2
- package/dist/assets/{canvas-preview-frames-B5KJ59-S.js → canvas-preview-frames-CKeTiNdf.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-CGUSIRxE.js → canvas-story-capture.service-DwdCXNcT.js} +2 -2
- package/dist/assets/{capability-coverage-D-GXBICd.js → capability-coverage-CNP_jAZY.js} +1 -1
- package/dist/assets/{collaboration-presence-B5iuP_wX.js → collaboration-presence-DkEqt3Gz.js} +1 -1
- package/dist/assets/{collider-B-T-AsbE.js → collider-bbRSmral.js} +1 -1
- package/dist/assets/{component-board.service-aqKW1lkL.js → component-board.service-07TWRm-7.js} +2 -2
- package/dist/assets/{component-board.service-5xU1GDNy.js → component-board.service-BgVIeVii.js} +2 -2
- package/dist/assets/{component-board.service-DgJHiU7B.js → component-board.service-BtSG5scd.js} +2 -2
- package/dist/assets/{component-contracts.service-Yr-mjUQG.js → component-contracts.service-DjLxfaIH.js} +1 -1
- package/dist/assets/{component-instance-root-CudOh1DD.js → component-instance-root-MaXT-9eH.js} +1 -1
- package/dist/assets/{component-verbs.command-BEJ53TwW.js → component-verbs.command-DAe5nFLA.js} +1 -1
- package/dist/assets/{component-verbs.service-BjGGUXmw.js → component-verbs.service-DdkUX8_s.js} +1 -1
- package/dist/assets/{config-D2igk1Bj.js → config-D6y2yi9i.js} +2 -2
- package/dist/assets/{configurations-FlGT9WoY.js → configurations-B3CK604j.js} +1 -1
- package/dist/assets/{connection.status-CK3EzPSi.js → connection.status-BCz9SCph.js} +1 -1
- package/dist/assets/{constraints.inspector-Co2GmkQ2.js → constraints.inspector-ZPW1YgsY.js} +1 -1
- package/dist/assets/{content-bounds-Bu56rpIj.js → content-bounds-CIrrm5u0.js} +1 -1
- package/dist/assets/{contract-system-adapters-BrsmAuwG.js → contract-system-adapters-Da68ESRl.js} +1 -1
- package/dist/assets/{coverage.service-C7RqzsnH.js → coverage.service-DtjtcbGO.js} +1 -1
- package/dist/assets/{create-runtime-CjlpW6LY.js → create-runtime-DYCcEzf_.js} +1 -1
- package/dist/assets/{curve-Am0qaddc.js → curve-XZVLp9Px.js} +1 -1
- package/dist/assets/{data-asset-CXfxYt80.js → data-asset-C9QeMYQ6.js} +1 -1
- package/dist/assets/{data-ref-CisClzDS.js → data-ref-Dwd_nMTi.js} +1 -1
- package/dist/assets/{debug-bridge-B2DTeKzy.js → debug-bridge-CmGhy30u.js} +1 -1
- package/dist/assets/{debug-registry-DM3V-Dba.js → debug-registry-7glJb2_c.js} +1 -1
- package/dist/assets/{deferred-ingest-play-Dr1_pb9Y.js → deferred-ingest-play-CU5GjqVu.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-B6JxaLJH.js → design-time-canvas-mount-DD8OYdJx.js} +2 -2
- package/dist/assets/{design-time-layers-C0Ie-5af.js → design-time-layers-C4EHX2H1.js} +1 -1
- package/dist/assets/{design-time-mount.service-BUncgIQz.js → design-time-mount.service-Bex5nxbX.js} +2 -2
- package/dist/assets/{design-time-mount.service-CyRqz68j.js → design-time-mount.service-C-E_So2G.js} +2 -2
- package/dist/assets/{design-time-react-mount-DCK9rNSB.js → design-time-react-mount-BfS83T5B.js} +1 -1
- package/dist/assets/{document-preview-three-ChRVrHvk.js → document-preview-three-Br2Q34Dm.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-Cy42Tu1m.js → dom-authoring-adapter-uYyXOnRm.js} +1 -1
- package/dist/assets/{draco3d-DbwwfTzB.js → draco3d-DxNmfhHs.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-C0S1CfEW.js → edit-mode-audio.service-DE_pn_MR.js} +1 -1
- package/dist/assets/{edit-mode-authoring-_dGuAOe_.js → edit-mode-authoring-8sn7p4nG.js} +1 -1
- package/dist/assets/{edit-mode-networking.service-DUnDSY_K.js → edit-mode-networking.service-BXuBlovn.js} +1 -1
- package/dist/assets/{editor-api-D4EUUE3i.js → editor-api-BNcg9nJy.js} +1 -1
- package/dist/assets/{editor-layers-CFvC6zpw.js → editor-layers-D3afd2Rj.js} +1 -1
- package/dist/assets/{editor-shell-store-DkpFwQRs.js → editor-shell-store-BNIOyldX.js} +1 -1
- package/dist/assets/{entity-object-B088ytvT.js → entity-object-DC80r4hW.js} +1 -1
- package/dist/assets/{extend-9zWgXphh.js → extend-OjmwIbqx.js} +1 -1
- package/dist/assets/{fork-menu-X3WmitZ4.js → fork-menu-CPdiffHY.js} +1 -1
- package/dist/assets/{frame-debugger-store-CUpjwFyO.js → frame-debugger-store-CYTSL3AX.js} +1 -1
- package/dist/assets/{game-contract-seams-Ck3Cl6ql.js → game-contract-seams-WtNxnhc2.js} +1 -1
- package/dist/assets/{game-css-scope-transform-DK6cxUvG.js → game-css-scope-transform-C73qdewG.js} +1 -1
- package/dist/assets/{game-document.service-BpWiMOk4.js → game-document.service-CF7EnKbN.js} +1 -1
- package/dist/assets/{game-eval.command-sMCldltM.js → game-eval.command-BcAACfLM.js} +1 -1
- package/dist/assets/{game-module-access-DNjGF69F.js → game-module-access-CTzw5tN5.js} +1 -1
- package/dist/assets/{game-network-vyrukIkZ.js → game-network-CbiXm5Hs.js} +3 -3
- package/dist/assets/{gameplay-export-E24YNVAt.js → gameplay-export-DSGl2k8q.js} +1 -1
- package/dist/assets/{gameplay-replay-LwF9KPiy.js → gameplay-replay-DCXlXrS2.js} +1 -1
- package/dist/assets/{gameplay.command-D9_nzHr7.js → gameplay.command-YgXYsN_0.js} +1 -1
- package/dist/assets/{generation-jobs-DHLHHdHn.js → generation-jobs-BEJk23Cn.js} +1 -1
- package/dist/assets/{generation.service-DMhvwJRm.js → generation.service-Dt9gsKXC.js} +1 -1
- package/dist/assets/{generations-D4LdYXFz.js → generations-CqmkgtNO.js} +1 -1
- package/dist/assets/{generations.status-O18h7EE3.js → generations.status-BULr7x14.js} +1 -1
- package/dist/assets/{hierarchy-marks-D7wvAG3b.js → hierarchy-marks-Br83xItv.js} +1 -1
- package/dist/assets/{hosted-asset-materialization-Bvn7djkR.js → hosted-asset-materialization-WupFrE9d.js} +1 -1
- package/dist/assets/{index-BFK2NlBP.js → index-BVGC2p08.js} +1 -1
- package/dist/assets/{index-BcbBl8bq.js → index-BliygjwA.js} +1 -1
- package/dist/assets/{index-CMCwkjoq.js → index-C3IEVwzA.js} +7 -7
- package/dist/assets/{index-y9LVx2eE.js → index-CEmW3p1F.js} +1 -1
- package/dist/assets/{index-7NJfDG0Z.js → index-D6MeIqnu.js} +2 -2
- package/dist/assets/{index-Ae9QCMVk.js → index-D6Q6Xs1B.js} +1 -1
- package/dist/assets/{index-CPIJjqDR.js → index-DoeV0FPm.js} +1 -1
- package/dist/assets/{index-COHBjTsa.js → index-WZhfg_YR.js} +1 -1
- package/dist/assets/{index-DoaP1WWQ.js → index-tJevWYyz.js} +1 -1
- package/dist/assets/{inference-diagnostics-DunJmJ9Z.js → inference-diagnostics-NkV5meYv.js} +1 -1
- package/dist/assets/{ingest-boot-viewport-Bg13ui6T.js → ingest-boot-viewport-BdEJB2uM.js} +1 -1
- package/dist/assets/{ingest-siblings-DGlNY07v.js → ingest-siblings-DG94tSnt.js} +1 -1
- package/dist/assets/{ingest-source-persistence-UTh7DY1t.js → ingest-source-persistence-COuafLsy.js} +1 -1
- package/dist/assets/{ingest.service-BFEY_zGx.js → ingest.service-pguAbjpd.js} +1 -1
- package/dist/assets/{inspect-CZp20yd1.js → inspect-B9obej0m.js} +1 -1
- package/dist/assets/instances.command-C8fTOWWQ.js +1 -0
- package/dist/assets/{json-history-resource-BvW4pMsd.js → json-history-resource-BZ-2HcB1.js} +1 -1
- package/dist/assets/{layered-pick-BXmq2t-E.js → layered-pick-BOuHhOMD.js} +1 -1
- package/dist/assets/{light-CDrHXJtR.js → light-BhobQdgv.js} +1 -1
- package/dist/assets/{live-project-verbs-BxIFsWuj.js → live-project-verbs-BzcIAa92.js} +1 -1
- package/dist/assets/{machine.document-u1M6wfiy.js → machine.document-C6KtiVU9.js} +1 -1
- package/dist/assets/{machines.finder-DynlBOAk.js → machines.finder-C4YZxgo1.js} +1 -1
- package/dist/assets/{material-BcxI0Fsc.js → material-CGLOFkhv.js} +1 -1
- package/dist/assets/{material-factory-BDbHGI8g.js → material-factory-B96Hx0uM.js} +1 -1
- package/dist/assets/{mesh-DjNh3j0r.js → mesh-CXz1SjeE.js} +1 -1
- package/dist/assets/{model-asset-sections.service-CnCVTi-d.js → model-asset-sections.service-ByQd6kq8.js} +1 -1
- package/dist/assets/{model-inspection-CF6u-3Q6.js → model-inspection-vhAtpqOr.js} +1 -1
- package/dist/assets/{model-thumbnail-B2btLbO3.js → model-thumbnail-DKy7aBw4.js} +1 -1
- package/dist/assets/{models.finder-CoYrb-V4.js → models.finder-BQaOk9z2.js} +1 -1
- package/dist/assets/{module-mode-DRh-hzaZ.js → module-mode-Bvwyb8ON.js} +2 -2
- package/dist/assets/{mount-canvas-ingest-root-BerP9DM_.js → mount-canvas-ingest-root-Q_xSSTn4.js} +2 -2
- package/dist/assets/{mount-dom-ingest-root-D4bKfoeJ.js → mount-dom-ingest-root-cTeFpCss.js} +2 -2
- package/dist/assets/{mount-ingest-root-DKTBbg6i.js → mount-ingest-root-CzxqWdcJ.js} +2 -2
- package/dist/assets/{mount-manifest-DBPdRY5o.js → mount-manifest-DpGIVIqZ.js} +1 -1
- package/dist/assets/{mount-three-ingest-root-Dk_E6afY.js → mount-three-ingest-root-DkATi7dX.js} +1 -1
- package/dist/assets/{mounted-authoring-BQ2BrMPA.js → mounted-authoring-_iXvG_-y.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-CeH8jAaw.js → mounted-story-viewport-source-B3xRhvGK.js} +1 -1
- package/dist/assets/{native-debug-module-DVE7EOLW.js → native-debug-module-sgSgwV_6.js} +1 -1
- package/dist/assets/{navigation-Bci_dwkf.js → navigation-C7N4F7fm.js} +1 -1
- package/dist/assets/{navmesh.menu-BWWxh9YY.js → navmesh.menu-GjmPbNmN.js} +1 -1
- package/dist/assets/{navmesh.service-DpaNi2yZ.js → navmesh.service-C6OOgYOg.js} +1 -1
- package/dist/assets/network-observer.service-BYkKwX6g.js +1 -0
- package/dist/assets/{network.utility-CLf9o3o1.js → network.utility-DFVzAD3R.js} +1 -1
- package/dist/assets/{object3d-document-session-registry-UDoKr0tg.js → object3d-document-session-registry-yZYSi8a_.js} +2 -2
- package/dist/assets/{oid-transform-hLaFb4hl.js → oid-transform-B2rTU5dE.js} +1 -1
- package/dist/assets/{particles-DbrfzoZK.js → particles-WV7nuue8.js} +1 -1
- package/dist/assets/{pixi-authoring-adapter-DJRDvXQD.js → pixi-authoring-adapter-DYxqfbtY.js} +1 -1
- package/dist/assets/{pixi-live-write-target-Dc1aWT9N.js → pixi-live-write-target-BMM9gTYX.js} +1 -1
- package/dist/assets/{play.command-DDDEAmNB.js → play.command-Cw2b6MmY.js} +2 -2
- package/dist/assets/{presentation-CCmg3gpy.js → presentation-m9EXagyv.js} +1 -1
- package/dist/assets/{product-BtU7l4BF.js → product-DY3NaL48.js} +1 -1
- package/dist/assets/{profiler.action-C4aw4GOC.js → profiler.action-AlWZaom2.js} +1 -1
- package/dist/assets/{profiler.menu-GLwh5VCE.js → profiler.menu-C2HG4gW2.js} +1 -1
- package/dist/assets/{profiler.utility-Bfe3ilAw.js → profiler.utility-xcXtWI8M.js} +1 -1
- package/dist/assets/{project-authoring-session-DyXl4gN6.js → project-authoring-session-COpHfmqX.js} +2 -2
- package/dist/assets/{properties-bone-constraints.inspector-DbofrEbU.js → properties-bone-constraints.inspector-CYTy1c6d.js} +1 -1
- package/dist/assets/{properties-bone.inspector-D3fEBgCH.js → properties-bone.inspector-srx9O7Di.js} +1 -1
- package/dist/assets/{properties-collection.inspector-Btvv-T-R.js → properties-collection.inspector-Dz-z_Q4f.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-CALxhePZ.js → properties-constraints.inspector-CU09Fq6P.js} +1 -1
- package/dist/assets/{properties-data.inspector-CL6_Gjj9.js → properties-data.inspector-Cgt6CKvm.js} +1 -1
- package/dist/assets/{properties-material.inspector-sPw05SEc.js → properties-material.inspector-jDhkNUDR.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-HjxBNlCx.js → properties-modifiers.inspector-bcEjEW5a.js} +1 -1
- package/dist/assets/{properties-object.inspector-UgbaOy2B.js → properties-object.inspector-C7u_OCfm.js} +1 -1
- package/dist/assets/{properties-output.inspector-DNN4sWlL.js → properties-output.inspector-CRJOBoRT.js} +1 -1
- package/dist/assets/{properties-particles.inspector-BZsgMDWj.js → properties-particles.inspector-BQRy6PnC.js} +1 -1
- package/dist/assets/{properties-physics.inspector-0j5HWt60.js → properties-physics.inspector-kcBc7wis.js} +1 -1
- package/dist/assets/{properties-render.inspector-BZcCEHcF.js → properties-render.inspector-w2VKl5a0.js} +1 -1
- package/dist/assets/{properties-scene.inspector-BTryeb_L.js → properties-scene.inspector-DDZCO3Og.js} +1 -1
- package/dist/assets/{properties-texture.inspector-hTRSoQ69.js → properties-texture.inspector-Cz-imXaI.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-C6OoVpm4.js → properties-view-layer.inspector-Lnj3xdEk.js} +1 -1
- package/dist/assets/{properties-world.inspector-DGEuF8MP.js → properties-world.inspector-DyeshJEW.js} +1 -1
- package/dist/assets/{r3f-design-session-BWTEyjSQ.js → r3f-design-session-b0R___Ze.js} +2 -2
- package/dist/assets/{r3f-physics-binding-vwLR0rW7.js → r3f-physics-binding-BeHcRXcx.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-BbFkAkjC.js → r3f-source-authoring-adapter-DIKg1AbO.js} +1 -1
- package/dist/assets/{react-canvas-navigation-D0VcwdS-.js → react-canvas-navigation-DBex6opA.js} +1 -1
- package/dist/assets/{react-inspector.service-BAuL_Wyz.js → react-inspector.service--CnSg1fP.js} +1 -1
- package/dist/assets/{react-story-board-Cz_t7OXz.js → react-story-board-Bfwrt56k.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-DRSTAPRD.js → react-three-rapier.esm-CWt9552l.js} +1 -1
- package/dist/assets/{react-world-authoring-adapter-B_MklJZn.js → react-world-authoring-adapter-Dh-F6SHg.js} +1 -1
- package/dist/assets/{realm-services-DYFxZHpU.js → realm-services-CSKI9wWm.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-CNe7Q3mr.js → reflection-probe-capture.inspector-DTAmb51-.js} +1 -1
- package/dist/assets/{registry-eu4OiGwC.js → registry-Djlt4lA_.js} +1 -1
- package/dist/assets/{relative-import-specifier-BYAhyrJB.js → relative-import-specifier-a5wd_Gs0.js} +1 -1
- package/dist/assets/{render-env-B1wH7fHT.js → render-env-DgCta-cM.js} +1 -1
- package/dist/assets/{render-features-3RuZHNil.js → render-features-D9IRNSOg.js} +1 -1
- package/dist/assets/{render-settings-g7GjWbWz.js → render-settings-K5ykAjto.js} +1 -1
- package/dist/assets/{resolve-three-CxQYv2TG.js → resolve-three-QtDpVk2v.js} +3 -3
- package/dist/assets/{root-seam-contract-83WtGZLy.js → root-seam-contract-BAJnkEp5.js} +1 -1
- package/dist/assets/{run-selection-CbbkdiVa.js → run-selection-BmhnFN7A.js} +1 -1
- package/dist/assets/{scene-capture-D40NjXPA.js → scene-capture-CPjMfWPb.js} +1 -1
- package/dist/assets/{scene-document.service-CGuSHR7G.js → scene-document.service-lXXx86ZY.js} +2 -2
- package/dist/assets/{scene-framing-CW4xYn6O.js → scene-framing-DAsS4rid.js} +1 -1
- package/dist/assets/{seeded-random-CAqZIdXG.js → seeded-random-BiOJCjoh.js} +1 -1
- package/dist/assets/{setup-renderer-D7L8zwh7.js → setup-renderer-BLHf2o5h.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-Ck6HeIsb.js → source-object3d-authoring-adapter-DCTt6xT1.js} +1 -1
- package/dist/assets/{source-persistence-backend-ByO8zcO-.js → source-persistence-backend-BizSv5Yp.js} +1 -1
- package/dist/assets/{stage-keyboard-UcsUVfFH.js → stage-keyboard-9hdCldtL.js} +1 -1
- package/dist/assets/{stage-overlay-set-CpkLv5a8.js → stage-overlay-set-DK8sGIBe.js} +1 -1
- package/dist/assets/{stage-presence-markers-BkXKmM4k.js → stage-presence-markers-Bu19oyb3.js} +1 -1
- package/dist/assets/{stage-transform-tools-CqbCNehX.js → stage-transform-tools-BWs1sSub.js} +1 -1
- package/dist/assets/{standard-viewport-dressing-BZEmrqOp.js → standard-viewport-dressing-3h78wiJH.js} +1 -1
- package/dist/assets/{state-watch.action-CfsF5QAE.js → state-watch.action-X_hXCJzX.js} +1 -1
- package/dist/assets/{state-watch.menu-ChH8I0dY.js → state-watch.menu-B33dSJ7V.js} +1 -1
- package/dist/assets/{state-watch.utility-BmDzjELZ.js → state-watch.utility-CS3p0R5B.js} +1 -1
- package/dist/assets/{story-capture-BskAioMq.js → story-capture-BBg5pgKT.js} +1 -1
- package/dist/assets/{story-documents-DnE4jgvE.js → story-documents-q5m3c_wY.js} +1 -1
- package/dist/assets/{story-documents.service-AQGQJC0I.js → story-documents.service-BtNfViZy.js} +1 -1
- package/dist/assets/{story-documents.service-1gJObQ8z.js → story-documents.service-Dwsqu7bW.js} +1 -1
- package/dist/assets/{story-media-presence-BNfIf46P.js → story-media-presence-hCARiVUc.js} +1 -1
- package/dist/assets/{story-pixi-preview-DmHvADPy.js → story-pixi-preview-CMwSxREi.js} +1 -1
- package/dist/assets/{story-presentation-B7KrLZFp.js → story-presentation--uk_0JJX.js} +1 -1
- package/dist/assets/{story-three-preview-DDW2RKzh.js → story-three-preview-lkPW7Mla.js} +2 -2
- package/dist/assets/{studio-environment-BiyZ_fKG.js → studio-environment-ByTLZM6a.js} +1 -1
- package/dist/assets/{surface-state-Cl8o0sNg.js → surface-state-GPRTCWsc.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-iYoUMO6Q.js → syntactic-prop-specs-BZ2T0Dju.js} +1 -1
- package/dist/assets/{team-playtest.service-CooeJ_Zd.js → team-playtest.service-COi4KAFM.js} +1 -1
- package/dist/assets/{three-DceOigjb.js → three-B95eDXwg.js} +1 -1
- package/dist/assets/{three-authoring-adapter-Cq3TSro5.js → three-authoring-adapter-mRgWq9dH.js} +1 -1
- package/dist/assets/three-authoring.service-DYHH4MQS.js +2 -0
- package/dist/assets/{three-ingest-runtime-DMksDqGa.js → three-ingest-runtime-CSUpmThV.js} +1 -1
- package/dist/assets/{three-integration-CnSeFPfV.js → three-integration-DPryzrWM.js} +2 -2
- package/dist/assets/three-integration.service-Bxn19GhH.js +1 -0
- package/dist/assets/{three-projection-core-BUyc71nS.js → three-projection-core-C6Fuom2Z.js} +1 -1
- package/dist/assets/{three-state-DFwWK7TR.js → three-state-BjGdd42C.js} +1 -1
- package/dist/assets/{three-story-capture.service-DJ-LQSio.js → three-story-capture.service-BguWqBuW.js} +2 -2
- package/dist/assets/{three-story-model-C0jFl_4V.js → three-story-model-BcQRzfG1.js} +1 -1
- package/dist/assets/{three-viewport-presentation-C8UomM5b.js → three-viewport-presentation-PE5VLtVN.js} +1 -1
- package/dist/assets/{transform-mode-request-B8XLJiow.js → transform-mode-request-DrXkGR49.js} +1 -1
- package/dist/assets/{transport-strip-JPlCQ43k.js → transport-strip-B9M8lv_7.js} +1 -1
- package/dist/assets/transport.header--skZwiFx.js +1 -0
- package/dist/assets/{tuples-Cf29xw0s.js → tuples-B5xEbsBJ.js} +1 -1
- package/dist/assets/{ui-board-document-xkPOta7l.js → ui-board-document-Bp7xB2i3.js} +2 -2
- package/dist/assets/{user-data-Biy_G8E_.js → user-data-BCzozK6p.js} +1 -1
- package/dist/assets/{utility-view-state-CnxBGQMV.js → utility-view-state-LNjKjbXt.js} +1 -1
- package/dist/assets/{viewport-door-B06zA3yw.js → viewport-door-876vvdh-.js} +1 -1
- package/dist/assets/{viewport-root-presentation-V-wo8ZMn.js → viewport-root-presentation-DjeK1HDN.js} +1 -1
- package/dist/assets/{viewport-surface-status-CE7k_ROY.js → viewport-surface-status-Cu-MsQ9Z.js} +1 -1
- package/dist/assets/{webworkerAll-A-SjsdFi.js → webworkerAll-Cby9Al9A.js} +1 -1
- package/dist/assets/{workspace-arrangement-Dr78FbO1.js → workspace-arrangement-DTpl9s7F.js} +1 -1
- package/dist/assets/{world-documents-CXzhE4ms.js → world-documents-DYaA8YwM.js} +1 -1
- package/dist/assets/{world-root-stage-binding-uU6Mh0O2.js → world-root-stage-binding-pOiqC5Pw.js} +1 -1
- package/dist/assets/{xstate-animation-binding-DrexgJW8.js → xstate-animation-binding-Dlgd2kK4.js} +1 -1
- package/dist/assets/{xstate-animation-meta-cZK6hZHv.js → xstate-animation-meta-OTs0c50R.js} +1 -1
- package/dist-node/cli.js +16 -16
- package/package.json +16 -16
- package/dist/assets/InspectorObjectPreview-IlA9OIxO.js +0 -1
- package/dist/assets/Object3DDocumentViewport-DMi-5F2Q.js +0 -2
- package/dist/assets/StageHost-B9sSUzs_.js +0 -2
- package/dist/assets/autoplay.service-HX7sWdpH.js +0 -1
- package/dist/assets/instances.command-BDHO7izy.js +0 -1
- package/dist/assets/network-observer.service-DgtbaNJT.js +0 -1
- package/dist/assets/three-authoring.service-BuoV1X5M.js +0 -2
- package/dist/assets/three-integration.service-Dlr-kKjU.js +0 -1
- package/dist/assets/transport.header-C8n31oH4.js +0 -1
package/dist/assets/{react-inspector.service-BAuL_Wyz.js → react-inspector.service--CnSg1fP.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./jsx-runtime-DPjLkJKQ.js";import{eM as ye,eN as ne,eO as xe,eP as be,eQ as je,eR as Se,dR as ve,eS as Ce,eT as Re,eU as ke,eV as we,aG as Ee,e4 as m,er as u,et as j,a6 as k,eW as O,eX as $e,eY as H,bH as V,U as B,ex as Te,aN as Y,eZ as se,e_ as Ie,e$ as Ne,aS as Me,ax as ie,f0 as Oe,f1 as Ae}from"./index-CMCwkjoq.js";import{r as v}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{p as re,G as ae,c as M,B as Be,A as Fe,S as A,a as _e,b as De,F as Le,d as X,e as ze,f as Pe,T as We,g as J,h as Ge,i as He,j as Ue}from"./ShadowEditor-BujnAQRV.js";import{C as Ve}from"./ColorPicker-D7aFqHEF.js";import{s as oe,a as U,b as Ke}from"./board-guides-BkCq-F99.js";import{b as Ye}from"./eyedropper-session-bjPXnfeX.js";import{k as Xe,l as Je}from"./inspect-CZp20yd1.js";import{D as Qe}from"./dom-authoring-adapter-Cy42Tu1m.js";import{R as D,c as Ze}from"./react-world-authoring-adapter-B_MklJZn.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./inference-diagnostics-DunJmJ9Z.js";import"./json-history-resource-BvW4pMsd.js";import"./relative-import-specifier-BYAhyrJB.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";function le(e,t){if(!e)return null;const s=(()=>{if(!(t instanceof Ee))return t;const i=t.ownerOf(e.id);return i===null?null:t.childAdapters().find(a=>a.worldId===i)?.adapter??null})();return s instanceof D||s instanceof Qe?s:null}const qe=(e,t)=>le(e,t)!==null,et="element",tt=1500,nt="story",st=1600;function T(e){const t=e.indexOf(".");return t===-1?e:e.slice(t+1)}function it(e){const t=T(e.path);return e.type==="color"?"color":/^fontFamily$/i.test(t)?"font":t==="background"||t==="backgroundImage"?"gradient":t==="boxShadow"?"shadow":t==="textShadow"?"text-shadow":t==="filter"?"filter":t==="backdropFilter"?"backdrop-filter":t==="borderRadius"?"radius":e.type==="string"&&t==="transform"?"transform":e.type==="boolean"?"checkbox":e.type==="enum"?"select":e.type==="json"?"json":e.type==="number"?"scrub":"text"}function rt(e,t,s,i){if(!(e.path==="style.borderWidth"||e.path==="style.borderStyle"||e.path==="style.borderColor"))return!1;const o=t.get("style.borderWidth"),c=t.get("style.borderStyle"),r=t.get("style.borderColor");return!o||!c||!r?!1:(i.push({kind:"border",width:o,style:c,color:r}),s.add(o.path),s.add(c.path),s.add(r.path),!0)}function at(e,t,s,i){if(!(e.path==="style.justifyContent"||e.path==="style.alignItems"))return!1;const o=t.get("style.justifyContent"),c=t.get("style.alignItems");return!o||!c?!1:(i.push({kind:"align",justify:o,align:c}),s.add(o.path),s.add(c.path),!0)}function ce(e){const t=new Map(e.map(a=>[a.path,a])),s=new Set,i=[];for(const a of e)s.has(a.path)||rt(a,t,s,i)||at(a,t,s,i)||i.push({kind:"single",prop:a});return i}function L(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function F(e){return`react-prop-${e.replace(/\./g,"-")}`}const de={type:"linear",angle:180,stops:[{color:"#ffffff",position:0},{color:"#000000",position:1}]};function w({label:e,testId:t,children:s}){return n.jsxs("div",{"data-testid":t?`${t}-row`:void 0,style:{...Oe,padding:`${u[2]} ${u[4]}`},children:[n.jsx("span",{style:{width:Ae,flexShrink:0,fontSize:j.base,color:m.textMuted},children:e}),n.jsx("div",{style:{flex:1,minWidth:0},children:s})]})}function ot({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ve,{testId:i,value:String(t??"#ffffff"),disabled:s,onChange:o=>a(e.path,o),onChangeEnd:o=>a(e.path,o),eyedropperFallback:()=>Je([String(t??"")]),onEyedropperPick:o=>Ye(o)})})}function lt({prop:e,raw:t,disabled:s,fonts:i,testId:a,commit:o}){return n.jsx(w,{label:e.label,testId:a,children:n.jsx(Ge,{testId:a,value:String(t??""),fonts:i,disabled:s,onChange:c=>o(e.path,c)})})}function ct({prop:e,raw:t,disabled:s,testId:i,commit:a}){const o=re(String(t??"none"));return o?n.jsx(w,{label:e.label,testId:i,children:n.jsx(ae,{testId:i,value:o,disabled:s,onChange:c=>a(e.path,M(c)),onChangeEnd:c=>a(e.path,M(c))})}):n.jsx(w,{label:e.label,testId:i,children:n.jsx(k,{type:"button",variant:"secondary",className:"volter-field-trigger","data-testid":i,disabled:s,onClick:()=>a(e.path,M(de)),children:"No gradient — click to add"})})}function Q({prop:e,raw:t,disabled:s,testId:i,commit:a,withSpreadInset:o}){const c=ze(String(t??"none"),o),r=o?Pe:We;return n.jsx(w,{label:e.label,testId:i,children:n.jsx(r,{value:c,disabled:s,onChange:l=>a(e.path,J(l,o)),onChangeEnd:l=>a(e.path,J(l,o))})})}function Z({prop:e,raw:t,disabled:s,testId:i,commit:a,label:o}){const c=De(String(t??"none"));return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Le,{testId:i,label:o,value:c,disabled:s,onChange:r=>a(e.path,X(r)),onChangeEnd:r=>a(e.path,X(r))})})}const G=[{key:"topLeft",suffix:"TopLeft"},{key:"topRight",suffix:"TopRight"},{key:"bottomLeft",suffix:"BottomLeft"},{key:"bottomRight",suffix:"BottomRight"}];function dt({adapter:e,id:t,prop:s,raw:i,disabled:a,testId:o,commit:c,removeStyle:r}){const l=L(i),d=G.reduce((g,{key:f,suffix:S})=>{const x=e.inspector?.get(t,`style.border${S}Radius`);return g[f]=ie(x)??l,g},{}),y=g=>{if(Ue(g)){c(s.path,g.topLeft);for(const{suffix:f}of G)r(`style.border${f}Radius`);return}for(const{key:f,suffix:S}of G)c(`style.border${S}Radius`,g[f])};return n.jsx(w,{label:s.label,testId:o,children:n.jsx(_e,{value:d,disabled:a,onChange:y,onChangeEnd:y})})}function ut({prop:e,raw:t,disabled:s,testId:i,commit:a}){const o=se.has(T(e.path))?"":"px";return n.jsx(A,{testId:i,label:e.label,value:L(t),unit:o,disabled:s,onChange:c=>a(e.path,c),onChangeEnd:c=>a(e.path,c),style:{padding:`${u[2]} ${u[4]}`}})}function pt({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(V,{"data-testid":i,value:String(t??""),disabled:s,"data-dynamic":s||void 0,onChange:o=>a(e.path,o.target.value),style:{width:"100%"},children:(e.options??[]).map(o=>n.jsx("option",{value:String(o),children:String(o)},String(o)))})})}function gt({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsxs("label",{style:{display:"flex",gap:u[3],alignItems:"center",padding:`${u[3]} ${u[4]}`,fontSize:j.md},children:[n.jsx(Me,{className:"volter-checkbox","data-testid":i,checked:t!==!1,disabled:s,onChange:o=>a(e.path,o.target.checked)}),e.label]})}function ht({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ne,{"data-testid":i,defaultValue:JSON.stringify(t??null),disabled:s,"data-dynamic":s||void 0,"data-variant":"code",style:{width:"100%",minHeight:40},onBlur:o=>{try{a(e.path,JSON.parse(o.target.value))}catch{}}})})}function ue({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ie,{type:"text","data-testid":i,readOnly:s,"data-dynamic":s||void 0,value:String(t??""),onCommit:o=>a(e.path,o),style:{width:"100%"}})})}const ft=/^rotate\(\s*(-?[\d.]+)deg\s*\)\s*scale\(\s*(-?[\d.]+)\s*\)$/i,mt=/^scale\(\s*(-?[\d.]+)\s*\)\s*rotate\(\s*(-?[\d.]+)deg\s*\)$/i,yt=/^rotate\(\s*(-?[\d.]+)deg\s*\)$/i,xt=/^scale\(\s*(-?[\d.]+)\s*\)$/i,bt=/^matrix\(\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*\)$/,_=1e-4;function jt(e){const t=e.trim();if(t===""||t==="none")return{rotateDeg:0,scale:1};const s=ft.exec(t);if(s)return{rotateDeg:Number(s[1]),scale:Number(s[2])};const i=mt.exec(t);if(i)return{rotateDeg:Number(i[2]),scale:Number(i[1])};const a=yt.exec(t);if(a)return{rotateDeg:Number(a[1]),scale:1};const o=xt.exec(t);if(o)return{rotateDeg:0,scale:Number(o[1])};const c=bt.exec(t);if(!c)return null;const[r,l,d,y,g,f]=c.slice(1,7).map(Number);if(Math.abs(g)>_||Math.abs(f)>_||Math.abs(d+l)>_||Math.abs(y-r)>_)return null;const S=Math.hypot(r,l);if(S<_)return null;const x=Math.atan2(l,r)*180/Math.PI;return{rotateDeg:Math.round(x*100)/100,scale:Math.round(S*1e3)/1e3}}function St(e){return`rotate(${e.rotateDeg}deg) scale(${e.scale})`}function vt(e){const{prop:t,raw:s,disabled:i,testId:a,commit:o}=e,c=jt(String(s??"none"));if(!c)return n.jsx(ue,{...e});const r=l=>o(t.path,St(l));return n.jsx(w,{label:t.label,testId:a,children:n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[n.jsx(A,{testId:`${a}-rotate`,label:"Rotate",value:c.rotateDeg,unit:"deg",disabled:i,onChange:l=>r({...c,rotateDeg:l}),onChangeEnd:l=>r({...c,rotateDeg:l}),style:{flex:1}}),n.jsx(A,{testId:`${a}-scale`,label:"Scale",value:c.scale,unit:"x",step:.1,disabled:i,onChange:l=>r({...c,scale:l}),onChangeEnd:l=>r({...c,scale:l}),style:{flex:1}})]})})}function $({adapter:e,id:t,prop:s,fonts:i}){const a=B(),o=(l,d)=>{e.inspector?.set(t,l,d),a.notifyIngestEdit()},c=l=>{e.inspector?.remove?.(t,l),a.notifyIngestEdit()},r={prop:s,raw:e.inspector?.get(t,s.path),disabled:s.readonly,testId:F(s.path),commit:o,fonts:i};switch(it(s)){case"color":return n.jsx(ot,{...r});case"font":return n.jsx(lt,{...r});case"gradient":return n.jsx(ct,{...r});case"shadow":return n.jsx(Q,{...r,withSpreadInset:!0});case"text-shadow":return n.jsx(Q,{...r,withSpreadInset:!1});case"filter":return n.jsx(Z,{...r,label:"Filter"});case"backdrop-filter":return n.jsx(Z,{...r,label:"Backdrop Filter"});case"radius":return n.jsx(dt,{...r,adapter:e,id:t,removeStyle:c});case"transform":return n.jsx(vt,{...r});case"scrub":return n.jsx(ut,{...r});case"select":return n.jsx(pt,{...r});case"checkbox":return n.jsx(gt,{...r});case"json":return n.jsx(ht,{...r});default:return n.jsx(ue,{...r})}}function pe({adapter:e,id:t,row:s}){const i=B(),a=(r,l)=>{e.inspector?.set(t,r,l),i.notifyIngestEdit()},o=r=>{e.inspector?.remove?.(t,r),i.notifyIngestEdit()};if(s.kind==="border"){const r={width:L(e.inspector?.get(t,s.width.path)),style:String(e.inspector?.get(t,s.style.path)??"solid"),color:String(e.inspector?.get(t,s.color.path)??"#000000")},l=f=>{const S=ie(e.inspector?.get(t,`style.border${f}Width`)),x=e.inspector?.get(t,`style.border${f}Style`),C=e.inspector?.get(t,`style.border${f}Color`),p=typeof C=="string"?Ze(C):void 0;return{width:S??r.width,style:typeof x=="string"&&x?x:r.style,color:p??r.color}},d={top:l("Top"),right:l("Right"),bottom:l("Bottom"),left:l("Left")},y=["Top","Right","Bottom","Left"],g=f=>{if(He(f)){a(s.width.path,f.top.width),a(s.style.path,f.top.style),a(s.color.path,f.top.color);for(const x of y)o(`style.border${x}Width`),o(`style.border${x}Style`),o(`style.border${x}Color`);return}const S=y.map(x=>({suffix:x,side:f[x.toLowerCase()]}));for(const{suffix:x,side:C}of S)a(`style.border${x}Width`,C.width),a(`style.border${x}Style`,C.style),a(`style.border${x}Color`,C.color)};return n.jsx(w,{label:"Border",testId:"react-prop-border",children:n.jsx(Be,{value:d,onChange:g,onChangeEnd:g})})}const c={justify:e.inspector?.get(t,s.justify.path)??"flex-start",align:e.inspector?.get(t,s.align.path)??"flex-start"};return n.jsx(w,{label:"Align",testId:"react-prop-align",children:n.jsx(Fe,{value:c,onChange:r=>{a(s.justify.path,r.justify),a(s.align.path,r.align)}})})}function z(e){return e.kind==="single"?e.prop.path:e.kind==="border"?`border:${e.width.path}`:`align:${e.justify.path}`}function E(e,t,s,i,a){if(!s)return null;const o=se.has(T(s.path))?"":"px",c=F(s.path);return n.jsx(A,{testId:c,label:i,value:L(e.inspector?.get(t,s.path)),unit:o,disabled:s.readonly,onChange:r=>a(s.path,r),onChangeEnd:r=>a(s.path,r),style:{flex:1,minWidth:0}},s.path)}function Ct({adapter:e,id:t,props:s,fonts:i,showConstraints:a,onToggleConstraints:o}){const c=B(),r=new Map(s.map(p=>[T(p.path),p])),l=(p,P)=>{e.inspector?.set(t,p,P),c.notifyIngestEdit()},d=String(e.inspector?.get(t,r.get("display")?.path??"style.display")??""),y=d==="flex"||d==="inline-flex",g=d==="grid"||d==="inline-grid",f=r.get("display"),S=r.get("gap"),x=ce(s.filter(p=>["justifyContent","alignItems"].includes(T(p.path)))),C=["flexDirection","flexWrap","overflow"].map(p=>r.get(p)).filter(p=>!!p);return n.jsxs("div",{style:{padding:"2px 8px 7px"},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[E(e,t,r.get("width"),"W",l),E(e,t,r.get("height"),"H",l)]}),a&&n.jsxs("div",{"data-testid":"react-layout-constraints",style:{marginTop:5},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[E(e,t,r.get("minWidth"),"Min W",l),E(e,t,r.get("minHeight"),"Min H",l)]}),n.jsxs("div",{style:{display:"flex",gap:u[3],marginTop:u[2]},children:[E(e,t,r.get("maxWidth"),"Max W",l),E(e,t,r.get("maxHeight"),"Max H",l)]})]}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-layout-toggle-constraints",onClick:o,style:{display:"flex",margin:"2px auto 5px"},children:a?"− constraints":"··· constraints"}),n.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1.35fr) minmax(0, 1fr)",gap:u[3]},children:[f&&n.jsx(V,{"data-testid":F(f.path),value:d,disabled:f.readonly,"data-dynamic":f.readonly||void 0,onChange:p=>l(f.path,p.target.value),style:{width:"100%"},children:(f.options??[]).map(p=>n.jsx("option",{value:String(p),children:String(p)},String(p)))}),E(e,t,S,"Gap",l)]}),y&&n.jsxs("div",{"data-testid":"react-layout-flex-controls",style:{marginTop:5},children:[C.filter(p=>T(p.path)!=="overflow").map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),x.map(p=>p.kind==="single"?n.jsx($,{adapter:e,id:t,prop:p.prop,fonts:i},z(p)):n.jsx(pe,{adapter:e,id:t,row:p},z(p)))]}),g&&n.jsxs("div",{"data-testid":"react-layout-grid-controls",style:{marginTop:5},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[q(e,t,r.get("gridTemplateColumns"),"Cols",l),q(e,t,r.get("gridTemplateRows"),"Rows",l)]}),[r.get("gridTemplateColumns"),r.get("gridTemplateRows")].filter(p=>!!p).map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),n.jsxs("div",{style:{display:"flex",gap:u[3],marginTop:u[1]},children:[E(e,t,r.get("rowGap"),"Row Gap",l),E(e,t,r.get("columnGap"),"Col Gap",l)]}),r.get("gridAutoFlow")&&n.jsx($,{adapter:e,id:t,prop:r.get("gridAutoFlow"),fonts:i})]}),C.filter(p=>T(p.path)==="overflow").map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),n.jsx(Rt,{adapter:e,id:t,byName:r,fonts:i})]})}function ge(e){const t=e.trim();if(!t||t==="none")return 0;const s=[];let i=0,a=0;for(let c=0;c<t.length;c++){const r=t[c];r==="("||r==="["?i++:r===")"||r==="]"?i--:r===" "&&i===0&&(c>a&&s.push(t.slice(a,c)),a=c+1)}a<t.length&&s.push(t.slice(a));let o=0;for(const c of s){const r=/^repeat\(\s*(\d+)\s*,([\s\S]*)\)$/.exec(c);o+=r?.[1]&&r[2]!==void 0?Number(r[1])*ge(r[2]):1}return o}function q(e,t,s,i,a){if(!s)return null;let o=null;const c=r=>{const d=`repeat(${Math.max(1,Math.round(r))}, 1fr)`;d!==o&&(o=d,a(s.path,d))};return n.jsx(A,{testId:`${F(s.path)}-count`,label:i,value:ge(String(e.inspector?.get(t,s.path)??"")),min:1,disabled:s.readonly,onChange:c,onChangeEnd:c,style:{flex:1,minWidth:0}},`${s.path}-count`)}function Rt({adapter:e,id:t,byName:s,fonts:i}){const[a,o]=v.useState(!1),c=["gridColumn","gridRow","justifySelf"].map(r=>s.get(r)).filter(r=>!!r);return c.length===0?null:n.jsxs(n.Fragment,{children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-layout-toggle-grid-item",onClick:()=>o(r=>!r),style:{display:"flex",margin:"2px auto 0"},children:a?"− grid item":"··· grid item"}),a&&n.jsx("div",{"data-testid":"react-layout-grid-item",children:c.map(r=>n.jsx($,{adapter:e,id:t,prop:r,fonts:i},r.path))})]})}function kt(e){const t=e.trim();if(!t||t==="none")return[];const s=[];let i=0,a=0;for(let o=0;o<t.length;o++){const c=t[o];c==="("?i++:c===")"?i--:c===","&&i===0&&(s.push(t.slice(a,o).trim()),a=o+1)}return s.push(t.slice(a).trim()),s.filter(Boolean)}function ee(e){return/^url\((['"]?)([\s\S]*)\1\)$/.exec(e.trim())?.[2]??null}function wt({adapter:e,id:t,props:s,fonts:i}){const a=B(),o=new Map(s.map(h=>[T(h.path),h])),c=(h,b)=>{e.inspector?.set(t,h,b),a.notifyIngestEdit()},r=o.get("backgroundImage"),l=o.get("backgroundColor"),[d,y]=v.useState(null),[g,f]=v.useState(null),S=String(r?e.inspector?.get(t,r.path)??"":""),x=kt(S),C=h=>{if(r){if(h.length>0){c(r.path,h.join(", "));return}e.inspector?.remove?.(t,r.path),a.notifyIngestEdit()}},p=(h,b)=>C(x.map((R,I)=>I===h?b:R)),P=h=>{y(null),C(x.filter((b,R)=>R!==h))},K=(h,b)=>{const R=[...x],I=R[h+b];I===void 0||R[h]===void 0||(R[h+b]=R[h],R[h]=I,y(null),C(R))},W={background:"none",border:"none",color:m.textMuted,cursor:"pointer",fontSize:j.base,padding:`${u[2]} ${u[3]}`,lineHeight:O.tight};return n.jsxs("div",{"data-testid":"react-fill-list",style:{padding:"2px 8px 7px"},children:[x.map((h,b)=>{const R=re(h),I=ee(h),me=R?`${R.type} gradient`:I!==null?I.split("/").pop()??"image":h.slice(0,22);return n.jsxs("div",{style:{marginBottom:3},children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:5},children:[n.jsxs("button",{type:"button","data-testid":`react-fill-layer-${b}`,title:h,onClick:()=>y(d===b?null:b),style:{display:"flex",alignItems:"center",gap:u[3],flex:1,minWidth:0,background:"none",border:"none",cursor:"pointer",padding:`${u[1]} 0`,color:m.text,fontSize:j.base,textAlign:"left"},children:[n.jsx("span",{style:{width:16,height:16,flexShrink:0,borderRadius:Te.sm,border:`1px solid ${m.border}`,background:h,backgroundSize:"cover"}}),n.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:me})]}),b>0&&n.jsx("button",{type:"button","data-testid":`react-fill-up-${b}`,title:"Raise this fill",onClick:()=>K(b,-1),style:W,children:"↑"}),b<x.length-1&&n.jsx("button",{type:"button","data-testid":`react-fill-down-${b}`,title:"Lower this fill",onClick:()=>K(b,1),style:W,children:"↓"}),n.jsx("button",{type:"button","data-testid":`react-fill-remove-${b}`,title:"Remove this fill (CSS has no hidden-layer state — removing is Figma's eye)",onClick:()=>P(b),style:W,children:"✕"})]}),d===b&&R&&n.jsx(ae,{testId:`react-fill-gradient-${b}`,value:R,onChange:N=>p(b,M(N)),onChangeEnd:N=>p(b,M(N))}),d===b&&I!==null&&n.jsx(Y,{"data-testid":`react-fill-url-${b}`,defaultValue:I,placeholder:"image url",onBlur:N=>p(b,`url("${N.target.value.trim()}")`),onKeyDown:N=>{N.key==="Enter"&&p(b,`url("${N.currentTarget.value.trim()}")`)},style:{width:"100%",marginTop:u[1]}})]},`${b}-${h.slice(0,24)}`)}),g!==null&&n.jsx(Y,{"data-testid":"react-fill-image-draft",value:g,placeholder:"image url — Enter to add",autoFocus:!0,onChange:h=>f(h.target.value),onKeyDown:h=>{h.key==="Enter"&&g.trim()&&(C([`url("${g.trim()}")`,...x]),f(null)),h.key==="Escape"&&f(null)},style:{width:"100%",marginBottom:3}}),n.jsxs("div",{style:{display:"flex",gap:u[2]},children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-fill-add-gradient",onClick:()=>{C([M(de),...x]),y(0)},children:"+ gradient"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-fill-add-image",onClick:()=>f(""),children:"+ image"})]}),x.some(h=>ee(h)!==null)&&["backgroundSize","backgroundPosition","backgroundRepeat"].map(h=>o.get(h)).filter(h=>!!h).map(h=>n.jsx($,{adapter:e,id:t,prop:h,fonts:i},h.path)),l&&n.jsx($,{adapter:e,id:t,prop:l,fonts:i})]})}function Et({adapter:e,id:t,props:s,fonts:i}){const a=B(),o=new Map(s.map(g=>[T(g.path),g])),c=o.get("position"),r=String(c?e.inspector?.get(t,c.path)??"static":"static"),l=(g,f)=>{e.inspector?.set(t,g,f),a.notifyIngestEdit()},d=["top","right","bottom","left"],y=["zIndex","flexGrow","flexShrink","flexBasis","alignSelf"].map(g=>o.get(g)).filter(g=>!!g);return n.jsxs("div",{style:{padding:"2px 8px 7px"},children:[c&&n.jsx("div",{"data-testid":F(c.path),style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:u[1]},children:(c.options??[]).map(g=>{const f=String(g),S=f===r;return n.jsx(k,{type:"button",variant:S?"primary":"secondary",size:"compact","aria-pressed":S,title:f,disabled:c.readonly,onClick:()=>l(c.path,f),children:f.slice(0,3)},f)})}),r!=="static"&&n.jsx("div",{"data-testid":"react-position-offsets",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:u[2],marginTop:u[3]},children:d.map(g=>E(e,t,o.get(g),g[0].toUpperCase(),l))}),y.length>0&&n.jsxs("div",{style:{borderTop:`1px solid ${m.border}`,marginTop:7,paddingTop:3},children:[n.jsx("div",{style:{color:m.textMuted,fontSize:j.xs,padding:"2px 0 1px"},children:"STACKING & FLEX ITEM"}),y.map(g=>n.jsx($,{adapter:e,id:t,prop:g,fonts:i},g.path))]})]})}function $t({adapter:e,id:t,props:s}){const i=B(),a=new Map(s.map(d=>[T(d.path),d])),o=(d,y)=>{e.inspector?.set(t,d,y),i.notifyIngestEdit()},c=d=>{const y=a.get(d);return y?n.jsx(A,{testId:F(y.path),label:"",value:L(e.inspector?.get(t,y.path)),unit:"px",disabled:y.readonly,onChange:g=>o(y.path,g),onChangeEnd:g=>o(y.path,g),style:{width:46,minWidth:0,flex:"none"}},y.path):n.jsx("span",{},d)},r=d=>n.jsx("span",{style:{position:"absolute",top:2,left:6,fontSize:8,letterSpacing:".08em",color:m.textMuted,pointerEvents:"none"},children:d}),l={display:"flex",alignItems:"center",justifyContent:"center"};return n.jsx("div",{style:{padding:`${u[1]} ${u[4]} ${u[4]}`},"data-testid":"react-spacing-box",children:n.jsxs("div",{style:{position:"relative",border:`1px solid ${m.border}`,borderRadius:4,padding:"11px 4px 3px"},children:[r("MARGIN"),n.jsx("div",{style:l,children:c("marginTop")}),n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:u[1]},children:[c("marginLeft"),n.jsxs("div",{style:{position:"relative",flex:1,minWidth:0,border:`1px dashed ${m.border}`,borderRadius:4,padding:"11px 4px 3px"},children:[r("PADDING"),n.jsx("div",{style:l,children:c("paddingTop")}),n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:u[1]},children:[c("paddingLeft"),c("paddingRight")]}),n.jsx("div",{style:l,children:c("paddingBottom")})]}),c("marginRight")]}),n.jsx("div",{style:l,children:c("marginBottom")})]})})}function Tt({name:e,groupId:t,props:s,adapter:i,id:a,fonts:o}){const[c,r]=v.useState(!1),l=ce(s);return n.jsxs("div",{"data-testid":`react-inspector-group-${t}`,children:[e==="Layout"&&n.jsx(Ct,{adapter:i,id:a,props:s,fonts:o,showConstraints:c,onToggleConstraints:()=>r(d=>!d)}),e==="Position"&&n.jsx(Et,{adapter:i,id:a,props:s,fonts:o}),e==="Spacing"&&n.jsx($t,{adapter:i,id:a,props:s}),e==="Fill"&&n.jsx(wt,{adapter:i,id:a,props:s,fonts:o}),e!=="Layout"&&e!=="Position"&&e!=="Spacing"&&e!=="Fill"&&l.map(d=>d.kind==="single"?n.jsx($,{adapter:i,id:a,prop:d.prop,fonts:o},z(d)):n.jsx(pe,{adapter:i,id:a,row:d},z(d)))]})}function It({adapter:e,node:t}){const s=[];let i=t,a=0;for(;i&&a++<100;)s.unshift(i),i=i.parentId?e.hierarchy.node(i.parentId):null;return n.jsx("nav",{"aria-label":"Selection ancestry","data-testid":"react-inspector-breadcrumbs",style:{display:"flex",alignItems:"center",gap:3,padding:`${u[3]} ${u[4]}`,overflowX:"auto",borderBottom:`1px solid ${m.border}`,whiteSpace:"nowrap"},children:s.map((o,c)=>n.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[c>0&&n.jsx("span",{style:{color:m.textMuted},children:"/"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","aria-current":o.id===t.id?"page":void 0,title:o.secondaryLabel??o.label,onClick:()=>$e(e,[o.id]),children:o.label})]},o.id))})}function Nt({owner:e,node:t}){const s=e.portableArgs(t.id),[i,a]=v.useState("idle"),[o,c]=v.useState(""),[r,l]=v.useState(null),d=async y=>{const g=await e.writeStory(t.id,y);l(g.changed?null:g.error??"refused"),g.changed&&(a("idle"),c(""))};return n.jsxs("div",{"data-testid":"react-story-controls-header",style:{borderBottom:`1px solid ${m.border}`},children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:u[4],padding:"7px 8px"},children:[n.jsxs("div",{style:{minWidth:0},children:[n.jsx("div",{style:{color:m.text,fontSize:j.md,fontWeight:600},children:t.label}),n.jsx("div",{style:{color:m.textMuted,fontSize:j.sm},children:s?`${Object.keys(s).length} args · session controls`:"Portable CSF story"})]}),n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-reset-args",onClick:()=>e.resetPortableArgs(t.id),children:"Reset"})]}),n.jsxs("div",{style:{display:"flex",gap:u[2],padding:`0 ${u[4]} ${u[3]}`,flexWrap:"wrap"},children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-save-as",title:"Write the CURRENT session args as a new story export in this file",onClick:()=>{l(null),c(""),a(i==="save-as"?"idle":"save-as")},children:"Save as…"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-rename",onClick:()=>{l(null),c(""),a(i==="rename"?"idle":"rename")},children:"Rename…"}),i==="confirm-delete"?n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-delete-confirm",onClick:()=>void d({kind:"delete"}),children:"Delete story?"}):n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-delete",onClick:()=>{l(null),a("confirm-delete")},children:"Delete"})]}),(i==="save-as"||i==="rename")&&n.jsxs("div",{style:{display:"flex",gap:u[2],padding:`0 ${u[4]} ${u[4]}`,alignItems:"center"},children:[n.jsx("input",{"data-testid":"react-story-name-input",autoFocus:!0,value:o,placeholder:i==="save-as"?"NewStoryName":`Rename ${t.label}`,onChange:y=>c(y.target.value),onKeyDown:y=>{y.key==="Enter"&&o.trim()&&d(i==="save-as"?{kind:"save-as",name:o.trim()}:{kind:"rename",newName:o.trim()}),y.key==="Escape"&&a("idle")},style:{flex:1,minWidth:0,background:m.neutralHover,border:`1px solid ${m.border}`,borderRadius:4,color:m.text,fontSize:j.base,padding:"3px 6px"}}),n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-name-commit",onClick:()=>void d(i==="save-as"?{kind:"save-as",name:o.trim()}:{kind:"rename",newName:o.trim()}),children:i==="save-as"?"Save":"Rename"})]}),r&&n.jsx("div",{"data-testid":"react-story-write-notice",style:{padding:`0 ${u[4]} ${u[4]}`,color:fe(),fontSize:j.sm,lineHeight:O.normal},children:r})]})}function Mt({owner:e,nodeId:t}){const s=e.elementClasses(t),[i,a]=v.useState(""),[o,c]=v.useState(null),r=async()=>{const l=i.trim().replace(/^\./,"");if(!l)return;const d=await e.writeNamedStyle(t,{kind:"set",className:l});c(d.changed?null:d.error??"refused"),d.changed&&a("")};return n.jsxs("div",{"data-testid":"react-element-classes",style:{padding:`${u[3]} ${u[4]}`,borderBottom:`1px solid ${m.border}`},children:[n.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:u[2],alignItems:"center"},children:[n.jsx("span",{style:{fontSize:j.sm,color:m.textMuted,marginRight:u[1]},children:"Style class"}),s.map(l=>n.jsxs("span",{"data-testid":`react-class-chip-${l.name}`,title:l.styledIn?`.${l.name} — ${l.count} element${l.count===1?"":"s"} in this game share this style (${l.styledIn.split("/").pop()??l.styledIn})`:`.${l.name} — utility/generated class (no first-party rule to edit)`,style:{display:"inline-flex",alignItems:"center",gap:3,fontFamily:H,fontSize:j.sm,color:l.styledIn?m.text:m.textMuted,background:m.neutralHover,border:`1px solid ${m.border}`,borderRadius:4,padding:"1px 4px"},children:[".",l.name,l.count>1&&n.jsxs("span",{style:{color:m.textMuted,fontSize:j.xs},children:["×",l.count]}),n.jsx("button",{type:"button","data-testid":`react-class-remove-${l.name}`,title:`Remove .${l.name} from this element`,onClick:()=>void e.writeNamedStyle(t,{kind:"remove",className:l.name}).then(d=>c(d.changed?null:d.error??"refused")),style:{background:"none",border:"none",color:m.textMuted,cursor:"pointer",fontSize:j.base,padding:"3px 5px",margin:"-3px -4px -3px -1px",lineHeight:O.tight},children:"✕"})]},l.name)),n.jsx("input",{"data-testid":"react-class-input",value:i,placeholder:s.length===0?"create style…":"add class…",title:"Type a class name — an existing first-party class is applied; a new name creates a style from this element's inline declarations",onChange:l=>{a(l.target.value),o&&c(null)},onKeyDown:l=>{l.key==="Enter"&&r(),l.key==="Escape"&&a("")},style:{flex:1,minWidth:72,background:"transparent",border:`1px dashed ${m.border}`,borderRadius:4,color:m.text,fontSize:j.sm,fontFamily:H,padding:"2px 5px"}})]}),o&&n.jsx("div",{"data-testid":"react-class-notice",style:{paddingTop:u[2],color:fe(),fontSize:j.sm,lineHeight:O.normal},children:o}),n.jsx(Ot,{})]})}function Ot(){const e=v.useSyncExternalStore(Ke,U);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:5,paddingTop:5},children:[n.jsx("span",{style:{fontSize:j.sm,color:m.textMuted},children:"Breakpoint"}),n.jsx(V,{"data-testid":"react-breakpoint-select",value:e??"",onChange:t=>oe(t.target.value||null),style:{fontSize:j.sm,flex:1,...e?{color:m.accent,borderColor:m.accent}:{}},children:he.map(t=>n.jsx("option",{value:t.media??"",children:t.label},t.label))})]}),e&&n.jsxs("div",{"data-testid":"react-breakpoint-note",style:{paddingTop:3,color:m.textMuted,fontSize:j.xs,lineHeight:O.normal},children:["Style edits write @media ",e," — previewed live by frame width."]})]})}const he=[{label:"Base",media:null},{label:"Tablet ≤991",media:"(max-width: 991px)"},{label:"Phone L ≤767",media:"(max-width: 767px)"},{label:"Phone ≤479",media:"(max-width: 479px)"}];function fe(){return"#e06c75"}function At({entry:e}){const[t,s]=v.useState(!1),i=`${e.file}:${e.line}`,a=`${e.file.split("/").pop()??e.file}:${e.line}`,o=async()=>{try{await navigator.clipboard.writeText(i),s(!0),setTimeout(()=>s(!1),1500)}catch{}};return n.jsx("button",{type:"button","data-testid":"react-source-location",title:`${i} — click to copy the path`,onClick:()=>void o(),style:{fontFamily:H,fontSize:"inherit",color:m.textMuted,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,background:"none",border:"none",padding:0,textAlign:"left"},children:t?"Copied":a})}function Bt({owner:e,node:t,nodeId:s}){const i=e instanceof D,a=i?e.sourceLocation(s):void 0,o=t?.role==="story"?`Story · ${t.label}`:t?.role==="document"?`CSF · ${t.secondaryLabel??t.label}`:i?"Source":"Session overlay — not written to source",c=t?.role==="story"?`${t.label} is the active portable CSF design state.`:t?.role==="document"?`${t.secondaryLabel??t.label} owns this root's design states.`:i?`Edits change ${t?.label??"this component"}'s source — every rendered instance updates.`:"This is an ingested game: edits persist as a per-project overlay only, never written to source.";return n.jsxs("div",{"data-testid":i?"react-lane-b-disclosure":"react-overlay-disclosure",title:c,style:{display:"flex",alignItems:"center",gap:u[3],padding:`${u[1]} ${u[4]} ${u[3]}`,borderBottom:`1px solid ${m.border}`,color:m.textMuted,fontSize:j.sm,lineHeight:O.normal,minWidth:0},children:[n.jsx("span",{style:{flexShrink:0,...i?{}:{color:m.accent}},children:o}),a&&n.jsx(At,{entry:a})]})}function Ft({adapter:e,node:t,nodeId:s,owner:i}){return n.jsxs("div",{"data-testid":"react-inspector-section",children:[n.jsx(It,{adapter:e,node:t}),i instanceof D&&n.jsx(Mt,{owner:i,nodeId:s}),n.jsx(Bt,{owner:i,node:t,nodeId:s})]})}function te({adapter:e,id:t,name:s,groupId:i,props:a}){const o=v.useMemo(()=>Xe(),[]);return n.jsx(Tt,{name:s,groupId:i,props:a,adapter:e,id:t,fonts:o})}function _t(e,t){const s=le(e,t);if(!s||!e)return[];const i=e.id,a=(t.inspector?.properties(i)??[]).filter(l=>l.path!=="name"),{ungrouped:o,groups:c}=be(a),r=[{id:et,title:"Element",icon:je,order:tt,body:{kind:"custom",render:()=>v.createElement(Ft,{adapter:t,node:e,nodeId:i,owner:s}),...s instanceof D?{data:{classes:s.elementClasses(i),breakpoint:U()},editable:{fields:[{path:"element.breakpoint",label:"Breakpoint",type:"enum",options:he.map(l=>l.media??"")}],io:{get:l=>l==="element.breakpoint"?U()??"":void 0,set:(l,d)=>{l==="element.breakpoint"&&oe(typeof d=="string"&&d?d:null)}}}}:{}}}];return e.role==="story"&&s instanceof D&&r.push({id:nt,title:"Story",icon:Se,order:st,body:{kind:"custom",render:()=>v.createElement(Nt,{owner:s,node:e})}}),o.length>0&&r.push({id:ne,title:"Style",icon:Ce,order:ve,defaultOpen:!0,body:{kind:"custom",render:()=>v.createElement(te,{adapter:t,id:i,name:"Style",groupId:"style",props:o})}}),c.forEach((l,d)=>{r.push({id:we(l.groupId),title:l.name,icon:ke(l.name),order:Re+d,defaultOpen:!0,body:{kind:"custom",render:()=>v.createElement(te,{adapter:t,id:i,name:l.name,groupId:l.groupId,props:l.properties})}})}),r}const Dt=xe();function Lt(){Dt.ensure(e=>{e(ye({match:qe,sections:_t,claims:[ne]}))})}const ln="workspace.service";function cn(){return Lt(),()=>{}}export{ln as point,cn as start};
|
|
1
|
+
import{a as n}from"./jsx-runtime-DPjLkJKQ.js";import{eM as ye,eN as ne,eO as xe,eP as be,eQ as je,eR as Se,dR as ve,eS as Ce,eT as Re,eU as ke,eV as we,aG as Ee,e4 as m,er as u,et as j,a6 as k,eW as O,eX as $e,eY as H,bH as V,U as B,ex as Te,aN as Y,eZ as se,e_ as Ie,e$ as Ne,aS as Me,ax as ie,f0 as Oe,f1 as Ae}from"./index-C3IEVwzA.js";import{r as v}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{p as re,G as ae,c as M,B as Be,A as Fe,S as A,a as _e,b as De,F as Le,d as X,e as ze,f as Pe,T as We,g as J,h as Ge,i as He,j as Ue}from"./ShadowEditor-B7CJc6XL.js";import{C as Ve}from"./ColorPicker-DPs8654V.js";import{s as oe,a as U,b as Ke}from"./board-guides-5y4zeqX7.js";import{b as Ye}from"./eyedropper-session-bjPXnfeX.js";import{k as Xe,l as Je}from"./inspect-B9obej0m.js";import{D as Qe}from"./dom-authoring-adapter-uYyXOnRm.js";import{R as D,c as Ze}from"./react-world-authoring-adapter-Dh-F6SHg.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./inference-diagnostics-NkV5meYv.js";import"./json-history-resource-BZ-2HcB1.js";import"./relative-import-specifier-a5wd_Gs0.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";function le(e,t){if(!e)return null;const s=(()=>{if(!(t instanceof Ee))return t;const i=t.ownerOf(e.id);return i===null?null:t.childAdapters().find(a=>a.worldId===i)?.adapter??null})();return s instanceof D||s instanceof Qe?s:null}const qe=(e,t)=>le(e,t)!==null,et="element",tt=1500,nt="story",st=1600;function T(e){const t=e.indexOf(".");return t===-1?e:e.slice(t+1)}function it(e){const t=T(e.path);return e.type==="color"?"color":/^fontFamily$/i.test(t)?"font":t==="background"||t==="backgroundImage"?"gradient":t==="boxShadow"?"shadow":t==="textShadow"?"text-shadow":t==="filter"?"filter":t==="backdropFilter"?"backdrop-filter":t==="borderRadius"?"radius":e.type==="string"&&t==="transform"?"transform":e.type==="boolean"?"checkbox":e.type==="enum"?"select":e.type==="json"?"json":e.type==="number"?"scrub":"text"}function rt(e,t,s,i){if(!(e.path==="style.borderWidth"||e.path==="style.borderStyle"||e.path==="style.borderColor"))return!1;const o=t.get("style.borderWidth"),c=t.get("style.borderStyle"),r=t.get("style.borderColor");return!o||!c||!r?!1:(i.push({kind:"border",width:o,style:c,color:r}),s.add(o.path),s.add(c.path),s.add(r.path),!0)}function at(e,t,s,i){if(!(e.path==="style.justifyContent"||e.path==="style.alignItems"))return!1;const o=t.get("style.justifyContent"),c=t.get("style.alignItems");return!o||!c?!1:(i.push({kind:"align",justify:o,align:c}),s.add(o.path),s.add(c.path),!0)}function ce(e){const t=new Map(e.map(a=>[a.path,a])),s=new Set,i=[];for(const a of e)s.has(a.path)||rt(a,t,s,i)||at(a,t,s,i)||i.push({kind:"single",prop:a});return i}function L(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function F(e){return`react-prop-${e.replace(/\./g,"-")}`}const de={type:"linear",angle:180,stops:[{color:"#ffffff",position:0},{color:"#000000",position:1}]};function w({label:e,testId:t,children:s}){return n.jsxs("div",{"data-testid":t?`${t}-row`:void 0,style:{...Oe,padding:`${u[2]} ${u[4]}`},children:[n.jsx("span",{style:{width:Ae,flexShrink:0,fontSize:j.base,color:m.textMuted},children:e}),n.jsx("div",{style:{flex:1,minWidth:0},children:s})]})}function ot({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ve,{testId:i,value:String(t??"#ffffff"),disabled:s,onChange:o=>a(e.path,o),onChangeEnd:o=>a(e.path,o),eyedropperFallback:()=>Je([String(t??"")]),onEyedropperPick:o=>Ye(o)})})}function lt({prop:e,raw:t,disabled:s,fonts:i,testId:a,commit:o}){return n.jsx(w,{label:e.label,testId:a,children:n.jsx(Ge,{testId:a,value:String(t??""),fonts:i,disabled:s,onChange:c=>o(e.path,c)})})}function ct({prop:e,raw:t,disabled:s,testId:i,commit:a}){const o=re(String(t??"none"));return o?n.jsx(w,{label:e.label,testId:i,children:n.jsx(ae,{testId:i,value:o,disabled:s,onChange:c=>a(e.path,M(c)),onChangeEnd:c=>a(e.path,M(c))})}):n.jsx(w,{label:e.label,testId:i,children:n.jsx(k,{type:"button",variant:"secondary",className:"volter-field-trigger","data-testid":i,disabled:s,onClick:()=>a(e.path,M(de)),children:"No gradient — click to add"})})}function Q({prop:e,raw:t,disabled:s,testId:i,commit:a,withSpreadInset:o}){const c=ze(String(t??"none"),o),r=o?Pe:We;return n.jsx(w,{label:e.label,testId:i,children:n.jsx(r,{value:c,disabled:s,onChange:l=>a(e.path,J(l,o)),onChangeEnd:l=>a(e.path,J(l,o))})})}function Z({prop:e,raw:t,disabled:s,testId:i,commit:a,label:o}){const c=De(String(t??"none"));return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Le,{testId:i,label:o,value:c,disabled:s,onChange:r=>a(e.path,X(r)),onChangeEnd:r=>a(e.path,X(r))})})}const G=[{key:"topLeft",suffix:"TopLeft"},{key:"topRight",suffix:"TopRight"},{key:"bottomLeft",suffix:"BottomLeft"},{key:"bottomRight",suffix:"BottomRight"}];function dt({adapter:e,id:t,prop:s,raw:i,disabled:a,testId:o,commit:c,removeStyle:r}){const l=L(i),d=G.reduce((g,{key:f,suffix:S})=>{const x=e.inspector?.get(t,`style.border${S}Radius`);return g[f]=ie(x)??l,g},{}),y=g=>{if(Ue(g)){c(s.path,g.topLeft);for(const{suffix:f}of G)r(`style.border${f}Radius`);return}for(const{key:f,suffix:S}of G)c(`style.border${S}Radius`,g[f])};return n.jsx(w,{label:s.label,testId:o,children:n.jsx(_e,{value:d,disabled:a,onChange:y,onChangeEnd:y})})}function ut({prop:e,raw:t,disabled:s,testId:i,commit:a}){const o=se.has(T(e.path))?"":"px";return n.jsx(A,{testId:i,label:e.label,value:L(t),unit:o,disabled:s,onChange:c=>a(e.path,c),onChangeEnd:c=>a(e.path,c),style:{padding:`${u[2]} ${u[4]}`}})}function pt({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(V,{"data-testid":i,value:String(t??""),disabled:s,"data-dynamic":s||void 0,onChange:o=>a(e.path,o.target.value),style:{width:"100%"},children:(e.options??[]).map(o=>n.jsx("option",{value:String(o),children:String(o)},String(o)))})})}function gt({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsxs("label",{style:{display:"flex",gap:u[3],alignItems:"center",padding:`${u[3]} ${u[4]}`,fontSize:j.md},children:[n.jsx(Me,{className:"volter-checkbox","data-testid":i,checked:t!==!1,disabled:s,onChange:o=>a(e.path,o.target.checked)}),e.label]})}function ht({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ne,{"data-testid":i,defaultValue:JSON.stringify(t??null),disabled:s,"data-dynamic":s||void 0,"data-variant":"code",style:{width:"100%",minHeight:40},onBlur:o=>{try{a(e.path,JSON.parse(o.target.value))}catch{}}})})}function ue({prop:e,raw:t,disabled:s,testId:i,commit:a}){return n.jsx(w,{label:e.label,testId:i,children:n.jsx(Ie,{type:"text","data-testid":i,readOnly:s,"data-dynamic":s||void 0,value:String(t??""),onCommit:o=>a(e.path,o),style:{width:"100%"}})})}const ft=/^rotate\(\s*(-?[\d.]+)deg\s*\)\s*scale\(\s*(-?[\d.]+)\s*\)$/i,mt=/^scale\(\s*(-?[\d.]+)\s*\)\s*rotate\(\s*(-?[\d.]+)deg\s*\)$/i,yt=/^rotate\(\s*(-?[\d.]+)deg\s*\)$/i,xt=/^scale\(\s*(-?[\d.]+)\s*\)$/i,bt=/^matrix\(\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*,\s*(-?[\d.eE+-]+)\s*\)$/,_=1e-4;function jt(e){const t=e.trim();if(t===""||t==="none")return{rotateDeg:0,scale:1};const s=ft.exec(t);if(s)return{rotateDeg:Number(s[1]),scale:Number(s[2])};const i=mt.exec(t);if(i)return{rotateDeg:Number(i[2]),scale:Number(i[1])};const a=yt.exec(t);if(a)return{rotateDeg:Number(a[1]),scale:1};const o=xt.exec(t);if(o)return{rotateDeg:0,scale:Number(o[1])};const c=bt.exec(t);if(!c)return null;const[r,l,d,y,g,f]=c.slice(1,7).map(Number);if(Math.abs(g)>_||Math.abs(f)>_||Math.abs(d+l)>_||Math.abs(y-r)>_)return null;const S=Math.hypot(r,l);if(S<_)return null;const x=Math.atan2(l,r)*180/Math.PI;return{rotateDeg:Math.round(x*100)/100,scale:Math.round(S*1e3)/1e3}}function St(e){return`rotate(${e.rotateDeg}deg) scale(${e.scale})`}function vt(e){const{prop:t,raw:s,disabled:i,testId:a,commit:o}=e,c=jt(String(s??"none"));if(!c)return n.jsx(ue,{...e});const r=l=>o(t.path,St(l));return n.jsx(w,{label:t.label,testId:a,children:n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[n.jsx(A,{testId:`${a}-rotate`,label:"Rotate",value:c.rotateDeg,unit:"deg",disabled:i,onChange:l=>r({...c,rotateDeg:l}),onChangeEnd:l=>r({...c,rotateDeg:l}),style:{flex:1}}),n.jsx(A,{testId:`${a}-scale`,label:"Scale",value:c.scale,unit:"x",step:.1,disabled:i,onChange:l=>r({...c,scale:l}),onChangeEnd:l=>r({...c,scale:l}),style:{flex:1}})]})})}function $({adapter:e,id:t,prop:s,fonts:i}){const a=B(),o=(l,d)=>{e.inspector?.set(t,l,d),a.notifyIngestEdit()},c=l=>{e.inspector?.remove?.(t,l),a.notifyIngestEdit()},r={prop:s,raw:e.inspector?.get(t,s.path),disabled:s.readonly,testId:F(s.path),commit:o,fonts:i};switch(it(s)){case"color":return n.jsx(ot,{...r});case"font":return n.jsx(lt,{...r});case"gradient":return n.jsx(ct,{...r});case"shadow":return n.jsx(Q,{...r,withSpreadInset:!0});case"text-shadow":return n.jsx(Q,{...r,withSpreadInset:!1});case"filter":return n.jsx(Z,{...r,label:"Filter"});case"backdrop-filter":return n.jsx(Z,{...r,label:"Backdrop Filter"});case"radius":return n.jsx(dt,{...r,adapter:e,id:t,removeStyle:c});case"transform":return n.jsx(vt,{...r});case"scrub":return n.jsx(ut,{...r});case"select":return n.jsx(pt,{...r});case"checkbox":return n.jsx(gt,{...r});case"json":return n.jsx(ht,{...r});default:return n.jsx(ue,{...r})}}function pe({adapter:e,id:t,row:s}){const i=B(),a=(r,l)=>{e.inspector?.set(t,r,l),i.notifyIngestEdit()},o=r=>{e.inspector?.remove?.(t,r),i.notifyIngestEdit()};if(s.kind==="border"){const r={width:L(e.inspector?.get(t,s.width.path)),style:String(e.inspector?.get(t,s.style.path)??"solid"),color:String(e.inspector?.get(t,s.color.path)??"#000000")},l=f=>{const S=ie(e.inspector?.get(t,`style.border${f}Width`)),x=e.inspector?.get(t,`style.border${f}Style`),C=e.inspector?.get(t,`style.border${f}Color`),p=typeof C=="string"?Ze(C):void 0;return{width:S??r.width,style:typeof x=="string"&&x?x:r.style,color:p??r.color}},d={top:l("Top"),right:l("Right"),bottom:l("Bottom"),left:l("Left")},y=["Top","Right","Bottom","Left"],g=f=>{if(He(f)){a(s.width.path,f.top.width),a(s.style.path,f.top.style),a(s.color.path,f.top.color);for(const x of y)o(`style.border${x}Width`),o(`style.border${x}Style`),o(`style.border${x}Color`);return}const S=y.map(x=>({suffix:x,side:f[x.toLowerCase()]}));for(const{suffix:x,side:C}of S)a(`style.border${x}Width`,C.width),a(`style.border${x}Style`,C.style),a(`style.border${x}Color`,C.color)};return n.jsx(w,{label:"Border",testId:"react-prop-border",children:n.jsx(Be,{value:d,onChange:g,onChangeEnd:g})})}const c={justify:e.inspector?.get(t,s.justify.path)??"flex-start",align:e.inspector?.get(t,s.align.path)??"flex-start"};return n.jsx(w,{label:"Align",testId:"react-prop-align",children:n.jsx(Fe,{value:c,onChange:r=>{a(s.justify.path,r.justify),a(s.align.path,r.align)}})})}function z(e){return e.kind==="single"?e.prop.path:e.kind==="border"?`border:${e.width.path}`:`align:${e.justify.path}`}function E(e,t,s,i,a){if(!s)return null;const o=se.has(T(s.path))?"":"px",c=F(s.path);return n.jsx(A,{testId:c,label:i,value:L(e.inspector?.get(t,s.path)),unit:o,disabled:s.readonly,onChange:r=>a(s.path,r),onChangeEnd:r=>a(s.path,r),style:{flex:1,minWidth:0}},s.path)}function Ct({adapter:e,id:t,props:s,fonts:i,showConstraints:a,onToggleConstraints:o}){const c=B(),r=new Map(s.map(p=>[T(p.path),p])),l=(p,P)=>{e.inspector?.set(t,p,P),c.notifyIngestEdit()},d=String(e.inspector?.get(t,r.get("display")?.path??"style.display")??""),y=d==="flex"||d==="inline-flex",g=d==="grid"||d==="inline-grid",f=r.get("display"),S=r.get("gap"),x=ce(s.filter(p=>["justifyContent","alignItems"].includes(T(p.path)))),C=["flexDirection","flexWrap","overflow"].map(p=>r.get(p)).filter(p=>!!p);return n.jsxs("div",{style:{padding:"2px 8px 7px"},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[E(e,t,r.get("width"),"W",l),E(e,t,r.get("height"),"H",l)]}),a&&n.jsxs("div",{"data-testid":"react-layout-constraints",style:{marginTop:5},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[E(e,t,r.get("minWidth"),"Min W",l),E(e,t,r.get("minHeight"),"Min H",l)]}),n.jsxs("div",{style:{display:"flex",gap:u[3],marginTop:u[2]},children:[E(e,t,r.get("maxWidth"),"Max W",l),E(e,t,r.get("maxHeight"),"Max H",l)]})]}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-layout-toggle-constraints",onClick:o,style:{display:"flex",margin:"2px auto 5px"},children:a?"− constraints":"··· constraints"}),n.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1.35fr) minmax(0, 1fr)",gap:u[3]},children:[f&&n.jsx(V,{"data-testid":F(f.path),value:d,disabled:f.readonly,"data-dynamic":f.readonly||void 0,onChange:p=>l(f.path,p.target.value),style:{width:"100%"},children:(f.options??[]).map(p=>n.jsx("option",{value:String(p),children:String(p)},String(p)))}),E(e,t,S,"Gap",l)]}),y&&n.jsxs("div",{"data-testid":"react-layout-flex-controls",style:{marginTop:5},children:[C.filter(p=>T(p.path)!=="overflow").map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),x.map(p=>p.kind==="single"?n.jsx($,{adapter:e,id:t,prop:p.prop,fonts:i},z(p)):n.jsx(pe,{adapter:e,id:t,row:p},z(p)))]}),g&&n.jsxs("div",{"data-testid":"react-layout-grid-controls",style:{marginTop:5},children:[n.jsxs("div",{style:{display:"flex",gap:u[3]},children:[q(e,t,r.get("gridTemplateColumns"),"Cols",l),q(e,t,r.get("gridTemplateRows"),"Rows",l)]}),[r.get("gridTemplateColumns"),r.get("gridTemplateRows")].filter(p=>!!p).map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),n.jsxs("div",{style:{display:"flex",gap:u[3],marginTop:u[1]},children:[E(e,t,r.get("rowGap"),"Row Gap",l),E(e,t,r.get("columnGap"),"Col Gap",l)]}),r.get("gridAutoFlow")&&n.jsx($,{adapter:e,id:t,prop:r.get("gridAutoFlow"),fonts:i})]}),C.filter(p=>T(p.path)==="overflow").map(p=>n.jsx($,{adapter:e,id:t,prop:p,fonts:i},p.path)),n.jsx(Rt,{adapter:e,id:t,byName:r,fonts:i})]})}function ge(e){const t=e.trim();if(!t||t==="none")return 0;const s=[];let i=0,a=0;for(let c=0;c<t.length;c++){const r=t[c];r==="("||r==="["?i++:r===")"||r==="]"?i--:r===" "&&i===0&&(c>a&&s.push(t.slice(a,c)),a=c+1)}a<t.length&&s.push(t.slice(a));let o=0;for(const c of s){const r=/^repeat\(\s*(\d+)\s*,([\s\S]*)\)$/.exec(c);o+=r?.[1]&&r[2]!==void 0?Number(r[1])*ge(r[2]):1}return o}function q(e,t,s,i,a){if(!s)return null;let o=null;const c=r=>{const d=`repeat(${Math.max(1,Math.round(r))}, 1fr)`;d!==o&&(o=d,a(s.path,d))};return n.jsx(A,{testId:`${F(s.path)}-count`,label:i,value:ge(String(e.inspector?.get(t,s.path)??"")),min:1,disabled:s.readonly,onChange:c,onChangeEnd:c,style:{flex:1,minWidth:0}},`${s.path}-count`)}function Rt({adapter:e,id:t,byName:s,fonts:i}){const[a,o]=v.useState(!1),c=["gridColumn","gridRow","justifySelf"].map(r=>s.get(r)).filter(r=>!!r);return c.length===0?null:n.jsxs(n.Fragment,{children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-layout-toggle-grid-item",onClick:()=>o(r=>!r),style:{display:"flex",margin:"2px auto 0"},children:a?"− grid item":"··· grid item"}),a&&n.jsx("div",{"data-testid":"react-layout-grid-item",children:c.map(r=>n.jsx($,{adapter:e,id:t,prop:r,fonts:i},r.path))})]})}function kt(e){const t=e.trim();if(!t||t==="none")return[];const s=[];let i=0,a=0;for(let o=0;o<t.length;o++){const c=t[o];c==="("?i++:c===")"?i--:c===","&&i===0&&(s.push(t.slice(a,o).trim()),a=o+1)}return s.push(t.slice(a).trim()),s.filter(Boolean)}function ee(e){return/^url\((['"]?)([\s\S]*)\1\)$/.exec(e.trim())?.[2]??null}function wt({adapter:e,id:t,props:s,fonts:i}){const a=B(),o=new Map(s.map(h=>[T(h.path),h])),c=(h,b)=>{e.inspector?.set(t,h,b),a.notifyIngestEdit()},r=o.get("backgroundImage"),l=o.get("backgroundColor"),[d,y]=v.useState(null),[g,f]=v.useState(null),S=String(r?e.inspector?.get(t,r.path)??"":""),x=kt(S),C=h=>{if(r){if(h.length>0){c(r.path,h.join(", "));return}e.inspector?.remove?.(t,r.path),a.notifyIngestEdit()}},p=(h,b)=>C(x.map((R,I)=>I===h?b:R)),P=h=>{y(null),C(x.filter((b,R)=>R!==h))},K=(h,b)=>{const R=[...x],I=R[h+b];I===void 0||R[h]===void 0||(R[h+b]=R[h],R[h]=I,y(null),C(R))},W={background:"none",border:"none",color:m.textMuted,cursor:"pointer",fontSize:j.base,padding:`${u[2]} ${u[3]}`,lineHeight:O.tight};return n.jsxs("div",{"data-testid":"react-fill-list",style:{padding:"2px 8px 7px"},children:[x.map((h,b)=>{const R=re(h),I=ee(h),me=R?`${R.type} gradient`:I!==null?I.split("/").pop()??"image":h.slice(0,22);return n.jsxs("div",{style:{marginBottom:3},children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:5},children:[n.jsxs("button",{type:"button","data-testid":`react-fill-layer-${b}`,title:h,onClick:()=>y(d===b?null:b),style:{display:"flex",alignItems:"center",gap:u[3],flex:1,minWidth:0,background:"none",border:"none",cursor:"pointer",padding:`${u[1]} 0`,color:m.text,fontSize:j.base,textAlign:"left"},children:[n.jsx("span",{style:{width:16,height:16,flexShrink:0,borderRadius:Te.sm,border:`1px solid ${m.border}`,background:h,backgroundSize:"cover"}}),n.jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:me})]}),b>0&&n.jsx("button",{type:"button","data-testid":`react-fill-up-${b}`,title:"Raise this fill",onClick:()=>K(b,-1),style:W,children:"↑"}),b<x.length-1&&n.jsx("button",{type:"button","data-testid":`react-fill-down-${b}`,title:"Lower this fill",onClick:()=>K(b,1),style:W,children:"↓"}),n.jsx("button",{type:"button","data-testid":`react-fill-remove-${b}`,title:"Remove this fill (CSS has no hidden-layer state — removing is Figma's eye)",onClick:()=>P(b),style:W,children:"✕"})]}),d===b&&R&&n.jsx(ae,{testId:`react-fill-gradient-${b}`,value:R,onChange:N=>p(b,M(N)),onChangeEnd:N=>p(b,M(N))}),d===b&&I!==null&&n.jsx(Y,{"data-testid":`react-fill-url-${b}`,defaultValue:I,placeholder:"image url",onBlur:N=>p(b,`url("${N.target.value.trim()}")`),onKeyDown:N=>{N.key==="Enter"&&p(b,`url("${N.currentTarget.value.trim()}")`)},style:{width:"100%",marginTop:u[1]}})]},`${b}-${h.slice(0,24)}`)}),g!==null&&n.jsx(Y,{"data-testid":"react-fill-image-draft",value:g,placeholder:"image url — Enter to add",autoFocus:!0,onChange:h=>f(h.target.value),onKeyDown:h=>{h.key==="Enter"&&g.trim()&&(C([`url("${g.trim()}")`,...x]),f(null)),h.key==="Escape"&&f(null)},style:{width:"100%",marginBottom:3}}),n.jsxs("div",{style:{display:"flex",gap:u[2]},children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-fill-add-gradient",onClick:()=>{C([M(de),...x]),y(0)},children:"+ gradient"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-fill-add-image",onClick:()=>f(""),children:"+ image"})]}),x.some(h=>ee(h)!==null)&&["backgroundSize","backgroundPosition","backgroundRepeat"].map(h=>o.get(h)).filter(h=>!!h).map(h=>n.jsx($,{adapter:e,id:t,prop:h,fonts:i},h.path)),l&&n.jsx($,{adapter:e,id:t,prop:l,fonts:i})]})}function Et({adapter:e,id:t,props:s,fonts:i}){const a=B(),o=new Map(s.map(g=>[T(g.path),g])),c=o.get("position"),r=String(c?e.inspector?.get(t,c.path)??"static":"static"),l=(g,f)=>{e.inspector?.set(t,g,f),a.notifyIngestEdit()},d=["top","right","bottom","left"],y=["zIndex","flexGrow","flexShrink","flexBasis","alignSelf"].map(g=>o.get(g)).filter(g=>!!g);return n.jsxs("div",{style:{padding:"2px 8px 7px"},children:[c&&n.jsx("div",{"data-testid":F(c.path),style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:u[1]},children:(c.options??[]).map(g=>{const f=String(g),S=f===r;return n.jsx(k,{type:"button",variant:S?"primary":"secondary",size:"compact","aria-pressed":S,title:f,disabled:c.readonly,onClick:()=>l(c.path,f),children:f.slice(0,3)},f)})}),r!=="static"&&n.jsx("div",{"data-testid":"react-position-offsets",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:u[2],marginTop:u[3]},children:d.map(g=>E(e,t,o.get(g),g[0].toUpperCase(),l))}),y.length>0&&n.jsxs("div",{style:{borderTop:`1px solid ${m.border}`,marginTop:7,paddingTop:3},children:[n.jsx("div",{style:{color:m.textMuted,fontSize:j.xs,padding:"2px 0 1px"},children:"STACKING & FLEX ITEM"}),y.map(g=>n.jsx($,{adapter:e,id:t,prop:g,fonts:i},g.path))]})]})}function $t({adapter:e,id:t,props:s}){const i=B(),a=new Map(s.map(d=>[T(d.path),d])),o=(d,y)=>{e.inspector?.set(t,d,y),i.notifyIngestEdit()},c=d=>{const y=a.get(d);return y?n.jsx(A,{testId:F(y.path),label:"",value:L(e.inspector?.get(t,y.path)),unit:"px",disabled:y.readonly,onChange:g=>o(y.path,g),onChangeEnd:g=>o(y.path,g),style:{width:46,minWidth:0,flex:"none"}},y.path):n.jsx("span",{},d)},r=d=>n.jsx("span",{style:{position:"absolute",top:2,left:6,fontSize:8,letterSpacing:".08em",color:m.textMuted,pointerEvents:"none"},children:d}),l={display:"flex",alignItems:"center",justifyContent:"center"};return n.jsx("div",{style:{padding:`${u[1]} ${u[4]} ${u[4]}`},"data-testid":"react-spacing-box",children:n.jsxs("div",{style:{position:"relative",border:`1px solid ${m.border}`,borderRadius:4,padding:"11px 4px 3px"},children:[r("MARGIN"),n.jsx("div",{style:l,children:c("marginTop")}),n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:u[1]},children:[c("marginLeft"),n.jsxs("div",{style:{position:"relative",flex:1,minWidth:0,border:`1px dashed ${m.border}`,borderRadius:4,padding:"11px 4px 3px"},children:[r("PADDING"),n.jsx("div",{style:l,children:c("paddingTop")}),n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:u[1]},children:[c("paddingLeft"),c("paddingRight")]}),n.jsx("div",{style:l,children:c("paddingBottom")})]}),c("marginRight")]}),n.jsx("div",{style:l,children:c("marginBottom")})]})})}function Tt({name:e,groupId:t,props:s,adapter:i,id:a,fonts:o}){const[c,r]=v.useState(!1),l=ce(s);return n.jsxs("div",{"data-testid":`react-inspector-group-${t}`,children:[e==="Layout"&&n.jsx(Ct,{adapter:i,id:a,props:s,fonts:o,showConstraints:c,onToggleConstraints:()=>r(d=>!d)}),e==="Position"&&n.jsx(Et,{adapter:i,id:a,props:s,fonts:o}),e==="Spacing"&&n.jsx($t,{adapter:i,id:a,props:s}),e==="Fill"&&n.jsx(wt,{adapter:i,id:a,props:s,fonts:o}),e!=="Layout"&&e!=="Position"&&e!=="Spacing"&&e!=="Fill"&&l.map(d=>d.kind==="single"?n.jsx($,{adapter:i,id:a,prop:d.prop,fonts:o},z(d)):n.jsx(pe,{adapter:i,id:a,row:d},z(d)))]})}function It({adapter:e,node:t}){const s=[];let i=t,a=0;for(;i&&a++<100;)s.unshift(i),i=i.parentId?e.hierarchy.node(i.parentId):null;return n.jsx("nav",{"aria-label":"Selection ancestry","data-testid":"react-inspector-breadcrumbs",style:{display:"flex",alignItems:"center",gap:3,padding:`${u[3]} ${u[4]}`,overflowX:"auto",borderBottom:`1px solid ${m.border}`,whiteSpace:"nowrap"},children:s.map((o,c)=>n.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:3},children:[c>0&&n.jsx("span",{style:{color:m.textMuted},children:"/"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","aria-current":o.id===t.id?"page":void 0,title:o.secondaryLabel??o.label,onClick:()=>$e(e,[o.id]),children:o.label})]},o.id))})}function Nt({owner:e,node:t}){const s=e.portableArgs(t.id),[i,a]=v.useState("idle"),[o,c]=v.useState(""),[r,l]=v.useState(null),d=async y=>{const g=await e.writeStory(t.id,y);l(g.changed?null:g.error??"refused"),g.changed&&(a("idle"),c(""))};return n.jsxs("div",{"data-testid":"react-story-controls-header",style:{borderBottom:`1px solid ${m.border}`},children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:u[4],padding:"7px 8px"},children:[n.jsxs("div",{style:{minWidth:0},children:[n.jsx("div",{style:{color:m.text,fontSize:j.md,fontWeight:600},children:t.label}),n.jsx("div",{style:{color:m.textMuted,fontSize:j.sm},children:s?`${Object.keys(s).length} args · session controls`:"Portable CSF story"})]}),n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-reset-args",onClick:()=>e.resetPortableArgs(t.id),children:"Reset"})]}),n.jsxs("div",{style:{display:"flex",gap:u[2],padding:`0 ${u[4]} ${u[3]}`,flexWrap:"wrap"},children:[n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-save-as",title:"Write the CURRENT session args as a new story export in this file",onClick:()=>{l(null),c(""),a(i==="save-as"?"idle":"save-as")},children:"Save as…"}),n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-rename",onClick:()=>{l(null),c(""),a(i==="rename"?"idle":"rename")},children:"Rename…"}),i==="confirm-delete"?n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-delete-confirm",onClick:()=>void d({kind:"delete"}),children:"Delete story?"}):n.jsx(k,{type:"button",variant:"ghost",size:"compact","data-testid":"react-story-delete",onClick:()=>{l(null),a("confirm-delete")},children:"Delete"})]}),(i==="save-as"||i==="rename")&&n.jsxs("div",{style:{display:"flex",gap:u[2],padding:`0 ${u[4]} ${u[4]}`,alignItems:"center"},children:[n.jsx("input",{"data-testid":"react-story-name-input",autoFocus:!0,value:o,placeholder:i==="save-as"?"NewStoryName":`Rename ${t.label}`,onChange:y=>c(y.target.value),onKeyDown:y=>{y.key==="Enter"&&o.trim()&&d(i==="save-as"?{kind:"save-as",name:o.trim()}:{kind:"rename",newName:o.trim()}),y.key==="Escape"&&a("idle")},style:{flex:1,minWidth:0,background:m.neutralHover,border:`1px solid ${m.border}`,borderRadius:4,color:m.text,fontSize:j.base,padding:"3px 6px"}}),n.jsx(k,{type:"button",variant:"secondary",size:"compact","data-testid":"react-story-name-commit",onClick:()=>void d(i==="save-as"?{kind:"save-as",name:o.trim()}:{kind:"rename",newName:o.trim()}),children:i==="save-as"?"Save":"Rename"})]}),r&&n.jsx("div",{"data-testid":"react-story-write-notice",style:{padding:`0 ${u[4]} ${u[4]}`,color:fe(),fontSize:j.sm,lineHeight:O.normal},children:r})]})}function Mt({owner:e,nodeId:t}){const s=e.elementClasses(t),[i,a]=v.useState(""),[o,c]=v.useState(null),r=async()=>{const l=i.trim().replace(/^\./,"");if(!l)return;const d=await e.writeNamedStyle(t,{kind:"set",className:l});c(d.changed?null:d.error??"refused"),d.changed&&a("")};return n.jsxs("div",{"data-testid":"react-element-classes",style:{padding:`${u[3]} ${u[4]}`,borderBottom:`1px solid ${m.border}`},children:[n.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:u[2],alignItems:"center"},children:[n.jsx("span",{style:{fontSize:j.sm,color:m.textMuted,marginRight:u[1]},children:"Style class"}),s.map(l=>n.jsxs("span",{"data-testid":`react-class-chip-${l.name}`,title:l.styledIn?`.${l.name} — ${l.count} element${l.count===1?"":"s"} in this game share this style (${l.styledIn.split("/").pop()??l.styledIn})`:`.${l.name} — utility/generated class (no first-party rule to edit)`,style:{display:"inline-flex",alignItems:"center",gap:3,fontFamily:H,fontSize:j.sm,color:l.styledIn?m.text:m.textMuted,background:m.neutralHover,border:`1px solid ${m.border}`,borderRadius:4,padding:"1px 4px"},children:[".",l.name,l.count>1&&n.jsxs("span",{style:{color:m.textMuted,fontSize:j.xs},children:["×",l.count]}),n.jsx("button",{type:"button","data-testid":`react-class-remove-${l.name}`,title:`Remove .${l.name} from this element`,onClick:()=>void e.writeNamedStyle(t,{kind:"remove",className:l.name}).then(d=>c(d.changed?null:d.error??"refused")),style:{background:"none",border:"none",color:m.textMuted,cursor:"pointer",fontSize:j.base,padding:"3px 5px",margin:"-3px -4px -3px -1px",lineHeight:O.tight},children:"✕"})]},l.name)),n.jsx("input",{"data-testid":"react-class-input",value:i,placeholder:s.length===0?"create style…":"add class…",title:"Type a class name — an existing first-party class is applied; a new name creates a style from this element's inline declarations",onChange:l=>{a(l.target.value),o&&c(null)},onKeyDown:l=>{l.key==="Enter"&&r(),l.key==="Escape"&&a("")},style:{flex:1,minWidth:72,background:"transparent",border:`1px dashed ${m.border}`,borderRadius:4,color:m.text,fontSize:j.sm,fontFamily:H,padding:"2px 5px"}})]}),o&&n.jsx("div",{"data-testid":"react-class-notice",style:{paddingTop:u[2],color:fe(),fontSize:j.sm,lineHeight:O.normal},children:o}),n.jsx(Ot,{})]})}function Ot(){const e=v.useSyncExternalStore(Ke,U);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:5,paddingTop:5},children:[n.jsx("span",{style:{fontSize:j.sm,color:m.textMuted},children:"Breakpoint"}),n.jsx(V,{"data-testid":"react-breakpoint-select",value:e??"",onChange:t=>oe(t.target.value||null),style:{fontSize:j.sm,flex:1,...e?{color:m.accent,borderColor:m.accent}:{}},children:he.map(t=>n.jsx("option",{value:t.media??"",children:t.label},t.label))})]}),e&&n.jsxs("div",{"data-testid":"react-breakpoint-note",style:{paddingTop:3,color:m.textMuted,fontSize:j.xs,lineHeight:O.normal},children:["Style edits write @media ",e," — previewed live by frame width."]})]})}const he=[{label:"Base",media:null},{label:"Tablet ≤991",media:"(max-width: 991px)"},{label:"Phone L ≤767",media:"(max-width: 767px)"},{label:"Phone ≤479",media:"(max-width: 479px)"}];function fe(){return"#e06c75"}function At({entry:e}){const[t,s]=v.useState(!1),i=`${e.file}:${e.line}`,a=`${e.file.split("/").pop()??e.file}:${e.line}`,o=async()=>{try{await navigator.clipboard.writeText(i),s(!0),setTimeout(()=>s(!1),1500)}catch{}};return n.jsx("button",{type:"button","data-testid":"react-source-location",title:`${i} — click to copy the path`,onClick:()=>void o(),style:{fontFamily:H,fontSize:"inherit",color:m.textMuted,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,background:"none",border:"none",padding:0,textAlign:"left"},children:t?"Copied":a})}function Bt({owner:e,node:t,nodeId:s}){const i=e instanceof D,a=i?e.sourceLocation(s):void 0,o=t?.role==="story"?`Story · ${t.label}`:t?.role==="document"?`CSF · ${t.secondaryLabel??t.label}`:i?"Source":"Session overlay — not written to source",c=t?.role==="story"?`${t.label} is the active portable CSF design state.`:t?.role==="document"?`${t.secondaryLabel??t.label} owns this root's design states.`:i?`Edits change ${t?.label??"this component"}'s source — every rendered instance updates.`:"This is an ingested game: edits persist as a per-project overlay only, never written to source.";return n.jsxs("div",{"data-testid":i?"react-lane-b-disclosure":"react-overlay-disclosure",title:c,style:{display:"flex",alignItems:"center",gap:u[3],padding:`${u[1]} ${u[4]} ${u[3]}`,borderBottom:`1px solid ${m.border}`,color:m.textMuted,fontSize:j.sm,lineHeight:O.normal,minWidth:0},children:[n.jsx("span",{style:{flexShrink:0,...i?{}:{color:m.accent}},children:o}),a&&n.jsx(At,{entry:a})]})}function Ft({adapter:e,node:t,nodeId:s,owner:i}){return n.jsxs("div",{"data-testid":"react-inspector-section",children:[n.jsx(It,{adapter:e,node:t}),i instanceof D&&n.jsx(Mt,{owner:i,nodeId:s}),n.jsx(Bt,{owner:i,node:t,nodeId:s})]})}function te({adapter:e,id:t,name:s,groupId:i,props:a}){const o=v.useMemo(()=>Xe(),[]);return n.jsx(Tt,{name:s,groupId:i,props:a,adapter:e,id:t,fonts:o})}function _t(e,t){const s=le(e,t);if(!s||!e)return[];const i=e.id,a=(t.inspector?.properties(i)??[]).filter(l=>l.path!=="name"),{ungrouped:o,groups:c}=be(a),r=[{id:et,title:"Element",icon:je,order:tt,body:{kind:"custom",render:()=>v.createElement(Ft,{adapter:t,node:e,nodeId:i,owner:s}),...s instanceof D?{data:{classes:s.elementClasses(i),breakpoint:U()},editable:{fields:[{path:"element.breakpoint",label:"Breakpoint",type:"enum",options:he.map(l=>l.media??"")}],io:{get:l=>l==="element.breakpoint"?U()??"":void 0,set:(l,d)=>{l==="element.breakpoint"&&oe(typeof d=="string"&&d?d:null)}}}}:{}}}];return e.role==="story"&&s instanceof D&&r.push({id:nt,title:"Story",icon:Se,order:st,body:{kind:"custom",render:()=>v.createElement(Nt,{owner:s,node:e})}}),o.length>0&&r.push({id:ne,title:"Style",icon:Ce,order:ve,defaultOpen:!0,body:{kind:"custom",render:()=>v.createElement(te,{adapter:t,id:i,name:"Style",groupId:"style",props:o})}}),c.forEach((l,d)=>{r.push({id:we(l.groupId),title:l.name,icon:ke(l.name),order:Re+d,defaultOpen:!0,body:{kind:"custom",render:()=>v.createElement(te,{adapter:t,id:i,name:l.name,groupId:l.groupId,props:l.properties})}})}),r}const Dt=xe();function Lt(){Dt.ensure(e=>{e(ye({match:qe,sections:_t,claims:[ne]}))})}const ln="workspace.service";function cn(){return Lt(),()=>{}}export{ln as point,cn as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{dp as Rt,al as b,dB as Mt,dC as ot,dD as kt}from"./index-CMCwkjoq.js";const qt="#191c22",Kt="rgba(255, 255, 255, 0.2)",_t="#20242a",K="#2d323a";function St(){return`linear-gradient(45deg, ${K} 25%, transparent 25%, transparent 75%, ${K} 75%), linear-gradient(45deg, ${K} 25%, transparent 25%, transparent 75%, ${K} 75%)`}const O=20,Q=6,H=22,at=10,yt=O+Q,ft=H+at,Ct=.6,It=.4,Lt=.7,$t=.45;function pt(n,s,l){return n>=s?[1,!0]:n<=l?[0,!1]:[(n-l)/(s-l),!0]}function ht(n,s){const l=Math.max(0,n),i=s?Math.min(1,l/ft):0,[u,d]=pt(i,Lt,$t),c=Math.max(0,l-ft*i),y=Math.min(1,c/yt),[v,_]=pt(y,Ct,It),w=_?yt*y:0;return{frame:{scale:y,opacity:v,visible:_,offset:Q*y+O},group:s?{scale:i,opacity:u,visible:d,offset:w+at*i+H}:null}}function mt(n,s){n.style.transformOrigin="0 100%",n.style.transform=s.scale>=1?"":`scale(${s.scale})`,n.style.opacity=s.visible?String(s.opacity):"0",n.style.display=s.visible?"":"none"}const Bt={width:null,height:null};let J=Bt;const st=new Set;function Ot(){return J}function Pt(n,s){const l=n===null?null:Math.max(1,Math.round(n)),i=s===null?null:Math.max(1,Math.round(s));if(!(J.width===l&&J.height===i)){J={width:l,height:i};for(const u of st)u()}}function Jt(){Pt(null,null)}function Ft(n){return st.add(n),()=>st.delete(n)}const Tt=640,Vt=400,N=64,I=64,gt=72,zt=28,nt=I+H+at+O+Q;function wt(n,s){const l=new Map(n.map(i=>[i.id,i]));return s.sections.map(i=>({key:i.id,label:i.label,stories:i.storyIds.flatMap(u=>{const d=l.get(u);return d?[d]:[]})}))}const Nt=n=>n.split("/").map(s=>s.trim()).filter(Boolean);function xt(n){const s=new Set(n.filter(i=>i.stories.length===1).map(i=>i.key)),l=[];{const i=new Map;for(const u of n){if(!s.has(u.key)){l.push({key:u.key,label:u.label,stories:[...u.stories]});continue}const d=Nt(u.label).slice(0,-1).join("/");let c=i.get(d);c||(c={key:`category:${d}`,label:d||null,stories:[]},i.set(d,c),l.push(c)),c.stories.push(...u.stories)}}return l}function Gt(n,s,l){const i=xt(wt(n,s)),u=new Map,d=new Map;let c=N,y=0;i.forEach((w,P)=>{const E=Math.max(1,Math.ceil(Math.sqrt(w.stories.length))),S=Math.ceil(w.stories.length/E),L=w.stories.map(h=>l(h)),C=Array.from({length:E},()=>0),R=Array.from({length:S},()=>0);L.forEach((h,f)=>{const m=f%E,A=Math.floor(f/E);C[m]=Math.max(C[m],h.width),R[A]=Math.max(R[A],h.height)});const F=C.map((h,f)=>C.slice(0,f).reduce((m,A)=>m+A+I,0)),D=R.map((h,f)=>R.slice(0,f).reduce((m,A)=>m+A+I,0)),$=P===0?Number.POSITIVE_INFINITY:w.label!==null?nt:I+O+Q;w.label!==null&&d.set(w.key,{x:N,y:c,roomAbove:$}),w.stories.forEach((h,f)=>{const m=Math.floor(f/E),A=f%E,W=L[f],{width:T,height:U}=W,it=N+F[A],Y=c+D[m];u.set(h.id,{x:it,y:Y,width:T,height:U,roomAbove:m===0?$:I,withGroupLabel:i.length>1&&m===0&&w.label!==null})});const x=C.reduce((h,f)=>h+f,0)+Math.max(0,E-1)*I,B=R.reduce((h,f)=>h+f,0)+Math.max(0,S-1)*I;y=Math.max(y,x),c+=B+nt});const v=N*2+y,_=c-nt+N;return{layouts:u,groupOrigins:d,width:v,height:n.length?_:0}}const k=new WeakMap,rt=new Set,Ht=null;function G(){for(const n of rt)n()}function Qt(n){return rt.add(n),()=>rt.delete(n)}function Xt(n){return n?k.get(n)?.viewport()??Ht:null}function Zt(n,s){const l=n?k.get(n):void 0;return l?(l.setViewport(s),!0):!1}function te(n){const s=n?k.get(n):void 0;return!s||s.viewport().locked?!1:(s.setRotation(!s.viewport().rotated),!0)}function Dt(){const n=Ot();return{width:n.width??Tt,height:n.height??Vt}}function bt(n,s,l){if(s.width<=0||s.height<=0)return;const i=Math.max(1,n.clientWidth-gt*2),u=Math.max(1,n.clientHeight-gt*2),d=Math.min(l,Math.max(.1,Math.min(i/s.width,u/s.height)));kt(n.clientWidth/2-(s.x+s.width/2)*d,n.clientHeight/2-(s.y+s.height/2)*d,d)}function ee(n){const s=k.get(n);return s?(s.fitAll(),!0):!1}function oe(n,s,l){return n?k.get(n)?.selectAtClientPoint(s,l)??!1:!1}function ne(n,s,l){return n?k.get(n)?.zoomAtClientPoint(s,l)??!1:!1}function se(n,s,l,i,u){if(s.length===0)throw new Error("A React story board requires at least one story.");const d=n.parentElement;if(!d)throw new Error("A React story board layer must be attached before mounting.");n.dataset.volterReactStoryBoard="true",n.style.contain="none";const c=document.createElement("div");c.dataset.testid="react-story-board",c.dataset.volterReactStoryBoardCanvas="true",c.style.position="absolute",c.style.left="0",c.style.top="0",c.style.transformOrigin="0 0",n.appendChild(c);const y=document.createElement("div");y.dataset.testid="react-story-board-chrome",y.dataset.volterStoryBoardChromeFor=n.dataset.worldId??"",y.style.position="absolute",y.style.inset="0",y.style.zIndex=String(Rt.sticky),y.style.display=n.style.display||"block",y.style.pointerEvents="none",y.style.overflow="visible",d.appendChild(y);const v=new Map,_=new Map,w=new Map,P=new Map,E=new Map,S=new Map,L=wt(s,u.index),C=new Map,R=new Map,F=new Map,D=new Map;let $,x=s.some(t=>t.id===l)?l:s[0].id,B=!1,h=!1;const f=t=>{const e=u.resolve(t,t.frameSize??Dt(),F.has(t.id)?F.get(t.id):void 0,D.get(t.id)),o=S.get(t.id);return o?{...e,width:o.frame.width,height:o.frame.height,layout:"fullscreen"}:t.frameSize?{...e,layout:"fullscreen"}:e},m=()=>{const t=f(s.find(e=>e.id===x));$={storyId:x,selectedViewportId:t.selectedViewportId,locked:t.locked,rotated:t.rotated,choices:t.choices}};m();const A=new Set(L.filter(t=>t.stories.length===1).map(t=>t.key)),W=t=>t.split("/").map(e=>e.trim()).filter(Boolean),T=new Map;for(const t of L)for(const e of t.stories){const o=(e.title?W(e.title).at(-1):void 0)??W(t.label).at(-1);T.set(e.id,A.has(t.key)?o??e.label:e.label)}const U=xt(L);for(const t of L.flatMap(e=>e.stories)){const e=document.createElement("section");e.dataset.testid="react-story-frame",e.dataset.storyId=t.id,e.dataset.storyLabel=t.label,e.dataset.storyGroup=u.index.sections.find(et=>et.storyIds.includes(t.id))?.label??"",e.style.position="absolute",e.style.border=`1px solid ${b.boundary.strong}`,e.style.borderRadius="0",e.style.backgroundColor=_t,e.style.backgroundImage=St(),e.style.backgroundPosition="0 0, 8px 8px",e.style.backgroundSize="16px 16px",e.style.boxShadow="none";const o=document.createElement("button");o.type="button",o.dataset.testid="react-story-frame-label",o.dataset.storyId=t.id,o.title=`${T.get(t.id)??t.label} — click to select, double-click to zoom — ${t.modulePath}`,o.textContent=T.get(t.id)??t.label,o.style.position="absolute",o.style.height=`${O}px`,o.style.padding="0 2px",o.style.border="0",o.style.appearance="none",o.style.background="transparent",o.style.color=b.content.primary,o.style.font=`600 12px ${b.typography.sans}`,o.style.lineHeight=`${O}px`,o.style.textAlign="left",o.style.cursor="default",o.style.pointerEvents="auto",o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis",o.style.width="max-content",o.addEventListener("click",()=>i(t.id,"highlight")),o.addEventListener("dblclick",()=>i(t.id,"zoom"));const r=document.createElement("div");r.dataset.testid="react-story-frame-content",r.dataset.storyId=t.id,r.style.position="absolute",r.style.left="0",r.style.top="0",r.style.overflow="hidden",r.style.contain="layout paint",r.style.boxSizing="border-box";const a=document.createElement("div");a.dataset.testid="react-story-frame-note",a.dataset.storyId=t.id,a.style.position="absolute",a.style.left="0",a.style.right="0",a.style.bottom="0",a.style.display="none",a.style.padding="6px 8px",a.style.boxSizing="border-box",a.style.background=b.surface.overlay,a.style.color=b.content.muted,a.style.font=`11px ${b.typography.sans}`,a.style.pointerEvents="none";const p=document.createElement("div");p.dataset.testid="react-story-frame-error",p.dataset.storyId=t.id,p.style.position="absolute",p.style.inset="0",p.style.display="none",p.style.padding="16px",p.style.boxSizing="border-box",p.style.background=b.surface.overlay,p.style.color=b.semantic.danger,p.style.font=`12px ${b.typography.mono}`,p.style.pointerEvents="none",e.append(r,a,p),c.appendChild(e),y.appendChild(o),v.set(t.id,{element:e,content:r}),_.set(t.id,p),w.set(t.id,a),P.set(t.id,o)}if(U.length>1)for(const t of U){if(t.label===null)continue;const e=document.createElement("div");e.dataset.testid="react-story-group-label",e.dataset.storyGroup=t.key,e.textContent=t.label,e.style.position="absolute",e.style.height=`${H}px`,e.style.lineHeight=`${H}px`,e.style.color=b.content.primary,e.style.font=`700 14px ${b.typography.sans}`,e.style.whiteSpace="nowrap",e.style.pointerEvents="none",e.style.width="max-content",y.appendChild(e),C.set(t.key,e)}const Y=()=>{for(const[t,e]of v){const o=t===x;e.element.dataset.active=o?"true":"false",e.element.style.outline=o?`2px solid ${b.accent.default}`:"none",e.element.style.outlineOffset=o?"3px":"0";const r=P.get(t);r.setAttribute("aria-pressed",String(o)),r.style.color=o?b.accent.default:b.content.muted}},lt=(t,e)=>Number.isFinite(t)?t*e:Number.POSITIVE_INFINITY,j=()=>{const t=ot();for(const[e,o]of E){const r=P.get(e),{frame:a}=ht(lt(o.roomAbove,t.zoom),o.withGroupLabel);r.style.left=`${t.x+o.x*t.zoom}px`,r.style.top=`${t.y+o.y*t.zoom-a.offset}px`;const p=Math.max(1,(o.width+I/2)*t.zoom);r.style.maxWidth=`${p}px`,mt(r,p>=zt?a:{...a,opacity:0,visible:!1})}for(const[e,o]of R){const r=C.get(e);if(!r)continue;const{group:a}=ht(lt(o.roomAbove,t.zoom),!0);a&&(r.style.left=`${t.x+o.x*t.zoom}px`,r.style.top=`${t.y+o.y*t.zoom-a.offset}px`,mt(r,a))}},V=()=>{E.clear(),R.clear();const t=Gt(s,u.index,f);for(const[r,a]of t.groupOrigins)R.set(r,a);for(const r of s){const a=t.layouts.get(r.id);if(!a)continue;E.set(r.id,a);const{x:p,y:et,width:dt,height:ut}=a,z=f(r),g=v.get(r.id);g.element.style.left=`${p}px`,g.element.style.top=`${et}px`,g.element.style.width=`${dt}px`,g.element.style.height=`${ut}px`;const M=S.get(r.id);g.element.style.overflow=M?"hidden":"",g.content.style.width=`${M?M.mount.width:dt}px`,g.content.style.height=`${M?M.mount.height:ut}px`,g.content.style.left=`${M?-M.offset.x:0}px`,g.content.style.top=`${M?-M.offset.y:0}px`,g.content.dataset.storyLayout=z.layout,g.content.style.padding=z.layout==="padded"?"16px":"0",g.content.style.display=z.layout==="centered"?"flex":"block",g.content.style.alignItems=z.layout==="centered"?"center":"",g.content.style.justifyContent=z.layout==="centered"?"center":""}const e=t.width,o=t.height;c.style.width=`${e}px`,c.style.height=`${o}px`,n.style.width=`${e}px`,n.style.height=`${o}px`,j()},vt=()=>{const t=Number.parseFloat(c.style.width),e=Number.parseFloat(c.style.height);bt(d,{x:0,y:0,width:t,height:e},1)};let X=null;const Z=()=>{h||(h=!0,queueMicrotask(()=>{h=!1,!B&&(q(x,!0),X=ot())}))},q=(t,e=!1)=>{const o=v.get(t),r=E.get(t);!o||!r||(x=t,Y(),m(),G(),e&&bt(d,r,2))},ct=(t,e)=>{for(const[o,r]of v){const a=r.content.getBoundingClientRect();if(t>=a.left&&t<=a.right&&e>=a.top&&e<=a.bottom)return o}return null},Et=Ft(()=>{V(),Z()}),At=Mt(j);V(),Y(),j();const tt={element:c,frames:v,activeContent:()=>v.get(x).content,activate:q,clearError:t=>{const e=_.get(t);e&&(e.style.display="none",e.textContent="")},fitAll:vt,selectAtClientPoint:(t,e)=>{const o=ct(t,e);return!o||o===x?!1:(i(o,"highlight"),!0)},zoomAtClientPoint:(t,e)=>{const o=ct(t,e);return o?(i(o,"zoom"),!0):!1},setError:(t,e)=>{const o=_.get(t);o&&(o.textContent=e,o.style.display="block")},setMeasuredFrame:(t,e)=>{if(B||!v.has(t))return;const o=S.get(t);if(e===null){if(!o)return;S.delete(t)}else{if(o&&o.frame.width===e.frame.width&&o.frame.height===e.frame.height&&o.mount.width===e.mount.width&&o.mount.height===e.mount.height&&o.offset.x===e.offset.x&&o.offset.y===e.offset.y)return;S.set(t,e)}V(),j(),X!==null&&ot()===X&&Z()},setNote:t=>{for(const e of w.values())e.textContent=t??"",e.style.display=t===null?"none":"block"},viewport:()=>$,setViewport:t=>{$.locked||(F.set(x,t),V(),m(),G(),q(x,!0))},setRotation:t=>{$.locked||(D.set(x,t),V(),m(),G(),q(x,!0))},dispose:()=>{B||(B=!0,Et(),At(),k.get(d)===tt&&k.delete(d),G(),c.remove(),y.remove())}};return k.set(d,tt),G(),Z(),tt}export{qt as R,Qt as a,Xt as b,Zt as c,Pt as d,Jt as e,ee as f,Ot as g,se as h,Kt as i,oe as j,Gt as r,Ft as s,te as t,ne as z};
|
|
1
|
+
import"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{dp as Rt,al as b,dB as Mt,dC as ot,dD as kt}from"./index-C3IEVwzA.js";const qt="#191c22",Kt="rgba(255, 255, 255, 0.2)",_t="#20242a",K="#2d323a";function St(){return`linear-gradient(45deg, ${K} 25%, transparent 25%, transparent 75%, ${K} 75%), linear-gradient(45deg, ${K} 25%, transparent 25%, transparent 75%, ${K} 75%)`}const O=20,Q=6,H=22,at=10,yt=O+Q,ft=H+at,Ct=.6,It=.4,Lt=.7,$t=.45;function pt(n,s,l){return n>=s?[1,!0]:n<=l?[0,!1]:[(n-l)/(s-l),!0]}function ht(n,s){const l=Math.max(0,n),i=s?Math.min(1,l/ft):0,[u,d]=pt(i,Lt,$t),c=Math.max(0,l-ft*i),y=Math.min(1,c/yt),[v,_]=pt(y,Ct,It),w=_?yt*y:0;return{frame:{scale:y,opacity:v,visible:_,offset:Q*y+O},group:s?{scale:i,opacity:u,visible:d,offset:w+at*i+H}:null}}function mt(n,s){n.style.transformOrigin="0 100%",n.style.transform=s.scale>=1?"":`scale(${s.scale})`,n.style.opacity=s.visible?String(s.opacity):"0",n.style.display=s.visible?"":"none"}const Bt={width:null,height:null};let J=Bt;const st=new Set;function Ot(){return J}function Pt(n,s){const l=n===null?null:Math.max(1,Math.round(n)),i=s===null?null:Math.max(1,Math.round(s));if(!(J.width===l&&J.height===i)){J={width:l,height:i};for(const u of st)u()}}function Jt(){Pt(null,null)}function Ft(n){return st.add(n),()=>st.delete(n)}const Tt=640,Vt=400,N=64,I=64,gt=72,zt=28,nt=I+H+at+O+Q;function wt(n,s){const l=new Map(n.map(i=>[i.id,i]));return s.sections.map(i=>({key:i.id,label:i.label,stories:i.storyIds.flatMap(u=>{const d=l.get(u);return d?[d]:[]})}))}const Nt=n=>n.split("/").map(s=>s.trim()).filter(Boolean);function xt(n){const s=new Set(n.filter(i=>i.stories.length===1).map(i=>i.key)),l=[];{const i=new Map;for(const u of n){if(!s.has(u.key)){l.push({key:u.key,label:u.label,stories:[...u.stories]});continue}const d=Nt(u.label).slice(0,-1).join("/");let c=i.get(d);c||(c={key:`category:${d}`,label:d||null,stories:[]},i.set(d,c),l.push(c)),c.stories.push(...u.stories)}}return l}function Gt(n,s,l){const i=xt(wt(n,s)),u=new Map,d=new Map;let c=N,y=0;i.forEach((w,P)=>{const E=Math.max(1,Math.ceil(Math.sqrt(w.stories.length))),S=Math.ceil(w.stories.length/E),L=w.stories.map(h=>l(h)),C=Array.from({length:E},()=>0),R=Array.from({length:S},()=>0);L.forEach((h,f)=>{const m=f%E,A=Math.floor(f/E);C[m]=Math.max(C[m],h.width),R[A]=Math.max(R[A],h.height)});const F=C.map((h,f)=>C.slice(0,f).reduce((m,A)=>m+A+I,0)),D=R.map((h,f)=>R.slice(0,f).reduce((m,A)=>m+A+I,0)),$=P===0?Number.POSITIVE_INFINITY:w.label!==null?nt:I+O+Q;w.label!==null&&d.set(w.key,{x:N,y:c,roomAbove:$}),w.stories.forEach((h,f)=>{const m=Math.floor(f/E),A=f%E,W=L[f],{width:T,height:U}=W,it=N+F[A],Y=c+D[m];u.set(h.id,{x:it,y:Y,width:T,height:U,roomAbove:m===0?$:I,withGroupLabel:i.length>1&&m===0&&w.label!==null})});const x=C.reduce((h,f)=>h+f,0)+Math.max(0,E-1)*I,B=R.reduce((h,f)=>h+f,0)+Math.max(0,S-1)*I;y=Math.max(y,x),c+=B+nt});const v=N*2+y,_=c-nt+N;return{layouts:u,groupOrigins:d,width:v,height:n.length?_:0}}const k=new WeakMap,rt=new Set,Ht=null;function G(){for(const n of rt)n()}function Qt(n){return rt.add(n),()=>rt.delete(n)}function Xt(n){return n?k.get(n)?.viewport()??Ht:null}function Zt(n,s){const l=n?k.get(n):void 0;return l?(l.setViewport(s),!0):!1}function te(n){const s=n?k.get(n):void 0;return!s||s.viewport().locked?!1:(s.setRotation(!s.viewport().rotated),!0)}function Dt(){const n=Ot();return{width:n.width??Tt,height:n.height??Vt}}function bt(n,s,l){if(s.width<=0||s.height<=0)return;const i=Math.max(1,n.clientWidth-gt*2),u=Math.max(1,n.clientHeight-gt*2),d=Math.min(l,Math.max(.1,Math.min(i/s.width,u/s.height)));kt(n.clientWidth/2-(s.x+s.width/2)*d,n.clientHeight/2-(s.y+s.height/2)*d,d)}function ee(n){const s=k.get(n);return s?(s.fitAll(),!0):!1}function oe(n,s,l){return n?k.get(n)?.selectAtClientPoint(s,l)??!1:!1}function ne(n,s,l){return n?k.get(n)?.zoomAtClientPoint(s,l)??!1:!1}function se(n,s,l,i,u){if(s.length===0)throw new Error("A React story board requires at least one story.");const d=n.parentElement;if(!d)throw new Error("A React story board layer must be attached before mounting.");n.dataset.volterReactStoryBoard="true",n.style.contain="none";const c=document.createElement("div");c.dataset.testid="react-story-board",c.dataset.volterReactStoryBoardCanvas="true",c.style.position="absolute",c.style.left="0",c.style.top="0",c.style.transformOrigin="0 0",n.appendChild(c);const y=document.createElement("div");y.dataset.testid="react-story-board-chrome",y.dataset.volterStoryBoardChromeFor=n.dataset.worldId??"",y.style.position="absolute",y.style.inset="0",y.style.zIndex=String(Rt.sticky),y.style.display=n.style.display||"block",y.style.pointerEvents="none",y.style.overflow="visible",d.appendChild(y);const v=new Map,_=new Map,w=new Map,P=new Map,E=new Map,S=new Map,L=wt(s,u.index),C=new Map,R=new Map,F=new Map,D=new Map;let $,x=s.some(t=>t.id===l)?l:s[0].id,B=!1,h=!1;const f=t=>{const e=u.resolve(t,t.frameSize??Dt(),F.has(t.id)?F.get(t.id):void 0,D.get(t.id)),o=S.get(t.id);return o?{...e,width:o.frame.width,height:o.frame.height,layout:"fullscreen"}:t.frameSize?{...e,layout:"fullscreen"}:e},m=()=>{const t=f(s.find(e=>e.id===x));$={storyId:x,selectedViewportId:t.selectedViewportId,locked:t.locked,rotated:t.rotated,choices:t.choices}};m();const A=new Set(L.filter(t=>t.stories.length===1).map(t=>t.key)),W=t=>t.split("/").map(e=>e.trim()).filter(Boolean),T=new Map;for(const t of L)for(const e of t.stories){const o=(e.title?W(e.title).at(-1):void 0)??W(t.label).at(-1);T.set(e.id,A.has(t.key)?o??e.label:e.label)}const U=xt(L);for(const t of L.flatMap(e=>e.stories)){const e=document.createElement("section");e.dataset.testid="react-story-frame",e.dataset.storyId=t.id,e.dataset.storyLabel=t.label,e.dataset.storyGroup=u.index.sections.find(et=>et.storyIds.includes(t.id))?.label??"",e.style.position="absolute",e.style.border=`1px solid ${b.boundary.strong}`,e.style.borderRadius="0",e.style.backgroundColor=_t,e.style.backgroundImage=St(),e.style.backgroundPosition="0 0, 8px 8px",e.style.backgroundSize="16px 16px",e.style.boxShadow="none";const o=document.createElement("button");o.type="button",o.dataset.testid="react-story-frame-label",o.dataset.storyId=t.id,o.title=`${T.get(t.id)??t.label} — click to select, double-click to zoom — ${t.modulePath}`,o.textContent=T.get(t.id)??t.label,o.style.position="absolute",o.style.height=`${O}px`,o.style.padding="0 2px",o.style.border="0",o.style.appearance="none",o.style.background="transparent",o.style.color=b.content.primary,o.style.font=`600 12px ${b.typography.sans}`,o.style.lineHeight=`${O}px`,o.style.textAlign="left",o.style.cursor="default",o.style.pointerEvents="auto",o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis",o.style.width="max-content",o.addEventListener("click",()=>i(t.id,"highlight")),o.addEventListener("dblclick",()=>i(t.id,"zoom"));const r=document.createElement("div");r.dataset.testid="react-story-frame-content",r.dataset.storyId=t.id,r.style.position="absolute",r.style.left="0",r.style.top="0",r.style.overflow="hidden",r.style.contain="layout paint",r.style.boxSizing="border-box";const a=document.createElement("div");a.dataset.testid="react-story-frame-note",a.dataset.storyId=t.id,a.style.position="absolute",a.style.left="0",a.style.right="0",a.style.bottom="0",a.style.display="none",a.style.padding="6px 8px",a.style.boxSizing="border-box",a.style.background=b.surface.overlay,a.style.color=b.content.muted,a.style.font=`11px ${b.typography.sans}`,a.style.pointerEvents="none";const p=document.createElement("div");p.dataset.testid="react-story-frame-error",p.dataset.storyId=t.id,p.style.position="absolute",p.style.inset="0",p.style.display="none",p.style.padding="16px",p.style.boxSizing="border-box",p.style.background=b.surface.overlay,p.style.color=b.semantic.danger,p.style.font=`12px ${b.typography.mono}`,p.style.pointerEvents="none",e.append(r,a,p),c.appendChild(e),y.appendChild(o),v.set(t.id,{element:e,content:r}),_.set(t.id,p),w.set(t.id,a),P.set(t.id,o)}if(U.length>1)for(const t of U){if(t.label===null)continue;const e=document.createElement("div");e.dataset.testid="react-story-group-label",e.dataset.storyGroup=t.key,e.textContent=t.label,e.style.position="absolute",e.style.height=`${H}px`,e.style.lineHeight=`${H}px`,e.style.color=b.content.primary,e.style.font=`700 14px ${b.typography.sans}`,e.style.whiteSpace="nowrap",e.style.pointerEvents="none",e.style.width="max-content",y.appendChild(e),C.set(t.key,e)}const Y=()=>{for(const[t,e]of v){const o=t===x;e.element.dataset.active=o?"true":"false",e.element.style.outline=o?`2px solid ${b.accent.default}`:"none",e.element.style.outlineOffset=o?"3px":"0";const r=P.get(t);r.setAttribute("aria-pressed",String(o)),r.style.color=o?b.accent.default:b.content.muted}},lt=(t,e)=>Number.isFinite(t)?t*e:Number.POSITIVE_INFINITY,j=()=>{const t=ot();for(const[e,o]of E){const r=P.get(e),{frame:a}=ht(lt(o.roomAbove,t.zoom),o.withGroupLabel);r.style.left=`${t.x+o.x*t.zoom}px`,r.style.top=`${t.y+o.y*t.zoom-a.offset}px`;const p=Math.max(1,(o.width+I/2)*t.zoom);r.style.maxWidth=`${p}px`,mt(r,p>=zt?a:{...a,opacity:0,visible:!1})}for(const[e,o]of R){const r=C.get(e);if(!r)continue;const{group:a}=ht(lt(o.roomAbove,t.zoom),!0);a&&(r.style.left=`${t.x+o.x*t.zoom}px`,r.style.top=`${t.y+o.y*t.zoom-a.offset}px`,mt(r,a))}},V=()=>{E.clear(),R.clear();const t=Gt(s,u.index,f);for(const[r,a]of t.groupOrigins)R.set(r,a);for(const r of s){const a=t.layouts.get(r.id);if(!a)continue;E.set(r.id,a);const{x:p,y:et,width:dt,height:ut}=a,z=f(r),g=v.get(r.id);g.element.style.left=`${p}px`,g.element.style.top=`${et}px`,g.element.style.width=`${dt}px`,g.element.style.height=`${ut}px`;const M=S.get(r.id);g.element.style.overflow=M?"hidden":"",g.content.style.width=`${M?M.mount.width:dt}px`,g.content.style.height=`${M?M.mount.height:ut}px`,g.content.style.left=`${M?-M.offset.x:0}px`,g.content.style.top=`${M?-M.offset.y:0}px`,g.content.dataset.storyLayout=z.layout,g.content.style.padding=z.layout==="padded"?"16px":"0",g.content.style.display=z.layout==="centered"?"flex":"block",g.content.style.alignItems=z.layout==="centered"?"center":"",g.content.style.justifyContent=z.layout==="centered"?"center":""}const e=t.width,o=t.height;c.style.width=`${e}px`,c.style.height=`${o}px`,n.style.width=`${e}px`,n.style.height=`${o}px`,j()},vt=()=>{const t=Number.parseFloat(c.style.width),e=Number.parseFloat(c.style.height);bt(d,{x:0,y:0,width:t,height:e},1)};let X=null;const Z=()=>{h||(h=!0,queueMicrotask(()=>{h=!1,!B&&(q(x,!0),X=ot())}))},q=(t,e=!1)=>{const o=v.get(t),r=E.get(t);!o||!r||(x=t,Y(),m(),G(),e&&bt(d,r,2))},ct=(t,e)=>{for(const[o,r]of v){const a=r.content.getBoundingClientRect();if(t>=a.left&&t<=a.right&&e>=a.top&&e<=a.bottom)return o}return null},Et=Ft(()=>{V(),Z()}),At=Mt(j);V(),Y(),j();const tt={element:c,frames:v,activeContent:()=>v.get(x).content,activate:q,clearError:t=>{const e=_.get(t);e&&(e.style.display="none",e.textContent="")},fitAll:vt,selectAtClientPoint:(t,e)=>{const o=ct(t,e);return!o||o===x?!1:(i(o,"highlight"),!0)},zoomAtClientPoint:(t,e)=>{const o=ct(t,e);return o?(i(o,"zoom"),!0):!1},setError:(t,e)=>{const o=_.get(t);o&&(o.textContent=e,o.style.display="block")},setMeasuredFrame:(t,e)=>{if(B||!v.has(t))return;const o=S.get(t);if(e===null){if(!o)return;S.delete(t)}else{if(o&&o.frame.width===e.frame.width&&o.frame.height===e.frame.height&&o.mount.width===e.mount.width&&o.mount.height===e.mount.height&&o.offset.x===e.offset.x&&o.offset.y===e.offset.y)return;S.set(t,e)}V(),j(),X!==null&&ot()===X&&Z()},setNote:t=>{for(const e of w.values())e.textContent=t??"",e.style.display=t===null?"none":"block"},viewport:()=>$,setViewport:t=>{$.locked||(F.set(x,t),V(),m(),G(),q(x,!0))},setRotation:t=>{$.locked||(D.set(x,t),V(),m(),G(),q(x,!0))},dispose:()=>{B||(B=!0,Et(),At(),k.get(d)===tt&&k.delete(d),G(),c.remove(),y.remove())}};return k.set(d,tt),G(),Z(),tt}export{qt as R,Qt as a,Xt as b,Zt as c,Pt as d,Jt as e,ee as f,Ot as g,se as h,Kt as i,oe as j,Gt as r,Ft as s,te as t,ne as z};
|