ryco-cli 0.1.10 → 0.1.12
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.cjs +1 -1
- package/dist/bin.mjs +1 -1
- package/dist/client/assets/AccountSettings-C3v2klAG.js +1 -0
- package/dist/client/assets/AiFocusSettings-BquKjnWf.js +1 -0
- package/dist/client/assets/AnimatedHeight-BIsV_Z3J.js +1 -0
- package/dist/client/assets/AppearanceSettings-CYbSApl4.js +1 -0
- package/dist/client/assets/{BranchToolbar.logic-C1Dh4xQW.js → BranchToolbar.logic-CmvD76Cw.js} +1 -1
- package/dist/client/assets/ChatRightPanel-DVxRdZWT.js +27 -0
- package/dist/client/assets/ChatThreadRouteView-DlgAAOCp.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-BnJURcy7.js +1 -0
- package/dist/client/assets/{CompositeItem-D-K93PI3.js → CompositeItem-F3NGn6aG.js} +1 -1
- package/dist/client/assets/CompositeRoot-CmJGfRtc.js +1 -0
- package/dist/client/assets/ConnectionsSettings-Ccn8q4fG.js +7 -0
- package/dist/client/assets/DiagnosticsSettings-QXpjXOrH.js +2 -0
- package/dist/client/assets/{DialogHandle-pL0RAsXa.js → DialogHandle-C4uSr9wX.js} +1 -1
- package/dist/client/assets/DialogPopup-Dck8r8Hn.js +1 -0
- package/dist/client/assets/DialogRoot-BpIvUdm7.js +1 -0
- package/dist/client/assets/{DialogTitle-BamZsRNz.js → DialogTitle-CCedPAjV.js} +1 -1
- package/dist/client/assets/{DialogTrigger-DR3vtVpa.js → DialogTrigger-CYJ7_YcV.js} +1 -1
- package/dist/client/assets/DialogViewport-D-CrTM-P.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-DFMY6O91.js +1 -0
- package/dist/client/assets/{GlassSurface-DTmaROoR.js → GlassSurface-C3IIWMu9.js} +1 -1
- package/dist/client/assets/HostedConnectionControls-BC4kVWTa.js +1 -0
- package/dist/client/assets/HostedHubRoot-pBGVub10.js +1 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-Df0oSrLR.js +1 -0
- package/dist/client/assets/HostedRelayTrustNotice-ffS_O2AX.js +1 -0
- package/dist/client/assets/Icons-CT3nd2MA.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-BHyy-VM0.js +1 -0
- package/dist/client/assets/KeybindingsSettings-BfkONqmZ.js +7 -0
- package/dist/client/assets/McpServersSettings-UthT1T80.js +6 -0
- package/dist/client/assets/MobileSheet-CkeG6_SP.js +1 -0
- package/dist/client/assets/NewWorktreeDialog-DTZnArOC.js +4 -0
- package/dist/client/assets/NoActiveThreadState-jcEAWu7N.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-DPqjRphc.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-BSy3F4v6.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-B2mrJtgM.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-B8vfJdZd.js +1 -0
- package/dist/client/assets/PhoneHome-C-ttaKuE.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-CJddundi.js +1 -0
- package/dist/client/assets/ProjectFavicon-BhQnkxbx.js +1 -0
- package/dist/client/assets/ProviderModelPicker-COg6CGM4.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-C3aPyCrN.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-CxtaUiKH.js +1 -0
- package/dist/client/assets/RootAppShell-3T2sBtpP.js +6 -0
- package/dist/client/assets/RycoLetterMark-Bk0kvGJ_.js +1 -0
- package/dist/client/assets/SettingsDialog-krsStFrf.js +1 -0
- package/dist/client/assets/SettingsPanels-D8Xy3pPC.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-B2x4U4rW.js +1 -0
- package/dist/client/assets/SourceControlSettings-KIx9EfEZ.js +1 -0
- package/dist/client/assets/StatisticsPage-C38pI2_b.js +1 -0
- package/dist/client/assets/StatisticsPanel-6sINT28-.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-Cx43bOeo.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-CL0KGLlj.js +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-BYQ6EMgr.js → ThreadTerminalDrawer-C4NJu8Qs.js} +3 -3
- package/dist/client/assets/{ThreadWorkspacePanel-DuaQ9DMj.js → ThreadWorkspacePanel-D9qlHXCA.js} +18 -18
- package/dist/client/assets/{ToolbarRootContext-Cp1bgmpz.js → ToolbarRootContext-BgqqXVly.js} +1 -1
- package/dist/client/assets/{WorkItemsTab-BDfun24H.js → WorkItemsTab-BDAeQe4D.js} +8 -8
- package/dist/client/assets/alert-LqMhbdE9.js +1 -0
- package/dist/client/assets/alert-dialog-DxoA6ky8.js +1 -0
- package/dist/client/assets/badge-CXw6fWrB.js +1 -0
- package/dist/client/assets/{branding-yW_ACj9l.js → branding-DeKsIp6g.js} +1 -1
- package/dist/client/assets/button-BAbJxRzt.js +1 -0
- package/dist/client/assets/{capabilities-j43xmCXg.js → capabilities-BkVqeGLQ.js} +1 -1
- package/dist/client/assets/collapsible-dxy6kc2k.js +1 -0
- package/dist/client/assets/command-CGNKG_Oe.js +1 -0
- package/dist/client/assets/composerDraftStore-CdJJZe42.js +11 -0
- package/dist/client/assets/data-list-CYKBxN62.js +1 -0
- package/dist/client/assets/{desktopUpdateAtoms-Cy06xm8M.js → desktopUpdateAtoms-B9iJXSdW.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-Cw4Fu0Dd.js → desktopWorkspace-B-cSBe8H.js} +1 -1
- package/dist/client/assets/{device-hx7RX9fI.js → device-DfIh5pQV.js} +12 -12
- package/dist/client/assets/dialog-DQsYchqu.js +1 -0
- package/dist/client/assets/draft-input-CkzOk8BY.js +1 -0
- package/dist/client/assets/{editorPreferences-C3i2Nkh2.js → editorPreferences-0DWMgcci.js} +1 -1
- package/dist/client/assets/empty-DwzqNgCP.js +1 -0
- package/dist/client/assets/{getPseudoElementBounds-NLvUMZyQ.js → getPseudoElementBounds-X62ElHN8.js} +1 -1
- package/dist/client/assets/group-D9ER9giz.js +1 -0
- package/dist/client/assets/{index-COc-h_V9.js → index-Bntnmu6O.js} +1 -1
- package/dist/client/assets/input-CHEwW3oH.js +1 -0
- package/dist/client/assets/kbd-DCGQZk18.js +1 -0
- package/dist/client/assets/{keybindings-BCns_TPr.js → keybindings-CWJ7E9ZI.js} +1 -1
- package/dist/client/assets/label-CVFHsLFO.js +1 -0
- package/dist/client/assets/{lib-BBbQoz14.js → lib-qiiNMGgU.js} +1 -1
- package/dist/client/assets/{main-9Wu8G64Y.js → main-BjVnVob0.js} +3 -3
- package/dist/client/assets/menu-Dvxh8sD5.js +1 -0
- package/dist/client/assets/popover-CuH9Yrj3.js +1 -0
- package/dist/client/assets/{projectPaths-DSRhOXwD.js → projectPaths-SSsIvt0g.js} +1 -1
- package/dist/client/assets/{providerDriverMeta-DcAmgw5o.js → providerDriverMeta-I0TSo-QI.js} +1 -1
- package/dist/client/assets/providerIconUtils-CzSa_16f.js +1 -0
- package/dist/client/assets/providerInstances-BJcfB_9E.js +1 -0
- package/dist/client/assets/providerModels-BJcfB_9E.js +1 -0
- package/dist/client/assets/qr-code-Bddq6K7S.js +1 -0
- package/dist/client/assets/radio-group-CBZFr4C8.js +2 -0
- package/dist/client/assets/resolveAriaLabelledBy-CD_ugzhJ.js +1 -0
- package/dist/client/assets/{rightPanelRouteSearch-DE_7uWlN.js → rightPanelRouteSearch-DB5gQGHK.js} +1 -1
- package/dist/client/assets/runtime-DfGHeCnR.js +1 -0
- package/dist/client/assets/scroll-area-Drsa8bNB.js +1 -0
- package/dist/client/assets/scrollEdges-B-cqxY4l.js +1 -0
- package/dist/client/assets/select-BYbVr-yg.js +1 -0
- package/dist/client/assets/separator-CdS5bi4Z.js +1 -0
- package/dist/client/assets/{session-logic-DOQPF0oN.js → session-logic-wxhvMgEN.js} +1 -1
- package/dist/client/assets/settingsDialogStore-ygYoScKe.js +1 -0
- package/dist/client/assets/settingsLayout-D8glO7f1.js +1 -0
- package/dist/client/assets/sheet-BO78gIKZ.js +1 -0
- package/dist/client/assets/sidebar-Dm6l2GA6.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-CGVDJ0ZT.js +4 -0
- package/dist/client/assets/{sidebarStatusText-DaNVnBiR.js → sidebarStatusText-D0HT0fek.js} +1 -1
- package/dist/client/assets/skeleton-CvQSeJbw.js +1 -0
- package/dist/client/assets/spinner-ClF0jOcX.js +1 -0
- package/dist/client/assets/storeSelectors-Bpr2pdhU.js +1 -0
- package/dist/client/assets/switch-BTGo9Yip.js +1 -0
- package/dist/client/assets/{terminal-links-BaX-ICJT.js → terminal-links-CZ3c9AbA.js} +1 -1
- package/dist/client/assets/textarea-RFPODxWW.js +1 -0
- package/dist/client/assets/{threadPriorityRefreshRuntime-DqqfcbZE.js → threadPriorityRefreshRuntime-tRDgvBzr.js} +1 -1
- package/dist/client/assets/toast-CcSCAm4B.js +1 -0
- package/dist/client/assets/toggle-I6h33Cu5.js +1 -0
- package/dist/client/assets/toggle-group-mLIkiJtU.js +1 -0
- package/dist/client/assets/tooltip-C8sAONBj.js +1 -0
- package/dist/client/assets/types-Bpr2pdhU.js +1 -0
- package/dist/client/assets/{uiStateStore-VVodpTkG.js → uiStateStore-B6pjzSjj.js} +1 -1
- package/dist/client/assets/{useAtlassian-DzQhYzCz.js → useAtlassian-DC0XOw4u.js} +0 -0
- package/dist/client/assets/{useButton-CQaIys_r.js → useButton-D__1LqCF.js} +1 -1
- package/dist/client/assets/useCompositeListItem-Cmr_nuuG.js +1 -0
- package/dist/client/assets/{useDebouncedValue-Dl2JtWSe.js → useDebouncedValue-DHjoudTq.js} +1 -1
- package/dist/client/assets/{useFloatingRootContext-DKAeq7FI.js → useFloatingRootContext-D5EZmrCa.js} +1 -1
- package/dist/client/assets/{useHandleNewThread-CzfIpG9Y.js → useHandleNewThread-Bvz-DKgn.js} +1 -1
- package/dist/client/assets/{useLabelableId-C7EOshps.js → useLabelableId-DnQJ7amm.js} +1 -1
- package/dist/client/assets/useLocation-CDeYzWW6.js +1 -0
- package/dist/client/assets/{useOpenInteractionType-D9ngong8.js → useOpenInteractionType-CjtpACKR.js} +1 -1
- package/dist/client/assets/usePhoneThreadActions-CAgIq9aZ.js +1 -0
- package/dist/client/assets/usePopupViewport-BuhsNdVy.js +1 -0
- package/dist/client/assets/useScrollLock-D3tMGsRk.js +1 -0
- package/dist/client/assets/{useStatistics-CP8uxvx6.js → useStatistics-CiLROMJP.js} +14 -14
- package/dist/client/assets/{useSwipeDismiss-DESLmDpT.js → useSwipeDismiss-CbgDJvw1.js} +1 -1
- package/dist/client/assets/{useThreadActions-fOb3ApmL.js → useThreadActions-Vew3ScxG.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-DkAmJBLw.js → useTriggerFocusGuards-CrugmkhX.js} +1 -1
- package/dist/client/assets/{useValueChanged-CSGMZCwN.js → useValueChanged-MQtIzPIU.js} +1 -1
- package/dist/client/assets/utils-BofFIn5Y.js +1 -0
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-CxbiGHT-.js +0 -1
- package/dist/client/assets/AiFocusSettings-Cx2vpGdu.js +0 -1
- package/dist/client/assets/AnimatedHeight-D5lUTPRn.js +0 -1
- package/dist/client/assets/AppearanceSettings-eWri4YVm.js +0 -1
- package/dist/client/assets/ChatRightPanel-DAVHrLN_.js +0 -27
- package/dist/client/assets/ChatThreadRouteView-D11uiGPL.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-DDXuLFyX.js +0 -1
- package/dist/client/assets/CompositeRoot-Cee5L4T9.js +0 -1
- package/dist/client/assets/ConnectionsSettings-Cf1RRkcn.js +0 -7
- package/dist/client/assets/DiagnosticsSettings-R00QjM1b.js +0 -2
- package/dist/client/assets/DialogPopup-DqvvwMxX.js +0 -1
- package/dist/client/assets/DialogRoot-BZCu6XdB.js +0 -1
- package/dist/client/assets/DialogViewport-CuRGvCfw.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-CGMtPPGt.js +0 -1
- package/dist/client/assets/HostedConnectionControls-CXiER4OL.js +0 -1
- package/dist/client/assets/HostedHubRoot-MbaWk1RQ.js +0 -1
- package/dist/client/assets/HostedNativeAuthorizationRoute-DQ71L_yc.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-Cv7T3mW5.js +0 -1
- package/dist/client/assets/Icons-DjUJVKIP.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-BUDT_BAr.js +0 -1
- package/dist/client/assets/KeybindingsSettings-DpU1kPiV.js +0 -7
- package/dist/client/assets/McpServersSettings-DQqM_vIq.js +0 -6
- package/dist/client/assets/MobileSheet-PksVmYO6.js +0 -1
- package/dist/client/assets/NewWorktreeDialog-CAe3UUk5.js +0 -4
- package/dist/client/assets/NoActiveThreadState-B020r2KX.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-DlVOOlej.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-DMshW6cD.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-BCO-RNVk.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-CkHNzjRm.js +0 -1
- package/dist/client/assets/PhoneHome-DY2ItxYl.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-DTP9FXLL.js +0 -1
- package/dist/client/assets/ProjectFavicon-Dopa4Rxy.js +0 -1
- package/dist/client/assets/ProviderModelPicker-ChoxerzY.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-Ubea3yAA.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-CdVeknPX.js +0 -1
- package/dist/client/assets/RootAppShell-BkUPk443.js +0 -6
- package/dist/client/assets/RycoLetterMark-GW-n9UxM.js +0 -1
- package/dist/client/assets/SettingsDialog-DMPrhOeR.js +0 -1
- package/dist/client/assets/SettingsPanels-ChP1z6Bu.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-CiyAxlms.js +0 -1
- package/dist/client/assets/SourceControlSettings-8w3XlkuZ.js +0 -1
- package/dist/client/assets/StatisticsPage-D4lU63rD.js +0 -1
- package/dist/client/assets/StatisticsPanel-C2yBieuM.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-DZwvRI-Y.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-B43wkv-s.js +0 -0
- package/dist/client/assets/alert-DdU9OGtC.js +0 -1
- package/dist/client/assets/alert-dialog-zAmnOpaF.js +0 -1
- package/dist/client/assets/badge-CNPL77i3.js +0 -1
- package/dist/client/assets/button-CXfaxtRp.js +0 -1
- package/dist/client/assets/collapsible-oJfDmFRs.js +0 -1
- package/dist/client/assets/command-DK1D8p4-.js +0 -1
- package/dist/client/assets/composerDraftStore-BaAeiPHc.js +0 -11
- package/dist/client/assets/data-list-BpzwKa1z.js +0 -1
- package/dist/client/assets/dialog-JVv-MNDj.js +0 -1
- package/dist/client/assets/draft-input-CxoGkZxM.js +0 -1
- package/dist/client/assets/empty-DhkXzm1N.js +0 -1
- package/dist/client/assets/group-CafmSbGU.js +0 -1
- package/dist/client/assets/input-Bz9pd_f3.js +0 -1
- package/dist/client/assets/kbd-qh5s29Yp.js +0 -1
- package/dist/client/assets/label-Ct6uH6qL.js +0 -1
- package/dist/client/assets/menu-DL-18Hfn.js +0 -1
- package/dist/client/assets/popover-C9y_0-ZN.js +0 -1
- package/dist/client/assets/providerIconUtils-DSXSWHwg.js +0 -1
- package/dist/client/assets/providerInstances-D5NRn-MS.js +0 -1
- package/dist/client/assets/providerModels-D5NRn-MS.js +0 -1
- package/dist/client/assets/qr-code-DsN9sWfN.js +0 -1
- package/dist/client/assets/radio-group-DGUZYMAN.js +0 -2
- package/dist/client/assets/resolveAriaLabelledBy-l3Wj7Mso.js +0 -1
- package/dist/client/assets/runtime-CqhG6EOG.js +0 -1
- package/dist/client/assets/scroll-area-gtur6NxN.js +0 -1
- package/dist/client/assets/scrollEdges-Ccq9Jqpk.js +0 -1
- package/dist/client/assets/select-BB7zCkpA.js +0 -1
- package/dist/client/assets/separator-DOGIr29S.js +0 -1
- package/dist/client/assets/settingsDialogStore-DM98Sea0.js +0 -1
- package/dist/client/assets/settingsLayout-CS7P71tz.js +0 -1
- package/dist/client/assets/sheet-DVALF6mw.js +0 -1
- package/dist/client/assets/sidebar-Dft4bIEi.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-BOfJCYjK.js +0 -4
- package/dist/client/assets/skeleton-CBHDWLDX.js +0 -1
- package/dist/client/assets/spinner-JhkVC8d7.js +0 -1
- package/dist/client/assets/storeSelectors-CP3vrsGY.js +0 -1
- package/dist/client/assets/switch-vkC1QGDn.js +0 -1
- package/dist/client/assets/textarea-Cz_x76EQ.js +0 -1
- package/dist/client/assets/toast-Bnfw8LOb.js +0 -1
- package/dist/client/assets/toggle-DNtHlm45.js +0 -1
- package/dist/client/assets/toggle-group-BNtjyirT.js +0 -1
- package/dist/client/assets/tooltip-lYatfjuN.js +0 -1
- package/dist/client/assets/types-CP3vrsGY.js +0 -1
- package/dist/client/assets/useCompositeListItem-D_u_nlWz.js +0 -1
- package/dist/client/assets/useLocation-CvhfNIUj.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-CiFBnOHD.js +0 -1
- package/dist/client/assets/usePopupViewport-CQTeg5Y-.js +0 -1
- package/dist/client/assets/useScrollLock-TdF-Iq8H.js +0 -1
- package/dist/client/assets/utils-BPUctpTG.js +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{g as r}from"./env-B4arEvJg.js";import{Jt as i,Vt as a,h as o,hn as s}from"./runtime-DfGHeCnR.js";import{It as c}from"./composerDraftStore-CdJJZe42.js";import{Qn as l}from"./usePopupViewport-BuhsNdVy.js";import{c as u,l as d}from"./ThreadStatusIndicators-CL0KGLlj.js";import{f}from"./useRenderElement-DchFnsR8.js";import{t as p}from"./chevron-down-B7C6FKzM.js";import{M as m,a as h,b as g,d as _,g as v,h as y,i as b,j as x,m as S,t as C,u as w,v as T,x as E}from"./WorkItemsTab-BDAeQe4D.js";import{t as D}from"./git-branch-BKr-Ij4u.js";import{t as O}from"./sparkles-CAf3oJ5S.js";import{t as k}from"./shallow-DWZCFNun.js";import{t as A}from"./utils-BofFIn5Y.js";import{o as j,p as M}from"./keybindings-CWJ7E9ZI.js";import{t as N}from"./react-dom-x9LNwWQc.js";import{a as ee,c as P,d as te,f as ne,l as re,o as ie,p as ae,s as oe}from"./providerIconUtils-CzSa_16f.js";import{t as se}from"./input-CHEwW3oH.js";import{r as ce}from"./Icons-CT3nd2MA.js";import{t as F}from"./button-BAbJxRzt.js";import{a as le,c as ue,i as de,o as fe,r as pe,s as me,t as he}from"./dialog-DQsYchqu.js";var ge=f(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),_e=f(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),I=n(),L=e(t(),1),R=c();function ve(e){let t=(0,I.c)(23),[n,r]=(0,L.useState)(null),i;t[0]===e?i=t[1]:(i=()=>e.onOpenChange(!1),t[0]=e,t[1]=i);let a=i,o;t[2]===e?o=t[3]:(o=t=>{t||r(null),e.onOpenChange(t)},t[2]=e,t[3]=o);let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{r({kind:`issue`,number:e})},t[4]=c):c=t[4];let l=c,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{r({kind:`pr`,number:e})},t[5]=u):u=t[5];let d=u,f;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{r(null)},t[6]=f):f=t[6];let p=f,m=e.item,h=m?.kind===`pr`?`Pull request #${m.number}`:m?.kind===`issue`?`Issue #${m.number}`:m?.kind===`workItem`?m.key:`Linked item`,g;t[7]===h?g=t[8]:(g=(0,R.jsx)(ue,{className:`sr-only`,children:h}),t[7]=h,t[8]=g);let v;t[9]!==a||t[10]!==m||t[11]!==n||t[12]!==e.cwd||t[13]!==e.environmentId||t[14]!==e.projectId?(v=m===null?null:n===null?m.kind===`workItem`?(0,R.jsx)(_,{environmentId:e.environmentId,projectId:e.projectId,cwd:e.cwd,workItemKey:m.key,onBack:a,onSelectLinkedChangeRequest:d}):m.kind===`pr`?(0,R.jsx)(T,{environmentId:e.environmentId,cwd:e.cwd,pullRequestNumber:m.number,onBack:a,onSelectLinkedIssue:l,onSelectPullRequest:d}):(0,R.jsx)(E,{environmentId:e.environmentId,cwd:e.cwd,issueNumber:m.number,onBack:a,onSelectLinkedChangeRequest:d}):n.kind===`issue`?(0,R.jsx)(E,{environmentId:e.environmentId,cwd:e.cwd,issueNumber:n.number,onBack:p,onSelectLinkedChangeRequest:d}):(0,R.jsx)(T,{environmentId:e.environmentId,cwd:e.cwd,pullRequestNumber:n.number,onBack:p,onSelectLinkedIssue:l,onSelectPullRequest:d}),t[9]=a,t[10]=m,t[11]=n,t[12]=e.cwd,t[13]=e.environmentId,t[14]=e.projectId,t[15]=v):v=t[15];let y;t[16]!==g||t[17]!==v?(y=(0,R.jsxs)(me,{className:`project-glass-surface flex h-[92vh] max-h-[1120px] w-[96vw] max-w-[1440px] flex-col overflow-hidden p-0 phone:h-[100dvh] phone:w-screen`,surface:`glass`,children:[g,v]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let b;return t[19]!==s||t[20]!==e.open||t[21]!==y?(b=(0,R.jsx)(he,{open:e.open,onOpenChange:s,children:y}),t[19]=s,t[20]=e.open,t[21]=y,t[22]=b):b=t[22],b}function ye(e){let t=(0,I.c)(16),n=e.prNumber??null,r=e.displayMode===`prefer-pr`&&n!==null?null:e.issueNumber??null,i=e.workItemProvider===`jira`?e.workItemKey??null:null;if(r===null&&n===null&&i===null)return null;let a;t[0]===e.className?a=t[1]:(a=A(`inline-flex shrink-0 items-center gap-1`,e.className),t[0]=e.className,t[1]=a);let o;t[2]!==e||t[3]!==i?(o=i===null?null:(0,R.jsx)(be,{itemKey:i,state:e.workItemState??null,stateName:e.workItemStateName??null,density:e.density??`compact`,onClick:e.onOpenLinkedItem?()=>e.onOpenLinkedItem?.({kind:`workItem`,provider:`jira`,key:i}):void 0}),t[2]=e,t[3]=i,t[4]=o):o=t[4];let s;t[5]!==r||t[6]!==e?(s=r===null?null:(0,R.jsx)(xe,{variant:d({kind:`issue`,state:e.issueState??null}),number:r,kind:`issue`,kindLabel:`Issue`,displayLabel:e.labelStyle===`kind`?`Issue #${r}`:`#${r}`,density:e.density??`compact`,onClick:e.onOpenLinkedItem?()=>e.onOpenLinkedItem?.({kind:`issue`,number:r}):void 0}),t[5]=r,t[6]=e,t[7]=s):s=t[7];let c;t[8]!==n||t[9]!==e?(c=n===null?null:(0,R.jsx)(xe,{variant:d({kind:`pr`,state:e.prState??null,isDraft:e.prIsDraft??null}),number:n,kind:`pr`,kindLabel:`Pull request`,displayLabel:e.labelStyle===`kind`?`PR #${n}`:`#${n}`,density:e.density??`compact`,onClick:e.onOpenLinkedItem?()=>e.onOpenLinkedItem?.({kind:`pr`,number:n}):void 0}),t[8]=n,t[9]=e,t[10]=c):c=t[10];let l;return t[11]!==a||t[12]!==o||t[13]!==s||t[14]!==c?(l=(0,R.jsxs)(`span`,{className:a,children:[o,s,c]}),t[11]=a,t[12]=o,t[13]=s,t[14]=c,t[15]=l):l=t[15],l}function be(e){let t=(0,I.c)(28),n=e.density===`header`?`inline-flex h-5 shrink-0 items-center justify-center gap-1 rounded-md border px-1.5 text-[10px] font-semibold tabular-nums leading-none`:`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,r=e.density===`header`?`size-3`:`size-2.5`,i;t[0]!==e.state||t[1]!==e.stateName?(i=e.state?w({state:e.state,stateName:e.stateName}):null,t[0]=e.state,t[1]=e.stateName,t[2]=i):i=t[2];let a=i,o=`Jira ${e.itemKey}${a?` — ${a}`:``}`;if(e.onClick){let i;t[3]===e?i=t[4]:(i=t=>{t.preventDefault(),t.stopPropagation(),e.onClick?.()},t[3]=e,t[4]=i);let a=i,s;t[5]===n?s=t[6]:(s=A(n,`border-violet-500/20 bg-violet-500/10 text-violet-600 dark:text-violet-300`,`cursor-pointer hover:brightness-125 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-current`),t[5]=n,t[6]=s);let c;t[7]===r?c=t[8]:(c=(0,R.jsx)(ce,{className:r}),t[7]=r,t[8]=c);let l;t[9]===e.itemKey?l=t[10]:(l=(0,R.jsx)(`span`,{children:e.itemKey}),t[9]=e.itemKey,t[10]=l);let u;return t[11]!==a||t[12]!==s||t[13]!==c||t[14]!==l||t[15]!==o?(u=(0,R.jsxs)(`button`,{type:`button`,className:s,title:o,"aria-label":o,"data-linked-worktree-item":`workItem`,onClick:a,children:[c,l]}),t[11]=a,t[12]=s,t[13]=c,t[14]=l,t[15]=o,t[16]=u):u=t[16],u}let s;t[17]===n?s=t[18]:(s=A(n,`border-violet-500/20 bg-violet-500/10 text-violet-600 dark:text-violet-300`),t[17]=n,t[18]=s);let c;t[19]===r?c=t[20]:(c=(0,R.jsx)(ce,{className:r}),t[19]=r,t[20]=c);let l;t[21]===e.itemKey?l=t[22]:(l=(0,R.jsx)(`span`,{children:e.itemKey}),t[21]=e.itemKey,t[22]=l);let u;return t[23]!==s||t[24]!==c||t[25]!==l||t[26]!==o?(u=(0,R.jsxs)(`span`,{className:s,title:o,"aria-label":o,"data-linked-worktree-item":`workItem`,children:[c,l]}),t[23]=s,t[24]=c,t[25]=l,t[26]=o,t[27]=u):u=t[27],u}function xe(e){let t=(0,I.c)(31),n=e.variant.Icon,r=e.variant.label?`${e.kindLabel} #${e.number} — ${e.variant.label}`:`${e.kindLabel} #${e.number}`,i=e.density===`header`?`inline-flex h-5 shrink-0 items-center justify-center gap-1 rounded-md border px-1.5 text-[10px] font-semibold tabular-nums leading-none`:`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,a=e.density===`header`?`size-3`:`size-2.5`;if(e.onClick){let o;t[0]===e?o=t[1]:(o=t=>{t.preventDefault(),t.stopPropagation(),e.onClick?.()},t[0]=e,t[1]=o);let s=o,c;t[2]!==i||t[3]!==e.variant.compactClassName?(c=A(i,e.variant.compactClassName,`cursor-pointer hover:brightness-125 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-current`),t[2]=i,t[3]=e.variant.compactClassName,t[4]=c):c=t[4];let l;t[5]!==n||t[6]!==a?(l=(0,R.jsx)(n,{className:a}),t[5]=n,t[6]=a,t[7]=l):l=t[7];let u;t[8]===e.displayLabel?u=t[9]:(u=(0,R.jsx)(`span`,{children:e.displayLabel}),t[8]=e.displayLabel,t[9]=u);let d;return t[10]!==s||t[11]!==e.kind||t[12]!==c||t[13]!==l||t[14]!==u||t[15]!==r?(d=(0,R.jsxs)(`button`,{type:`button`,className:c,title:r,"aria-label":r,"data-linked-worktree-item":e.kind,onClick:s,children:[l,u]}),t[10]=s,t[11]=e.kind,t[12]=c,t[13]=l,t[14]=u,t[15]=r,t[16]=d):d=t[16],d}let o;t[17]!==i||t[18]!==e.variant.compactClassName?(o=A(i,e.variant.compactClassName),t[17]=i,t[18]=e.variant.compactClassName,t[19]=o):o=t[19];let s;t[20]!==n||t[21]!==a?(s=(0,R.jsx)(n,{className:a}),t[20]=n,t[21]=a,t[22]=s):s=t[22];let c;t[23]===e.displayLabel?c=t[24]:(c=(0,R.jsx)(`span`,{children:e.displayLabel}),t[23]=e.displayLabel,t[24]=c);let l;return t[25]!==e.kind||t[26]!==o||t[27]!==s||t[28]!==c||t[29]!==r?(l=(0,R.jsxs)(`span`,{className:o,title:r,"aria-label":r,"data-linked-worktree-item":e.kind,children:[s,c]}),t[25]=e.kind,t[26]=o,t[27]=s,t[28]=c,t[29]=r,t[30]=l):l=t[30],l}var Se=l(),z=e(N(),1);(0,L.forwardRef)(function(e,t){return L.createElement(`div`,{ref:t,...e})});var Ce=(0,L.forwardRef)(function(e,t){return L.createElement(`div`,{ref:t,...e})}),B=Ce,V={OS:`web`};function H(e,t){return t===void 0?e:Math.max(0,Math.min(t,e))}function we(e,t){return t===void 0||!Number.isFinite(t)||!Number.isFinite(e.scrollLength)||t<=e.scrollLength?t!==void 0&&Number.isFinite(t)&&Number.isFinite(e.scrollLength)?0:void 0:Math.max(0,t-e.scrollLength)}function Te(){return`normal`}function Ee(e){return e?.horizontalRTLScrollType??Te()}function U(e){return e?.rtl??!1}function W(e){return De(e?.props)}function De(e){return!!e?.horizontal&&U(e)}function Oe(e){return e?.horizontal?(De(e)?e.stylePaddingLeft:e.stylePaddingRight)||0:e?.stylePaddingBottom||0}function ke(e,t){return t&&(W(e)?t.left:t.right)||0}function Ae(e,t,n,r){return!W(e)||r===void 0||!Number.isFinite(r)?t:Math.max(0,r-t-n)}function je(e,t,n){if(!e||!W(e))return t;let r=we(e,n),i=H(t,r),a=Ee(e);return a===`negative`?i===0?0:-i:a===`inverted`?r===void 0?i:H(r-i,r):i}function Me(e,t,n){if(!W(e))return e.horizontalRTLScrollType=void 0,t;let r=we(e,n);if(t<0)return e.horizontalRTLScrollType=`negative`,H(-t,r);if(r===void 0)return t;let i=t,a=r-t;if(!Number.isFinite(a))return e.horizontalRTLScrollType=`normal`,i;let o=e.horizontalRTLScrollType;if(o===`inverted`)return H(a,r);if(o===`normal`)return H(i,r);if(!e.hasScrolled)return e.horizontalRTLScrollType=Te(),H(i,r);let s=e.scroll,c=Math.abs(i-s),l=Math.abs(a-s)+.5<c;return e.horizontalRTLScrollType=l?`inverted`:`normal`,H(l?a:i,r)}var Ne=e=>e,Pe=L.createContext(null),Fe=`\0`,Ie=0;function Le({children:e}){let[t]=L.useState(()=>({animatedScrollY:Ne(0),columnWrapperStyle:void 0,containerLayoutTriggers:new Map,contextNum:Ie++,listeners:new Map,mapViewabilityAmountCallbacks:new Map,mapViewabilityAmountValues:new Map,mapViewabilityCallbacks:new Map,mapViewabilityConfigStates:new Map,mapViewabilityValues:new Map,pendingContainerIds:void 0,positionListeners:new Map,scrollAxisGap:0,state:void 0,values:new Map([[`alignItemsAtEndPadding`,0],[`containerLayoutEpoch`,0],[`stylePaddingTop`,0],[`headerSize`,0],[`numContainers`,0],[`activeStickyIndex`,-1],[`isAtEnd`,!1],[`isAtStart`,!1],[`isNearEnd`,!1],[`isNearStart`,!1],[`isWithinMaintainScrollAtEndThreshold`,!1],[`adaptiveRender`,`normal`],[`totalSize`,0],[`scrollAdjustPending`,0]]),viewRefs:new Map}));return L.createElement(Pe.Provider,{value:t},e)}function Re(){return L.useContext(Pe)}function ze(e,t){if(!e){let e=[];return{get:()=>e,subscribe:()=>()=>{}}}let n=[],r=[];return{get:()=>{let i=[],a=!1;for(let n=0;n<t.length;n++){let o=G(e,t[n]);i.push(o),o!==r[n]&&(a=!0)}return r=i,a&&(n=i),n},subscribe:n=>{let r=[];for(let i of t)r.push(He(e,i,n));return()=>{for(let e of r)e()}}}}function Be(e){return e.length===1?e[0]:e.join(Fe)}function Ve(e){return e.split(Fe)}function He(e,t,n){let{listeners:r}=e,i=r.get(t);return i||(i=new Set,r.set(t,i)),i.add(n),()=>i.delete(n)}function G(e,t){let{values:n}=e;return n.get(t)}function K(e,t,n){let{listeners:r,values:i}=e;if(i.get(t)!==n){i.set(t,n);let e=r.get(t);if(e)for(let t of e)t(n)}}function Ue(e,t,n){let{positionListeners:r}=e,i=r.get(t);return i||(i=new Set,r.set(t,i)),i.add(n),()=>i.delete(n)}function We(e,t,n){let{positionListeners:r}=e,i=r.get(t);if(i)for(let e of i)e(n)}function q(e){let t=L.useContext(Pe),n=Be(e),{subscribe:r,get:i}=L.useMemo(()=>ze(t,Ve(n)),[t,n]);return(0,Se.useSyncExternalStore)(r,i,i)}function Ge(e,t){let n=L.useContext(Pe),{subscribe:r,get:i}=L.useMemo(()=>ze(n,[e]),[n,e]),a=L.useCallback(()=>t(i()[0]),[i,t]);return(0,Se.useSyncExternalStore)(r,a,a)}function Ke(e){return Math.max(0,e??0)}function qe(e,t){let n=e.state,{props:r}=n,i=r.horizontal,a=r.contentInset??n.nativeContentInset,o=(i?ke(n,a):a?.bottom)||0,s=Ke(t??r.contentInsetEndAdjustment),c=G(e,`anchoredEndSpaceSize`),l=r.anchoredEndSpace&&c?c:0,u=n.contentInsetOverride??void 0,d=o+s;if(u){let e={bottom:0,left:0,right:0,...a,...u};return Math.max(((i?ke(n,e):e.bottom)||0)+s,l)}return Math.max(d,l)}function J(e){let{values:t,state:n}=e,r=n.props.horizontal?n.props.stylePaddingLeft||0:t.get(`stylePaddingTop`)||0,i=n.props.horizontal?n.props.stylePaddingRight||0:n.props.stylePaddingBottom||0,a=t.get(`alignItemsAtEndPadding`)||0,o=t.get(`headerSize`)||0,s=t.get(`footerSize`)||0,c=qe(e),l=n.pendingTotalSize??n.totalSize??t.get(`totalSize`),u=Math.max(0,l-(n.props.data.length>0?e.scrollAxisGap:0));return o+s+u+r+a+i+(c||0)}var Je=({children:e})=>L.createElement(Ce,{style:{alignItems:`center`,flexDirection:`row`,justifyContent:`space-between`}},e);L.memo(function(){let e=Re(),[t=0,n=0,r=0,i=0,a=0,o=0,s=!1]=q([`totalSize`,`scrollAdjust`,`debugRawScroll`,`debugComputedScroll`,`numContainers`,`numContainersPooled`,`isAtEnd`]),c=J(e),[,l]=(0,L.useReducer)(e=>e+1,0);return Ye(()=>{l()},100),L.createElement(Ce,{pointerEvents:`none`,style:{backgroundColor:`#FFFFFFCC`,borderRadius:4,padding:4,paddingBottom:4,paddingLeft:4,position:`absolute`,right:0,top:0}},L.createElement(Je,null,L.createElement(B,null,`TotalSize:`),L.createElement(B,null,t.toFixed(2))),L.createElement(Je,null,L.createElement(B,null,`ContentSize:`),L.createElement(B,null,c.toFixed(2))),L.createElement(Je,null,L.createElement(B,null,`At end:`),L.createElement(B,null,String(s))),L.createElement(Je,null,L.createElement(B,null,`ScrollAdjust:`),L.createElement(B,null,n.toFixed(2))),L.createElement(Je,null,L.createElement(B,null,`RawScroll: `),L.createElement(B,null,r.toFixed(2))),L.createElement(Je,null,L.createElement(B,null,`ComputedScroll: `),L.createElement(B,null,i.toFixed(2))))});function Ye(e,t){(0,L.useEffect)(()=>{let n=setInterval(e,t);return()=>clearInterval(n)},[t])}var Xe=!0,Ze=new WeakMap;function Qe(e){return Ze.get(e)}function $e(e,t){Ze.set(e,t)}var et=typeof __DEV__<`u`?__DEV__:void 0,tt=typeof process<`u`?`production`:void 0,nt=(typeof tt==`string`?tt.toLowerCase()!==`production`:void 0)??et??!1,rt=-1e7,Y=1,it=nt&&!1,at=nt&&!1;function ot({scheduledWork:e}){e.cancel(`checkFinishedScrollFrame`),e.cancel(`checkFinishedScrollRetryFrame`),e.cancel(`checkFinishedScrollFallback`),e.cancel(`platformScrollCompletion`)}function st(e){let t=e.pendingScrollResolve??e.pendingScrollToEnd?.resolve;e.pendingScrollResolve=void 0,e.pendingScrollToEnd=void 0,t?.()}function ct(e){ot(e),e.scheduledWork.cancel(`imperativeScrollReady`),e.scrollingTo=void 0,e.scrollTargetPinnedRange=void 0,st(e)}function lt(e,t,n){return{...t,nativeEvent:{...t.nativeEvent,contentOffset:e.props.horizontal?{x:n,y:0}:{x:0,y:n}}}}function ut(e,t){var n,r;let i=e.state,a=i.deferredPublicOnScrollEvent;i.deferredPublicOnScrollEvent=void 0,a&&((r=(n=i.props).onScroll)==null||r.call(n,lt(i,a,t??i.scrollPending??i.scroll??0)))}var dt=1;function ft(e){return!!(e?.didDispatchNativeScroll||e?.didRetrySilentInitialScroll||e?.watchdog)}function pt(e){e.initialScrollSession=void 0}function mt(e){let{bootstrap:t,completion:n,kind:r,previousDataLength:i}=e;return r===`offset`?{completion:n,kind:r,previousDataLength:i}:{bootstrap:t,completion:n,kind:r,previousDataLength:i}}function ht(e,t=(t=>(t=(t=>(t=e.initialScrollSession)?.kind)())??`bootstrap`)()){var n;return e.initialScrollSession?e.initialScrollSession.kind!==t&&(e.initialScrollSession=mt({bootstrap:e.initialScrollSession.kind===`bootstrap`?e.initialScrollSession.bootstrap:void 0,completion:e.initialScrollSession.completion,kind:t,previousDataLength:e.initialScrollSession.previousDataLength})):e.initialScrollSession=mt({completion:{},kind:t,previousDataLength:0}),(n=e.initialScrollSession).completion??(n.completion={}),e.initialScrollSession.completion}var gt={didDispatchNativeScroll(e){return!!e.initialScrollSession?.completion?.didDispatchNativeScroll},didRetrySilentInitialScroll(e){return!!e.initialScrollSession?.completion?.didRetrySilentInitialScroll},markInitialScrollNativeDispatch(e){ht(e).didDispatchNativeScroll=!0},markSilentInitialScrollRetry(e){ht(e).didRetrySilentInitialScroll=!0},resetFlags(e){if(!e.initialScrollSession)return;let t=ht(e,e.initialScrollSession.kind);t.didDispatchNativeScroll=void 0,t.didRetrySilentInitialScroll=void 0}},X={clear(e){X.set(e,void 0)},didReachTarget(e,t){return Math.abs(e-t.targetOffset)<=dt},get(e){return e.initialScrollSession?.completion?.watchdog},hasNonZeroTargetOffset(e){return e!==void 0&&e>dt},isAtZeroTargetOffset(e){return e<=dt},set(e,t){if(!t&&!e.initialScrollSession?.completion?.watchdog)return;let n=ht(e);n.watchdog=t?{startScroll:t.startScroll,targetOffset:t.targetOffset}:void 0}};function _t(e,t={}){let n=e.initialScrollSession,r=t.kind??n?.kind,i=n?.completion,a=n?.kind===`bootstrap`?n.bootstrap:void 0,o=r===`bootstrap`?t.bootstrap===null?void 0:t.bootstrap??a:void 0;return!r||!e.initialScroll&&!o&&!ft(i)?pt(e):(e.initialScrollSession=mt({bootstrap:o,completion:i,kind:r,previousDataLength:t.previousDataLength??n?.previousDataLength??0}),e.initialScrollSession)}var Z=1.3;function vt(e,t,n){let r=Math.abs(e);return!t&&n>0&&r>=n*Z||!t&&n<=0&&r>0}var yt=(e,t,n,r,i,a,o,s)=>{let c=t||n>0&&Math.abs(e)<=n,l=()=>{s({atThreshold:t,contentSize:a.contentSize,dataLength:a.dataLength,scrollPosition:a.scrollPosition})};return r?vt(e,t,n)?(s(void 0),!1):(c&&(!i||i.atThreshold!==t||i.contentSize!==a.contentSize||i.dataLength!==a.dataLength)&&l(),!0):c?(o(e),l(),!0):!1};function bt(e,t){let n=e.state;t===`start`?(n.isStartReached=!1,n.startReachedSnapshot=void 0):(n.isEndReached=!1,n.endReachedSnapshot=void 0)}function xt(e){let t=e.state;if(!t.edgeReachedGate)return;let n=J(e),r=n-t.scroll-t.scrollLength-qe(e),i=n<t.scrollLength,a=t.props.onStartReachedThreshold*t.scrollLength,o=t.props.onEndReachedThreshold*t.scrollLength,s=vt(t.scroll,!1,a),c=vt(r,i,o);s&&c&&(t.edgeReachedGate=void 0)}function St(e,t,n,r){return!e.state.edgeReachedGate||n===t||!!r}function Ct(e){e.state.edgeReachedGate=`closed`}function wt(e){e.state.edgeReachedGate&&(e.state.edgeReachedGate=`prepared`)}function Tt(e,t){let n=e.state;if(n.edgeReachedGate!==`prepared`)return;let r=t<0?`start`:`end`;return n.edgeReachedGate=`closed`,bt(e,r),r}function Et(e){return!!e?.initialScroll&&!e.didFinishInitialScroll}function Dt(e,t,n){let r=e.state;if(!r)return;let{queuedInitialLayout:i,scrollLength:a,scroll:o,maintainingScrollAtEnd:s,props:{maintainScrollAtEndThreshold:c,onEndReachedThreshold:l}}=r,u=J(e);if(xt(e),r.props.data.length===0&&a>0&&u<=a){K(e,`isAtEnd`,!0),K(e,`isNearEnd`,!0),K(e,`isWithinMaintainScrollAtEndThreshold`,!0);return}if(u>0&&i){let i=qe(e),d=u-o-a-i,f=u<a;K(e,`isAtEnd`,f||d<=Y),K(e,`isNearEnd`,f||d<=l*a),K(e,`isWithinMaintainScrollAtEndThreshold`,f||d<=c*a||r.pendingMaintainScrollAtEnd||s===`animated`||s===`instant`),Et(r)||s||(r.isEndReached=yt(d,f,l*a,r.isEndReached,r.endReachedSnapshot,{contentSize:u,dataLength:r.props.data?.length,scrollPosition:o},i=>{var a,o;St(e,`end`,t,n)&&(Ct(e),(o=(a=r.props).onEndReached)==null||o.call(a,{distanceFromEnd:i}))},e=>{r.endReachedSnapshot=e}))}}function Ot(e,t,n){let r=e?.state;if(!r)return;let{isStartReached:i,props:{data:a,onStartReachedThreshold:o},scroll:s,scrollLength:c,startReachedSnapshot:l,totalSize:u}=r,d=a.length,f=o*c;xt(e),i&&f>0&&s>f&&l&&(l.contentSize!==u||l.dataLength!==d)&&(r.isStartReached=!1,r.startReachedSnapshot=void 0),K(e,`isAtStart`,s<=Y),K(e,`isNearStart`,s<=f),Et(r)||r.scrollingTo||(r.isStartReached=yt(s,!1,f,r.isStartReached,l,{contentSize:u,dataLength:d,scrollPosition:s},i=>{var a,o;St(e,`start`,t,n)&&(Ct(e),(o=(a=r.props).onStartReached)==null||o.call(a,{distanceFromStart:i}))},e=>{r.startReachedSnapshot=e}))}function kt(e,t){let n=!e.state.edgeReachedGate;Dt(e,t,n),Ot(e,t,n)}function At(e){var t;let n=e.state;n.props?.data&&((t=n.triggerCalculateItemsInView)==null||t.call(n,{forceFullItemPositions:!0})),kt(e)}var jt=6,Mt=3,Nt=250;function Pt(e){e.state.scheduledWork.cancel(`adaptiveRender`)}function Ft(e,t){let n=e.state;Pt(e),t<=0?It(e,`normal`,`scroll`):n.scheduledWork.timeout(()=>It(e,`normal`,`scroll`),t,`adaptiveRender`)}function It(e,t,n){var r,i;G(e,`adaptiveRender`)!==t&&(K(e,`adaptiveRender`,t),(i=(r=e.state.props.adaptiveRender)?.onChange)==null||i.call(r,t,n))}function Lt(e){Pt(e);let t=e.state.props.adaptiveRender?.initialMode??`normal`;G(e,`adaptiveRender`)!==t&&It(e,t,`initial`)}function Rt(e,t,n){let r=e.state,i=r.props.adaptiveRender,a=G(e,`adaptiveRender`);if(G(e,`readyToRender`)){if(i){let o=i.enterVelocity??jt,s=i.exitVelocity??Mt,c=i.exitDelay??Nt,l=a===`light`?s:o,u=n?.forceLight||Math.abs(t)>l?`light`:`normal`;u!==(r.scheduledWork.has(`adaptiveRender`)?`normal`:a)&&(u===`light`?(It(e,`light`,`scroll`),Ft(e,c)):a===`light`&&Ft(e,c))}else Lt(e)}}var zt=50;function Bt(e,t){let n=e.state.props.drawDistance,r=e.state.initialScroll,i=r!==void 0&&(r.viewPosition??0)>0;return t===`visible-first`||t!==`full`&&!G(e,`readyToRender`)&&!i?Math.min(n,zt):n}function Vt(e){let{state:t}=e;t.props.drawDistance<=zt||t.scheduledWork.has(`fullDrawDistancePrewarm`)||t.scheduledWork.frame(()=>t.triggerCalculateItemsInView?.call(t),`fullDrawDistancePrewarm`)}function Ht(e,{resetLayout:t,resetInitialScroll:n}){let{state:r}=e;t&&(r.didContainersLayout=!1,r.queuedInitialLayout=!1),n&&(r.didFinishInitialScroll=!1),K(e,`readyToRender`,!1),Lt(e)}function Ut(e,{didLayout:t,didInitialScroll:n}){let{state:r}=e,{loadStartTime:i,props:{onLoad:a}}=r;t&&(r.didContainersLayout=!0),n&&(r.didFinishInitialScroll=!0),r.didContainersLayout&&r.didFinishInitialScroll&&!G(e,`readyToRender`)&&(K(e,`readyToRender`,!0),It(e,`normal`,`ready`),r.props.drawDistance>zt&&Vt(e),r.didLoad||(r.didLoad=!0,a&&a({elapsedTimeInMs:Date.now()-i})))}var Wt=2e3;function Gt(e,t){e.scroll=t,e.scrollPending=t,e.scrollPrev=t}function Kt(e){e.scheduledWork.cancel(`preservedInitialScroll`)}function qt(e){Kt(e),e.clearPreservedInitialScrollOnNextFinish=void 0,e.initialScroll=void 0,_t(e)}function Jt(e){let t=e.state,n=t.initialScrollSession?.kind===`bootstrap`?t.initialScrollSession.bootstrap:void 0;(t.initialScroll||n||t.scrollingTo?.isInitialScroll)&&(n?.frameHandle!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n.frameHandle),t.scrollingTo?.isInitialScroll&&(ot(t),t.scrollingTo=void 0,t.scrollTargetPinnedRange=void 0),gt.resetFlags(t),_t(t,{bootstrap:null}),Yt(e))}function Yt(e,t){var n;let r=e.state;if(t?.resolvedOffset!==void 0)Gt(r,t.resolvedOffset);else if(t?.syncObservedOffset&&r.initialScrollSession?.kind===`offset`){let e=((n=r.refScroller.current)?.getCurrentScrollOffset)?.call(n);typeof e==`number`&&Number.isFinite(e)&&Gt(r,e)}let i=()=>{var n;let i=r.initialScrollSession?.kind===`bootstrap`,a=t?.resolvedOffset??r.scrollPending??r.scroll??0;X.clear(r),t?.preserveTarget&&r.initialScroll?(r.clearPreservedInitialScrollOnNextFinish=void 0,_t(r),Kt(r),t?.schedulePreservedTargetClear&&r.scheduledWork.timeout(()=>{!r.didFinishInitialScroll||r.scrollingTo?.isInitialScroll||!r.initialScroll||qt(r)},Wt,`preservedInitialScroll`)):qt(r),t?.recalculateItems&&At(e),Ut(e,{didInitialScroll:!0}),i&&ut(e,a),(n=t?.onFinished)==null||n.call(t)};if(t?.waitForCompletionFrame){requestAnimationFrame(i);return}i()}function Xt(e,t){let n=e.state;return t===void 0?0:n.positions[t]||0}function Zt(e){let{state:t}=e;return(t.props.horizontal?(W(t)?t.props.stylePaddingRight:t.props.stylePaddingLeft)||0:G(e,`stylePaddingTop`)||0)+(G(e,`alignItemsAtEndPadding`)||0)+(G(e,`headerSize`)||0)}function Q(e,t){let{data:n,keyExtractor:r}=e.props;if(!n)return``;let i=t<n.length?r?r(n[t],t):t:null;return e.idCache[t]=i,i}function Qt(e){let{state:t,values:n}=e;return(n.get(`headerSize`)||0)+(n.get(`footerSize`)||0)+(t.pendingTotalSize??t.totalSize??n.get(`totalSize`)??0)+(t.props.stylePaddingTop||0)+(t.props.stylePaddingBottom||0)}function $t(e){let{state:t}=e;return t.props.alignItemsAtEndPaddingEnabled&&!t.props.horizontal&&t.props.data.length>0&&t.scrollLength>0?Math.max(0,t.scrollLength-Qt(e)-qe(e)):0}function en(e){let{state:t}=e,n=G(e,`alignItemsAtEndPadding`)||0,r=$t(e);if(n!==r){let i=t.maintainingScrollAtEnd===`pending-animated`||t.maintainingScrollAtEnd===`animated`,a=t.didContainersLayout&&t.props.maintainScrollAtEnd?.animated&&(i||n>r&&G(e,`isWithinMaintainScrollAtEndThreshold`));a&&!i&&!t.pendingMaintainScrollAtEnd?t.scheduledWork.microtask(()=>{!t.maintainingScrollAtEnd&&!t.pendingMaintainScrollAtEnd&&K(e,`alignItemsAtEndPadding`,$t(e))},`alignItemsAtEndPaddingFallback`):a||K(e,`alignItemsAtEndPadding`,r)}}function tn(e,t,n,r=!0){let i=e.state,a=i.totalSize,o=i.totalSize;t===null?(o=n,i.timeoutSetPaddingTop&&=(clearTimeout(i.timeoutSetPaddingTop),void 0)):o+=n,a===o?r&&e.values.get(`totalSize`)!==o&&K(e,`totalSize`,o):(i.pendingTotalSize=void 0,i.totalSize=o,r&&K(e,`totalSize`,o),en(e))}function nn(e,t,n,r=!0){let{sizes:i}=e.state,a=i.get(t),o=a===void 0?n:n-a;o!==0&&tn(e,t,o,r),i.set(t,n)}function rn(e){return typeof e==`function`}function an(e){return Array.isArray(e)}var on=new Set;function sn(e,t){nt&&!on.has(e)&&(on.add(e),console.warn(`[legend-list] ${t}`))}function cn(e){return Math.floor(e*8)/8}function ln(e){return e==null}function un(e,t){let n=t===`Left`||t===`Right`?e.paddingHorizontal:e.paddingVertical;return e[`padding${t}`]??n??e.padding??0}function dn(e,t,n){return un(e,n)+un(t,n)}function fn(e,t){let n=(e.state?.containerItemKeys)?.get(t);if(n!==void 0)return n;let r=G(e,`numContainers`);for(let n=0;n<r;n++)if(G(e,`containerItemKey${n}`)===t)return n;return-1}function pn(e,t,n,r,i){let a=e.state,{getFixedItemSize:o,getItemType:s}=a.props,c=t?a.sizesKnown.get(t):void 0;if(c===void 0&&t&&o){let l=i?.itemType??(s?s(r,n)??``:``),u=i?.didResolveFixedItemSize?i.fixedItemSize:o(r,n,l);u!==void 0&&(c=u+e.scrollAxisGap,a.sizesKnown.set(t,c))}return c}function mn(e,t){return pn(e,Q(e.state,t),t,e.state.props.data[t])}function hn(e,t,n){for(let r=t;r<=n;r++)if(mn(e,r)===void 0)return!1;return!0}function $(e,t,n,r,i,a,o,s){let c=e.state,{sizes:l,averageSizes:u,props:{estimatedItemSize:d,getItemType:f},scrollingTo:p}=c,m=c.sizesKnown.get(t);if(m!==void 0)return m;let h,g=l.get(t);if(a&&g!==void 0)return g;if(h=pn(e,t,n,r,s),h!==void 0)return nn(e,t,h,o),h;let _=s?.itemType??(f?f(r,n)??``:``);if(i&&!p){let e=u[_]?.avg;e!==void 0&&(h=cn(e))}if(h===void 0&&g!==void 0)return g;if(h===void 0&&i&&p){let e=p.averageSizeSnapshot?.[_];e!==void 0&&(h=cn(e))}return h===void 0&&(h=d+e.scrollAxisGap),nn(e,t,h,o),h}function gn(e,t){if(!(t===void 0||t<0))return $(e,Q(e.state,t),t,e.state.props.data[t])}function _n(e,t,n){let r=e.state,{index:i,viewOffset:a,viewPosition:o}=n,s=t;if(a&&(s-=a),i!==void 0){let t=Zt(e);t&&(s+=t)}if(o!==void 0&&i!==void 0){let t=r.props.data.length;if(t===0)return s;let n=i<0||i>=t,a=r.props.estimatedItemSize??0,c=n?a:$(e,Q(r,i),i,r.props.data[i]),l=Math.max(0,c-(n?0:e.scrollAxisGap)),u=qe(e);if(s-=o*(r.scrollLength-u-l),!n&&i===r.props.data.length-1){let t=G(e,`footerSize`)||0;s+=t}}return s}function vn(e,t,n){let r=e.state,i=J(e),a=t;if(Number.isFinite(i)&&Number.isFinite(r.scrollLength)&&V.OS!==`android`){let e=Math.max(0,i-r.scrollLength),o=n?.viewOffset,s=e+(typeof o==`number`&&o<0?-o:0);a=Math.min(t,s)}return a=Math.max(0,a),a}function yn(e){let t=e.state;if(t?.scrollingTo){ot(t);let n=t.pendingScrollResolve;t.pendingScrollResolve=void 0;let r=t.scrollingTo;if(t.scrollHistory.length=0,t.scrollingTo=void 0,t.scrollTargetPinnedRange=void 0,t.pendingTotalSize!==void 0&&tn(e,null,t.pendingTotalSize),t.scrollAdjustHandler.commitPendingAdjust(r),r.isInitialScroll||t.initialScroll){let i=t.initialScrollSession?.kind===`offset`,a=!!r.isInitialScroll&&!t.clearPreservedInitialScrollOnNextFinish&&t.props.data.length>0&&t.initialScroll?.viewPosition===1;Yt(e,{onFinished:()=>{n?.()},preserveTarget:i&&t.props.data.length===0||a,recalculateItems:!0,schedulePreservedTargetClear:a,syncObservedOffset:i,waitForCompletionFrame:!!r.waitForInitialScrollCompletionFrame});return}At(e),n?.()}}var bn=80,xn=1500,Sn=320,Cn=1;function wn(e,t){let n=e.state,{animated:r,horizontal:i,offset:a}=t;n.scheduledWork.cancel(`platformScrollCompletion`);let o=n.refScroller.current,s=o?.getScrollableNode();if(!o||!s)return;let c=!!r,l=!!i,u=l?J(e):void 0,d=l?je(n,a,u):0,f=l?0:a;if(o.scrollTo({animated:c,x:d,y:f}),c)Tn(e,{readOffset:()=>o.getCurrentScrollOffset(),target:o.getScrollEventTarget?.call(o)??null,targetOffset:a});else{n.scroll=a;let t=n.scrollingTo;n.scheduledWork.timeout(()=>{t===n.scrollingTo&&yn(e)},100,`platformScrollCompletion`)}}function Tn(e,t){let{readOffset:n,target:r,targetOffset:i}=t;if(!r){yn(e);return}let a=`onscrollend`in r,o,s=!1,{scheduledWork:c,scrollingTo:l}=e.state,u=setTimeout(()=>p(`max`),xn),d=()=>{r.removeEventListener(`scroll`,m),a&&r.removeEventListener(`scrollend`,h),o!==void 0&&clearTimeout(o),clearTimeout(u)},f=()=>{s||(s=!0,d())},p=t=>{if(s)return;if(l!==e.state.scrollingTo){c.cancel(`platformScrollCompletion`);return}let r=n(),a=Math.abs(r-i)<=Cn;t===`scrollend`&&!a||(c.cancel(`platformScrollCompletion`),yn(e))},m=()=>{o!==void 0&&clearTimeout(o),o=setTimeout(()=>p(`idle`),bn)},h=()=>p(`scrollend`);r.addEventListener(`scroll`,m),a?r.addEventListener(`scrollend`,h):o=setTimeout(()=>p(`idle`),Sn),c.register(`platformScrollCompletion`,f)}function En(e){if(!e.scrollRequestTracker){let t=0,n=n=>{let r=e.state;r.scheduledWork.cancel(`imperativeScrollReady`);let i=++t;return st(r),r.pendingScrollResolve=n,i},r=(n,r,i)=>{let a=e.state;n===t&&(!i()||!a.scrollingTo)&&(a.pendingScrollResolve===r&&(a.pendingScrollResolve=void 0),r())};e.scrollRequestTracker={isCurrent:e=>e===t,runNow:r,runNowIfIdle:t=>{let i=e.state;return i.pendingScrollResolve||i.scrollingTo?Promise.resolve():new Promise(e=>{let i=n(e);r(i,e,t)})},start:n}}return e.scrollRequestTracker}function Dn(e,t,n){let r=e.state;if(Math.abs(t)>.1){let n=()=>{r.scrollAdjustHandler.requestAdjust(t),r.adjustingFromInitialMount&&r.adjustingFromInitialMount--};r.scroll+=t,r.scrollForNextCalculateItemsInView=void 0,G(e,`readyToRender`)?n():(r.adjustingFromInitialMount=(r.adjustingFromInitialMount||0)+1,requestAnimationFrame(n))}}function On(e){var t;let{state:n}=e,r=G(e,`alignItemsAtEndPadding`)||0,i=$t(e);n.maintainingScrollAtEnd=void 0,n.pendingMaintainScrollAtEnd=!1,r!==i&&(K(e,`alignItemsAtEndPadding`,i),n.scrollForNextCalculateItemsInView=void 0,(t=n.triggerCalculateItemsInView)==null||t.call(n,{forceFullItemPositions:!0}),Dn(e,vn(e,n.scroll+i-r)-n.scroll))}function kn(e){let t=e.state,{didContainersLayout:n,didFinishInitialScroll:r,pendingNativeMVCPAdjust:i,props:{maintainScrollAtEnd:a}}=t,o=G(e,`isWithinMaintainScrollAtEndThreshold`),s=!!t.pendingMaintainScrollAtEnd,c=!!((o||s)&&a&&r);if(c&&!n)return t.pendingMaintainScrollAtEnd=!0,!1;if(i)return t.pendingMaintainScrollAtEnd=c,!1;if(c&&n){if(t.pendingMaintainScrollAtEnd=!1,J(e)<t.scrollLength&&(t.scroll=0),t.maintainingScrollAtEnd)t.pendingMaintainScrollAtEnd=!0;else{let n=a.animated?`pending-animated`:`pending-instant`,r=a.animated?`animated`:`instant`,i=t.scroll;t.maintainingScrollAtEnd=n,requestAnimationFrame(()=>{if(t.maintainingScrollAtEnd!==n)return;let o=G(e,`isWithinMaintainScrollAtEndThreshold`),c=t.scroll!==i;s||o||!c?(t.maintainingScrollAtEnd=r,En(e).runNowIfIdle(()=>e.scrollToEnd({animated:a.animated})).then(()=>{t.maintainingScrollAtEnd===r&&(t.pendingMaintainScrollAtEnd?(t.maintainingScrollAtEnd=void 0,kn(e)):On(e))})):t.maintainingScrollAtEnd===n&&On(e)})}return!0}return On(e),!1}var An=.1,jn=300,Mn=2,Nn=1;function Pn(e,t,n,r){if(!t){e.mvcpAnchorLock=void 0;return}let i=e.mvcpAnchorLock;if(!i)return;let a=r>i.expiresAt,o=e.indexByKey.get(i.id)===void 0;if(a||o||!n){e.mvcpAnchorLock=void 0;return}return i}function Fn(e,t){{let{anchorId:n,anchorPosition:r,dataChanged:i,now:a,positionDiff:o}=t,s=!!i||!!e.mvcpAnchorLock,c=e.props.maintainVisibleContentPosition.data;if(!s||!c||e.scrollingTo||!n||r===void 0)return;let l=e.mvcpAnchorLock,u=!i&&Math.abs(o)<=An&&l?.id===n?l.quietPasses+1:0;if(!i&&u>=Mn){e.mvcpAnchorLock=void 0;return}e.mvcpAnchorLock={expiresAt:a+jn,id:n,position:r,quietPasses:u}}}function In(e,t,n,r,i,a){return!1}function Ln(e,t,n){if(Math.abs(t)<=An)return 0;let r=Math.max(0,n-e.scrollLength)-e.scroll;return t<0?Math.max(t,Math.min(0,r)):t>0?Math.min(t,Math.max(0,r)):0}function Rn(e,t){return e<0?-t:t}function zn(e,t,n){let r=e.state;r.pendingNativeMVCPAdjust=void 0;let i=t-n;Math.abs(i)>An&&Dn(e,i)}function Bn(e){let t=e.state,n=t.pendingNativeMVCPAdjust;if(!n||Math.abs(n.manualApplied)>An)return;let r=J(e),i=Ln(t,n.amount,r);if(Math.abs(i)<=An)return;let a=n.amount-i;Math.abs(a)<=An||(n.manualApplied=a,Dn(e,a),n.furthestProgressTowardAmount=0)}function Vn(e,t){let n=e.state,r=n.pendingNativeMVCPAdjust;if(!r)return!1;let i=r.amount-r.manualApplied,a=t-(r.startScroll+r.manualApplied),o=i<0&&a>An||i>0&&a<-An,s=Rn(i,a);if(Math.abs(i)<=An)return n.pendingNativeMVCPAdjust=void 0,!0;if(o)return n.pendingNativeMVCPAdjust=void 0,!1;if(s+An>=Math.abs(i))return zn(e,i,a),!0;let c=Math.max(0,J(e)-n.scrollLength);return Math.abs(t-c)<=Nn||n.pendingMaintainScrollAtEnd&&G(e,`isWithinMaintainScrollAtEndThreshold`)&&s>An?(zn(e,i,a),!0):s>r.furthestProgressTowardAmount+An?(r.furthestProgressTowardAmount=s,!1):(r.furthestProgressTowardAmount>An&&s<r.furthestProgressTowardAmount-An&&(n.pendingNativeMVCPAdjust=void 0),!1)}function Hn(e,t,n){let r=e.state,{idsInView:i,positions:a,props:o}=r,{maintainVisibleContentPosition:{data:s,size:c,shouldRestorePosition:l}}=o,u=Date.now(),d=!!t||!!r.mvcpAnchorLock,f=r.scrollingTo;if(t&&r.pendingScrollToEnd&&f===void 0){r.mvcpAnchorLock=void 0;return}let p=Pn(r,d,s,u),m,h,g=[],_=f?.index,v=f?.viewPosition,y=_!==void 0&&r.props.data.length>0&&_>=r.props.data.length-1&&(v??0)>0,b=t?s:c,x=r.indexByKey,S=r.scroll;if(J(e),b){if(p&&_===void 0?(h=p.id,m=p.position):_===void 0?i.length>0&&r.didContainersLayout&&!t&&(h=i.find(e=>x.get(e)!==void 0)):h=Q(r,_),t&&i.length>0&&r.didContainersLayout)for(let e=0;e<i.length;e++){let t=i[e],n=x.get(t);if(n!==void 0){let e=a[n];e!==void 0&&g.push({id:t,position:e})}}if(h!==void 0&&m===void 0){let e=x.get(h);e!==void 0&&(m=a[e])}return()=>{let n=0,i=p?.id,o,c=!1,d=r.props.data;if(t&&s&&_===void 0&&h!==void 0&&p?.id===h&&l!==void 0&&h!==void 0){let e=x.get(h);if(e!==void 0){let t=d[e];c=t===void 0||!l(t,e,d),c&&p?.id===h&&(r.mvcpAnchorLock=void 0)}}if(t&&s&&_===void 0&&(()=>{if(h===void 0||c)return!0;let e=x.get(h);return e===void 0||a[e]===void 0})())for(let e=0;e<g.length;e++){let{id:t,position:r}=g[e],s=x.get(t);if(s!==void 0&&l){let e=d[s];if(e===void 0||!l(e,s,d))continue}let c=s===void 0?void 0:a[s];if(c!==void 0){n=c-r,i=t,o=c;break}}if(!c&&h!==void 0&&m!==void 0){let t=x.get(h),s=t===void 0?void 0:a[t];if(s!==void 0){let t=J(e),a=s-m;if(a!==0&&y&&r.scroll+r.scrollLength>t){if(a>0)a=Math.max(0,t-r.scroll-r.scrollLength);else{let e=Math.max(0,t-r.scrollLength);r.scroll=e,r.scrollPending=e,a=0}}n=a,i=h,o=s}}if(v&&v>0){let t=$(e,h,_,r.props.data[_]),i=f?.itemSize;if(t!==void 0&&i!==void 0&&t!==i){let e=t-i;e!==0&&(n+=e*v,f.itemSize=t)}}if(Fn(r,{anchorId:i,anchorPosition:o,dataChanged:t,now:u,positionDiff:n}),In()){r.pendingNativeMVCPAdjust={amount:n,furthestProgressTowardAmount:0,manualApplied:0,startScroll:S},Bn(e);return}Math.abs(n)>An&&((r.maintainingScrollAtEnd===`pending-animated`||r.maintainingScrollAtEnd===`animated`)&&G(e,`isWithinMaintainScrollAtEndThreshold`)||Dn(e,n))}}}var Un=1e3,Wn=200,Gn=e=>{let{scrollHistory:t}=e,n=t.length-1;if(n<1)return 0;let r=t[n];if(Date.now()-r.time>Un)return 0;let i=0,a=0,o=0;for(let e=n;e>0;e--){let n=t[e],s=t[e-1],c=n.scroll-s.scroll,l=n.time-s.time,u=Math.sign(c);if(u!==0){if(i===0)i=u;else if(u!==i)break}if(r.time-s.time>Un)break;if(c===0||l<=0)continue;let d=r.time-n.time,f=Math.exp(-d/Wn);a+=c/l*f,o+=f}return o>0?a/o:0};function Kn(e){let t=e.mvcpAnchorLock;return t?Date.now()>t.expiresAt?(e.mvcpAnchorLock=void 0,!1):!0:!1}function qn(e){return e.dataChangeNeedsScrollUpdate||Kn(e)}function Jn(e,t,n,r){let i=e.state,{ignoreScrollFromMVCP:a,lastScrollAdjustForHistory:o,scrollAdjustHandler:s,scrollHistory:c,scrollingTo:l}=i,u=i.scroll;r?.markHasScrolled!==!1&&(i.hasScrolled=!0);let d=Date.now();i.lastBatchingAction=d;let f=s.getAdjust(),p=o!==void 0&&Math.abs(f-o)>.1;if(p&&(c.length=0),i.lastScrollAdjustForHistory=f,l===void 0&&(c.length!==0||t!==i.scroll)&&(p||c.push({scroll:t,time:d})),c.length>5&&c.shift(),a&&!l){let{lt:e,gt:n}=a;if(e&&t<e||n&&t>n){i.ignoreScrollFromMVCPIgnored=!0;return}}i.scrollPrev=u,i.scrollPrevTime=i.scrollTime,i.scroll=t,i.scrollTime=d;let m=Math.abs(t-u),h=!!r?.fromNativeScrollEvent&&m>.1&&!p&&l===void 0&&!i.pendingNativeMVCPAdjust,g=h&&t<u&&!!(i.maintainingScrollAtEnd||i.pendingMaintainScrollAtEnd);g&&On(e);let _=h?Tt(e,t-u):void 0,v=Vn(e,t),y=i.scrollLength,b=y>0&&l===void 0&&m>y&&!i.pendingNativeMVCPAdjust,x=Gn(i);Rt(e,x,{forceLight:b});let S=i.scrollLastCalculate;if(qn(i)||v||g||_!==void 0||n||S===void 0||Math.abs(i.scroll-S)>2){i.scrollLastCalculate=i.scroll,i.ignoreScrollFromMVCPIgnored=!1,i.lastScrollDelta=m;let t=()=>{var t;let n={doMVCP:l!==void 0,scrollVelocity:x};b&&(n.drawDistanceMode=`visible-first`),(t=i.triggerCalculateItemsInView)==null||t.call(i,n),kt(e,_)};b?(i.mvcpAnchorLock=void 0,i.pendingNativeMVCPAdjust=void 0,i.userScrollAnchorReset={keys:new Set},i.scheduledWork.cancel(`mvcpRecalculate`),(0,z.flushSync)(t),Vt(e)):t();let n=!!i.pendingMaintainScrollAtEnd||!!i.props.maintainScrollAtEnd?.onDataChange;v&&n&&(i.pendingMaintainScrollAtEnd=!1,kn(e)),i.dataChangeNeedsScrollUpdate=!1,i.lastScrollDelta=0}}function Yn(e){if(Object.keys(e.averageSizes).length===0)return;let t={};for(let n in e.averageSizes)t[n]=e.averageSizes[n].avg;return t}function Xn(e,t){let{isInitialScroll:n,requestedOffset:r,targetOffset:i}=t,a=X.get(e),o=!e.didFinishInitialScroll&&(n||!!a)&&X.hasNonZeroTargetOffset(i),s=!e.didFinishInitialScroll&&!!a&&X.isAtZeroTargetOffset(r);if(o){e.hasScrolled=!1,X.set(e,{startScroll:a?.startScroll??e.scroll,targetOffset:i});return}s&&X.clear(e)}function Zn(e,t){let n=e.state,r=n.props.data.length,i=0,a=r-1,o;for(;i<=a;){let e=Math.floor((i+a)/2),r=n.positions[e];r===void 0?a=e-1:r<=t?(o=e,i=e+1):a=e-1}return o}function Qn(e,t){let n=e.state.positions[t];if(n===void 0)return;let r=gn(e,t)??0;return n+(Number.isFinite(r)?r:0)}function $n(e,t,n){let r=e.state,i=r.props.data.length;if(i===0)return;let a=Math.max(0,t),o=Math.max(a,t+r.scrollLength),s=n===void 0?Zn(e,a):Math.max(0,Math.min(i-1,n));if(s===void 0)return;if(n!==void 0&&r.positions[s]===void 0)return{end:s,start:s};if(n===void 0){let t=Qn(e,s);if(t===void 0||t<=a)return}for(;s>0;){let e=r.positions[s];if(e===void 0||e<=a||r.positions[s-1]===void 0)break;s--}for(;s>0;){let t=Qn(e,s-1);if(t===void 0||t<=a)break;s--}let c=s;for(;c+1<i;){let e=r.positions[c+1];if(e===void 0||e>o)break;c++}return{end:c,start:s}}function er(e,t,n){let r=$n(e,t,n);r?(e.state.scrollTargetPinnedRange=r,e.state.scrollForNextCalculateItemsInView=void 0):e.state.scrollTargetPinnedRange=void 0}function tr(e,t){var n;let r=e.state,{noScrollingTo:i,forceScroll:a,...o}=t,{animated:s,isInitialScroll:c,offset:l,precomputedWithViewOffset:u,waitForInitialScrollCompletionFrame:d}=o,{props:{horizontal:f}}=r;ot(r);let p=u?l:_n(e,l,o),m=!!c&&r.initialScrollSession?.kind===`offset`,h=vn(e,p,o),g=m?p:h;if(r.scrollHistory.length=0,!i){c&>.resetFlags(r);let t=Yn(r);r.scrollingTo={...o,...t?{averageSizeSnapshot:t}:{},targetOffset:h,waitForInitialScrollCompletionFrame:d},c||er(e,h,o.index)}r.scrollPending=h,Xn(r,{isInitialScroll:c,requestedOffset:g,targetOffset:h}),!c&&!i&&Math.abs(r.scroll-h)>1&&(s?r.scrollTargetPinnedRange&&((n=r.triggerCalculateItemsInView)==null||n.call(r)):Jn(e,h,!0,{markHasScrolled:!1})),a||!c||V.OS===`android`?wn(e,{animated:s,horizontal:f,offset:g}):r.scroll=g}function nr(e,t){return t<=0?-1:e>=t?t-1:e<0?0:e}function rr(e,{index:t,viewOffset:n=0,animated:r=!0,forceScroll:i,isInitialScroll:a,viewPosition:o}){let s=e.state,{data:c}=s.props;t=nr(t,c.length);let l=gn(e,t),u=Xt(e,t);t===c.length-1&&o===void 0&&(o=1),s.scrollForNextCalculateItemsInView=void 0,tr(e,{animated:r,forceScroll:i,index:t,isInitialScroll:a,itemSize:l,offset:u,viewOffset:n,viewPosition:o??0})}function ir(e,t){let{forceScroll:n,resolvedOffset:r,target:i,waitForCompletionFrame:a}=t,o=i.index,s=o===void 0?void 0:nr(o,e.state.props.data.length),c=gn(e,s);tr(e,{animated:!1,forceScroll:n,index:s!==void 0&&s>=0?s:void 0,isInitialScroll:!0,itemSize:c,offset:r,precomputedWithViewOffset:!0,viewOffset:i.viewOffset,viewPosition:i.viewPosition,waitForInitialScrollCompletionFrame:a})}function ar(e,t,n){let{state:r}=e;r.clearPreservedInitialScrollOnNextFinish=void 0,r.scheduledWork.cancel(`preservedInitialScroll`),r.initialScroll=t,n?.resetDidFinish&&Ht(e,{resetInitialScroll:!0}),_t(r,{kind:r.initialScrollSession?.kind===`offset`?`offset`:`bootstrap`})}function or(e,t){return e.state.initialScrollSession?.kind===`offset`?t.contentOffset??0:vn(e,_n(e,t.index===void 0?0:Xt(e,t.index),t),t)}function sr(e,t){let{didFinishInitialScroll:n,queuedInitialLayout:r,scrollingTo:i}=e,a=e.initialScroll,o=!!i?.isInitialScroll,s=!!t?.requiresMeasuredLayout&&!r&&!o;if(!(!a||s||n||i&&!o))return{initialScroll:a,isInitialScrollInProgress:o,queuedInitialLayout:r,scrollingTo:i}}function cr(e,t){let n=e.state,r=sr(n,{requiresMeasuredLayout:!0});if(!r)return!1;let{initialScroll:i,isInitialScrollInProgress:a,queuedInitialLayout:o}=r,s=a?r.scrollingTo:void 0,c=or(e,i),l=s?s.targetOffset??s.offset:void 0,u=i.contentOffset===void 0||Math.abs(i.contentOffset-c)>1,d=l!==void 0&&Math.abs(l-c)>1,f=l!==void 0&&Math.abs(n.scroll-c)<=1&&Math.abs(n.scrollPending-c)<=1;return!t?.forceScroll&&!u&&a&&!d||t?.forceScroll&&f?!1:(u&&n.initialScrollSession?.kind!==`offset`&&ar(e,{...i,contentOffset:c}),ir(e,{forceScroll:t?.forceScroll??(!!o||a&&u),resolvedOffset:c,target:i}),!0)}function lr(e,t){let n=e.state,r=sr(n);if(!r)return!1;let{initialScroll:i,queuedInitialLayout:a}=r,o=i.contentOffset??0,s=Math.abs(n.scroll-o)<=1&&Math.abs(n.scrollPending-o)<=1;if(t?.forceScroll&&s)return!1;let c=!!n.lastLayout&&n.scrollLength>0;return ir(e,{forceScroll:t?.forceScroll??(c||!!a),resolvedOffset:o,target:i}),!0}function ur(e,t){return e.state.initialScrollSession?.kind===`offset`?lr(e,{forceScroll:t?.forceScroll}):cr(e,{forceScroll:t?.forceScroll})}function dr(e,t,n){if(t==null||n==null||t<0||n<t)return!1;let r=!1;for(let i of e.containerItemKeys.keys()){let a=e.indexByKey.get(i);if(a!==void 0&&a>=t&&a<=n){r=!0;let t=Q(e,a);if(t===void 0||!e.sizesKnown.has(t))return!1}}return r}var fr=1,pr=8,mr=24,hr=`LegendList bootstrap initial scroll aborted after exceeding convergence bounds.`;function gr(e){return e.initialScrollSession?.kind===`bootstrap`?e.initialScrollSession.bootstrap:void 0}function _r(e){return e.initialScrollSession?.kind===`offset`}function vr(e,t){if(!e||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function yr(e){let{dataLength:t,getSize:n,offset:r,positions:i,scrollLength:a,startIndex:o}=e,s=r+a,c=[],l=o===void 0?0:Math.max(0,Math.min(t-1,o));for(;l>0;){let e=l-1,t=i[e];if(t===void 0){l=e;continue}let a=n(e);if(a===void 0){l=e;continue}if(t+a<=r)break;l=e}for(;l<t;l++){let e=i[l];if(e===void 0)continue;let t=n(l);if(t!==void 0){if(e<s&&e+t>r)c.push(l);else if(c.length>0&&e>=s)break}}return c}function br(e){let{mountFrameCount:t,maxFrames:n=pr,maxPasses:r=mr,passCount:i}=e;return t>=n||i>=r}function xr(e,t){return br(t)?(nt&&console.warn(hr),Jr(e),!0):!1}function Sr(e){let t=gr(e),n=t?.frameHandle;n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t&&(t.frameHandle=void 0),_t(e,{bootstrap:null,kind:e.initialScrollSession?.kind})}function Cr(e,t){let n=gr(e);_t(e,{bootstrap:{frameHandle:n?.frameHandle,mountFrameCount:n?.mountFrameCount??0,passCount:0,previousResolvedOffset:void 0,scroll:t.scroll,seedContentOffset:t.seedContentOffset??n?.seedContentOffset??t.scroll,targetIndexSeed:t.targetIndexSeed,visibleIndices:void 0},kind:`bootstrap`})}function wr(e,t){let n=gr(e);n?(n.passCount=0,n.previousResolvedOffset=void 0,n.scroll=t?.scroll??n.scroll,n.seedContentOffset=t?.seedContentOffset??n.seedContentOffset,n.targetIndexSeed=t?.targetIndexSeed??n.targetIndexSeed,n.visibleIndices=void 0,_t(e,{bootstrap:n,kind:`bootstrap`})):t?.scroll!==void 0&&Cr(e,{scroll:t.scroll,seedContentOffset:t.seedContentOffset,targetIndexSeed:t.targetIndexSeed})}function Tr(e){requestAnimationFrame(()=>{var t;gr(e)&&((t=e.triggerCalculateItemsInView)==null||t.call(e,{forceFullItemPositions:!0}))})}function Er(e){let t=e.state,n=gr(t);!n||n.frameHandle!==void 0||(n.frameHandle=requestAnimationFrame(()=>{let n=gr(t);n&&(n.frameHandle=void 0,n.mountFrameCount+=1,!xr(e,{mountFrameCount:n.mountFrameCount,passCount:n.passCount})&&Er(e))}))}function Dr(e,t){wr(e.state,t),Er(e),Tr(e.state)}function Or(e){let{dataLength:t,footerSize:n,preserveForFooterLayout:r,stylePaddingEnd:i}=e;return{contentOffset:void 0,index:Math.max(0,t-1),preserveForBottomPadding:!0,preserveForFooterLayout:r,viewOffset:-i-n,viewPosition:1}}function kr(e){return!!e?.preserveForBottomPadding}function Ar(e){return!!e?.preserveForFooterLayout}function jr(e){return!!(e&&e.viewPosition===1&&(kr(e)||Ar(e)))}function Mr(e){let{dataLength:t,footerSize:n,initialScrollAtEnd:r,stylePaddingEnd:i,target:a}=e,o=Ar(a);return{...a,contentOffset:void 0,index:r?Math.max(0,t-1):a.index,preserveForBottomPadding:!0,preserveForFooterLayout:o,viewOffset:-i-(o?n:0),viewPosition:1}}function Nr(e,t){return e.index===t.index&&e.preserveForBottomPadding===t.preserveForBottomPadding&&e.preserveForFooterLayout===t.preserveForFooterLayout&&e.viewOffset===t.viewOffset&&e.viewPosition===t.viewPosition}function Pr(e,t){let{dataLength:n,stylePaddingEnd:r,target:i}=t;Ar(i)&&ar(e,Or({dataLength:n,footerSize:0,preserveForFooterLayout:void 0,stylePaddingEnd:r}))}function Fr(e){qt(e)}function Ir(e,t,n=fr){let r=e.state;if(!r.didFinishInitialScroll)return!1;let i=Lr(r);return Math.abs(i-or(e,t))>n}function Lr(e){var t;let n=((t=e.refScroller.current)?.getCurrentScrollOffset)?.call(t);return typeof n==`number`&&Number.isFinite(n)?n:e.scrollPending??e.scroll??0}function Rr(e){let t=e.state,n=t.initialScroll;if(!t.didFinishInitialScroll||t.scrollingTo?.isInitialScroll||!n||n.viewPosition!==1||t.props.data.length===0||_r(t))return;let r=typeof t.lastNativeScroll==`number`&&Number.isFinite(t.lastNativeScroll)?t.lastNativeScroll:Lr(t);return or(e,n)-r}function zr(e){return Rr(e)!==void 0&&(Br(e,{}),!0)}function Br(e,t){let n=e.state;n.preservedEndAnchorCorrection=t,requestAnimationFrame(()=>{let r=n.preservedEndAnchorCorrection;if(r!==t)return;let i=Rr(e);if(i===void 0||Math.abs(i)<=fr){n.preservedEndAnchorCorrection=void 0;return}(!r.lastRequestTime||(n.lastNativeScrollTime??0)>r.lastRequestTime)&&(r.lastRequestTime=Date.now(),Dn(e,i)),Br(e,t)})}function Vr(e){let t=e.state,n=t.initialScroll;!t.didFinishInitialScroll||t.scrollingTo?.isInitialScroll||n?.viewPosition!==1||t.preservedEndAnchorCorrection||Ir(e,n)&&(jr(n)&&G(e,`isAtEnd`)||(Ar(n)?Pr(e,{dataLength:t.props.data.length,stylePaddingEnd:Oe(t.props),target:n}):Fr(t)))}function Hr(e,t){let{initialScrollAtEnd:n,target:r}=t,i=e.state,a=or(e,r),o=a===0&&!n&&(_r(i)?Math.abs(r.contentOffset??0)<=1:r.index===0&&(r.viewPosition??0)===0&&Math.abs(r.viewOffset??0)<=1),s=i.props.data.length===0&&r.index!==void 0;o?(Sr(i),Yt(e,{resolvedOffset:a})):s?(Sr(i),Yt(e,{preserveTarget:!0,resolvedOffset:a})):(Cr(i,{scroll:a,seedContentOffset:0,targetIndexSeed:r.index}),Er(e))}function Ur(e,t){let{dataLength:n,didDataChange:r,initialScrollAtEnd:i,previousDataLength:a,stylePaddingEnd:o}=t,s=e.state,c=s.initialScroll;if(_r(s)||!c)return;let l=!!(s.didFinishInitialScroll&&a===0&&n>0&&c.index!==void 0),u=gr(s);if(!i&&r&&n>0&&s.didFinishInitialScroll&&!u&&!l){qt(s);return}let d=n>0&&(i||jr(c));if(!(!r&&!l&&!d)){if(d){let t=i?Or({dataLength:n,footerSize:G(e,`footerSize`)||0,preserveForFooterLayout:Ar(c),stylePaddingEnd:o}):Mr({dataLength:n,footerSize:G(e,`footerSize`)||0,initialScrollAtEnd:i,stylePaddingEnd:o,target:c});if(!l&&Ir(e,c)){Pr(e,{dataLength:n,stylePaddingEnd:o,target:c});return}if(!Nr(c,t)||u||l||r){ar(e,t,{resetDidFinish:l}),Dr(e,{scroll:or(e,t),seedContentOffset:l&&!u?Lr(s):void 0,targetIndexSeed:t.index});return}}r&&(u||l)&&(ar(e,c,{resetDidFinish:l}),Dr(e,{scroll:or(e,c),seedContentOffset:l&&!u?Lr(s):void 0,targetIndexSeed:c.index}))}}function Wr(e,t){let{dataLength:n,footerSize:r,initialScrollAtEnd:i,stylePaddingEnd:a}=t,o=e.state;if(!i)return;let s=o.initialScroll;if(!(_r(o)||n===0||!s)&&(gr(o)||Ar(s))){if(Ir(e,s))Pr(e,{dataLength:n,stylePaddingEnd:a,target:s});else{let t=Or({dataLength:n,footerSize:r,preserveForFooterLayout:Ar(s),stylePaddingEnd:a});s.index===t.index&&s.viewPosition===t.viewPosition&&s.viewOffset===t.viewOffset?Pr(e,{dataLength:n,stylePaddingEnd:a,target:s}):(ar(e,t,{resetDidFinish:!!o.didFinishInitialScroll}),Dr(e,{scroll:or(e,t),targetIndexSeed:t.index}))}}}function Gr(e){let t=e.state,n=t.initialScroll,r=gr(t);if(n&&t.props.data.length>0&&!_r(t)&&(r||n.viewPosition===1)){let i=or(e,n),a=t.scrollingTo?.isInitialScroll?t.scrollingTo:void 0;if(!r&&(a||t.didFinishInitialScroll)){let r=i-(a?a.targetOffset??a.offset:Lr(t));Math.abs(r)>fr&&(t.didFinishInitialScroll?zr(e):a&&(t.initialScroll={...n,contentOffset:i},ir(e,{forceScroll:!0,resolvedOffset:i,target:t.initialScroll})))}else Dr(e,{scroll:i,targetIndexSeed:n.index})}}function Kr(e){let t=e.state,n=gr(t),r=t.initialScroll;if(!n||!r||_r(t)||t.scrollingTo?.isInitialScroll||(n.passCount+=1,xr(e,{mountFrameCount:n.mountFrameCount,passCount:n.passCount})))return;r.index!==void 0&&t.startBuffered>=0&&t.endBuffered>=0&&r.index>=t.startBuffered&&r.index<=t.endBuffered&&(n.targetIndexSeed=void 0);let i=or(e,r),a=dr(t,t.startBuffered,t.endBuffered),o=Math.abs(n.scroll-i)>1,{data:s}=t.props,c=yr({dataLength:s.length,getSize:n=>{let r=t.idCache[n]??Q(t,n);return t.sizes.get(r)??$(e,r,n,s[n])},offset:i,positions:t.positions,scrollLength:t.scrollLength,startIndex:n.targetIndexSeed??(t.startBuffered>=0?t.startBuffered:void 0)}),l=c.length>0&&c.every(e=>{let n=t.idCache[e]??Q(t,e);return t.sizesKnown.has(n)}),u=n.previousResolvedOffset,d=n.visibleIndices;if(n.previousResolvedOffset=i,n.visibleIndices=c,o){n.scroll=i,Tr(t);return}if(!(!a||!l)){if(!(u!==void 0&&Math.abs(u-i)<=fr&&vr(d,c))){Tr(t);return}Sr(t),ir(e,{forceScroll:!0,resolvedOffset:i,target:r,waitForCompletionFrame:V.OS===`web`})}}function qr(e,t){let n=e.state;Sr(n);let r=!n.clearPreservedInitialScrollOnNextFinish&&n.props.data.length>0&&n.initialScroll?.viewPosition===1;Yt(e,{preserveTarget:r,recalculateItems:!0,resolvedOffset:t,schedulePreservedTargetClear:r})}function Jr(e){let t=e.state,n=gr(t),r=t.initialScroll;n&&r&&!_r(t)&&t.refScroller.current?(Sr(t),ir(e,{forceScroll:!0,resolvedOffset:n.scroll,target:r,waitForCompletionFrame:V.OS===`web`})):qr(e,gr(t)?.scroll??t.scrollPending??t.scroll??0)}function Yr(e,t,n,r){return{dataChangeEpoch:e.dataChangeEpoch,getFixedItemSize:e.props.getFixedItemSize,getItemType:e.props.getItemType,itemData:n,itemIndex:t,itemType:r}}function Xr(e,t,n,r){let{getFixedItemSize:i,getItemType:a}=e.props,o=e.containerItemMetadata.get(t),s;return o?.dataChangeEpoch===e.dataChangeEpoch&&o.getItemType===a&&o.itemData===r&&o.itemIndex===n?s=o:(s=Yr(e,n,r,a?a(r,n)??``:void 0),e.containerItemMetadata.set(t,s)),s.getFixedItemSize!==i&&(s.didResolveFixedItemSize=!1,s.fixedItemSize=void 0,s.getFixedItemSize=i),i&&!s.didResolveFixedItemSize&&(s.fixedItemSize=i(r,n,s.itemType??``),s.didResolveFixedItemSize=!0),s}function Zr(e){for(let t of e.containerItemMetadata.values())t.didResolveFixedItemSize=!1,t.fixedItemSize=void 0}var Qr=20,$r=1,ei=1,ti=16;function ni(e,t){let n=e.state.scrollingTo;t?.onlyIfAligned&&(!n?.isInitialScroll||n.animated||!di(e,n).isAtResolvedTarget)||e.state.scheduledWork.frame(()=>fi(e),`checkFinishedScrollFrame`)}function ri(e,t){let{clampedTargetOffset:n,scrollingTo:r}=t;return!r.isInitialScroll||e.hasScrolled||n<=$r}function ii(e,t){return!!t?.isInitialScroll&>.didDispatchNativeScroll(e)&&!e.hasScrolled}function ai(e){return X.get(e)?.targetOffset}function oi(e){let t=ai(e);return!e.didFinishInitialScroll&&X.hasNonZeroTargetOffset(t)}function si(e,t){if(!t.isInitialScroll||t.animated||!e.didContainersLayout||e.initialScrollSession?.kind===`bootstrap`)return!1;let n=t.targetOffset??t.offset;return X.hasNonZeroTargetOffset(n)&>.didDispatchNativeScroll(e)&&!e.hasScrolled||X.isAtZeroTargetOffset(n)||Math.abs(e.scroll-n)>1||Math.abs(e.scrollPending-n)>1?!1:!!t.waitForInitialScrollCompletionFrame||oi(e)}function ci(e){let{state:t}=e;return!!t.scrollingTo?.isInitialScroll&&t.props.data.length>0&&J(e)<=t.scrollLength&&t.scrollPending<=ei}function li(e,t){return t.index===e.state.props.data.length-1&&t.viewPosition===1}function ui(e,t){let n=t.index;return vn(e,li(e,t)&&n!==void 0?_n(e,Xt(e,n),t):t.targetOffset??vn(e,t.offset-(t.viewOffset||0),t),t)}function di(e,t){let{state:n}=e,r=n.scrollPending,i=n.scrollAdjustHandler.getAdjust(),a=ui(e,t),o=vn(e,r,t),s=Math.abs(r-a),c=a+i,l=Math.abs(r-c),u=!t.animated||V.OS===`ios`;return{clampedTargetOffset:a,isAtResolvedTarget:Math.abs(r-o)<1&&(s<1||u&&l<1)}}function fi(e){let t=e.state.scrollingTo;if(!t)return;let{state:n}=e,r=di(e,t);r.isAtResolvedTarget&&ri(n,{clampedTargetOffset:r.clampedTargetOffset,scrollingTo:t})&&yn(e)}function pi(e,t){var n;(n=e.state.refScroller.current)==null||n.scrollTo({animated:!1,x:e.state.props.horizontal?t:0,y:e.state.props.horizontal?0:t})}function mi(e){let t=e.state;if(t.scheduledWork.has(`checkFinishedScrollFallback`))return;let n=t.scrollingTo,r=ci(e),i=ii(t,n),a=n!==void 0&&si(t,n),o=n?.isInitialScroll&&!r&&!a||!t.didContainersLayout,s=r||a?0:i?ti:o?500:100,c=0,l=e=>{t.scheduledWork.timeout(u,e,`checkFinishedScrollFallback`)},u=()=>{let n=t.scrollingTo;if(n){c++;let r=oi(t)&&!t.hasScrolled,a=i?5:r?Qr:5,o=ci(e),s=si(t,n),u=di(e,n),d=V.OS===`android`,f=t.hasScrolled&&(!n.isInitialScroll||u.isAtResolvedTarget),p=n.isInitialScroll&&!u.isAtResolvedTarget&&c<=a;o||f||s||d||c>a?yn(e):((r||p)&&c<=a&&pi(e,ai(t)??n.targetOffset??t.scrollPending),l(i?ti:100))}};l(s)}function hi(e){let t=e.state,n=t.initialScroll;return t.didFinishInitialScroll?zr(e):!n||t.initialScrollSession?.kind===`offset`||n.viewPosition!==1||t.props.data.length===0?!1:ur(e,{forceScroll:!0})}function gi(e){if(!e.state.initialScroll)return;let t=()=>ur(e,{forceScroll:!0});t(),e.state.initialScrollSession?.kind!==`offset`&&requestAnimationFrame(t),ni(e,{onlyIfAligned:!0})}function _i(e,t){let{alwaysDispatchInitialScroll:n,dataLength:r,hasFooterComponent:i,initialContentOffset:a,initialScrollAtEnd:o,useBootstrapInitialScroll:s}=t,c=e.state,l=c.initialScroll,u=a??0,d=s&&o&&i;if(l&&(l.contentOffset===void 0||!!l.preserveForFooterLayout!==d&&c.initialScrollSession?.kind!==`offset`)&&ar(e,{...l,contentOffset:u,preserveForFooterLayout:d}),s&&l&&c.initialScrollSession?.kind!==`offset`){Hr(e,{initialScrollAtEnd:o,target:c.initialScroll});return}!n&&!u&&!(l&&r===0&&!(u===0&&!o))&&(l&&!o?Yt(e,{resolvedOffset:u}):Ut(e,{didInitialScroll:!0}))}function vi(e,t){let{dataLength:n,didDataChange:r,didStartFreshData:i,initialScrollAtEnd:a,latestInitialScroll:o,latestInitialScrollSessionKind:s,stylePaddingEnd:c,useBootstrapInitialScroll:l}=t,u=e.state,d=u.initialScrollSession?.previousDataLength??0,f=n>0&&(!u.hasHadNonEmptyData||i);if(n>0&&(u.hasHadNonEmptyData=!0),f&&(o?(ar(e,o),_t(u,{kind:s,previousDataLength:d})):qt(u)),u.initialScrollSession&&(u.initialScrollSession.previousDataLength=n),_t(u),l){Ur(e,{dataLength:n,didDataChange:r,initialScrollAtEnd:a,previousDataLength:d,stylePaddingEnd:c});return}let p=d===0&&n>0&&!!u.initialScroll&&e.state.initialScrollSession?.kind===`offset`&&!!u.didFinishInitialScroll;d!==0||n===0||!u.initialScroll||!u.queuedInitialLayout||u.didFinishInitialScroll&&!p||(p&&Ht(e,{resetInitialScroll:!0}),ur(e))}function yi(e){e.indexByKey.clear(),e.idCache.length=0,e.positions.length=0,e.columns.length=0,e.columnSpans.length=0}function bi(e){let t=e.pendingContainerIds;if(e.pendingContainerIds=void 0,t===void 0)return;let n=e.state,r=t;if(r&&n.userScrollAnchorReset?.keys.size){r=new Set(r);for(let e of n.userScrollAnchorReset.keys){let t=n.containerItemKeys.get(e);t!==void 0&&r.add(t)}}return r}function xi(e,t){let n=e.pendingContainerIds!==void 0,r=e.pendingContainerIds;if(t===void 0)e.pendingContainerIds=null;else if(r!==null){let n=r;if(!n)n=typeof t==`number`?new Set([t]):new Set(t);else if(typeof t==`number`)n.add(t);else for(let e of t)n.add(e);e.pendingContainerIds=n}n||K(e,`containerLayoutEpoch`,(G(e,`containerLayoutEpoch`)??0)+1)}function Si(e,t,n,r){let i=e.state,{columns:a,columnSpans:o,positions:s,props:{data:c,itemsAreEqual:l,keyExtractor:u}}=i,d=c[n];if(d===void 0)return{didChangePosition:!1,didRefreshData:!1};let f=i.idCache[n]??Q(i,n),p=r?.updateLayout??!0,m=!1,h=!1;if(p){let c=s[n];if(c===void 0)return K(e,`containerPosition${t}`,rt),{didChangePosition:!1,didRefreshData:!1};let l=Ae(i,(c||0)-(r?.scrollAdjustPending??0),i.sizes.get(f)??$(e,f,n,d),G(e,`totalSize`)),u=a[n]||1,p=o[n]||1,h=G(e,`containerPosition${t}`),g=G(e,`containerColumn${t}`),_=G(e,`containerSpan${t}`);l>rt&&l!==h&&(K(e,`containerPosition${t}`,l),m=!0),u>=0&&u!==g&&K(e,`containerColumn${t}`,u),p!==_&&K(e,`containerSpan${t}`,p)}G(e,`containerItemIndex${t}`)!==n&&K(e,`containerItemIndex${t}`,n);let g=G(e,`containerItemData${t}`),_=()=>{K(e,`containerItemData${t}`,d),h=!0};if(g!==d){let r=(i.pendingDataComparison?.previousData===i.previousData&&i.pendingDataComparison?.nextData===c?i.pendingDataComparison:void 0)?.byIndex[n]??0;if(r===2)_();else if(r!==1){let r=G(e,`containerItemKey${t}`)??f,a=u?.(g,n);if(g===void 0||!u||a!==r)_();else if(!l)_();else{let e=l(g,d,n,c);(!i.pendingDataComparison||i.pendingDataComparison.previousData!==i.previousData||i.pendingDataComparison.nextData!==c)&&i.previousData&&(i.pendingDataComparison={byIndex:[],nextData:c,previousData:i.previousData}),i.pendingDataComparison?.byIndex&&(i.pendingDataComparison.byIndex[n]=e?1:2),e||_()}}}return{didChangePosition:m,didRefreshData:h}}function Ci(e,t,n){let r=e.state,i=G(e,`numColumns`),a=t;r.columns[t]!==1&&(a=wi(r,i,t));let o=0,s=r.columns[a];if(a>0){let t=a-1;o=(r.positions[t]??0)+Ti(e,wi(r,i,t),t,n)}return{column:s,currentRowTop:o,startIndex:a}}function wi(e,t,n){if(t<=1)return Math.max(0,n);let r=Math.max(0,n);for(;r>0&&e.columns[r]!==1;)r--;return r}function Ti(e,t,n,r){let i=e.state;if(n<t)return 0;let{data:a}=i.props;if(!a)return 0;let o=0;for(let s=t;s<=n;s++){if(s<0||s>=a.length)continue;let t=i.idCache[s],n=$(e,t,s,a[s],r);n>o&&(o=n)}return o}function Ei(e){let t=e.state,{positions:n,props:{data:r}}=t,i=G(e,`numColumns`)??1;if(r.length===0)tn(e,null,0);else{let a=r.length-1,o=Q(t,a),s=n[a];if(o!==void 0&&s!==void 0){if(i>1){let n=a;for(;n>0;){let e=t.columns[n];if(e===1||e===void 0)break;--n}let i=0;for(let o=n;o<=a;o++){let n=$(e,t.idCache[o]??Q(t,o),o,r[o]);n>i&&(i=n)}tn(e,null,s+i)}else{let t=$(e,o,a,r[a]);t!==void 0&&tn(e,null,s+t)}}}}function Di(e){let t=e.state,{props:{snapToIndices:n}}=t,r=t.props.horizontal?J(e):void 0,i=Array(n.length);for(let e=0;e<n.length;e++){let a=n[e];Q(t,a);let o=t.positions[a];i[e]=je(t,o,r)}K(e,`snapToOffsets`,i)}function Oi(e,t,{doMVCP:n,forceFullUpdate:r=!1,optimizeForVisibleWindow:i=!1,scrollBottomBuffered:a,scrollVelocity:o,startIndex:s}={doMVCP:!1,forceFullUpdate:!1,optimizeForVisibleWindow:!1,scrollBottomBuffered:-1,startIndex:0}){let c=e.state,l=e.positionListeners.size>0,{columns:u,columnSpans:d,indexByKey:f,positions:p,idCache:m,sizesKnown:h,props:{data:g,overrideItemLayout:_,snapToIndices:v},scrollingTo:y}=c,b=g.length,x=G(e,`numColumns`)??1,S=x>1,C=nt?new Map:void 0,w=G(e,`extraData`),T=_?{span:1}:void 0,E=c.lastScrollDelta,D=o??Gn(c),O=!r&&!t&&(i||Math.abs(D)>0||c.scrollLength>0&&E>c.scrollLength),k=a+1e3,A=!n||t||c.scrollAdjustHandler.getAdjust()!==0||(G(e,`scrollAdjustPending`)??0)!==0,j=0,M=1,N=0;if(t&&(d.length=0),S||(u.length&&=0,d.length&&=0),s>0){if(S){let{startIndex:t,currentRowTop:n}=Ci(e,s,!0);s=t,j=n}else if(s<b){let t=s-1,n=Q(c,t);j=(p[t]??0)+(h.get(n)??$(e,n,t,g[t],!0,A,!1))}}let ee=t||f.size===0,P=S&&!!_&&!!T,te=!1,ne;for(let n=s;n<b;n++){if(O&&ne!==void 0&&n>ne){te=!0;break}O&&ne===void 0&&!y&&!t&&j>k&&(ne=n+(S?x:1)+10);let r=m[n]??Q(c,n),i=1;if(P){T.span=1,_(T,g[n],n,x,w);let e=T.span;e!==void 0&&Number.isFinite(e)&&(i=Math.max(1,Math.min(x,Math.round(e))))}S&&M+i-1>x&&(j+=N,M=1,N=0);let a=h.get(r),o=a===void 0?$(e,r,n,g[n],!0,A,!1):a;nt&&ee&&(C.has(r)&&console.error(`[legend-list] Error: Detected overlapping key (${r}) which causes missing items and gaps and other terrrible things. Check that keyExtractor returns unique values.`),C.set(r,n)),j!==p[n]&&(p[n]=j,l&&We(e,r,j)),ee&&f.set(r,n),S?(u[n]=M,d[n]=i,o>N&&(N=o),M+=i,M>x&&(j+=N,M=1,N=0)):j+=o}te||Ei(e),v&&Di(e)}function ki(e,t){let n=e.mapViewabilityConfigStates;n||(n=new Map,e.mapViewabilityConfigStates=n);let r=n.get(t);return r||(r={end:-1,endBuffered:-1,previousEnd:-1,previousStart:-1,start:-1,startBuffered:-1,viewableItems:[]},n.set(t,r)),r}function Ai(e){let{viewabilityConfig:t,viewabilityConfigCallbackPairs:n,onViewableItemsChanged:r}=e;return(t||r)&&(n=[...n||[],{onViewableItemsChanged:r,viewabilityConfig:t||{viewAreaCoveragePercentThreshold:0}}]),n}function ji(e,t,n,r,i,a,o=i,s=a){let{props:{data:c}}=e;for(let l of n){let n=ki(t,l.viewabilityConfig.id);n.start=i,n.end=a,n.startBuffered=o,n.endBuffered=s,l.viewabilityConfig.minimumViewTime?e.scheduledWork.timeout(()=>Mi(c,l,e,t,r),l.viewabilityConfig.minimumViewTime):Mi(c,l,e,t,r)}}function Mi(e,t,n,r,i){let{viewabilityConfig:a,onViewableItemsChanged:o}=t,s=a.id,c=ki(r,s),{viewableItems:l,start:u,end:d,startBuffered:f,endBuffered:p}=c,m;for(let[e,t]of r.mapViewabilityAmountValues)Pi(n,r,a,e,t.key,i,t.item,t.index).sizeVisible<0&&(m??=[],m.push(e));let h=[],g=new Set;if(l)for(let t of l){g.add(t.key);let o=n.indexByKey.get(t.key),s=o===void 0?void 0:e[o],c=fn(r,t.key),l=!1;o!==void 0&&s!==void 0&&(l=Fi(n,r,a,c,t.key,i,s,o)),l||h.push({...t,index:o??t.index,isViewable:!1,item:s??t.item})}let _=[];for(let t=u;t<=d;t++){let o=e[t];if(o){let e=Q(n,t),s=fn(r,e);if(Fi(n,r,a,s,e,i,o,t)){let n={containerId:s,index:t,isViewable:!0,item:o,key:e};_.push(n),g.has(n.key)||h.push(n)}}}if(Object.assign(c,{previousEnd:d,previousStart:u,viewableItems:_}),h.length>0){c.viewableItems=_;for(let e=0;e<h.length;e++){let t=h[e];Ii(r,s,t.containerId,t)}o&&o({changed:h,end:d,endBuffered:p,start:u,startBuffered:f,viewableItems:_})}if(m)for(let e of m){let t=r.mapViewabilityAmountValues.get(e);t&&t.sizeVisible<0&&r.mapViewabilityAmountValues.delete(e)}}function Ni(e,t){return!!e&&e.containerId===t.containerId&&e.index===t.index&&e.isViewable===t.isViewable&&e.item===t.item&&e.key===t.key&&e.percentOfScroller===t.percentOfScroller&&e.percentVisible===t.percentVisible&&e.scrollSize===t.scrollSize&&e.size===t.size&&e.sizeVisible===t.sizeVisible}function Pi(e,t,n,r,i,a,o,s){let{sizes:c,scroll:l}=e,u=(G(t,`stylePaddingTop`)||0)+(G(t,`alignItemsAtEndPadding`)||0)+(G(t,`headerSize`)||0),{itemVisiblePercentThreshold:d,viewAreaCoveragePercentThreshold:f}=n,p=f!=null,m=p?f:d,h=l-u,g=e.positions[s],_=c.get(i)||0;if(g===void 0){let e={containerId:r,index:s,isViewable:!1,item:o,key:i,percentOfScroller:0,percentVisible:0,scrollSize:a,size:_,sizeVisible:-1};if(!Ni(t.mapViewabilityAmountValues.get(r),e)){t.mapViewabilityAmountValues.set(r,e);let n=t.mapViewabilityAmountCallbacks.get(r);n&&n(e)}return e}let v=g-h,y=v+_,b=v>=0&&y<=a&&y>v,x=b?_:Math.min(y,a)-Math.max(v,0),S=_?b?100:x/_*100:0,C=_?x/a*100:0,w={containerId:r,index:s,isViewable:(b?100:p?C:S)>=m,item:o,key:i,percentOfScroller:C,percentVisible:S,scrollSize:a,size:_,sizeVisible:x};if(!Ni(t.mapViewabilityAmountValues.get(r),w)){t.mapViewabilityAmountValues.set(r,w);let e=t.mapViewabilityAmountCallbacks.get(r);e&&e(w)}return w}function Fi(e,t,n,r,i,a,o,s){let c=t.mapViewabilityAmountValues.get(r);return(!c||c.key!==i||c.index!==s)&&(c=Pi(e,t,n,r,i,a,o,s)),c.isViewable}function Ii(e,t,n,r){let i=n+t;e.mapViewabilityValues.set(i,r),e.mapViewabilityCallbacks.get(i)?.(r)}var Li=z.unstable_batchedUpdates,Ri=typeof Li==`function`?Li:e=>e(),zi=32,Bi=64,Vi=3;function Hi(e,t){if(e<=0||t<=0)return 0;let n=Math.ceil(t*Vi),r=t+Bi;return Math.min(Math.max(e,t),Math.max(t,Math.min(n,r),Math.min(e,zi)))}function Ui(e,t){return e<=0||t<=0?0:Math.min(Math.max(e,t),Math.max(t,Math.ceil(t*1.5)))}function Wi(e,t,n,r,i,a,o){let s=t.length;if(s===0)return[];let c=G(e,`numContainers`),l=e.state,{containerItemMetadata:u,stickyContainerPool:d}=l,f=l.props.recycleItems&&!!l.props.positionComponentInternal,p=i.length>0?new Set(i):void 0,m=t.map((e,t)=>({isSticky:l.props.stickyHeaderIndicesSet.has(e),itemIndex:e,itemType:a?.(e),order:t})),h=m.filter(e=>!e.isSticky),g=m.filter(e=>e.isSticky),_=[],v=[];for(let t=0;t<c;t++){let i=G(e,`containerItemKey${t}`),a=!!p?.has(t);if(!(i&&o?.has(i)&&l.indexByKey.has(i))){if(d.has(t))(i===void 0||a)&&v.push({containerIndex:t,distance:1/0});else if(i===void 0||a)_.push({containerIndex:t,distance:1/0});else if(!f){let e=l.indexByKey.get(i);if(e!==void 0&&(e<n||e>r)){let i=e<n?n-e:e-r;_.push({containerIndex:t,distance:i})}}}}_.sort(Gi);let y=Array(s),b=c,x=!1,S=(e,t)=>{y[e.order]={containerIndex:t,itemIndex:e.itemIndex,itemType:e.itemType},p?.delete(t)&&(x=!0)},C=(e,t,n)=>{for(let r of e){if(y[r.order])continue;let e=t.findIndex(e=>n(u.get(e.containerIndex)?.itemType,r.itemType));if(e!==-1){let[n]=t.splice(e,1);S(r,n.containerIndex)}}},w=(e,t,n)=>{a&&C(e,t,(e,t)=>t!==void 0&&e===t),C(e,t,e=>e===void 0),n&&C(e,t,()=>!0)};w(h,_,!0),w(g,v,!1);for(let e of m){if(y[e.order])continue;let t=b++;e.isSticky&&d.add(t),S(e,t)}if(x&&(i.length=0,p))for(let e of p)i.push(e);if(nt){let t=G(e,`numContainersPooled`)??1/0;b>t&&console.warn(`[legend-list] No unused container available, so creating one on demand. This can be a minor performance issue and is likely caused by the estimatedItemSize being too large. Consider decreasing estimatedItemSize.`,{debugInfo:{numContainers:c,numContainersPooled:t,numNeeded:s,stillNeeded:b-c}})}return y}function Gi(e,t){return t.distance-e.distance}function Ki(e){let t=e.state;t.queuedInitialLayout=!0,Dt(e),Ut(e,{didLayout:!0}),t.pendingMaintainScrollAtEnd&&kn(e)}var qi=4,Ji=100;function Yi(e,t){if(t<=0)return 0;let n=Math.min(1,Math.abs(e)/qi);return Math.sign(e)*t*n}function Xi(e){let t=e.state;t.scheduledWork.timeout(()=>{var e;t.scrollHistory.length=0,(e=t.triggerCalculateItemsInView)==null||e.call(t)},Ji,`renderRangeProjection`)}function Zi(e,t,n){let r=n.positions;for(let n=e.length-1;n>=0;n--){let i=r[e[n]];if(i!==void 0&&t>=i)return n}return-1}function Qi(e,t){let n=e.state,r=!1;for(let i of n.stickyContainerPool){let a=G(e,`containerItemKey${i}`);if((a?n.indexByKey.get(a):void 0)===t){r=!0;break}}return r}function $i(e,t,n,r,i,a,o){let s=e.state;K(e,`activeStickyIndex`,n>=0?t[n]:-1);for(let c=0;c<=1;c++){let l=n-c;if(l<0)continue;let u=t[l];if(Qi(e,u))continue;let d=s.idCache[u]??Q(s,u);d&&!s.containerItemKeys.has(d)&&(u<a||u>o)&&!i.has(u)&&(i.add(u),r.push(u))}}function ea(e,t,n,r,i,a,o){let s=e.state;for(let c of s.stickyContainerPool){let l=G(e,`containerItemKey${c}`),u=l?s.indexByKey.get(l):void 0;if(u===void 0||o(u))continue;let d=t.indexOf(u);if(d===-1){s.stickyContainerPool.delete(c),K(e,`containerSticky${c}`,!1);continue}if(d>=i-1&&d<=i+1)continue;let f=t[d+1],p=!1;if(f){let e=s.positions[f];p=e!==void 0&&n>e+r*2}else{let t=s.idCache[u]??Q(s,u);if(t){let i=s.positions[u],a=s.sizes.get(t)??$(e,t,u,s.props.data[u]);p=i!==void 0&&n>i+a+r*3}}p&&a.push(c)}}function ta(e,t,n,r,i,a){let o=!1;return e.startNoBuffer===null&&n+r>i&&(e.startNoBuffer=t),e.firstFullyOnScreenIndex===void 0&&n>=i-10&&n<=a&&(e.firstFullyOnScreenIndex=t),e.startNoBuffer!==null&&(n<=a?e.endNoBuffer=t:o=!0),o}function na(e,t){let n=[],r=t.firstFullyOnScreenIndex??t.startNoBuffer;if(r!=null&&t.endNoBuffer!==null)for(let i=r;i<=t.endNoBuffer;i++){let t=e.idCache[i]??Q(e,i);n.push(t)}return n}function ra(e,t){let n=e.props.onFirstVisibleItemChanged;if(!n||t===null||t<0||t>=e.props.data.length)return;let r=e.idCache[t]??Q(e,t),i=e.lastFirstVisibleItemCallback;(i?.index!==t||i.key!==r)&&(e.lastFirstVisibleItemCallback={index:t,key:r},n({index:t,item:e.props.data[t],key:r}))}function ia(e,t){let n=e.state,{endBuffered:r,idCache:i,positions:a,props:{data:o},sizes:s,startBuffered:c}=n;if(c===null||r===null||c<0||r<c)return null;for(let l=c;l<=r&&l<o.length;l++){let r=i[l]??Q(n,l),c=s.get(r)??$(e,r,l,o[l]);if(a[l]+c>t)return l}return null}function aa(e,t,n,r,i){let a=e.state,{endBuffered:o,idCache:s,positions:c,props:{data:l},sizes:u,startBuffered:d}=a;if(d===null||o===null||d<0||o<d)return;let f={endNoBuffer:null,firstFullyOnScreenIndex:void 0,startNoBuffer:null};for(let t=d;t<=o&&t<l.length;t++){let n=s[t]??Q(a,t),o=u.get(n)??$(e,n,t,l[t]),d=c[t];if(ta(f,t,d,o,r,i))break}Object.assign(a,{endNoBuffer:f.endNoBuffer,firstFullyOnScreenIndex:f.firstFullyOnScreenIndex,idsInView:na(a,f),startNoBuffer:f.startNoBuffer}),ra(a,f.startNoBuffer),f.startNoBuffer!==null&&f.endNoBuffer!==null&&ji(a,e,t,n,f.startNoBuffer,f.endNoBuffer,d,o)}function oa(e,t={}){let n=e.state;Ri(()=>{var r,i,a;let{columns:o,containerItemKeys:s,enableScrollForNextCalculateItemsInView:c,idCache:l,indexByKey:u,minIndexSizeChanged:d,positions:f,props:{alwaysRenderIndicesArr:p,alwaysRenderIndicesSet:m,getItemType:h,keyExtractor:g,onStickyHeaderChange:_},scrollForNextCalculateItemsInView:v,scrollLength:y,sizes:b,startBufferedId:x,viewabilityConfigCallbackPairs:S}=n,{data:C}=n.props,w=n.props.stickyHeaderIndicesArr||[],T=n.props.stickyHeaderIndicesSet||new Set,E=Bt(e,t.drawDistanceMode),{dataChanged:D,doMVCP:O,forceFullItemPositions:k,mvcpAdjustmentSource:A}=t,j=n.initialScrollSession?.kind===`bootstrap`?n.initialScrollSession.bootstrap:void 0,M=!!j,N=G(e,`numContainers`);if(!C||y===0||!N)return;let ee=J(e),P,te=G(e,`stylePaddingTop`)+G(e,`alignItemsAtEndPadding`)+G(e,`headerSize`),ne=G(e,`numColumns`),re=t.scrollVelocity??Gn(n),{initialScroll:ie,queuedInitialLayout:ae}=n,oe=M?j?.scroll??n.scroll:!ae&&Et(n)&&ie?or(e,ie):n.scroll,se=0,ce=0,F=0,le=0,ue=0,de=0,fe=oe,pe=t=>{fe=t,se=G(e,`scrollAdjustPending`)??0,ce=se-te,F=Math.round(t+0+ce),F+y>ee&&(F=Math.max(0,ee-y))};pe(oe);let me=G(e,`activeStickyIndex`),he=()=>{let t=w.length>0?Zi(w,F,n):-1,r=t>=0?w[t]:-1,i=me!==r;return(t>=0||me>=0)&&K(e,`activeStickyIndex`,r),{currentStickyIdx:t,finishCalculateItemsInView:_&&w.length>0&&i?()=>{let e=C[r];e!==void 0&&_?.({index:r,item:e})}:void 0}},ge=D?void 0:he(),_e=E,I=E;re>0||re===0&&F<Math.max(50,E)?(_e=E*.5,I=E*1.5):(_e=E*1.5,I=E*.5);let L=!D&&!k&&!M&&!Et(n)&&!n.scrollingTo&&!n.pendingNativeMVCPAdjust&&G(e,`readyToRender`)?Yi(re,Math.min(_e,I)):0,R=()=>{let e=Math.max(0,F),t=Math.max(0,-fe);ue=Math.max(e,F+y+t),le=e-_e+L,de=ue+I+L};if(R(),L!==0&&Xi(e),c&&!M&&!D&&!k&&v){let{top:t,bottom:i}=v;if(t===null&&i===null)n.scrollForNextCalculateItemsInView=void 0;else if((t===null||le>t)&&(i===null||de<i)&&!qn(n)){S?aa(e,S,y,F,ue):n.props.onFirstVisibleItemChanged&&ra(n,ia(e,F)),(r=ge?.finishCalculateItemsInView)==null||r.call(ge);return}}let ve=O&&!M?Hn(e,D):void 0;D&&yi(n);let ye=k||D?0:d??n.startBuffered??0;Oi(e,D,{doMVCP:O,forceFullUpdate:!!k,optimizeForVisibleWindow:!k&&!D&&ne>1&&d!==void 0,scrollBottomBuffered:de,scrollVelocity:re,startIndex:ye}),ee=J(e),d!==void 0&&(n.minIndexSizeChanged=void 0);let be;if(D&&O&&n.props.maintainVisibleContentPosition.data&&n.didContainersLayout&&n.idsInView.length>0){let e=n.props.maintainVisibleContentPosition.shouldRestorePosition;be=new Set;for(let t of n.idsInView){let n=u.get(t);n!==void 0&&(e&&!e(C[n],n,C)||be.add(t))}}let xe=n.scroll,Se=G(e,`scrollAdjustPending`)??0;ve?.(),ve&&(n.scroll!==xe||(G(e,`scrollAdjustPending`)??0)!==Se)&&(pe(n.scroll),R()),D&&(ge=he());let z=null,Ce=null,B=null,V=(M?j?.targetIndexSeed:void 0)??(!D&&x&&u.get(x)||0);for(let t=V;t>=0;t--){let r=l[t]??Q(n,t);if(f[t]+(b.get(r)??$(e,r,t,C[t]))>le)V=t;else break}if(ne>1)for(;V>0;){let e=o[V];if(e===1||e===void 0)break;--V}let H=!1,we,Te,Ee=0;for(let t=0;t<N;t++){let n=G(e,`containerItemKey${t}`);if(n!==void 0){let e=u.get(n);Ee=Math.max(Ee,e)}}let U={endNoBuffer:null,firstFullyOnScreenIndex:void 0,startNoBuffer:null},W=C.length;for(let t=Math.max(0,V);t<W&&(!H||t<=Ee);t++){let r=l[t]??Q(n,t),i=b.get(r)??$(e,r,t,C[t]),a=f[t];H||(ta(U,t,a,i,F,ue),z===null&&a+i>le&&(z=t,Ce=r,we=le<0?null:a),U.startNoBuffer!==null&&(a<=de?(B=t,Te=de>ee?null:a+i):H=!0))}Object.assign(n,{endBuffered:B,endNoBuffer:U.endNoBuffer,firstFullyOnScreenIndex:U.firstFullyOnScreenIndex,idsInView:na(n,U),startBuffered:z,startBufferedId:Ce,startNoBuffer:U.startNoBuffer}),c&&we!==void 0&&Te!==void 0&&(n.scrollForNextCalculateItemsInView=ln(we)&&ln(Te)?void 0:{bottom:Te,top:we});let De=N,Oe=[];if(D)for(let t=0;t<De;t++){let n=G(e,`containerItemKey${t}`);(!g||n&&u.get(n)===void 0)&&Oe.push(t)}let ke=n.scrollTargetPinnedRange,Ae=0,je=-1;ke&&(Ae=Math.max(0,Math.min(ke.start,ke.end)),je=Math.min(W-1,Math.max(ke.start,ke.end)));let Me=Ae<=je,Ne=e=>m.has(e)||Me&&e>=Ae&&e<=je;if(z!==null&&B!==null){let t=[],r=new Set,a=e=>{if(e>=0&&e<W){let i=l[e]??Q(n,e),a=s.get(i);a===void 0?!ln(i)&&!r.has(e)&&(r.add(e),t.push(e)):n.stickyContainerPool.add(a)}};for(let e=z;e<=B;e++){let i=l[e]??Q(n,e);s.has(i)||(r.add(e),t.push(e))}for(let e of p)a(e);if(Me)for(let e=Ae;e<=je;e++)a(e);if(w.length>0?$i(e,w,ge?.currentStickyIdx??-1,t,r,z,B):me!==-1&&K(e,`activeStickyIndex`,-1),t.length>0){let r=Wi(e,t,z,B,Oe,h?e=>{let t=h(C[e],e);return t===void 0?``:String(t)}:void 0,be);for(let t of r){let r=t.itemIndex,a=t.containerIndex,o=l[r]??Q(n,r),c=G(e,`containerItemKey${a}`);c&&c!==o&&s.delete(c),c!==o&&(P??=new Set,P.add(a),n.containerItemGenerations[a]=(n.containerItemGenerations[a]??0)+1),K(e,`containerItemKey${a}`,o),K(e,`containerItemIndex${a}`,r),K(e,`containerItemData${a}`,C[r]),n.containerItemMetadata.set(a,Yr(n,r,C[r],t.itemType)),s.set(o,a),(i=n.userScrollAnchorReset)==null||i.keys.add(o);let u=`containerSticky${a}`,d=T.has(r),f=Ne(r);d?(K(e,u,!0),n.stickyContainerPool.add(a)):(G(e,u)&&K(e,u,!1),f?n.stickyContainerPool.add(a):n.stickyContainerPool.delete(a)),a>=De&&(De=a+1)}De!==N&&(K(e,`numContainers`,De),De>G(e,`numContainersPooled`)&&K(e,`numContainersPooled`,Ui(W,De)))}n.userScrollAnchorReset?.keys.size===0&&(n.userScrollAnchorReset=void 0)}n.stickyContainerPool.size>0&&ea(e,w,F,E,ge?.currentStickyIdx??-1,Oe,Ne);let Pe=Oe.length>0?new Set(Oe):void 0,Fe=!1;for(let t=0;t<De;t++){let r=G(e,`containerItemKey${t}`);if(Pe?.has(t))r!==void 0&&(s.delete(r),P??=new Set,P.add(t),n.containerItemGenerations[t]=(n.containerItemGenerations[t]??0)+1),n.containerItemMetadata.delete(t),n.stickyContainerPool.has(t)&&(K(e,`containerSticky${t}`,!1),n.stickyContainerPool.delete(t)),K(e,`containerItemKey${t}`,void 0),K(e,`containerItemIndex${t}`,void 0),K(e,`containerItemData${t}`,void 0),K(e,`containerPosition${t}`,rt),K(e,`containerColumn${t}`,-1),K(e,`containerSpan${t}`,1);else{let n=u.get(r);n!==void 0&&(Fe=Si(e,t,n,{scrollAdjustPending:se,updateLayout:!0}).didChangePosition||Fe)}}if(P&&Xe&&xi(e,P),Fe&&K(e,`lastPositionUpdate`,Date.now()),M){Kr(e);return}ra(n,U.startNoBuffer),!ae&&!n.didContainersLayout&&(Et(n)?dr(n,n.startBuffered,n.endBuffered):dr(n,n.startNoBuffer,n.endNoBuffer)||dr(n,n.startBuffered,n.endBuffered))&&(Ki(e),gi(e)),S&&U.startNoBuffer!==null&&U.endNoBuffer!==null&&ji(e.state,e,S,y,U.startNoBuffer,U.endNoBuffer,z??U.startNoBuffer,B??U.endNoBuffer),(a=ge?.finishCalculateItemsInView)==null||a.call(ge)})}function sa(e){var t,n;let r=e.state,i=r.props.anchoredEndSpace,a=G(e,`anchoredEndSpaceSize`),o=r.anchoredEndSpaceReadyAnchorIndex,s=r.anchoredEndSpaceReadyAnchorKey,c=i?.anchorIndex,l,u=!0,d=0;if(i){let{anchorIndex:t,anchorMaxSize:n,anchorOffset:o=0}=i,{data:s}=r.props;if(t>=0&&t<s.length&&r.scrollLength>0){l=Q(r,t);let i=0,c=!1;for(let r=t;r<s.length;r++){let a=mn(e,r),o=r===t&&n!==void 0?Math.min(a||0,Math.max(0,n)):a;a===void 0&&(c=!0),o!=null&&o>0&&(i+=o)}i=Math.max(0,i-e.scrollAxisGap),i+=(e.values.get(`footerSize`)||0)+Oe(r.props),u=!c,d=c?a||0:Math.max(0,r.scrollLength-i-o)}else t>=0&&(u=!1)}let f=a!==d&&(a!==void 0||i!==void 0),p=(a||0)!==d;return u&&(f||o!==c||s!==l)&&(r.anchoredEndSpaceReadyAnchorIndex=c,r.anchoredEndSpaceReadyAnchorKey=l,f&&(K(e,`anchoredEndSpaceSize`,d),(t=i?.onSizeChanged)==null||t.call(i,d)),p&&(en(e),Jn(e,r.scroll,!0,{markHasScrolled:!1})),(n=i?.onReady)==null||n.call(i,{anchorIndex:c,anchorKey:l,size:d})),d}function ca(e){let t=e.state;t.userScrollAnchorReset===void 0?t.mvcpAnchorLock?t.scheduledWork.has(`mvcpRecalculate`)||t.scheduledWork.frame(()=>oa(e,{doMVCP:!0,mvcpAdjustmentSource:`item-size`}),`mvcpRecalculate`):(t.scheduledWork.cancel(`mvcpRecalculate`),oa(e,{doMVCP:!0,mvcpAdjustmentSource:`item-size`})):(oa(e),t.userScrollAnchorReset?.keys.size===0&&(t.userScrollAnchorReset=void 0))}function la(e,t,n){if(e.state.needsOtherAxisSize){let r=n?t.height:t.width,i=G(e,`otherAxisSize`);(!i||r>i)&&K(e,`otherAxisSize`,r)}}var ua;function da(e){let t=ua===void 0;ua??=new Map;try{e()}finally{if(t){let e=ua;ua=void 0;for(let[t,n]of e)ha(t,n)}}}function fa(e,t){e.didChange||=t.didChange,e.didMeasureUserScrollAnchorResetItem||=t.didMeasureUserScrollAnchorResetItem,e.needsRecalculate||=t.needsRecalculate,e.shouldMaintainScrollAtEnd||=t.shouldMaintainScrollAtEnd}function pa(e,t){let n=e.state;t.needsRecalculate?(n.scrollForNextCalculateItemsInView=void 0,ca(e)):t.didMeasureUserScrollAnchorResetItem&&n.userScrollAnchorReset?.keys.size===0&&(n.userScrollAnchorReset=void 0),t.didChange&&sa(e),t.didChange&&t.shouldMaintainScrollAtEnd&&kn(e)}function ma(e,t){if(ua){let n=ua.get(e);n?n.push(t):ua.set(e,[t])}else ha(e,[t])}function ha(e,t){let n=e.state,r={};for(let i of t)if(i.containerId===void 0||G(e,`containerItemKey${i.containerId}`)===i.itemKey){let t=n.indexByKey.get(i.itemKey),a=t===void 0?void 0:n.props.data?.[t],o=i.containerId!==void 0&&t!==void 0&&a!==void 0?Xr(n,i.containerId,t,a):void 0;fa(r,ga(e,i.itemKey,i.size,o))}pa(e,r)}function ga(e,t,n,r){let i=e.state,a=!!i.userScrollAnchorReset?.keys.delete(t),{didContainersLayout:o,sizesKnown:s,props:{getFixedItemSize:c,getItemType:l,horizontal:u,onItemSizeChanged:d,data:f,maintainScrollAtEnd:p}}=i;if(!f)return{didMeasureUserScrollAnchorResetItem:a};let m=i.indexByKey.get(t);if(c){if(m===void 0)return{didMeasureUserScrollAnchorResetItem:a};let o=i.props.data[m];if(o===void 0)return{didMeasureUserScrollAnchorResetItem:a};if(!r?.didResolveFixedItemSize){let e=r?.itemType??(l?l(o,m)??``:``);r={didResolveFixedItemSize:!0,fixedItemSize:c(o,m,e),itemType:e}}let d=r.fixedItemSize;if(d!==void 0&&d===s.get(t))return la(e,n,u),{didMeasureUserScrollAnchorResetItem:a}}let h=!o,g=!1,_,v=i.sizesKnown.get(t),y=_a(e,t,n,r),b=cn(u?n.width:n.height);if(y!==0){_=_===void 0?m:Math.min(_,m);let{startBuffered:e,endBuffered:n}=i;h||=m>=e&&m<=n,!h&&i.containerItemKeys.has(t)&&(h=!0),(v===void 0||Math.abs(v-b)>5)&&(g=!0),d?.({index:m,itemData:i.props.data[m],itemKey:t,previous:b-y,size:b})}if(_!==void 0&&(i.minIndexSizeChanged=i.minIndexSizeChanged===void 0?_:Math.min(i.minIndexSizeChanged,_)),la(e,n,u),o||dr(i,i.startBuffered,i.endBuffered)){let e=g&&!!p?.onItemLayout;return{didChange:y!==0,didMeasureUserScrollAnchorResetItem:a,needsRecalculate:h,shouldMaintainScrollAtEnd:e}}return{didChange:y!==0,didMeasureUserScrollAnchorResetItem:a}}function _a(e,t,n,r){let{indexByKey:i,sizesKnown:a,averageSizes:o,props:{data:s,horizontal:c,getItemType:l,getFixedItemSize:u}}=e.state;if(!s)return 0;let d=i.get(t),f=s[d],p=r?.itemType,m=r?.fixedItemSize;u&&!r?.didResolveFixedItemSize&&(p=l?l(f,d)??``:``,m=u(f,d,p));let h=$(e,t,d,f,void 0,void 0,void 0,r?.didResolveFixedItemSize||p!==void 0||m!==void 0?{didResolveFixedItemSize:r?.didResolveFixedItemSize,fixedItemSize:m,itemType:p}:void 0),g=c?n.width:n.height,_=a.get(t),v=Math.round(g);if(a.set(t,v),m===void 0&&v>0){p??=l?l(f,d)??``:``;let e=o[p];e||=o[p]={avg:0,num:0},e.num===0?(e.avg=v,e.num++):_!==void 0&&_>0?e.avg+=(v-_)/e.num:(e.avg=(e.avg*e.num+v)/(e.num+1),e.num++)}return!h||Math.abs(h-v)>.1?(nn(e,t,v),v-h):0}function va(e,t=null){let n=[],r=t??e.viewRefs.keys();for(let t of r){let r=e.viewRefs.get(t),i=G(e,`containerItemKey${t}`),a=r?.current;if(i!==void 0&&a){let e=a.getBoundingClientRect();$e(a,e),n.push({containerId:t,itemKey:i,size:{height:e.height,width:e.width}})}}n.length>0&&ha(e,n)}var ya=L.forwardRef,ba=L.memo,xa=ba(function({children:e}){let t=Re(),[n]=q([`containerLayoutEpoch`]);return L.useLayoutEffect(()=>{{let e=bi(t);e!==void 0&&va(t,e)}},[t,n]),e}),Sa=e=>L.isValidElement(e)?e:e?L.createElement(e,null):null,Ca={contain:`paint layout style`,...typeof document<`u`&&document.getElementById(`react-native-stylesheet`)?{display:`flex`,flexDirection:`column`}:{}},wa=ba(function({id:e,horizontal:t,style:n,refView:r,...i}){let[a=rt]=q([`containerPosition${e}`]),o=an(n)?Object.assign({},...n):n,s=t?{...Ca,...o,left:a}:{...Ca,...o,top:a},{animatedScrollY:c,onLayout:l,onLayoutChange:u,stickyHeaderConfig:d,...f}=i;return L.createElement(`div`,{ref:r,...f,style:s})}),Ta=ba(function({id:e,horizontal:t,style:n,refView:r,animatedScrollY:i,stickyHeaderConfig:a,onLayout:o,onLayoutChange:s,children:c,...l}){let[u=rt,d,f]=q([`containerPosition${e}`,`activeStickyIndex`,`containerItemIndex${e}`]),p=L.useMemo(()=>(an(n)?Object.assign({},...n):n)??{},[n]),m=L.useMemo(()=>{let e={...Ca,...p};delete e.transform;let n=a?.offset??0,r=d===f;return e.position=r?`sticky`:`absolute`,e.zIndex=f+1e3,t?e.left=r?n:u:e.top=r?n:u,e},[p,t,u,f,d,a?.offset]),h=L.useMemo(()=>a?.backdropComponent?L.createElement(`div`,{style:{inset:0,pointerEvents:`none`,position:`absolute`}},Sa(a.backdropComponent)):null,[a?.backdropComponent]);return L.createElement(`div`,{ref:r,style:m,...l},h,c)}),Ea=wa;function Da(e){(0,L.useState)(()=>e())}var Oa=(0,L.createContext)(null),ka=-1;function Aa(){return(0,L.useContext)(Oa)}function ja(){let e=Aa(),[t]=q([`containerItemKey${e?.containerId??ka}`]);return Ge(`lastItemKeys`,n=>e&&!ln(t)&&n?.includes(t)||!1)}function Ma({ItemSeparatorComponent:e,leadingItem:t}){return ja()?null:L.createElement(e,{leadingItem:t})}var Na=null;function Pa(){return Na||=new ResizeObserver(e=>{da(()=>{for(let t of e){let e=Fa.get(t.target);if(e)for(let n of e)n(t)}})}),Na}var Fa=new WeakMap;function Ia(e,t){if(typeof ResizeObserver>`u`||!e)return()=>{};let n=Pa(),r=Fa.get(e)??new Set;return r.size===0&&(Fa.set(e,r),n.observe(e,{box:`border-box`})),r.add(t),()=>{r.delete(t),r.size===0&&(Fa.delete(e),n.unobserve(e))}}function La({ref:e,measureInLayoutEffect:t=!0,onLayoutProp:n,onLayoutChange:r,webLayoutResync:i},a){return(0,L.useLayoutEffect)(()=>{let a=e.current,o=((a?.getScrollableNode)?.call(a)??null)||a;if(!o)return;let s=(e,t)=>{(e.height!==0||e.width!==0)&&(r(e,t),n?.({nativeEvent:{layout:e}}))},c;if(t){let e=o.getBoundingClientRect();s(Ra(e),!0),c=e}return Ia(o,e=>{let t=e.target instanceof HTMLElement?e.target:void 0,n=Array.isArray(e.borderBoxSize)?e.borderBoxSize[0]:e.borderBoxSize,r=n?{height:n.blockSize,left:e.contentRect.left,top:e.contentRect.top,width:n.inlineSize}:t?.getBoundingClientRect()??e.contentRect,a=c??Qe(o),l=a===void 0||r.width!==a.width||r.height!==a.height;c=r;let u=!!i?.();(l||u)&&s(Ra(r),!1)})},[t,...a||[]]),{}}function Ra(e){return e?{height:e.height,width:e.width,x:e.left,y:e.top}:{height:0,width:0,x:0,y:0}}var za=new Map,Ba;function Va(e){za.delete(e)}function Ha(e,t){za.set(e,t),Ba===void 0&&(Ba=requestAnimationFrame(()=>{let e=Array.from(za.values());za.clear(),Ba=void 0,da(()=>{for(let t of e)t()})}))}function Ua({containerId:e,ctx:t,rectangle:n,ref:r,state:i}){let a=t.state,o=i.itemKey;i.didLayout=!0;let s=n,c=i.horizontal?`width`:`height`,l=cn(n[c]);i.lastSize&&cn(i.lastSize[c]);let u=a.sizesKnown.get(o),d=()=>{i.lastSize=s,ma(t,{containerId:e,itemKey:o,size:s})};!qn(a)&&u!==void 0&&l+1<u?Ha(i,()=>{if(i.itemKey===o){let e=r.current,t=(e?.getBoundingClientRect)?.call(e);t&&(s={height:t.height,width:t.width}),d()}}):(Va(i),d())}function Wa({containerId:e,ctx:t,horizontal:n,itemKey:r,ref:i}){let a=(0,L.useRef)({didLayout:!1,horizontal:n,itemKey:r});a.current.horizontal=n,a.current.itemKey=r;let[o,s]=(0,L.useState)(0),c=(0,L.useCallback)(n=>{Ua({containerId:e,ctx:t,rectangle:n,ref:i,state:a.current})},[e,t,i]),l=(0,L.useCallback)(()=>{xi(t,e)},[e,t]);(0,L.useLayoutEffect)(()=>(t.containerLayoutTriggers.set(e,l),()=>{Va(a.current),t.containerLayoutTriggers.get(e)===l&&t.containerLayoutTriggers.delete(e)}),[e,t,l]),(0,L.useLayoutEffect)(()=>{xi(t,e)});let{onLayout:u}=La({measureInLayoutEffect:!Xe,onLayoutChange:c,ref:i,webLayoutResync:()=>qn(t.state)},[r,o]);return(0,L.useEffect)(()=>{},[e,t,r]),{onLayout:u,triggerLayout:l}}function Ga({columnWrapperStyle:e,contentContainerAlignItems:t,horizontal:n,hasItemSeparator:r,isHorizontalRTLList:i,numColumns:a,otherAxisPos:o,otherAxisSize:s}){let c;if(e){let{columnGap:t,rowGap:r,gap:i}=e;c=n?{paddingBottom:a>1?(r||i||0)/2:void 0,paddingRight:t||i||void 0,paddingTop:a>1?(r||i||0)/2:void 0}:{paddingBottom:r||i||void 0,paddingLeft:a>1?(t||i||0)/2:void 0,paddingRight:a>1?(t||i||0)/2:void 0}}return n?{bottom:t===`flex-end`&&a===1?0:void 0,boxSizing:c?`border-box`:void 0,direction:i&&V.OS===`web`?`ltr`:void 0,flexDirection:r?`row`:void 0,height:s,left:0,position:`absolute`,top:t===`flex-end`&&a===1?void 0:o,...c||{}}:{boxSizing:c?`border-box`:void 0,left:o,position:`absolute`,right:a>1?null:0,top:0,width:s,...c||{}}}var Ka=ba(function({id:e,itemKey:t,recycleItems:n,horizontal:r,getRenderedItem:i,ItemSeparatorComponent:a,stickyHeaderConfig:o}){let s=Re(),{columnWrapperStyle:c,animatedScrollY:l}=s,u=W(s.state),d=s.state.props.positionComponentInternal,f=s.state.props.stickyPositionComponentInternal,[p=0,m=1,h,g=1,_,v]=q([`containerColumn${e}`,`containerSpan${e}`,`containerItemData${e}`,`numColumns`,`extraData`,`containerSticky${e}`]),y=(0,L.useRef)(null),{onLayout:b,triggerLayout:x}=Wa({containerId:e,ctx:s,horizontal:r,itemKey:t,ref:y}),S=p>0?p:1,C=Math.min(Math.max(m||1,1),g),w=g>1?`${(S-1)/g*100}%`:0,T=g>1?`${C/g*100}%`:void 0,E=(0,L.useMemo)(()=>Ga({columnWrapperStyle:c,contentContainerAlignItems:s.state.props.contentContainerAlignItems,hasItemSeparator:!!a,horizontal:r,isHorizontalRTLList:u,numColumns:g,otherAxisPos:w,otherAxisSize:T}),[r,u,w,T,c,s.state.props.contentContainerAlignItems,g,a]),D=(0,L.useMemo)(()=>t===void 0?null:i(t),[t,h,_]),{renderedItem:O}=D||{},k=(0,L.useMemo)(()=>(s.viewRefs.set(e,y),{containerId:e,triggerLayout:x}),[e,x]),A=v?f||Ta:d||Ea;return L.createElement(A,{animatedScrollY:v?l:void 0,horizontal:r,id:e,key:n?void 0:t,onLayout:b,refView:y,stickyHeaderConfig:o,style:E},L.createElement(Oa.Provider,{value:k},O,D&&a&&L.createElement(Ma,{ItemSeparatorComponent:a,leadingItem:D.item})))});function qa({id:e,horizontal:t,recycleItems:n,ItemSeparatorComponent:r,getRenderedItem:i,stickyHeaderConfig:a,ContainerComponent:o=Ka}){let[s]=q([`containerItemKey${e}`]);return s===void 0?null:L.createElement(o,{getRenderedItem:i,horizontal:t,ItemSeparatorComponent:r,id:e,itemKey:s,recycleItems:n,stickyHeaderConfig:a})}var Ja=ba(function(e){return L.createElement(qa,{...e})});function Ya(e,t){let n=Array.from(e.children);if(n.length<=1)return n;let r=n.map(e=>[e,t.get(e)??null]);r.sort((e,t)=>{let n=e[1],r=t[1];return n===null?1:r===null?-1:n-r});let i=new Map;r.forEach((e,t)=>{i.set(e[0],t)});let a=Xa(n.map(e=>i.get(e))),o=new Set(a);for(let t=0;t<r.length;t++){let i=r[t][0],a=n.indexOf(i);if(!o.has(a)){let a=null;for(let e=t+1;e<r.length;e++){let t=r[e][0],i=n.indexOf(t);if(o.has(i)){a=t;break}}a?e.insertBefore(i,a):e.appendChild(i)}}}function Xa(e){let t=e.length,n=[],r=Array(t).fill(-1),i=[];for(let a=0;a<t;a++){let t=e[a],o=0,s=n.length;for(;o<s;){let n=Math.floor((o+s)/2);e[i[n]]<t?o=n+1:s=n}o===n.length?(n.push(t),i.push(a)):(n[o]=t,i[o]=a),o>0&&(r[a]=i[o-1])}let a=[],o=i[i.length-1];for(;o!==-1;)a.unshift(o),o=r[o];return a}function Za(e){let t=Re(),n=(0,L.useRef)(void 0);(0,L.useEffect)(()=>{let r=He(t,`lastPositionUpdate`,()=>{n.current!==void 0&&clearTimeout(n.current),n.current=setTimeout(()=>{let r=e.current;if(r){let e=new Map;for(let[n,r]of t.viewRefs){let i=r.current,a=G(t,`containerItemIndex${n}`);i&&a!==void 0&&e.set(i,a)}Ya(r,e)}n.current=void 0},500)});return()=>{r(),n.current!==void 0&&clearTimeout(n.current)}},[t])}function Qa(e,t){let[n,r]=(0,L.useState)(t),i=n!==t;return(0,L.useLayoutEffect)(()=>{r(t)},[t]),e&&!i}var $a=ba(function({freshDataTransitionEpoch:e,horizontal:t,numColumns:n,children:r}){let i=(0,L.useRef)(null),a=Re(),o=a.columnWrapperStyle,s=W(a.state),[c,l,u]=q([`otherAxisSize`,`readyToRender`,`totalSize`]),d=Qa(!!l,e);Za(i);let f=t?{direction:s?`ltr`:void 0,flexShrink:0,minHeight:c,opacity:+!!d,position:`relative`,width:u}:{height:u,minWidth:c,opacity:+!!d,position:`relative`};if(d||(f.pointerEvents=`none`),o&&n>1){let{columnGap:e,rowGap:n,gap:r}=o,i=e||r||0,a=n||r||0;t?(a&&(f.marginTop=f.marginBottom=-a/2),i&&(f.marginRight=-i)):a&&(f.marginBottom=-a)}return L.createElement(`div`,{ref:i,style:f},L.createElement(xa,null,r))}),eo=ba(function({freshDataTransitionEpoch:e,horizontal:t,recycleItems:n,ItemSeparatorComponent:r,getRenderedItem:i,stickyHeaderConfig:a}){let[o,s]=q([`numContainersPooled`,`numColumns`]),c=[];for(let e=0;e<o;e++)c.push(L.createElement(Ja,{getRenderedItem:i,horizontal:t,ItemSeparatorComponent:r,id:e,key:e,recycleItems:n,stickyHeaderConfig:a}));return L.createElement($a,{freshDataTransitionEpoch:e,horizontal:t,numColumns:s},c)});function to(e){return an(e)?Object.assign({},...e.filter(Boolean)):e}var no={create:e=>e,flatten:e=>to(e)};function ro(e){let t=L.useRef(e);return t.current=e,t}function io(e){let t=ro(e),n=(0,L.useRef)(void 0),r=(0,L.useMemo)(()=>({cancel(){n.current!==void 0&&(cancelAnimationFrame(n.current),n.current=void 0)},flush(){r.cancel(),t.current()},schedule(){if(n.current!==void 0)return!1;let e=requestAnimationFrame(()=>{n.current===e&&(n.current=void 0,t.current())});return n.current=e,!0}}),[]);return(0,L.useEffect)(()=>()=>{r.cancel()},[r]),r}var ao=`legend-list-content-container`,oo=`legend-list-scrollbar-x-hidden`,so=`legend-list-scrollbar-y-hidden`;function co(){return typeof document>`u`?null:document.scrollingElement||document.documentElement||document.body}function lo(){return typeof window>`u`?{x:0,y:0}:{x:window.scrollX??window.pageXOffset??0,y:window.scrollY??window.pageYOffset??0}}function uo(e,t){let n=e?.getBoundingClientRect();return{left:(n?.left??0)+t.x,top:(n?.top??0)+t.y}}function fo(e){return{height:e?.scrollHeight??0,width:e?.scrollWidth??0}}function po(e,t,n){return fo(n?t:e)}function mo(e,t,n){if(t&&typeof window<`u`){let t=e?.getBoundingClientRect();return{height:n?t?.height??e?.clientHeight??window.innerHeight:window.innerHeight,width:n?window.innerWidth:t?.width??e?.clientWidth??window.innerWidth}}return{height:e?.clientHeight??0,width:e?.clientWidth??0}}function ho(e,t){return Math.max(0,Math.min(e,t))}function go(e,t){return t?e.width:e.height}function _o(e,t,n){return Math.max(0,go(e,n)-go(t,n))}function vo(e,t){return t&&co()||e}function yo(e,t){return t&&typeof window<`u`?window:e}function bo(e,t,n){let r=e.getBoundingClientRect(),i=lo();return{height:t&&typeof window<`u`&&!n?window.innerHeight:r.height,width:t&&typeof window<`u`&&n?window.innerWidth:r.width,x:t?r.left+i.x:r.left,y:t?r.top+i.y:r.top}}function xo({clampedOffset:e,horizontal:t,listPos:n,scroll:r}){return{left:t?n.left+e:r.x,top:t?r.y:n.top+e}}var So=`legend-list-scrollbar-axis-hidden-style`,Co=200,wo=`.${so}::-webkit-scrollbar:vertical{width:0;display:none;}.${oo}::-webkit-scrollbar:horizontal{height:0;display:none;}`;function To(){if(typeof document>`u`||document.getElementById(So))return;let e=document.createElement(`style`);e.id=So,e.textContent=wo,document.head.appendChild(e)}function Eo(e){let t=e.state?.props?.contentInsetEndAdjustment;return Math.max(0,t??0)}function Do(e){if(!e?.length)return[];let t=[],n=new Set;for(let r of e)Number.isFinite(r)&&!n.has(r)&&(n.add(r),t.push(r));return t}function Oo(e,t){return{height:t?`100%`:1,left:t?e:0,pointerEvents:`none`,position:`absolute`,scrollSnapAlign:`start`,top:t?0:e,width:t?1:`100%`}}var ko=(0,L.forwardRef)(function({children:e,style:t,contentContainerClassName:n,contentContainerStyle:r,horizontal:i=!1,contentOffset:a,maintainVisibleContentPosition:o,onScroll:s,onInternalScrollEnd:c,onMomentumScrollEnd:l,showsHorizontalScrollIndicator:u=!0,showsVerticalScrollIndicator:d=!0,refreshControl:f,useWindowScroll:p=!1,onLayout:m,...h},g){let _=Re(),[v]=q([`anchoredEndSpaceSize`]),y=(0,L.useRef)(null),b=(0,L.useRef)(null),x=p,S=(0,L.useCallback)(()=>yo(y.current,x),[x]),C=(0,L.useCallback)(()=>{let e=y.current;return _o(po(e,b.current,x),mo(e,x,i),i)},[i,x]),w=(0,L.useCallback)(()=>{let e=y.current;if(x){let t=C(),n=lo(),r=uo(e,n);return ho(i?n.x-r.left:n.y-r.top,t)}return e?i?e.scrollLeft:e.scrollTop:0},[C,i,x]),T=(0,L.useCallback)((e,t)=>{let n=y.current,r=S();if(!r||typeof r.scrollTo!=`function`)return;let a=ho(e,C()),o={behavior:t?`smooth`:`auto`};if(x){let e=lo(),{left:t,top:r}=xo({clampedOffset:a,horizontal:i,listPos:uo(n,e),scroll:e});o.left=t,o.top=r}else i?o.left=a:o.top=a;r.scrollTo(o)},[C,S,i,x]);(0,L.useImperativeHandle)(g,()=>({getBoundingClientRect:()=>y.current?.getBoundingClientRect(),getCurrentScrollOffset:w,getScrollableNode:()=>vo(y.current,x),getScrollEventTarget:()=>S(),getScrollResponder:()=>vo(y.current,x),isWindowScroll:()=>x,scrollBy:(e,t)=>{let n=S();!n||typeof n.scrollBy!=`function`||n.scrollBy({behavior:`auto`,left:e,top:t})},scrollTo:e=>{let{x:t=0,y:n=0,animated:r=!0}=e;T(i?t:n,r)},scrollToEnd:(e={})=>{let{animated:t=!0}=e,n=C();T(n,t)},scrollToOffset:e=>{let{offset:t,animated:n=!0}=e;T(t,n)}}),[w,C,S,i,x,T]);let E=io((0,L.useCallback)(()=>{if(!s||!y.current)return;let e=fo(b.current),t=mo(y.current,x,i),n=w();s({nativeEvent:{contentOffset:{x:i?n:0,y:i?0:n},contentSize:{height:e.height,width:e.width},layoutMeasurement:{height:t.height,width:t.width}}})},[w,i,x,s])),D=(0,L.useRef)(void 0),O=(0,L.useCallback)(()=>{let e=D.current;e!==void 0&&(clearTimeout(e),D.current=void 0),E.flush(),c?.()},[c,E]),k=(0,L.useCallback)(e=>{if(!s)return;let t=_.state;if(t?.scrollingTo||t?.initialScrollSession&&!t.didFinishInitialScroll||t?.initialScroll&&!t.didFinishInitialScroll||t&&qn(t)?E.flush():E.schedule(),c){let e=D.current;e!==void 0&&clearTimeout(e),D.current=setTimeout(O,Co)}},[_.state,O,c,s,E]);(0,L.useLayoutEffect)(()=>{let e=S();if(e)return e.addEventListener(`scroll`,k,{passive:!0}),`onscrollend`in e&&e.addEventListener(`scrollend`,O),()=>{e.removeEventListener(`scroll`,k),`onscrollend`in e&&e.removeEventListener(`scrollend`,O);let t=D.current;t!==void 0&&(clearTimeout(t),D.current=void 0),E.cancel()}},[O,S,k,E]),(0,L.useEffect)(()=>{let e=()=>{a&&T(i?a.x||0:a.y||0,!1)};e(),requestAnimationFrame(e)},[a?.x,a?.y,i,T]),(0,L.useLayoutEffect)(()=>{if(!m||!y.current)return;let e=y.current,t=()=>{m({nativeEvent:{layout:bo(e,x,i)}})};t();let n=new ResizeObserver(()=>{t()});n.observe(e);let r=()=>{t()};return x&&typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`resize`,r),()=>{n.disconnect(),x&&typeof window<`u`&&typeof window.removeEventListener==`function`&&window.removeEventListener(`resize`,r)}},[x,m]);let A=!x&&(i?!u&&oo:!d&&so);(0,L.useLayoutEffect)(()=>{A&&To()},[A]);let j={...x?{}:{overflow:`auto`,overflowX:i||u?`auto`:`hidden`,overflowY:i?d?`auto`:`hidden`:`auto`,WebkitOverflowScrolling:`touch`},...no.flatten(t),...o?{overflowAnchor:`none`}:{}},M=Eo(_),N=_.state?.props?.anchoredEndSpace&&v?v:0,ee=Math.max(0,M-N),P=ee?i?{flexShrink:0,width:ee}:{height:ee}:void 0,te={display:i?`flex`:`block`,flexDirection:i?`row`:void 0,minHeight:i?void 0:`100%`,minWidth:i?`100%`:void 0,...no.flatten(r),...o?{overflowAnchor:`none`}:{}},ne=n?`${ao} ${n}`:ao,{contentContainerClassName:re,contentInset:ie,scrollEventThrottle:ae,ScrollComponent:oe,snapToOffsets:se,useWindowScroll:ce,className:F,...le}=h,ue=x?[]:Do(se);ue.length>0&&(j.scrollSnapType=i?`x mandatory`:`y mandatory`,te.position=te.position??`relative`);let de=A?F?`${F} ${A}`:A:F;return nt&&/(?:^|\s)(?:[a-z0-9_-]+:)*gap(?:-[xy])?-(?:\[[^\]]+\]|[^\s]+)/.test(`${n??``} ${F??``}`)&&sn(`className-gap`,`className/contentContainerClassName gap classes are not supported in LegendList because it needs to use exact values internally. Use contentContainerStyle={{ gap: ... }} or columnWrapperStyle instead.`),L.createElement(`div`,{className:de,ref:y,...le,style:j},f,L.createElement(`div`,{className:ne,ref:b,style:te},ue.map(e=>L.createElement(`div`,{"aria-hidden":!0,"data-legend-list-snap-anchor":e,key:`snap-${e}`,style:Oo(e,i)})),e,P?L.createElement(`div`,{"aria-hidden":!0,style:P}):null))});function Ao({horizontal:e,needsOtherAxisSize:t,otherAxisSize:n}){if(!(!t||!n||n<=0))return e?{height:n}:{width:n}}function jo(e,t){let n=Re();(0,L.useLayoutEffect)(()=>He(n,e,e=>{t(e)}),[t,n,e])}function Mo(e){return e?{contentSizeKey:`scrollWidth`,paddingEndProp:`paddingRight`,viewportSizeKey:`clientWidth`,x:1,y:0}:{contentSizeKey:`scrollHeight`,paddingEndProp:`paddingBottom`,viewportSizeKey:`clientHeight`,x:0,y:1}}function No(e,t){let n=e.state?.refScroller.current,r=(n?.getScrollableNode)?.call(n)??null,i=null;return r&&(i=t?.isConnected&&t.parentElement===r?t:r.querySelector(`:scope > .${ao}`)),r?{contentNode:i,scrollElement:r}:null}function Po(e,t,n){e.scrollBy({behavior:`auto`,left:t,top:n})}function Fo(){let e=Re(),t=L.useRef(0),n=L.useRef(0),r=L.useRef(void 0),i=L.useRef(void 0),a=L.useRef(null),o=L.useCallback(()=>{let o=G(e,`scrollAdjust`),s=G(e,`scrollAdjustUserOffset`),c=(o||0)+(s||0);if(c-t.current!==0){let o=No(e,a.current);if(o){let t=!!e.state.props.horizontal,c=Mo(t),{contentNode:l,scrollElement:u}=o,d=t?u.scrollLeft:u.scrollTop,f=(s||0)-n.current,p=(f===0?e.state.scroll:d+f)-d,m=Math.abs(p)>.01,h=()=>Po(u,c.x*p,c.y*p);if(a.current=l,m&&l){let t=l[c.contentSizeKey],n=u[c.viewportSizeKey],a=d+p;if(p>0&&!e.state.adjustingFromInitialMount&&t<a+n){let e=l.style[c.paddingEndProp],o=i.current,s=o?.value===e?o.baseline:e,u=(a+n-t)*2,d=`${(Number.parseFloat(window.getComputedStyle(l)[c.paddingEndProp])||0)+u}px`;i.current={baseline:s,value:d},l.style[c.paddingEndProp]=d,l.offsetHeight,h(),r.current!==void 0&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{let e=i.current;r.current=void 0,i.current=void 0,l.style[c.paddingEndProp]===e?.value&&(l.style[c.paddingEndProp]=e.baseline)})}else h()}else m&&h()}t.current=c,n.current=s||0}},[e]);return jo(`scrollAdjust`,o),jo(`scrollAdjustUserOffset`,o),null}var Io=L.forwardRef(function({ScrollComponent:e,...t},n){let[r]=q([`snapToOffsets`]);return L.createElement(e,{...t,ref:n,snapToOffsets:r})}),Lo=.1;function Ro(e,t,n){let r=G(e,t)!==n;return r&&(K(e,t,n),en(e)),r}function zo(e,t,n){let{didContainersLayout:r,didFinishInitialScroll:i,props:a,scroll:o,scrollingTo:s}=e.state,c=n-t,l=((a.horizontal?a.stylePaddingLeft:a.stylePaddingTop)||0)+t;return a.maintainVisibleContentPosition.size&&r&&i&&!s&&o>=l-Lo&&Math.abs(c)>Lo}function Bo(e,t){let{state:n}=e,r=G(e,`headerSize`)||0,i=r!==t,a=n.didMeasureHeader||r>Lo;i&&(K(e,`headerSize`,t),en(e),a&&zo(e,r,t)&&Dn(e,t-r)),n.didMeasureHeader=!0}function Vo(e,t){let n=Ro(e,`footerSize`,t);return n&&sa(e),n}function Ho(e,t){return(e?.top??0)===(t?.top??0)&&(e?.bottom??0)===(t?.bottom??0)&&(e?.left??0)===(t?.left??0)&&(e?.right??0)===(t?.right??0)}function Uo(e,t){let{state:n}=e,r=n.contentInsetOverride,i=t??void 0,a=!Ho(r,i);return n.contentInsetOverride=i,a&&en(e),a}function Wo(e,t){let n=ro(e),r=ro(t);return L.useMemo(()=>L.forwardRef((e,t)=>n.current?.call(n,r.current(e,t))??null),[r,n])}var Go=({onLayoutChange:e,refView:t,children:n,...r})=>{let i=(0,L.useRef)(null),a=t??i;return La({onLayoutChange:e,ref:a}),L.createElement(`div`,{...r,ref:a},n)},Ko=ba(function({horizontal:e}){let[t=0]=q([`alignItemsAtEndPadding`]);return t<=0?null:L.createElement(Ce,{style:e?{flexShrink:0,width:t}:{flexShrink:0,height:t}},null)}),qo=ba(function({canRender:e,freshDataTransitionEpoch:t,style:n,contentContainerStyle:r,horizontal:i,initialContentOffset:a,recycleItems:o,ItemSeparatorComponent:s,alignItemsAtEnd:c,onScroll:l,onLayout:u,ListHeaderComponent:d,ListHeaderComponentStyle:f,ListFooterComponent:p,ListFooterComponentStyle:m,ListEmptyComponent:h,getRenderedItem:g,refScrollView:_,renderScrollComponent:v,onLayoutFooter:y,onInternalScrollBeginDrag:b,onInternalScrollEnd:x,scrollAdjustHandler:S,snapToIndices:C,stickyHeaderConfig:w,stickyHeaderIndices:T,useWindowScroll:E=!1,...D}){let O=Re(),k=O.state.props.maintainVisibleContentPosition,[A=0,j=0]=q([`anchoredEndSpaceSize`,`otherAxisSize`]),M=O.state.props.alignItemsAtEndPaddingEnabled,N=!!O.state.props.anchoredEndSpace&&O.state.props.anchoredEndSpaceOwner===`list`&&A>0,ee;if(N){let e=i?W(O.state)?`Left`:`Right`:`Bottom`,t=no.flatten(r);ee={[`padding${e}`]:dn({},t||{},e)+A}}let P=Ao({horizontal:i,needsOtherAxisSize:O.state.needsOtherAxisSize,otherAxisSize:j}),te=Wo(v,(e,t)=>({...e,ref:t})),ne=v?te:ko,re=C?Io:ne,ie=(0,L.useCallback)((e,t)=>{let n=Vo(O,e);t?.(),n&&O.state.props.maintainScrollAtEnd?.onFooterLayout&&kn(O)},[O]);(0,L.useLayoutEffect)(()=>{d||Bo(O,0),p||ie(0)},[d,p,O,ie]);let ae=(0,L.useCallback)(e=>{let t=e[i?`width`:`height`];Bo(O,t)},[O,i]),oe=(0,L.useCallback)((e,t)=>{let n=e[i?`width`:`height`];ie(n,()=>{y?.(e,t)})},[i,y,ie]);return L.createElement(re,{...D,...ne===ko?{onInternalScrollEnd:x,useWindowScroll:E}:{},contentContainerStyle:[i?{height:`100%`}:{},r,ee,{boxSizing:`border-box`}],contentOffset:a===void 0?void 0:i?{x:a,y:0}:{x:0,y:a},horizontal:i,maintainVisibleContentPosition:k.size||k.data?{minIndexForVisible:0}:void 0,onLayout:u,onScroll:l,ref:_,ScrollComponent:C?ne:void 0,style:P?[P,n]:n},L.createElement(Fo,null),d&&L.createElement(Go,{onLayoutChange:ae,style:f},Sa(d)),h&&Sa(h),M&&L.createElement(Ko,{horizontal:i}),e&&!h&&L.createElement(eo,{freshDataTransitionEpoch:t,getRenderedItem:g,horizontal:i,ItemSeparatorComponent:s,recycleItems:o,stickyHeaderConfig:w}),p&&L.createElement(Go,{onLayoutChange:oe,style:m},Sa(p)),nt&&it)}),Jo=100,Yo=.9,Xo=.9;function Zo(e){let t=Re(),{anchoredEndSpace:n,childrenMode:r,keyExtractor:i,numColumns:a,renderScrollComponent:o,useWindowScroll:s}=e,c=!!n;(0,L.useEffect)(()=>{c&&(a??1)>1&&sn(`anchoredEndSpaceNumColumns`,`anchoredEndSpace is only supported when numColumns is 1. Using it with multiple columns may produce incorrect anchored spacing.`)},[c,a]),(0,L.useEffect)(()=>{s&&o&&sn(`useWindowScrollRenderScrollComponent`,`useWindowScroll is not supported when renderScrollComponent is provided.`)},[o,s]),(0,L.useEffect)(()=>{!i&&!t.state.isFirst&&t.state.didDataChange&&!r&&sn(`keyExtractor`,`Changing data without a keyExtractor can cause slow performance and resetting scroll. If your list data can change you should use a keyExtractor with a unique id for best performance and behavior.`)},[r,t,i]),(0,L.useEffect)(()=>{let e=t.state,n=e.props.data.length;if(e.props.useWindowScroll||n<Jo)return;let r=()=>{let e=G(t,`readyToRender`),r=G(t,`numContainers`)||0,i=G(t,`totalSize`)||0,a=t.state.scrollLength||0;if(!e||i<=0||a<=0)return;let o=r>=Math.ceil(n*Yo),s=a>=i*Xo;o&&s&&sn(`webUnboundedOuterSize`,`LegendList appears to have an unbounded outer height on web, so virtualization is effectively disabled. Set a bounded height or flex: 1 on the list container, or use useWindowScroll.`)};r();let i=[He(t,`numContainers`,r),He(t,`readyToRender`,r),He(t,`totalSize`,r)];return()=>{for(let e of i)e()}},[t])}function Qo(e){}var $o=nt?Zo:Qo;function es(e,t,{didColumnsChange:n=!1}={}){let r=e.state,{previousData:i}=r,{maintainScrollAtEnd:a}=r.props;if(n){r.sizes.clear(),r.sizesKnown.clear(),Zr(r);for(let e in r.averageSizes)delete r.averageSizes[e];r.minIndexSizeChanged=0,r.scrollForNextCalculateItemsInView=void 0}oa(e,{dataChanged:!0,doMVCP:!0});let o=!n&&a?.onDataChange&&kn(e);!o&&i&&t.length>i.length&&(r.isEndReached=!1),o||kt(e),delete r.previousData}function ts(e,t,n){if(e.pendingDataComparison=void 0,!n||!t||t.length!==n.length)return!0;let{idCache:r,props:{itemsAreEqual:i,keyExtractor:a}}=e,o;for(let s=0;s<t.length;s++){if(t[s]===n[s])continue;if(!a||(r[s]??a(n[s],s))!==a(t[s],s)||!i)return o&&(e.pendingDataComparison={byIndex:o,nextData:t,previousData:n}),!0;let c=i(n[s],t[s],s,t);if(o??=[],o[s]=c?1:2,!c)return e.pendingDataComparison={byIndex:o,nextData:t,previousData:n},!0}return!1}function ns(e){let t=e.state,{scrollLength:n,props:{data:r,getFixedItemSize:i,getItemType:a,numColumns:o,estimatedItemSize:s}}=t,c=Bt(e),l=G(e,`numContainers`);if(n>0&&r.length>0&&!l){let l;if(i){let t=0,n=Math.min(20,r.length);for(let o=0;o<n;o++){let n=r[o];if(n!==void 0){let r=a?.(n,o)??``;t+=(i(n,o,r)??s)+e.scrollAxisGap}}l=t/n}else l=s+e.scrollAxisGap;let u=Math.max(1,Math.ceil((n+c*2)/l*o));for(let t=0;t<u;t++)K(e,`containerPosition${t}`,rt),K(e,`containerColumn${t}`,-1),K(e,`containerSpan${t}`,1);return K(e,`numContainers`,u),K(e,`numContainersPooled`,Hi(r.length,u)),t.lastLayout&&(t.initialScroll?requestAnimationFrame(()=>{oa(e,{dataChanged:!0,doMVCP:!0})}):oa(e,{dataChanged:!0,doMVCP:!0})),!0}}function rs(){return typeof window>`u`?{height:0,width:0}:{height:window.innerHeight,width:window.innerWidth}}function is(e,t,n){let r=e.state,{maintainScrollAtEnd:i,useWindowScroll:a}=r.props,o=r.props.horizontal?`width`:`height`,s=r.props.horizontal?`height`:`width`,c=t;if(a){let e=rs()[o];c=e>0?{...t,[o]:e}:t}let l=c[o],u=r.scrollLength,d=l>0?l:u,f=c[s],p=!r.lastLayout||d>r.scrollLength||r.lastLayout.x!==c.x||r.lastLayout.y!==c.y;r.lastLayout=c;let m=r.otherAxisSize,h=d!==r.scrollLength||f!==m;h&&(r.scrollLength=d,r.otherAxisSize=f,en(e),r.lastBatchingAction=Date.now(),r.scrollForNextCalculateItemsInView=void 0,d>0&&ns(e),p&&oa(e,{doMVCP:!0}),(h||f!==m)&&K(e,`scrollSize`,{height:c.height,width:c.width}),i?.onLayout&&kn(e),kt(e),r&&(r.needsOtherAxisSize=f-(r.props.horizontal?(r.props.stylePaddingTop||0)+(r.props.stylePaddingBottom||0):(r.props.stylePaddingLeft||0)+(r.props.stylePaddingRight||0))<10),nt&&l===0&&sn(`height0`,`List ${r.props.horizontal?`width`:`height`} is 0. You may need to set a style or \`flex: \` for the list, because children are absolutely positioned.`)),n(!0)}function as(e,t){let n=X.get(e);if(n&&X.didReachTarget(t,n)){X.clear(e);return}n&&(e.hasScrolled=!1,X.set(e,{startScroll:n.startScroll,targetOffset:n.targetOffset}))}function os(e){return!!e.initialScroll&&e.initialScrollSession?.kind===`bootstrap`&&!e.didFinishInitialScroll}function ss(e){return{...e,nativeEvent:{...e.nativeEvent}}}function cs(e,t){let n=e.state,{scrollProcessingEnabled:r}=n;if(r===!1||t.nativeEvent?.contentSize?.height===0&&t.nativeEvent.contentSize?.width===0)return;let i=!1;if(t.nativeEvent?.contentInset){let{contentInset:e}=t.nativeEvent,r=n.nativeContentInset;(!r||r.top!==e.top||r.bottom!==e.bottom||r.left!==e.left||r.right!==e.right)&&(n.nativeContentInset=e,i=!0)}let a=t.nativeEvent.contentOffset[n.props.horizontal?`x`:`y`];if(n.props.horizontal&&(a=Me(n,a,t.nativeEvent.contentSize?.width)),n.didFinishInitialScroll&&n.initialScroll?.viewPosition===1&&(n.scroll,n.scrollLength),n.lastNativeScroll=a,n.lastNativeScrollTime=Date.now(),n.scrollingTo&&n.scrollingTo.offset>=a){let t=vn(e,a,n.scrollingTo);if(a!==t&&Math.abs(a-t)>1){a=t,tr(e,{forceScroll:!0,isInitialScroll:!0,noScrollingTo:!0,offset:a});return}}n.scrollPending=a,Jn(e,a,i,{fromNativeScrollEvent:!0}),as(n,a),Vr(e),n.scrollingTo&&ni(e),n.props.onScroll&&(os(n)?n.deferredPublicOnScrollEvent=ss(t):n.props.onScroll(t))}var ls=class{constructor(){this.work=new Map}microtask(e,t){let n=this.work.get(t);if(n?.callback)n.callback=e;else{this.cancel(t);let n={callback:e,cancel:()=>{}};this.work.set(t,n),queueMicrotask(()=>{var e;this.work.get(t)===n&&(this.work.delete(t),(e=n.callback)==null||e.call(n))})}}timeout(e,t,n){n&&this.cancel(n);let r={cancel:()=>clearTimeout(i)},i=setTimeout(()=>{let t=n??i;this.work.get(t)===r&&(this.work.delete(t),e())},t);this.work.set(n??i,r)}frame(e,t){this.cancel(t);let n={cancel:()=>cancelAnimationFrame(r)};this.work.set(t,n);let r=requestAnimationFrame(()=>{this.work.get(t)===n&&(this.work.delete(t),e())})}register(e,t){this.cancel(e),this.work.set(e,{cancel:t})}cancel(e){let t=this.work.get(e);t&&(this.work.delete(e),t.cancel())}has(e){return this.work.has(e)}dispose(){for(let e of this.work.values())e.cancel();this.work.clear()}},us=class{constructor(e){this.appliedAdjust=0,this.pendingAdjust=0,this.ctx=e}requestAdjust(e){let t=this.ctx.state.scrollingTo;t?.animated&&!t.isInitialScroll?(this.pendingAdjust+=e,K(this.ctx,`scrollAdjustPending`,this.pendingAdjust)):(this.appliedAdjust+=e,K(this.ctx,`scrollAdjust`,this.appliedAdjust)),this.ctx.state.scrollingTo&&ni(this.ctx)}getAdjust(){return this.appliedAdjust}commitPendingAdjust(e){{let t=this.ctx.state,n=this.pendingAdjust;if(this.pendingAdjust=0,n!==0){let r;if(e?.index!==void 0){let t=Xt(this.ctx,e.index);r=_n(this.ctx,t,e),r=vn(this.ctx,r,e)}else r=vn(this.ctx,t.scroll+n);let i=r-t.scroll;(Math.abs(i)>.1||Math.abs(n)>.1)&&(this.appliedAdjust+=i,t.scroll=r,t.scrollForNextCalculateItemsInView=void 0,K(this.ctx,`scrollAdjust`,this.appliedAdjust)),K(this.ctx,`scrollAdjustPending`,0),oa(this.ctx)}}}};function ds(e,t){let n=e.state,r=n.props.data.length-1;if(r===-1)return!1;let i=n.props.stylePaddingBottom||0,a=G(e,`footerSize`)||0;return rr(e,{...t,index:r,viewOffset:-i-a+(t?.viewOffset||0),viewPosition:1}),!0}function fs(e,t){let n=e.state,r=qe(e,t),i=qe(e)-r;if(i!==0){let t=!!G(e,`isWithinMaintainScrollAtEndThreshold`);Jn(e,n.scroll,!0,{markHasScrolled:!1}),!hi(e)&&t&&i>0&&Dn(e,i)}}function ps(e){return(0,L.useMemo)(()=>e?(t,n,r)=>t!==void 0&&n!==void 0?e(t,n,r):void 0:void 0,[e])}var ms=(...e)=>(0,L.useCallback)(t=>{for(let n of e)n&&(rn(n)?n(t):n.current=t)},e);function hs(e){return null}function gs(e,t,n,r){return r}function _s(e){let{gap:t,columnGap:n,rowGap:r}=e;if(t||n||r)return e.gap=void 0,e.columnGap=void 0,e.rowGap=void 0,{columnGap:n,gap:t,rowGap:r}}var vs=`default`;function ys(e){let t={};for(let n in e.averageSizes){let r=e.averageSizes[n];r&&(t[n||vs]={average:r.avg,count:r.num})}return t}function bs(e){xi(e)}function xs(e,t){let n=e.state,r=En(e),i=()=>!!n.didDataChange||!!n.didColumnsChange||n.scheduledWork.has(`mvcpRecalculate`)||n.ignoreScrollFromMVCP!==void 0,a=(t,r=!1)=>{let i=n.props,a=i.data.length,o=i.anchoredEndSpace?.anchorIndex;return t<0?r:t>=a?!1:o===void 0||o<0||o>=a||t<o||hn(e,o,a-1)},o=(e,t,a)=>{let o=Date.now(),s=0,c=()=>{if(!r.isCurrent(e))return;i()||!a()?s=0:s+=1;let l=Date.now()-o>=800;if(s>=2||l){t();return}n.scheduledWork.frame(c,`imperativeScrollReady`)};n.scheduledWork.frame(c,`imperativeScrollReady`)},s=(e,t,n,a=()=>!0)=>{let s=()=>r.runNow(e,t,n);i()||!a()?o(e,s,a):s()},c=(t,n=()=>!0)=>new Promise(i=>{let a=r.start(i);Jt(e),s(a,i,t,n)});n.runPendingScrollToEnd=()=>{let t=n.pendingScrollToEnd;t&&(n.pendingScrollToEnd=void 0,r.isCurrent(t.token)&&s(t.token,t.resolve,()=>ds(e,t.options),()=>a(n.props.data.length-1,!0)))};let l=t=>{if(n){let{index:r,...i}=t,{startNoBuffer:a,endNoBuffer:o}=n;if(r<a||r>o){let t=r<a?0:1;return rr(e,{...i,index:r,viewPosition:t}),!0}}return!1},u=n.refScroller;return{clearCaches:t=>{var r;let i=t?.mode??`sizes`;n.sizes.clear(),n.sizesKnown.clear(),Zr(n);for(let e in n.averageSizes)delete n.averageSizes[e];n.minIndexSizeChanged=0,n.scrollForNextCalculateItemsInView=void 0,n.pendingTotalSize=void 0,n.totalSize=0,K(e,`totalSize`,0),i===`full`&&(n.indexByKey.clear(),n.idCache.length=0,n.positions.length=0,n.columns.length=0,n.columnSpans.length=0),bs(e),(r=n.triggerCalculateItemsInView)==null||r.call(n,{forceFullItemPositions:!0})},flashScrollIndicators:()=>u.current.flashScrollIndicators(),getAnimatableRef:()=>{var e;return(e=u.current).getNativeScrollRef?.call(e)??u.current},getNativeScrollRef:()=>u.current,getScrollableNode:()=>u.current.getScrollableNode(),getScrollResponder:()=>u.current.getScrollResponder(),getState:()=>({activeStickyIndex:G(e,`activeStickyIndex`),contentLength:J(e),data:n.props.data,elementAtIndex:t=>e.viewRefs.get(fn(e,Q(n,t)))?.current,end:n.endNoBuffer,endBuffered:n.endBuffered,getAverageItemSizes:()=>ys(n),indexByKey:e=>n.indexByKey.get(e),isAtEnd:G(e,`isAtEnd`),isAtStart:G(e,`isAtStart`),isEndReached:n.isEndReached,isNearEnd:G(e,`isNearEnd`),isNearStart:G(e,`isNearStart`),isStartReached:n.isStartReached,isWithinMaintainScrollAtEndThreshold:G(e,`isWithinMaintainScrollAtEndThreshold`),listen:(t,n)=>He(e,t,n),listenToPosition:(t,n)=>Ue(e,t,n),positionAtIndex:e=>n.positions[e],positionByKey:e=>{let t=n.indexByKey.get(e);return t===void 0?void 0:n.positions[t]},scroll:n.scroll,scrollLength:n.scrollLength,scrollVelocity:Gn(n),sizeAtIndex:e=>n.sizesKnown.get(Q(n,e)),sizes:n.sizesKnown,start:n.startNoBuffer,startBuffered:n.startBuffered}),reportContentInset:t=>{let r=Uo(e,t);Jn(e,n.scroll,!0,{markHasScrolled:!1}),r&&hi(e)},scrollIndexIntoView:e=>c(()=>l(e)),scrollItemIntoView:({item:e,...t})=>c(()=>{let r=n.props.data.indexOf(e);return r!==-1&&(l({index:r,...t}),!0)}),scrollToEnd:i=>new Promise(a=>{var o;let s=r.start(a);n.pendingScrollToEnd={options:i,resolve:a,token:s},t?.(),Jt(e),t||(o=n.runPendingScrollToEnd)==null||o.call(n)}),scrollToIndex:t=>c(()=>(rr(e,t),!0),t.index>=0?()=>a(t.index):void 0),scrollToItem:({item:t,...r})=>c(()=>{let i=n.props.data.indexOf(t);return i!==-1&&(rr(e,{index:i,...r}),!0)}),scrollToOffset:t=>c(()=>(tr(e,t),!0)),setItemSize:(t,n)=>{ma(e,{itemKey:t,size:n})},setScrollProcessingEnabled:e=>{n.scrollProcessingEnabled=e},setVisibleContentAnchorOffset:t=>{K(e,`scrollAdjustUserOffset`,rn(t)?t(G(e,`scrollAdjustUserOffset`)||0):t)}}}var Ss=(e,t)=>e-t,Cs=e=>typeof e==`number`&&Number.isFinite(e)?Math.max(0,Math.floor(e)):0,ws=(e,t,n)=>{n>=0&&n<t&&e.add(n)};function Ts(e,t,n,r){if(t.length===0)return[];let i=new Set,a=t.length,o=Cs(e?.top);if(o>0)for(let e=0;e<Math.min(o,a);e++)ws(i,a,e);let s=Cs(e?.bottom);if(s>0)for(let e=Math.max(0,a-s);e<a;e++)ws(i,a,e);if(e?.indices?.length)for(let t of e.indices)Number.isFinite(t)&&ws(i,a,Math.floor(t));if(e?.keys?.length){let r=new Set(e.keys);for(let e=0;e<a&&r.size>0;e++){let o=n(t[e],e);r.has(o)&&(ws(i,a,e),r.delete(o))}}if(r!==void 0&&Number.isFinite(r)){let e=Math.floor(r);for(let t=e>=0?e:a;t<a;t++)ws(i,a,t)}let c=Array.from(i);return c.sort(Ss),c}function Es(e,t){let n=e.state;if(!n)return null;let{indexByKey:r,props:{data:i,getItemType:a,renderItem:o}}=n,s=r.get(t);if(s===void 0)return null;let c=null,l=G(e,`extraData`),u=i[s];return o&&!ln(u)&&(c=o({data:i,extraData:l,index:s,item:u,type:a?a(u,s)??``:``})),{index:s,item:i[s],renderedItem:c}}function Ds(e,t){return{animated:!1,onDataChange:t?e?.dataChange??!1:!0,onFooterLayout:t?e?.footerLayout??!1:!0,onItemLayout:t?e?.itemLayout??!1:!0,onLayout:t?e?.layout??!1:!0}}function Os(e){if(e)return e===!0?{...Ds(void 0,!1),animated:!1}:{...Ds(e.on,`on`in e),animated:e.animated??!1}}function ks(e){return e===!0?{data:!0,size:!0}:e&&typeof e==`object`?{data:e.data??!1,shouldRestorePosition:e.shouldRestorePosition,size:e.size??!0}:e===!1?{data:!1,size:!1}:{data:!1,size:!0}}function As(e,{stylePaddingTop:t}){let n=e.state;if(t!==void 0){let r=G(e,`stylePaddingTop`)||0;if(t<r){let t=G(e,`totalSize`)||0;K(e,`totalSize`,t+r),n.timeoutSetPaddingTop=setTimeout(()=>{t=G(e,`totalSize`)||0,K(e,`totalSize`,t-r)},16)}K(e,`stylePaddingTop`,t)}}function js(e){let t=(0,L.useRef)(null),n=(0,L.useRef)(0),r=(0,L.useRef)(null),i=()=>{t.current&&=(clearTimeout(t.current),null)};return(0,L.useCallback)((e,a,...o)=>{{let s=Date.now();r.current=o,s-n.current>=a?(n.current=s,e(...o),i()):(i(),t.current=setTimeout(()=>{r.current&&=(n.current=Date.now(),e(...r.current),t.current=null,null)},a-(s-n.current)))}},[e])}function Ms(e,t){let n=js(`throttle`);return r=>n(e,t,{nativeEvent:r.nativeEvent})}var Ns=ba(ya(function(e,t){let{children:n,data:r,renderItem:i,...a}=e,o=n!==void 0&&r===void 0?{...a,childrenMode:!0,data:(an(n)?n:L.Children.toArray(n)).flat(1),renderItem:({item:e})=>e}:{...a,data:r||[],renderItem:i};return L.createElement(Le,null,L.createElement(Ps,{...o,ref:t}))})),Ps=ya(function(e,t){let n=(0,L.useCallback)(e=>{},[]);e.recycleItems===void 0&&sn(`recycleItems-omitted`,`recycleItems was not provided, so it defaults to false. Set recycleItems explicitly to true for better performance with recycling-aware rows, or false to preserve remount-on-reuse behavior.`);let{alignItemsAtEnd:r=!1,anchoredEndSpace:i,alwaysRender:a,columnWrapperStyle:o,contentContainerStyle:s,contentInset:c,data:l=[],dataKey:u,dataVersion:d,drawDistance:f=250,contentInsetEndAdjustment:p,estimatedItemSize:m=100,estimatedListSize:h,extraData:g,getFixedItemSize:_,getItemType:v,horizontal:y,rtl:b,estimatedHeaderSize:x,initialScrollAtEnd:S=!1,initialScrollIndex:C,initialScrollOffset:w,experimental_adaptiveRender:T,itemsAreEqual:E,keyExtractor:D,ListEmptyComponent:O,ListFooterComponent:k,ListFooterComponentStyle:A,ListHeaderComponent:j,maintainScrollAtEnd:M=!1,maintainScrollAtEndThreshold:N=.1,maintainVisibleContentPosition:ee,numColumns:P=1,overrideItemLayout:te,onEndReached:ne,onEndReachedThreshold:re=.5,onItemSizeChanged:ie,onMetricsChange:ae,onLayout:oe,onLoad:se,onMomentumScrollEnd:ce,onRefresh:F,onScroll:le,onScrollBeginDrag:ue,onStartReached:de,onStartReachedThreshold:fe=.5,onStickyHeaderChange:pe,onFirstVisibleItemChanged:me,onViewableItemsChanged:he,progressViewOffset:ge,recycleItems:_e=!1,refreshControl:I,refreshing:R,refScrollView:ve,renderScrollComponent:ye,renderItem:be,scrollEventThrottle:xe,snapToIndices:Se,stickyHeaderIndices:z,style:Ce,useWindowScroll:B=!1,viewabilityConfig:H,viewabilityConfigCallbackPairs:we,...Te}=e,Ee=e.animatedPropsInternal,U=e.anchoredEndSpaceOwnerInternal??`list`,W=e.positionComponentInternal,ke=e.stickyPositionComponentInternal,{anchoredEndSpaceOwnerInternal:Ae,positionComponentInternal:je,stickyPositionComponentInternal:Me,...Ne}=Te,Pe=no.flatten(s),Fe=r&&!y&&Pe?.minHeight==null&&l.length>0,Ie=r&&!Fe&&(y?Pe?.minWidth==null:Pe?.minHeight==null),Le={...Pe,...r&&!Fe?{display:`flex`,flexDirection:y?`row`:`column`,...Ie?{flexGrow:1}:{},justifyContent:`flex-end`}:{}},ze={...no.flatten(Ce)},Be=dn(ze,Le,`Top`),Ve=dn(ze,Le,`Bottom`),Ue=dn(ze,Le,`Left`),We=dn(ze,Le,`Right`),q=Oe({horizontal:y,rtl:b,stylePaddingBottom:Ve,stylePaddingLeft:Ue,stylePaddingRight:We}),Ge=Os(M),Ke=ks(ee),qe=C!=null,J=w!=null,Je=!S&&!qe&&!J&&De({horizontal:y,rtl:b}),Ye=!S&&!qe&&(J||Je),Ze=S||qe,Qe=typeof C==`number`&&!J&&l.length>1&&C>=l.length-1,$e=S?{index:Math.max(0,l.length-1),preserveForBottomPadding:!0,viewOffset:-q,viewPosition:1}:qe?typeof C==`object`?{index:C.index??0,preserveForBottomPadding:C.viewOffset===void 0&&C.viewPosition===1||void 0,viewOffset:C.viewOffset??(C.viewPosition===1?-q:0),viewPosition:C.viewPosition??0}:{index:C??0,preserveForBottomPadding:Qe?!0:void 0,viewOffset:w??(Qe?-q:0),viewPosition:Qe?1:void 0}:Ye?{contentOffset:w??0,index:0,viewOffset:0}:void 0,[et,tt]=L.useState(!Xe),[,rt]=L.useReducer(e=>e+1,0),Y=Re();Y.columnWrapperStyle=o||(Le?_s(Le):void 0);let it=y?Y.columnWrapperStyle?.columnGap??Y.columnWrapperStyle?.gap:Y.columnWrapperStyle?.rowGap??Y.columnWrapperStyle?.gap,ot=typeof it==`number`&&Number.isFinite(it)?it:0,st=(0,L.useRef)(null),lt=ms(st,ve),ut=D??((e,t)=>t.toString()),dt=z,ft=p,pt=(0,L.useRef)(ft),mt=(0,L.useMemo)(()=>{let e=Ts(a,l,ut,i?.anchorIndex);return{arr:e,set:new Set(e)}},[i?.anchorIndex,a?.top,a?.bottom,(a?.indices)?.join(`,`),(a?.keys)?.join(`,`),l,u,d,ut]),ht=!!B&&!ye,gt=(0,L.useRef)(void 0),X=!!te,_t=(0,L.useRef)(X);if(!gt.current){if(!Y.state){let e=(h??{height:0,width:0})[y?`width`:`height`];Y.values.set(`adaptiveRender`,T?.initialMode??`normal`),Y.state={averageSizes:{},columnSpans:[],columns:[],containerItemGenerations:[],containerItemKeys:new Map,containerItemMetadata:new Map,contentInsetOverride:void 0,dataChangeEpoch:0,dataChangeNeedsScrollUpdate:!1,didColumnsChange:!1,didDataChange:!1,didLoad:!1,enableScrollForNextCalculateItemsInView:!0,endBuffered:-1,endNoBuffer:-1,endReachedSnapshot:void 0,firstFullyOnScreenIndex:-1,freshDataTransitionEpoch:0,hasHadNonEmptyData:l.length>0,idCache:[],idsInView:[],indexByKey:new Map,initialScroll:$e,initialScrollSession:$e?{kind:Ye?`offset`:`bootstrap`,previousDataLength:l.length}:void 0,isEndReached:null,isFirst:!0,isStartReached:null,lastBatchingAction:Date.now(),lastLayout:void 0,lastScrollDelta:0,loadStartTime:Date.now(),minIndexSizeChanged:0,nativeContentInset:void 0,nativeMarginTop:0,pendingDataComparison:void 0,pendingNativeMVCPAdjust:void 0,positions:[],props:{},queuedCalculateItemsInView:0,refScroller:{current:null},scheduledWork:new ls,scroll:0,scrollAdjustHandler:new us(Y),scrollForNextCalculateItemsInView:void 0,scrollHistory:[],scrollLength:e,scrollPending:0,scrollPrev:0,scrollPrevTime:0,scrollProcessingEnabled:!0,scrollTime:0,sizes:new Map,sizesKnown:new Map,startBuffered:-1,startNoBuffer:-1,startReachedSnapshot:void 0,stickyContainerPool:new Set,stickyContainers:new Map,totalSize:0,viewabilityConfigCallbackPairs:void 0};let t=Y.state;Y.scrollToEnd=e=>ds(Y,e),t.triggerCalculateItemsInView=e=>oa(Y,e),t.reprocessCurrentScroll=()=>Jn(Y,t.scroll,!0),K(Y,`maintainVisibleContentPosition`,Ke),K(Y,`extraData`,g),x!==void 0&&K(Y,`headerSize`,x)}gt.current=Y.state}let Z=gt.current,vt=Z.isFirst,yt=Z.props.adaptiveRender,bt=Z.props.numColumns,xt=!vt&&Y.scrollAxisGap!==ot;Y.scrollAxisGap=ot,Z.didColumnsChange=P!==bt||xt;let St=Z.props.data?.length??0,Ct=Z.props.data!==l,Tt=Z.props.dataKey!==u,Et=Z.props.dataVersion!==d,Dt=Tt||Et||Ct&&ts(Z,l,Z.props.data),Ot=!vt&&Dt&&Z.hasHadNonEmptyData&&(Tt||St===0)&&l.length>0;Dt&&!S&&Z.didFinishInitialScroll&&Z.initialScroll?.viewPosition===1&&Z.props.data.length>0&&qt(Z),Dt&&(Z.dataChangeEpoch+=1,Z.dataChangeNeedsScrollUpdate=!0,Z.didDataChange=!0,Z.previousData=Z.props.data),Ot&&(Z.freshDataTransitionEpoch+=1);let kt=Ms(le??n,xe??0),At=xe&&le?kt:le,jt=!vt&&!Dt&&Z.props.anchoredEndSpace?.anchorIndex!==i?.anchorIndex;Z.props={adaptiveRender:T,alignItemsAtEnd:r,alignItemsAtEndPaddingEnabled:Fe,alwaysRender:a,alwaysRenderIndicesArr:mt.arr,alwaysRenderIndicesSet:mt.set,anchoredEndSpace:i,anchoredEndSpaceOwner:U,animatedProps:Ee,contentContainerAlignItems:Le.alignItems,contentInset:c,contentInsetEndAdjustment:ft,data:l,dataKey:u,dataVersion:d,drawDistance:f,estimatedItemSize:m,getFixedItemSize:ps(_),getItemType:ps(v),horizontal:!!y,itemsAreEqual:E,keyExtractor:ps(ut),maintainScrollAtEnd:Ge,maintainScrollAtEndThreshold:N,maintainVisibleContentPosition:Ke,numColumns:P,onEndReached:ne,onEndReachedThreshold:re,onFirstVisibleItemChanged:me,onItemSizeChanged:ie,onLoad:se,onMomentumScrollEnd:ce,onScroll:At,onScrollBeginDrag:ue,onStartReached:de,onStartReachedThreshold:fe,onStickyHeaderChange:pe,overrideItemLayout:te,positionComponentInternal:W,recycleItems:!!_e,renderItem:be,rtl:b,snapToIndices:Se,stickyHeaderIndicesArr:dt??[],stickyHeaderIndicesSet:(0,L.useMemo)(()=>new Set(dt??[]),[dt?.join(`,`)]),stickyPositionComponentInternal:ke,stylePaddingBottom:Ve,stylePaddingLeft:Ue,stylePaddingRight:We,stylePaddingTop:Be,useWindowScroll:ht},Z.refScroller=st,!vt&&yt&&!T&&Lt(Y);let Mt=(0,L.useMemo)(()=>l.length?Array.from({length:Math.min(P,l.length)},(e,t)=>Q(Z,l.length-1-t)):[],[l,u,d,P]),Nt=e=>{K(Y,`lastItemKeys`,Mt),K(Y,`numColumns`,P);let t=G(Y,`stylePaddingTop`);As(Y,{stylePaddingTop:Be}),gt.current.props.stylePaddingBottom=Ve,en(Y);let n=Be-t;e&&Ke.size&&n&&t!==void 0&&V.OS};vt&&(Nt(!1),yi(Z),Oi(Y,!0));let Pt=(0,L.useMemo)(()=>{let e=Z.initialScroll;if(!e)return;let t=e.contentOffset??or(Y,e);return Ze&&Z.initialScrollSession?.kind===`bootstrap`&&V.OS===`web`?void 0:t},[Ze]);(0,L.useLayoutEffect)(()=>{_i(Y,{alwaysDispatchInitialScroll:Je,dataLength:l.length,hasFooterComponent:!!k,initialContentOffset:Pt,initialScrollAtEnd:S,useBootstrapInitialScroll:Ze})},[]),(vt||Dt||Z.didColumnsChange)&&(gt.current.lastBatchingAction=Date.now(),!D&&!vt&&Dt&&(gt.current.sizes.clear(),gt.current.positions.length=0,gt.current.totalSize=0,K(Y,`totalSize`,0))),nt&&$o(e),(0,L.useLayoutEffect)(()=>{Ot&&Ht(Y,{resetInitialScroll:!!$e,resetLayout:!0}),vi(Y,{dataLength:l.length,didDataChange:Dt,didStartFreshData:Ot,initialScrollAtEnd:S,latestInitialScroll:$e,latestInitialScrollSessionKind:Ye?`offset`:`bootstrap`,stylePaddingEnd:q,useBootstrapInitialScroll:Ze})},[l.length,u,Dt,Ot,S,q,Ze]),(0,L.useLayoutEffect)(()=>{var e;jt&&(Z.scrollForNextCalculateItemsInView=void 0,(e=Z.triggerCalculateItemsInView)==null||e.call(Z)),sa(Y)},[Y,l,d,i?.anchorIndex,i?.anchorMaxSize,i?.anchorOffset,jt,y,P,b,Ve,Ue,We]),(0,L.useLayoutEffect)(()=>{let e=pt.current;pt.current=ft,fs(Y,e)},[Y,ft]);let Ft=(0,L.useCallback)(e=>{Ze&&Wr(Y,{dataLength:l.length,footerSize:e[y?`width`:`height`],initialScrollAtEnd:S,stylePaddingEnd:q})},[l.length,S,y,q,Ze]),{onLayout:It}=La({onLayoutChange:(0,L.useCallback)((e,t)=>{let n=Z.scrollLength,r=Z.otherAxisSize;is(Y,e,tt),sa(Y);let i=n!==Z.scrollLength||r!==Z.otherAxisSize;Ze&&!t&&i&&Gr(Y),!Ze&&ur(Y)},[l.length,S,q,Ze]),onLayoutProp:oe,ref:st});(0,L.useLayoutEffect)(()=>{Se&&Di(Y)},[Se]),(0,L.useLayoutEffect)(()=>Nt(!0),[u,d,Mt.join(`,`),P,ot,Ve,Be,Fe]),(0,L.useLayoutEffect)(()=>{let{didColumnsChange:e,didDataChange:t,isFirst:n,props:{data:r}}=Z;!(r.length>0&&ns(Y))&&!n&&(t||e)&&es(Y,r,{didColumnsChange:e}),t&&(Z.pendingDataComparison=void 0),Z.didColumnsChange=!1,Z.didDataChange=!1,Z.isFirst=!1},[l,u,d,P,ot]),(0,L.useLayoutEffect)(()=>{var e;K(Y,`extraData`,g);let t=_t.current!==X;_t.current=X,(X||t)&&P>1&&((e=Z.triggerCalculateItemsInView)==null||e.call(Z,{forceFullItemPositions:!0}))},[g,X,P]),(0,L.useEffect)(()=>{if(!ae)return;let e,t=()=>{let t={footerSize:G(Y,`footerSize`)||0,headerSize:G(Y,`headerSize`)||0};(!e||t.headerSize!==e.headerSize||t.footerSize!==e.footerSize)&&(e=t,ae(t))};t();let n=[He(Y,`headerSize`,t),He(Y,`footerSize`,t)];return()=>{for(let e of n)e()}},[Y,ae]),(0,L.useEffect)(()=>{let e=Ai({onViewableItemsChanged:he,viewabilityConfig:H,viewabilityConfigCallbackPairs:we});Z.viewabilityConfigCallbackPairs=e,Z.enableScrollForNextCalculateItemsInView=!0,e&&(Z.scrollForNextCalculateItemsInView=void 0)},[H,we,he]),Da(()=>{}),(0,L.useImperativeHandle)(t,()=>xs(Y,rt),[]),(0,L.useEffect)(()=>()=>{ct(Z),Z.scheduledWork.dispose()},[Z]),(0,L.useLayoutEffect)(()=>{var e;(e=Z.runPendingScrollToEnd)==null||e.call(Z)}),(0,L.useEffect)(()=>{Ze||ur(Y)},[Y,Ze]);let Rt=(0,L.useMemo)(()=>({getRenderedItem:e=>Es(Y,e),onMomentumScrollEnd:e=>{mi(Y),Z.props.onMomentumScrollEnd&&Z.props.onMomentumScrollEnd(e)},onScroll:e=>cs(Y,e),onScrollBeginDrag:e=>{var t,n;let r=Z.maintainingScrollAtEnd;(r===`animated`||r===`instant`)&&ct(Z),r&&On(Y),wt(Y),(n=(t=Z.props).onScrollBeginDrag)==null||n.call(t,e)},onScrollEnd:()=>wt(Y)}),[]),zt=gs(dt,y,Y,Rt.onScroll),Bt=I;return L.createElement(L.Fragment,null,L.createElement(qo,{...Ne,alignItemsAtEnd:r,canRender:et,contentContainerStyle:Le,contentInset:c,freshDataTransitionEpoch:Z.freshDataTransitionEpoch,getRenderedItem:Rt.getRenderedItem,horizontal:y,initialContentOffset:Pt,ListEmptyComponent:l.length===0?O:void 0,ListFooterComponent:k,ListFooterComponentStyle:A,ListHeaderComponent:j,onInternalScrollBeginDrag:Rt.onScrollBeginDrag,onInternalScrollEnd:Rt.onScrollEnd,onLayout:It,onLayoutFooter:Ft,onMomentumScrollEnd:Rt.onMomentumScrollEnd,onScroll:zt,recycleItems:_e,refreshControl:Bt?Be>0?L.cloneElement(Bt,{progressViewOffset:(Bt.props.progressViewOffset??0)+Be}):Bt:F&&L.createElement(hs,{onRefresh:F,progressViewOffset:(ge||0)+Be,refreshing:!!R}),refScrollView:lt,renderScrollComponent:ye,scrollAdjustHandler:gt.current?.scrollAdjustHandler,scrollEventThrottle:0,snapToIndices:Se,stickyHeaderIndices:dt,style:ze,useWindowScroll:ht}),nt&&at)}),Fs=Ns,Is=100;function Ls(e){return`${e.provider}:${e.number}`}function Rs(e){return e?e.kind===`workItem`?`${e.item.provider}:${e.item.key}`:Ls(e.item):null}function zs(e){let t=e?.trim();return t&&t.length>0?t:`branch`}function Bs(e){let t=[`Create a branch name for issue #${e.number}.`],n=e.title?.trim(),r=e.body?.trim();return n&&t.push(``,`Title: ${n}`),r&&t.push(``,`Body: ${r}`),t.join(`
|
|
2
|
+
`)}function Vs(e){return[`Create a branch name for Jira work item ${e.key}.`,``,`Title: ${e.title?.trim()||e.key}`,``,`The branch name should include the Jira key ${e.key}.`].join(`
|
|
3
|
+
`)}function Hs(e){return[`Create a short git branch name for a new coding-agent worktree.`,`Base branch: ${zs(e.baseBranch)}`].join(`
|
|
4
|
+
`)}function Us(e){let[t,n]=(0,L.useState)([]),[r,i]=(0,L.useState)(!1),[a,o]=(0,L.useState)(null),c=(0,L.useRef)(0),l=(0,L.useCallback)(async()=>{if(!e.open||e.enabled===!1)return;let t=c.current+1;c.current=t;let r=e.environmentId?s(e.environmentId):null;if(!r||!e.cwd){n([]),o(`Project is unavailable.`),i(!1);return}i(!0),o(null);try{let i=e.query.trim(),a=await r.vcs.listRefs({cwd:e.cwd,limit:Is,...i?{query:i}:{}});c.current===t&&n([...a.refs])}catch(e){c.current===t&&(n([]),o(e instanceof Error?e.message:`Failed to load branches.`))}finally{c.current===t&&i(!1)}},[e.cwd,e.enabled,e.environmentId,e.open,e.query]);return(0,L.useEffect)(()=>{l()},[l]),{refs:t,isLoading:r,error:a,refresh:l}}function Ws(e){let[t,n]=(0,L.useState)(e.initialTab??`branches`),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(``),[f,p]=(0,L.useState)(`manual`),[m,_]=(0,L.useState)(`main`),[x,w]=(0,L.useState)(`ai`),[T,E]=(0,L.useState)(``),[D,O]=(0,L.useState)(`ai`),[A,N]=(0,L.useState)(``),[ee,P]=(0,L.useState)(``),[te,ne]=(0,L.useState)(``),[re,ie]=(0,L.useState)(``),[ae,oe]=(0,L.useState)(`open`),[se,ce]=(0,L.useState)(`open`),[ge,_e]=(0,L.useState)(`open`),[I,ve]=(0,L.useState)(null),[ye,be]=(0,L.useState)(null),[xe,Se]=(0,L.useState)(null),[z,Ce]=(0,L.useState)(null),[B,V]=(0,L.useState)(null),[H,we]=(0,L.useState)(null),[Te,Ee]=(0,L.useState)(!1),[U,W]=(0,L.useState)(null),De=(0,L.useRef)(null),Oe=(0,L.useRef)(null),ke=(0,L.useRef)(null),Ae=(0,L.useRef)(null),je=(0,L.useRef)(null),Me=`${e.projectId??``}\0${e.environmentId??``}\0${e.cwd??``}`,Ne=(0,L.useRef)(Me),Pe=(0,L.useRef)(0),Fe=(0,L.useRef)({activeTab:t,baseBranch:m,cwd:e.cwd,environmentId:e.environmentId,selectionBody:void 0,selectionIssueKey:void 0,selectionKey:null,selectionKind:null,selectionTitle:void 0,targetKey:Me});Fe.current={activeTab:t,baseBranch:m,cwd:e.cwd,environmentId:e.environmentId,selectionBody:I?.kind===`issue`?I.item.body:void 0,selectionIssueKey:I?.kind===`workItem`?I.item.key:void 0,selectionKey:Rs(I),selectionKind:I?.kind??null,selectionTitle:I?.item.title,targetKey:Me};let Ie=Us({open:e.open,enabled:t===`branches`,environmentId:e.environmentId,cwd:e.cwd,query:c});(0,L.useEffect)(()=>{if(e.open){let t=Ne.current!==Me;Ne.current=Me,n(e.initialTab??`branches`),ve(null),W(null),Ce(null),we(null),V(null),t&&(be(null),_(`main`),d(``),p(`manual`),E(``),w(`ai`),N(``),O(`ai`),l(``),P(``),ne(``),ie(``))}},[Me,e.initialTab,e.open]),(0,L.useEffect)(()=>{if(!(!e.open||t!==`branches`)){if(Ie.error){be(null);return}be(e=>e&&Ie.refs.some(t=>t.name===e)?e:Ie.refs[0]?.name??null)}},[t,Ie.error,Ie.refs,e.open]),(0,L.useEffect)(()=>{if(!e.open||!e.projectId||!e.environmentId){Ce(null);return}if(I?.kind!==`pr`&&I?.kind!==`issue`&&I?.kind!==`workItem`){Ce(null);return}let t=s(e.environmentId)?.git.findWorktreeForOrigin;if(!t){Ce(null);return}let n=!1;return t(I.kind===`workItem`?{projectId:e.projectId,kind:`workItem`,provider:I.item.provider,key:I.item.key}:{projectId:e.projectId,kind:I.kind,number:I.item.number}).then(e=>{n||Ce(e)}).catch(()=>{n||Ce(null)}),()=>{n=!0}},[e.environmentId,e.open,e.projectId,I]),(0,L.useEffect)(()=>{if(!e.open){ve(null);return}let n=window.requestAnimationFrame(()=>{t===`branches`&&De.current?.focus(),t===`issues`&&Oe.current?.focus(),t===`jira`&&ke.current?.focus(),t===`prs`&&Ae.current?.focus(),t===`newBranch`&&je.current?.focus()});return()=>window.cancelAnimationFrame(n)},[t,e.open]);let Le=(0,L.useMemo)(()=>[{id:`branches`,label:`From branch`},{id:`newBranch`,label:`New branch`},{id:`prs`,label:`Pull requests`},{id:`issues`,label:`Issues`},{id:`jira`,label:`Jira`}],[]),Re=(0,L.useCallback)(e=>{_(t=>t.trim()===`main`?e:t)},[]),ze=(0,L.useCallback)(e=>{if(j(e.target))return;let t=Object.entries({1:`branches`,2:`newBranch`,3:`prs`,4:`issues`,5:`jira`}).find(([t])=>M(e,t))?.[1];t&&(e.preventDefault(),n(t),ve(null))},[]),Be=(0,L.useCallback)(async t=>{if(!e.environmentId||!e.cwd){we(`Branch name generation is unavailable.`);return}let n=t===`workItem`?I?.kind===`workItem`?Vs({key:I.item.key,title:I.item.title}):null:t===`issue`?I?.kind===`issue`?Bs({number:I.item.number,title:I.item.title,body:I.item.body}):null:Hs({baseBranch:m});if(!n){we(`Select an item before generating a branch name.`);return}let r=Pe.current+1;Pe.current=r;let i=Fe.current,a=()=>{let e=Fe.current;return Pe.current===r&&e.cwd===i.cwd&&e.environmentId===i.environmentId&&e.targetKey===i.targetKey&&(t===`issue`?e.activeTab===`issues`&&e.selectionKind===`issue`&&e.selectionKey===i.selectionKey&&e.selectionTitle===i.selectionTitle&&e.selectionBody===i.selectionBody:t===`workItem`?e.activeTab===`jira`&&e.selectionKind===`workItem`&&e.selectionIssueKey===i.selectionIssueKey&&e.selectionTitle===i.selectionTitle:e.activeTab===`newBranch`&&e.baseBranch===i.baseBranch)};V(t),we(null);try{let r=(await o(e.environmentId).client.textGeneration.generateBranchName({cwd:e.cwd,message:n})).branch.trim();if(!r)throw Error(`AI returned an empty branch name.`);if(!a())return;t===`issue`?(w(`custom`),E(r)):t===`workItem`?(O(`custom`),N(r)):(p(`ai`),d(r))}catch(e){if(!a())return;we(e instanceof Error?e.message:`Failed to generate branch name.`)}finally{Pe.current===r&&V(null)}},[m,e.cwd,e.environmentId,I]),Ve=I?.kind===`pr`?Ls(I.item):null,He=I?.kind===`issue`?Ls(I.item):null,G=I?.kind===`workItem`?I.item:null,K=i(k(t=>e.environmentId&&e.projectId?a(t,r(e.environmentId,e.projectId)):[])),Ue=Us({open:e.open,enabled:t===`jira`&&G!==null,environmentId:e.environmentId,cwd:e.cwd,query:G?.key??``}),We=(0,L.useMemo)(()=>G?y({key:G.key,refs:Ue.refs}):[],[G,Ue.refs]),q=(0,L.useMemo)(()=>G?v({key:G.key,worktrees:K}):[],[K,G]),Ge=(0,L.useMemo)(()=>S({branches:We,worktrees:q}),[We,q]);(0,L.useEffect)(()=>{if(!e.open||t!==`jira`||!G){Se(null);return}Se(e=>e&&Ge.some(t=>t.branchName===e)?e:Ge[0]?.branchName??null)},[t,e.open,G,Ge]);let Ke=(0,L.useMemo)(()=>{if(!e.projectId||!e.environmentId||Te)return!1;let n=m.trim();return t===`branches`?ye!==null&&ye.length>0:t===`prs`?I?.kind===`pr`:t===`issues`?I?.kind===`issue`?z?!0:n.length>0&&(x===`ai`||T.trim().length>0):!1:t===`jira`?I?.kind===`workItem`?z?!0:Ge.length>0?xe!==null&&xe.length>0:n.length>0&&(D===`ai`||A.trim().length>0):!1:n.length>0&&u.trim().length>0},[t,m,Te,z,x,T,u,e.environmentId,e.projectId,ye,xe,I,D,Ge.length,A]),qe=(0,L.useMemo)(()=>{if(Te)return`Creating...`;if(z)return`Open existing worktree`;if(t===`branches`&&ye)return`Create worktree from ${ye}`;if(t===`newBranch`){let e=u.trim();return e?`Create worktree from ${zs(m)} as ${e}`:`Create worktree from ${zs(m)}`}return t===`issues`?x===`custom`&&T.trim()?`Create worktree from ${zs(m)} as ${T.trim()}`:`Create worktree from ${zs(m)}`:t===`jira`?xe?`Create worktree from ${xe}`:D===`custom`&&A.trim()?`Create worktree from ${zs(m)} as ${A.trim()}`:`Create worktree from ${zs(m)}`:t===`prs`&&I?.kind===`pr`?`Create worktree for PR #${I.item.number}`:`Create worktree`},[t,m,Te,z,x,T,u,ye,xe,I,D,A]),J=(0,L.useCallback)(async()=>{if(!e.projectId||!e.environmentId){W(`Project is unavailable.`);return}let n=s(e.environmentId)?.git.createWorktreeForProject;if(!n){W(`Worktree creation is unavailable in this environment.`);return}let r=ye??``,i=u.trim(),a=T.trim(),o=A.trim(),c=m.trim(),l=t===`branches`?r?{kind:`branch`,branchName:r}:null:t===`prs`&&I?.kind===`pr`?{kind:`pr`,number:I.item.number}:t===`issues`&&I?.kind===`issue`?{kind:`issue`,number:I.item.number,...c.length>0?{baseBranch:c}:{},...x===`custom`&&a.length>0?{branchName:a}:{},title:I.item.title,...I.item.body===void 0?{}:{body:I.item.body}}:t===`newBranch`&&i.length>0?{kind:`newBranch`,branchName:i,...c.length>0?{baseBranch:c}:{}}:t===`jira`&&I?.kind===`workItem`?{kind:`workItem`,provider:I.item.provider,key:I.item.key,title:I.item.title,state:I.item.state,...I.item.stateName?{stateName:I.item.stateName}:{},url:I.item.url,...xe?{branchSource:`existing`,branchName:xe}:{...c.length>0?{baseBranch:c}:{},...D===`custom`&&o.length>0?{branchSource:`new`,branchName:o}:{}}}:null;if(!l){W(`Select a worktree target first.`);return}Ee(!0),W(null);try{let t=await n({projectId:e.projectId,intent:l});e.onCreated?.(t),e.onOpenChange(!1)}catch(e){W(e instanceof Error?e.message:`Failed to create worktree.`)}finally{Ee(!1)}},[t,m,x,T,u,e,ye,xe,I,D,A]);return(0,R.jsx)(he,{open:e.open,onOpenChange:e.onOpenChange,children:(0,R.jsxs)(me,{className:`project-glass-surface flex h-[90vh] max-h-[980px] w-full max-w-7xl flex-col p-0 sm:max-w-7xl`,onKeyDown:ze,surface:`glass`,children:[(0,R.jsxs)(le,{className:`border-border/60 border-b px-5 py-3`,children:[(0,R.jsx)(ue,{className:`text-base`,children:`New worktree`}),(0,R.jsx)(pe,{className:`text-xs`,children:e.cwd??`Select a project worktree target.`})]}),(0,R.jsx)(g,{tabs:Le,activeId:t,onSelect:e=>{n(e),ve(null),W(null),we(null)}}),(0,R.jsx)(fe,{className:`min-h-0 flex-1 p-0`,scrollFade:!1,children:(0,R.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-1 md:grid-cols-[minmax(0,1fr)_22rem]`,children:[(0,R.jsx)(`div`,{className:`min-h-[24rem] min-w-0 md:min-h-0`,children:t===`branches`?(0,R.jsx)(Gs,{branches:Ie.refs,error:Ie.error,isLoading:Ie.isLoading,query:c,selectedBranchName:ye,searchInputRef:De,onQueryChange:l,onRefresh:Ie.refresh,onSelectBranch:be}):t===`prs`?(0,R.jsx)(b,{environmentId:e.environmentId,cwd:e.cwd,searchInputRef:Ae,query:re,onQueryChange:ie,selectedKey:Ve,stateFilter:ge,onStateFilterChange:_e,onSelect:e=>ve({kind:`pr`,item:e})}):t===`issues`?(0,R.jsx)(h,{environmentId:e.environmentId,cwd:e.cwd,searchInputRef:Oe,query:ee,onQueryChange:P,selectedKey:He,stateFilter:ae,onStateFilterChange:oe,onSelect:e=>ve({kind:`issue`,item:e})}):t===`jira`?(0,R.jsx)(C,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.projectId??null,searchInputRef:ke,query:te,onQueryChange:ne,stateFilter:se,onStateFilterChange:ce,onSelect:e=>ve({kind:`workItem`,item:e})}):(0,R.jsx)(Ks,{baseBranch:m,branchName:u,branchNameInputRef:je,branchNameMode:f,cwd:e.cwd,dialogOpen:e.open,environmentId:e.environmentId,generationError:H,isGenerating:B===`newBranch`,onBaseBranchChange:_,onBranchNameChange:e=>{d(e),p(`manual`)},onBranchNameModeChange:p,onDefaultBranchDiscovered:Re,onGenerateBranchName:()=>void Be(`newBranch`)})}),(0,R.jsx)(qs,{activeTab:t,baseBranch:m,branchNameGenerationError:H,cwd:e.cwd,dialogOpen:e.open,environmentId:e.environmentId,existingWorktreeId:z,generationTarget:B,issueBranchMode:x,issueBranchName:T,linkedWorkItemBranches:We,linkedWorkItemBranchesError:Ue.error,linkedWorkItemBranchesLoading:Ue.isLoading,linkedWorkItemWorktrees:q,newBranchName:u,selection:I,selectedBranchName:ye,selectedWorkItemBranchName:xe,workItemBranchChoices:Ge,workItemBranchMode:D,workItemBranchName:A,onBaseBranchChange:_,onDefaultBranchDiscovered:Re,onGenerateIssueBranchName:()=>void Be(`issue`),onGenerateWorkItemBranchName:()=>void Be(`workItem`),onIssueBranchModeChange:w,onIssueBranchNameChange:E,onSelectWorkItemBranchName:Se,onWorkItemBranchModeChange:O,onWorkItemBranchNameChange:N})]})}),(0,R.jsxs)(de,{className:`border-border/60 border-t px-5 py-3`,children:[U?(0,R.jsx)(`span`,{className:`mr-auto min-w-0 truncate text-xs text-destructive`,children:U}):H?(0,R.jsx)(`span`,{className:`mr-auto min-w-0 truncate text-xs text-destructive`,children:H}):null,(0,R.jsx)(F,{variant:`outline`,onClick:()=>e.onOpenChange(!1),children:`Cancel`}),(0,R.jsx)(F,{className:`max-w-[min(34rem,64vw)]`,disabled:!Ke,onClick:()=>void J(),children:(0,R.jsx)(`span`,{className:`truncate`,children:qe})})]})]})})}function Gs(e){return(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-4 py-2.5`,children:[(0,R.jsxs)(`div`,{className:`relative flex-1`,children:[(0,R.jsx)(D,{className:`-translate-y-1/2 absolute top-1/2 left-2 size-3.5 text-muted-foreground`}),(0,R.jsx)(se,{ref:e.searchInputRef,value:e.query,onChange:t=>e.onQueryChange(t.target.value),placeholder:`Search branches...`,className:`h-8 pl-7 text-sm`})]}),(0,R.jsx)(F,{type:`button`,size:`icon`,variant:`ghost`,disabled:e.isLoading,onClick:e.onRefresh,"aria-label":`Refresh branches`,children:(0,R.jsx)(m,{className:e.isLoading?`size-3.5 animate-spin`:`size-3.5`})})]}),(0,R.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.error?(0,R.jsx)(`p`,{className:`px-4 py-6 text-destructive text-sm`,children:e.error}):e.isLoading&&e.branches.length===0?(0,R.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted-foreground`,children:`Loading branches...`}):e.branches.length===0?(0,R.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted-foreground`,children:e.query.trim().length>0?`No branches match this search.`:`No branches to show.`}):(0,R.jsx)(`div`,{role:`listbox`,className:`divide-y divide-border/60`,children:e.branches.map(t=>{let n=e.selectedBranchName===t.name;return(0,R.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":n,className:A(`flex w-full items-center gap-3 px-4 py-3 text-left transition-colors hover:bg-muted/60 focus-visible:bg-accent/60 focus-visible:outline-none`,n&&`bg-muted/80`),onClick:()=>e.onSelectBranch(t.name),children:[(0,R.jsx)(D,{className:`size-4 shrink-0 text-muted-foreground`}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate text-sm text-foreground`,children:t.name}),(0,R.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:t.current?`Current branch`:t.worktreePath?t.worktreePath:t.isRemote?t.remoteName??`Remote branch`:`Local branch`})]}),n?(0,R.jsx)(`span`,{className:`rounded border border-primary/30 bg-primary/10 px-1.5 py-0.5 text-[10px] text-primary uppercase`,children:`selected`}):t.isDefault?(0,R.jsx)(`span`,{className:`rounded border border-border px-1.5 py-0.5 text-[10px] text-muted-foreground uppercase`,children:`default`}):null]},t.name)})})})]})}function Ks(e){return(0,R.jsxs)(`div`,{className:`grid gap-5 p-5`,children:[(0,R.jsxs)(`div`,{className:`grid gap-2`,children:[(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`From branch`}),(0,R.jsx)(nc,{cwd:e.cwd,dialogOpen:e.dialogOpen,environmentId:e.environmentId,value:e.baseBranch,onChange:e.onBaseBranchChange,onDefaultBranchDiscovered:e.onDefaultBranchDiscovered})]}),(0,R.jsxs)(`div`,{className:`grid gap-3`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Create branch`}),(0,R.jsx)(tc,{value:e.branchNameMode,left:{value:`manual`,label:`Manual`},right:{value:`ai`,label:`AI name`},onChange:e.onBranchNameModeChange})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(se,{ref:e.branchNameInputRef,value:e.branchName,onChange:t=>e.onBranchNameChange(t.target.value),placeholder:`task/short-name`,className:`font-mono text-xs`}),(0,R.jsx)(F,{type:`button`,size:`icon`,variant:`ghost`,disabled:e.isGenerating,onClick:e.onGenerateBranchName,"aria-label":`Generate branch name`,children:e.branchNameMode===`ai`?(0,R.jsx)(O,{className:e.isGenerating?`size-3.5 animate-status-pulse`:`size-3.5`}):(0,R.jsx)(O,{className:`size-3.5`})})]}),e.generationError?(0,R.jsx)(`span`,{className:`text-destructive text-xs`,children:e.generationError}):(0,R.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`AI names are editable before the worktree is created.`})]})]})}function qs(e){let t=(0,I.c)(37),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsx)(`span`,{className:`font-medium text-muted-foreground text-xs uppercase`,children:`Worktree target`}),t[0]=n):n=t[0];let r=e.activeTab===`branches`?`Existing branch`:e.activeTab===`newBranch`?`New branch`:e.activeTab===`prs`?`Pull request`:e.activeTab===`issues`?`Issue`:`Jira work item`,i;t[1]===r?i=t[2]:(i=(0,R.jsxs)(`div`,{className:`grid gap-1`,children:[n,(0,R.jsx)(`span`,{className:`text-sm text-foreground`,children:r})]}),t[1]=r,t[2]=i);let a;t[3]!==e.activeTab||t[4]!==e.baseBranch||t[5]!==e.branchNameGenerationError||t[6]!==e.cwd||t[7]!==e.dialogOpen||t[8]!==e.environmentId||t[9]!==e.existingWorktreeId||t[10]!==e.generationTarget||t[11]!==e.issueBranchMode||t[12]!==e.issueBranchName||t[13]!==e.linkedWorkItemBranches||t[14]!==e.linkedWorkItemBranchesError||t[15]!==e.linkedWorkItemBranchesLoading||t[16]!==e.linkedWorkItemWorktrees||t[17]!==e.newBranchName||t[18]!==e.onBaseBranchChange||t[19]!==e.onDefaultBranchDiscovered||t[20]!==e.onGenerateIssueBranchName||t[21]!==e.onGenerateWorkItemBranchName||t[22]!==e.onIssueBranchModeChange||t[23]!==e.onIssueBranchNameChange||t[24]!==e.onSelectWorkItemBranchName||t[25]!==e.onWorkItemBranchModeChange||t[26]!==e.onWorkItemBranchNameChange||t[27]!==e.selectedBranchName||t[28]!==e.selectedWorkItemBranchName||t[29]!==e.selection||t[30]!==e.workItemBranchChoices||t[31]!==e.workItemBranchMode||t[32]!==e.workItemBranchName?(a=e.activeTab===`branches`?(0,R.jsx)(Js,{branchName:e.selectedBranchName}):e.activeTab===`newBranch`?(0,R.jsx)(Ys,{baseBranch:e.baseBranch,branchName:e.newBranchName}):e.activeTab===`prs`?(0,R.jsx)(Xs,{existingWorktreeId:e.existingWorktreeId,selection:e.selection?.kind===`pr`?e.selection.item:null}):e.activeTab===`issues`?(0,R.jsx)(Zs,{baseBranch:e.baseBranch,branchName:e.issueBranchName,branchMode:e.issueBranchMode,cwd:e.cwd,dialogOpen:e.dialogOpen,environmentId:e.environmentId,existingWorktreeId:e.existingWorktreeId,generationError:e.branchNameGenerationError,isGenerating:e.generationTarget===`issue`,selection:e.selection?.kind===`issue`?e.selection.item:null,onBaseBranchChange:e.onBaseBranchChange,onBranchModeChange:e.onIssueBranchModeChange,onBranchNameChange:e.onIssueBranchNameChange,onDefaultBranchDiscovered:e.onDefaultBranchDiscovered,onGenerateBranchName:e.onGenerateIssueBranchName}):(0,R.jsx)(Qs,{baseBranch:e.baseBranch,branchName:e.workItemBranchName,branchMode:e.workItemBranchMode,cwd:e.cwd,dialogOpen:e.dialogOpen,environmentId:e.environmentId,existingWorktreeId:e.existingWorktreeId,generationError:e.branchNameGenerationError,isGenerating:e.generationTarget===`workItem`,linkedBranches:e.linkedWorkItemBranches,linkedBranchesError:e.linkedWorkItemBranchesError,linkedBranchesLoading:e.linkedWorkItemBranchesLoading,linkedWorktrees:e.linkedWorkItemWorktrees,selection:e.selection?.kind===`workItem`?e.selection.item:null,selectedExistingBranchName:e.selectedWorkItemBranchName,workItemBranchChoices:e.workItemBranchChoices,onBaseBranchChange:e.onBaseBranchChange,onBranchModeChange:e.onWorkItemBranchModeChange,onBranchNameChange:e.onWorkItemBranchNameChange,onDefaultBranchDiscovered:e.onDefaultBranchDiscovered,onGenerateBranchName:e.onGenerateWorkItemBranchName,onSelectExistingBranchName:e.onSelectWorkItemBranchName}),t[3]=e.activeTab,t[4]=e.baseBranch,t[5]=e.branchNameGenerationError,t[6]=e.cwd,t[7]=e.dialogOpen,t[8]=e.environmentId,t[9]=e.existingWorktreeId,t[10]=e.generationTarget,t[11]=e.issueBranchMode,t[12]=e.issueBranchName,t[13]=e.linkedWorkItemBranches,t[14]=e.linkedWorkItemBranchesError,t[15]=e.linkedWorkItemBranchesLoading,t[16]=e.linkedWorkItemWorktrees,t[17]=e.newBranchName,t[18]=e.onBaseBranchChange,t[19]=e.onDefaultBranchDiscovered,t[20]=e.onGenerateIssueBranchName,t[21]=e.onGenerateWorkItemBranchName,t[22]=e.onIssueBranchModeChange,t[23]=e.onIssueBranchNameChange,t[24]=e.onSelectWorkItemBranchName,t[25]=e.onWorkItemBranchModeChange,t[26]=e.onWorkItemBranchNameChange,t[27]=e.selectedBranchName,t[28]=e.selectedWorkItemBranchName,t[29]=e.selection,t[30]=e.workItemBranchChoices,t[31]=e.workItemBranchMode,t[32]=e.workItemBranchName,t[33]=a):a=t[33];let o;return t[34]!==i||t[35]!==a?(o=(0,R.jsxs)(`aside`,{className:`flex min-h-0 flex-col gap-4 border-border/60 border-t bg-muted/20 p-4 md:border-t-0 md:border-l`,children:[i,a]}),t[34]=i,t[35]=a,t[36]=o):o=t[36],o}function Js(e){let t=(0,I.c)(6),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsx)(D,{className:`size-4 shrink-0 text-muted-foreground`}),t[0]=n):n=t[0];let r=e.branchName??`Select a branch`,i;t[1]===r?i=t[2]:(i=(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n,(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-sm`,children:r})]}),t[1]=r,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,R.jsx)(`p`,{className:`mt-2 text-muted-foreground text-xs`,children:`A new worktree branch will be created from this ref.`}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,R.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-background/70 p-3`,children:[i,a]}),t[4]=i,t[5]=o),o}function Ys(e){let t=(0,I.c)(11),n;t[0]===e.baseBranch?n=t[1]:(n=zs(e.baseBranch),t[0]=e.baseBranch,t[1]=n);let r;t[2]===n?r=t[3]:(r=(0,R.jsx)(ec,{label:`From`,value:n,mono:!0}),t[2]=n,t[3]=r);let i;t[4]===e.branchName?i=t[5]:(i=e.branchName.trim()||`Enter or generate a branch name`,t[4]=e.branchName,t[5]=i);let a;t[6]===i?a=t[7]:(a=(0,R.jsx)(ec,{label:`Create`,value:i,mono:!0}),t[6]=i,t[7]=a);let o;return t[8]!==r||t[9]!==a?(o=(0,R.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-border/60 bg-background/70 p-3`,children:[r,a]}),t[8]=r,t[9]=a,t[10]=o):o=t[10],o}function Xs(e){let t=(0,I.c)(27);if(!e.selection){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(`p`,{className:`rounded-md border border-dashed border-border/70 p-3 text-muted-foreground text-sm`,children:`Select a pull request from the list.`}),t[0]=e):e=t[0],e}let n;t[1]!==e.selection.isDraft||t[2]!==e.selection.state?(n=u(e.selection.state,e.selection.isDraft),t[1]=e.selection.isDraft,t[2]=e.selection.state,t[3]=n):n=t[3];let r;t[4]===n?r=t[5]:(r=(0,R.jsx)(x,{kind:n,className:`mt-0.5 shrink-0`}),t[4]=n,t[5]=r);let i;t[6]===e.selection.number?i=t[7]:(i=(0,R.jsxs)(`div`,{className:`text-muted-foreground text-xs`,children:[`PR #`,e.selection.number]}),t[6]=e.selection.number,t[7]=i);let a;t[8]===e.selection.title?a=t[9]:(a=(0,R.jsx)(`div`,{className:`line-clamp-2 font-medium text-sm`,children:e.selection.title}),t[8]=e.selection.title,t[9]=a);let o;t[10]!==i||t[11]!==a?(o=(0,R.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[10]=i,t[11]=a,t[12]=o):o=t[12];let s;t[13]!==r||t[14]!==o?(s=(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[r,o]}),t[13]=r,t[14]=o,t[15]=s):s=t[15];let c=`${e.selection.headRefName} -> ${e.selection.baseRefName}`,l;t[16]===c?l=t[17]:(l=(0,R.jsx)(ec,{label:`Branch`,value:c,mono:!0}),t[16]=c,t[17]=l);let d;t[18]===e.selection.author?d=t[19]:(d=e.selection.author?(0,R.jsx)(ec,{label:`Author`,value:e.selection.author}):null,t[18]=e.selection.author,t[19]=d);let f;t[20]===e.existingWorktreeId?f=t[21]:(f=e.existingWorktreeId?(0,R.jsx)(`span`,{className:`rounded border border-primary/30 bg-primary/10 px-2 py-1 text-primary text-xs`,children:`Existing worktree found`}):null,t[20]=e.existingWorktreeId,t[21]=f);let p;return t[22]!==s||t[23]!==l||t[24]!==d||t[25]!==f?(p=(0,R.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-border/60 bg-background/70 p-3`,children:[s,l,d,f]}),t[22]=s,t[23]=l,t[24]=d,t[25]=f,t[26]=p):p=t[26],p}function Zs(e){let t=(0,I.c)(49);if(!e.selection){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(`p`,{className:`rounded-md border border-dashed border-border/70 p-3 text-muted-foreground text-sm`,children:`Select an issue from the list.`}),t[0]=e):e=t[0],e}let n=e.selection.state===`open`?`issue-open`:`issue-closed`,r;t[1]===n?r=t[2]:(r=(0,R.jsx)(x,{kind:n,className:`mt-0.5 shrink-0`}),t[1]=n,t[2]=r);let i;t[3]===e.selection.number?i=t[4]:(i=(0,R.jsxs)(`div`,{className:`text-muted-foreground text-xs`,children:[`Issue #`,e.selection.number]}),t[3]=e.selection.number,t[4]=i);let a;t[5]===e.selection.title?a=t[6]:(a=(0,R.jsx)(`div`,{className:`line-clamp-2 font-medium text-sm`,children:e.selection.title}),t[5]=e.selection.title,t[6]=a);let o;t[7]!==i||t[8]!==a?(o=(0,R.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[7]=i,t[8]=a,t[9]=o):o=t[9];let s;t[10]!==r||t[11]!==o?(s=(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[r,o]}),t[10]=r,t[11]=o,t[12]=s):s=t[12];let c;t[13]===e.selection.author?c=t[14]:(c=e.selection.author?(0,R.jsx)(ec,{label:`Author`,value:e.selection.author}):null,t[13]=e.selection.author,t[14]=c);let l;t[15]===e.existingWorktreeId?l=t[16]:(l=e.existingWorktreeId?(0,R.jsx)(`span`,{className:`rounded border border-primary/30 bg-primary/10 px-2 py-1 text-primary text-xs`,children:`Existing worktree found`}):null,t[15]=e.existingWorktreeId,t[16]=l);let u;t[17]!==s||t[18]!==c||t[19]!==l?(u=(0,R.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-border/60 bg-background/70 p-3`,children:[s,c,l]}),t[17]=s,t[18]=c,t[19]=l,t[20]=u):u=t[20];let d;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`From branch`}),t[21]=d):d=t[21];let f;t[22]!==e.baseBranch||t[23]!==e.cwd||t[24]!==e.dialogOpen||t[25]!==e.environmentId||t[26]!==e.onBaseBranchChange||t[27]!==e.onDefaultBranchDiscovered?(f=(0,R.jsxs)(`div`,{className:`grid gap-2`,children:[d,(0,R.jsx)(nc,{cwd:e.cwd,dialogOpen:e.dialogOpen,environmentId:e.environmentId,value:e.baseBranch,onChange:e.onBaseBranchChange,onDefaultBranchDiscovered:e.onDefaultBranchDiscovered})]}),t[22]=e.baseBranch,t[23]=e.cwd,t[24]=e.dialogOpen,t[25]=e.environmentId,t[26]=e.onBaseBranchChange,t[27]=e.onDefaultBranchDiscovered,t[28]=f):f=t[28];let p;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Branch name`}),t[29]=p):p=t[29];let m,h;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(m={value:`ai`,label:`AI`},h={value:`custom`,label:`Custom`},t[30]=m,t[31]=h):(m=t[30],h=t[31]);let g;t[32]!==e.branchMode||t[33]!==e.onBranchModeChange?(g=(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[p,(0,R.jsx)(tc,{value:e.branchMode,left:m,right:h,onChange:e.onBranchModeChange})]}),t[32]=e.branchMode,t[33]=e.onBranchModeChange,t[34]=g):g=t[34];let _;t[35]===e?_=t[36]:(_=e.branchMode===`ai`?(0,R.jsx)(`p`,{className:`rounded-md border border-border/60 bg-background/60 px-3 py-2 text-muted-foreground text-xs`,children:`The branch name will be generated from the selected issue when the worktree is created.`}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(se,{value:e.branchName,onChange:t=>e.onBranchNameChange(t.target.value),placeholder:`issue/short-name`,className:`font-mono text-xs`}),(0,R.jsx)(F,{type:`button`,size:`icon`,variant:`ghost`,disabled:e.isGenerating,onClick:e.onGenerateBranchName,"aria-label":`Generate issue branch name`,children:(0,R.jsx)(O,{className:e.isGenerating?`size-3.5 animate-status-pulse`:`size-3.5`})})]}),t[35]=e,t[36]=_);let v;t[37]===e.generationError?v=t[38]:(v=e.generationError?(0,R.jsx)(`span`,{className:`text-destructive text-xs`,children:e.generationError}):null,t[37]=e.generationError,t[38]=v);let y;t[39]!==g||t[40]!==_||t[41]!==v?(y=(0,R.jsxs)(`div`,{className:`grid gap-2`,children:[g,_,v]}),t[39]=g,t[40]=_,t[41]=v,t[42]=y):y=t[42];let b;t[43]!==f||t[44]!==y?(b=(0,R.jsxs)(`div`,{className:`grid gap-3`,children:[f,y]}),t[43]=f,t[44]=y,t[45]=b):b=t[45];let S;return t[46]!==b||t[47]!==u?(S=(0,R.jsxs)(`div`,{className:`grid gap-4`,children:[u,b]}),t[46]=b,t[47]=u,t[48]=S):S=t[48],S}function Qs(e){let t=(0,I.c)(30);if(!e.selection){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,R.jsx)(`p`,{className:`rounded-md border border-dashed border-border/70 p-3 text-muted-foreground text-sm`,children:`Select a Jira work item from the list.`}),t[0]=e):e=t[0],e}let n;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,R.jsxs)(`span`,{className:`mt-0.5 inline-flex items-center gap-1 rounded-full bg-violet-500/10 px-2 py-0.5 font-medium text-violet-600 text-xs dark:text-violet-300`,children:[(0,R.jsx)(ce,{className:`size-3`}),`Jira`]}),t[1]=n):n=t[1];let r;t[2]===e.selection.key?r=t[3]:(r=(0,R.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:e.selection.key}),t[2]=e.selection.key,t[3]=r);let i;t[4]===e.selection.title?i=t[5]:(i=(0,R.jsx)(`div`,{className:`line-clamp-2 font-medium text-sm`,children:e.selection.title}),t[4]=e.selection.title,t[5]=i);let a;t[6]!==r||t[7]!==i?(a=(0,R.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n,(0,R.jsxs)(`div`,{className:`min-w-0`,children:[r,i]})]}),t[6]=r,t[7]=i,t[8]=a):a=t[8];let o;t[9]===e.selection?o=t[10]:(o=w(e.selection),t[9]=e.selection,t[10]=o);let s;t[11]===o?s=t[12]:(s=(0,R.jsx)(ec,{label:`State`,value:o}),t[11]=o,t[12]=s);let c;t[13]===e.selection.issueType?c=t[14]:(c=e.selection.issueType?(0,R.jsx)(ec,{label:`Type`,value:e.selection.issueType}):null,t[13]=e.selection.issueType,t[14]=c);let l;t[15]===e.existingWorktreeId?l=t[16]:(l=e.existingWorktreeId?(0,R.jsx)(`span`,{className:`rounded border border-primary/30 bg-primary/10 px-2 py-1 text-primary text-xs`,children:`Existing worktree found`}):null,t[15]=e.existingWorktreeId,t[16]=l);let u;t[17]===e.linkedWorktrees?u=t[18]:(u=e.linkedWorktrees.length>0?(0,R.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,R.jsx)(`span`,{className:`text-muted-foreground text-[11px] uppercase`,children:`Linked worktrees`}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.linkedWorktrees.map($s)})]}):null,t[17]=e.linkedWorktrees,t[18]=u);let d;t[19]!==a||t[20]!==s||t[21]!==c||t[22]!==l||t[23]!==u?(d=(0,R.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-border/60 bg-background/70 p-3`,children:[a,s,c,l,u]}),t[19]=a,t[20]=s,t[21]=c,t[22]=l,t[23]=u,t[24]=d):d=t[24];let f;t[25]===e?f=t[26]:(f=e.workItemBranchChoices.length>0?(0,R.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-primary/25 bg-primary/8 p-3`,children:[(0,R.jsxs)(`div`,{className:`grid gap-1`,children:[(0,R.jsx)(`span`,{className:`font-medium text-primary text-xs`,children:`Branch already exists for this Jira ticket`}),(0,R.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Select which matching branch should get a new worktree.`})]}),(0,R.jsx)(`div`,{className:`grid gap-1.5`,children:e.workItemBranchChoices.map(t=>{let n=e.selectedExistingBranchName===t.branchName;return(0,R.jsxs)(`button`,{type:`button`,className:A(`flex min-w-0 items-start gap-2 rounded-md border px-2 py-2 text-left transition-colors`,n?`border-primary/40 bg-background text-foreground`:`border-border/70 bg-background/60 hover:bg-background`),onClick:()=>e.onSelectExistingBranchName(t.branchName),children:[(0,R.jsx)(D,{className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,R.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`span`,{className:`block truncate font-mono text-xs`,children:t.label}),(0,R.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:t.description})]}),t.hasWorktree?(0,R.jsx)(`span`,{className:`shrink-0 rounded border border-border/70 px-1 py-0.5 text-[9px] text-muted-foreground uppercase`,children:`worktree`}):null]},t.branchName)})})]}):(0,R.jsxs)(`div`,{className:`grid gap-3`,children:[e.linkedBranchesLoading?(0,R.jsx)(`p`,{className:`rounded-md border border-border/60 bg-background/60 px-3 py-2 text-muted-foreground text-xs`,children:`Checking for existing Jira branches…`}):e.linkedBranchesError?(0,R.jsxs)(`p`,{className:`rounded-md border border-border/60 bg-background/60 px-3 py-2 text-muted-foreground text-xs`,children:[`Could not check existing Jira branches: `,e.linkedBranchesError]}):null,(0,R.jsxs)(`div`,{className:`grid gap-2`,children:[(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`From branch`}),(0,R.jsx)(nc,{cwd:e.cwd,dialogOpen:e.dialogOpen,environmentId:e.environmentId,value:e.baseBranch,onChange:e.onBaseBranchChange,onDefaultBranchDiscovered:e.onDefaultBranchDiscovered})]}),(0,R.jsxs)(`div`,{className:`grid gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,R.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Branch name`}),(0,R.jsx)(tc,{value:e.branchMode,left:{value:`ai`,label:`AI`},right:{value:`custom`,label:`Custom`},onChange:e.onBranchModeChange})]}),e.branchMode===`ai`?(0,R.jsx)(`p`,{className:`rounded-md border border-border/60 bg-background/60 px-3 py-2 text-muted-foreground text-xs`,children:`The branch name will be generated from the selected Jira item when the worktree is created.`}):(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(se,{value:e.branchName,onChange:t=>e.onBranchNameChange(t.target.value),placeholder:`KAN-4-short-name`,className:`font-mono text-xs`}),(0,R.jsx)(F,{type:`button`,size:`icon`,variant:`ghost`,disabled:e.isGenerating,onClick:e.onGenerateBranchName,"aria-label":`Generate Jira branch name`,children:(0,R.jsx)(O,{className:e.isGenerating?`size-3.5 animate-status-pulse`:`size-3.5`})})]}),e.generationError?(0,R.jsx)(`span`,{className:`text-destructive text-xs`,children:e.generationError}):null]})]}),t[25]=e,t[26]=f);let p;return t[27]!==f||t[28]!==d?(p=(0,R.jsxs)(`div`,{className:`grid gap-4`,children:[d,f]}),t[27]=f,t[28]=d,t[29]=p):p=t[29],p}function $s(e){return(0,R.jsx)(`span`,{className:`max-w-full truncate rounded border border-border/70 bg-background/70 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,title:e.worktreePath??e.branch,children:e.branch},e.id)}function ec(e){let t=(0,I.c)(10),n;t[0]===e.label?n=t[1]:(n=(0,R.jsx)(`span`,{className:`text-muted-foreground text-[11px] uppercase`,children:e.label}),t[0]=e.label,t[1]=n);let r=e.mono&&`font-mono text-xs`,i;t[2]===r?i=t[3]:(i=A(`min-w-0 truncate text-sm`,r),t[2]=r,t[3]=i);let a;t[4]!==e.value||t[5]!==i?(a=(0,R.jsx)(`span`,{className:i,children:e.value}),t[4]=e.value,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==n||t[8]!==a?(o=(0,R.jsxs)(`div`,{className:`grid gap-0.5`,children:[n,a]}),t[7]=n,t[8]=a,t[9]=o):o=t[9],o}function tc(e){let t=(0,I.c)(6),n;t[0]!==e.left||t[1]!==e.right?(n=[e.left,e.right],t[0]=e.left,t[1]=e.right,t[2]=n):n=t[2];let r;return t[3]!==e||t[4]!==n?(r=(0,R.jsx)(`div`,{className:`inline-flex rounded-md border border-border/60 bg-muted/40 p-0.5`,children:n.map(t=>(0,R.jsx)(`button`,{type:`button`,"aria-pressed":e.value===t.value,onClick:()=>e.onChange(t.value),className:A(`rounded px-2 py-0.5 text-xs transition-colors`,e.value===t.value?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:t.label},t.value))}),t[3]=e,t[4]=n,t[5]=r):r=t[5],r}function nc(e){let[t,n]=(0,L.useState)(!1),[r,i]=(0,L.useState)(``),a=(0,L.useRef)(null),o=Us({cwd:e.cwd,enabled:!0,environmentId:e.environmentId,open:e.dialogOpen,query:t?r:``}),{onDefaultBranchDiscovered:s}=e;(0,L.useEffect)(()=>{let e=o.refs.find(e=>e.isDefault)?.name;e&&s(e)},[o.refs,s]);let c=(0,L.useMemo)(()=>o.refs.map(e=>e.name),[o.refs]),l=(0,L.useMemo)(()=>new Map(o.refs.map(e=>[e.name,e])),[o.refs]),u=(0,L.useCallback)(e=>{n(e),e||i(``)},[]);return(0,R.jsxs)(ee,{items:c,filteredItems:c,open:t,value:e.value,onOpenChange:u,children:[(0,R.jsxs)(ae,{ref:a,render:(0,R.jsx)(F,{variant:`outline`}),className:`h-8 w-full justify-between px-2 font-mono text-xs`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:e.value||`Select branch`}),(0,R.jsx)(p,{className:`size-3.5 shrink-0 text-muted-foreground`})]}),(0,R.jsxs)(te,{anchor:a,className:`w-[min(42rem,var(--available-width))] overflow-hidden`,children:[(0,R.jsx)(`div`,{className:`border-b p-1`,children:(0,R.jsx)(oe,{className:`[&_input]:font-sans rounded-md`,inputClassName:`ring-0`,placeholder:`Search refs...`,showTrigger:!1,size:`sm`,value:r,onChange:e=>i(e.target.value)})}),(0,R.jsx)(ie,{children:`No refs found.`}),(0,R.jsx)(re,{className:`max-h-56`,children:c.map((t,r)=>{let a=l.get(t),o=a?.current?`current`:a?.worktreePath?`worktree`:a?.isRemote?`remote`:a?.isDefault?`default`:null;return(0,R.jsx)(P,{index:r,value:t,onClick:()=>{e.onChange(t),n(!1),i(``)},children:(0,R.jsxs)(`div`,{className:`flex w-full items-center justify-between gap-2`,children:[(0,R.jsx)(`span`,{className:`truncate font-mono text-xs`,children:t}),o?(0,R.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/55`,children:o}):null]})},t)})}),(0,R.jsx)(ne,{children:o.error?o.error:o.isLoading?`Loading refs...`:c.length>=Is?`Showing first ${Is} refs`:``})]})]})}export{_e as a,ve as i,Fs as n,ge as o,ye as r,Ws as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./compiler-runtime-qmuS0Svy.js";import{n as t,t as n}from"./env-B4arEvJg.js";import{It as r}from"./composerDraftStore-CdJJZe42.js";import{g as i,h as a}from"./rightPanelRouteSearch-DB5gQGHK.js";import{t as o}from"./useNavigate-2tVq4iZ2.js";import{t as s}from"./arrow-left-Dtj9PfsA.js";import{h as c,t as l}from"./HostedConnectionControls-BC4kVWTa.js";import{t as u}from"./utils-BofFIn5Y.js";import{t as d}from"./button-BAbJxRzt.js";import{t as f}from"./usePresentationTier-B_SCFvN7.js";import{g as p,o as m}from"./sidebar-Dm6l2GA6.js";import{i as h,o as g,r as _,t as v}from"./empty-DwzqNgCP.js";import{t as y}from"./HostedRelayTrustNotice-ffS_O2AX.js";var b=e();function x(){let{state:e}=p(),t=f();return e===`collapsed`&&t===`desktop`}var S=r();function C(){let e=(0,b.c)(10),r=o(),c=x()?i:`pl-3 sm:pl-5`,f;e[0]===c?f=e[1]:(f=u(`border-b border-border pr-3 sm:pr-5`,a,c,n?`drag-region flex h-[52px] items-center wco:h-[env(titlebar-area-height)]`:`py-2 sm:py-3`),e[0]=c,e[1]=f);let p;e[2]===r?p=e[3]:(p=n?(0,S.jsx)(`span`,{className:`text-xs text-muted-foreground/50 wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+1em)]`,children:`No active thread`}):(0,S.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,S.jsx)(d,{size:`icon-sm`,variant:`ghost`,"aria-label":`Back to threads`,className:`shrink-0 not-phone:hidden`,onClick:()=>void r({to:`/`}),children:(0,S.jsx)(s,{})}),(0,S.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground md:text-muted-foreground/60`,children:`No active thread`}),(0,S.jsx)(l,{})]}),e[2]=r,e[3]=p);let C;e[4]!==f||e[5]!==p?(C=(0,S.jsx)(`header`,{className:f,children:p}),e[4]=f,e[5]=p,e[6]=C):C=e[6];let T;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,S.jsx)(v,{className:`flex-1`,children:(0,S.jsx)(`div`,{className:`w-full max-w-lg rounded-3xl border border-border/55 bg-card/20 px-8 py-12 shadow-sm/5`,children:(0,S.jsxs)(h,{className:`max-w-none`,children:[(0,S.jsx)(g,{className:`text-foreground text-xl`,children:`Pick a thread to continue`}),(0,S.jsx)(_,{className:`mt-2 text-sm text-muted-foreground/78`,children:`Select an existing thread or create a new one to get started.`}),t()?(0,S.jsxs)(`div`,{className:`mt-5 space-y-3 text-left`,children:[(0,S.jsx)(d,{variant:`outline`,onClick:w,children:`Manage nodes`}),(0,S.jsx)(y,{compact:!0})]}):null]})})}),e[7]=T):T=e[7];let E;return e[8]===C?E=e[9]:(E=(0,S.jsx)(m,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:(0,S.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,children:[C,T]})}),e[8]=C,e[9]=E),E}function w(){return c({kind:`nodes`})}export{x as n,C as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{n as r}from"./env-B4arEvJg.js";import{N as i,Xn as a}from"./runtime-DfGHeCnR.js";import{D as o,E as s,N as c,O as l,P as u,S as d,_ as f,b as p,c as m,d as h,f as g,l as _,m as v,s as y,v as b,x,y as S}from"./primary-OskAInOO.js";import{It as C}from"./composerDraftStore-CdJJZe42.js";import{n as ee,t as te}from"./visibilityPolling-BwzZdaSN.js";import{At as w}from"./authorization-mIJKV2yp.js";import{t as ne}from"./copy-UQjKGt7t.js";import{t as T}from"./qr-code-ScYULAuR.js";import{t as re}from"./refresh-cw-DopCMrtR.js";import{t as ie}from"./triangle-alert-RL_T3KLo.js";import{t as ae}from"./switch-BTGo9Yip.js";import{t as oe}from"./input-CHEwW3oH.js";import{t as E}from"./button-BAbJxRzt.js";import{t as se}from"./useCopyToClipboard-BTpWxumf.js";import{i as ce,r as le,t as ue}from"./alert-LqMhbdE9.js";import{a as de,c as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./dialog-DQsYchqu.js";import{a as ye,i as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./alert-dialog-DxoA6ky8.js";import{t as D}from"./badge-CXw6fWrB.js";import{i as O,n as Ee,r as k}from"./settingsLayout-D8glO7f1.js";import{a as A,i as j,n as M,o as N,s as P,t as F}from"./HostedRelayTrustNotice-ffS_O2AX.js";import{t as De}from"./qr-code-Bddq6K7S.js";var I=e(t(),1),L=n();function Oe(e){return e?`hosted`:`local`}function ke(e,t){return e===`local`?{headline:`Direct to a node on this machine`,body:`This window talks to a Ryco node running here, on this machine. No Ryco Hub sits between them and nothing you send leaves this machine on its way to the node.`}:{headline:t===null?`Through the Ryco Hub`:t.shortLabel,body:`This browser reaches a node through the Ryco Hub relay. What that channel is worth is stated with the channel itself, below.`}}function Ae(e){return e===`local`?{available:!0,unavailableBody:``}:{available:!1,unavailableBody:"Your node's client list, live sessions, admission policy, prekey and fallback counters are held on the node and read over its own local interface, which the relay does not carry. Open Ryco on that machine to see them, or run `ryco e2ee` there."}}function je(e){return e===`local`?{kind:`available`}:{kind:`blocked`,reason:"This one can only be changed from the node itself. It admits approved native client keys and closes browser and legacy access — including this browser, which is how you are reading this — so turning it on from here would end this session and leave no way back in through it. Run `ryco e2ee policy set --require-approved-client-e2ee` on the machine running the node, where you can still reach it if the result is not what you wanted."}}var Me="This build cannot change whether the node admits only approved native client keys. Run `ryco e2ee policy set --require-approved-client-e2ee` on the machine running the node.";function Ne(e,t){if(e===`hosted`&&t.requireApprovedClientE2EE!==void 0){let t=je(e);return{allowed:!1,refusal:t.kind===`blocked`?t.reason:Me}}return{allowed:!0,proposal:t}}function R(e){let t=e.split(w.separator);if(t.length!==w.groups)return[];for(let e of t){if(e.length!==w.digitsPerGroup)return[];for(let t of e)if(t<`0`||t>`9`)return[]}return t}var z=`${w.digits} digits, in ${w.groups} groups of ${w.digitsPerGroup}. The length and the grouping are the only check there is, so read all ${w.digits} in order.`,B=`Compare this with the number the device itself shows, on the device, before approving it. They match only for this key pair under this Hub account — the same device under a different account reads differently. Approve nothing whose number you have not read off the other screen yourself.`;function Pe(e){let t=R(e);return t.length===0?null:{groups:t,display:t.join(w.separator),caption:z,advisory:B}}var V=`No comparison number is readable for this record, so there is nothing here to check against the device.`;function Fe(e){return e===null?{available:!1,fingerprint:null,caption:"This node's identity fingerprint is shown here only while an enrollment is waiting for approval. At other times, read it from the node with `ryco hub status` on the machine running it."}:{available:!0,fingerprint:e,caption:`This node's identity fingerprint, from the enrollment now waiting for approval. Compare it character for character wherever you are asked to confirm this machine.`}}var H=`unknown`;function U(e){if(e===void 0)return`never`;let t=new Date(e);return Number.isNaN(t.getTime())?H:t.toLocaleString()}function Ie(e){return e===null?[{label:`Agreement prekey`,value:H}]:e.present?[{label:`Prekey`,value:e.prekeyId??H,mono:!0},{label:`Fingerprint`,value:e.fingerprint??H,mono:!0},{label:`Validity`,value:e.validity??H},{label:`Created`,value:U(e.createdAt)},{label:`Expires`,value:U(e.expiresAt)}]:[{label:`Agreement prekey`,value:`none held`}]}function Le(e){return e===null?null:e.present?e.remedy??null:`This node holds no agreement prekey for its Hub origin. It re-signs one at startup; rotate to issue one now.`}function Re(e){return e===null?[{label:`Continuity`,value:H}]:e.status===`unavailable`?[{label:`Continuity`,value:`unresolvable`},{label:`Reason`,value:e.reason??H}]:[{label:`Continuity`,value:`advertisable`},{label:`Lineage`,value:e.continuityId??H,mono:!0},{label:`Rotation generation`,value:String(e.generation??0)},{label:`Retained chain length`,value:String(e.chainLength??0)},...e.repair===void 0?[]:[{label:`Startup repair`,value:e.repair}],...e.lastBreakReason===void 0?[]:[{label:`Last break`,value:`${e.lastBreakReason} at ${U(e.lastBreakAt)}`}]]}function ze(e){return e?.remedy??null}function W(e){switch(e){case`pending`:return`warning`;case`approved`:return`success`;case`revoked`:return`error`}}function G(e){let t=e.displayLabel?.trim()??``;return t===``?`Client key …${e.fingerprint.slice(-8)}`:t}function K(e){return[{label:`Fingerprint`,value:e.fingerprint,mono:!0},{label:`Hub origin`,value:e.hubOrigin},{label:`Account`,value:e.accountId},{label:`Maximum role`,value:e.maxRole===``?`none granted`:e.maxRole},{label:`Capabilities`,value:e.capabilitySet.length===0?`none`:e.capabilitySet.join(`, `)},{label:`Created`,value:U(e.createdAt)},...e.approvedAt===void 0?[]:[{label:`Approved`,value:U(e.approvedAt)}],...e.revokedAt===void 0?[]:[{label:`Revoked`,value:U(e.revokedAt)}],{label:`Last seen`,value:U(e.lastSeenAt)},...e.pairingReserved?[{label:`Pairing reservation`,value:`held`}]:[]]}function Be(e){if(e===null)return[];let t=[];return(e.pendingGlobalSaturated||e.saturatedAccounts.length>0)&&t.push(`Pending pairing is saturated, so a new device may not be able to introduce itself. Purge a pending record, or read the fingerprint off the device and open a pairing window naming it.`),e.refusedPairingAttempts>0&&t.push(`${e.refusedPairingAttempts} pairing attempt(s) were refused because the pending list was full. Clear the count once you have dealt with them, or later readings will be dominated by history.`),t}function Ve(e){if(e===null)return[{label:`Pairing window`,value:H}];let t=e.pairingWindow;return t===void 0?[{label:`Pairing window`,value:`closed`}]:[{label:`Pairing window`,value:`open`},{label:`Only this fingerprint`,value:t.fingerprint,mono:!0},{label:`Expires`,value:U(t.expiresAt)},{label:`Reservation`,value:t.spent?`spent`:`unspent`}]}function He(e){return e===null?`How many pairing attempts this node refused because the pending list was full has not been read here.`:`${e.refusedPairingAttempts} attempt(s) refused because the pending list was full.`}var Ue=`A window lets exactly one device introduce itself, and only the one whose fingerprint you name.`;function We(e){return[{label:`Tier`,value:e.tier===`native`?`native (IK)`:`browser (NX)`},{label:`Suite`,value:String(e.suite)},{label:`Established`,value:U(e.establishedAt)}]}var Ge=`Native sessions have no per-session code. Compare this device's long-term number on its record above instead.`,Ke=`Compare this code with the one that browser is showing for this session, on that screen. A match catches accidental wrong-node routing and some network interposition — anyone standing in for this node who is not also serving that browser its page — while the code that browser loaded is honest; it cannot protect against whoever served that page, and a match does not rule out someone sitting in the middle.`,qe=`No session code reached this listing for that channel, so there is nothing here to compare against the browser holding it.`;function Je(e){let t=j(e,`inline`);return t===null?null:{groups:t.groups,display:t.display,advisory:Ke,more:null}}var Ye=`A browser channel this node has open. Its per-session code is below.`;function Xe(e){return e===null?[{label:`Admission policy`,value:H}]:[{label:`requireE2EE`,value:String(e.requireE2EE),mono:!0},{label:`requireApprovedClientE2EE`,value:String(e.requireApprovedClientE2EE),mono:!0},{label:`Effective requireE2EE`,value:String(e.effectiveRequireE2EE),mono:!0},{label:`Admitted patterns`,value:e.admittedPatterns.join(`, `)||`none`},{label:`Suite registry`,value:e.suiteRegistry.join(`, `)||`none`},{label:`Policy generation`,value:String(e.generation)}]}function Ze(e,t,n){let r=[];t.requireApprovedClientE2EE===!0&&r.push(`requireApprovedClientE2EE closes browser and legacy access entirely. Only approved native client keys reach application payload after this, and losing every approved key strands remote access to this node until someone recovers it at the machine — which never relaxes admission policy.`);for(let e of Qe(t,n))r.push(e);return e.withdrawal&&r.push(`This narrows what the node admits, so it closes live channels. Roughly matching now: ${e.counts.legacy} legacy, ${e.counts.nxE2ee} browser, ${e.counts.suiteWithdrawn} on a withdrawn suite, and ${e.counts.abortedHandshakes} handshake(s) in flight. These move while you read them.`),e.changed||r.push(`This changes nothing: the node already admits exactly this.`),r.length===0&&r.push(q),r}function Qe(e,t){let n=[];return e.requireE2EE===!1&&t?.requireE2EE!==!1&&n.push(`Turning this off re-admits plaintext. The node goes back to accepting relay payload it has not encrypted, for browsers and for legacy clients, and the Hub carries that in a form it can read. It closes nothing now — what changes is what the node accepts next.`),e.requireApprovedClientE2EE===!1&&t?.requireApprovedClientE2EE!==!1&&n.push(`Clearing this re-admits the browser and legacy tiers. Client keys this node has not approved reach it again on their next connection, under whatever the remaining policy allows.`),n}var q=`The node reports that this closes no channel it has open now. That is a statement about the live channels and not about what the node will admit afterwards.`;function $e(e,t,n){return e.withdrawal||Qe(t,n).length>0}function et(e){return[e.changed?`Policy committed.`:`Policy unchanged.`,`Closed ${e.counts.legacy} legacy channel(s), ${e.counts.nxE2ee} browser channel(s), ${e.counts.suiteWithdrawn} suite-withdrawn channel(s); aborted ${e.counts.abortedHandshakes} handshake(s) in flight.`].join(` `)}var J=`This advances the policy generation past every value this node may already have advertised, and the jump is deliberate. Clients accept only a higher generation than the one they remember, so nothing below the new value can be advertised again. If a restore rolled the record back, recovery does not restore the old values: it commits the fail-closed policy, which admits only approved native client keys and so closes browser and legacy access entirely, including every remote browser session open now. There is no way to tell from here which of the two this will be. Widening it back is a separate, explicit policy change, and if this node's only remaining access was a browser it has to be made at the machine.`;function tt(e){if(e===null)return null;let t=e.peerLegacy.ringOverflows>0||e.advertisementUnavailable.ringOverflows>0;return{windowStarted:U(e.windowStartedAt),classes:[{label:`Peer spoke legacy`,meaning:`The other end did not take the encrypted channel, so this one carried readable payload.`,occurrences:e.peerLegacy.occurrences,lastOccurrence:U(e.peerLegacy.lastOccurrenceAt),ringOverflows:e.peerLegacy.ringOverflows},{label:`No advertisement`,meaning:`This node could not offer an encrypted channel, or the offer did not survive the path. It cannot tell which.`,occurrences:e.advertisementUnavailable.occurrences,lastOccurrence:U(e.advertisementUnavailable.lastOccurrenceAt),ringOverflows:e.advertisementUnavailable.ringOverflows}],entries:[...e.ring].toSorted((e,t)=>e.occurredAt-t.occurredAt).map((e,t)=>({ordinal:t,at:U(e.occurredAt),reason:e.reason})),overflowNotice:t?`The retained list overflowed, so it is an incomplete account of this window. The shape of what is left is not evidence in either direction.`:null,undersizedNotice:e.undersizedConnection===void 0?null:`This connection asserts a maximum chunk of ${e.undersizedConnection.assertedMaxDataChunkBytes} bytes, below the ${e.undersizedConnection.advertisementMinChunkBytes} bytes an offer needs. Nothing that fits can carry one, so this node offers nothing on this connection.`,quiet:e.peerLegacy.occurrences===0&&e.advertisementUnavailable.occurrences===0&&e.ring.length===0}}var nt=`Nothing has fallen back in this window. This counts what happened, not what could — a quiet window is not a statement about the next one.`,Y={approve:{title:`Approve this client key?`,body:`The device holding this key may then reach this node, up to the role and capabilities you grant here. Compare its number against the device first. It takes effect on its next connection, not on anything open now.`,confirmLabel:`Approve key`,destructive:!1},narrow:{title:`Reduce what this client may do?`,body:`Anything this device has open under the wider authority closes immediately — the node will not confirm the change until those channels are shut. The device reconnects with the smaller role ceiling. Its capability grant is left exactly as it is; only the ceiling drops, and changing the capabilities is a separate command on the node.`,confirmLabel:`Reduce authority`,destructive:!0},revoke:{title:`Revoke this client key?`,body:`The device loses access now: every channel it has open closes before this is confirmed, and it cannot reconnect until you approve it again. The record stays, so you can see it was revoked.`,confirmLabel:`Revoke key`,destructive:!0},purge:{title:`Delete this client record?`,body:`The same immediate disconnection as revoking, and the record goes with it — there will be nothing left showing this device was ever here. If it connects again it arrives as a stranger and pairs from scratch.`,confirmLabel:`Delete record`,destructive:!0},"open-window":{title:`Open a pairing window for this fingerprint?`,body:`For a short time this node will accept one introduction, and only from the key whose fingerprint you name. Read that fingerprint off the device itself — a window naming the wrong one lets the wrong device in.`,confirmLabel:`Open window`,destructive:!1},"close-window":{title:`Close the pairing window?`,body:`No new device can introduce itself until you open another. Anything already introduced keeps its record.`,confirmLabel:`Close window`,destructive:!1},"clear-refusals":{title:`Clear the refused-attempt count?`,body:`The count goes back to zero. Do this once you have dealt with what caused it, so the next reading is about the next thing rather than about history.`,confirmLabel:`Clear count`,destructive:!1},"rotate-prekey":{title:`Issue a new agreement prekey?`,body:`The node makes a fresh key pair and certificate immediately. Clients pick the new one up on their next connection; nothing already open is disturbed.`,confirmLabel:`Rotate prekey`,destructive:!1},"recover-policy":{title:`Advance the policy generation?`,body:J,confirmLabel:`Advance generation`,destructive:!0},"reset-fallback":{title:`Reset the fallback counters?`,body:`Both counts and the retained list go back to empty and a new observation window starts. What was recorded is gone; nothing else changes.`,confirmLabel:`Reset counters`,destructive:!1},"remint-continuity":{title:`Break continuity and mint a fresh lineage?`,body:`Every device that has paired with this node has to go through the whole pairing ceremony again, in person, before it can reconnect. Do this when you believe the lineage is wrong, not to tidy it up.`,confirmLabel:`Mint fresh lineage`,destructive:!0},"break-continuity":{title:`Break the continuity chain?`,body:`The lineage keeps its name, but every device that pinned this node has to go through the pairing ceremony again before it can reconnect.`,confirmLabel:`Break chain`,destructive:!0}};function rt(e){return Y[e]}var it=`It applies to the key below and to no other. Check the fingerprint against the device you meant: two devices paired under one account are told apart by nothing else here.`;function X(e){return[{label:`Fingerprint`,value:e.fingerprint,mono:!0},{label:`Account`,value:e.accountId},{label:`Hub origin`,value:e.hubOrigin}]}function at(e,t){let n=Y[e];return{...n,body:`${n.body} ${it}`,facts:X(t)}}function ot(e){let t=Y[`open-window`];return{...t,body:`${t.body} Read the value below off the device now, before confirming.`,facts:[{label:`Only this fingerprint`,value:e,mono:!0}]}}var Z=[`viewer`,`operator`,`owner`],st={viewer:`read what is there`,operator:`edit files and run terminals`,owner:`also change credentials and server policy`},ct=[`ryco.rpc`];function lt(e,t){let n=Y.approve,r=ct.join(`, `);return{title:`Approve this client key as ${e}?`,body:`${n.body} At most it will be able to ${st[e]}. It is granted the one capability a relay channel carries, ${r} — a key approved with none is admitted by nothing and could not connect at all. `+`${t===void 0?``:it}`.trimEnd(),confirmLabel:`Approve as ${e}`,destructive:!1,...t===void 0?{}:{facts:X(t)}}}Object.keys(Y);var ut=`What this node will admit, and which client keys it has on file.`,dt=`Require an encrypted channel`,ft=`Refuse plaintext, including for browsers.`,pt=`Only approved native client keys`,mt=`Closes browser and legacy access entirely. Only approved native client keys reach application payload.`,ht=`Recover a generation that a restore rolled back.`,gt=`Its current value on the node has not been read here, so nothing on this row states what it is.`,_t=`No device has introduced itself to this node yet.`,vt=`Nothing is connected right now.`,Q=C(),yt=5e3,bt=6e4,xt={clients:null,sessions:null,policy:null,prekey:null,continuity:null,fallback:null,enrollmentFingerprint:null};function $(e){let t=(0,L.c)(4),{rows:n}=e,r;t[0]===n?r=t[1]:(r=n.map(St),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`dl`,{className:`grid gap-x-4 gap-y-1.5 sm:grid-cols-[12rem_minmax(0,1fr)]`,children:r}),t[2]=r,t[3]=i),i}function St(e){return(0,Q.jsxs)(`div`,{className:`contents`,children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:e.label}),(0,Q.jsx)(`dd`,{className:e.mono?`min-w-0 font-mono text-[12px] break-all text-foreground`:`min-w-0 text-[12px] text-foreground`,children:e.value})]},e.label)}function Ct(e){let t=(0,L.c)(14),{value:n}=e,r;t[0]===n?r=t[1]:(r=Pe(n),t[0]=n,t[1]=r);let i=r;if(!i){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`p`,{"data-testid":`node-safety-number`,"data-value":`absent`,className:`text-[11px] text-muted-foreground`,children:V}),t[2]=e):e=t[2],e}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(`p`,{className:`text-[11px] font-medium`,children:`Comparison number`}),t[3]=a):a=t[3];let o;t[4]===i.display?o=t[5]:(o=(0,Q.jsx)(`p`,{"data-testid":`node-safety-number-value`,className:`font-mono text-[13px] leading-relaxed font-semibold tracking-[0.08em] select-all`,children:i.display}),t[4]=i.display,t[5]=o);let s;t[6]===i.caption?s=t[7]:(s=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:i.caption}),t[6]=i.caption,t[7]=s);let c;t[8]===i.advisory?c=t[9]:(c=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:i.advisory}),t[8]=i.advisory,t[9]=c);let l;return t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,Q.jsxs)(`div`,{"data-testid":`node-safety-number`,"data-value":`present`,className:`space-y-1.5`,children:[a,o,s,c]}),t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function wt(e){let t=(0,L.c)(15),{view:n,unavailable:r,testId:i}=e;if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,Q.jsx)(`p`,{"data-testid":i,"data-code":`absent`,className:`text-[11px] text-muted-foreground`,children:r}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let a=`${i}-value`,o;t[3]!==a||t[4]!==n.display?(o=(0,Q.jsx)(`p`,{"data-testid":a,className:`font-mono text-sm leading-none font-semibold tracking-[0.2em] whitespace-nowrap select-all`,children:n.display}),t[3]=a,t[4]=n.display,t[5]=o):o=t[5];let s;t[6]===n.advisory?s=t[7]:(s=(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:n.advisory}),t[6]=n.advisory,t[7]=s);let c;t[8]===n.more?c=t[9]:(c=n.more===null?null:(0,Q.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground`,children:n.more}),t[8]=n.more,t[9]=c);let l;return t[10]!==o||t[11]!==s||t[12]!==c||t[13]!==i?(l=(0,Q.jsxs)(`div`,{"data-testid":i,"data-code":`present`,className:`space-y-1.5`,children:[o,s,c]}),t[10]=o,t[11]=s,t[12]=c,t[13]=i,t[14]=l):l=t[14],l}function Tt(e){let t=(0,L.c)(4),{code:n}=e,r;t[0]===n?r=t[1]:(r=j(n,`settings`),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(wt,{view:r,unavailable:M,testId:`node-session-code`}),t[2]=r,t[3]=i),i}function Et(e){let t=(0,L.c)(4),{code:n}=e,r;t[0]===n?r=t[1]:(r=Je(n),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(wt,{view:r,unavailable:qe,testId:`node-session-code`}),t[2]=r,t[3]=i),i}function Dt(){let e=(0,L.c)(21),t=A(),n=N(),r=i(jt),a=i(At),o=i(kt),s=i(Ot),c,l;e[0]!==r||e[1]!==t||e[2]!==o||e[3]!==a||e[4]!==s?(c=P({browserStatus:r,sessionStatus:a,selectionStatus:o,transportStatus:s,e2eeStatus:t}),l=ke(`hosted`,c),e[0]=r,e[1]=t,e[2]=o,e[3]=a,e[4]=s,e[5]=c,e[6]=l):(c=e[5],l=e[6]);let u=l,d=c.guarantee===`e2ee`?`success`:c.guarantee===`web`?`info`:c.guarantee===`legacy`?`warning`:`outline`,f;e[7]!==c.shortLabel||e[8]!==d?(f=(0,Q.jsx)(D,{size:`sm`,variant:d,"data-testid":`node-connection-claim`,children:c.shortLabel}),e[7]=c.shortLabel,e[8]=d,e[9]=f):f=e[9];let p;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(F,{}),e[10]=p):p=e[10];let m;e[11]!==t||e[12]!==n?(m=t===`web-unsigned`?(0,Q.jsx)(Tt,{code:n}):null,e[11]=t,e[12]=n,e[13]=m):m=e[13];let h;e[14]===m?h=e[15]:(h=(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[p,m]}),e[14]=m,e[15]=h);let g;return e[16]!==u.body||e[17]!==u.headline||e[18]!==f||e[19]!==h?(g=(0,Q.jsx)(O,{title:`This connection`,children:(0,Q.jsx)(k,{title:u.headline,description:u.body,status:f,children:h})}),e[16]=u.body,e[17]=u.headline,e[18]=f,e[19]=h,e[20]=g):g=e[20],g}function Ot(e){return e.transportStatus}function kt(e){return e.selectionStatus}function At(e){return e.sessionStatus}function jt(e){return e.browserStatus}function Mt(){let e=Oe(r()),t=Ae(e),n=je(e),[i,a]=(0,I.useState)(xt),[l,C]=(0,I.useState)(null),[w,T]=(0,I.useState)(!1),[ae,D]=(0,I.useState)(null),[A,j]=(0,I.useState)(null),[M,N]=(0,I.useState)(null),[P,F]=(0,I.useState)(null),[L,Me]=(0,I.useState)(``),R=(0,I.useRef)(!0),z=(0,I.useRef)(0),B=(0,I.useRef)(null),{copyToClipboard:Pe}=se();(0,I.useEffect)(()=>(R.current=!0,()=>{R.current=!1}),[]);let V=(0,I.useCallback)(async()=>{if(t.available)try{let[e,t,n,r,i,o]=await Promise.all([f(),d(),p(),x(),b(),S()]),s=await v().catch(()=>null);if(!R.current)return;z.current=0,a({clients:e,sessions:t,policy:n,prekey:r,continuity:i,fallback:o,enrollmentFingerprint:s?.fingerprint??null}),C(null)}catch(e){if(!R.current)return;z.current+=1,C(e instanceof Error?e.message:`Unable to read the node's security state.`)}},[t.available]);(0,I.useEffect)(()=>{if(!t.available)return;let e=te({lifecycle:ee,run:V,resolveDelayMs:()=>Math.min(yt*2**Math.max(0,z.current-1),bt),jitterRatio:.1});return B.current=e,()=>{B.current===e&&(B.current=null),e.stop()}},[t.available,V]);let H=(0,I.useCallback)(()=>B.current?.refresh()??V(),[V]),U=(0,I.useCallback)(async(e,t)=>{T(!0),C(null),D(null);try{let n=await e();R.current&&D(typeof n==`string`?n:t),await H()}catch(e){if(!R.current)return;C(e instanceof Error?e.message:`That didn't work.`)}finally{R.current&&T(!1)}},[H]),W=(0,I.useCallback)((e,t,n)=>{N({copy:rt(e),run:()=>U(t,n)})},[U]),G=(0,I.useCallback)((e,t,n)=>{N({copy:e,run:()=>U(t,n)})},[U]),K=(0,I.useCallback)(async t=>{let n=Ne(e,t);if(!n.allowed){C(n.refusal);return}T(!0),C(null),D(null);try{let e=await s(n.proposal);if(!R.current)return;j({proposal:n.proposal,warnings:Ze(e,n.proposal,i.policy),destructive:$e(e,n.proposal,i.policy)})}catch(e){if(!R.current)return;C(e instanceof Error?e.message:`Unable to preview that change.`)}finally{R.current&&T(!1)}},[e,i.policy]),Ke=(0,I.useCallback)(async()=>{if(A===null)return;let t=Ne(e,A.proposal);if(!t.allowed){C(t.refusal),j(null);return}let n=t.proposal;j(null),await U(async()=>et(await _(n)),`Policy applied.`)},[e,A,U]),qe=(0,I.useCallback)((e,t,n)=>{let r={fingerprint:e.fingerprint,accountId:e.accountId,hubOrigin:e.hubOrigin};G(at(t,r),()=>y(e),n)},[G]),Je=(0,I.useCallback)((e,t)=>{N({copy:lt(t,{fingerprint:e.fingerprint,accountId:e.accountId,hubOrigin:e.hubOrigin}),run:()=>U(async()=>{await y(e);try{let n=await g({hubOrigin:e.hubOrigin,accountId:e.accountId,fingerprint:e.fingerprint});return R.current&&F({approval:n,label:e.fingerprint}),`Client approved as ${t}. Scan the code on the new device.`}catch{return`Client approved as ${t}. The QR code was not created; use Show phone QR to retry.`}},`Client approved as ${t}.`)})},[U]),Qe=(0,I.useCallback)(async e=>{T(!0),C(null);try{let t=await g({hubOrigin:e.hubOrigin,accountId:e.accountId,fingerprint:e.fingerprint});R.current&&F({approval:t,label:e.displayLabel??e.fingerprint})}catch(e){R.current&&C(e instanceof Error?e.message:`Unable to create the phone QR code.`)}finally{R.current&&T(!1)}},[]),q=Fe(i.enrollmentFingerprint),J=(0,I.useMemo)(()=>tt(i.fallback),[i.fallback]),Y=Be(i.clients),it=Le(i.prekey),X=ze(i.continuity),Z=M?.copy??null,st=typeof window<`u`&&window.isSecureContext&&navigator.clipboard?.writeText!=null;return(0,Q.jsxs)(Ee,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`h1`,{className:`text-base font-semibold`,children:`Security`}),(0,Q.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:ut})]}),t.available?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:w,onClick:()=>void H(),children:[(0,Q.jsx)(re,{className:`size-3.5`}),`Refresh`]}):null]}),l===null?null:(0,Q.jsxs)(ue,{variant:`error`,children:[(0,Q.jsx)(ie,{}),(0,Q.jsx)(ce,{children:`That didn't work`}),(0,Q.jsx)(le,{children:l})]}),ae?(0,Q.jsxs)(ue,{variant:`info`,children:[(0,Q.jsx)(ce,{children:`Done`}),(0,Q.jsx)(le,{children:ae})]}):null,e===`hosted`?(0,Q.jsx)(Dt,{}):null,t.available?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(O,{title:`This node's identity`,children:[(0,Q.jsx)(k,{title:`Enrollment fingerprint`,description:q.caption,control:q.fingerprint!==null&&st?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,onClick:()=>Pe(q.fingerprint),children:[(0,Q.jsx)(ne,{className:`size-3.5`}),`Copy`]}):null,children:q.fingerprint===null?null:(0,Q.jsx)(`p`,{"data-testid":`node-enrollment-fingerprint`,className:`pb-3.5 font-mono text-[13px] break-all select-all`,children:q.fingerprint})}),(0,Q.jsx)(k,{title:`Agreement prekey`,description:it??`The key this node offers for new channels.`,control:(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w,onClick:()=>W(`rotate-prekey`,c,`Prekey rotated.`),children:`Rotate`}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Ie(i.prekey)})})}),(0,Q.jsx)(k,{title:`Continuity`,description:X??`The lineage paired clients remember this node by.`,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`break-continuity`,()=>m({action:`break`}),`Continuity chain broken.`),children:`Break chain`}),(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`remint-continuity`,()=>m({action:`remint`}),`Fresh lineage minted.`),children:`Mint fresh`})]}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Re(i.continuity)})})})]}),(0,Q.jsxs)(O,{title:`Authorized clients`,children:[Y.map(e=>(0,Q.jsx)(k,{title:`Pairing`,description:e},e)),(0,Q.jsx)(k,{title:`Pairing window`,description:Ue,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(oe,{value:L,disabled:w,placeholder:`SHA256:…`,"aria-label":`Pairing window fingerprint`,className:`w-56 font-mono text-xs`,onChange:e=>Me(e.currentTarget.value)}),(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||L.trim()===``,onClick:()=>G(ot(L.trim()),()=>u({action:`open`,fingerprint:L.trim()}),`Pairing window opened.`),children:`Open`}),(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||i.clients?.pairingWindow===void 0,onClick:()=>W(`close-window`,()=>u({action:`close`}),`Pairing window closed.`),children:`Close`})]}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Ve(i.clients)})})}),(0,Q.jsx)(k,{title:`Refused attempts`,description:He(i.clients),control:(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:w||(i.clients?.refusedPairingAttempts??0)===0,onClick:()=>W(`clear-refusals`,h,`Refusal count cleared.`),children:`Clear`})}),(i.clients?.records??[]).map(e=>(0,Q.jsx)(Lt,{record:e,busy:w,onAuthorize:qe,onApprove:Je,onShowApprovalQr:Qe},`${e.hubOrigin}\u0000${e.accountId}\u0000${e.fingerprint}`)),i.clients!==null&&i.clients.records.length===0?(0,Q.jsx)(k,{title:`No client keys on file`,description:_t}):null]}),(0,Q.jsxs)(O,{title:`Live sessions`,children:[(i.sessions?.sessions??[]).map(e=>(0,Q.jsx)(k,{title:`Session ${e.sessionIndex}`,description:e.tier===`native`?Ge:Ye,children:(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[(0,Q.jsx)($,{rows:We(e)}),e.tier===`web`?(0,Q.jsx)(Et,{code:e.verificationCode??null}):null]})},e.sessionIndex)),i.sessions!==null&&i.sessions.sessions.length===0?(0,Q.jsx)(k,{title:`No sessions`,description:vt}):null]}),(0,Q.jsxs)(O,{title:`Admission policy`,children:[(0,Q.jsx)(Ft,{title:dt,description:ft,checked:i.policy===null?null:i.policy.requireE2EE,busy:w,ariaLabel:`Require E2EE`,testId:`require-e2ee`,onChange:e=>void K({requireE2EE:e})}),(0,Q.jsx)(Pt,{disposition:n,checked:i.policy===null?null:i.policy.requireApprovedClientE2EE,busy:w,onChange:e=>void K({requireApprovedClientE2EE:e})}),(0,Q.jsx)(k,{title:`Policy generation`,description:ht,control:(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:w,onClick:()=>W(`recover-policy`,o,`Policy generation advanced.`),children:`Advance`}),children:(0,Q.jsx)(`div`,{className:`pb-3.5`,children:(0,Q.jsx)($,{rows:Xe(i.policy)})})})]}),(0,Q.jsx)(O,{title:`Fallback`,children:J===null?(0,Q.jsx)(k,{title:`Fallback`,description:`Waiting for the node.`}):J.quiet?(0,Q.jsx)(k,{title:`Nothing has fallen back`,description:nt,control:(0,Q.jsx)(It,{busy:w,onConfirm:W})}):(0,Q.jsxs)(Q.Fragment,{children:[J.classes.map(e=>(0,Q.jsx)(k,{title:e.label,description:e.meaning,status:`Last ${e.lastOccurrence}${e.ringOverflows>0?` · ${e.ringOverflows} overflow(s)`:``}`,control:(0,Q.jsx)(`span`,{className:`font-mono text-sm font-semibold`,children:e.occurrences})},e.label)),(0,Q.jsx)(k,{title:`Retained occurrences`,description:J.overflowNotice??`Observation window started ${J.windowStarted}.`,control:(0,Q.jsx)(It,{busy:w,onConfirm:W}),children:(0,Q.jsx)(`ul`,{className:`space-y-1 pb-3.5`,children:J.entries.map(e=>(0,Q.jsxs)(`li`,{className:`font-mono text-[11px] text-muted-foreground`,children:[e.at,` · `,e.reason]},e.ordinal))})}),J.undersizedNotice?(0,Q.jsx)(k,{title:`Undersized connection`,description:J.undersizedNotice}):null]})})]}):(0,Q.jsxs)(O,{title:`This node`,children:[(0,Q.jsx)(k,{title:ke(e,null).headline,description:t.unavailableBody}),(0,Q.jsx)(Pt,{disposition:n,checked:null,busy:w,onChange:e=>void K({requireApprovedClientE2EE:e})})]}),(0,Q.jsx)(Te,{open:A!==null,onOpenChange:e=>!e&&j(null),children:(0,Q.jsxs)(Se,{children:[(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(we,{children:`Apply this policy change?`}),(0,Q.jsx)(Ce,{children:A?.warnings.map(e=>(0,Q.jsx)(`span`,{className:`block pb-2`,children:e},e))})]}),(0,Q.jsxs)(be,{children:[(0,Q.jsx)(xe,{children:`Leave it`}),(0,Q.jsx)(E,{variant:A?.destructive?`destructive`:`default`,"data-testid":`policy-apply`,disabled:w,onClick:()=>void Ke(),children:`Apply`})]})]})}),(0,Q.jsx)(Te,{open:M!==null,onOpenChange:e=>!e&&N(null),children:(0,Q.jsxs)(Se,{children:[(0,Q.jsxs)(ye,{children:[(0,Q.jsx)(we,{children:Z?.title}),(0,Q.jsx)(Ce,{children:Z?.body})]}),Z?.facts?(0,Q.jsx)(`div`,{"data-testid":`node-confirmation-facts`,className:`pb-1`,children:(0,Q.jsx)($,{rows:Z.facts})}):null,(0,Q.jsxs)(be,{children:[(0,Q.jsx)(xe,{children:`Cancel`}),(0,Q.jsx)(E,{variant:Z?.destructive?`destructive`:`default`,"data-testid":`node-confirmation-confirm`,disabled:w,onClick:()=>{let e=M;N(null),e&&e.run()},children:Z?.confirmLabel})]})]})}),(0,Q.jsx)(ve,{open:P!==null,onOpenChange:e=>!e&&F(null),children:(0,Q.jsxs)(_e,{className:`max-w-sm`,children:[(0,Q.jsxs)(de,{children:[(0,Q.jsx)(fe,{children:`Verify this phone`}),(0,Q.jsx)(ge,{children:`On the new phone, open node verification and scan this code. It is bound to that phone's key and expires after five minutes.`})]}),(0,Q.jsxs)(he,{className:`space-y-4`,children:[P?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Q.jsx)(`div`,{className:`rounded-2xl bg-white p-3`,children:(0,Q.jsx)(De,{value:P.approval.payload,size:240,level:`M`,marginSize:2,title:`Node approval — scan with Ryco on the new phone`})}),(0,Q.jsx)(`p`,{className:`max-w-full break-all text-center font-mono text-[11px] text-muted-foreground`,children:P.label})]}):null,(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`The code contains no secret and grants no access by itself. Ryco will reconnect and prove both device keys after the scan.`})]}),(0,Q.jsx)(pe,{variant:`bare`,children:(0,Q.jsx)(me,{render:(0,Q.jsx)(E,{variant:`outline`}),children:`Done`})})]})})]})}function Nt(){let e=(0,L.c)(7),t=a();if(t&&!t.primary){let n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(ie,{}),e[0]=n):n=e[0];let r;e[1]===t.nodeLabel?r=e[2]:(r=(0,Q.jsxs)(ce,{children:[`Open Security on `,t.nodeLabel]}),e[1]=t.nodeLabel,e[2]=r);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(le,{children:`Security administration requires that node's direct local operator channel. Ryco has disabled these controls here so an action can never be applied to this Mac by mistake.`}),e[3]=i):i=e[3];let a;return e[4]===r?a=e[5]:(a=(0,Q.jsx)(Ee,{children:(0,Q.jsxs)(ue,{variant:`warning`,children:[n,r,i]})}),e[4]=r,e[5]=a),a}let n;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(Mt,{}),e[6]=n):n=e[6],n}function Pt(e){let t=(0,L.c)(6),{disposition:n,checked:r,busy:i,onChange:a}=e,o=n.kind===`blocked`,s=n.kind===`blocked`?n.reason:mt,c;return t[0]!==o||t[1]!==i||t[2]!==r||t[3]!==a||t[4]!==s?(c=(0,Q.jsx)(Ft,{title:pt,description:s,checked:r,busy:i,blocked:o,ariaLabel:`Require approved client E2EE`,testId:`require-approved-client-e2ee`,onChange:a}),t[0]=o,t[1]=i,t[2]=r,t[3]=a,t[4]=s,t[5]=c):c=t[5],c}function Ft(e){let t=(0,L.c)(11),{title:n,description:r,checked:i,busy:a,blocked:o,ariaLabel:s,testId:c,onChange:l}=e,u=o!==void 0&&o,d=i===null?`${r} ${gt}`:r,f;t[0]!==s||t[1]!==u||t[2]!==a||t[3]!==i||t[4]!==l||t[5]!==c?(f=i===null?(0,Q.jsx)(`span`,{"data-testid":c,"data-policy":`unknown`,"data-blocked":u?`hosted`:void 0,className:`text-[11px] text-muted-foreground`,children:`unknown`}):(0,Q.jsx)(ae,{checked:i,disabled:u||a,"aria-label":s,"data-testid":c,"data-policy":String(i),"data-blocked":u?`hosted`:void 0,onCheckedChange:l}),t[0]=s,t[1]=u,t[2]=a,t[3]=i,t[4]=l,t[5]=c,t[6]=f):f=t[6];let p;return t[7]!==d||t[8]!==f||t[9]!==n?(p=(0,Q.jsx)(k,{title:n,description:d,control:f}),t[7]=d,t[8]=f,t[9]=n,t[10]=p):p=t[10],p}function It(e){let t=(0,L.c)(5),{busy:n,onConfirm:r}=e,i;t[0]===r?i=t[1]:(i=()=>r(`reset-fallback`,l,`Fallback counters reset.`),t[0]=r,t[1]=i);let a;return t[2]!==n||t[3]!==i?(a=(0,Q.jsx)(E,{size:`xs`,variant:`outline`,disabled:n,onClick:i,children:`Reset`}),t[2]=n,t[3]=i,t[4]=a):a=t[4],a}function Lt(e){let t=(0,L.c)(60),{record:n,busy:r,onAuthorize:i,onApprove:a,onShowApprovalQr:o}=e,s,c,l,u,d;if(t[0]!==r||t[1]!==a||t[2]!==n){c={hubOrigin:n.hubOrigin,accountId:n.accountId,fingerprint:n.fingerprint};let e;t[8]===n.status?e=t[9]:(e=W(n.status),t[8]=n.status,t[9]=e);let i=e;s=k;let o;t[10]===n?o=t[11]:(o=G(n),t[10]=n,t[11]=o);let f=i===`success`?`success`:i,p;t[12]!==n.status||t[13]!==f?(p=(0,Q.jsx)(D,{size:`sm`,variant:f,children:n.status}),t[12]=n.status,t[13]=f,t[14]=p):p=t[14],t[15]!==o||t[16]!==p?(u=(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[o,p]}),t[15]=o,t[16]=p,t[17]=u):u=t[17],d=`${n.accountId} at ${n.hubOrigin}`,l=n.status===`approved`?null:Z.map(e=>(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>a({...c,action:`approve`,maxRole:e,capabilitySet:ct},e),children:[`Approve as `,e]},e)),t[0]=r,t[1]=a,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d}else s=t[3],c=t[4],l=t[5],u=t[6],d=t[7];let f;t[18]!==r||t[19]!==c||t[20]!==i||t[21]!==n.maxRole||t[22]!==n.status?(f=n.status===`approved`&&n.maxRole!==`viewer`?(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:()=>i({...c,action:`narrow`,maxRole:`viewer`},`narrow`,`Authority reduced.`),children:`Reduce to viewer`}):null,t[18]=r,t[19]=c,t[20]=i,t[21]=n.maxRole,t[22]=n.status,t[23]=f):f=t[23];let p;t[24]!==r||t[25]!==o||t[26]!==n?(p=n.status===`approved`?(0,Q.jsxs)(E,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>o(n),children:[(0,Q.jsx)(T,{className:`size-3.5`}),`Show phone QR`]}):null,t[24]=r,t[25]=o,t[26]=n,t[27]=p):p=t[27];let m;t[28]!==r||t[29]!==c||t[30]!==i||t[31]!==n.status?(m=n.status===`revoked`?null:(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:()=>i({...c,action:`revoke`},`revoke`,`Client revoked.`),children:`Revoke`}),t[28]=r,t[29]=c,t[30]=i,t[31]=n.status,t[32]=m):m=t[32];let h;t[33]!==c||t[34]!==i?(h=()=>i({...c,action:`purge`},`purge`,`Record deleted.`),t[33]=c,t[34]=i,t[35]=h):h=t[35];let g;t[36]!==r||t[37]!==h?(g=(0,Q.jsx)(E,{size:`xs`,variant:`destructive-outline`,disabled:r,onClick:h,children:`Delete`}),t[36]=r,t[37]=h,t[38]=g):g=t[38];let _;t[39]!==l||t[40]!==f||t[41]!==p||t[42]!==m||t[43]!==g?(_=(0,Q.jsxs)(Q.Fragment,{children:[l,f,p,m,g]}),t[39]=l,t[40]=f,t[41]=p,t[42]=m,t[43]=g,t[44]=_):_=t[44];let v;t[45]===n?v=t[46]:(v=K(n),t[45]=n,t[46]=v);let y;t[47]===v?y=t[48]:(y=(0,Q.jsx)($,{rows:v}),t[47]=v,t[48]=y);let b;t[49]===n.safetyNumber?b=t[50]:(b=(0,Q.jsx)(Ct,{value:n.safetyNumber}),t[49]=n.safetyNumber,t[50]=b);let x;t[51]!==y||t[52]!==b?(x=(0,Q.jsxs)(`div`,{className:`space-y-3 pb-3.5`,children:[y,b]}),t[51]=y,t[52]=b,t[53]=x):x=t[53];let S;return t[54]!==s||t[55]!==x||t[56]!==u||t[57]!==d||t[58]!==_?(S=(0,Q.jsx)(s,{title:u,description:d,control:_,children:x}),t[54]=s,t[55]=x,t[56]=u,t[57]=d,t[58]=_,t[59]=S):S=t[59],S}export{Nt as NodeSecuritySettings};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import"./src-Vf4LVnMX.js";import{Rn as r,Xn as i,hn as a,xn as o,zn as s}from"./runtime-DfGHeCnR.js";import{It as c}from"./composerDraftStore-CdJJZe42.js";import{t as l}from"./circle-alert-BWvs6IOn.js";import{i as u,o as d}from"./toast-CcSCAm4B.js";import{n as f,t as p}from"./external-link-fbvzDWM7.js";import{n as m,t as h}from"./tokenModePresentation-lVM0-Wi3.js";import{t as g}from"./download-CQZ-m4zW.js";import{t as ee}from"./loader-zHASMrUy.js";import{t as _}from"./refresh-cw-DopCMrtR.js";import{t as v}from"./utils-BofFIn5Y.js";import{i as y,n as te,t as ne}from"./tooltip-C8sAONBj.js";import{t as re}from"./button-BAbJxRzt.js";import{t as b}from"./toastHelpers-CSQRKo4F.js";import{a as ie,i as x,o as ae,s as oe,t as se}from"./select-BYbVr-yg.js";import{t as ce}from"./badge-CXw6fWrB.js";import{i as le,n as ue,r as de}from"./settingsLayout-D8glO7f1.js";var fe=n(),S=e(t(),1),C=c();function w(e){return`${e.pluginId}:${e.targetKind}:${e.providerInstanceId??`global`}`}function pe(e){switch(e.state){case`installed`:return`Installed`;case`not-installed`:return`Not installed`;case`unsupported`:return`Unsupported`;case`error`:return`Error`}}function T(e){switch(e.state){case`installed`:return`success`;case`not-installed`:return`outline`;case`unsupported`:return`warning`;case`error`:return`error`}}function E(e){switch(e.state){case`installed`:return(0,C.jsx)(d,{className:`size-3.5 text-success-foreground`});case`not-installed`:return(0,C.jsx)(f,{className:`size-3.5 text-muted-foreground`});case`unsupported`:case`error`:return(0,C.jsx)(l,{className:`size-3.5 text-warning-foreground`})}}function me(e){return e.targetKind===`global`?`System`:e.providerDisplayName??String(e.providerInstanceId??`Provider`)}function he(e){return e.impact===`tool-output`?`Tool output`:`Assistant output`}function ge(e){return e.scope===`global`?`Global`:`Provider`}function D(e){switch(e){case`rtk`:return 0;case`caveman`:return 1;case`token-optimizer`:return 2;case`token-savior`:return 3;case`lean-ctx`:return 4}}function O(e){return`${e.targetKind===`global`?`0`:`1`}:${me(e).toLowerCase()}`}function _e(e){let t=(0,fe.c)(36),{status:n,isInstalling:r,onInstall:i}=e,a=n.canInstall&&n.state!==`installed`,o;t[0]===n?o=t[1]:(o=E(n),t[0]=n,t[1]=o);let s;t[2]===n?s=t[3]:(s=me(n),t[2]=n,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,C.jsx)(`span`,{className:`truncate text-[13px] font-medium text-foreground`,children:s}),t[4]=s,t[5]=c);let l;t[6]===n?l=t[7]:(l=T(n),t[6]=n,t[7]=l);let u;t[8]===n?u=t[9]:(u=pe(n),t[8]=n,t[9]=u);let d;t[10]!==l||t[11]!==u?(d=(0,C.jsx)(ce,{variant:l,size:`sm`,children:u}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.version?f=t[14]:(f=n.version?(0,C.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground/70`,children:n.version}):null,t[13]=n.version,t[14]=f);let p;t[15]!==o||t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,C.jsxs)(`div`,{className:`flex min-h-5 flex-wrap items-center gap-2`,children:[o,c,d,f]}),t[15]=o,t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19];let m;t[20]===n.detail?m=t[21]:(m=n.detail?(0,C.jsx)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground/80`,children:n.detail}):null,t[20]=n.detail,t[21]=m);let h;t[22]===n.manualSteps?h=t[23]:(h=n.manualSteps.length>0?(0,C.jsx)(`div`,{className:`space-y-1 pt-1`,children:n.manualSteps.map(k)}):null,t[22]=n.manualSteps,t[23]=h);let _;t[24]!==h||t[25]!==p||t[26]!==m?(_=(0,C.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[p,m,h]}),t[24]=h,t[25]=p,t[26]=m,t[27]=_):_=t[27];let v;t[28]!==a||t[29]!==r||t[30]!==i||t[31]!==n?(v=a?(0,C.jsxs)(re,{size:`xs`,variant:`outline`,disabled:r,className:`self-start sm:self-auto`,onClick:()=>i(n),children:[r?(0,C.jsx)(ee,{className:`size-3.5 animate-spin`}):(0,C.jsx)(g,{className:`size-3.5`}),`Install`]}):null,t[28]=a,t[29]=r,t[30]=i,t[31]=n,t[32]=v):v=t[32];let y;return t[33]!==_||t[34]!==v?(y=(0,C.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-border/50 px-4 py-3 first:border-t-0 sm:flex-row sm:items-center sm:justify-between sm:px-5`,children:[_,v]}),t[33]=_,t[34]=v,t[35]=y):y=t[35],y}function k(e){return(0,C.jsx)(`p`,{className:`font-mono text-[11px] leading-relaxed text-muted-foreground`,children:e},e)}function A(){let e=(0,fe.c)(56),t=r(),{updateSettings:n}=s(),c=i(),l=t.defaultAgentTokenMode??`balanced`,d=m[l],f=d.icon,g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],e[0]=g):g=e[0];let[x,pe]=(0,S.useState)(g),T;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(T=[],e[1]=T):T=e[1];let[E,D]=(0,S.useState)(T),[O,k]=(0,S.useState)(!1),[A,Ce]=(0,S.useState)(null),j=(0,S.useRef)(!1),M;e[2]===c?M=e[3]:(M=()=>{if(j.current)return;j.current=!0,k(!0);let e=c?a(c.environmentId)?.server:o().server;if(!e){k(!1),j.current=!1;return}Promise.all([e.listOpinionatedPlugins(),e.checkOpinionatedPlugins()]).then(e=>{let[t,n]=e;pe(t.plugins.toSorted(Ee)),D(n.statuses)}).catch(Te).finally(()=>{j.current=!1,k(!1)})},e[2]=c,e[3]=M);let N=M,De,P;e[4]===N?(De=e[5],P=e[6]):(De=()=>{N()},P=[N],e[4]=N,e[5]=De,e[6]=P),(0,S.useEffect)(De,P);let F;if(e[7]!==E){let t=new Map;for(let e of E){let n=t.get(e.pluginId)??[];n.push(e),t.set(e.pluginId,n)}F=new Map;for(let[e,n]of t)F.set(e,n.toSorted(we));e[7]=E,e[8]=F}else F=e[8];let I=F,Oe=Se,L;e[9]!==N||e[10]!==c?(L=e=>{let t=o(),n=c?a(c.environmentId)?.server:t.server;if(!n){u.add(b({type:`error`,title:`Plugin install unavailable`,description:`Node ${c?.nodeLabel??`server`} is not connected.`}));return}let r=me(e);t.dialogs.confirm(`Install ${e.pluginId===`rtk`?`RTK`:`Caveman`} for ${r}?\n\nThis may run networked CLI installation commands on this machine.`).then(t=>{if(!t)return;let i=w(e);return Ce(i),n.installOpinionatedPlugin({pluginId:e.pluginId,...e.providerInstanceId?{providerInstanceId:e.providerInstanceId}:{}}).then(t=>{D(e=>[...e.filter(e=>w(e)!==i),t.status]),u.add({type:`success`,title:`${e.pluginId===`rtk`?`RTK`:`Caveman`} installed`,description:t.commands.length>0?t.commands[t.commands.length-1]:r}),N()}).catch(xe).finally(()=>Ce(null))}).catch(be)},e[9]=N,e[10]=c,e[11]=L):L=e[11];let R=L,z;e[12]===n?z=e[13]:(z=e=>n({defaultAgentTokenMode:e}),e[12]=n,e[13]=z);let B;e[14]===f?B=e[15]:(B=(0,C.jsx)(f,{className:`size-4 shrink-0 text-muted-foreground`}),e[14]=f,e[15]=B);let V;e[16]===d.triggerLabel?V=e[17]:(V=(0,C.jsx)(oe,{children:d.triggerLabel}),e[16]=d.triggerLabel,e[17]=V);let H;e[18]!==B||e[19]!==V?(H=(0,C.jsx)(ae,{className:`w-full sm:w-52`,"aria-label":`Default token mode`,children:(0,C.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[B,V]})}),e[18]=B,e[19]=V,e[20]=H):H=e[20];let U;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,C.jsx)(ie,{align:`end`,alignItemWithTrigger:!1,className:`w-60`,children:h.map(ye)}),e[21]=U):U=e[21];let W;e[22]!==l||e[23]!==z||e[24]!==H?(W=(0,C.jsx)(le,{title:`Token mode`,children:(0,C.jsx)(de,{title:`Default token mode`,description:`Applied to new threads and draft sessions. Existing threads keep their own mode.`,control:(0,C.jsxs)(se,{value:l,onValueChange:z,children:[H,U]})})}),e[22]=l,e[23]=z,e[24]=H,e[25]=W):W=e[25];let G;e[26]===N?G=e[27]:(G=()=>N(),e[26]=N,e[27]=G);let K;e[28]===O?K=e[29]:(K=O?(0,C.jsx)(ee,{className:`size-3 animate-spin`}):(0,C.jsx)(_,{className:`size-3`}),e[28]=O,e[29]=K);let q;e[30]!==O||e[31]!==G||e[32]!==K?(q=(0,C.jsx)(y,{render:(0,C.jsx)(re,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:O,onClick:G,"aria-label":`Refresh plugin status`,children:K})}),e[30]=O,e[31]=G,e[32]=K,e[33]=q):q=e[33];let J;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,C.jsx)(te,{side:`top`,children:`Refresh plugin status`}),e[34]=J):J=e[34];let Y;e[35]===q?Y=e[36]:(Y=(0,C.jsxs)(ne,{children:[q,J]}),e[35]=q,e[36]=Y);let X;e[37]!==O||e[38]!==x.length?(X=x.length===0&&O?(0,C.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4 text-xs text-muted-foreground`,children:[(0,C.jsx)(ee,{className:`size-3.5 animate-spin`}),`Loading plugin status`]}):null,e[37]=O,e[38]=x.length,e[39]=X):X=e[39];let Z;if(e[40]!==R||e[41]!==A||e[42]!==x||e[43]!==I){let t;e[45]!==R||e[46]!==A||e[47]!==I?(t=e=>{let t=I.get(e.id)??[],n=t.filter(ve).length;return(0,C.jsx)(de,{title:(0,C.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,C.jsx)(`span`,{className:`truncate`,children:e.name}),(0,C.jsx)(ce,{variant:n>0?`success`:`outline`,size:`sm`,children:n>0?`${n} installed`:`Available`})]}),description:e.summary,status:(0,C.jsxs)(`span`,{className:`flex flex-wrap gap-1.5`,children:[(0,C.jsx)(ce,{variant:`info`,size:`sm`,children:he(e)}),(0,C.jsx)(ce,{variant:`outline`,size:`sm`,children:ge(e)})]}),control:(0,C.jsxs)(re,{size:`xs`,variant:`ghost`,onClick:()=>Oe(e),children:[(0,C.jsx)(p,{className:`size-3.5`}),`Docs`]}),children:(0,C.jsx)(`div`,{className:v(`mt-4 border-t border-border/60`,t.length===0?`px-5 py-4`:``),children:t.length===0?(0,C.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:`No compatible provider instances detected.`}):t.map(e=>(0,C.jsx)(_e,{status:e,isInstalling:A===w(e),onInstall:R},w(e)))})},e.id)},e[45]=R,e[46]=A,e[47]=I,e[48]=t):t=e[48],Z=x.map(t),e[40]=R,e[41]=A,e[42]=x,e[43]=I,e[44]=Z}else Z=e[44];let Q;e[49]!==Y||e[50]!==X||e[51]!==Z?(Q=(0,C.jsxs)(le,{title:`Opinionated plugins`,headerAction:Y,children:[X,Z]}),e[49]=Y,e[50]=X,e[51]=Z,e[52]=Q):Q=e[52];let $;return e[53]!==W||e[54]!==Q?($=(0,C.jsxs)(ue,{children:[W,Q]}),e[53]=W,e[54]=Q,e[55]=$):$=e[55],$}function ve(e){return e.state===`installed`}function ye(e){let t=m[e],n=t.icon;return(0,C.jsx)(x,{hideIndicator:!0,value:e,children:(0,C.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,C.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 font-medium text-foreground`,children:[(0,C.jsx)(n,{className:`size-3.5 shrink-0 text-muted-foreground`}),t.label]}),(0,C.jsx)(`span`,{className:`text-muted-foreground text-xs leading-4`,children:t.description})]})},e)}function be(e){u.add(b({type:`error`,title:`Install confirmation failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function xe(e){u.add(b({type:`error`,title:`Plugin install failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function Se(e){let t=e.docsUrl??e.homepageUrl;o().shell.openExternal(t).catch(Ce)}function Ce(e){u.add(b({type:`error`,title:`Failed to open plugin docs`,description:e instanceof Error?e.message:`An error occurred.`}))}function we(e,t){return O(e).localeCompare(O(t))}function Te(e){u.add(b({type:`error`,title:`Failed to load plugins`,description:e instanceof Error?e.message:`An error occurred.`}))}function Ee(e,t){return D(e.id)-D(t.id)}export{A as OpinionatedPluginsSettingsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{It as r}from"./composerDraftStore-CdJJZe42.js";import{r as i}from"./branding-DeKsIp6g.js";import{t as a}from"./react-dom-x9LNwWQc.js";import{t as o}from"./GlassSurface-C3IIWMu9.js";import{n as s}from"./PhoneGetAppInterstitialBackdrop-B8vfJdZd.js";var c=e(t(),1),l=n(),u=e(a(),1),d={Beta:`/assets/apple-touch-icon-y36StfcK.png`,Dev:`/assets/apple-touch-icon-BXS8KnIR.png`,Nightly:`/assets/apple-touch-icon-CYqxlbbg.png`}[i]??`/assets/apple-touch-icon-y36StfcK.png`,f=r();function p(e){let t=(0,l.c)(18),{appUrl:n,onDismiss:r}=e,i=(0,c.useRef)(null),a=(0,c.useRef)(null);s();let p,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>{i.current?.focus()},m=[],t[0]=p,t[1]=m):(p=t[0],m=t[1]),(0,c.useEffect)(p,m);let h;t[2]===r?h=t[3]:(h=e=>{if(e.key===`Escape`){e.preventDefault(),r();return}if(e.key!==`Tab`)return;let t=i.current,n=a.current;!t||!n||(e.shiftKey&&document.activeElement===t?(e.preventDefault(),n.focus()):!e.shiftKey&&document.activeElement===n&&(e.preventDefault(),t.focus()))},t[2]=r,t[3]=h);let g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=o(`sheet`),t[4]=g):g=t[4];let _,v,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,f.jsx)(`img`,{alt:``,className:`size-14 object-contain`,draggable:!1,src:d}),v=(0,f.jsx)(`h1`,{id:`phone-get-app-interstitial-heading`,className:`mt-6 font-heading text-3xl font-semibold tracking-tight`,children:`Ryco is better as an app`}),y=(0,f.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-muted-foreground`,children:`Pick up where you left off with a native experience built for your phone.`}),t[5]=_,t[6]=v,t[7]=y):(_=t[5],v=t[6],y=t[7]);let b;t[8]===n?b=t[9]:(b=(0,f.jsx)(`a`,{ref:i,className:`inline-flex min-h-11 w-full items-center justify-center rounded-xl bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 motion-reduce:transition-none`,href:n,rel:`noreferrer`,target:`_blank`,children:`Get the app`}),t[8]=n,t[9]=b);let x;t[10]===r?x=t[11]:(x=(0,f.jsx)(`button`,{ref:a,className:`inline-flex min-h-11 w-full items-center justify-center rounded-xl px-4 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring motion-reduce:transition-none`,type:`button`,onClick:r,children:`Continue in browser`}),t[10]=r,t[11]=x);let S;t[12]!==b||t[13]!==x?(S=(0,f.jsxs)(`section`,{className:`${g} w-full max-w-sm rounded-3xl border border-border/70 p-6 shadow-xl shadow-black/15`,children:[_,v,y,(0,f.jsxs)(`div`,{className:`mt-8 grid gap-3`,children:[b,x]})]}),t[12]=b,t[13]=x,t[14]=S):S=t[14];let C;return t[15]!==S||t[16]!==h?(C=(0,u.createPortal)((0,f.jsx)(`div`,{"aria-labelledby":`phone-get-app-interstitial-heading`,"aria-modal":`true`,className:`fixed inset-0 z-[120] flex items-center justify-center overflow-y-auto bg-background/72 px-[max(1rem,env(safe-area-inset-left),env(safe-area-inset-right))] pt-[max(1.5rem,calc(env(safe-area-inset-top)+1rem))] pb-[max(1.5rem,calc(env(safe-area-inset-bottom)+1rem))] text-popover-foreground backdrop-blur-sm transition-opacity duration-[var(--app-motion-duration-sheet)] motion-reduce:transition-none`,role:`dialog`,onKeyDown:h,children:S}),document.body),t[15]=S,t[16]=h,t[17]=C):C=t[17],C}export{p as PhoneGetAppInterstitial};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{It as r}from"./composerDraftStore-CdJJZe42.js";import{t as i}from"./react-dom-x9LNwWQc.js";var a=n(),o=e(t(),1),s=e(i(),1),c=r();function l(){let e=(0,a.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,o.useEffect)(u,t)}function u(){let e=document.getElementById(`root`);return e?.setAttribute(`inert`,``),()=>e?.removeAttribute(`inert`)}function d(){let e=(0,a.c)(1);l();let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,s.createPortal)((0,c.jsx)(`div`,{"aria-hidden":`true`,className:`fixed inset-0 z-[120] bg-background/72 backdrop-blur-sm`,"data-testid":`phone-get-app-interstitial-backdrop`}),document.body),e[0]=t):t=e[0],t}export{l as n,d as t};
|