@p4code/cli 0.8.33 → 0.8.35
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/dist/bin.mjs +1 -1
- package/dist/{binCli-CReSoYE2.mjs → binCli-26z5sNBT.mjs} +2313 -1491
- package/dist/client/.vite/manifest.json +2037 -2022
- package/dist/client/assets/{2NI2N5EU-Cq8AdBdr.js → 2NI2N5EU-BLnY4aCF.js} +2 -2
- package/dist/client/assets/{4UO7MD6I-BtyHa2r8.js → 4UO7MD6I-BApNVkfU.js} +2 -2
- package/dist/client/assets/{5B3SVYGG-DJhrK_P7.js → 5B3SVYGG-Y7V7NdZO.js} +2 -2
- package/dist/client/assets/{5GK6JWQ2-Di3oWVTL.js → 5GK6JWQ2-BSIhKcw-.js} +2 -2
- package/dist/client/assets/{5N7A7DKN-IYvb4i83.js → 5N7A7DKN-CNUCnWLs.js} +2 -2
- package/dist/client/assets/{5OC2THR4-C4L8eWnK.js → 5OC2THR4-Bne-pf_A.js} +2 -2
- package/dist/client/assets/{5S6HY5KT-CRP52QAR.js → 5S6HY5KT-7d4UMONz.js} +2 -2
- package/dist/client/assets/{6IMQ5BUJ-CNHI0F6y.js → 6IMQ5BUJ-BWW19n-D.js} +2 -2
- package/dist/client/assets/{6OLKWJ4F-B4vHLWw5.js → 6OLKWJ4F-CxTUuvA6.js} +2 -2
- package/dist/client/assets/{74OO7NKP-Cy2GHTnO.js → 74OO7NKP-DByVTRKE.js} +2 -2
- package/dist/client/assets/{75O6YZUN-DQlP5MhD.js → 75O6YZUN-CZanyedf.js} +2 -2
- package/dist/client/assets/{77XECAW3-DSSYRZCk.js → 77XECAW3-TL2w7pHK.js} +2 -2
- package/dist/client/assets/{ABYRPUBD-BKqULKA5.js → ABYRPUBD-CJboH7Uz.js} +2 -2
- package/dist/client/assets/AlertDialogRoot-9jRALQXL.js +2 -0
- package/dist/client/assets/{AnimatedHeight-CFR4EWDw.js → AnimatedHeight-OxEbW01v.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-X2oPejN8.js → AuthSurfaceShell-KQXgPV4i.js} +2 -2
- package/dist/client/assets/{BB2UYUI2-C2iBTfII.js → BB2UYUI2-BxW-R2h1.js} +2 -2
- package/dist/client/assets/{BUM34MOA-D8LFlnDQ.js → BUM34MOA-ngG-irUy.js} +2 -2
- package/dist/client/assets/{CEQABKGZ-D15ZAT0K.js → CEQABKGZ-C-u-W0bS.js} +2 -2
- package/dist/client/assets/{CXAC5362-CicOZ45Z.js → CXAC5362-DfFRkI7L.js} +2 -2
- package/dist/client/assets/ChatGptUsageButton-C3KgGt4z.js +2 -0
- package/dist/client/assets/{ChatMarkdown-DfVVLQX2.js → ChatMarkdown-9gWM0ED9.js} +9 -9
- package/dist/client/assets/{CheckboxIndicator-IpoyLEZ-.js → CheckboxIndicator-DbU3csPQ.js} +2 -2
- package/dist/client/assets/{ClippedText-DTOlMbAH.js → ClippedText-CS_BYNco.js} +2 -2
- package/dist/client/assets/{CodexSetupSection.logic-B5cbwzh2.js → CodexSetupSection.logic-CNbTXxKb.js} +2 -2
- package/dist/client/assets/{ComboboxClear-DsPTusk5.js → ComboboxClear-Bn_kslrf.js} +2 -2
- package/dist/client/assets/{ComboboxGroupLabel-DqaoaBhS.js → ComboboxGroupLabel-fL8lMA25.js} +2 -2
- package/dist/client/assets/{CommandBlock-Da9iVEid.js → CommandBlock-DcQXu_lq.js} +2 -2
- package/dist/client/assets/ComposerPromptEditor-DQ9wFfKn.js +204 -0
- package/dist/client/assets/{CompositeRoot-Dfl7FdSL.js → CompositeRoot-BuwzXGHT.js} +2 -2
- package/dist/client/assets/{ConnectionDiagnosisDetails-DCPX1JuG.js → ConnectionDiagnosisDetails-DGbJY7Hw.js} +2 -2
- package/dist/client/assets/{ConnectionStatusDot-DVkDejK1.js → ConnectionStatusDot-CixsTBXI.js} +2 -2
- package/dist/client/assets/{DRLTVNUE-BEVEy9Nb.js → DRLTVNUE-Cbb71R0Y.js} +2 -2
- package/dist/client/assets/{DYY6UVD2-DtPiS3Ow.js → DYY6UVD2-BZn5fuF5.js} +2 -2
- package/dist/client/assets/{DevicePanel-B8KdDbzD.js → DevicePanel-JP__PY1s.js} +2 -2
- package/dist/client/assets/{DeviceSetup-5wa1rPPZ.js → DeviceSetup-D8qb_qBj.js} +2 -2
- package/dist/client/assets/{DialogTitle-JDa7kdjH.js → DialogTitle-B_9LEmy3.js} +2 -2
- package/dist/client/assets/{DiffCommentAnnotation-Bp1MeIVC.js → DiffCommentAnnotation-WMKzOwCh.js} +2 -2
- package/dist/client/assets/{DiffFileTree-b24emCci.js → DiffFileTree-BSbsOOmA.js} +2 -2
- package/dist/client/assets/DiffPanel-BWFuiHvv.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-BoEAlLkf.js → DiffWorkerPoolProvider-BBk0lIX3.js} +2 -2
- package/dist/client/assets/EmbeddedDesign-B4RMmwTG.css +1 -0
- package/dist/client/assets/EmbeddedDesign-D5YUndkh.js +21 -0
- package/dist/client/assets/{EnvironmentMachineIcon-Emg7F_9r.js → EnvironmentMachineIcon-Dpgx67FY.js} +2 -2
- package/dist/client/assets/{ExpandableText-CK6tzx1k.js → ExpandableText-Cpm1gOKG.js} +2 -2
- package/dist/client/assets/{FNOVOB4O-C31Sm0mF.js → FNOVOB4O-BkEIrB0k.js} +2 -2
- package/dist/client/assets/{FieldControl-7KI8YfqD.js → FieldControl-BHe6unoZ.js} +2 -2
- package/dist/client/assets/{FileDiff-CXJUPm2t.js → FileDiff-C1vAOUga.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-BMID-IVR.js → FilePreviewPanel-CbpNevZP.js} +4 -4
- package/dist/client/assets/{FoldedSettingsSection-Dzi9RecU.js → FoldedSettingsSection-DySTg20x.js} +2 -2
- package/dist/client/assets/{FormContext-DAP0MupI.js → FormContext-CmvUzTS-.js} +2 -2
- package/dist/client/assets/{HDGCDEEZ-DZ2nNieb.js → HDGCDEEZ-CN-ckGDk.js} +2 -2
- package/dist/client/assets/{HSJLKHB7-DlFBBKjs.js → HSJLKHB7-B0BvmnZE.js} +2 -2
- package/dist/client/assets/{Icons-aTRNsMJy.js → Icons-B4l3TqYa.js} +2 -2
- package/dist/client/assets/Input-Cv-TKh6s.js +2 -0
- package/dist/client/assets/JZOYTAAL-CB_B_Rei.js +1 -0
- package/dist/client/assets/{K3MD6TGW-Drb40Qks.js → K3MD6TGW-IS0rWO1U.js} +2 -2
- package/dist/client/assets/{K7RP3OMA-C0M5Zt3R.js → K7RP3OMA-DcqjCOJO.js} +2 -2
- package/dist/client/assets/{KeybindingsSettings.logic-mOtug0lc.js → KeybindingsSettings.logic-mF9mJWrc.js} +2 -2
- package/dist/client/assets/{LHDIQX7Q-CdTAxECn.js → LHDIQX7Q-CLMgIt4Y.js} +2 -2
- package/dist/client/assets/{LUXOKEGN-DtIPjv1z.js → LUXOKEGN-B1dkmN_M.js} +2 -2
- package/dist/client/assets/{MathTypeset-DTaIJ55e.js → MathTypeset-qeRVy_bc.js} +2 -2
- package/dist/client/assets/{N3JZAHOW-C8Pvhbkj.js → N3JZAHOW-C6sq5aqx.js} +2 -2
- package/dist/client/assets/{NUIALGQ3-DY7_VZ5G.js → NUIALGQ3-BG7xJ_qe.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-CDfuCTEv.js → NoProjectsHero-B0KzU91d.js} +2 -2
- package/dist/client/assets/{O65XPQGZ-BH6EzDhm.js → O65XPQGZ-BEfVfDlS.js} +2 -2
- package/dist/client/assets/{O7XIQ6OM-BSPRvWV7.js → O7XIQ6OM-BUiRjV87.js} +2 -2
- package/dist/client/assets/{OFQON5FD-VO8HiyY7.js → OFQON5FD-DTgVPbd-.js} +2 -2
- package/dist/client/assets/{P4ConnectAccountPages-Cbg00I7Q.js → P4ConnectAccountPages-C4KYM5XU.js} +2 -2
- package/dist/client/assets/{P4ConnectSidebarSignIn-C9gBlkFF.js → P4ConnectSidebarSignIn-DNPUNJl_.js} +2 -2
- package/dist/client/assets/{PJQHF43J-yTbK55y3.js → PJQHF43J-QRnhQpHu.js} +2 -2
- package/dist/client/assets/PanelLayoutControls-4VFKEoHg.js +216 -0
- package/dist/client/assets/{PierreEntryIcon-HuUxlwtG.js → PierreEntryIcon-DeI-j_7w.js} +2 -2
- package/dist/client/assets/{PopoverHandle-CG975ng4.js → PopoverHandle-DMB4QSp6.js} +2 -2
- package/dist/client/assets/PreviewPanel-CO66mekh.js +2 -0
- package/dist/client/assets/ProjectDefaultsSettings-BF-iyQ8T.js +2 -0
- package/dist/client/assets/{ProjectFavicon-UXGwc_-W.js → ProjectFavicon-_6hkSNzm.js} +3 -3
- package/dist/client/assets/{ProjectIconPickerDialog-BAM7e1e5.js → ProjectIconPickerDialog-DeL1rZxy.js} +2 -2
- package/dist/client/assets/{ProjectMonogram-f16fmYcx.js → ProjectMonogram-Cn4l-YGU.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-e0ZkNHAb.js → ProviderAuthTerminal-qGeMxZDy.js} +2 -2
- package/dist/client/assets/ProviderModelPicker-DJQYH_Pp.js +2 -0
- package/dist/client/assets/{ProviderSettingsForm-CXMFT8YA.js → ProviderSettingsForm-BSVuPnR0.js} +2 -2
- package/dist/client/assets/PullRequestCodeTab-0OaJE6XS.js +6 -0
- package/dist/client/assets/{RHNBAITX-TQrYdbHC.js → RHNBAITX-ChqB7inB.js} +2 -2
- package/dist/client/assets/{ReadOnlySourcePreview-xMB_y284.js → ReadOnlySourcePreview-B08Wms4m.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-C2ZkZ4DB.js → RenderErrorBoundary-BsOuLEci.js} +3 -3
- package/dist/client/assets/{SLD4V6NK-Bz1tyL2C.js → SLD4V6NK-IkYRGtTH.js} +2 -2
- package/dist/client/assets/ScheduledTasksSettings-1UDkELZo.js +4 -0
- package/dist/client/assets/{ScopedSwitch-DBUAjY1n.js → ScopedSwitch-Bhp6-hCj.js} +2 -2
- package/dist/client/assets/{ScrollAreaCorner-U1Zhpkdl.js → ScrollAreaCorner-BPMuWLbs.js} +2 -2
- package/dist/client/assets/{SecretInput-BxYmGvR5.js → SecretInput-RlOzrLKL.js} +2 -2
- package/dist/client/assets/{SelectScrollUpArrow-CJ4E0xi4.js → SelectScrollUpArrow-6kh66YCd.js} +2 -2
- package/dist/client/assets/{SettingsPanels-DRK5QQ04.js → SettingsPanels-BfBUSBAG.js} +6 -6
- package/dist/client/assets/{SettingsPanels.logic-Bdp6GzIj.js → SettingsPanels.logic-BsFZYDgm.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-DYiUHoov.js → SettingsScopeNotice-H7UzC9bb.js} +2 -2
- package/dist/client/assets/{T3PCR2KE-DJwqsK9f.js → T3PCR2KE-BxaunvVy.js} +2 -2
- package/dist/client/assets/{TKWO2OVW-CRU32th0.js → TKWO2OVW-DFURsfqA.js} +2 -2
- package/dist/client/assets/{TSHNXIZL-dMhDuHVe.js → TSHNXIZL-CIukdyLy.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-BIQc-w2Q.js → ThemeEditorPanel-otrA-nTg.js} +3 -3
- package/dist/client/assets/{ThreadTerminalDrawer-BqO5rPzw.js → ThreadTerminalDrawer-BQKZCFAC.js} +4 -4
- package/dist/client/assets/TooltipViewport-ZmVCer7P.js +2 -0
- package/dist/client/assets/{UQJE5E4I-DH2S3Hdw.js → UQJE5E4I-CfqCotH2.js} +2 -2
- package/dist/client/assets/{USNYFO5S-Cfz4g-2W.js → USNYFO5S-CctAAheU.js} +2 -2
- package/dist/client/assets/{Virtualizer-ChRGRE40.js → Virtualizer-CImHNxBq.js} +2 -2
- package/dist/client/assets/{WEVWDWVA-C55QWN7O.js → WEVWDWVA-DS9YO9IT.js} +2 -2
- package/dist/client/assets/{WorkspaceBreadcrumb-8nBISaRF.js → WorkspaceBreadcrumb-BW_omYU1.js} +2 -2
- package/dist/client/assets/{WorkspacePageContainer-BGE_kHaP.js → WorkspacePageContainer-BS8FWt_4.js} +2 -2
- package/dist/client/assets/{WorkspacePageHeader-D704geLh.js → WorkspacePageHeader-CE_94tTR.js} +2 -2
- package/dist/client/assets/{X5RFHQXM-hmS6q1sh.js → X5RFHQXM-B0KbwoE1.js} +2 -2
- package/dist/client/assets/{X62E3GBT-BhTtqjj4.js → X62E3GBT-wpz8X9Yh.js} +2 -2
- package/dist/client/assets/{XBNEOJTC-1paZyqxX.js → XBNEOJTC-DFRK5c6Y.js} +2 -2
- package/dist/client/assets/{YHV2MVVZ-DbfthGUh.js → YHV2MVVZ-1NnqTTZ2.js} +2 -2
- package/dist/client/assets/{YURCZMG2-D8tAzwGP.js → YURCZMG2-rnzWY5ij.js} +2 -2
- package/dist/client/assets/{YVG2LODB-DMSQWWQ_.js → YVG2LODB-Dxuuk2M-.js} +2 -2
- package/dist/client/assets/_chat-1QGQLbCc.js +45 -0
- package/dist/client/assets/{_chat.design-CdPf_wsA.js → _chat.design-z2pu_9A5.js} +2 -2
- package/dist/client/assets/{_chat.index-BkTRJLOf.js → _chat.index-D8X9o5jY.js} +2 -2
- package/dist/client/assets/{_chat.new-CEmRJFEH.js → _chat.new-CGJw8cpo.js} +3 -3
- package/dist/client/assets/_chat.pull-requests-BfW9qMU1.js +2 -0
- package/dist/client/assets/{alert-DiE1d01s.js → alert-DO06etEs.js} +2 -2
- package/dist/client/assets/{assetUrls-BeScRf6b.js → assetUrls-CmOUMX2M.js} +2 -2
- package/dist/client/assets/assets-aBpLf8r4.js +2 -0
- package/dist/client/assets/{browserHistoryStore-hrG24FfH.js → browserHistoryStore-tYgeZygn.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-D8HEmVsi.js → browserLinkTarget-CQFfJKWJ.js} +2 -2
- package/dist/client/assets/{checkbox-CwFE3KXZ.js → checkbox-BEQFb7GO.js} +2 -2
- package/dist/client/assets/{color-picker-BKtR2mwD.js → color-picker-CXfnfmuH.js} +2 -2
- package/dist/client/assets/{combobox-DBUxcuwi.js → combobox--XoXA5uu.js} +2 -2
- package/dist/client/assets/{command-NV0JEoGo.js → command-E2aLhsct.js} +2 -2
- package/dist/client/assets/composer-logic-BPTz1APL.js +6 -0
- package/dist/client/assets/{composerDraftUploads-BmpBCVnP.js → composerDraftUploads-b_0oxKs9.js} +2 -2
- package/dist/client/assets/{connect-Bzgsrfe8.js → connect-CU9dNvTt.js} +2 -2
- package/dist/client/assets/{connect-agent-BCguLPkZ.js → connect-agent-Byc9PCdW.js} +2 -2
- package/dist/client/assets/{design-BGLTZdWG.js → design-CoGbXd61.js} +2 -2
- package/dist/client/assets/{device-D0-STSSP.js → device-DmH6IHQ4.js} +2 -2
- package/dist/client/assets/{dialog-pqqgtsKn.js → dialog-CBBxT1gk.js} +2 -2
- package/dist/client/assets/{diffRendering-eAJMSnXr.js → diffRendering-BOVFJuWd.js} +2 -2
- package/dist/client/assets/{dist-KeWCSS5h.js → dist-B2P3f-0Q.js} +3 -3
- package/dist/client/assets/{draft-input-DrGl-qts.js → draft-input-CSOOVntS.js} +2 -2
- package/dist/client/assets/{duoViewer-DKygyhUj.js → duoViewer-BhHYrurM.js} +2 -2
- package/dist/client/assets/{dynamic-DKhgWyT6.js → dynamic-BhzrutAo.js} +2 -2
- package/dist/client/assets/{embeddedScripts-WSYzbtcW.js → embeddedScripts-43_R83vp.js} +2 -2
- package/dist/client/assets/{empty-Du5F51Da.js → empty-FOL5U4KY.js} +2 -2
- package/dist/client/assets/entities-Bqo0n1Pb.js +2 -0
- package/dist/client/assets/{fileLinks-BEJjCE8r.js → fileLinks-D4GSqJYj.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-CCF3XVRn.js → fileTreeExpansion-BBT5F8P1.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-Dkc1Whpr.js → getDiffFileInput-CGw09SPI.js} +2 -2
- package/dist/client/assets/{guideRunStore-CVyie1IJ.js → guideRunStore-DvIkVECt.js} +2 -2
- package/dist/client/assets/{htmlRender-fSOuRG49.js → htmlRender-CmEeFzCo.js} +2 -2
- package/dist/client/assets/{index-RvCv9K-x.js → index-B1djVqM4.js} +3 -3
- package/dist/client/assets/{input-GkmNnHh7.js → input-ekYqAkUx.js} +2 -2
- package/dist/client/assets/{input-group-Cql1yQRL.js → input-group-C3pxk97H.js} +2 -2
- package/dist/client/assets/{kbd-D2OGhJqG.js → kbd-3FPzNikV.js} +2 -2
- package/dist/client/assets/{keybindings-1XWkWeQB.js → keybindings-B3oDRRkK.js} +2 -2
- package/dist/client/assets/{lazy-BUyZ03gL.js → lazy-DyNR0b0B.js} +4 -4
- package/dist/client/assets/{lazyRouteComponent-BXmOK9bz.js → lazyRouteComponent-BPxq_G_s.js} +2 -2
- package/dist/client/assets/{link-BGMNeg05.js → link-B3B5a5Ju.js} +2 -2
- package/dist/client/assets/{linkedPrompt-B3l4m_6D.js → linkedPrompt-BsCPMHxQ.js} +2 -2
- package/dist/client/assets/main-BWh6jqG2.js +29 -0
- package/dist/client/assets/main-DdVSHl80.css +2 -0
- package/dist/client/assets/{mediaReference-CsA5Lv5E.js → mediaReference-Bb8H-qbI.js} +2 -2
- package/dist/client/assets/{mediaSource-BbYoxHZJ.js → mediaSource-C2MsZgy8.js} +2 -2
- package/dist/client/assets/number-field-SoHEiP55.js +2 -0
- package/dist/client/assets/{observeResize-CNtO3VS7.js → observeResize-3Vj9DYOV.js} +2 -2
- package/dist/client/assets/{onboarding-KXMrOHsw.js → onboarding-CPgiVEVK.js} +2 -2
- package/dist/client/assets/{openFileInPreview-BKTnNQFl.js → openFileInPreview-BBWCOLh_.js} +2 -2
- package/dist/client/assets/{p4ProjectFile-sAVjpCzn.js → p4ProjectFile-qmvlbzKv.js} +2 -2
- package/dist/client/assets/{pair-BIaVaT-B.js → pair-CZnRGdd8.js} +2 -2
- package/dist/client/assets/{pendingSendStore-CPz2p40W.js → pendingSendStore-L5KquCDf.js} +2 -2
- package/dist/client/assets/{phoneViewer-DGKQHyy3.js → phoneViewer-D-8v-sMf.js} +2 -2
- package/dist/client/assets/{pierre-icons-6ByaxkH5.js → pierre-icons-jwqMPUxD.js} +2 -2
- package/dist/client/assets/{popover-BIXQitBy.js → popover-OfG3wVsl.js} +2 -2
- package/dist/client/assets/{preview-BcEybEc8.js → preview-BYnEURcB.js} +2 -2
- package/dist/client/assets/{preview-C3ymkoAM.js → preview-DGdQ5Ycc.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-DWw2A_gt.js → previewMiniPlayerStore-Dlbj5KrZ.js} +2 -2
- package/dist/client/assets/primary-B47ivN3o.js +2 -0
- package/dist/client/assets/primaryCloudLinkState-CreqR0gU.js +2 -0
- package/dist/client/assets/projectFilesQueryState-CanWrACx.js +2 -0
- package/dist/client/assets/{projectScriptEditor-CNXQwWP8.js → projectScriptEditor-gWuw6vwd.js} +2 -2
- package/dist/client/assets/{providerSkills-CNeLyiqf.js → providerSkills-C_Rxqah9.js} +2 -2
- package/dist/client/assets/{pullRequestDetail.logic-BNpxef-3.js → pullRequestDetail.logic-RASi2EgP.js} +4 -4
- package/dist/client/assets/{pullRequestIcons-CSs54zQk.js → pullRequestIcons-ucGaXXG7.js} +2 -2
- package/dist/client/assets/{pullRequestReviewStore-BawbGhnx.js → pullRequestReviewStore-CEr41DEl.js} +2 -2
- package/dist/client/assets/pullRequests-Bw3Ui6hK.js +2 -0
- package/dist/client/assets/queries-EslKFJTV.js +2 -0
- package/dist/client/assets/query-d1pQlqP0.js +2 -0
- package/dist/client/assets/{radio-group-yq5YEgUO.js → radio-group-Ciy_K5uE.js} +2 -2
- package/dist/client/assets/{renderScheduler--3RDWz9Z.js → renderScheduler-CP-JkmKx.js} +2 -2
- package/dist/client/assets/rightPanelStore-D3KOmuPa.js +2 -0
- package/dist/client/assets/runtime-DR7JxgbQ.js +6 -0
- package/dist/client/assets/runtime-d6B1vJeH.js +3 -0
- package/dist/client/assets/runtimeModeConfig-Rxeb1uGg.js +2 -0
- package/dist/client/assets/{scheduledTasksSettings.logic-DefawCwN.js → scheduledTasksSettings.logic-CVIC4Kpr.js} +3 -3
- package/dist/client/assets/{scroll-area-CfW8fzQ8.js → scroll-area-yyfi3ycu.js} +2 -2
- package/dist/client/assets/{select-C10oXKGz.js → select-DaYjjw1q.js} +2 -2
- package/dist/client/assets/selfImproveFindings-1XIHD-7i.js +2 -0
- package/dist/client/assets/server-sXApTCjZ.js +2 -0
- package/dist/client/assets/{session-yxXjF8AQ.js → session-C949OsEI.js} +2 -2
- package/dist/client/assets/session-logic-DkSfwnHl.js +26 -0
- package/dist/client/assets/{settings-CgshkEb_.js → settings-B0O54Q3P.js} +2 -2
- package/dist/client/assets/{settings.appearance-yicuncxz.js → settings.appearance-BesXhA1a.js} +2 -2
- package/dist/client/assets/settings.archived-FtcZf_Ug.js +2 -0
- package/dist/client/assets/settings.computer-use-BeKmLbNe.js +2 -0
- package/dist/client/assets/settings.connections-D1UxckE0.js +2 -0
- package/dist/client/assets/{settings.data-controls-CZ5aXdyA.js → settings.data-controls-lPiIwMgc.js} +2 -2
- package/dist/client/assets/settings.decisions-D97jIUyr.js +2 -0
- package/dist/client/assets/{settings.designs-j9E6N2pN.js → settings.designs-B473PRvt.js} +2 -2
- package/dist/client/assets/settings.diagnostics-DDOaOIDg.js +2 -0
- package/dist/client/assets/{settings.general-BCrYSHkU.js → settings.general-qzEOE2zF.js} +2 -2
- package/dist/client/assets/settings.integrations-D6ctQ9WI.js +2 -0
- package/dist/client/assets/{settings.keybindings-BQ-LrcTn.js → settings.keybindings-BL57H4sD.js} +2 -2
- package/dist/client/assets/{settings.open-source-licenses-BHiHgzgF.js → settings.open-source-licenses-DaS82UhN.js} +2 -2
- package/dist/client/assets/{settings.plugins-DavhWo4Q.js → settings.plugins-DnS3RrT2.js} +4 -4
- package/dist/client/assets/{settings.projects-uuJOwkSl.js → settings.projects-D-ZICXey.js} +4 -4
- package/dist/client/assets/settings.providers-CFpCmv0o.js +3 -0
- package/dist/client/assets/{settings.scheduled-tasks-DoWHIDOp.js → settings.scheduled-tasks-IEAC3STn.js} +2 -2
- package/dist/client/assets/{settings.snap-shot-ClKlVUUJ.js → settings.snap-shot-BaOFk9WR.js} +2 -2
- package/dist/client/assets/{settings.source-control-o8jFa_Cr.js → settings.source-control-BW16AA5z.js} +2 -2
- package/dist/client/assets/{settings.storage-Bb-cW0xG.js → settings.storage-D4vBYBRP.js} +2 -2
- package/dist/client/assets/settingsLayout-CFQx1XDM.js +3 -0
- package/dist/client/assets/{sidebar-Bd6PzVyD.js → sidebar-C1E4GqL6.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-C13IyN_p.js → sidebarProjectGrouping-9cUrCOXH.js} +2 -2
- package/dist/client/assets/{skeleton-pd7m2J5F.js → skeleton-BCpBrYxh.js} +2 -2
- package/dist/client/assets/{sourceControl-Y9v_vyKt.js → sourceControl-DwJWPP0h.js} +2 -2
- package/dist/client/assets/{sourceControlClients-KQ5315mN.js → sourceControlClients-BBJW7ra4.js} +2 -2
- package/dist/client/assets/{spinner-CW23--q5.js → spinner-CSTrcxhP.js} +2 -2
- package/dist/client/assets/{terminal-links-Bd9AoAyA.js → terminal-links-D18LpQ1T.js} +2 -2
- package/dist/client/assets/{terminalSessions-CF7f4A-6.js → terminalSessions-C2NUFncF.js} +2 -2
- package/dist/client/assets/{textarea-DSS-lavF.js → textarea-R4UQ47Ns.js} +2 -2
- package/dist/client/assets/{themePalette-C_1pk_Mi.js → themePalette-neUNWCzK.js} +3 -3
- package/dist/client/assets/toast-B84QdqqM.js +2 -0
- package/dist/client/assets/{toggle-Cpfo0sMT.js → toggle-BH5BGBcD.js} +2 -2
- package/dist/client/assets/{toggle-group-FrArhs7R.js → toggle-group-Di3SFV73.js} +2 -2
- package/dist/client/assets/{tooltip-CSzrAm8M.js → tooltip-D-GRl-oZ.js} +2 -2
- package/dist/client/assets/{uiStateStore-VHQ8vDs5.js → uiStateStore-xSkh4_PU.js} +2 -2
- package/dist/client/assets/{usage-uwswTMhu.js → usage-DUdXloVo.js} +2 -2
- package/dist/client/assets/{usageAccess-BDwH_c8I.js → usageAccess-DSLF-sRE.js} +2 -2
- package/dist/client/assets/{usageFormat-CKgwjLMR.js → usageFormat-Bzyvr9m4.js} +2 -2
- package/dist/client/assets/{usageShortcuts-lXBRgPmi.js → usageShortcuts-D6nQeRtx.js} +2 -2
- package/dist/client/assets/{use-atom-command-CSWaAmR7.js → use-atom-command-DA6OG-Qk.js} +2 -2
- package/dist/client/assets/{useAriaLabelledBy-vgEmgPPR.js → useAriaLabelledBy-PLuOxvFb.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-BVFM3SUe.js → useHandleNewThread-Dm0SCq59.js} +2 -2
- package/dist/client/assets/{useLocation-FEfJrgGU.js → useLocation-Bqc94klS.js} +2 -2
- package/dist/client/assets/{useNavigate-Lp_S-tAl.js → useNavigate-DdjG4MB_.js} +2 -2
- package/dist/client/assets/{useNavigateBack-BTJoRrRy.js → useNavigateBack-sP0LsL3p.js} +2 -2
- package/dist/client/assets/{useP4ConnectAuthPrompt-7Z8osIH2.js → useP4ConnectAuthPrompt-C9d7n33S.js} +2 -2
- package/dist/client/assets/{useParams-8KxPyQmv.js → useParams-DZQvRQLJ.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-CyvlYHNs.js → usePermissionStatus-BzfAUU9X.js} +2 -2
- package/dist/client/assets/{usePullRequestActions-DfyxdDPg.js → usePullRequestActions-DIjGLg1E.js} +3 -3
- package/dist/client/assets/{useRegisterFieldControl-Dj6RbECy.js → useRegisterFieldControl-CyBVe0G0.js} +2 -2
- package/dist/client/assets/{useScopedModelAvailability-BfFbT2DU.js → useScopedModelAvailability-D4n22Nmm.js} +2 -2
- package/dist/client/assets/useSettings-CaJMqrvF.js +3 -0
- package/dist/client/assets/utils-BoMYW9A3.js +37 -0
- package/dist/client/assets/vcsRefInvalidation-w_CQ3i43.js +2 -0
- package/dist/client/assets/{welcome-CIETplg9.js → welcome-BIKH3rbU.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/{renderer-D8FhaVWU.mjs → renderer-CveKT929.mjs} +26 -3
- package/dist/{runtime-a3PrAU7n.mjs → runtime-DGGSjC6Q.mjs} +149 -5
- package/package.json +1 -1
- package/dist/client/assets/AlertDialogRoot-B--i3imS.js +0 -2
- package/dist/client/assets/ChatGptUsageButton-LQ3LzsF3.js +0 -2
- package/dist/client/assets/ComposerPromptEditor-Bz4_w6ez.js +0 -204
- package/dist/client/assets/DiffPanel-bEjr64Vx.js +0 -2
- package/dist/client/assets/EmbeddedDesign-Cud7UEy4.css +0 -1
- package/dist/client/assets/EmbeddedDesign-DmRjhA9k.js +0 -21
- package/dist/client/assets/Input-rVh9fuLP.js +0 -2
- package/dist/client/assets/JZOYTAAL-DXVzZiqj.js +0 -1
- package/dist/client/assets/PanelLayoutControls-40ju6vkz.js +0 -216
- package/dist/client/assets/PreviewPanel-Ljaq9IHA.js +0 -2
- package/dist/client/assets/ProjectDefaultsSettings-DhwkzlK6.js +0 -2
- package/dist/client/assets/ProviderModelPicker-BviWI2wX.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-Bm67cV34.js +0 -6
- package/dist/client/assets/ScheduledTasksSettings-D-GMMbJH.js +0 -4
- package/dist/client/assets/TooltipViewport-Bz56sWCM.js +0 -2
- package/dist/client/assets/_chat-CXVo1NVJ.js +0 -46
- package/dist/client/assets/_chat.pull-requests-4M0tUrJ6.js +0 -2
- package/dist/client/assets/assets-RdKoqY9e.js +0 -2
- package/dist/client/assets/composer-logic-BQdFVlkE.js +0 -6
- package/dist/client/assets/entities-n6SMnPE8.js +0 -2
- package/dist/client/assets/main-BP1f3auf.css +0 -2
- package/dist/client/assets/main-Dcfxjdkd.js +0 -29
- package/dist/client/assets/number-field-jauVDwvy.js +0 -2
- package/dist/client/assets/primary-DD11poOa.js +0 -2
- package/dist/client/assets/primaryCloudLinkState-CD2_f6q-.js +0 -2
- package/dist/client/assets/projectFilesQueryState-C8dGr8oR.js +0 -2
- package/dist/client/assets/pullRequests-jsc4Hq78.js +0 -2
- package/dist/client/assets/queries-DZV2RDc9.js +0 -2
- package/dist/client/assets/query-BV3IuYff.js +0 -2
- package/dist/client/assets/rightPanelStore-CeZBJCMI.js +0 -2
- package/dist/client/assets/runtime-DSZ2mWrf.js +0 -6
- package/dist/client/assets/runtime-DTUiqO10.js +0 -3
- package/dist/client/assets/runtimeModeConfig-BwioIXVs.js +0 -2
- package/dist/client/assets/server-ztj8tD38.js +0 -2
- package/dist/client/assets/session-logic-w7gGMFHb.js +0 -26
- package/dist/client/assets/settings.archived-ZXG8lJ_T.js +0 -2
- package/dist/client/assets/settings.computer-use-lOJg1Jos.js +0 -2
- package/dist/client/assets/settings.connections-DSPQOd-W.js +0 -2
- package/dist/client/assets/settings.decisions-C8qxQCjl.js +0 -2
- package/dist/client/assets/settings.diagnostics-yio3SGbE.js +0 -2
- package/dist/client/assets/settings.integrations-Dl-vtiOS.js +0 -2
- package/dist/client/assets/settings.providers-rZQTQdtf.js +0 -3
- package/dist/client/assets/settingsLayout-DzBeWTUO.js +0 -3
- package/dist/client/assets/toast-BFuAqla3.js +0 -2
- package/dist/client/assets/useSettings-CPPvBMmM.js +0 -3
- package/dist/client/assets/utils-BE5iQuUP.js +0 -37
- package/dist/client/assets/vcsRefInvalidation-DCdd2BDA.js +0 -2
package/dist/client/assets/{SettingsPanels.logic-Bdp6GzIj.js → SettingsPanels.logic-BsFZYDgm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=SettingsPanels.logic-
|
|
1
|
+
import{kh as e,vE as t,xT as n}from"./utils-BoMYW9A3.js";import{F as r,L as i,R as a,z as o}from"./useSettings-CaJMqrvF.js";function s(e){return e!==`separate`}function c(e,t=`repository`){return e?t===`repository_path`?`repository_path`:`repository`:`separate`}var l=`p4code:last-enabled-project-grouping-mode`;function u(){try{return localStorage.getItem(l)===`repository_path`?`repository_path`:`repository`}catch{return`repository`}}function d(e){if(e!==`separate`)try{localStorage.setItem(l,e)}catch{}}function f(n){return!t(n.backgroundActivity,e.backgroundActivity)||n.backgroundActivityProfile!==e.backgroundActivityProfile||!t(n.automaticGitFetchInterval,e.automaticGitFetchInterval)||!t(n.providerHealthRefreshInterval,e.providerHealthRefreshInterval)}function p(t){return[...t.fontFamilySans!==e.fontFamilySans||t.fontSizeInterface!==e.fontSizeInterface?[`Interface font`]:[],...t.fontFamilyComposer!==e.fontFamilyComposer||t.fontSizePrompt!==e.fontSizePrompt?[`Prompt font`]:[],...t.fontFamilyCode!==e.fontFamilyCode||t.fontSizeCode!==e.fontSizeCode?[`Code font`]:[],...t.fontFamilyTerminal!==e.fontFamilyTerminal||t.fontSizeTerminal!==e.fontSizeTerminal?[`Terminal font`]:[]]}function m(e,t){return e._tag===t._tag?e._tag===`fill`||t._tag===`fill`?!0:e.width!==t.width||e.height!==t.height?!1:e._tag===`preset`&&t._tag===`preset`?e.presetId===t.presetId:!0:!1}function h(t){return[...m(t.browserDefaultViewport,e.browserDefaultViewport)?[]:[`Browser viewport`],...t.browserDefaultZoomFactor===e.browserDefaultZoomFactor?[]:[`Browser zoom`],...t.browserDefaultAppearance===e.browserDefaultAppearance?[]:[`Browser appearance`],...t.browserRecordingFrameRate===e.browserRecordingFrameRate?[]:[`Recording frame rate`],...t.browserRecordingShowKeyPresses?[`Recording key presses`]:[],...t.browserRecordingShowMousePresses?[`Recording mouse presses`]:[],...t.browserLinkTarget===e.browserLinkTarget?[]:[`Open links in`],...t.browserSearchEngine!==e.browserSearchEngine||t.browserCustomSearchUrl!==e.browserCustomSearchUrl?[`Search engine`]:[],...t.browserAutoShowFloatingPreview===e.browserAutoShowFloatingPreview?[]:[`Floating preview`],...t.pullRequestLinksOpenInApp===e.pullRequestLinksOpenInApp?[]:[`Open pull requests in P4 Code`]]}function g(e){let t=o(e),n=i({schemaVersion:1,profile:`custom`,baseProfile:t.profile,overrides:{automaticGitFetchInterval:t.automaticGitFetchInterval,providerHealthRefreshInterval:t.providerHealthRefreshInterval,hostPowerMonitorActiveInterval:t.hostPowerMonitorActiveInterval,hostPowerMonitorIdleInterval:t.hostPowerMonitorIdleInterval,idleClientTtl:t.idleClientTtl,pauseWhenHostLocked:t.pauseWhenHostLocked,pauseWhenHostLowPower:t.pauseWhenHostLowPower,pauseWhenClientLowPower:t.pauseWhenClientLowPower,pauseWhenOnBattery:t.pauseWhenOnBattery}});return n.profile===`custom`?`advanced`:n.profile}function _(e,t){let n=a(e);return{schemaVersion:1,profile:`custom`,baseProfile:t,overrides:n.profile===`custom`?n.overrides:{}}}function v(e){return{providerInstances:{...e.settings.providerInstances,[e.instanceId]:e.instance},...e.textGenerationModelSelection===void 0?{}:{textGenerationModelSelection:e.textGenerationModelSelection}}}function y(e){return Math.round(n(e)/1e3)}function b(e,t=0){return e===null||!Number.isFinite(e)?t:Math.max(t,Math.round(e))}function x(e,t,n){let i={automaticGitFetchInterval:t.automaticGitFetchInterval,providerHealthRefreshInterval:t.providerHealthRefreshInterval,hostPowerMonitorActiveInterval:t.hostPowerMonitorActiveInterval,hostPowerMonitorIdleInterval:t.hostPowerMonitorIdleInterval,idleClientTtl:t.idleClientTtl,pauseWhenHostLocked:t.pauseWhenHostLocked,pauseWhenHostLowPower:t.pauseWhenHostLowPower,pauseWhenClientLowPower:t.pauseWhenClientLowPower,pauseWhenOnBattery:t.pauseWhenOnBattery,...n};for(let[e,t]of Object.entries(i))t===void 0&&delete i[e];return{backgroundActivity:{schemaVersion:1,profile:`custom`,baseProfile:r(e),overrides:i}}}export{h as a,s as c,u as d,d as f,y as i,b as l,_ as n,p as o,g as p,v as r,f as s,x as t,c as u};
|
|
2
|
+
//# sourceMappingURL=SettingsPanels.logic-BsFZYDgm.js.map
|
package/dist/client/assets/{SettingsScopeNotice-DYiUHoov.js → SettingsScopeNotice-H7UzC9bb.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{dr as r}from"./utils-
|
|
2
|
-
//# sourceMappingURL=SettingsScopeNotice-
|
|
1
|
+
import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{dr as r}from"./utils-BoMYW9A3.js";import{t as i}from"./useNavigate-DdjG4MB_.js";import{t as a}from"./useLocation-Bqc94klS.js";import{E as o}from"./useSettings-CaJMqrvF.js";import{n as s,r as c,t as l}from"./alert-DO06etEs.js";import{U as u,V as d,i as f}from"./settingsLayout-CFQx1XDM.js";var p=t(),m=e(n(),1);function h(e){let t=(0,p.c)(42),{children:n,target:h,targetId:y,eligibleEnvironmentIds:b}=e,{selectScope:x,search:S}=d(),C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={from:`/settings`},t[0]=C):C=t[0];let w=i(C),T;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(T={select:v},t[1]=T):T=t[1];let E=a(T),{environments:D}=o(),O=u(),k,A,j,M,N,P,F,I;if(t[2]!==n||t[3]!==b||t[4]!==D||t[5]!==O||t[6]!==w||t[7]!==E||t[8]!==S||t[9]!==x||t[10]!==h||t[11]!==y){let e=h===`checkout`?O.filter(e=>!S.project||e.projectKey===S.project).flatMap(_):h===`project`?O.map(g):h===`environment`?D.filter(e=>b===void 0||b.includes(e.environmentId)).map(e=>({label:D.some(t=>t.environmentId!==e.environmentId&&t.label===e.label)?`${e.label} · ${e.displayUrl||e.environmentId}`:e.label,search:{machine:e.environmentId}})):[{label:`Open all environments`,search:{}}];M=f,j=l,I=`status`,A=c,t[20]===n?F=t[21]:(F=(0,m.jsx)(`p`,{children:n}),t[20]=n,t[21]=F),k=s,N=`flex-wrap`;let i;t[22]!==w||t[23]!==E||t[24]!==x||t[25]!==y?(i=e=>(0,m.jsx)(r,{size:`sm-multiline`,variant:`outline`,className:`max-w-full break-all text-left`,onClick:()=>{y?w({to:E,search:()=>e.search,hash:y}):x(e.search)},children:e.label},JSON.stringify(e.search)),t[22]=w,t[23]=E,t[24]=x,t[25]=y,t[26]=i):i=t[26],P=e.map(i),t[2]=n,t[3]=b,t[4]=D,t[5]=O,t[6]=w,t[7]=E,t[8]=S,t[9]=x,t[10]=h,t[11]=y,t[12]=k,t[13]=A,t[14]=j,t[15]=M,t[16]=N,t[17]=P,t[18]=F,t[19]=I}else k=t[12],A=t[13],j=t[14],M=t[15],N=t[16],P=t[17],F=t[18],I=t[19];let L;t[27]!==k||t[28]!==N||t[29]!==P?(L=(0,m.jsx)(k,{className:N,children:P}),t[27]=k,t[28]=N,t[29]=P,t[30]=L):L=t[30];let R;t[31]!==A||t[32]!==F||t[33]!==L?(R=(0,m.jsxs)(A,{children:[F,L]}),t[31]=A,t[32]=F,t[33]=L,t[34]=R):R=t[34];let z;t[35]!==j||t[36]!==I||t[37]!==R?(z=(0,m.jsx)(j,{role:I,children:R}),t[35]=j,t[36]=I,t[37]=R,t[38]=z):z=t[38];let B;return t[39]!==M||t[40]!==z?(B=(0,m.jsx)(M,{children:z}),t[39]=M,t[40]=z,t[41]=B):B=t[41],B}function g(e){return{label:e.displayName,search:{project:e.projectKey}}}function _(e){return e.memberProjects.map(t=>({label:`${e.displayName} · ${t.environmentLabel??`Environment`} · ${t.workspaceRoot}`,search:{project:e.projectKey,machine:t.environmentId,checkout:t.physicalProjectKey}}))}function v(e){return e.pathname}export{h as t};
|
|
2
|
+
//# sourceMappingURL=SettingsScopeNotice-H7UzC9bb.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{f as e,g as t,l as n,o as r,r as i,s as a,t as o,y as s}from"./77XECAW3-
|
|
1
|
+
import{f as e,g as t,l as n,o as r,r as i,s as a,t as o,y as s}from"./77XECAW3-TL2w7pHK.js";import{a as c,s as l}from"./N3JZAHOW-C6sq5aqx.js";import{n as u}from"./5B3SVYGG-Y7V7NdZO.js";import{o as d,r as f}from"./DKTLEL5E-DciMwFJ1.js";import{a as p,r as m}from"./5N7A7DKN-CNUCnWLs.js";import{a as h}from"./ABYRPUBD-CJboH7Uz.js";import{PeleError as g,_,i as v,r as y,u as b}from"./lazy-DyNR0b0B.js";var x=new Set([`label`,`type`,`descr`,`techn`,`sprite`,`tags`,`link`,`bgColor`,`fontColor`,`borderColor`,`shadowing`,`shape`,`legendText`,`legendSprite`]),S=new Set([`label`,`descr`,`techn`,`sprite`,`tags`,`link`,`textColor`,`lineColor`]);function C(e,t){let{key:n,value:r}=t;`from`in e&&(n===`offsetX`||n===`offsetY`)?e[n]=parseInt(r):(`from`in e?S:x).has(n)?e[n]=r:(e.extra??=new Map).set(n,r)}function w(e,t,n){n!==void 0&&(typeof n==`string`?e[t]=n:C(e,n))}function T(e,t,n){n===void 0?e[t]??=``:w(e,t,n)}function E(e,t){e.labelAttr=void 0,typeof t==`object`?(e.label=``,e.labelAttr=t,C(e,t)):e.label=t??``}var D=class{type=`c4`;c4Type;title;accTitle;accDescr;shapes=[];boundaries=[{alias:`global`,label:`global`,type:`global`,parent:void 0}];rels=[];shapeInRow=4;boundaryInRow=2;shapeIndex=new Map;boundaryIndex=new Map;relIndex=new Map;current=this.boundaries[0];stack=[];setC4Type(e){this.c4Type=e}setTitle(e){this.title=e}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
|
|
2
2
|
`)}element(e,t,n,r){let i=typeof n==`string`?t.get(n):void 0;return i===void 0&&(i={alias:``,label:``,parent:void 0},e.push(i),typeof n==`string`?(i.alias=n,t.set(n,i)):(i.aliasAttr=n,C(i,n))),E(i,r),i}addPersonOrSystem(e,t){let n=this.element(this.shapes,this.shapeIndex,t[0],t[1]);T(n,`descr`,t[2]),this.finishShape(n,e,t,3)}addContainer(e,t){let n=this.element(this.shapes,this.shapeIndex,t[0],t[1]);T(n,`techn`,t[2]),T(n,`descr`,t[3]),this.finishShape(n,e,t,4)}addComponent(e,t){this.addContainer(e,t)}finishShape(e,t,n,r){w(e,`sprite`,n[r]),w(e,`tags`,n[r+1]),w(e,`link`,n[r+2]),e.kind=t,e.parent=this.current}boundary(e,t){let n=this.element(this.boundaries,this.boundaryIndex,e[0],e[1]);return e[2]===void 0?n.type=t:w(n,`type`,e[2]),n}open(e){e.parent=this.current,this.stack.push(this.current),this.current=e}addPersonOrSystemBoundary(e,t=`system`){let n=this.boundary(e,t);w(n,`tags`,e[3]),w(n,`link`,e[4]),this.open(n)}addContainerBoundary(e){this.addPersonOrSystemBoundary(e,`container`)}addDeploymentNode(e,t){let n=this.boundary(t,`node`);T(n,`descr`,t[3]),w(n,`sprite`,t[4]),w(n,`tags`,t[5]),w(n,`link`,t[6]),n.nodeType=e,this.open(n)}popBoundaryParseStack(){this.current=this.stack.pop()??this.boundaries[0]}addRel(e,t){let n=t[0],r=t[1];if(n===void 0||r===void 0||t[2]===void 0)return;let i=typeof n==`string`&&typeof r==`string`,a=i?this.relIndex.get(n)?.get(r):void 0;if(a===void 0){if(a={type:e,from:``,to:``,label:``},this.rels.push(a),i){let e=this.relIndex.get(n);e===void 0&&this.relIndex.set(n,e=new Map),e.set(r,a)}typeof n==`string`?a.from=n:a.fromAttr=n,typeof r==`string`?a.to=r:a.toAttr=r}a.type=e,E(a,t[2]),T(a,`techn`,t[3]),T(a,`descr`,t[4]),w(a,`sprite`,t[5]),w(a,`tags`,t[6]),w(a,`link`,t[7])}getC4Shape(e){return this.shapeIndex.get(e)??this.boundaryIndex.get(e)}updateElStyle(e,t){let n=typeof t[0]==`string`?this.getC4Shape(t[0]):void 0;n!==void 0&&(w(n,`bgColor`,t[1]),w(n,`fontColor`,t[2]),w(n,`borderColor`,t[3]),w(n,`shadowing`,t[4]),w(n,`shape`,t[5]),w(n,`sprite`,t[6]),w(n,`techn`,t[7]),w(n,`legendText`,t[8]),w(n,`legendSprite`,t[9]))}updateRelStyle(e,t){let n=t[0],r=t[1],i=typeof n==`string`&&typeof r==`string`?this.relIndex.get(n)?.get(r):void 0;if(i===void 0)return;w(i,`textColor`,t[2]),w(i,`lineColor`,t[3]);let a=t[4],o=t[5];typeof a==`string`?i.offsetX=parseInt(a):a!==void 0&&C(i,a),typeof o==`string`?i.offsetY=parseInt(o):o!==void 0&&C(i,o)}updateLayoutConfig(e,t){let n=e=>e===void 0?NaN:parseInt(typeof e==`string`?e:e.value),r=n(t[0]),i=n(t[1]);r>=1&&(this.shapeInRow=r),i>=1&&(this.boundaryInRow=i)}},O=`$end.INVALID.direction_tb.direction_bt.direction_rl.direction_lr.title.accDescription.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.NEWLINE.C4_CONTEXT.C4_CONTAINER.C4_COMPONENT.C4_DYNAMIC.C4_DEPLOYMENT.PERSON.PERSON_EXT.SYSTEM.SYSTEM_DB.SYSTEM_QUEUE.SYSTEM_EXT.SYSTEM_EXT_DB.SYSTEM_EXT_QUEUE.CONTAINER.CONTAINER_DB.CONTAINER_QUEUE.CONTAINER_EXT.CONTAINER_EXT_DB.CONTAINER_EXT_QUEUE.COMPONENT.COMPONENT_DB.COMPONENT_QUEUE.COMPONENT_EXT.COMPONENT_EXT_DB.COMPONENT_EXT_QUEUE.ENTERPRISE_BOUNDARY.SYSTEM_BOUNDARY.BOUNDARY.CONTAINER_BOUNDARY.NODE.NODE_L.NODE_R.REL.BIREL.REL_U.REL_D.REL_L.REL_R.REL_B.REL_INDEX.UPDATE_EL_STYLE.UPDATE_REL_STYLE.UPDATE_LAYOUT_CONFIG.EOF_IN_STRUCT.ATTRIBUTE_EMPTY.STR.STR_KEY.STR_VALUE.LBRACE.RBRACE.EOF`.split(`.`),k=new Map([[`C4Context`,14],[`C4Container`,15],[`C4Component`,16],[`C4Dynamic`,17],[`C4Deployment`,18],[`Person`,19],[`Person_Ext`,20],[`System`,21],[`SystemDb`,22],[`SystemQueue`,23],[`System_Ext`,24],[`SystemDb_Ext`,25],[`SystemQueue_Ext`,26],[`Container`,27],[`ContainerDb`,28],[`ContainerQueue`,29],[`Container_Ext`,30],[`ContainerDb_Ext`,31],[`ContainerQueue_Ext`,32],[`Component`,33],[`ComponentDb`,34],[`ComponentQueue`,35],[`Component_Ext`,36],[`ComponentDb_Ext`,37],[`ComponentQueue_Ext`,38],[`Enterprise_Boundary`,39],[`System_Boundary`,40],[`Boundary`,41],[`Container_Boundary`,42],[`Deployment_Node`,43],[`Node`,43],[`Node_L`,44],[`Node_R`,45],[`Rel`,46],[`BiRel`,47],[`Rel_Up`,48],[`Rel_U`,48],[`Rel_Down`,49],[`Rel_D`,49],[`Rel_Left`,50],[`Rel_L`,50],[`Rel_Right`,51],[`Rel_R`,51],[`Rel_Back`,52],[`RelIndex`,53],[`UpdateElementStyle`,54],[`UpdateRelStyle`,55],[`UpdateLayoutConfig`,56]]),A=[/.*direction\s+TB[^\n]*/y,/.*direction\s+BT[^\n]*/y,/.*direction\s+RL[^\n]*/y,/.*direction\s+LR[^\n]*/y],j=/[\n\r\u2028\u2029]/g;function M(e){let t=e.length,n=[],r=[],i=[],a=0,o=9,s=0,c=!1,l=-2,u=-1,d=0,f=(e,t,a)=>{n.push(e),r.push(t),i.push(a),s=a},p=n=>{for(;n<t&&y(e.charCodeAt(n));)n++;return n},m=(n,r)=>{let i=e.indexOf(n,r);return i===-1?t:i},h=(n,r)=>{let i=s+n.length;if(!e.startsWith(n,s)||!y(e.charCodeAt(i)))return!1;let a=++i;for(;i<t;){let t=e.charCodeAt(i);if(t===35||t===10||t===59)break;i++}return i!==a&&(f(r,s,i),!0)};for(;;){if(c){f(0,t,t);break}s>=t&&(c=!0);let n=e.charCodeAt(s);if(a===0){if(s>=t){f(64,t,t);continue}if(l!==-1&&s>=d&&(l<s&&(l=e.indexOf(`direction`,s)),l!==-1&&(u<s&&(j.lastIndex=s,u=j.test(e)?j.lastIndex-1:t),l<u))){let t=!1;for(let n=0;n<4&&!t;n++)A[n].lastIndex=s,A[n].test(e)&&(f(2+n,s,A[n].lastIndex),t=!0);if(t)continue;d=u}if(n===116&&h(`title`,6))continue;if(n===97){if(h(`accDescription`,7))continue;let t=e.startsWith(`accTitle`,s);if(t||e.startsWith(`accDescr`,s)){let n=p(s+8),r=e.charCodeAt(n);if(r===58){f(t?8:10,s,p(n+1)),o=t?9:11,a=7;continue}if(r===123&&!t){s=p(n+1),a=8;continue}}}if(n===37&&e.charCodeAt(s+1)===37){let n=m(`
|
|
3
3
|
`,s+2);for(;n<t&&(e.charCodeAt(n)===10||e.charCodeAt(n)===13);)n++;s=n;continue}if(y(n)){let n=s,r=-1;for(;n<t;){let t=e.charCodeAt(n);if(!y(t))break;t===10&&(r=n),n++}r===-1?s=n:f(13,s,r+1);continue}if(n===123){f(62,s,s+1);continue}if(n===125){f(63,s,s+1);continue}if(v(n)){let n=s+1;for(;n<t&&v(e.charCodeAt(n));)n++;let r=n-s<=19?k.get(e.slice(s,n)):void 0;if(r!==void 0){r>18&&(a=1),f(r,s,n);continue}}f(1,s,s);break}if(a===1){if(s>=t)f(57,t,t);else if(n===40){let t=s+1;for(;e.charCodeAt(t)===32;)t++;e.charCodeAt(t)===44?f(58,s,t+1):s++,a=2}else if(n===41)s++,a=0;else{f(1,s,s);break}continue}if(a===2){if(s>=t)continue;if(n===41)s++,a=0;else if(n===44)e.charCodeAt(s+1)===44?f(58,s,s+2):s++;else{let t=s;for(;e.charCodeAt(t)===32;)t++;let n=e.charCodeAt(t);n===34?e.charCodeAt(t+1)===34?f(58,s,t+2):(s=t+1,a=3):n===36?(s=t+1,a=4):f(59,s,m(`,`,s))}continue}if(a===3){n===34?(s++,a=2):f(59,s,m(`"`,s));continue}if(a===4){f(60,s,m(`=`,s)),a=5;continue}if(a===5){if(s>=t)continue;let r=s+1;if(n===61)for(;e.charCodeAt(r)===32;)r++;if(n!==61||e.charCodeAt(r)!==34){f(1,s,s);break}s=r+1,a=6;continue}if(a===6){if(s>=t)continue;n===34?(s++,a=2):f(61,s,m(`"`,s));continue}if(a===7){f(o,s,m(`
|
|
4
4
|
`,s)),a=0;continue}n===125?(s++,a=0):f(12,s,m(`}`,s))}return{types:n,starts:r,ends:i}}var N=[`person`,`external_person`,`system`,`system_db`,`system_queue`,`external_system`,`external_system_db`,`external_system_queue`,`container`,`container_db`,`container_queue`,`external_container`,`external_container_db`,`external_container_queue`,`component`,`component_db`,`component_queue`,`external_component`,`external_component_db`,`external_component_queue`],P=[`rel`,`birel`,`rel_u`,`rel_d`,`rel_l`,`rel_r`,`rel_b`,`rel`],F=[`node`,`nodeL`,`nodeR`],I=`'direction_tb', 'direction_bt', 'direction_rl', 'direction_lr', 'C4_CONTEXT', 'C4_CONTAINER', 'C4_COMPONENT', 'C4_DYNAMIC', 'C4_DEPLOYMENT'`,ee=`'STR', 'STR_KEY', 'ATTRIBUTE', 'ATTRIBUTE_EMPTY'`;function te(e){return e===6||e===7||e===8||e===10||e===12}function L(e){return e>=19&&e<=56}function ne(e,t){let{types:n,starts:r,ends:i}=M(e),a=0,o=t=>e.slice(r[t],i[t]),s=t=>{let i=n[a];throw i===1?b(`c4`,e,r[a],``,!0):b(`c4`,e,r[a],`Expecting ${t}, got '${O[i]}'`)},c=e=>{n[a]!==e&&s(`'${O[e]}'`),a++},l=()=>{let e=[];for(;;){let t=n[a];if(t===59)e.push(o(a++).trim());else if(t===58)e.push(``),a++;else if(t===60)a++,n[a]!==61&&s(`'STR_VALUE'`),e.push({key:o(a-1).trim(),value:o(a).trim()}),a++;else break}return e.length===0&&s(ee),e},u=e=>{e===6?t.setTitle(o(a++).substring(6)):e===7?t.setAccDescription(o(a++).substring(15)):e===12?t.setAccDescription(o(a++).trim()):(a++,e===8?(n[a]!==9&&s(`'acc_title_value'`),t.setTitle(o(a++).trim())):(n[a]!==11&&s(`'acc_descr_value'`),t.setAccDescription(o(a++).trim())))},d=e=>{a++;let r=l();if(e<=26)t.addPersonOrSystem(N[e-19],r);else if(e<=32)t.addContainer(N[e-19],r);else if(e<=38)t.addComponent(N[e-19],r);else{if(e<=45)return e===39?r.splice(2,0,`ENTERPRISE`):e===40?r.splice(2,0,`SYSTEM`):e===42&&r.splice(2,0,`CONTAINER`),e>=43?t.addDeploymentNode(F[e-43],r):e===42?t.addContainerBoundary(r):t.addPersonOrSystemBoundary(r),n[a]===62?(a++,c(13)):n[a]===13?(a++,c(62),n[a]===13&&a++):s(`'NEWLINE', 'LBRACE'`),!0;e<=53?(e===53&&r.splice(0,1),t.addRel(P[e-46],r)):e===54?t.updateElStyle(`update_el_style`,r):e===55?t.updateRelStyle(`update_rel_style`,r):t.updateLayoutConfig(`update_layout_config`,r)}return!1},f=n[a];(f<14||f>18)&&s(I),a++,c(13);let p=0,m=0;for(;;){let e=n[a];if(m===3||m===4){if(e===13){a++,m=2;continue}if(m===3&&L(e)){m=1;continue}}else if(L(e)){d(e)?(p++,m=1):m=4;continue}else if(te(e)&&m!==1){u(e),m=3;continue}else m!==2&&s(`'title', 'accDescription', 'acc_title', 'acc_descr', 'acc_descr_multiline_value', 'PERSON', 'REL'`);if(p>0)e!==63&&s(`'NEWLINE', 'RBRACE'`),a++,t.popBoundaryParseStack(),p--,m=4;else{e!==64&&s(`'NEWLINE', 'EOF'`),a++,c(0),t.setC4Type(o(0));return}}}var R=28,z=20,B=7,V=8,H=30,U=88,W=160,re=26,ie=e=>Math.min(12,Math.max(6,e/14)),ae=e=>Math.min(12,e/4);function G(e,t,n,r,i,a,o,s){let c=0,l=1;if(o===0){if(i<e||i>n)return 1/0}else{let t=(e-i)/o,r=(n-i)/o;c=Math.max(c,Math.min(t,r)),l=Math.min(l,Math.max(t,r))}if(s===0){if(a<t||a>r)return 1/0}else{let e=(t-a)/s,n=(r-a)/s;c=Math.max(c,Math.min(e,n)),l=Math.min(l,Math.max(e,n))}return c<=l?c:1/0}function K(e,t,n,r,i,a,o,s){let c=o/n,l=s/r,u=(i-e)/n,d=(a-t)/r,f=c*c+l*l,p=2*(c*u+l*d),m=u*u+d*d-1,h=p*p-4*f*m;if(f===0||h<0)return 1/0;let g=(-p-Math.sqrt(h))/(2*f);return g>=0&&g<=1?g:m<=0?0:1/0}function q(e,t,n,r,i){let{x:a,y:o,w:s,h:c}=e,l=r-t,u=i-n;if(e.form===`person`)return Math.min(G(a,o+re,a+s,o+c,t,n,l,u),K(a+s/2,o+14,13,13,t,n,l,u));if(e.form===`cyl`){let e=ie(s);return Math.min(G(a,o+e,a+s,o+c-e,t,n,l,u),K(a+s/2,o+e,s/2,e,t,n,l,u),K(a+s/2,o+c-e,s/2,e,t,n,l,u))}if(e.form===`h-cyl`){let e=ae(c);return Math.min(G(a+e,o,a+s-e,o+c,t,n,l,u),K(a+e,o+c/2,e,c/2,t,n,l,u),K(a+s-e,o+c/2,e,c/2,t,n,l,u))}return G(a,o,a+s,o+c,t,n,l,u)}function oe(e,t,n,r,i){for(let a=2;a<e.length;a+=2){let o=e[a-2],s=e[a-1];if(G(t,n,r,i,o,s,e[a]-o,e[a+1]-s)<=1)return!0}return!1}function J(e,t){return e.x<=t.x&&e.y<=t.y&&e.x+e.w>=t.x+t.w&&e.y+e.h>=t.y+t.h}function se(e,t,n){let r=e.x+e.w/2,i=e.y+e.h/2,a=t.x+t.w/2,o=t.y+t.h/2,s=J(e,t);if(s||J(t,e)){let n=s?e:t,r=s?t:e,i=r.x+r.w/2,a=r.y+r.h/2,o=r.x-n.x,c=n.x+n.w-r.x-r.w,l=r.y-n.y,u=n.y+n.h-r.y-r.h,d=Math.min(o,c,l,u),f=d===o?n.x:d===c?n.x+n.w:i,p=d===o||d===c?a:d===u?n.y+n.h:n.y,m=Math.min(q(r,f,p,i,a),1),h=f+(i-f)*m,g=p+(a-p)*m;return s?[f,p,h,g]:[h,g,f,p]}let c=r,l=i,u=a,d=o,f=Math.max(e.x,t.x),p=Math.min(e.x+e.w,t.x+t.w),m=Math.max(e.y,t.y),h=Math.min(e.y+e.h,t.y+t.h);f<p?c=u=(f+p)/2:m<h&&(l=d=(m+h)/2);let g=Math.hypot(u-c,d-l)||1,_=-(d-l)/g*n,v=(u-c)/g*n,y=q(e,u+_,d+v,c+_,l+v),b=q(t,c+_,l+v,u+_,d+v);return y<=1&&b<=1?(c+=_,l+=v,u+=_,d+=v):(c=r,l=i,u=a,d=o,y=Math.min(q(e,u,d,c,l),1),b=Math.min(q(t,c,l,u,d),1)),[u+(c-u)*y,d+(l-d)*y,c+(u-c)*b,l+(d-l)*b]}var Y=6,ce=3,le=12,ue=class{upright=[];level=[];frames=[[],[]];taken=new Map;squeezed=0;free(e,t,n,r){let i=Math.min(n,r),a=Math.max(n,r),o=(e,n)=>{for(let r=0;r<e.length;r+=3)if(Math.abs(e[r]-t)<n&&e[r+1]<a&&e[r+2]>i)return!0;return!1};return!o(e?this.upright:this.level,Y)&&!o(this.frames[+!e],ce)}crossings(e){let t=0;for(let n=2;n<e.length;n+=2){let r=e[n]===e[n-2],i=r?e[n]:e[n+1],a=Math.min(r?e[n-1]:e[n-2],r?e[n+1]:e[n]),o=Math.max(r?e[n-1]:e[n-2],r?e[n+1]:e[n]),s=r?this.level:this.upright;for(let e=0;e<s.length;e+=3)s[e]>a&&s[e]<o&&s[e+1]<i&&s[e+2]>i&&t++}return t}frame(e){this.frames[0].push(e.x,e.y,e.y+e.h,e.x+e.w,e.y,e.y+e.h),this.frames[1].push(e.y,e.x,e.x+e.w,e.y+e.h,e.x,e.x+e.w)}take(e){for(let t=2;t<e.length;t+=2)e[t]===e[t-2]?this.upright.push(e[t],Math.min(e[t-1],e[t+1]),Math.max(e[t-1],e[t+1])):e[t+1]===e[t-1]&&this.level.push(e[t+1],Math.min(e[t-2],e[t]),Math.max(e[t-2],e[t]))}ports(e,t,n,r,i){let a=this.taken.get(e)??[],o=[];for(let e=0;e<9&&o.length<4;e++){let s=n+(e&1?1:-1)*Math.ceil(e/2)*le;if(s<r||s>i)continue;let c=!0;for(let e=0;e<a.length;e+=2)a[e]===t&&Math.abs(a[e+1]-s)<le&&(c=!1);c&&o.push(s)}return o.length?o:[n]}claim(e,t,n){let r=this.taken.get(e);r?r.push(t,n):this.taken.set(e,[t,n])}};function de(t,n,r){let i=t.length,a=Math.sign(t[2]-t[0]),o=Math.sign(t[3]-t[1]),s=`M${e(t[0]+a*n)},${e(t[1]+o*n)}`;for(let n=2;n<i-2;n+=2){let r=t[n],i=t[n+1],a=Math.sign(r-t[n-2]),o=Math.sign(i-t[n-1]),c=Math.sign(t[n+2]-r),l=Math.sign(t[n+3]-i),u=Math.min(V,Math.abs(r-t[n-2]+i-t[n-1])/2,Math.abs(t[n+2]-r+t[n+3]-i)/2);s+=`${a?`H`+e(r-a*u):`V`+e(i-o*u)}Q${e(r)},${e(i)} ${e(r+c*u)},${e(i+l*u)}`}let c=Math.sign(t[i-2]-t[i-4]),l=Math.sign(t[i-1]-t[i-3]);return s+(c?`H`+e(t[i-2]-c*r):`V`+e(t[i-1]-l*r))}function fe(e,t,n,r){for(let i of t)if(i!==n&&i!==r&&oe(e,i.x,i.y,i.x+i.w,i.y+i.h))return!1;return!0}function pe(e,t,n,r,i){let a=e.length;return{d:de(e,n,r),sx:e[0],sy:e[1],sdx:-Math.sign(e[2]-e[0]),sdy:-Math.sign(e[3]-e[1]),ex:e[a-2],ey:e[a-1],edx:Math.sign(e[a-2]-e[a-4]),edy:Math.sign(e[a-1]-e[a-3]),x0:e[t],y0:e[t+1],x1:e[t+2],y1:e[t+3],nx:0,ny:0,lean:0,room:W,...i,points:e}}function me(e,t){let n=[],r=(e+t)/2,i=Math.max(B,(t-e)/4);for(let a=0;a<9;a++){let o=r+(a&1?1:-1)*Math.ceil(a/2)*i;o>=e+Y&&o<=t-Y&&n.push(o)}return n}function he(e,t,n,r,i,a){let o=e.x+e.w/2,s=e.y+e.h/2,c=t.x+t.w/2,l=t.y+t.h/2,u,d=(i,a,o)=>{if(!fe(i,n,e,t))return;for(let e=2;e<i.length;e+=2){let t=i[e]===i[e-2];if(!r.free(t,t?i[e]:i[e+1],t?i[e-1]:i[e-2],t?i[e+1]:i[e]))return}let s=r.crossings(i)*1e6;for(let e=2;e<i.length;e+=2)s+=Math.abs(i[e]-i[e-2])+Math.abs(i[e+1]-i[e-1]);(!u||s<u.cost)&&(u={points:i,cost:s,upright:a,sides:o})};if(e.x+e.w<=t.x||t.x+t.w<=e.x){let n=c>o,i=Math.sign(l-s),a=n?[1,0]:[0,1],f=me(n?e.x+e.w:t.x+t.w,n?t.x:e.x);e:for(let n of r.ports(e,a[0],s+i*e.h/4,e.y+8,e.y+e.h-8))for(let s of r.ports(t,a[1],l-i*t.h/4,t.y+8,t.y+t.h-8))for(let r of f){let i=r+(o-r)*Math.min(q(e,r,n,o,n),1),l=r+(c-r)*Math.min(q(t,r,s,c,s),1),f=u;if(d([i,n,r,n,r,s,l,s],!0,a),u!==f)break e}}if(e.y+e.h<=t.y||t.y+t.h<=e.y){let n=l>s,i=Math.sign(c-o),a=n?[3,2]:[2,3],f=me(n?e.y+e.h:t.y+t.h,n?t.y:e.y);e:for(let n of r.ports(e,a[0],o+i*e.w/4,e.x+8,e.x+e.w-8))for(let o of r.ports(t,a[1],c-i*t.w/4,t.x+8,t.x+t.w-8))for(let r of f){let i=r+(s-r)*Math.min(q(e,n,r,n,s),1),c=r+(l-r)*Math.min(q(t,o,r,o,l),1),f=u;if(d([n,i,n,r,o,r,o,c],!1,a),u!==f)break e}}if(!u)return;let{points:f,upright:p,sides:m}=u;return r.take(f),r.claim(e,m[0],p?f[1]:f[0]),r.claim(t,m[1],p?f[7]:f[6]),pe(f,2,i,a,{room:p?U:W})}function ge(t,n,r,i,a,o,s){if(t===n){let n=Math.min(t.h/2-4,10),r=Math.hypot(R,n),i=t.x+t.w,a=t.y+t.h/2,c=R/r,l=n/r;return{d:`M${e(i+c*o)},${e(a-n-l*o)}C${e(i+R)},${e(a-n*2)} ${e(i+R)},${e(a+n*2)} ${e(i+c*s)},${e(a+n+l*s)}`,sx:i,sy:a-n,sdx:-c,sdy:l,ex:i,ey:a+n,edx:-c,edy:-l,x0:i+R+4,y0:a,x1:i+R+4,y1:a,nx:1,ny:0,lean:0,room:64,points:[]}}let[c,l,u,d]=se(t,n,r),f=c===u,p=!1;if(i&&!J(t,n)&&!J(n,t))for(let e of i)e!==t&&e!==n&&G(e.x,e.y,e.x+e.w,e.y+e.h,c,l,u-c,d-l)<=1&&(p=!0);if(i&&p&&!f&&l!==d){let e=he(t,n,i,a,o,s);if(e)return e;a.squeezed++}if(i&&p&&(f||l===d)){let e=e=>{let r=e?-1/0:1/0,a=t=>{let n=f?t.x:t.y;r=e?Math.max(r,n+(f?t.w:t.h)):Math.min(r,n)};a(t),a(n);for(let e of i)e!==t&&e!==n&&G(e.x,e.y,e.x+e.w,e.y+e.h,c,l,u-c,d-l)<=1&&a(e);return r},r=f?Math.min(t.y,n.y):Math.min(t.x,n.x),p=f?Math.max(t.y+t.h,n.y+n.h):Math.max(t.x+t.w,n.x+n.w),m=(e,a)=>{for(let o of i){if(o===t||o===n)continue;let i=f?o.y<p&&o.y+o.h>r:o.x<p&&o.x+o.w>r,s=f?o.x:o.y,c=s+(f?o.w:o.h);if(i&&(e?c>a:s<a))return!1}return!0},h=t.x+t.w/2,g=t.y+t.h/2,_=n.x+n.w/2,v=n.y+n.h/2,y=Math.sign(f?v-g:_-h),b=r=>{let o=e(r),s=r?1:-1,c=f?+!!r:r?3:2,l=f?a.ports(t,c,g+y*t.h/4,t.y+8,t.y+t.h-8)[0]:a.ports(t,c,h+y*t.w/4,t.x+8,t.x+t.w-8)[0],u=f?a.ports(n,c,v-y*n.h/4,n.y+8,n.y+n.h-8)[0]:a.ports(n,c,_-y*n.w/4,n.x+8,n.x+n.w-8)[0],d=e=>{if(f){let r=e+(h-e)*Math.min(q(t,e,l,h,l),1),i=e+(_-e)*Math.min(q(n,e,u,_,u),1);return[r,l,e,l,e,u,i,u]}let r=e+(g-e)*Math.min(q(t,l,e,l,g),1),i=e+(v-e)*Math.min(q(n,u,e,u,v),1);return[l,r,l,e,u,e,u,i]},p=d(o+s*z);for(let e=0;e<=4;e++){let r=o+s*(z+e*B),m=d(r);if(fe(m,i,t,n)&&(p=m,a.free(f,r,l,u)))return{points:p,side:c,p0:l,p1:u,step:e}}return{points:p,side:c,p0:l,p1:u,step:5}},x=f?d>l:u<c,S=m(x,e(x)),C=m(!x,e(!x)),w=b(x),T=S===C?b(!x):void 0,E=e=>a.crossings(e.points)*8+e.step,D=C&&!S||T&&E(T)<E(w)?!x:x,{points:O,side:k,p0:A,p1:j,step:M}=D===x?w:T??b(!x),N=D?1:-1;return M>4&&a.squeezed++,a.take(O),a.claim(t,k,A),a.claim(n,k,j),pe(O,2,o,s,f?{nx:N,lean:H,room:U}:{room:W})}let m=Math.hypot(u-c,d-l)||1,h=(u-c)/m,g=(d-l)/m;return(f||l===d)&&a.take([c,l,u,d]),{d:`M${e(c+h*o)},${e(l+g*o)}L${e(u-h*s)},${e(d-g*s)}`,sx:c,sy:l,sdx:-h,sdy:-g,ex:u,ey:d,edx:h,edy:g,x0:c,y0:l,x1:u,y1:d,nx:r?-g:0,ny:r?h:0,lean:0,room:Math.abs(h)>Math.abs(g)?U:W,points:[c,l,u,d]}}var _e=216,ve=64,ye=14,be=12,xe=100,Se=88,Ce=z+8,X=48,Z=16,we=10,Te=new Map([[`person`,`person`],[`box`,`rect`],[`rounded`,`rect`],[`component`,`rect`],[`cylinder`,`cyl`],[`database`,`cyl`],[`db`,`cyl`],[`queue`,`h-cyl`],[`pipe`,`h-cyl`]]);function Ee(e){let t=Te.get((e.shape??``).toLowerCase())??Te.get((e.sprite??``).toLowerCase());if(t)return t;if(e.tags)for(let t of e.tags.split(`,`)){let e=Te.get(t.trim().toLowerCase());if(e)return e}let n=e.kind;return n.endsWith(`person`)?`person`:n.endsWith(`_db`)?`cyl`:n.endsWith(`_queue`)?`h-cyl`:`rect`}function De(e,t,n,r,i=_e){let o=Ee(e),s=o===`h-cyl`?36:0,c=o===`person`?re:o===`cyl`?24:0,l=i-2*ye-s,u=[a(`«`+e.kind.replace(/_/g,` `)+`»`,!1,t,r-1,l),a(e.label,!1,t,n,l,1),a(e.techn?`[${e.techn}]`:void 0,!1,t,r,l),a(e.descr,!1,t,r,l)],d=0,f=u[3].height>0?4:0;for(let e of u)d=Math.max(d,e.width),f+=e.height;return{shape:e,form:o,labels:u,textH:f,x:0,y:0,w:Math.max(i,d+2*ye+s),h:Math.max(ve,f+2*be+c)}}function Oe(e,t,n,r,i){let a=0,o=0;for(let s=0;s<e.length;s+=t){let c=Math.min(e.length,s+t),l=0,u=0;for(let t=s;t<c;t++)u=Math.max(u,e[t].h);for(let t=s;t<c;t++){let r=e[t];r.x=l,r.y=o,i&&(r.h=u),l+=r.w+n}a=Math.max(a,l-n),o+=u+r}return[a,e.length>0?o-r:0]}function ke(e,t,n,r,i,o){let s=i===void 0?Ce:12,c=new Map;for(let o of e.boundaries){let e=i===void 0?4e3:Math.max(80,i-2*Z-2*Ce*2),l=o.parent?[a(o.label,!1,t,n,e,1),a(o.type?`[${o.type}]`:void 0,!1,t,r,e),a(o.descr,!1,t,r,e)]:[],u=0,d=0;for(let e of l)u+=e.height,d=Math.max(d,e.width);c.set(o,{boundary:o,kids:[],nodes:[],labels:l,head:u>0?u+we+6+z:s,headW:d,headX:Z,x:0,y:0,w:0,h:0,form:`rect`})}let l=c.get(e.boundaries[0]);for(let e of c.values()){let t=e.boundary.parent;t&&c.get(t)?.kids.push(e)}let u=[l],d=new Map([[l.boundary,0]]);for(let e=0;e<u.length;e++)for(let t of u[e].kids)d.set(t.boundary,d.get(u[e].boundary)+1),u.push(t);for(let a of e.shapes)if(a.parent){let e=d.get(a.parent)??0,o=i===void 0?_e:Math.max(100,Math.min(_e,i-2*e*s-32));c.get(a.parent)?.nodes.push(De(a,t,n,r,o))}let f=Math.max(1,e.shapeInRow),p=Math.max(1,e.boundaryInRow),m=new Map;for(let e=u.length-1;e>=0;e--){let t=u[e],n=i===void 0?xe:o,r=(e,t,n)=>{if(i===void 0)return t;let r=1;for(let t of e)r=Math.max(r,t.w);return Math.max(1,Math.min(t,Math.floor((i+n-2*s)/(r+n))))},[a,c]=Oe(t.nodes,r(t.nodes,f,n),n,Se,!0),[d,h]=Oe(t.kids,r(t.kids,p,X),X,X,!1),g=c>0&&h>0?X:0,_=t===l?0:s;m.set(t,c+g),t.w=Math.max(a,d,t.headW+2*Z-2*_)+2*_,t.h=(_&&t.head)+c+g+h+_}let h=new Map;for(let e of u){let t=e.x+(e===l?0:s),n=e.y+(e===l?0:e.head);for(let r of e.nodes)r.x+=t,r.y+=n,h.set(r.shape,r);for(let r of e.kids)r.x+=t,r.y+=n+m.get(e);e!==l&&h.set(e.boundary,e)}return{order:u,boxes:h}}var Ae=7,Q=36,je=24,Me=2e3,$=8,Ne=[.5,.4,.6,.3,.7,.2,.8],Pe=2e6;function Fe(e,t,r){let i=[];return e&&i.push(`fill:`+e),t&&i.push(`stroke:`+t),r&&i.push(`color:`+r),n(i)}function Ie(e,t,n,r,i){return t?p(e,m(t.includes(`¶ß`)?t.replace(/\ufb02\u00b0\u00b0?/g,`#`).replace(/\u00b6\u00df/g,`;`):t),n,r,i):e}function Le(e,t,n){return d(n,r=>{if(!r)return Re(e,t,n,!1)[0];let[i,a]=Re(e,t,n,!0,Q);for(let r=Q+je;a>0&&r<=Q+3*je;r+=je){let[o,s]=Re(e,t,n,!0,r);s<a&&([i,a]=[o,s])}return i})}function Re(n,d,p,m,v=Q){let y=p.fontSize??16,b=Math.round(y*.8125),x=p.measurer??_(p.fontFamily),S=p.padding??8,C=[],{order:w,boxes:T}=ke(n,x,y,b,m?Math.max(80,(p.maxWidth??320)-2*S):void 0,v),E=w[0],D=0,O=0,k=E.w,A=E.h,j=(e,t,n,r)=>{D=Math.min(D,e),O=Math.min(O,t),k=Math.max(k,n),A=Math.max(A,r)},M=[],N=new Map;for(let e of n.rels){let t=e.fromAttr?void 0:n.getC4Shape(e.from),r=e.toAttr?void 0:n.getC4Shape(e.to),i=t&&T.get(t),a=r&&T.get(r);if(!i||!a)throw new g(`C4 rel "${e.from}" -> "${e.to}" references an unknown shape or boundary`,`semantic`,{type:`c4`});M.push(i,a);let o=N.get(i);o||N.set(i,o=new Set),o.add(a)}let P=[],F=[];for(let e of w)for(let t of e.nodes)P.push(t),F.push(t.x+$,t.y+$,t.x+t.w-$,t.y+t.h-$);let I=n.rels.length*(P.length+w.length+3*n.rels.length)<=Pe,ee=(e,t,n,r)=>{let i=0;for(let a=0;a<F.length;a+=4){let o=Math.min(n,F[a+2])-Math.max(e,F[a]);if(o<=0)continue;let s=Math.min(r,F[a+3])-Math.max(t,F[a+1]);s>0&&(i+=o*s)}return i},te=e=>e?Math.max(-Me,Math.min(Me,e)):0,L=``,ne=c(`arrow_point`),R=new ue;for(let e of w)e!==E&&R.frame(e);let B=n.rels.map((e,t)=>{let n=M[t*2],r=M[t*2+1],a=Fe(void 0,e.lineColor,void 0),o=a.stroke?s(a.stroke):`var(--_l)`,c=e.type===`birel`||e.type===`rel_b`,u=e.type!==`rel_b`,d=ge(n,r,n!==r&&N.get(r)?.has(n)===!0?Ae:0,I?P:void 0,R,c?ne:0,u?ne:0);return j(Math.min(d.x0,d.x1),Math.min(d.y0,d.y1),Math.max(d.x0,d.x1),Math.max(d.y0,d.y1)),c&&I&&F.push(d.sx-8,d.sy-8,d.sx+8,d.sy+8),u&&I&&F.push(d.ex-8,d.ey-8,d.ex+8,d.ey+8),L+=`<g class="pele-edge" data-id="${i(e.from+`-`+e.to)}"${a.line}><path d="${d.d}"/>`+(c?l(`arrow_point`,d.sx,d.sy,d.sdx,d.sdy,o):``)+(u?l(`arrow_point`,d.ex,d.ey,d.edx,d.edy,o):``)+`</g>`,d});for(let e of w){if(!I||e.headW===0)continue;let t=e.y+we,n=e.y+e.head-z,r=1/0;for(let i of[Z,(e.w-e.headW)/2,e.w-Z-e.headW]){let a=0;for(let r of B)oe(r.points,e.x+i-4,t,e.x+i+e.headW+4,n)&&a++;if(a<r&&(r=a,e.headX=i),a===0)break}F.push(e.x+e.headX-4,t,e.x+e.headX+e.headW+4,n)}let V=``;n.rels.forEach((t,r)=>{let s=B[r],c=t.from+`-`+t.to,l=Fe(void 0,void 0,t.textColor),u=(n.c4Type===`C4Dynamic`?r+1+`: `:``)+t.label,d=a(u,!1,x,b,s.room),f=a(t.techn?`[${t.techn}]`:void 0,!1,x,b,s.room,2),h=Math.max(d.width,f.width)+8,g=d.height+f.height;if(g===0)return;let _=Math.abs(s.nx)*(h/2)+Math.abs(s.ny)*(g/2)+2,v=s.lean?Math.max(0,Math.min(s.lean,_-14)):_,y=s.nx*v+(m?0:te(t.offsetX)),S=s.ny*v+(m?0:te(t.offsetY)),w=.5;if(I){let e=1/0,t=y!==s.nx*v||S!==s.ny*v;for(let n=0;n<(t?2:1)&&e>0;n++){let t=n?s.nx*v:y,r=n?s.ny*v:S;for(let n of Ne){let i=s.x0+(s.x1-s.x0)*n+t,a=s.y0+(s.y1-s.y0)*n+r,o=ee(i-h/2,a-g/2,i+h/2,a+g/2);if(o<e&&(e=o,w=n,y=t,S=r),o===0)break}}}let T=s.x0+(s.x1-s.x0)*w+y,E=s.y0+(s.y1-s.y0)*w+S-g/2;I&&F.push(T-h/2,E,T+h/2,E+g),j(T-h/2,E,T+h/2,E+g),V+=`<g class="pele-edge-label" data-id="${i(c)}">`+(t.descr?`<title>${i(t.descr)}</title>`:``)+`<rect x="${e(T-h/2)}" y="${e(E)}" width="${e(h)}" height="${e(g)}" rx="3" fill="var(--_bg)"/>`+Ie(o(d,T,E+d.height/2,l.text)+o(f,T,E+d.height+f.height/2,` class="pele-c4-techn" fill="var(--_m)"${l.text}`),t.link,c,C,p)+`</g>`});let H=``,U=``;for(let t of w){if(t!==E){let n=t.boundary,a=Fe(n.bgColor,n.borderColor,n.fontColor),o=t.x+t.headX,s=t.y+we,c=u(t.labels[0],o,s,` class="pele-cluster-label" font-weight="var(--_hw)"${a.text}`);s+=t.labels[0].height,c+=u(t.labels[1],o,s,` class="pele-c4-type" font-size="${b}" fill="var(--_m)"${a.text}`),s+=t.labels[1].height,c+=u(t.labels[2],o,s,` class="pele-c4-descr" font-size="${b}" fill="var(--_m)"${a.text}`),H+=`<g class="pele-cluster pele-c4-${n.nodeType?`node`:`boundary`}" data-id="${i(n.alias)}"><rect x="${e(t.x)}" y="${e(t.y)}" width="${e(t.w)}" height="${e(t.h)}" fill="none" stroke="var(--_b)"${n.nodeType?``:` stroke-dasharray="6 4"`}${r(a.shape)}/>`+Ie(c,n.link,n.alias,C,p)+`</g>`}for(let n of t.nodes){let t=n.shape,r=t.kind.startsWith(`external`),a=Fe(t.bgColor,t.borderColor,t.fontColor),s=` stroke="var(--_b)"`+(r?` stroke-dasharray="4 3"`:``),{w:c,h:l,form:u,labels:d}=n,f=u===`h-cyl`?-ae(l)/2:0,m=u===`person`?re/2:u===`cyl`?ie(c)/2:0,g=` fill="var(--_m)"${a.text}`,_=m-n.textH/2,v=o(d[0],f,_+d[0].height/2,` class="pele-c4-type" font-size="${b-1}"${g}`);_+=d[0].height,v+=o(d[1],f,_+d[1].height/2,` class="pele-label" font-weight="var(--_hw)"${a.text}`),_+=d[1].height,v+=o(d[2],f,_+d[2].height/2,` class="pele-c4-techn" font-size="${b}"${g}`),_+=d[2].height+4,v+=o(d[3],f,_+d[3].height/2,` class="pele-c4-descr" font-size="${b}"${a.text}`),U+=`<g class="pele-node pele-shape-${u} pele-c4-${t.kind}${r?` pele-c4-external`:``}" data-id="${i(t.alias)}" transform="translate(${e(n.x+c/2)},${e(n.y+l/2)})">`+Ie(h(u,c,l,` fill="var(${r?`--_bg`:`--_s`})"${s}${a.shape}`,s+a.line)+v,t.link,t.alias,C,p)+`</g>`}}let W=a(n.title,!1,x,y,m?f(p):4e3,1),G=W.height>0?W.height+12:0,K=Math.max(k-D,W.width),q=Math.ceil(K+2*S),J=Math.ceil(A-O+G+2*S),se=S-D+(K-(k-D))/2,Y=S+G-O;return[{svg:t(`c4`,q,J,y,p,n,o(W,q/2,S+W.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="translate(${e(se)},${e(Y)})">`+(H?`<g class="pele-clusters">${H}</g>`:``)+(L?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${L}</g>`:``)+(U?`<g class="pele-nodes">${U}</g>`:``)+(V?`<g class="pele-edge-labels" font-size="${b}">${V}</g>`:``)+`</g>`),width:q,height:J,links:C},R.squeezed]}var ze={type:`c4`,parse(e,t,n){let r=new D;return n&&(r.title=n),ne(e,r),r},render:Le};export{ze as c4};
|
|
5
|
-
//# sourceMappingURL=T3PCR2KE-
|
|
5
|
+
//# sourceMappingURL=T3PCR2KE-BxaunvVy.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,f as t,g as n,l as r,m as i,o as a,r as o,s,t as c,y as l}from"./77XECAW3-
|
|
1
|
+
import{_ as e,f as t,g as n,l as r,m as i,o as a,r as o,s,t as c,y as l}from"./77XECAW3-TL2w7pHK.js";import{s as u}from"./N3JZAHOW-C6sq5aqx.js";import{r as d}from"./5B3SVYGG-Y7V7NdZO.js";import{o as f,r as p}from"./DKTLEL5E-DciMwFJ1.js";import{t as m}from"./TSHNXIZL-CIukdyLy.js";import{PeleError as h,_ as g,i as _,n as v,r as y,s as b,u as x}from"./lazy-DyNR0b0B.js";var S=`aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen transparent currentcolor inherit initial unset revert accentcolor accentcolortext activetext buttonborder buttonface buttontext canvas canvastext field fieldtext graytext highlight highlighttext linktext mark marktext selecteditem selecteditemtext visitedtext activeborder activecaption appworkspace background buttonhighlight buttonshadow captiontext inactiveborder inactivecaption inactivecaptiontext infobackground infotext menu menutext scrollbar threeddarkshadow threedface threedhighlight threedlightshadow threedshadow window windowframe windowtext`,C,w=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?(%|deg|grad|rad|turn)?$/i;function T(e){if(e.toLowerCase()===`none`)return 4;let t=w.exec(e);return t?t[1]===void 0?1:t[1]===`%`?2:3:0}function ee(e,t){let n=T(e);return n===1||n===2||t&&n===4}function E(e){let t=e.startsWith(`hsl`),n=e.indexOf(`(`),r=e.slice(0,n);if(r!==`rgb`&&r!==`rgba`&&r!==`hsl`&&r!==`hsla`||e.length>120||e.indexOf(`)`)!==e.length-1)return!1;let i=e.slice(n+1,-1).trim(),a,o,s=i.includes(`,`);if(s)a=i.split(`,`).map(e=>e.trim()),a.length===4&&(o=a.pop());else{let e=i.split(`/`);if(e.length>2)return!1;a=e[0].trim().split(/\s+/),e.length===2&&(o=e[1].trim())}if(a.length!==3||o!==void 0&&!ee(o,!s))return!1;let c=a.map(T);if(s)return t?(c[0]===1||c[0]===3)&&c[1]===2&&c[2]===2:(c[0]===1||c[0]===2)&&c[1]===c[0]&&c[2]===c[0];for(let e=0;e<3;e++){let n=c[e];if(!(n===1||n===4||(t&&e===0?n===3:n===2)))return!1}return!0}function te(e){return e.includes(`(`)?E(e):(C??=new Set(S.split(` `)),C.has(e.toLowerCase()))}var ne=/^:?wrap:/,D=/^:?nowrap:/,re=/^:?(?:no)?wrap:/,ie=/^(?:rgba?|hsla?)\s*\(/,O=/[\r\u2028\u2029]/,ae=/^\w*/;function k(e){throw new h(e,`semantic`,{type:`sequence`})}function A(e){let t=e.trim(),n=ne.test(t)?!0:!D.test(t)&&void 0;return{text:(n===void 0?t:t.replace(re,``)).trim(),wrap:n}}function oe(e){let t=ie.exec(e);if(t){let n=e.lastIndexOf(`)`);if(n>=t[0].length)return O.test(e.slice(t[0].length))?void 0:[e.slice(0,n+1),e.slice(n+1)]}if(O.test(e))return;let n=ae.exec(e)[0];return[n,e.slice(n.length)]}function se(e){return typeof e==`string`?[...e].map((e,t)=>[String(t),e]):typeof e==`object`&&e?Object.entries(e):[]}var j=class{type=`sequence`;actors=new Map;createdActors=new Map;destroyedActors=new Map;boxes=[];messages=[];notes=[];title;accTitle;accDescr;prevActor;currentBox;lastCreated;lastDestroyed;wrapEnabled;sequenceWrap;active=new Map;constructor(e={}){this.wrapEnabled=e.wrap,this.sequenceWrap=e.sequenceWrap??!1}autoWrap(){return this.wrapEnabled??this.sequenceWrap}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
|
|
2
2
|
`)}setDiagramTitle(e){this.title=e}parseMessage(e){return A(e)}parseBoxData(e){let t=oe(e),n=t?.[0]?t[0].trim():`transparent`,r=t?.[1]?t[1].trim():void 0;if(te(n)||(n=`transparent`,r=e.trim()),r===void 0)return{text:void 0,color:n,wrap:void 0};let{text:i,wrap:a}=A(r);return{text:i||void 0,color:n,wrap:a}}addBox(e){this.currentBox={name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]},this.boxes.push(this.currentBox)}addActor(e,t,n,r,i){let a=this.currentBox,o;if(i!==void 0){let t;try{t=v(i.includes(`
|
|
3
3
|
`)?i+`
|
|
4
4
|
`:`{
|
|
@@ -10,4 +10,4 @@ import{_ as e,f as t,g as n,l as r,m as i,o as a,r as o,s,t as c,y as l}from"./7
|
|
|
10
10
|
;`.includes(t)||(r|=16),!`/\\+()<>:
|
|
11
11
|
,;-`.includes(t)&&!n&&(r|=32),ce[e]=r}function N(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=-1,l=(t,a,o)=>{n.push(t),r.push(e.slice(a,o)),i.push(a),s=o},u=(e,t,a,o)=>{n.push(e),r.push(o),i.push(t),s=a},d=e=>{a.push(o),o=e},f=()=>{a.length>0&&(o=a.pop())},p=n=>(c<n&&(c=e.indexOf(`
|
|
12
12
|
`,n),c===-1&&(c=t)),c),m=(t,n)=>{let r=e.charCodeAt(t);return r<128?(ce[r]&n)!==0:n===4||n===32?!y(r):!0},h=(t,n)=>{for(let r=0;r<n.length;r++){let i=n.charCodeAt(r),a=e.charCodeAt(t+r);if(i>=97&&i<=122?(a|32)!==i:a!==i)return!1}return!0},g=t=>h(s,t)&&!_(e.charCodeAt(s+t.length)),v=n=>{for(;n<t&&y(e.charCodeAt(n));)n++;return n},x=()=>{let n=s;for(;n<t;){let t=e.charCodeAt(n);if(t===10||!y(t))break;n++}return n!==s&&(s=n,!0)},S=e=>{for(;e<t&&m(e,16);)e++;return e},C=(e,t,n)=>{l(e,s,s+t),d(n)},w=(e,t,n=-1)=>g(e)?(l(t,s,s+e.length),n>=0&&d(n),!0):!1,T=(n,r)=>{if(!h(s,n))return!1;let i=s+n.length,a=e.charCodeAt(i);if(a!==32&&a!==9)return!1;for(;a===32||a===9;)a=e.charCodeAt(++i);return i>=t||!m(i,32)?!1:(l(r,s,s+n.length),!0)},ee=t=>{let n=e.charCodeAt(t),r=e.charCodeAt(t+1);if(n===45){if(r===120||r===88||r===41||r===92||r===47||r===45)return!0;let n=e.charCodeAt(t+2);return r===124&&(n===92||n===47)}return n===47||n===92?(r===124||r===n)&&e.charCodeAt(t+2)===45:n===40&&r===41},E=()=>{let n=s+1;for(;n<t&&m(n,1);)n++;for(;n<t&&!ee(n);){let r=n;for(;e.charCodeAt(r)===45;)r++;if(r>=t||!m(r,2))break;for(r++;r<t&&m(r,2);)r++;n=r}u(48,s,n,e.slice(s,n).trim())},te=()=>{let t=s;for(;b(e.charCodeAt(t));)t++;let n=t>s;if(e.charCodeAt(t)===46&&b(e.charCodeAt(t+1))){let n=b(e.charCodeAt(t+2))?t+3:t+2,r=e.charCodeAt(n);if(r===32||r===10)return l(10,s,n),!0}let r=e.charCodeAt(t);return n&&(r===32||r===10)?(l(10,s,t),!0):!1},ne=()=>{let t=e.charCodeAt(s+1),n=e.charCodeAt(s+2);if(t===62)l(n===62?55:53,s,s+(n===62?3:2));else if(t===120||t===88)l(59,s,s+2);else if(t===41)l(61,s,s+2);else if(t===124&&n===92)l(63,s,s+3);else if(t===124&&n===47)l(64,s,s+3);else if(t===92&&n===92)l(65,s,s+3);else if(t===47&&n===47)l(66,s,s+3);else if(t===45){let t=e.charCodeAt(s+3);n===62?l(t===62?57:54,s,s+(t===62?4:3)):n===120||n===88?l(60,s,s+3):n===41?l(62,s,s+3):n===124&&t===92?l(67,s,s+4):n===124&&t===47?l(68,s,s+4):n===92&&t===92?l(69,s,s+4):n===47&&t===47?l(70,s,s+4):l(46,s,s+1)}else l(46,s,s+1)},D=t=>{let n=e.charCodeAt(s+1);if(n!==124&&n!==t||e.charCodeAt(s+2)!==45)return!1;let r=e.charCodeAt(s+3)===45,i=t===47,a;return a=n===124?r?i?75:76:i?71:72:r?i?77:78:i?73:74,l(a,s,s+(r?4:3)),!0},re=()=>{if(!h(s,`title`))return!1;let n=s+5,r=e.charCodeAt(n)===58;return r&&n++,!y(e.charCodeAt(n))||n+1>=t||!m(n+1,16)?!1:(l(r?15:14,s,S(n+1)),!0)},ie=()=>{let t=h(s,`accdescr`);if(!t&&!h(s,`acctitle`))return!1;let n=v(s+8),r=e.charCodeAt(n);return r===58?(l(t?18:16,s,v(n+1)),d(t?6:5),!0):t&&r===123?(s=v(n+1),d(7),!0):!1},O=e=>{switch(e|32){case 97:return w(`actor`,34,1)||w(`alt`,24,3)||w(`and`,30,3)||w(`activate`,12,1)||ie()||w(`autonumber`,9);case 98:return w(`box`,6,3)||w(`break`,28,3);case 99:return w(`create`,5)||w(`critical`,27,3);case 100:return w(`destroy`,35,1)||T(`details`,41)||w(`deactivate`,13,1);case 101:return w(`else`,31,3)||w(`end`,8);case 108:return w(`loop`,21,3)||w(`left of`,43)||T(`links`,38)||T(`link`,39);case 110:return w(`note`,36);case 111:return w(`opt`,23,3)||w(`option`,29,3)||w(`over`,37)||w(`off`,11);case 112:return w(`participant`,32,1)||w(`par`,25,3)||w(`par_over`,26,3)||T(`properties`,40);case 114:return w(`rect`,22,3)||w(`right of`,44);case 115:return w(`sequencediagram`,4);case 116:return re();default:return!1}},ae=()=>{let t=e.charCodeAt(s);if(t===10){let t=s+1;for(;e.charCodeAt(t)===10;)t++;l(3,s,t);return}if(y(t)){s=v(s+1);return}if(t===35||t===37&&e.charCodeAt(s+1)!==123){s=p(s);return}if(t!==125&&e.charCodeAt(s+1)===37&&e.charCodeAt(s+2)===37){s=p(s);return}if((!b(t)&&t!==46||!te())&&!(t<128&&(t|32)>=97&&(t|32)<=122&&O(t))){if(t===44)l(42,s,s+1);else if(t===59)l(3,s,s+1);else if(m(s,1))E();else if(t===45)ne();else if(t===60&&e.startsWith(`<<->>`,s))l(56,s,s+5);else if(t===60&&e.startsWith(`<<-->>`,s))l(58,s,s+6);else{if((t===47||t===92)&&D(t))return;t===58?l(52,s,S(s+1)):t===43?l(45,s,s+1):t===40&&e.charCodeAt(s+1)===41?l(47,s,s+2):l(2,s,s+1)}}},k=()=>{if(x())return!0;let n=e.charCodeAt(s);if(n===35)return s=p(s),!0;if(n===64&&e.charCodeAt(s+1)===123)return C(49,2,4),!0;let r=s;for(;r<t&&m(r,4);)r++;if(r>s){let t=v(r);if(e.charCodeAt(t)===64&&e.charCodeAt(t+1)===123)return l(48,s,r),!0;if(t>r&&h(t,`as`)&&y(e.charCodeAt(t+2)))return l(48,s,r),d(2),!0}let i=r;for(;i<t&&m(i,8);)i++;if(i>s){let n=e.charCodeAt(i),r=i;if(i<t&&n!==10&&n!==59)for(r--;r>s&&e.charCodeAt(r)!==35;)r--;if(r>s)return u(48,s,r,e.slice(s,r).trim()),f(),!0}if(e.charCodeAt(i)===60)return l(2,s,p(s)),f(),!0;if(n!==10){let t=p(s);return u(2,s,t,e.slice(s,t).trim()),f(),!0}return!1},A=()=>{switch(o){case 0:return ae(),!0;case 1:return k();case 2:return x()?!0:e.charCodeAt(s)===35?(s=p(s),!0):(f(),f(),g(`as`)?C(33,2,3):l(3,s,s),!0);case 3:return x()?!0:e.charCodeAt(s)===35?(s=p(s),!0):(l(7,s,S(s)),f(),!0);case 4:if(e.charCodeAt(s)!==125){let n=e.indexOf(`}`,s);return n===-1&&(n=t),l(50,s,n),!0}{let t=v(s+1),n=t>s+1&&h(t,`as`)&&y(e.charCodeAt(t+2));return l(51,s,s+1),f(),n?d(2):f(),!0}case 5:case 6:return l(o===5?17:19,s,p(s)),f(),!0;default:if(e.charCodeAt(s)===125)s++,f();else{let n=e.indexOf(`}`,s);n===-1&&(n=t),l(20,s,n)}return!0}};for(;s<t;)if(!A())return n.push(1),r.push(``),i.push(s),{types:n,texts:r,starts:i};return o===0||o===2?l(3,t,t):o===3?l(7,t,t):o===5?l(17,t,t):o===6?l(19,t,t):o===7&&l(20,t,t),n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var P=new Int8Array(79).fill(-1);P[53]=5,P[54]=6,P[55]=0,P[57]=1,P[56]=33,P[58]=34,P[59]=3,P[60]=4,P[61]=24,P[62]=25,P[63]=41,P[64]=42,P[65]=43,P[66]=44,P[67]=51,P[68]=52,P[69]=53,P[70]=54,P[71]=45,P[72]=46,P[73]=47,P[74]=48,P[75]=55,P[76]=56,P[77]=57,P[78]=58;var F=new Int8Array(79).fill(-1);F[21]=2,F[22]=3,F[23]=4,F[28]=5,F[24]=6,F[25]=7,F[26]=7,F[27]=8,F[6]=1;var I=`'SOLID_OPEN_ARROW', 'DOTTED_OPEN_ARROW', 'SOLID_ARROW', 'DOTTED_ARROW', 'SOLID_CROSS', 'DOTTED_CROSS', 'SOLID_POINT', 'DOTTED_POINT'`;function L(e,t){let{types:n,texts:r,starts:i}=N(e),a=0,o=t=>{let r=n[a];throw r===1?x(`sequence`,e,i[a],``,!0):x(`sequence`,e,i[a],`Expecting ${t}, got '${M[r]}'`)},s=e=>(n[a]!==e&&o(`'${M[e]}'`),r[a++]),c=()=>{let e=n[a];return e!==48&&e!==39&&o(`'ACTOR'`),{type:`addParticipant`,actor:r[a++]}},l=()=>t.parseMessage(s(52).trim().substring(1)),u=()=>{let e=n[a++];if(e===35){let e=c();return s(3),e.type=`destroyParticipant`,e}let r=c();if(n[a]===49&&n[a-1]===48){a++;let e=s(50);s(51),r.config=e.trim()}if(r.draw=e===32?`participant`:`actor`,n[a]===33){a++;let e=s(7);s(3),r.description=t.parseMessage(e)}else n[a]===3?a++:o(`'AS', 'NEWLINE'`);return r},d=e=>{let t=!1;n[a]===47&&(t=!0,a++);let r=P[n[a]];r<0&&o(I),a++;let i=n[a];(i===47||!t&&(i===45||i===46))&&a++;let s=c(),u=l(),d={type:`addMessage`,from:e.actor,to:s.actor,signalType:r,msg:u},f=[e,s,d];if(t){let t=i===47;d.activate=t,d.centralConnection=t?61:60,t&&f.push({type:`centralConnection`,signalType:59,actor:s.actor}),f.push({type:`centralConnectionReverse`,signalType:60,actor:e.actor})}else i===45?(d.activate=!0,f.push({type:`activeStart`,signalType:17,actor:s.actor})):i===46?f.push({type:`activeEnd`,signalType:18,actor:e.actor}):i===47&&(d.activate=!0,d.centralConnection=59,f.push({type:`centralConnection`,signalType:59,actor:s.actor}));return f},f=e=>{a++;let t=c();return[t,{type:e,actor:t.actor,text:l()}]},p=()=>{a++;let e=n[a];if(e===37){a++;let e=c(),t=e,r=[e.actor,e.actor];if(n[a]===42){a++;let n=c();t=[e,n],r=[e.actor,n.actor]}return[t,{type:`addNote`,placement:2,actor:r,text:l()}]}e!==43&&e!==44&&o(`'over', 'left_of', 'right_of'`),a++;let t=c();return[t,{type:`addNote`,placement:e===43?0:1,actor:t.actor,text:l()}]},m=()=>{a++;let e={type:`sequenceIndex`,sequenceVisible:!0,signalType:26};return n[a]===10?(e.sequenceIndex=Number(r[a++]),e.sequenceIndexStep=n[a]===10?Number(r[a++]):1):n[a]===11&&(a++,e.sequenceVisible=!1),n[a]!==3&&o(`'NEWLINE', 'NUM', 'off'`),a++,e},h=(e,n,r,i)=>{let a=e.list,o=e.sections;if(o)for(let e=o.length-2;e>=0;e-=2){let s={type:n,signalType:i};s[r]=t.parseMessage(o[e+1]),a=o[e].concat([s,a])}return a},g=e=>{let n=e.text,r=e.list;switch(e.kind){case 1:r[0]={type:`boxStart`,boxData:t.parseBoxData(n)},r.push({type:`boxEnd`,boxText:n});break;case 2:r[0]={type:`loopStart`,loopText:t.parseMessage(n),signalType:10},r.push({type:`loopEnd`,loopText:n,signalType:11});break;case 3:r[0]={type:`rectStart`,color:t.parseMessage(n),signalType:22},r.push({type:`rectEnd`,color:t.parseMessage(n),signalType:23});break;case 4:r[0]={type:`optStart`,optText:t.parseMessage(n),signalType:15},r.push({type:`optEnd`,optText:t.parseMessage(n),signalType:16});break;case 5:r[0]={type:`breakStart`,breakText:t.parseMessage(n),signalType:30},r.push({type:`breakEnd`,optText:t.parseMessage(n),signalType:31});break;case 6:r=h(e,`else`,`altText`,13),r[0]={type:`altStart`,altText:t.parseMessage(n),signalType:12},r.push({type:`altEnd`,signalType:14});break;case 7:r=h(e,`and`,`parText`,20),r[0]={type:`parStart`,parText:t.parseMessage(n),signalType:e.startType},r.push({type:`parEnd`,signalType:21});break;default:r=h(e,`option`,`optionText`,28),r[0]={type:`criticalStart`,criticalText:t.parseMessage(n),signalType:27},r.push({type:`criticalEnd`,signalType:29})}return r};for(;n[a]===3;)a++;s(4);let _=[],v={kind:0,text:``,startType:0,list:[],sections:void 0};for(;;){let e=n[a],i=v.list;if(v.kind===1){if(e===32||e===34||e===35)i.push(u());else if(e===3)i.push([]),a++;else if(e===8){a++;let e=g(v);v=_.pop(),v.list.push(e)}else o(`'end', 'NEWLINE', 'participant', 'participant_actor', 'destroy'`);continue}switch(e){case 3:case 2:i.push([]),a++;break;case 32:case 34:case 35:i.push(u());break;case 5:{a++;let e=n[a];e!==32&&e!==34&&e!==35&&o(`'participant', 'participant_actor', 'destroy'`);let t=u();t.type=`createParticipant`,i.push(t);break}case 48:i.push(d(c())),s(3);break;case 39:{let e=n[a+1];i.push(e===48||e===39?f(`addALink`):d(c())),s(3);break}case 38:i.push(f(`addLinks`)),s(3);break;case 40:i.push(f(`addProperties`)),s(3);break;case 41:i.push(f(`addDetails`)),s(3);break;case 36:i.push(p()),s(3);break;case 9:i.push(m());break;case 12:case 13:{a++;let t=c();s(3),i.push(e===12?{type:`activeStart`,signalType:17,actor:t.actor}:{type:`activeEnd`,signalType:18,actor:t.actor});break}case 14:case 15:{let n=r[a++].substring(e===14?6:7);t.setDiagramTitle(n),i.push(n);break}case 16:{a++;let e=s(17).trim();t.setAccTitle(e),i.push(e);break}case 18:{a++;let e=s(19).trim();t.setAccDescription(e),i.push(e);break}case 20:{let e=r[a++].trim();t.setAccDescription(e),i.push(e);break}case 21:case 22:case 23:case 28:case 24:case 25:case 26:case 27:case 6:{a++;let t=s(7);_.push(v),v={kind:F[e],text:t,startType:e===26?32:19,list:[[]],sections:void 0};break}case 31:case 30:case 29:{v.kind!==(e===31?6:e===30?7:8)&&o(`'end'`),a++;let t=s(7);(v.sections??=[]).push(i,t),v.list=[];break}case 8:{v.kind===0&&o(`'NEWLINE', 'EOF'`),a++;let e=g(v);v=_.pop(),v.list.push(e);break}case 0:v.kind!==0&&o(`'end'`),t.apply(i);return;default:o(`'NEWLINE', 'ACTOR', 'participant', 'note', 'end'`)}}}var R=16,le=10,z=34,ue=4,B=5,V=6,H=` fill="var(--_s)" stroke="var(--_b)"`,U=` fill="none" stroke="var(--_b)"`,de=new Set([`participant`,`actor`,`boundary`,`control`,`entity`,`database`,`collections`,`queue`]),W=new Set([`actor`,`boundary`,`control`,`entity`,`database`]);function fe(e){return de.has(e)?e:`participant`}function pe(e){return W.has(e)}function me(e,t,n,r,i=R){if(pe(e))return{w:Math.max(40,t.width+8),h:z+(t.height>0?ue+t.height:0)};let a=e===`collections`?B:e===`queue`?2*V:0;return{w:Math.max(n,t.width+2*i)+a,h:Math.max(r,t.height+2*le)+(e===`collections`?B:0)}}function G(e,n,r){let i=t(n),a=e=>t(r+e);switch(e){case`actor`:return`<circle cx="${i}" cy="${a(7)}" r="6"${H}/><path d="M${i},${a(13)}V${a(24)}M${t(n-10)},${a(17)}H${t(n+10)}M${t(n-8)},${a(34)}L${i},${a(24)}L${t(n+8)},${a(34)}"${U}/>`;case`boundary`:return`<path d="M${t(n-19)},${a(6)}V${a(28)}M${t(n-19)},${a(17)}H${t(n-8)}"${U}/><circle cx="${t(n+3)}" cy="${a(17)}" r="11"${H}/>`;case`control`:return`<circle cx="${i}" cy="${a(21)}" r="11"${H}/><path d="M${t(n+5)},${a(5)}L${t(n-1)},${a(10)}L${t(n+5)},${a(15)}"${U}/>`;case`entity`:return`<circle cx="${i}" cy="${a(15)}" r="11"${H}/><path d="M${t(n-11)},${a(30)}H${t(n+11)}"${U}/>`;default:{let e=t(n-14),r=t(n+14);return`<path d="M${e},${a(7)}V${a(27)}A14,5 0 0 0 ${r},${a(27)}V${a(7)}A14,5 0 0 0 ${e},${a(7)}Z"${H}/><path d="M${e},${a(7)}A14,5 0 0 0 ${r},${a(7)}"${U}/>`}}}function he(e,n,r,a,o,s){let{w:l,h:u}=a,d=` class="pele-label"`;if(pe(e))return G(e,n,r)+c(o,n,r+z+ue+o.height/2,d,s);let f=n-l/2;if(e===`collections`){let e=l-B,n=u-B;return`<rect x="${t(f+B)}" y="${t(r)}" width="${t(e)}" height="${t(n)}"${H}${i}/><rect x="${t(f)}" y="${t(r+B)}" width="${t(e)}" height="${t(n)}"${H}${i}/>`+c(o,f+e/2,r+B+n/2,d,s)}if(e===`queue`){let e=t(f+V),i=t(f+l-V),a=t(r+u),p=t(u/2);return`<path d="M${e},${t(r)}H${i}A${V},${p} 0 0 1 ${i},${a}H${e}A${V},${p} 0 0 1 ${e},${t(r)}Z"${H}/><path d="M${i},${t(r)}A${V},${p} 0 0 0 ${i},${a}"${U}/>`+c(o,n-V/2,r+u/2,d,s)}return`<rect x="${t(f)}" y="${t(r)}" width="${t(l)}" height="${t(u)}"${H}${i}/>`+c(o,n,r+u/2,d,s)}var ge=[];function K(e,t,n,r=1,i=!1){ge[e]={dotted:t,head:n,atStart:r!==1,atEnd:r!==0,bottom:i}}K(0,!1,1),K(1,!0,1),K(3,!1,2),K(4,!0,2),K(5,!1,0),K(6,!0,0),K(24,!1,3),K(25,!0,3),K(33,!1,1,2),K(34,!0,1,2);for(let e of[!1,!0]){let t=e?10:0;K(41+t,e,4),K(42+t,e,4,1,!0),K(43+t,e,5),K(44+t,e,5,1,!0),K(45+t,e,4,0),K(46+t,e,4,0,!0),K(47+t,e,5,0),K(48+t,e,5,0,!0)}var _e=new Map([[10,`loop`],[12,`alt`],[15,`opt`],[19,`par`],[32,`par`],[27,`critical`],[30,`break`],[22,`rect`]]),ve=12,ye=28,be=22,q=10,xe=4,Se=14,J=10,Ce=16,we=20,Te=10,Ee=20,De=240,Oe=16,Y=4,ke=` stroke-dasharray="4 4"`;function Ae(e){return e!==void 0&&ge[e]!==void 0}function je(e,t){let n=Array(e.length),r=Array(e.length),i=1,a=1,o=!1;for(let s=0;s<e.length;s++){let c=e[s];if(n[s]=NaN,r[s]=!1,c.type===26){let e=c.message;i=e.start||i,a=e.step||a,o=e.visible}else Ae(c.type)&&(n[s]=i,r[s]=o||t,i=Math.round((i+a)*100)/100)}return{index:n,shown:r,visible:o}}var Me={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};function X(e,t,n){let r=e[t];return typeof r==`number`&&r>=0&&r<=2e3?r:n}function Ne(e,n,r,i,a){let o=t(e-r*8);return a?`<path class="pele-marker" d="M${t(e)},${t(n)}L${o},${t(n+i*5)}"/>`:`<path class="pele-marker" d="M${t(e)},${t(n)}L${o},${t(n+i*4.5)}V${t(n)}Z" fill="var(--_l)" stroke="none"/>`}function Pe(e,n,r,i,a){switch(e){case 1:return u(`arrow_point`,n,r,i,0,`var(--_l)`);case 2:return u(`arrow_cross`,n,r,i,0,`var(--_l)`);case 3:return`<path class="pele-marker" d="M${t(n-i*8)},${t(r-4.5)}L${t(n)},${t(r)}L${t(n-i*8)},${t(r+4.5)}" stroke-linejoin="round"/>`;case 4:return Ne(n,r,i,a,!1);case 5:return Ne(n,r,i,a,!0);default:return``}}function Fe(e){return e===1?7:e===2?4:0}function Z(e,t,n){return f(n,r=>Ie(e,t,n,r))}function Ie(u,f,h,_){let v=f.sequence??{},y=h.fontSize??16,b=Math.round(y*.875),x=Math.round(y*.75),S=h.measurer??g(h.fontFamily),C=h.icons,w=h.padding??8,T=v.mirrorActors!==!1,ee=v.rightAngles===!0,E=Math.min(X(v,`actorMargin`,40),_?8:1/0),te=Math.min(X(v,`width`,64),_?48:1/0),ne=X(v,`height`,Math.round(y*1.5)+20),D=Math.min(X(v,`width`,160),_?Math.max(32,((h.maxWidth??320)-2*w)/Math.max(1,u.actors.size)-E-24):1/0),re=Math.max(4,14+X(v,`messageMargin`,35)-35),ie=Math.min(X(v,`noteMargin`,10),_?6:1/0),O=Math.min(X(v,`boxMargin`,10),_?6:1/0),ae=v.messageAlign===`left`?-1:+(v.messageAlign===`right`),k=_?6:ve,A=_?8:Ce,oe=_?12:we,se=_?6:Te,j=u.messages,M=j.length,ce=je(j,v.showSequenceNumbers===!0),N=(e,t,n,r=D,i=0)=>{let a=s(e,!1,S,t,_||n?r:1/0,i);return _?d(a,S,Math.max(120,r)):a},P;if(v.hideUnusedParticipants===!0){P=new Set;for(let e of j)P.add(e.from).add(e.to)}let F=new Int32Array(M+1);F[M]=-1;for(let e=M-1;e>=0;e--)F[e]=Ae(j[e].type)?e:F[e+1];let I=[],L=new Map;for(let[e,t]of u.actors){if(P&&!P.has(e))continue;let n=fe(t.type),r=N(t.description,y,t.wrap),i=u.createdActors.get(e),a=u.destroyedActors.get(e),o=i===void 0?-1:F[Math.min(i,M)];o>=0&&j[o].to!==e&&(o=-1);let s=a===void 0?-1:F[Math.min(a,M)];s>=0&&j[s].to!==e&&j[s].from!==e&&(s=-1),L.set(e,I.length),I.push({id:e,actor:t,kind:n,label:r,size:me(n,r,te,ne,_?8:void 0),x:0,createAt:o,destroyAt:s,top:0,lifeStart:0,lifeEnd:-1,activations:[]})}let R=I.length-1,le=new Map,z=(e,t,n)=>{if(e<0||t>R)return;let r=e*I.length+t;(le.get(r)??0)<n&&le.set(r,n)},ue=e=>ce.shown[e]?Math.max(Oe,S.width(String(ce.index[e]),x,0)+8):0,B=Array(M);for(let e=0;e<M;e++){let t=j[e],n=t.from===void 0?void 0:L.get(t.from),r=t.to===void 0?void 0:L.get(t.to);if(n!==void 0&&r!==void 0&&typeof t.message==`string`){if(t.type===2){let i=N(t.message,b,t.wrap),a=i.width+2*ie;t.placement===0?z(n-1,n,a+2*J+q):t.placement===1?z(n,n+1,a+2*J+q):n===r?(z(n-1,n,a/2+J),z(n,n+1,a/2+J)):z(Math.min(n,r),Math.max(n,r),a-2*A),B[e]={kind:2,a:n,b:r,label:i,x:0,w:a}}else if(Ae(t.type)){let i=N(t.message,b,t.wrap),a=ue(e);if(n===r)z(n,n+1,ye+8+i.width+16+q+a),B[e]={kind:1,a:n,b:r,label:i,x:0,w:0};else{let o=I[r].createAt===e?I[r].size.w/2:0,s=t.centralConnection?4*Y:0;z(Math.min(n,r),Math.max(n,r),(_?Math.min(i.width,Math.max(16,D-16)):i.width)+2*k+q+a+o+s),B[e]={kind:0,a:n,b:r,label:i,x:0,w:0}}}}}let V=[];for(let e=0;e<=R;e++){let t=I[e].actor.box,n=V[V.length-1];t&&n&&n.box===t&&n.last===e-1?n.last=e:t&&V.push({box:t,first:e,last:e,title:N(t.name,b,t.wrap),grow:0})}let H=Array(Math.max(R,0));for(let e=0;e<R;e++){let t=I[e],n=I[e+1],r=t.actor.box===n.actor.box?0:(t.actor.box?O:0)+(n.actor.box?O:0);H[e]=Math.max(t.size.w/2+n.size.w/2+E+r,le.get(e*I.length+e+1)??0)}let U=[];for(let[e,t]of le){let n=Math.floor(e/I.length),r=e%I.length;r-n>1&&U.push([n,r,t])}U.sort((e,t)=>e[1]-e[0]-(t[1]-t[0])||e[0]-t[0]);for(let[e,t,n]of U){let r=0;for(let n=e;n<t;n++)r+=H[n];if(r>=n)continue;let i=(n-r)/(t-e);for(let n=e;n<t;n++)H[n]+=i}let de=()=>{for(let e=1;e<=R;e++)I[e].x=I[e-1].x+H[e-1]};de();for(let e of V){let t=I[e.last].x+I[e.last].size.w/2-(I[e.first].x-I[e.first].size.w/2);e.grow=Math.max(0,(e.title.width-t)/2),e.grow!==0&&(e.first>0&&(H[e.first-1]+=e.grow),e.last<R&&(H[e.last]+=e.grow))}de();let W=1/0,G=-1/0,K=(e,t)=>{e<W&&(W=e),t>G&&(G=t)};for(let e of I)K(e.x-e.size.w/2,e.x+e.size.w/2);for(let e of V)K(I[e.first].x-I[e.first].size.w/2-O-e.grow,I[e.last].x+I[e.last].size.w/2+O+e.grow);let Ne=Array(M),Z=[],Ie=()=>R<0?[0,120]:[I[0].x-oe,I[R].x+oe];for(let e=0;e<M;e++){let t=j[e],n=t.type,r=n===void 0?void 0:_e.get(n),i=B[e];if(r!==void 0){let n={kind:r,x0:1/0,x1:-1/0,top:0,title:Me,tabW:0,fill:r===`rect`&&typeof t.message==`string`?t.message:``,dividers:[e],dividerY:[],dividerLabels:[]};Ne[e]=n,Z.push(n)}else if(n===13||n===20||n===28)Z[Z.length-1]?.dividers.push(e);else if(n===11||n===14||n===16||n===21||n===29||n===31||n===23){let t=Z.pop();if(!t)continue;if(Ne[e]=t,t.x0>t.x1&&([t.x0,t.x1]=Ie()),t.kind!==`rect`){t.tabW=S.width(t.kind,x,1)+14;for(let e=0;e<t.dividers.length;e++){let n=j[t.dividers[e]].message,r=e===0?t.tabW+8:0,i=t.x1-t.x0-16-r,a=n?N(`[${n}]`,b,!0,Math.max(i,_?Math.min(De,D):De)):Me;a.width>i&&(t.x1+=a.width-i),e===0?t.title=a:t.dividerLabels.push(a)}}K(t.x0,t.x1);let n=Z[Z.length-1];n&&(n.x0=Math.min(n.x0,t.x0-se),n.x1=Math.max(n.x1,t.x1+se))}else if(i){let n=I[i.a],r=I[i.b],a,o;if(i.kind===2){if(t.placement===0)i.x=n.x-J-i.w;else if(t.placement===1)i.x=n.x+J;else if(i.a===i.b)i.x=n.x-i.w/2;else{let e=Math.min(n.x,r.x)-A,a=Math.max(n.x,r.x)+A;(_||t.wrap)&&(i.label=N(t.message,b,!0,Math.max(D,a-e-2*ie))),i.w=Math.max(a-e,i.label.width+2*ie),i.x=(e+a-i.w)/2}a=i.x,o=i.x+i.w}else i.kind===1?(a=n.x,o=n.x+q+ye+8+i.label.width+ue(e)):(a=Math.min(n.x,r.x),o=Math.max(n.x,r.x),(_||t.wrap)&&(i.label=N(t.message,b,!0,Math.max(D,o-a-2*k-q))),r.createAt===e&&(r.x>n.x?o+=r.size.w/2:a-=r.size.w/2));K(a,o);let s=Z[Z.length-1];s&&(s.x0=Math.min(s.x0,a-oe),s.x1=Math.max(s.x1,o+oe))}}let Le=0;for(let e of V)Le=Math.max(Le,e.title.height);let Re=V.length>0?O+(Le>0?Le+4:0):0,ze=0;for(let e of I)e.createAt<0&&(ze=Math.max(ze,e.size.h));let Be=Re+ze;for(let e of I)e.top=Be-e.size.h,e.lifeStart=Be;let Ve=I.map(e=>e.x),He=(e,t)=>{let n=0,r=Ve.length;for(;n<r;){let t=n+r>>1;Ve[t]<=e?n=t+1:r=t}return n<Ve.length&&Ve[n]<t},Ue=(e,n,r,i)=>{if(e.width===0)return``;let a=n-e.width/2;return(He(a,a+e.width)?`<rect x="${t(a-3)}" y="${t(r-e.height/2+2)}" width="${t(e.width+6)}" height="${t(e.height-4)}" rx="3" fill="var(--_bg)" stroke="none"/>`:``)+c(e,n,r,i,C)},We=(e,t=0)=>e.activations.length+t>0?e.x-q/2:e.x,Ge=(e,t=0)=>{let n=e.activations.length+t;return n>0?e.x+q/2+(n-1)*xe:e.x},Ke=[],qe=[],Je=``,Ye=``,Xe=``,Ze=``,Qe=``,$e=``,et=(e,n)=>{let r=e.activations.pop(),i=Math.max(n,r+Se),a=e.x-q/2+e.activations.length*xe;return K(a,a+q),qe.push(`<rect class="pele-activation" data-id="${o(e.id)}" x="${t(a)}" y="${t(r)}" width="${q}" height="${t(i-r)}" rx="2"/>`),i},tt=(e,n)=>{let r=e.x,i=n+16;return e.lifeEnd=i,$e+=`<path class="pele-destroy" data-id="${o(e.id)}" d="M${t(r-6)},${t(i-6)}L${t(r+6)},${t(i+6)}M${t(r+6)},${t(i-6)}L${t(r-6)},${t(i+6)}"/>`,i+6},nt=(t,n,r)=>{let i=t.actor.properties.get(`class`);return`<g class="pele-node pele-actor pele-actor-${t.kind}${r?` pele-actor-footer`:``}${typeof i==`string`?e(i):``}" data-id="${o(t.id)}">`+he(t.kind,t.x,n,t.size,t.label,C)+`</g>`},rt=(e,n,r,i)=>`<g class="pele-sequence-number"><rect x="${t(n-i/2)}" y="${t(r-Oe/2)}" width="${t(i)}" height="${Oe}" rx="${Oe/2}" fill="var(--_l)" stroke="none"/><text x="${t(n)}" y="${t(r+x*.35)}" text-anchor="middle" font-size="${x}" fill="var(--_bg)" stroke="none">${l(String(ce.index[e]))}</text></g>`,Q=Be+6,it=[];for(let e=0;e<M;e++){let n=j[e],s=n.type,l=B[e],u=Ne[e];if(s===17){let e=n.from===void 0?void 0:L.get(n.from);e!==void 0&&I[e].activations.push(Q)}else if(s===18){let e=n.from===void 0?void 0:L.get(n.from);e!==void 0&&I[e].activations.length>0&&(Q=Math.max(Q,et(I[e],Q)))}else if(u&&u.dividers[0]===e)it.push(u),u.kind===`rect`?(u.top=Q+8,Q=u.top):(u.top=Q+12,Q=u.top+Math.max(Ee,u.title.height+2));else if(u){it.pop();let e=Q+12,n=t(u.x0),o=t(u.x1-u.x0);if(u.kind===`rect`){let i=u.fill?r([`fill:${u.fill}`]).shape:``;Ke.push(`<rect class="pele-rect" x="${n}" y="${t(u.top)}" width="${o}" height="${t(e-u.top)}"${a((i?``:` fill-opacity="0.5"`)+i)}/>`)}else{let r=`<rect x="${n}" y="${t(u.top)}" width="${o}" height="${t(e-u.top)}" fill="none"${i}/>`;for(let e=0;e<u.dividerY.length;e++){let i=u.dividerY[e],a=u.dividerLabels[e];r+=`<path d="M${n},${t(i)}H${t(u.x1)}"${ke}/>`+Ue(a,u.x0+8+a.width/2,i+2+a.height/2,` class="pele-frame-label" fill="var(--_m)" stroke="none"`)}r+=`<rect x="${n}" y="${t(u.top)}" width="${t(u.tabW)}" height="${Ee}" fill="var(--_s)"${i}/><text class="pele-frame-kind" x="${t(u.x0+u.tabW/2)}" y="${t(u.top+Ee/2+x*.35)}" text-anchor="middle" font-size="${x}" font-weight="var(--_hw)" fill="var(--_m)" stroke="none">${u.kind}</text>`+Ue(u.title,u.x0+u.tabW+8+u.title.width/2,u.top+Math.max(Ee,u.title.height)/2,` class="pele-frame-label" fill="var(--_m)" stroke="none"`),Je+=`<g class="pele-frame pele-frame-${u.kind}">${r}</g>`}Q=e}else if(s===13||s===20||s===28){let e=it[it.length-1];if(e){let t=e.dividerLabels[e.dividerY.length];e.dividerY.push(Q+12),Q+=12+(t.height>0?t.height:0)}}else if(l&&l.kind===2){let e=I[l.a],r=l.label.height+2*Math.max(4,ie-4),a=Q+10,s=l.x;n.placement===1?s+=Ge(e)-e.x:n.placement===0&&(s+=We(e)-e.x),K(s,s+l.w),Ze+=`<g class="pele-note" data-id="i${o(n.id)}"><rect x="${t(s)}" y="${t(a)}" width="${t(l.w)}" height="${t(r)}"${i}/>`+c(l.label,s+l.w/2,a+r/2,` class="pele-label" stroke="none" fill="var(--_fg)"`,C)+`</g>`,Q=a+r}else if(l){let r=ge[s],i=I[l.a],a=I[l.b],u=l.label,d=ue(e),f=0;for(let t=e+1;t<M;t++){let e=j[t].type;if(e===17)j[t].from===n.to&&f++;else if(e!==18&&e!==59&&e!==60)break}let p=r.bottom?1:-1,m=r.dotted?ke:``,h=n.centralConnection,g=h===59||h===61,_=h===60||h===61,v=(e,n)=>`<circle class="pele-central" cx="${t(e)}" cy="${t(n)}" r="${Y}" fill="var(--_l)" stroke="none"/>`,y=r.atStart&&!r.atEnd,b=Fe(r.head),x=``,S;if(l.kind===1){let a=Q+re+Math.max(0,(u.height-be)/2),s=a+be,l=_?i.x+Y:Ge(i),h=g?i.x+Y:Ge(i,f),w=Math.max(l,h)+ye+d/2;_&&(x+=v(i.x,a)),g&&(x+=v(i.x,s)),d>0&&(x+=rt(e,y?h:l,y?s:a,d),y?h+=d/2:l+=d/2);let T=(r.atStart?Pe(r.head,l,a,-1,p):``)+(r.atEnd?Pe(r.head,h,s,-1,-p):``),E=t(l+(r.atStart?b:0)),te=t(h+(r.atEnd?b:0));x=`<path d="${ee?`M${E},${t(a)}H${t(w)}V${t(s)}H${te}`:`M${E},${t(a)}H${t(w-6)}A6,6 0 0 1 ${t(w)},${t(a+6)}V${t(s-6)}A6,6 0 0 1 ${t(w-6)},${t(s)}H${te}`}"${m}/>`+T+x,K(i.x,w+8+u.width),u.width>0&&(Xe+=`<g class="pele-edge-label" data-id="i${o(n.id)}">${c(u,w+8+u.width/2,(a+s)/2,``,C)}</g>`),S=Math.max(s,(a+s)/2+u.height/2)}else{let s=a.x>i.x?1:-1,c=a.createAt===e;S=Q+re+Math.max(u.height>0?u.height+2:6,c?a.size.h/2-re+6:0);let l=s>0?Ge(i):We(i),h=s>0?We(a,f):Ge(a,f);if(c&&(a.top=S-a.size.h/2,a.lifeStart=a.top+a.size.h,h=a.x-s*(pe(a.kind)?18:a.size.w/2+1)),_&&(x+=v(i.x,S),l=i.x+s*Y),g&&(x+=v(a.x,S),h=a.x-s*Y),d>0){if(y){let t=g?h-s*(d/2+2):h;x+=rt(e,t,S,d),h=t-s*d/2}else{let t=_?l+s*(d/2+2):l;x+=rt(e,t,S,d),l=t+s*d/2}}let C=(r.atStart?Pe(r.head,l,S,-s,p*s):``)+(r.atEnd?Pe(r.head,h,S,s,p*s):``),w=l+(r.atStart?s*b:0),T=h-(r.atEnd?s*b:0);if(x=`<path d="M${t(w)},${t(S)}H${t(T)}"${m}/>`+C+x,u.width>0){let e=Math.min(l,h),t=Math.max(l,h),r=ae<0?e+k+u.width/2:ae>0?t-k-u.width/2:(e+t)/2;K(r-u.width/2,r+u.width/2),Xe+=`<g class="pele-edge-label" data-id="i${o(n.id)}">${Ue(u,r,S-4-u.height/2,``)}</g>`}c&&(Q=S+a.size.h/2-6)}Ye+=`<g class="pele-edge pele-message" data-id="i${o(n.id)}">${x}</g>`,Q=Math.max(Q,S),i.destroyAt===e&&(Q=Math.max(Q,tt(i,S))),a.destroyAt===e&&a!==i&&(Q=Math.max(Q,tt(a,S)))}}Q+=20;for(let e of I)for(;e.activations.length>0;)et(e,Q);let at=Q;if(T){let e=0;for(let t of I)t.lifeEnd>=0||(e=Math.max(e,t.size.h),Qe+=nt(t,Q,!0));at=Q+e}let ot=``;for(let e of I){Qe+=nt(e,e.top,!1);let n=e.lifeEnd>=0?e.lifeEnd:Q;n>e.lifeStart&&(ot+=`<path class="pele-lifeline" data-id="${o(e.id)}" d="M${t(e.x)},${t(e.lifeStart)}V${t(n)}"/>`)}let st=``;for(let e of V){let n=I[e.first].x-I[e.first].size.w/2-O-e.grow,i=I[e.last].x+I[e.last].size.w/2+O+e.grow,s=e.box.fill===`transparent`?``:r([`fill:${e.box.fill}`]).shape;st+=`<g class="pele-cluster pele-box"${e.box.name?` data-id="${o(e.box.name)}"`:``}><rect x="${t(n)}" y="0" width="${t(i-n)}" height="${t(at+O)}" fill="var(--_a)" stroke="var(--_b)"${a((s?``:` fill-opacity="0.5"`)+s)}/>`+c(e.title,(n+i)/2,O/2+2+e.title.height/2,` class="pele-cluster-label" fill="var(--_m)"`,C)+`</g>`}V.length>0&&(at+=O);let ct=0,lt=``,ut=p(h),dt=m(u.title,S,y,_?ut:1/0),$=_?d(dt,S,Math.max(120,ut)):dt;if(W>G&&K(0,Math.max($.width,40)),$.width>0){let e=(W+G)/2;K(e-$.width/2,e+$.width/2),ct=-$.height-12,lt=c($,e,ct+$.height/2,` class="pele-title" font-weight="var(--_tw)"`,C)}let ft=Math.ceil(G-W+2*w),pt=Math.ceil(at-ct+2*w);return{svg:n(`sequence`,ft,pt,y,h,u,`<g transform="translate(${t(w-W)},${t(w-ct)})">`+lt+(st?`<g class="pele-boxes" font-size="${b}">${st}</g>`:``)+(Ke.length>0?`<g class="pele-rects" fill="var(--_a)">${Ke.reverse().join(``)}</g>`:``)+(ot?`<g class="pele-lifelines" fill="none" stroke="var(--_b)">${ot}</g>`:``)+(qe.length>0?`<g class="pele-activations" fill="var(--_s)" stroke="var(--_b)">${qe.reverse().join(``)}</g>`:``)+(Je?`<g class="pele-frames" font-size="${b}" stroke="var(--_b)">${Je}</g>`:``)+(Ye?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${Ye}</g>`:``)+($e?`<g class="pele-destroys" fill="none" stroke="var(--_l)" stroke-width="1.5" stroke-linecap="round">${$e}</g>`:``)+(Xe?`<g class="pele-edge-labels" font-size="${b}">${Xe}</g>`:``)+(Ze?`<g class="pele-notes" font-size="${b}" fill="var(--_a)" stroke="var(--_b)">${Ze}</g>`:``)+(Qe?`<g class="pele-nodes">${Qe}</g>`:``)+`</g>`),width:ft,height:pt,links:[]}}var Le={type:`sequence`,math:!0,parse(e,t,n){let r=t.sequence??{},i=new j({wrap:typeof t.wrap==`boolean`?t.wrap:void 0,sequenceWrap:r.wrap===!0});return n&&i.setDiagramTitle(n),L(e,i),i},render:Z};export{Le as sequence};
|
|
13
|
-
//# sourceMappingURL=TKWO2OVW-
|
|
13
|
+
//# sourceMappingURL=TKWO2OVW-DFURsfqA.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as e,s as t,t as n}from"./77XECAW3-
|
|
2
|
-
//# sourceMappingURL=TSHNXIZL-
|
|
1
|
+
import{f as e,s as t,t as n}from"./77XECAW3-TL2w7pHK.js";import{h as r}from"./lazy-DyNR0b0B.js";function i(e,n,i,a){return r(()=>t(e,!1,n,i,a,1))}function a(t,r,a,o,s,c,l){let u=i(t,r,a,4e3);if(u.height===0)return{width:s,height:c,content:l};let d=u.height+12,f=Math.max(s,Math.ceil(u.width+2*o));return{width:f,height:Math.ceil(c+d),content:n(u,f/2,o+u.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="translate(${e((f-s)/2)},${e(d)})">${l}</g>`}}export{a as n,i as t};
|
|
2
|
+
//# sourceMappingURL=TSHNXIZL-CIukdyLy.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{Ep as i,Jp as a,Mp as o,dr as s,nh as c,t as l}from"./utils-BE5iQuUP.js";import{f as u,l as d,m as f}from"./TooltipViewport-Bz56sWCM.js";import{A as p,D as m,G as h,H as g,T as _,U as v,W as y,et as b,g as x,h as S,l as C,p as w,s as T,u as ee,v as E,x as D}from"./themePalette-C_1pk_Mi.js";import{a as te,n as ne,t as re}from"./tooltip-CSzrAm8M.js";import{n as O,t as k}from"./toggle-group-FrArhs7R.js";import{t as ie}from"./input-GkmNnHh7.js";import{i as A,o as j,t as M}from"./popover-BIXQitBy.js";import{i as N,n as P,r as F,t as I}from"./color-picker-BKtR2mwD.js";import{va as L}from"./main-Dcfxjdkd.js";var ae=n(),R=e(t(),1),z=e(r(),1);function B(e){return{canvas:`Background`,toolbar:`Toolbar background`,toolbarForeground:`Toolbar text`,toolbarBorder:`Toolbar border`,toolbarControl:`Toolbar control`,toolbarControlForeground:`Toolbar control text`,toolbarControlHover:`Toolbar control hover`,accent:`Accent color`,errorForeground:`Error text`,errorSurface:`Error background`,warningForeground:`Warning text`,warningSurface:`Warning background`,updateForeground:`Update text`,updateSurface:`Update background`}[e]||e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase())}function V(e){let t=g(e)??``,n=t.length===9?t.slice(7):``;return n===`ff`?``:n}function oe(e){return(g(e)??`#000000`).slice(0,7)}function se(e){let t=Number.parseInt(oe(e).slice(1),16);return[t>>16,t>>8&255,t&255]}function ce(e){let t=e.trim().replace(/^rgb\(\s*/i,``).replace(/\s*\)$/,``).split(/[,\s]+/).filter(Boolean).map(Number);return t.length!==3||t.some(e=>!Number.isInteger(e)||e<0||e>255)?null:`#${t.map(e=>e.toString(16).padStart(2,`0`)).join(``)}`}function H(e){return se(e).join(`, `)}function U({label:e,value:t,onChange:n}){let r=oe(t),i=V(t),[a,o]=(0,R.useState)(()=>F(r)),[s,c]=(0,R.useState)(r),[l,u]=(0,R.useState)(()=>H(r)),d=(0,R.useRef)(!1),f=N(a.h,a.s,a.v),p=H(f);(0,R.useEffect)(()=>{d.current||(c(r),u(H(r))),o(e=>N(e.h,e.s,e.v)===r?e:F(r))},[r]);let m=(0,R.useRef)(n);m.current=n;let h=(0,R.useRef)(null),g=(0,R.useRef)(null),_=(0,R.useCallback)(()=>{g.current!==null&&(cancelAnimationFrame(g.current),g.current=null);let e=h.current;h.current=null,e!==null&&m.current(e)},[]);(0,R.useEffect)(()=>()=>_(),[_]);let v=(0,R.useCallback)(e=>{h.current=e,g.current??=requestAnimationFrame(()=>{g.current=null;let e=h.current;h.current=null,e!==null&&m.current(e)})},[]),y=(0,R.useCallback)(e=>{o(e);let t=N(e.h,e.s,e.v);c(t),u(H(t)),v(t+i)},[i,v]),b=e=>{if(c(e),!/^#[0-9a-f]{6}$/i.test(e))return;let t=F(e);o(t),u(H(e)),n(e.toLowerCase())},x=e=>{u(e);let t=ce(e);t&&(o(F(t)),c(t),n(t+i))};return(0,z.jsxs)(`div`,{className:`w-72 bg-popover`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 px-4 py-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`truncate text-xs font-semibold text-foreground`,children:e}),(0,z.jsx)(`p`,{className:`text-2xs text-muted-foreground`,children:`Choose a color`})]}),(0,z.jsx)(`span`,{className:`size-7 shrink-0 rounded-full shadow-sm`,style:{backgroundColor:f}})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 px-3 pb-3 pt-3`,children:[(0,z.jsx)(P,{label:e,value:a,onChange:y,onInteractionEnd:_}),(0,z.jsx)(I,{label:`${e} hue`,value:a.h,onChange:e=>y({...a,h:e}),onInteractionEnd:_}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[1fr_1.2fr] gap-2`,children:[(0,z.jsxs)(`label`,{className:`grid min-w-0 gap-1`,children:[(0,z.jsx)(`span`,{className:`px-1 text-3xs font-semibold uppercase tracking-widest text-muted-foreground`,children:`HEX`}),(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 rounded-lg border border-input bg-background px-2 focus-within:border-ring`,children:[(0,z.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full`,style:{backgroundColor:f}}),(0,z.jsx)(`input`,{"aria-label":`${e} picker hex value`,className:`h-8 min-w-0 flex-1 bg-transparent font-mono text-xs text-foreground outline-none`,onBlur:()=>{d.current=!1,c(f),u(p)},onChange:e=>b(e.currentTarget.value),onFocus:()=>{d.current=!0},spellCheck:!1,value:s})]})]}),(0,z.jsxs)(`label`,{className:`grid min-w-0 gap-1`,children:[(0,z.jsx)(`span`,{className:`px-1 text-3xs font-semibold uppercase tracking-widest text-muted-foreground`,children:`RGB`}),(0,z.jsx)(`span`,{className:`flex min-w-0 items-center rounded-lg border border-input bg-background px-2 focus-within:border-ring`,children:(0,z.jsx)(`input`,{"aria-label":`${e} picker RGB value`,className:`h-8 min-w-0 flex-1 bg-transparent font-mono text-xs text-foreground outline-none`,onBlur:()=>{d.current=!1,c(f),u(p)},onChange:e=>x(e.currentTarget.value),onFocus:()=>{d.current=!0},spellCheck:!1,value:l})})]})]})]})]})}function W(e){let t=(0,ae.c)(13),{label:n,value:r,onChange:i,onInteract:a}=e,o=`Choose ${n} color`,s;t[0]===r?s=t[1]:(s=(0,z.jsx)(`span`,{className:`absolute inset-0 rounded-full shadow-sm`,style:{backgroundColor:r}}),t[0]=r,t[1]=s);let c;t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,z.jsx)(j,{render:(0,z.jsx)(`button`,{"aria-label":o,className:`relative flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-full border border-foreground/30 transition-transform hover:scale-105 focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring`,onFocus:a,onPointerDown:a,type:`button`,children:s})}),t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==i||t[8]!==r?(l=(0,z.jsx)(A,{align:`end`,padding:`none`,"data-theme-editor-panel":``,side:`bottom`,sideOffset:10,children:(0,z.jsx)(U,{label:n,onChange:i,value:r})}),t[6]=n,t[7]=i,t[8]=r,t[9]=l):l=t[9];let u;return t[10]!==c||t[11]!==l?(u=(0,z.jsxs)(M,{children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u}var le=(0,R.memo)(function(e){let t=(0,ae.c)(58),{role:n,value:r,onChange:i,onSelect:a,onToggleSelected:o,selected:s,label:c}=e,u=s!==void 0&&s,d;t[0]!==c||t[1]!==n?(d=c??B(n),t[0]=c,t[1]=n,t[2]=d):d=t[2];let f=d,p;t[3]===r?p=t[4]:(p=_(r),t[3]=r,t[4]=p);let m=p,h=m?r:`#000000`,v;t[5]===r?v=t[6]:(v=r.trim().toLowerCase().startsWith(`oklch(`)?g(r)??r:r,t[5]=r,t[6]=v);let y=v,b=u&&`bg-accent/60 inset-ring inset-ring-ring`,x;t[7]===b?x=t[8]:(x=l(`flex min-h-11 min-w-0 items-center gap-2 rounded-lg px-2 py-1.5 transition-[background-color,box-shadow]`,b),t[7]=b,t[8]=x);let S=`${u?`Hide`:`Show`} ${f} usage`,C;t[9]!==o||t[10]!==n?(C=()=>o?.(n),t[9]=o,t[10]=n,t[11]=C):C=t[11];let w;t[12]===f?w=t[13]:(w=(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:f}),t[12]=f,t[13]=w);let T;t[14]!==u||t[15]!==S||t[16]!==C||t[17]!==w?(T=(0,z.jsx)(te,{render:(0,z.jsx)(`button`,{"aria-label":S,"aria-pressed":u,className:`flex min-w-0 flex-1 cursor-pointer items-center rounded-md text-left text-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:C,type:`button`,children:w})}),t[14]=u,t[15]=S,t[16]=C,t[17]=w,t[18]=T):T=t[18];let ee=`${u?`Hide`:`Show`} where ${f} is used`,E;t[19]===ee?E=t[20]:(E=(0,z.jsx)(ne,{side:`top`,children:ee}),t[19]=ee,t[20]=E);let D;t[21]!==T||t[22]!==E?(D=(0,z.jsxs)(re,{children:[T,E]}),t[21]=T,t[22]=E,t[23]=D):D=t[23];let O;t[24]!==i||t[25]!==n?(O=e=>i(n,e),t[24]=i,t[25]=n,t[26]=O):O=t[26];let k;t[27]!==a||t[28]!==n?(k=()=>a?.(n),t[27]=a,t[28]=n,t[29]=k):k=t[29];let A;t[30]!==f||t[31]!==h||t[32]!==O||t[33]!==k?(A=(0,z.jsx)(W,{label:f,onChange:O,onInteract:k,value:h}),t[30]=f,t[31]=h,t[32]=O,t[33]=k,t[34]=A):A=t[34];let j=!m,M=`${f} hex value`,N=`${n}-hex`,P;t[35]!==i||t[36]!==n?(P=e=>i(n,e.currentTarget.value),t[35]=i,t[36]=n,t[37]=P):P=t[37];let F,I;t[38]!==a||t[39]!==n?(F=()=>a?.(n),I=()=>a?.(n),t[38]=a,t[39]=n,t[40]=F,t[41]=I):(F=t[40],I=t[41]);let L;t[42]!==y||t[43]!==j||t[44]!==M||t[45]!==N||t[46]!==P||t[47]!==F||t[48]!==I?(L=(0,z.jsx)(ie,{"aria-invalid":j,"aria-label":M,className:`w-28 shrink-0`,font:`mono`,id:N,nativeInput:!0,onChange:P,onFocus:F,onPointerDown:I,size:`compact`,value:y}),t[42]=y,t[43]=j,t[44]=M,t[45]=N,t[46]=P,t[47]=F,t[48]=I,t[49]=L):L=t[49];let R;t[50]!==A||t[51]!==L?(R=(0,z.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[A,L]}),t[50]=A,t[51]=L,t[52]=R):R=t[52];let V;return t[53]!==n||t[54]!==D||t[55]!==R||t[56]!==x?(V=(0,z.jsxs)(`div`,{className:x,"data-theme-color-role":n,children:[D,R]}),t[53]=n,t[54]=D,t[55]=R,t[56]=x,t[57]=V):V=t[57],V}),ue=[`background`,`border`,`foreground`],G=`data-theme-inspector-match`,de=`data-theme-token-probe`,K=`#01fea7`,fe=`#fe01a7`,q=`theme-inspector-spotlight`,J=`theme-inspector-spotlight-mask`,pe=`theme-inspector-spotlight-glow`,Y=`theme-inspector-hover`,X=`http://www.w3.org/2000/svg`,me={background:`canvas`,foreground:`text`,card:`surface`,"card-foreground":`text`,popover:`surfaceOverlay`,"popover-foreground":`text`,"surface-raised":`surfaceRaised`,primary:`messageAction`,"primary-foreground":`messageActionForeground`,secondary:`secondary`,"secondary-foreground":`secondaryForeground`,muted:`muted`,"muted-foreground":`mutedForeground`,placeholder:`placeholder`,"secondary-label":`secondaryLabel`,"icon-muted":`iconMuted`,accent:`accentSurface`,"accent-foreground":`accentSurfaceForeground`,destructive:`error`,"destructive-foreground":`errorForeground`,error:`error`,"error-foreground":`errorForeground`,"error-surface":`errorSurface`,warning:`warning`,"warning-foreground":`warningForeground`,"warning-surface":`warningSurface`,update:`update`,"update-foreground":`updateForeground`,"update-surface":`updateSurface`,message:`messageSurface`,"message-foreground":`messageForeground`,"message-action":`messageAction`,"message-action-foreground":`messageActionForeground`,"message-action-hover":`messageActionHover`,sidebar:`sidebar`,"sidebar-foreground":`sidebarForeground`,"sidebar-muted-foreground":`sidebarMutedForeground`,"sidebar-control-surface":`sidebarControlSurface`,"sidebar-row-hover":`sidebarRowHover`,"sidebar-row-active":`sidebarRowActive`,"sidebar-row-selected":`sidebarRowSelected`,"sidebar-border":`sidebarBorder`,border:`border`,input:`input`,ring:`focus`},he={background:[`bg-`],border:[`border-`,`outline-`,`ring-`],foreground:[`text-`,`caret-`,`fill-`,`stroke-`]};function ge(e){document.querySelectorAll(`[${e}]`).forEach(t=>t.removeAttribute(e))}function _e(){ge(G),document.getElementById(q)?.remove()}function ve(){document.getElementById(Y)?.remove()}function Z(e){return document.createElementNS(X,e)}function ye(e){let t=e.getBoundingClientRect();if(t.width<=0||t.height<=0||t.right<0||t.bottom<0||t.left>window.innerWidth||t.top>window.innerHeight)return null;let n=t.left-5,r=t.top-5,i=Number.parseFloat(window.getComputedStyle(e).borderTopLeftRadius)||0;return{x:n,y:r,width:t.width+10,height:t.height+10,radius:Math.min(18,Math.max(7,i+5))}}function be(e,t){let n=ye(e.element);if(!n){ve();return}let r=document.getElementById(Y);if(!r){r=document.createElement(`div`),r.id=Y,r.setAttribute(`aria-hidden`,`true`);let e=document.createElement(`span`);e.dataset.themeInspectorHoverLabel=``,r.append(e),document.body.append(r)}r.style.left=`${n.x}px`,r.style.top=`${n.y}px`,r.style.width=`${n.width}px`,r.style.height=`${n.height}px`,r.style.borderRadius=`${n.radius}px`,r.dataset.placement=n.y<32?`below`:`above`;let i=r.querySelector(`[data-theme-inspector-hover-label]`);i&&(i.textContent=t)}function xe(e){let t=new Map;for(let n of e){let e=ye(n);if(!e)continue;let r=[e.x,e.y,e.width,e.height].map(e=>Math.round(e)).join(`:`);t.set(r,e)}if(t.size===0){document.getElementById(q)?.remove();return}let n=document.getElementById(q);n||(n=Z(`svg`),n.id=q,n.setAttribute(`aria-hidden`,`true`),n.setAttribute(`focusable`,`false`),document.body.append(n)),n.setAttribute(`viewBox`,`0 0 ${window.innerWidth} ${window.innerHeight}`);let r=Z(`defs`),i=Z(`mask`);i.id=J,i.setAttribute(`maskUnits`,`userSpaceOnUse`);let a=Z(`rect`);a.setAttribute(`width`,String(window.innerWidth)),a.setAttribute(`height`,String(window.innerHeight)),a.setAttribute(`fill`,`white`),i.append(a);let o=Z(`filter`);o.id=pe,o.setAttribute(`x`,`-50%`),o.setAttribute(`y`,`-50%`),o.setAttribute(`width`,`200%`),o.setAttribute(`height`,`200%`);let s=Z(`feGaussianBlur`);s.setAttribute(`stdDeviation`,`5`),s.setAttribute(`result`,`blur`);let c=Z(`feMerge`),l=Z(`feMergeNode`);l.setAttribute(`in`,`blur`);let u=Z(`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.append(l,u),o.append(s,c),r.append(i,o);let d=Z(`g`);for(let e of t.values()){let t=Z(`rect`);t.setAttribute(`x`,String(e.x)),t.setAttribute(`y`,String(e.y)),t.setAttribute(`width`,String(e.width)),t.setAttribute(`height`,String(e.height)),t.setAttribute(`rx`,String(e.radius)),t.setAttribute(`fill`,`black`),i.append(t);let n=t.cloneNode(!1);n.removeAttribute(`fill`),n.setAttribute(`class`,`theme-inspector-spotlight-glow`),n.setAttribute(`filter`,`url(#${pe})`),d.append(n)}let f=Z(`rect`);f.setAttribute(`class`,`theme-inspector-spotlight-dimmer`),f.setAttribute(`width`,String(window.innerWidth)),f.setAttribute(`height`,String(window.innerHeight)),f.setAttribute(`mask`,`url(#${J})`),n.replaceChildren(r,f,d)}function Se(){xe([...document.querySelectorAll(`[${G}]`)])}function Ce(e){return e.matches(`input, textarea, select, option`)?!0:Array.from(e.childNodes).some(e=>e.nodeType===Node.TEXT_NODE&&!!e.textContent?.trim())}function Q(e,{forHitTest:t=!1}={}){let n=window.getComputedStyle(e);if(n.display===`none`||n.visibility===`hidden`||Number(n.opacity)===0)return null;let r=[];for(let[e,t,i]of[[n.borderTopColor,n.borderTopStyle,n.borderTopWidth],[n.borderRightColor,n.borderRightStyle,n.borderRightWidth],[n.borderBottomColor,n.borderBottomStyle,n.borderBottomWidth],[n.borderLeftColor,n.borderLeftStyle,n.borderLeftWidth]])t!==`none`&&Number.parseFloat(i)>0&&r.push(e);n.outlineStyle!==`none`&&Number.parseFloat(n.outlineWidth)>0&&r.push(n.outlineColor),n.borderImageSource!==`none`&&r.push(n.borderImageSource),n.boxShadow!==`none`&&r.push(n.boxShadow);let i=[];return(t||Ce(e))&&i.push(n.color),e instanceof SVGElement&&i.push(n.fill,n.stroke),e.matches(`input, textarea`)&&i.push(n.caretColor),n.textDecorationLine!==`none`&&i.push(n.textDecorationColor),n.textShadow!==`none`&&i.push(n.textShadow),{background:[n.backgroundColor,n.backgroundImage].join(`
|
|
1
|
+
import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{Dp as i,Np as a,Yp as o,dr as s,rh as c,t as l}from"./utils-BoMYW9A3.js";import{f as u,l as d,m as f}from"./TooltipViewport-ZmVCer7P.js";import{A as p,D as m,G as h,H as g,T as _,U as v,W as y,et as b,g as x,h as S,l as C,p as w,s as T,u as ee,v as E,x as D}from"./themePalette-neUNWCzK.js";import{a as te,n as ne,t as re}from"./tooltip-D-GRl-oZ.js";import{n as O,t as k}from"./toggle-group-Di3SFV73.js";import{t as ie}from"./input-ekYqAkUx.js";import{i as A,o as j,t as M}from"./popover-OfG3wVsl.js";import{i as N,n as P,r as F,t as I}from"./color-picker-CXfnfmuH.js";import{va as L}from"./main-BWh6jqG2.js";var ae=n(),R=e(t(),1),z=e(r(),1);function B(e){return{canvas:`Background`,toolbar:`Toolbar background`,toolbarForeground:`Toolbar text`,toolbarBorder:`Toolbar border`,toolbarControl:`Toolbar control`,toolbarControlForeground:`Toolbar control text`,toolbarControlHover:`Toolbar control hover`,accent:`Accent color`,errorForeground:`Error text`,errorSurface:`Error background`,warningForeground:`Warning text`,warningSurface:`Warning background`,updateForeground:`Update text`,updateSurface:`Update background`}[e]||e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase())}function V(e){let t=g(e)??``,n=t.length===9?t.slice(7):``;return n===`ff`?``:n}function oe(e){return(g(e)??`#000000`).slice(0,7)}function se(e){let t=Number.parseInt(oe(e).slice(1),16);return[t>>16,t>>8&255,t&255]}function ce(e){let t=e.trim().replace(/^rgb\(\s*/i,``).replace(/\s*\)$/,``).split(/[,\s]+/).filter(Boolean).map(Number);return t.length!==3||t.some(e=>!Number.isInteger(e)||e<0||e>255)?null:`#${t.map(e=>e.toString(16).padStart(2,`0`)).join(``)}`}function H(e){return se(e).join(`, `)}function U({label:e,value:t,onChange:n}){let r=oe(t),i=V(t),[a,o]=(0,R.useState)(()=>F(r)),[s,c]=(0,R.useState)(r),[l,u]=(0,R.useState)(()=>H(r)),d=(0,R.useRef)(!1),f=N(a.h,a.s,a.v),p=H(f);(0,R.useEffect)(()=>{d.current||(c(r),u(H(r))),o(e=>N(e.h,e.s,e.v)===r?e:F(r))},[r]);let m=(0,R.useRef)(n);m.current=n;let h=(0,R.useRef)(null),g=(0,R.useRef)(null),_=(0,R.useCallback)(()=>{g.current!==null&&(cancelAnimationFrame(g.current),g.current=null);let e=h.current;h.current=null,e!==null&&m.current(e)},[]);(0,R.useEffect)(()=>()=>_(),[_]);let v=(0,R.useCallback)(e=>{h.current=e,g.current??=requestAnimationFrame(()=>{g.current=null;let e=h.current;h.current=null,e!==null&&m.current(e)})},[]),y=(0,R.useCallback)(e=>{o(e);let t=N(e.h,e.s,e.v);c(t),u(H(t)),v(t+i)},[i,v]),b=e=>{if(c(e),!/^#[0-9a-f]{6}$/i.test(e))return;let t=F(e);o(t),u(H(e)),n(e.toLowerCase())},x=e=>{u(e);let t=ce(e);t&&(o(F(t)),c(t),n(t+i))};return(0,z.jsxs)(`div`,{className:`w-72 bg-popover`,children:[(0,z.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 px-4 py-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`truncate text-xs font-semibold text-foreground`,children:e}),(0,z.jsx)(`p`,{className:`text-2xs text-muted-foreground`,children:`Choose a color`})]}),(0,z.jsx)(`span`,{className:`size-7 shrink-0 rounded-full shadow-sm`,style:{backgroundColor:f}})]}),(0,z.jsxs)(`div`,{className:`grid gap-3 px-3 pb-3 pt-3`,children:[(0,z.jsx)(P,{label:e,value:a,onChange:y,onInteractionEnd:_}),(0,z.jsx)(I,{label:`${e} hue`,value:a.h,onChange:e=>y({...a,h:e}),onInteractionEnd:_}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[1fr_1.2fr] gap-2`,children:[(0,z.jsxs)(`label`,{className:`grid min-w-0 gap-1`,children:[(0,z.jsx)(`span`,{className:`px-1 text-3xs font-semibold uppercase tracking-widest text-muted-foreground`,children:`HEX`}),(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 rounded-lg border border-input bg-background px-2 focus-within:border-ring`,children:[(0,z.jsx)(`span`,{className:`size-3.5 shrink-0 rounded-full`,style:{backgroundColor:f}}),(0,z.jsx)(`input`,{"aria-label":`${e} picker hex value`,className:`h-8 min-w-0 flex-1 bg-transparent font-mono text-xs text-foreground outline-none`,onBlur:()=>{d.current=!1,c(f),u(p)},onChange:e=>b(e.currentTarget.value),onFocus:()=>{d.current=!0},spellCheck:!1,value:s})]})]}),(0,z.jsxs)(`label`,{className:`grid min-w-0 gap-1`,children:[(0,z.jsx)(`span`,{className:`px-1 text-3xs font-semibold uppercase tracking-widest text-muted-foreground`,children:`RGB`}),(0,z.jsx)(`span`,{className:`flex min-w-0 items-center rounded-lg border border-input bg-background px-2 focus-within:border-ring`,children:(0,z.jsx)(`input`,{"aria-label":`${e} picker RGB value`,className:`h-8 min-w-0 flex-1 bg-transparent font-mono text-xs text-foreground outline-none`,onBlur:()=>{d.current=!1,c(f),u(p)},onChange:e=>x(e.currentTarget.value),onFocus:()=>{d.current=!0},spellCheck:!1,value:l})})]})]})]})]})}function W(e){let t=(0,ae.c)(13),{label:n,value:r,onChange:i,onInteract:a}=e,o=`Choose ${n} color`,s;t[0]===r?s=t[1]:(s=(0,z.jsx)(`span`,{className:`absolute inset-0 rounded-full shadow-sm`,style:{backgroundColor:r}}),t[0]=r,t[1]=s);let c;t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,z.jsx)(j,{render:(0,z.jsx)(`button`,{"aria-label":o,className:`relative flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-full border border-foreground/30 transition-transform hover:scale-105 focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring`,onFocus:a,onPointerDown:a,type:`button`,children:s})}),t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==i||t[8]!==r?(l=(0,z.jsx)(A,{align:`end`,padding:`none`,"data-theme-editor-panel":``,side:`bottom`,sideOffset:10,children:(0,z.jsx)(U,{label:n,onChange:i,value:r})}),t[6]=n,t[7]=i,t[8]=r,t[9]=l):l=t[9];let u;return t[10]!==c||t[11]!==l?(u=(0,z.jsxs)(M,{children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u}var le=(0,R.memo)(function(e){let t=(0,ae.c)(58),{role:n,value:r,onChange:i,onSelect:a,onToggleSelected:o,selected:s,label:c}=e,u=s!==void 0&&s,d;t[0]!==c||t[1]!==n?(d=c??B(n),t[0]=c,t[1]=n,t[2]=d):d=t[2];let f=d,p;t[3]===r?p=t[4]:(p=_(r),t[3]=r,t[4]=p);let m=p,h=m?r:`#000000`,v;t[5]===r?v=t[6]:(v=r.trim().toLowerCase().startsWith(`oklch(`)?g(r)??r:r,t[5]=r,t[6]=v);let y=v,b=u&&`bg-accent/60 inset-ring inset-ring-ring`,x;t[7]===b?x=t[8]:(x=l(`flex min-h-11 min-w-0 items-center gap-2 rounded-lg px-2 py-1.5 transition-[background-color,box-shadow]`,b),t[7]=b,t[8]=x);let S=`${u?`Hide`:`Show`} ${f} usage`,C;t[9]!==o||t[10]!==n?(C=()=>o?.(n),t[9]=o,t[10]=n,t[11]=C):C=t[11];let w;t[12]===f?w=t[13]:(w=(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:f}),t[12]=f,t[13]=w);let T;t[14]!==u||t[15]!==S||t[16]!==C||t[17]!==w?(T=(0,z.jsx)(te,{render:(0,z.jsx)(`button`,{"aria-label":S,"aria-pressed":u,className:`flex min-w-0 flex-1 cursor-pointer items-center rounded-md text-left text-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:C,type:`button`,children:w})}),t[14]=u,t[15]=S,t[16]=C,t[17]=w,t[18]=T):T=t[18];let ee=`${u?`Hide`:`Show`} where ${f} is used`,E;t[19]===ee?E=t[20]:(E=(0,z.jsx)(ne,{side:`top`,children:ee}),t[19]=ee,t[20]=E);let D;t[21]!==T||t[22]!==E?(D=(0,z.jsxs)(re,{children:[T,E]}),t[21]=T,t[22]=E,t[23]=D):D=t[23];let O;t[24]!==i||t[25]!==n?(O=e=>i(n,e),t[24]=i,t[25]=n,t[26]=O):O=t[26];let k;t[27]!==a||t[28]!==n?(k=()=>a?.(n),t[27]=a,t[28]=n,t[29]=k):k=t[29];let A;t[30]!==f||t[31]!==h||t[32]!==O||t[33]!==k?(A=(0,z.jsx)(W,{label:f,onChange:O,onInteract:k,value:h}),t[30]=f,t[31]=h,t[32]=O,t[33]=k,t[34]=A):A=t[34];let j=!m,M=`${f} hex value`,N=`${n}-hex`,P;t[35]!==i||t[36]!==n?(P=e=>i(n,e.currentTarget.value),t[35]=i,t[36]=n,t[37]=P):P=t[37];let F,I;t[38]!==a||t[39]!==n?(F=()=>a?.(n),I=()=>a?.(n),t[38]=a,t[39]=n,t[40]=F,t[41]=I):(F=t[40],I=t[41]);let L;t[42]!==y||t[43]!==j||t[44]!==M||t[45]!==N||t[46]!==P||t[47]!==F||t[48]!==I?(L=(0,z.jsx)(ie,{"aria-invalid":j,"aria-label":M,className:`w-28 shrink-0`,font:`mono`,id:N,nativeInput:!0,onChange:P,onFocus:F,onPointerDown:I,size:`compact`,value:y}),t[42]=y,t[43]=j,t[44]=M,t[45]=N,t[46]=P,t[47]=F,t[48]=I,t[49]=L):L=t[49];let R;t[50]!==A||t[51]!==L?(R=(0,z.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[A,L]}),t[50]=A,t[51]=L,t[52]=R):R=t[52];let V;return t[53]!==n||t[54]!==D||t[55]!==R||t[56]!==x?(V=(0,z.jsxs)(`div`,{className:x,"data-theme-color-role":n,children:[D,R]}),t[53]=n,t[54]=D,t[55]=R,t[56]=x,t[57]=V):V=t[57],V}),ue=[`background`,`border`,`foreground`],G=`data-theme-inspector-match`,de=`data-theme-token-probe`,K=`#01fea7`,fe=`#fe01a7`,q=`theme-inspector-spotlight`,J=`theme-inspector-spotlight-mask`,pe=`theme-inspector-spotlight-glow`,Y=`theme-inspector-hover`,X=`http://www.w3.org/2000/svg`,me={background:`canvas`,foreground:`text`,card:`surface`,"card-foreground":`text`,popover:`surfaceOverlay`,"popover-foreground":`text`,"surface-raised":`surfaceRaised`,primary:`messageAction`,"primary-foreground":`messageActionForeground`,secondary:`secondary`,"secondary-foreground":`secondaryForeground`,muted:`muted`,"muted-foreground":`mutedForeground`,placeholder:`placeholder`,"secondary-label":`secondaryLabel`,"icon-muted":`iconMuted`,accent:`accentSurface`,"accent-foreground":`accentSurfaceForeground`,destructive:`error`,"destructive-foreground":`errorForeground`,error:`error`,"error-foreground":`errorForeground`,"error-surface":`errorSurface`,warning:`warning`,"warning-foreground":`warningForeground`,"warning-surface":`warningSurface`,update:`update`,"update-foreground":`updateForeground`,"update-surface":`updateSurface`,message:`messageSurface`,"message-foreground":`messageForeground`,"message-action":`messageAction`,"message-action-foreground":`messageActionForeground`,"message-action-hover":`messageActionHover`,sidebar:`sidebar`,"sidebar-foreground":`sidebarForeground`,"sidebar-muted-foreground":`sidebarMutedForeground`,"sidebar-control-surface":`sidebarControlSurface`,"sidebar-row-hover":`sidebarRowHover`,"sidebar-row-active":`sidebarRowActive`,"sidebar-row-selected":`sidebarRowSelected`,"sidebar-border":`sidebarBorder`,border:`border`,input:`input`,ring:`focus`},he={background:[`bg-`],border:[`border-`,`outline-`,`ring-`],foreground:[`text-`,`caret-`,`fill-`,`stroke-`]};function ge(e){document.querySelectorAll(`[${e}]`).forEach(t=>t.removeAttribute(e))}function _e(){ge(G),document.getElementById(q)?.remove()}function ve(){document.getElementById(Y)?.remove()}function Z(e){return document.createElementNS(X,e)}function ye(e){let t=e.getBoundingClientRect();if(t.width<=0||t.height<=0||t.right<0||t.bottom<0||t.left>window.innerWidth||t.top>window.innerHeight)return null;let n=t.left-5,r=t.top-5,i=Number.parseFloat(window.getComputedStyle(e).borderTopLeftRadius)||0;return{x:n,y:r,width:t.width+10,height:t.height+10,radius:Math.min(18,Math.max(7,i+5))}}function be(e,t){let n=ye(e.element);if(!n){ve();return}let r=document.getElementById(Y);if(!r){r=document.createElement(`div`),r.id=Y,r.setAttribute(`aria-hidden`,`true`);let e=document.createElement(`span`);e.dataset.themeInspectorHoverLabel=``,r.append(e),document.body.append(r)}r.style.left=`${n.x}px`,r.style.top=`${n.y}px`,r.style.width=`${n.width}px`,r.style.height=`${n.height}px`,r.style.borderRadius=`${n.radius}px`,r.dataset.placement=n.y<32?`below`:`above`;let i=r.querySelector(`[data-theme-inspector-hover-label]`);i&&(i.textContent=t)}function xe(e){let t=new Map;for(let n of e){let e=ye(n);if(!e)continue;let r=[e.x,e.y,e.width,e.height].map(e=>Math.round(e)).join(`:`);t.set(r,e)}if(t.size===0){document.getElementById(q)?.remove();return}let n=document.getElementById(q);n||(n=Z(`svg`),n.id=q,n.setAttribute(`aria-hidden`,`true`),n.setAttribute(`focusable`,`false`),document.body.append(n)),n.setAttribute(`viewBox`,`0 0 ${window.innerWidth} ${window.innerHeight}`);let r=Z(`defs`),i=Z(`mask`);i.id=J,i.setAttribute(`maskUnits`,`userSpaceOnUse`);let a=Z(`rect`);a.setAttribute(`width`,String(window.innerWidth)),a.setAttribute(`height`,String(window.innerHeight)),a.setAttribute(`fill`,`white`),i.append(a);let o=Z(`filter`);o.id=pe,o.setAttribute(`x`,`-50%`),o.setAttribute(`y`,`-50%`),o.setAttribute(`width`,`200%`),o.setAttribute(`height`,`200%`);let s=Z(`feGaussianBlur`);s.setAttribute(`stdDeviation`,`5`),s.setAttribute(`result`,`blur`);let c=Z(`feMerge`),l=Z(`feMergeNode`);l.setAttribute(`in`,`blur`);let u=Z(`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.append(l,u),o.append(s,c),r.append(i,o);let d=Z(`g`);for(let e of t.values()){let t=Z(`rect`);t.setAttribute(`x`,String(e.x)),t.setAttribute(`y`,String(e.y)),t.setAttribute(`width`,String(e.width)),t.setAttribute(`height`,String(e.height)),t.setAttribute(`rx`,String(e.radius)),t.setAttribute(`fill`,`black`),i.append(t);let n=t.cloneNode(!1);n.removeAttribute(`fill`),n.setAttribute(`class`,`theme-inspector-spotlight-glow`),n.setAttribute(`filter`,`url(#${pe})`),d.append(n)}let f=Z(`rect`);f.setAttribute(`class`,`theme-inspector-spotlight-dimmer`),f.setAttribute(`width`,String(window.innerWidth)),f.setAttribute(`height`,String(window.innerHeight)),f.setAttribute(`mask`,`url(#${J})`),n.replaceChildren(r,f,d)}function Se(){xe([...document.querySelectorAll(`[${G}]`)])}function Ce(e){return e.matches(`input, textarea, select, option`)?!0:Array.from(e.childNodes).some(e=>e.nodeType===Node.TEXT_NODE&&!!e.textContent?.trim())}function Q(e,{forHitTest:t=!1}={}){let n=window.getComputedStyle(e);if(n.display===`none`||n.visibility===`hidden`||Number(n.opacity)===0)return null;let r=[];for(let[e,t,i]of[[n.borderTopColor,n.borderTopStyle,n.borderTopWidth],[n.borderRightColor,n.borderRightStyle,n.borderRightWidth],[n.borderBottomColor,n.borderBottomStyle,n.borderBottomWidth],[n.borderLeftColor,n.borderLeftStyle,n.borderLeftWidth]])t!==`none`&&Number.parseFloat(i)>0&&r.push(e);n.outlineStyle!==`none`&&Number.parseFloat(n.outlineWidth)>0&&r.push(n.outlineColor),n.borderImageSource!==`none`&&r.push(n.borderImageSource),n.boxShadow!==`none`&&r.push(n.boxShadow);let i=[];return(t||Ce(e))&&i.push(n.color),e instanceof SVGElement&&i.push(n.fill,n.stroke),e.matches(`input, textarea`)&&i.push(n.caretColor),n.textDecorationLine!==`none`&&i.push(n.textDecorationColor),n.textShadow!==`none`&&i.push(n.textShadow),{background:[n.backgroundColor,n.backgroundImage].join(`
|
|
2
2
|
`),border:r.join(`
|
|
3
3
|
`),foreground:i.join(`
|
|
4
|
-
`)}}function we(e,t){return ue.filter(n=>e[n]!==t[n])}function Te(e){let t=document.documentElement,n=t.hasAttribute(de);n||t.setAttribute(de,``);try{return e()}finally{window.getComputedStyle(t).color,n||t.removeAttribute(de)}}function Ee(e){let t=document.documentElement,n=S(e),r=t.style.getPropertyValue(n),i=t.style.getPropertyPriority(n),a=r.trim().toLowerCase()===K?fe:K;return t.style.setProperty(n,a,`important`),()=>{r?t.style.setProperty(n,r,i):t.style.removeProperty(n)}}function $(e){let t=e.map(Ee);return()=>{for(let e of t.toReversed())e()}}function De(){return[document.body,...document.body.querySelectorAll(`*`)].filter(e=>!e.closest(`[data-theme-editor-panel]`)&&!e.closest(`#${q}, #${Y}`))}function Oe(e,t){if(e.includes(`:`))return null;for(let n of he[t])if(e.startsWith(n))return me[e.slice(n.length).split(`/`,1)[0]??``]??null;return null}function ke(e){for(let t of ue)for(let n of e.classList){let e=Oe(n,t);if(e)return e}return null}function Ae(e){let t=[],n=e;for(;n&&n!==document.documentElement;)n.closest(`[data-theme-editor-panel]`)||t.push(n),n=n.parentElement;return t}function je(e){if(e.closest(`[data-theme-editor-panel]`))return null;for(let t of Ae(e)){let e=ke(t);if(e)return{element:t,role:e}}return null}function Me(e){performance.now(),ge(G);let t=De(),n=performance.now(),r=Te(()=>{let n=new Map;for(let e of t){let t=Q(e);t&&n.set(e,t)}let r=$(e),i=new Set;try{for(let[e,t]of n){let n=Q(e);n&&we(t,n).length>0&&i.add(e)}}finally{r()}return i});performance.now()-n;let i=new Set;for(let e of r)i.add(e instanceof SVGElement?e.closest(`svg`)??e:e);for(let e of i)e.setAttribute(G,``);return xe([...i]),i.size}function Ne(e){if(e.closest(`[data-theme-editor-panel]`))return null;let t=Ae(e),n=je(e);if(n)return n;let r=Te(()=>{let e=new Map,n=new Map;for(let n of t){let t=Q(n,{forHitTest:!0});t&&e.set(n,t)}for(let t of b){let r=Ee(t);try{for(let[r,i]of e){let e=Q(r,{forHitTest:!0});if(!e)continue;let a=n.get(r)??{};for(let n of we(i,e))a[n]??=t;n.set(r,a)}}finally{r()}}return n});for(let e of t){let t=r.get(e);if(t)for(let n of ue){let r=t[n];if(r)return{element:e,role:r}}}return null}var Pe=[`canvas`,`accent`],Fe=[{id:`foundation`,title:`Foundation`,families:[{id:`background`,label:`Background`,role:`canvas`,roles:[`canvas`,`chrome`,`toolbar`]},{id:`surface`,label:`Surface`,role:`surface`,roles:[`surface`]},{id:`raised-surface`,label:`Raised surface`,role:`surfaceRaised`,roles:[`surfaceRaised`]},{id:`overlay`,label:`Overlay`,role:`surfaceOverlay`,roles:[`surfaceOverlay`]},{id:`text`,label:`Text`,role:`text`,roles:[`text`,`toolbarForeground`,`toolbarControlForeground`]},{id:`muted-text`,label:`Muted text`,role:`mutedForeground`,roles:[`textMuted`,`mutedForeground`,`placeholder`,`secondaryLabel`,`iconMuted`,`sidebarMutedForeground`]},{id:`border`,label:`Border`,role:`border`,roles:[`border`,`toolbarBorder`,`sidebarBorder`]},{id:`input`,label:`Input`,role:`input`,roles:[`input`]}]},{id:`brand-content`,title:`Brand & content`,families:[{id:`subtle-surface`,label:`Subtle surface`,role:`secondary`,roles:[`secondary`,`secondaryForeground`,`muted`,`toolbarControl`]},{id:`highlight-surface`,label:`Highlight surface`,role:`accentSurface`,roles:[`accentSurface`,`accentSurfaceForeground`,`toolbarControlHover`]},{id:`accent`,label:`Accent`,role:`accent`,roles:[`accent`,`accentForeground`,`focus`,`update`,`updateForeground`,`updateSurface`,`terminalCursor`]},{id:`action`,label:`Action`,role:`messageAction`,roles:[`messageAction`,`messageActionForeground`,`messageActionHover`]},{id:`message-surface`,label:`Message surface`,role:`messageSurface`,roles:[`messageSurface`,`messageForeground`]},{id:`code-surface`,label:`Code surface`,role:`codeBackground`,roles:[`codeBackground`,`codeForeground`]}]},{id:`search`,title:`Search`,families:[{id:`search-matches`,label:`Search matches`,role:`searchMatchBackground`,roles:[`searchMatchBackground`,`searchMatchForeground`]},{id:`current-match`,label:`Current match`,role:`searchMatchActiveBackground`,roles:[`searchMatchActiveBackground`,`searchMatchActiveForeground`]}]},{id:`context`,title:`Context`,families:[{id:`sidebar-background`,label:`Sidebar background`,role:`sidebar`,roles:[`sidebar`,`sidebarForeground`]},{id:`sidebar-controls`,label:`Sidebar controls`,role:`sidebarControlSurface`,roles:[`sidebarControlSurface`]},{id:`sidebar-selection`,label:`Sidebar selection`,role:`sidebarRowSelected`,roles:[`sidebarRowHover`,`sidebarRowActive`,`sidebarRowSelected`]},{id:`terminal-background`,label:`Terminal background`,role:`terminalBackground`,roles:[`terminalBackground`,`terminalForeground`,`terminalSelection`,`terminalScrollbar`,`terminalScrollbarHover`]}]},{id:`status`,title:`Status`,families:[{id:`error`,label:`Error`,role:`error`,roles:[`error`,`errorForeground`,`errorSurface`]},{id:`warning`,label:`Warning`,role:`warning`,roles:[`warning`,`warningForeground`,`warningSurface`]}]}],Ie=Fe.flatMap(e=>e.families),Le=new Map(Ie.flatMap(e=>e.roles.map(t=>[t,e])));function Re(e){return Le.get(e)??null}function ze(e){return{...w(e)}}function Be(){return{light:ze(`light`),dark:ze(`dark`)}}function Ve(e){return _(e.trim())}function He(e,t){let n=w(e);return C(e,Ve(t.canvas)?t.canvas:n.canvas,Ve(t.accent)?t.accent:n.accent)}function Ue({open:e,onOpenChange:t,onSaved:n,editingTheme:r,initialAppearance:g,seedTheme:_,seedName:S,restoreTheme:C}){let w=r!==null,[A,j]=(0,R.useState)(``),[M,N]=(0,R.useState)(g),[P,F]=(0,R.useState)(!1),[I,ae]=(0,R.useState)(()=>Be()),[V,oe]=(0,R.useState)({light:!1,dark:!1}),[se,ce]=(0,R.useState)(!1),[H,U]=(0,R.useState)(null),[W,ue]=(0,R.useState)(!1),[G,de]=(0,R.useState)(``),[K,fe]=(0,R.useState)(!1),[q,J]=(0,R.useState)(null),[pe,Y]=(0,R.useState)(null),[X,me]=(0,R.useState)(null),[he,ge]=(0,R.useState)(null),Z=(0,R.useRef)(null),ye=(0,R.useRef)(null),xe=(0,R.useRef)(null);(0,R.useEffect)(()=>{if(!e)return;let t=()=>{let e,t;ge(n=>n&&(e=Math.max(280,Math.min(n.width,window.innerWidth-16)),t=Math.max(220,Math.min(n.height,window.innerHeight-16)),{width:e,height:t})),me(n=>{if(!n)return n;let r=et(n.x,n.y,e),i=W?Z.current?.offsetHeight??0:t??Z.current?.offsetHeight??0,a=Math.max(8,window.innerHeight-i-8);return{x:r.x,y:Math.min(r.y,a)}})};return window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[W,e]);let[Ce,Q]=(0,R.useState)(!1),we=(0,R.useRef)(!1);(0,R.useEffect)(()=>{if(e&&!we.current){let e=r??_??null,t=Be(),n=e?x(e,g)?g:e.appearance:g;if(e){t[e.appearance]={...e.colors};for(let n of[`light`,`dark`]){let r=e.variants?.[n];r&&(t[n]={...r})}}j(r?.label??S??``),N(n),F(e!==null&&e.managed!==!0),oe({light:!1,dark:!1}),ce(e!==null&&e.managed!==!0),ae(t),J(null),Y(null),fe(!1),U(null),Q(!0)}!e&&Ce&&Q(!1),we.current=e},[r,g,Ce,e,S,_]);let Te=v(A),Ee=A.trim().toLowerCase(),$=Ee===``?null:ee().find(e=>e.id!==r?.id&&(e.id===Te||e.label.trim().toLowerCase()===Ee))??null,De=$?E($):[],Oe=r?E(r):null,ke=e=>Oe&&!Oe.includes(e)?`“${r?.label}” has no ${e} palette. Create a theme with the same name to add one.`:!w&&De.includes(e)?`“${$?.label}” already has a ${e} palette.`:null,Ae=$?.id??null,Ie=De.join(`,`);(0,R.useEffect)(()=>{if(w||Ae===null)return;let e=Ie.split(`,`).filter(Boolean);e.length===1&&N(t=>e.includes(t)?e[0]===`light`?`dark`:`light`:t)},[w,Ae,Ie]),(0,R.useEffect)(()=>{e&&Ce&&T(I[M],M)},[M,I,Ce,e]),(0,R.useEffect)(()=>{if(e)return()=>{C()}},[e,C]);let Le=(0,R.useCallback)((e,t)=>{ae(n=>{let r={...n[M],[e]:t},i=!P&&Pe.includes(e)&&Ve(t);return{...n,[M]:P?h(M,n[M],e,t):i?He(M,r):r}}),!P&&Pe.includes(e)&&Ve(t)&&oe(e=>({...e,[M]:!0})),P&&ce(!0)},[M,P]),ze=(0,R.useCallback)((e,t=!1)=>{let n=Re(e)?.role??e;J(n),Pe.includes(n)||(F(!0),de(``)),t&&requestAnimationFrame(()=>{Z.current?.querySelector(`[data-theme-color-role="${n}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})},[]),Ue=(0,R.useCallback)(e=>{J(t=>t===e?null:e)},[]),We=(0,R.useCallback)(()=>{J(null),Y(null),fe(!1)},[]),Ge=(q?P?Re(q)?.roles??[q]:Pe.includes(q)?b.filter(e=>I[M][e].trim().toLowerCase()===I[M][q].trim().toLowerCase()):[q]:[]).join(`,`);(0,R.useEffect)(()=>{if(_e(),!e||q===null){Y(null);return}if(K)return;let t=Ge.split(`,`),n=()=>Y(Me(t));n();let r=null,i=null,a=performance.now(),o=()=>{if(r!==null||i!==null)return;let e=Math.max(0,500-(performance.now()-a)),t=()=>{r=null,i=null,a=performance.now(),n()};e===0?r=requestAnimationFrame(t):i=setTimeout(t,e)},s=new MutationObserver(e=>{e.every(e=>e.target instanceof Element&&(e.target.closest(`#theme-inspector-spotlight`)||e.target.closest(`[data-theme-editor-panel]`)))||o()});s.observe(document.body,{childList:!0,subtree:!0});let c=null,l=()=>{c??=requestAnimationFrame(()=>{c=null,Se()})};return window.addEventListener(`resize`,l),window.addEventListener(`scroll`,l,!0),()=>{s.disconnect(),r!==null&&cancelAnimationFrame(r),i!==null&&clearTimeout(i),c!==null&&cancelAnimationFrame(c),window.removeEventListener(`resize`,l),window.removeEventListener(`scroll`,l,!0),_e()}},[K,e,Ge,q]),(0,R.useEffect)(()=>{if(!e||!K){ve();return}let t=!1,n=null,r=null,i=null,a=null,o=()=>{i!==null&&(window.clearTimeout(i),i=null)},s=()=>{o(),n=null,r=null,ve()},c=e=>{r=e,be(e,Re(e.role)?.label??B(e.role))},l=e=>{let t=e.target;if(!(t instanceof Element)||t.closest(`[data-theme-editor-panel]`)){s();return}o(),n=t,r=null;let a=je(t);if(a){c(a);return}ve(),i=window.setTimeout(()=>{if(i=null,n!==t||!t.isConnected)return;let e=Ne(t);e&&c(e)},140)},u=e=>{e.relatedTarget===null&&s()},d=e=>{let i=e.target;if(!(i instanceof Element)||i.closest(`[data-theme-editor-panel]`))return;e.preventDefault(),e.stopPropagation(),o();let a=n===i&&r?r:Ne(i);a&&(s(),ze(a.role,!0),t=!0)},f=e=>{let n=e.target;n instanceof Element&&!n.closest(`[data-theme-editor-panel]`)&&(e.preventDefault(),e.stopPropagation(),t&&fe(!1),t=!1)},p=e=>{e.key===`Escape`&&(e.preventDefault(),s(),We())},m=()=>{r&&(a??=requestAnimationFrame(()=>{a=null,r&&be(r,Re(r.role)?.label??B(r.role))}))},h=()=>s();return document.addEventListener(`pointerover`,l,!0),document.addEventListener(`pointerout`,u,!0),document.addEventListener(`pointerdown`,d,!0),document.addEventListener(`click`,f,!0),document.addEventListener(`keydown`,p,!0),window.addEventListener(`resize`,m),window.addEventListener(`scroll`,h,!0),()=>{document.removeEventListener(`pointerover`,l,!0),document.removeEventListener(`pointerout`,u,!0),document.removeEventListener(`pointerdown`,d,!0),document.removeEventListener(`click`,f,!0),document.removeEventListener(`keydown`,p,!0),window.removeEventListener(`resize`,m),window.removeEventListener(`scroll`,h,!0),o(),a!==null&&cancelAnimationFrame(a),ve()}},[We,K,e,ze]);let Ke=(0,R.useCallback)(e=>{if(F(e),e||(q&&!Pe.includes(q)&&J(null),!se))return;let t=r&&E(r).length>1?[`light`,`dark`]:[M];oe(e=>{let n={...e};for(let e of t)n[e]=!0;return n}),ae(e=>{let n={...e};for(let r of t)n[r]=He(r,e[r]);return n}),ce(!1)},[M,r,q,se]),qe=()=>{if(!A.trim()){U(`Name your theme first.`);return}try{let e=P?I:{light:V.light?He(`light`,I.light):I.light,dark:V.dark?He(`dark`,I.dark):I.dark},i,a=null,o=null;if(r&&$){let t=E(r),n=t.find(e=>De.includes(e));if(n){U(`“${$.label}” already has a ${n} palette. Pick another name.`);return}a=t[0]??null,i=y({...m({version:1,id:$.id,name:$.label,appearance:$.appearance,colors:$.colors,variants:{...$.variants,...Object.fromEntries(t.map(t=>[t,e[t]]))},...$.managed===!0&&!P?{managed:!0}:{}}),...$.collection?{collection:$.collection}:{}}),o=r;try{p(r.id)}catch(e){try{y($)}catch{}throw e}}else if(r){let t=r.appearance,n=t===`light`?`dark`:`light`;i=y({...m({version:1,id:r.id,name:A,appearance:t,colors:e[t],...E(r).length>1?{variants:{[n]:e[n]}}:{},...P?{}:{managed:!0}}),...r.collection?{collection:r.collection}:{}})}else if($){if(De.includes(M)){U(`“${$.label}” already has light and dark palettes. Pick another name.`);return}a=M,i=y({...m({version:1,id:$.id,name:$.label,appearance:$.appearance,colors:$.colors,variants:{...$.variants,[M]:e[M]},...$.managed===!0&&!P?{managed:!0}:{}}),...$.collection?{collection:$.collection}:{}})}else i=D(m({version:1,name:A,appearance:M,colors:e[M],...P?{}:{managed:!0}}));if(!n(i,{created:r===null&&a===null,...a?{mergedAppearance:a}:{}})){if(!r&&a===null)try{p(i.id)}catch{}else if($&&a!==null)try{y($),o&&D(o)}catch{}U(`Theme saved, but it could not be made active. Try again.`);return}t(!1)}catch(e){U(e instanceof Error?e.message:w?`Could not save the theme.`:`Could not create the theme.`)}},Je=()=>(0,z.jsxs)(`label`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`text-sm font-medium`,children:`Theme name`}),(0,z.jsx)(ie,{autoFocus:!0,size:`sm`,onChange:e=>{j(e.currentTarget.value),U(null)},placeholder:w?`Theme name`:`e.g. Aurora`,value:A})]}),Ye=e=>{let t=ke(e),n=(0,z.jsx)(k,{"aria-disabled":t!==null,value:e,children:e===`light`?`Light`:`Dark`});return t===null?n:(0,z.jsxs)(re,{children:[(0,z.jsx)(te,{render:n}),(0,z.jsx)(ne,{children:t})]})},Xe=()=>(0,z.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`text-sm font-medium`,children:`Appearance`}),(0,z.jsxs)(O,{"aria-label":`Theme appearance`,variant:`segmented`,value:[M],onValueChange:e=>{let t=e[0];(t===`light`||t===`dark`)&&ke(t)===null&&N(t)},children:[Ye(`light`),Ye(`dark`)]})]}),Ze=()=>(0,z.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-start gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h3`,{className:`text-sm font-medium`,children:`Colors`}),P?null:(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Two colors, rest derived`})]}),(0,z.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[P?(0,z.jsx)(ie,{"aria-label":`Filter colors`,className:`min-w-0 flex-1`,onChange:e=>de(e.currentTarget.value),placeholder:`Filter colors`,size:`sm`,value:G}):null,(0,z.jsxs)(`label`,{className:`ml-auto flex shrink-0 cursor-pointer items-center gap-2 pt-0.5 text-sm font-medium`,children:[(0,z.jsx)(`span`,{children:`Advanced`}),(0,z.jsx)(L,{"aria-label":`Use advanced theme colors`,checked:P,onCheckedChange:e=>Ke(!!e)})]})]})]}),Qe=(e,t=`grid gap-2 sm:grid-cols-2`)=>(0,z.jsx)(`div`,{className:t,children:e.map(e=>(0,z.jsx)(le,{label:e.label,onChange:Le,onSelect:ze,onToggleSelected:Ue,role:e.role,selected:q===e.role,value:I[M][e.role]},e.id))}),$e=()=>{let e=G.trim().toLowerCase(),t=Fe.map(t=>({...t,families:t.families.filter(t=>!e||[t.label,...t.roles.map(e=>B(e))].join(` `).toLowerCase().includes(e))})).filter(e=>e.families.length>0);return P?(0,z.jsxs)(`div`,{className:`space-y-5`,children:[t.map(e=>(0,z.jsxs)(`section`,{className:`space-y-2`,children:[(0,z.jsx)(`h4`,{className:`text-sm font-medium text-foreground`,children:e.title}),Qe(e.families,`grid gap-1`)]},e.id)),t.length===0?(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No matches.`}):null]}):(0,z.jsx)(`div`,{className:`grid gap-1`,children:Pe.map(e=>(0,z.jsx)(le,{onChange:Le,onSelect:ze,onToggleSelected:Ue,role:e,label:e===`canvas`?`Background`:`Accent`,selected:q===e,value:I[M][e]},e))})},et=(e,t,n)=>{let r=Z.current,i=n??r?.offsetWidth??0;return{x:Math.min(Math.max(e,8),Math.max(8,window.innerWidth-i-8)),y:Math.min(Math.max(t,8),Math.max(8,window.innerHeight-48))}},tt=e=>{if(e.target.closest(`button, input, a`))return;let t=Z.current?.getBoundingClientRect();t&&(ye.current={dx:e.clientX-t.x,dy:e.clientY-t.y},e.currentTarget.setPointerCapture(e.pointerId))},nt=e=>{let t=ye.current;t&&me(et(e.clientX-t.dx,e.clientY-t.dy))},rt=()=>{ye.current=null},it=e=>{let t=Z.current?.getBoundingClientRect();t&&(e.preventDefault(),X===null&&me(et(t.x,t.y)),xe.current={pointerX:e.clientX,pointerY:e.clientY,left:t.x,top:t.y,width:t.width,height:t.height},e.currentTarget.setPointerCapture(e.pointerId))},at=e=>{let t=xe.current;if(!t)return;let n=Math.max(280,window.innerWidth-8-t.left),r=Math.max(220,window.innerHeight-8-t.top);ge({width:Math.min(Math.max(t.width+e.clientX-t.pointerX,280),n),height:Math.min(Math.max(t.height+e.clientY-t.pointerY,220),r)})},ot=()=>{xe.current=null};return(0,z.jsxs)(`div`,{"aria-label":w?`Edit theme`:`Create theme`,className:l(`dialog-glass fixed z-[110] flex max-h-[min(42rem,calc(100dvh-6rem))] w-[min(26rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-xl border text-popover-foreground`,X===null&&`bottom-4 right-4`,W&&`max-h-none`),"data-theme-editor-panel":!0,ref:Z,role:`dialog`,style:{...X?{left:X.x,top:X.y}:{},...he?{width:he.width}:{},...he&&!W?{height:he.height,maxHeight:`calc(100dvh - 1rem)`}:{}},children:[(0,z.jsxs)(`div`,{className:`flex cursor-grab touch-none select-none items-center gap-1 border-b border-border/70 px-3 py-2 active:cursor-grabbing`,onPointerCancel:rt,onPointerDown:tt,onPointerMove:nt,onPointerUp:rt,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,z.jsx)(`h2`,{className:`shrink-0 truncate text-sm font-medium`,children:w?`Edit theme`:`Create theme`}),W?null:(0,z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:K?`Select an element · Esc to cancel`:q?`${P?Re(q)?.label??B(q):B(q)} · ${pe??0} ${pe===1?`use`:`uses`}`:`Select a color below`})]}),(0,z.jsxs)(re,{children:[(0,z.jsx)(te,{render:(0,z.jsxs)(s,{"aria-label":K?`Cancel inspecting app colors`:`Inspect app colors`,"aria-pressed":K,size:`xs`,variant:K?`secondary`:`ghost`,onClick:()=>{if(K){We();return}fe(!0)},children:[(0,z.jsx)(i,{}),K?`Cancel`:`Inspect`]})}),(0,z.jsx)(ne,{"data-theme-editor-panel":``,children:K?`Cancel and clear the selection`:`Pick a color from the app`})]}),(0,z.jsx)(s,{"aria-label":W?`Expand the theme editor`:`Minimize the theme editor`,size:`icon-xs`,variant:`ghost`,onClick:()=>ue(!W),children:(0,z.jsx)(d,{icon:W?f:u})}),(0,z.jsx)(s,{"aria-label":`Close the theme editor`,size:`icon-xs`,variant:`ghost`,onClick:()=>t(!1),children:(0,z.jsx)(c,{})})]}),W?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto py-3 pl-3 pr-1.5`,children:[Je(),H?(0,z.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:H}):null,Xe(),(0,z.jsxs)(`div`,{className:`space-y-3`,children:[Ze(),$e()]})]}),(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border/70 px-3 py-2`,children:[(0,z.jsx)(s,{size:`sm`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,z.jsx)(s,{disabled:!A.trim(),size:`sm`,onClick:qe,children:w?$?`Merge into “${$.label}”`:`Save changes`:$?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{}),`Add ${M} palette`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(o,{}),`Create theme`]})})]}),(0,z.jsx)(`div`,{"aria-hidden":!0,className:`absolute bottom-0 right-0 z-10 flex size-5 cursor-se-resize touch-none select-none items-end justify-end p-1 text-muted-foreground/70`,onPointerCancel:ot,onPointerDown:it,onPointerMove:at,onPointerUp:ot,children:(0,z.jsx)(`svg`,{className:`size-2.5`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.2`,viewBox:`0 0 8 8`,children:(0,z.jsx)(`path`,{d:`M7 1 1 7M7 4.5 4.5 7`})})})]})]})}export{Ue as ThemeEditorPanel};
|
|
5
|
-
//# sourceMappingURL=ThemeEditorPanel-
|
|
4
|
+
`)}}function we(e,t){return ue.filter(n=>e[n]!==t[n])}function Te(e){let t=document.documentElement,n=t.hasAttribute(de);n||t.setAttribute(de,``);try{return e()}finally{window.getComputedStyle(t).color,n||t.removeAttribute(de)}}function Ee(e){let t=document.documentElement,n=S(e),r=t.style.getPropertyValue(n),i=t.style.getPropertyPriority(n),a=r.trim().toLowerCase()===K?fe:K;return t.style.setProperty(n,a,`important`),()=>{r?t.style.setProperty(n,r,i):t.style.removeProperty(n)}}function $(e){let t=e.map(Ee);return()=>{for(let e of t.toReversed())e()}}function De(){return[document.body,...document.body.querySelectorAll(`*`)].filter(e=>!e.closest(`[data-theme-editor-panel]`)&&!e.closest(`#${q}, #${Y}`))}function Oe(e,t){if(e.includes(`:`))return null;for(let n of he[t])if(e.startsWith(n))return me[e.slice(n.length).split(`/`,1)[0]??``]??null;return null}function ke(e){for(let t of ue)for(let n of e.classList){let e=Oe(n,t);if(e)return e}return null}function Ae(e){let t=[],n=e;for(;n&&n!==document.documentElement;)n.closest(`[data-theme-editor-panel]`)||t.push(n),n=n.parentElement;return t}function je(e){if(e.closest(`[data-theme-editor-panel]`))return null;for(let t of Ae(e)){let e=ke(t);if(e)return{element:t,role:e}}return null}function Me(e){performance.now(),ge(G);let t=De(),n=performance.now(),r=Te(()=>{let n=new Map;for(let e of t){let t=Q(e);t&&n.set(e,t)}let r=$(e),i=new Set;try{for(let[e,t]of n){let n=Q(e);n&&we(t,n).length>0&&i.add(e)}}finally{r()}return i});performance.now()-n;let i=new Set;for(let e of r)i.add(e instanceof SVGElement?e.closest(`svg`)??e:e);for(let e of i)e.setAttribute(G,``);return xe([...i]),i.size}function Ne(e){if(e.closest(`[data-theme-editor-panel]`))return null;let t=Ae(e),n=je(e);if(n)return n;let r=Te(()=>{let e=new Map,n=new Map;for(let n of t){let t=Q(n,{forHitTest:!0});t&&e.set(n,t)}for(let t of b){let r=Ee(t);try{for(let[r,i]of e){let e=Q(r,{forHitTest:!0});if(!e)continue;let a=n.get(r)??{};for(let n of we(i,e))a[n]??=t;n.set(r,a)}}finally{r()}}return n});for(let e of t){let t=r.get(e);if(t)for(let n of ue){let r=t[n];if(r)return{element:e,role:r}}}return null}var Pe=[`canvas`,`accent`],Fe=[{id:`foundation`,title:`Foundation`,families:[{id:`background`,label:`Background`,role:`canvas`,roles:[`canvas`,`chrome`,`toolbar`]},{id:`surface`,label:`Surface`,role:`surface`,roles:[`surface`]},{id:`raised-surface`,label:`Raised surface`,role:`surfaceRaised`,roles:[`surfaceRaised`]},{id:`overlay`,label:`Overlay`,role:`surfaceOverlay`,roles:[`surfaceOverlay`]},{id:`text`,label:`Text`,role:`text`,roles:[`text`,`toolbarForeground`,`toolbarControlForeground`]},{id:`muted-text`,label:`Muted text`,role:`mutedForeground`,roles:[`textMuted`,`mutedForeground`,`placeholder`,`secondaryLabel`,`iconMuted`,`sidebarMutedForeground`]},{id:`border`,label:`Border`,role:`border`,roles:[`border`,`toolbarBorder`,`sidebarBorder`]},{id:`input`,label:`Input`,role:`input`,roles:[`input`]}]},{id:`brand-content`,title:`Brand & content`,families:[{id:`subtle-surface`,label:`Subtle surface`,role:`secondary`,roles:[`secondary`,`secondaryForeground`,`muted`,`toolbarControl`]},{id:`highlight-surface`,label:`Highlight surface`,role:`accentSurface`,roles:[`accentSurface`,`accentSurfaceForeground`,`toolbarControlHover`]},{id:`accent`,label:`Accent`,role:`accent`,roles:[`accent`,`accentForeground`,`focus`,`update`,`updateForeground`,`updateSurface`,`terminalCursor`]},{id:`action`,label:`Action`,role:`messageAction`,roles:[`messageAction`,`messageActionForeground`,`messageActionHover`]},{id:`message-surface`,label:`Message surface`,role:`messageSurface`,roles:[`messageSurface`,`messageForeground`]},{id:`code-surface`,label:`Code surface`,role:`codeBackground`,roles:[`codeBackground`,`codeForeground`]}]},{id:`search`,title:`Search`,families:[{id:`search-matches`,label:`Search matches`,role:`searchMatchBackground`,roles:[`searchMatchBackground`,`searchMatchForeground`]},{id:`current-match`,label:`Current match`,role:`searchMatchActiveBackground`,roles:[`searchMatchActiveBackground`,`searchMatchActiveForeground`]}]},{id:`context`,title:`Context`,families:[{id:`sidebar-background`,label:`Sidebar background`,role:`sidebar`,roles:[`sidebar`,`sidebarForeground`]},{id:`sidebar-controls`,label:`Sidebar controls`,role:`sidebarControlSurface`,roles:[`sidebarControlSurface`]},{id:`sidebar-selection`,label:`Sidebar selection`,role:`sidebarRowSelected`,roles:[`sidebarRowHover`,`sidebarRowActive`,`sidebarRowSelected`]},{id:`terminal-background`,label:`Terminal background`,role:`terminalBackground`,roles:[`terminalBackground`,`terminalForeground`,`terminalSelection`,`terminalScrollbar`,`terminalScrollbarHover`]}]},{id:`status`,title:`Status`,families:[{id:`error`,label:`Error`,role:`error`,roles:[`error`,`errorForeground`,`errorSurface`]},{id:`warning`,label:`Warning`,role:`warning`,roles:[`warning`,`warningForeground`,`warningSurface`]}]}],Ie=Fe.flatMap(e=>e.families),Le=new Map(Ie.flatMap(e=>e.roles.map(t=>[t,e])));function Re(e){return Le.get(e)??null}function ze(e){return{...w(e)}}function Be(){return{light:ze(`light`),dark:ze(`dark`)}}function Ve(e){return _(e.trim())}function He(e,t){let n=w(e);return C(e,Ve(t.canvas)?t.canvas:n.canvas,Ve(t.accent)?t.accent:n.accent)}function Ue({open:e,onOpenChange:t,onSaved:n,editingTheme:r,initialAppearance:g,seedTheme:_,seedName:S,restoreTheme:C}){let w=r!==null,[A,j]=(0,R.useState)(``),[M,N]=(0,R.useState)(g),[P,F]=(0,R.useState)(!1),[I,ae]=(0,R.useState)(()=>Be()),[V,oe]=(0,R.useState)({light:!1,dark:!1}),[se,ce]=(0,R.useState)(!1),[H,U]=(0,R.useState)(null),[W,ue]=(0,R.useState)(!1),[G,de]=(0,R.useState)(``),[K,fe]=(0,R.useState)(!1),[q,J]=(0,R.useState)(null),[pe,Y]=(0,R.useState)(null),[X,me]=(0,R.useState)(null),[he,ge]=(0,R.useState)(null),Z=(0,R.useRef)(null),ye=(0,R.useRef)(null),xe=(0,R.useRef)(null);(0,R.useEffect)(()=>{if(!e)return;let t=()=>{let e,t;ge(n=>n&&(e=Math.max(280,Math.min(n.width,window.innerWidth-16)),t=Math.max(220,Math.min(n.height,window.innerHeight-16)),{width:e,height:t})),me(n=>{if(!n)return n;let r=et(n.x,n.y,e),i=W?Z.current?.offsetHeight??0:t??Z.current?.offsetHeight??0,a=Math.max(8,window.innerHeight-i-8);return{x:r.x,y:Math.min(r.y,a)}})};return window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[W,e]);let[Ce,Q]=(0,R.useState)(!1),we=(0,R.useRef)(!1);(0,R.useEffect)(()=>{if(e&&!we.current){let e=r??_??null,t=Be(),n=e?x(e,g)?g:e.appearance:g;if(e){t[e.appearance]={...e.colors};for(let n of[`light`,`dark`]){let r=e.variants?.[n];r&&(t[n]={...r})}}j(r?.label??S??``),N(n),F(e!==null&&e.managed!==!0),oe({light:!1,dark:!1}),ce(e!==null&&e.managed!==!0),ae(t),J(null),Y(null),fe(!1),U(null),Q(!0)}!e&&Ce&&Q(!1),we.current=e},[r,g,Ce,e,S,_]);let Te=v(A),Ee=A.trim().toLowerCase(),$=Ee===``?null:ee().find(e=>e.id!==r?.id&&(e.id===Te||e.label.trim().toLowerCase()===Ee))??null,De=$?E($):[],Oe=r?E(r):null,ke=e=>Oe&&!Oe.includes(e)?`“${r?.label}” has no ${e} palette. Create a theme with the same name to add one.`:!w&&De.includes(e)?`“${$?.label}” already has a ${e} palette.`:null,Ae=$?.id??null,Ie=De.join(`,`);(0,R.useEffect)(()=>{if(w||Ae===null)return;let e=Ie.split(`,`).filter(Boolean);e.length===1&&N(t=>e.includes(t)?e[0]===`light`?`dark`:`light`:t)},[w,Ae,Ie]),(0,R.useEffect)(()=>{e&&Ce&&T(I[M],M)},[M,I,Ce,e]),(0,R.useEffect)(()=>{if(e)return()=>{C()}},[e,C]);let Le=(0,R.useCallback)((e,t)=>{ae(n=>{let r={...n[M],[e]:t},i=!P&&Pe.includes(e)&&Ve(t);return{...n,[M]:P?h(M,n[M],e,t):i?He(M,r):r}}),!P&&Pe.includes(e)&&Ve(t)&&oe(e=>({...e,[M]:!0})),P&&ce(!0)},[M,P]),ze=(0,R.useCallback)((e,t=!1)=>{let n=Re(e)?.role??e;J(n),Pe.includes(n)||(F(!0),de(``)),t&&requestAnimationFrame(()=>{Z.current?.querySelector(`[data-theme-color-role="${n}"]`)?.scrollIntoView({behavior:`smooth`,block:`nearest`})})},[]),Ue=(0,R.useCallback)(e=>{J(t=>t===e?null:e)},[]),We=(0,R.useCallback)(()=>{J(null),Y(null),fe(!1)},[]),Ge=(q?P?Re(q)?.roles??[q]:Pe.includes(q)?b.filter(e=>I[M][e].trim().toLowerCase()===I[M][q].trim().toLowerCase()):[q]:[]).join(`,`);(0,R.useEffect)(()=>{if(_e(),!e||q===null){Y(null);return}if(K)return;let t=Ge.split(`,`),n=()=>Y(Me(t));n();let r=null,i=null,a=performance.now(),o=()=>{if(r!==null||i!==null)return;let e=Math.max(0,500-(performance.now()-a)),t=()=>{r=null,i=null,a=performance.now(),n()};e===0?r=requestAnimationFrame(t):i=setTimeout(t,e)},s=new MutationObserver(e=>{e.every(e=>e.target instanceof Element&&(e.target.closest(`#theme-inspector-spotlight`)||e.target.closest(`[data-theme-editor-panel]`)))||o()});s.observe(document.body,{childList:!0,subtree:!0});let c=null,l=()=>{c??=requestAnimationFrame(()=>{c=null,Se()})};return window.addEventListener(`resize`,l),window.addEventListener(`scroll`,l,!0),()=>{s.disconnect(),r!==null&&cancelAnimationFrame(r),i!==null&&clearTimeout(i),c!==null&&cancelAnimationFrame(c),window.removeEventListener(`resize`,l),window.removeEventListener(`scroll`,l,!0),_e()}},[K,e,Ge,q]),(0,R.useEffect)(()=>{if(!e||!K){ve();return}let t=!1,n=null,r=null,i=null,a=null,o=()=>{i!==null&&(window.clearTimeout(i),i=null)},s=()=>{o(),n=null,r=null,ve()},c=e=>{r=e,be(e,Re(e.role)?.label??B(e.role))},l=e=>{let t=e.target;if(!(t instanceof Element)||t.closest(`[data-theme-editor-panel]`)){s();return}o(),n=t,r=null;let a=je(t);if(a){c(a);return}ve(),i=window.setTimeout(()=>{if(i=null,n!==t||!t.isConnected)return;let e=Ne(t);e&&c(e)},140)},u=e=>{e.relatedTarget===null&&s()},d=e=>{let i=e.target;if(!(i instanceof Element)||i.closest(`[data-theme-editor-panel]`))return;e.preventDefault(),e.stopPropagation(),o();let a=n===i&&r?r:Ne(i);a&&(s(),ze(a.role,!0),t=!0)},f=e=>{let n=e.target;n instanceof Element&&!n.closest(`[data-theme-editor-panel]`)&&(e.preventDefault(),e.stopPropagation(),t&&fe(!1),t=!1)},p=e=>{e.key===`Escape`&&(e.preventDefault(),s(),We())},m=()=>{r&&(a??=requestAnimationFrame(()=>{a=null,r&&be(r,Re(r.role)?.label??B(r.role))}))},h=()=>s();return document.addEventListener(`pointerover`,l,!0),document.addEventListener(`pointerout`,u,!0),document.addEventListener(`pointerdown`,d,!0),document.addEventListener(`click`,f,!0),document.addEventListener(`keydown`,p,!0),window.addEventListener(`resize`,m),window.addEventListener(`scroll`,h,!0),()=>{document.removeEventListener(`pointerover`,l,!0),document.removeEventListener(`pointerout`,u,!0),document.removeEventListener(`pointerdown`,d,!0),document.removeEventListener(`click`,f,!0),document.removeEventListener(`keydown`,p,!0),window.removeEventListener(`resize`,m),window.removeEventListener(`scroll`,h,!0),o(),a!==null&&cancelAnimationFrame(a),ve()}},[We,K,e,ze]);let Ke=(0,R.useCallback)(e=>{if(F(e),e||(q&&!Pe.includes(q)&&J(null),!se))return;let t=r&&E(r).length>1?[`light`,`dark`]:[M];oe(e=>{let n={...e};for(let e of t)n[e]=!0;return n}),ae(e=>{let n={...e};for(let r of t)n[r]=He(r,e[r]);return n}),ce(!1)},[M,r,q,se]),qe=()=>{if(!A.trim()){U(`Name your theme first.`);return}try{let e=P?I:{light:V.light?He(`light`,I.light):I.light,dark:V.dark?He(`dark`,I.dark):I.dark},i,a=null,o=null;if(r&&$){let t=E(r),n=t.find(e=>De.includes(e));if(n){U(`“${$.label}” already has a ${n} palette. Pick another name.`);return}a=t[0]??null,i=y({...m({version:1,id:$.id,name:$.label,appearance:$.appearance,colors:$.colors,variants:{...$.variants,...Object.fromEntries(t.map(t=>[t,e[t]]))},...$.managed===!0&&!P?{managed:!0}:{}}),...$.collection?{collection:$.collection}:{}}),o=r;try{p(r.id)}catch(e){try{y($)}catch{}throw e}}else if(r){let t=r.appearance,n=t===`light`?`dark`:`light`;i=y({...m({version:1,id:r.id,name:A,appearance:t,colors:e[t],...E(r).length>1?{variants:{[n]:e[n]}}:{},...P?{}:{managed:!0}}),...r.collection?{collection:r.collection}:{}})}else if($){if(De.includes(M)){U(`“${$.label}” already has light and dark palettes. Pick another name.`);return}a=M,i=y({...m({version:1,id:$.id,name:$.label,appearance:$.appearance,colors:$.colors,variants:{...$.variants,[M]:e[M]},...$.managed===!0&&!P?{managed:!0}:{}}),...$.collection?{collection:$.collection}:{}})}else i=D(m({version:1,name:A,appearance:M,colors:e[M],...P?{}:{managed:!0}}));if(!n(i,{created:r===null&&a===null,...a?{mergedAppearance:a}:{}})){if(!r&&a===null)try{p(i.id)}catch{}else if($&&a!==null)try{y($),o&&D(o)}catch{}U(`Theme saved, but it could not be made active. Try again.`);return}t(!1)}catch(e){U(e instanceof Error?e.message:w?`Could not save the theme.`:`Could not create the theme.`)}},Je=()=>(0,z.jsxs)(`label`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`text-sm font-medium`,children:`Theme name`}),(0,z.jsx)(ie,{autoFocus:!0,size:`sm`,onChange:e=>{j(e.currentTarget.value),U(null)},placeholder:w?`Theme name`:`e.g. Aurora`,value:A})]}),Ye=e=>{let t=ke(e),n=(0,z.jsx)(k,{"aria-disabled":t!==null,value:e,children:e===`light`?`Light`:`Dark`});return t===null?n:(0,z.jsxs)(re,{children:[(0,z.jsx)(te,{render:n}),(0,z.jsx)(ne,{children:t})]})},Xe=()=>(0,z.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`text-sm font-medium`,children:`Appearance`}),(0,z.jsxs)(O,{"aria-label":`Theme appearance`,variant:`segmented`,value:[M],onValueChange:e=>{let t=e[0];(t===`light`||t===`dark`)&&ke(t)===null&&N(t)},children:[Ye(`light`),Ye(`dark`)]})]}),Ze=()=>(0,z.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_minmax(0,2fr)] items-start gap-3`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`h3`,{className:`text-sm font-medium`,children:`Colors`}),P?null:(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Two colors, rest derived`})]}),(0,z.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[P?(0,z.jsx)(ie,{"aria-label":`Filter colors`,className:`min-w-0 flex-1`,onChange:e=>de(e.currentTarget.value),placeholder:`Filter colors`,size:`sm`,value:G}):null,(0,z.jsxs)(`label`,{className:`ml-auto flex shrink-0 cursor-pointer items-center gap-2 pt-0.5 text-sm font-medium`,children:[(0,z.jsx)(`span`,{children:`Advanced`}),(0,z.jsx)(L,{"aria-label":`Use advanced theme colors`,checked:P,onCheckedChange:e=>Ke(!!e)})]})]})]}),Qe=(e,t=`grid gap-2 sm:grid-cols-2`)=>(0,z.jsx)(`div`,{className:t,children:e.map(e=>(0,z.jsx)(le,{label:e.label,onChange:Le,onSelect:ze,onToggleSelected:Ue,role:e.role,selected:q===e.role,value:I[M][e.role]},e.id))}),$e=()=>{let e=G.trim().toLowerCase(),t=Fe.map(t=>({...t,families:t.families.filter(t=>!e||[t.label,...t.roles.map(e=>B(e))].join(` `).toLowerCase().includes(e))})).filter(e=>e.families.length>0);return P?(0,z.jsxs)(`div`,{className:`space-y-5`,children:[t.map(e=>(0,z.jsxs)(`section`,{className:`space-y-2`,children:[(0,z.jsx)(`h4`,{className:`text-sm font-medium text-foreground`,children:e.title}),Qe(e.families,`grid gap-1`)]},e.id)),t.length===0?(0,z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No matches.`}):null]}):(0,z.jsx)(`div`,{className:`grid gap-1`,children:Pe.map(e=>(0,z.jsx)(le,{onChange:Le,onSelect:ze,onToggleSelected:Ue,role:e,label:e===`canvas`?`Background`:`Accent`,selected:q===e,value:I[M][e]},e))})},et=(e,t,n)=>{let r=Z.current,i=n??r?.offsetWidth??0;return{x:Math.min(Math.max(e,8),Math.max(8,window.innerWidth-i-8)),y:Math.min(Math.max(t,8),Math.max(8,window.innerHeight-48))}},tt=e=>{if(e.target.closest(`button, input, a`))return;let t=Z.current?.getBoundingClientRect();t&&(ye.current={dx:e.clientX-t.x,dy:e.clientY-t.y},e.currentTarget.setPointerCapture(e.pointerId))},nt=e=>{let t=ye.current;t&&me(et(e.clientX-t.dx,e.clientY-t.dy))},rt=()=>{ye.current=null},it=e=>{let t=Z.current?.getBoundingClientRect();t&&(e.preventDefault(),X===null&&me(et(t.x,t.y)),xe.current={pointerX:e.clientX,pointerY:e.clientY,left:t.x,top:t.y,width:t.width,height:t.height},e.currentTarget.setPointerCapture(e.pointerId))},at=e=>{let t=xe.current;if(!t)return;let n=Math.max(280,window.innerWidth-8-t.left),r=Math.max(220,window.innerHeight-8-t.top);ge({width:Math.min(Math.max(t.width+e.clientX-t.pointerX,280),n),height:Math.min(Math.max(t.height+e.clientY-t.pointerY,220),r)})},ot=()=>{xe.current=null};return(0,z.jsxs)(`div`,{"aria-label":w?`Edit theme`:`Create theme`,className:l(`dialog-glass fixed z-[110] flex max-h-[min(42rem,calc(100dvh-6rem))] w-[min(26rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-xl border text-popover-foreground`,X===null&&`bottom-4 right-4`,W&&`max-h-none`),"data-theme-editor-panel":!0,ref:Z,role:`dialog`,style:{...X?{left:X.x,top:X.y}:{},...he?{width:he.width}:{},...he&&!W?{height:he.height,maxHeight:`calc(100dvh - 1rem)`}:{}},children:[(0,z.jsxs)(`div`,{className:`flex cursor-grab touch-none select-none items-center gap-1 border-b border-border/70 px-3 py-2 active:cursor-grabbing`,onPointerCancel:rt,onPointerDown:tt,onPointerMove:nt,onPointerUp:rt,children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,z.jsx)(`h2`,{className:`shrink-0 truncate text-sm font-medium`,children:w?`Edit theme`:`Create theme`}),W?null:(0,z.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:K?`Select an element · Esc to cancel`:q?`${P?Re(q)?.label??B(q):B(q)} · ${pe??0} ${pe===1?`use`:`uses`}`:`Select a color below`})]}),(0,z.jsxs)(re,{children:[(0,z.jsx)(te,{render:(0,z.jsxs)(s,{"aria-label":K?`Cancel inspecting app colors`:`Inspect app colors`,"aria-pressed":K,size:`xs`,variant:K?`secondary`:`ghost`,onClick:()=>{if(K){We();return}fe(!0)},children:[(0,z.jsx)(i,{}),K?`Cancel`:`Inspect`]})}),(0,z.jsx)(ne,{"data-theme-editor-panel":``,children:K?`Cancel and clear the selection`:`Pick a color from the app`})]}),(0,z.jsx)(s,{"aria-label":W?`Expand the theme editor`:`Minimize the theme editor`,size:`icon-xs`,variant:`ghost`,onClick:()=>ue(!W),children:(0,z.jsx)(d,{icon:W?f:u})}),(0,z.jsx)(s,{"aria-label":`Close the theme editor`,size:`icon-xs`,variant:`ghost`,onClick:()=>t(!1),children:(0,z.jsx)(c,{})})]}),W?null:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto py-3 pl-3 pr-1.5`,children:[Je(),H?(0,z.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:H}):null,Xe(),(0,z.jsxs)(`div`,{className:`space-y-3`,children:[Ze(),$e()]})]}),(0,z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border/70 px-3 py-2`,children:[(0,z.jsx)(s,{size:`sm`,variant:`ghost`,onClick:()=>t(!1),children:`Cancel`}),(0,z.jsx)(s,{disabled:!A.trim(),size:`sm`,onClick:qe,children:w?$?`Merge into “${$.label}”`:`Save changes`:$?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(o,{}),`Add ${M} palette`]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a,{}),`Create theme`]})})]}),(0,z.jsx)(`div`,{"aria-hidden":!0,className:`absolute bottom-0 right-0 z-10 flex size-5 cursor-se-resize touch-none select-none items-end justify-end p-1 text-muted-foreground/70`,onPointerCancel:ot,onPointerDown:it,onPointerMove:at,onPointerUp:ot,children:(0,z.jsx)(`svg`,{className:`size-2.5`,fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.2`,viewBox:`0 0 8 8`,children:(0,z.jsx)(`path`,{d:`M7 1 1 7M7 4.5 4.5 7`})})})]})]})}export{Ue as ThemeEditorPanel};
|
|
5
|
+
//# sourceMappingURL=ThemeEditorPanel-otrA-nTg.js.map
|