@aidotnet/server-linux-arm64 0.8.0 → 0.9.1
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/bin/astra-server +2 -2
- package/bin/wwwroot/assets/ClientsPage-Cwjn83RD.js +11 -0
- package/bin/wwwroot/assets/KeyPage-IsBY88jG.js +1 -0
- package/bin/wwwroot/assets/ModelDetailPage-BT8_QmLF.js +1 -0
- package/bin/wwwroot/assets/ModelsPage-a3SNBXwe.js +1 -0
- package/bin/wwwroot/assets/PluginsPage-CXRMCp_F.js +2 -0
- package/bin/wwwroot/assets/PrivacyPage-BfdLDJ63.js +1 -0
- package/bin/wwwroot/assets/ProviderDetailPage-C9eabWwn.js +3 -0
- package/bin/wwwroot/assets/ProvidersPage-CPw-h0Uz.js +2 -0
- package/bin/wwwroot/assets/SettingsPage-CTnL166S.js +2 -0
- package/bin/wwwroot/assets/TokensPage-TPaxzBMY.js +1 -0
- package/bin/wwwroot/assets/TrayPanelPage-BGDBeJs0.js +1 -0
- package/bin/wwwroot/assets/TrayPanelView-DP-m1Cui.js +1 -0
- package/bin/wwwroot/assets/alert-C-zJo-Vf.js +15 -0
- package/bin/wwwroot/assets/{overlays-Cnf3vGpI.css → alert-DwSJjne8.css} +1 -1
- package/bin/wwwroot/assets/arrow-down-DTsCyVhl.js +1 -0
- package/bin/wwwroot/assets/arrow-left-BlStTg-u.js +1 -0
- package/bin/wwwroot/assets/checkbox-B8UTLROZ.js +1 -0
- package/bin/wwwroot/assets/cloud-download-DoCH2MAL.js +1 -0
- package/bin/wwwroot/assets/confirm-morph-BZdvZ-wI.js +1 -0
- package/bin/wwwroot/assets/download-zacBMjpe.js +1 -0
- package/bin/wwwroot/assets/ellipsis-Dwk6_QlF.js +1 -0
- package/bin/wwwroot/assets/external-link-D-L32_ye.js +1 -0
- package/bin/wwwroot/assets/folder-open-ex39110T.js +1 -0
- package/bin/wwwroot/assets/index-CNdW2eN9.js +17 -0
- package/bin/wwwroot/assets/index-DSv7xAxU.css +1 -0
- package/bin/wwwroot/assets/log-out-CZSB5kqp.js +1 -0
- package/bin/wwwroot/assets/overlays-BBHZHl4R.js +41 -0
- package/bin/wwwroot/assets/overlays-BJrN5PWt.css +1 -0
- package/bin/wwwroot/assets/paseo-B9ieOk6E.png +0 -0
- package/bin/wwwroot/assets/pencil-C7HWLb95.js +1 -0
- package/bin/wwwroot/assets/power-BggG52OJ.js +1 -0
- package/bin/wwwroot/assets/radio-cards-BWCaBwfU.js +1 -0
- package/bin/wwwroot/assets/rotate-ccw-Xx5_g9bd.js +1 -0
- package/bin/wwwroot/index.html +6 -8
- package/package.json +1 -1
- package/bin/wwwroot/assets/ClientsPage-B89Sa7jz.js +0 -11
- package/bin/wwwroot/assets/ModelDetailPage-CIr2VLVH.js +0 -1
- package/bin/wwwroot/assets/ModelsPage-DHoSwTY5.js +0 -1
- package/bin/wwwroot/assets/Page-CnSErb_N.js +0 -3
- package/bin/wwwroot/assets/Page-CsiaycmK.css +0 -1
- package/bin/wwwroot/assets/PluginsPage-54tF_bjG.js +0 -2
- package/bin/wwwroot/assets/PrivacyPage-D5paxuYA.js +0 -1
- package/bin/wwwroot/assets/ProviderDetailPage-DhxcWbc_.js +0 -3
- package/bin/wwwroot/assets/ProvidersPage-DfMcnoYT.js +0 -2
- package/bin/wwwroot/assets/SettingsPage-a1XhJ-l9.js +0 -1
- package/bin/wwwroot/assets/TokensPage-T2w5pi_o.js +0 -1
- package/bin/wwwroot/assets/TrayPanelPage-DOmKXJLy.js +0 -1
- package/bin/wwwroot/assets/TrayPanelView-BcmaqvCD.js +0 -1
- package/bin/wwwroot/assets/arrow-down-CXkFrvO0.js +0 -1
- package/bin/wwwroot/assets/arrow-up-BfREUNOR.js +0 -1
- package/bin/wwwroot/assets/checkbox-RGYPqY5w.js +0 -1
- package/bin/wwwroot/assets/cloud-download-D865MmmV.js +0 -1
- package/bin/wwwroot/assets/confirm-morph-DUNuG_Io.js +0 -1
- package/bin/wwwroot/assets/download-CMr38kbd.js +0 -1
- package/bin/wwwroot/assets/ellipsis-zTWIrsa4.js +0 -1
- package/bin/wwwroot/assets/external-link-BSHuW87X.js +0 -1
- package/bin/wwwroot/assets/folder-open-Ce_7X0wN.js +0 -1
- package/bin/wwwroot/assets/index-PfVyiY3J.js +0 -15
- package/bin/wwwroot/assets/index-uU60OHOr.css +0 -1
- package/bin/wwwroot/assets/log-out-CXVs8bJY.js +0 -1
- package/bin/wwwroot/assets/overlays-D1ZtG8Qn.js +0 -55
- package/bin/wwwroot/assets/pencil-DyidL-8l.js +0 -1
- package/bin/wwwroot/assets/power-CJZylS33.js +0 -1
- package/bin/wwwroot/assets/radio-cards-QHFaDooy.js +0 -1
- package/bin/wwwroot/assets/rotate-ccw-Dr0Xbikv.js +0 -1
- package/bin/wwwroot/assets/use-transform-DvOb1h9g.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._field_6szcl_1{gap:var(--space-2);min-width:0;display:grid;position:relative}._field_6szcl_1 label{font-size:var(--text-sm);font-weight:500}._control_6szcl_3{z-index:2;min-height:var(--control-height-md);align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);padding:0 var(--space-3);background:var(--surface);color:var(--foreground);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:flex;position:relative}@media (hover:hover) and (pointer:fine){._control_6szcl_3:hover:not(._disabled_6szcl_4){border-color:var(--border-strong);background:var(--surface-muted)}}._control_6szcl_3:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}._control_6szcl_3._open_6szcl_6{border-color:var(--border-strong);background:var(--surface-muted)}._control_6szcl_3._disabled_6szcl_4{opacity:.5;cursor:not-allowed}._searchIcon_6szcl_8{color:var(--text-muted);flex:none}._control_6szcl_3 input{width:100%;min-width:0;color:var(--foreground);font:inherit;font-size:var(--text-sm);background:0 0;border:0;outline:0;padding:0}._control_6szcl_3 input:focus-visible{outline:none}._control_6szcl_3 input::placeholder{color:var(--text-muted)}._chevron_6szcl_12{color:var(--text-muted);transition:transform var(--duration-spring) var(--ease-spring);flex:none}._open_6szcl_6 ._chevron_6szcl_12{transform:rotate(180deg)}._clear_6szcl_14{border-radius:var(--radius-control);width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){._clear_6szcl_14:hover{background:var(--surface-muted);color:var(--foreground)}}._clear_6szcl_14:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}._hint_6szcl_17{color:var(--text-muted);font-size:var(--text-xs)}._popover_6szcl_18{z-index:80;transform-origin:top;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow-floating);will-change:transform, opacity;padding:5px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}._autoHeight_6szcl_19{overflow:hidden}._listbox_6szcl_20{overscroll-behavior:contain;max-height:min(300px,40vh);overflow-y:auto}._option_6szcl_22{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:calc(var(--radius-panel) - 5px);min-height:36px;color:var(--foreground);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color 80ms var(--ease-standard), color 80ms var(--ease-standard);outline:none;padding:0 12px;display:flex}._option_6szcl_22>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._option_6szcl_22[data-active=true]{background:var(--surface-muted)}._option_6szcl_22[data-disabled=true]{opacity:.42;cursor:not-allowed}._check_6szcl_26{color:var(--foreground);flex:none}._empty_6szcl_27{padding:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}@media (prefers-reduced-motion:reduce){._control_6szcl_3,._chevron_6szcl_12,._clear_6szcl_14,._option_6szcl_22{transition:none}}._overlay_1vyy5_1{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:oklch(10% 0 0/.46);position:fixed;inset:0}._content_1vyy5_5{z-index:51;width:min(calc(100vw - var(--space-8)), 440px);height:fit-content;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));scrollbar-width:thin;scrollbar-color:var(--label-3) transparent;border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow-floating);margin:auto;position:fixed;inset:0;overflow:auto}._content_1vyy5_5::-webkit-scrollbar{width:10px;height:10px}._content_1vyy5_5::-webkit-scrollbar-thumb{background:var(--label-3);background-clip:content-box;border:3px solid #0000;border-radius:999px}._keyframes_1vyy5_9._overlay_1vyy5_1[data-state=open]{animation:_overlay-in_1vyy5_1 var(--duration-standard) var(--ease-enter) both}._keyframes_1vyy5_9._overlay_1vyy5_1[data-state=closed]{animation:_overlay-out_1vyy5_1 var(--duration-fast) var(--ease-standard) both}._keyframes_1vyy5_9._content_1vyy5_5[data-state=open]{animation:_content-fade-in_1vyy5_1 var(--duration-fast) var(--ease-enter) both, _content-rise-in_1vyy5_1 var(--duration-spring) var(--ease-spring) both}._keyframes_1vyy5_9._content_1vyy5_5[data-state=closed]{animation:_content-out_1vyy5_1 var(--duration-fast) var(--ease-standard) both}._content_1vyy5_5:focus{outline:none}._overlay_1vyy5_1[data-state=closed],._content_1vyy5_5[data-state=closed]{pointer-events:none!important}._header_1vyy5_16{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-6);border-bottom:1px solid var(--border);display:flex}._title_1vyy5_17{font-family:var(--font-body);font-size:var(--text-lg);letter-spacing:var(--tracking-body);font-weight:500;line-height:var(--leading-body);margin:0}._description_1vyy5_18{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-body)}._title_1vyy5_17,._description_1vyy5_18{overflow-wrap:anywhere;position:relative}._swap_1vyy5_20{display:block}._title_1vyy5_17 ._swap_1vyy5_20{line-height:var(--leading-body)}._close_1vyy5_24{margin-block:calc((var(--text-lg) * var(--leading-body) - var(--space-8)) / 2);width:var(--space-8);height:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-control);background:color-mix(in oklab, var(--surface-muted) 50%, transparent);color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){._close_1vyy5_24:hover{background:var(--surface-muted);color:var(--foreground)}}._close_1vyy5_24:active{transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);transform:scale(.96)}._body_1vyy5_27{padding:var(--space-6);font-size:var(--text-sm);line-height:var(--leading-body)}@keyframes _overlay-in_1vyy5_1{0%{opacity:0}}@keyframes _overlay-out_1vyy5_1{to{opacity:0}}@keyframes _content-fade-in_1vyy5_1{0%{opacity:0}}@keyframes _content-rise-in_1vyy5_1{0%{transform:translateY(8px)scale(.96)}}@keyframes _content-out_1vyy5_1{to{opacity:0;transform:translateY(4px)scale(.98)}}@keyframes _content-fade-out_1vyy5_1{to{opacity:0}}@media (prefers-reduced-motion:reduce){._keyframes_1vyy5_9._overlay_1vyy5_1[data-state=open],._keyframes_1vyy5_9._content_1vyy5_5[data-state=open]{animation:_overlay-in_1vyy5_1 var(--duration-instant) var(--ease-standard) both}._keyframes_1vyy5_9._overlay_1vyy5_1[data-state=closed]{animation:_overlay-out_1vyy5_1 var(--duration-instant) var(--ease-standard) both}._keyframes_1vyy5_9._content_1vyy5_5[data-state=closed]{animation:_content-fade-out_1vyy5_1 var(--duration-instant) var(--ease-standard) both}._close_1vyy5_24,._close_1vyy5_24:active{transition:none}._close_1vyy5_24:active{transform:none}}._trigger_26wmo_1{max-width:100%;min-height:var(--control-height-sm);align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){._trigger_26wmo_1:hover{border-color:var(--border-strong);background:var(--surface-muted);box-shadow:var(--shadow-resting)}}._trigger_26wmo_1[data-state=open]{border-color:var(--border-strong);background:var(--surface-muted);box-shadow:none}._trigger_26wmo_1:active{border-color:var(--border-strong);background:color-mix(in oklab, var(--surface-muted), var(--border) 55%);box-shadow:none}._trigger_26wmo_1:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}._item_26wmo_7:focus-visible{outline:none}._triggerIcon_26wmo_8{color:var(--text-secondary);flex:none;display:inline-flex}._triggerIconOnly_26wmo_10{width:var(--control-height-sm);background:0 0;border-color:#0000;justify-content:center;padding:0}._label_26wmo_11{flex:0 auto;min-width:0;display:inline-flex;position:relative;overflow-x:clip}._labelMeasure_26wmo_12{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute;top:0;left:0}._labelText_26wmo_13{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}._chevron_26wmo_14{color:var(--text-muted);transition:transform var(--duration-spring) var(--ease-spring), color var(--duration-fast) var(--ease-standard);flex:none}._trigger_26wmo_1[data-state=open] ._chevron_26wmo_14{transform:rotate(180deg)}._menu_26wmo_18{--menu-x:0px;--menu-y:-5px;z-index:60;min-width:min(12rem, var(--radix-dropdown-menu-content-available-width));max-width:var(--radix-dropdown-menu-content-available-width);border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-floating);transform-origin:var(--radix-dropdown-menu-content-transform-origin);transition:opacity var(--duration-fast) var(--ease-enter), transform var(--duration-spring) var(--ease-spring);padding:5px;position:relative}._menu_26wmo_18[data-side=top]{--menu-y:5px}._menu_26wmo_18[data-side=left]{--menu-x:5px;--menu-y:0px}._menu_26wmo_18[data-side=right]{--menu-x:-5px;--menu-y:0px}@starting-style{._menu_26wmo_18[data-state=open]{opacity:0;transform:translate(var(--menu-x), var(--menu-y)) scale(.97)}._menu_26wmo_18[data-state=open] ._item_26wmo_7{opacity:0;transform:translate(calc(var(--menu-x) * .4), calc(var(--menu-y) * .4))}}._menu_26wmo_18[data-state=closed]{opacity:0;transform:translate(calc(var(--menu-x) * .5), calc(var(--menu-y) * .5)) scale(.985);transition:opacity .13s var(--ease-standard), transform .13s var(--ease-standard);pointer-events:none;animation:.13s linear both _menu-exit_26wmo_1}._highlight_26wmo_28{border-radius:calc(var(--radius-panel) - 6px);background:var(--surface-muted);opacity:0;pointer-events:none;transition:background-color var(--duration-fast) var(--ease-standard);position:absolute;top:0;left:5px;right:5px}._highlight_26wmo_28[data-tone=danger]{background:color-mix(in oklab, var(--danger) 8%, var(--surface))}._item_26wmo_7{border-radius:calc(var(--radius-panel) - 6px);min-height:36px;color:var(--foreground);font-size:var(--text-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), opacity var(--duration-standard) var(--ease-enter) calc(min(var(--i,0), 4) * 35ms), transform var(--duration-standard) var(--ease-enter) calc(min(var(--i,0), 4) * 35ms);outline:none;align-items:center;gap:10px;padding:0 11px;display:flex;position:relative}._icon_26wmo_31{width:17px;color:var(--text-secondary);display:inline-flex}._separator_26wmo_32{height:1px;margin:var(--space-1) calc(var(--space-1) * -1);background:var(--border-subtle)}._destructive_26wmo_33,._destructive_26wmo_33 ._icon_26wmo_31{color:var(--danger)}._item_26wmo_7[data-disabled]{opacity:.45;cursor:default}@keyframes _menu-exit_26wmo_1{to{--menu-exit:1}}@media (prefers-reduced-transparency:reduce){._menu_26wmo_18{background:var(--surface-raised);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){._trigger_26wmo_1,._chevron_26wmo_14,._item_26wmo_7,._highlight_26wmo_28{transition:none}._menu_26wmo_18,._menu_26wmo_18[data-state=closed]{transition:opacity var(--duration-instant) linear;transform:none}}._field_1a9q6_1{gap:var(--space-2);min-width:0;display:grid}._field_1a9q6_1 label{font-size:var(--text-sm);font-weight:500}._trigger_1a9q6_4{box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height-md);border:1px solid var(--border);border-radius:var(--radius-control);padding:0 var(--space-3);background:var(--surface);color:var(--foreground);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:flex;position:relative}@media (hover:hover) and (pointer:fine){._trigger_1a9q6_4:hover:not([data-disabled]){border-color:var(--border-strong);background:var(--surface-muted)}}._trigger_1a9q6_4:active:not([data-disabled]),._trigger_1a9q6_4[data-state=open]{border-color:var(--border-strong);background:var(--surface-muted)}._trigger_1a9q6_4:focus-visible{border-color:var(--border-strong)}._trigger_1a9q6_4[data-disabled]{opacity:.5;cursor:not-allowed}._valueText_1a9q6_9{flex:1;grid-template-columns:minmax(0,1fr);min-width:0;display:grid}._valueText_1a9q6_9>span{text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;min-width:0;overflow:hidden}._valueText_1a9q6_9>[data-placeholder]{color:var(--text-muted)}._srOnly_1a9q6_12{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._chevron_1a9q6_13{color:var(--text-muted);transition:transform var(--duration-spring) var(--ease-spring), color var(--duration-fast) var(--ease-standard);flex:none;display:inline-flex}._trigger_1a9q6_4[data-state=open] ._chevron_1a9q6_13{transform:rotate(180deg)}._hint_1a9q6_15{color:var(--text-muted);font-size:var(--text-xs)}._content_1a9q6_18{--menu-x:0px;--menu-y:-6px;box-sizing:border-box;z-index:1000;width:var(--radix-select-trigger-width);min-width:max(var(--radix-select-trigger-width), 12rem);max-width:min(24rem,100vw - 20px);max-height:min(320px, var(--radix-select-content-available-height));border:1px solid var(--border);border-radius:calc(var(--radius-control) + 2px);background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow-floating);transform-origin:var(--radix-select-content-transform-origin);animation:_select-in_1a9q6_1 var(--duration-standard) var(--ease-enter) both;padding:6px;overflow:hidden}._content_1a9q6_18[data-side=top]{--menu-y:6px}._content_1a9q6_18[data-side=left]{--menu-x:6px;--menu-y:0px}._content_1a9q6_18[data-side=right]{--menu-x:-6px;--menu-y:0px}._content_1a9q6_18[data-state=closed]{animation:_select-out_1a9q6_1 var(--duration-instant) var(--ease-standard) both}._viewport_1a9q6_23{padding:2px 0}._item_1a9q6_24{border-radius:calc(var(--radius-control) - 4px);min-height:36px;color:var(--foreground);font-size:var(--text-sm);cursor:default;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard);outline:none;align-items:center;padding:0 34px 0 11px;display:flex;position:relative}._item_1a9q6_24[data-highlighted]{background:var(--surface-muted)}._item_1a9q6_24[data-disabled]{opacity:.45}._indicator_1a9q6_27{color:var(--foreground);animation:_indicator-in_1a9q6_1 var(--duration-standard) var(--ease-enter) 40ms both;align-items:center;display:inline-flex;position:absolute;right:10px}._scrollButton_1a9q6_28{height:28px;color:var(--text-muted);place-items:center;display:grid}@keyframes _select-in_1a9q6_1{0%{opacity:0;transform:translate(var(--menu-x), var(--menu-y)) scale(.97)}}@keyframes _select-out_1a9q6_1{to{opacity:0;transform:translate(calc(var(--menu-x) / 2), calc(var(--menu-y) / 2)) scale(.98)}}@keyframes _indicator-in_1a9q6_1{0%{opacity:0;filter:blur(2px);transform:scale(.6)}}@media (prefers-reduced-transparency:reduce){._content_1a9q6_18{background:var(--surface-raised);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){._trigger_1a9q6_4,._chevron_1a9q6_13,._item_1a9q6_24{transition:none}._content_1a9q6_18{animation:_select-fade_1a9q6_1 var(--duration-instant) var(--ease-standard) both}._content_1a9q6_18[data-state=closed]{animation:_select-fade-out_1a9q6_1 var(--duration-instant) var(--ease-standard) both}._indicator_1a9q6_27{animation:none}}@keyframes _select-fade_1a9q6_1{0%{opacity:0}}@keyframes _select-fade-out_1a9q6_1{to{opacity:0}}._toast_c20vg_1{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);width:min(100%,26rem);min-width:0;color:var(--foreground);letter-spacing:var(--tracking-body);box-shadow:var(--shadow-floating);align-items:flex-start;gap:.75rem;padding:.875rem .875rem .875rem 1rem;display:flex}._icon_c20vg_16{border:1px solid color-mix(in oklab, var(--success) 24%, var(--border));border-radius:var(--radius-pill);background:color-mix(in oklab, var(--success) 10%, var(--surface-raised));width:1.875rem;height:1.875rem;color:var(--success);flex:none;place-items:center;display:grid}._frame_c20vg_28{flex:1;min-width:0;display:block}._copy_c20vg_34{gap:.125rem;min-width:0;padding-top:.3125rem;display:grid;position:relative}._title_c20vg_43{min-width:0;font-size:var(--text-sm);font-weight:500;line-height:var(--leading-body);display:block;position:relative}._line_c20vg_52{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}._description_c20vg_59{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-body);display:block}._close_c20vg_66{border-radius:var(--radius-pill);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;transition:transform var(--duration-spring) var(--ease-spring), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;margin:-.0625rem -.125rem 0 0;display:grid}@media (hover:hover) and (pointer:fine){._close_c20vg_66:hover{background:var(--surface-muted);color:var(--foreground)}}._close_c20vg_66:active{transition-duration:var(--duration-instant);transition-timing-function:var(--ease-standard);transform:scale(.96)}@media (prefers-reduced-motion:reduce){._close_c20vg_66{transition:none}._close_c20vg_66:active{transform:none}}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{vt as e}from"./alert-C-zJo-Vf.js";var t={name:`pencil`,size:24,node:[[`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`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{vt as e}from"./alert-C-zJo-Vf.js";var t={name:`power`,size:24,node:[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]};t.node;var n=e(t);export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e,_i as t,gi as n,la as r,pa as i,ua as a,vi as o,vt as s,yi as c}from"./alert-C-zJo-Vf.js";var l={name:`flask-conical`,size:24,node:[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]};l.node;var u=s(l),d=i(a(),1),f={root:`_root_1erkf_1`,ring:`_ring_1erkf_16`,card:`_card_1erkf_26`,label:`_label_1erkf_46`,meta:`_meta_1erkf_46`,indicator:`_indicator_1erkf_48`,indicatorDot:`_indicatorDot_1erkf_61`,body:`_body_1erkf_64`,labelText:`_labelText_1erkf_66`,icon:`_icon_1erkf_67`,description:`_description_1erkf_70`},p=r(),m=[...e.ease.standard],h=((e,t)=>{let n=2*Math.PI/(e*1.2);return{type:`spring`,stiffness:n*n,damping:2*(1-t)*n,mass:1}})(.42,.14),g=()=>()=>{};function _(){let e=(0,d.useSyncExternalStore)(g,()=>!0,()=>!1);return!!o()&&e}var v=(0,d.forwardRef)(function({options:r,value:i,defaultValue:a=null,onValueChange:o,layout:s=`grid`,minColumnWidth:l=180,name:u,required:g,disabled:v=!1,className:y,style:b,...x},S){let C=_(),w=(0,d.useId)().replace(/[^a-zA-Z0-9_-]/g,``),T=(0,d.useRef)(null);(0,d.useImperativeHandle)(S,()=>T.current);let[E,D]=(0,d.useState)(a),O=i===void 0?E:i,k=r.findIndex(e=>e.value===O),A=e=>!v&&!e.disabled,j=k>=0&&A(r[k])?k:r.findIndex(A),M=e=>{e!==O&&(i===void 0&&D(e),o?.(e))},N=c(0),P=c(0),F=c(0),I=c(0),L=c(0),R=(0,d.useRef)(!1),z=(0,d.useCallback)(n=>{let r=k<0?null:T.current?.querySelector(`[data-card="${k}"]`);if(!r){L.set(0),R.current=!1;return}let i=[r.offsetLeft,r.offsetTop,r.offsetWidth,r.offsetHeight];if(!n||!R.current||C){N.jump(i[0]),P.jump(i[1]),F.jump(i[2]),I.jump(i[3]),!R.current&&!C&&n?(L.jump(0),t(L,1,{duration:e.duration.fast,ease:m})):L.jump(1),R.current=!0;return}t(N,i[0],h),t(P,i[1],h),t(F,i[2],h),t(I,i[3],h),L.set(1)},[I,L,C,k,F,N,P]),B=(0,d.useRef)(z);(0,d.useLayoutEffect)(()=>{B.current=z,z(!0)},[z]),(0,d.useLayoutEffect)(()=>{let e=T.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>B.current(!1));return t.observe(e),()=>t.disconnect()},[]);let V=()=>Array.from(T.current?.querySelectorAll(`[data-card]`)??[]),H=(e,t)=>{let n=e.key===`ArrowRight`||e.key===`ArrowDown`?1:e.key===`ArrowLeft`||e.key===`ArrowUp`?-1:0;if(e.key===` `||e.key===`Enter`){e.preventDefault(),A(r[t])&&M(r[t].value);return}if(!n&&e.key!==`Home`&&e.key!==`End`)return;e.preventDefault();let i=r.length,a=n&&(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&getComputedStyle(e.currentTarget).direction===`rtl`?-1:1,o=e.key===`Home`?-1:e.key===`End`?i:t,s=e.key===`Home`?1:e.key===`End`?-1:n*a;for(let e=0;e<i;e++)if(o=(o+s+i)%i,A(r[o])){V()[o]?.focus(),M(r[o].value);return}};return(0,p.jsxs)(`div`,{ref:T,role:`radiogroup`,"aria-disabled":v||void 0,"aria-required":g||void 0,className:[f.root,y].filter(Boolean).join(` `),"data-layout":s,style:{"--min-column":`${l}px`,...b},...x,children:[(0,p.jsx)(n.span,{className:f.ring,style:{x:N,y:P,width:F,height:I,opacity:L},"aria-hidden":`true`}),r.map((t,r)=>{let i=r===k,a=!A(t),o=`${w}-${r}-label`,s=`${w}-${r}-description`,c=a&&t.disabledReason?t.disabledReason:t.description;return(0,p.jsxs)(`div`,{role:`radio`,"data-card":r,className:f.card,"aria-checked":i,"aria-disabled":a||void 0,"aria-labelledby":o,"aria-describedby":c?s:void 0,tabIndex:r===j?0:-1,"data-checked":i||void 0,onClick:()=>{a||M(t.value)},onKeyDown:e=>H(e,r),children:[(0,p.jsx)(`span`,{className:f.indicator,"aria-hidden":`true`,children:(0,p.jsx)(n.span,{className:f.indicatorDot,initial:!1,animate:{scale:+!!i},transition:C?{duration:0}:e.spring.snappy})}),(0,p.jsxs)(`span`,{className:f.body,children:[(0,p.jsxs)(`span`,{id:o,className:f.label,children:[t.icon&&(0,p.jsx)(`span`,{className:f.icon,children:t.icon}),(0,p.jsx)(`span`,{className:f.labelText,children:t.label})]}),c&&(0,p.jsx)(`span`,{id:s,className:f.description,children:c})]}),t.meta&&(0,p.jsx)(`span`,{className:f.meta,children:t.meta})]},t.value)}),u&&(0,p.jsx)(`input`,{type:`hidden`,name:u,value:O??``,required:g})]})});export{u as n,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{vt as e}from"./alert-C-zJo-Vf.js";var t={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};t.node;var n=e(t);export{n as t};
|
package/bin/wwwroot/index.html
CHANGED
|
@@ -7,14 +7,12 @@
|
|
|
7
7
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
8
8
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
|
9
9
|
<title>Astra</title>
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
13
|
-
<link rel="
|
|
14
|
-
<link rel="
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/assets/
|
|
16
|
-
<link rel="stylesheet" crossorigin href="/assets/Page-CsiaycmK.css">
|
|
17
|
-
<link rel="stylesheet" crossorigin href="/assets/index-uU60OHOr.css">
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-CNdW2eN9.js"></script>
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/alert-C-zJo-Vf.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/overlays-BBHZHl4R.js">
|
|
13
|
+
<link rel="stylesheet" crossorigin href="/assets/alert-DwSJjne8.css">
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/assets/overlays-BJrN5PWt.css">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DSv7xAxU.css">
|
|
18
16
|
</head>
|
|
19
17
|
<body>
|
|
20
18
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{Ai as e,Bn as t,Br as n,Cn as r,Dn as i,F as a,Fa as o,G as s,Gn as c,H as l,Hn as u,Ia as d,J as f,Kn as p,N as m,P as h,Pa as g,R as _,Rn as v,Sn as y,Tn as b,Un as x,V as S,Wn as C,X as w,Y as T,Yr as E,a as D,an as O,cn as k,dn as A,dt as j,ea as M,fi as N,i as ee,ir as te,li as P,lr as ne,mi as F,o as re,or as I,pi as ie,qr as L,r as R,rt as z,sn as ae,st as B,ut as V,vi as oe,xn as se,z as H,za as U,zn as ce}from"./overlays-D1ZtG8Qn.js";import{b as le,c as ue,g as de,o as fe,s as W,t as G,x as pe}from"./Page-CnSErb_N.js";import{t as K}from"./download-CMr38kbd.js";import{t as q}from"./external-link-BSHuW87X.js";import{t as me}from"./folder-open-Ce_7X0wN.js";import{t as he}from"./rotate-ccw-Dr0Xbikv.js";import{C as ge,d as _e,h as ve,m as ye,p as be,w as xe}from"./index-PfVyiY3J.js";var Se={name:`archive`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]};Se.node;var Ce=j(Se),we={name:`circle-arrow-up`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]],aliases:[`arrow-up-circle`]};we.node;var Te=j(we),Ee={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};Ee.node;var De=j(Ee),Oe={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]};Oe.node;var ke=j(Oe),Ae=U(M()),J=U(d());function je(){var e=[...arguments];return(0,J.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Me=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ne(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Pe(e){return`nodeType`in e}function Y(e){return e?Ne(e)?e:Pe(e)?e.ownerDocument?.defaultView??window:window:window}function Fe(e){let{Document:t}=Y(e);return e instanceof t}function Ie(e){return!Ne(e)&&e instanceof Y(e).HTMLElement}function Le(e){return e instanceof Y(e).SVGElement}function Re(e){return e?Ne(e)?e.document:Pe(e)?Fe(e)?e:Ie(e)||Le(e)?e.ownerDocument:document:document:document}var ze=Me?J.useLayoutEffect:J.useEffect;function Be(e){let t=(0,J.useRef)(e);return ze(()=>{t.current=e}),(0,J.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Ve(){let e=(0,J.useRef)(null);return[(0,J.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,J.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function He(e,t){t===void 0&&(t=[e]);let n=(0,J.useRef)(e);return ze(()=>{n.current!==e&&(n.current=e)},t),n}function Ue(e,t){let n=(0,J.useRef)();return(0,J.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function We(e){let t=Be(e),n=(0,J.useRef)(null);return[n,(0,J.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ge(e){let t=(0,J.useRef)();return(0,J.useEffect)(()=>{t.current=e},[e]),t.current}var Ke={};function qe(e,t){return(0,J.useMemo)(()=>{if(t)return t;let n=Ke[e]==null?0:Ke[e]+1;return Ke[e]=n,e+`-`+n},[e,t])}function Je(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var Ye=Je(1),Xe=Je(-1);function Ze(e){return`clientX`in e&&`clientY`in e}function Qe(e){if(!e)return!1;let{KeyboardEvent:t}=Y(e.target);return t&&e instanceof t}function $e(e){if(!e)return!1;let{TouchEvent:t}=Y(e.target);return t&&e instanceof t}function et(e){if($e(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Ze(e)?{x:e.clientX,y:e.clientY}:null}var tt=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[tt.Translate.toString(e),tt.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),nt=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function rt(e){return e.matches(nt)?e:e.querySelector(nt)}var it={display:`none`};function at(e){let{id:t,value:n}=e;return J.createElement(`div`,{id:t,style:it},n)}function ot(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return J.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function st(){let[e,t]=(0,J.useState)(``);return{announce:(0,J.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var ct=(0,J.createContext)(null);function lt(e){let t=(0,J.useContext)(ct);(0,J.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function ut(){let[e]=(0,J.useState)(()=>new Set),t=(0,J.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,J.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var dt={draggable:`
|
|
2
|
-
To pick up a draggable item, press the space bar.
|
|
3
|
-
While dragging, use the arrow keys to move the item.
|
|
4
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
-
`},ft={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function pt(e){let{announcements:t=ft,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=dt}=e,{announce:a,announcement:o}=st(),s=qe(`DndLiveRegion`),[c,l]=(0,J.useState)(!1);if((0,J.useEffect)(()=>{l(!0)},[]),lt((0,J.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=J.createElement(J.Fragment,null,J.createElement(at,{id:r,value:i.draggable}),J.createElement(ot,{id:s,announcement:o}));return n?(0,Ae.createPortal)(u,n):u}var X;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(X||={});function mt(){}function ht(e,t){return(0,J.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function gt(){var e=[...arguments];return(0,J.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var _t=Object.freeze({x:0,y:0});function vt(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function yt(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function bt(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function xt(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function St(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Ct(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var wt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Ct(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=vt(Ct(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(yt)},Tt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=xt(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=xt(r),o=i.reduce((e,t,r)=>e+vt(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(yt)};function Et(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Dt=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Et(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(bt)};function Ot(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function kt(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:_t}function At(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var jt=At(1);function Mt(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Nt(e,t,n){let r=Mt(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Pt={ignoreTransform:!1};function Ft(e,t){t===void 0&&(t=Pt);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Y(e).getComputedStyle(e);t&&(n=Nt(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function It(e){return Ft(e,{ignoreTransform:!0})}function Lt(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Rt(e,t){return t===void 0&&(t=Y(e).getComputedStyle(e)),t.position===`fixed`}function zt(e,t){t===void 0&&(t=Y(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`&&n.test(r)})}function Bt(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Fe(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ie(i)||Le(i)||n.includes(i))return n;let a=Y(e).getComputedStyle(i);return i!==e&&zt(i,a)&&n.push(i),Rt(i,a)?n:r(i.parentNode)}return e?r(e):n}function Vt(e){let[t]=Bt(e,1);return t??null}function Ht(e){return!Me||!e?null:Ne(e)?e:Pe(e)?Fe(e)||e===Re(e).scrollingElement?window:Ie(e)?e:null:null}function Ut(e){return Ne(e)?e.scrollX:e.scrollLeft}function Wt(e){return Ne(e)?e.scrollY:e.scrollTop}function Gt(e){return{x:Ut(e),y:Wt(e)}}var Z;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Z||={});function Kt(e){return!Me||!e?!1:e===document.scrollingElement}function qt(e){let t={x:0,y:0},n=Kt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Jt={x:.2,y:.2};function Yt(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Jt);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=qt(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Z.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Z.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Z.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Z.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Xt(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Zt(e){return e.reduce((e,t)=>Ye(e,Gt(t)),_t)}function Qt(e){return e.reduce((e,t)=>e+Ut(t),0)}function $t(e){return e.reduce((e,t)=>e+Wt(t),0)}function en(e,t){if(t===void 0&&(t=Ft),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Vt(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var tn=[[`x`,[`left`,`right`],Qt],[`y`,[`top`,`bottom`],$t]],nn=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Bt(t),r=Zt(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of tn)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},rn=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function an(e){let{EventTarget:t}=Y(e);return e instanceof t?e:Re(e)}function on(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t&&r>t.y}var sn;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(sn||={});function cn(e){e.preventDefault()}function ln(e){e.stopPropagation()}var Q;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(Q||={});var un={start:[Q.Space,Q.Enter],cancel:[Q.Esc],end:[Q.Space,Q.Enter,Q.Tab]},dn=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Q.Right:return{...n,x:n.x+25};case Q.Left:return{...n,x:n.x-25};case Q.Down:return{...n,y:n.y+25};case Q.Up:return{...n,y:n.y-25}}},fn=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new rn(Re(t)),this.windowListeners=new rn(Y(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(sn.Resize,this.handleCancel),this.windowListeners.add(sn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(sn.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&en(n),t(_t)}handleKeyDown(e){if(Qe(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=un,coordinateGetter:a=dn,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:_t;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Xe(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=qt(n),p=Xt(n),m={x:Math.min(i===Q.Right?p.right-p.width/2:p.right,Math.max(i===Q.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Q.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Q.Down?p.top:p.top+p.height/2,u.y))},h=i===Q.Right&&!s||i===Q.Left&&!c,g=i===Q.Down&&!l||i===Q.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Q.Right&&e<=d.x||i===Q.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}r.x=a?n.scrollLeft-e:i===Q.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===Q.Down&&e<=d.y||i===Q.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}r.y=a?n.scrollTop-e:i===Q.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,Ye(Xe(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};fn.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=un,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function pn(e){return!!(e&&`distance`in e)}function mn(e){return!!(e&&`delay`in e)}var hn=class{constructor(e,t,n){n===void 0&&(n=an(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Re(i),this.documentListeners=new rn(this.document),this.listeners=new rn(n),this.windowListeners=new rn(Y(i)),this.initialCoordinates=et(r)??_t,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(sn.Resize,this.handleCancel),this.windowListeners.add(sn.DragStart,cn),this.windowListeners.add(sn.VisibilityChange,this.handleCancel),this.windowListeners.add(sn.ContextMenu,cn),this.documentListeners.add(sn.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(mn(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(pn(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(sn.Click,ln,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(sn.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=et(e)??_t,s=Xe(n,o);if(!t&&a){if(pn(a)){if(a.tolerance!=null&&on(s,a.tolerance))return this.handleCancel();if(on(s,a.distance))return this.handleStart()}if(mn(a)&&on(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Q.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},gn={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},_n=class extends hn{constructor(e){let{event:t}=e,n=Re(t.target);super(e,gn,n)}};_n.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var vn={move:{name:`mousemove`},end:{name:`mouseup`}},yn;(function(e){e[e.RightClick=2]=`RightClick`})(yn||={});var bn=class extends hn{constructor(e){super(e,vn,Re(e.event.target))}};bn.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button!==yn.RightClick&&(r?.({event:n}),!0)}}];var xn={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Sn=class extends hn{constructor(e){super(e,xn)}static setup(){return window.addEventListener(xn.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(xn.move.name,e)};function e(){}}};Sn.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Cn;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Cn||={});var wn;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(wn||={});function Tn(e){let{acceleration:t,activator:n=Cn.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=wn.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Dn({delta:d,disabled:!a}),[m,h]=Ve(),g=(0,J.useRef)({x:0,y:0}),_=(0,J.useRef)({x:0,y:0}),v=(0,J.useMemo)(()=>{switch(n){case Cn.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Cn.DraggableRect:return i}},[n,i,c]),y=(0,J.useRef)(null),b=(0,J.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,J.useMemo)(()=>s===wn.TreeOrder?[...l].reverse():l,[s,l]);(0,J.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=l.indexOf(e),i=u[n];if(!i)continue;let{direction:a,speed:s}=Yt(e,i,v,t,f);for(let e of[`x`,`y`])p[e][a[e]]||(s[e]=0,a[e]=0);if(s.x>0||s.y>0){h(),y.current=e,m(b,o),g.current=s,_.current=a;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var En={x:{[Z.Backward]:!1,[Z.Forward]:!1},y:{[Z.Backward]:!1,[Z.Forward]:!1}};function Dn(e){let{delta:t,disabled:n}=e,r=Ge(t);return Ue(e=>{if(n||!r||!e)return En;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Z.Backward]:e.x[Z.Backward]||i.x===-1,[Z.Forward]:e.x[Z.Forward]||i.x===1},y:{[Z.Backward]:e.y[Z.Backward]||i.y===-1,[Z.Forward]:e.y[Z.Forward]||i.y===1}}},[n,t,r])}function On(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Ue(e=>t==null?null:r??e??null,[r,t])}function kn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var An;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(An||={});var jn;(function(e){e.Optimized=`optimized`})(jn||={});var Mn=new Map;function Nn(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,J.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,J.useRef)(e),d=g(),f=He(d),p=(0,J.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,J.useRef)(null),h=Ue(t=>{if(d&&!n)return Mn;if(!t||t===Mn||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new nn(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,J.useEffect)(()=>{u.current=e},[e]),(0,J.useEffect)(()=>{d||p()},[n,d]),(0,J.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,J.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case An.Always:return!1;case An.BeforeDragging:return n;default:return!n}}}function Pn(e,t){return Ue(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Fn(e,t){return Pn(e,t)}function In(e){let{callback:t,disabled:n}=e,r=Be(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Ln(e){let{callback:t,disabled:n}=e,r=Be(t),i=(0,J.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,J.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Rn(e){return new nn(Ft(e),e)}function zn(e,t,n){t===void 0&&(t=Rn);let[r,i]=(0,J.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=In({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Ln({callback:a});return ze(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Bn(e){return kt(e,Pn(e))}var Vn=[];function Hn(e){let t=(0,J.useRef)(e),n=Ue(n=>e?n&&n!==Vn&&e&&t.current&&e.parentNode===t.current.parentNode?n:Bt(e):Vn,[e]);return(0,J.useEffect)(()=>{t.current=e},[e]),n}function Un(e){let[t,n]=(0,J.useState)(null),r=(0,J.useRef)(e),i=(0,J.useCallback)(e=>{let t=Ht(e.target);t&&n(e=>e?(e.set(t,Gt(t)),new Map(e)):null)},[]);return(0,J.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Ht(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Gt(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Ht(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,J.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Ye(e,t),_t):Zt(e):_t,[e,t])}function Wn(e,t){t===void 0&&(t=[]);let n=(0,J.useRef)(null);return(0,J.useEffect)(()=>{n.current=null},t),(0,J.useEffect)(()=>{let t=e!==_t;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Xe(e,n.current):_t}function Gn(e){(0,J.useEffect)(()=>{if(!Me)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Kn(e,t){return(0,J.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function qn(e){return(0,J.useMemo)(()=>e?Lt(e):null,[e])}var Jn=[];function Yn(e,t){t===void 0&&(t=Ft);let[n]=e,r=qn(n?Y(n):null),[i,a]=(0,J.useState)(Jn);function o(){a(()=>e.length?e.map(e=>Kt(e)?r:new nn(t(e),e)):Jn)}let s=Ln({callback:o});return ze(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Xn(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Ie(t)?t:e}function Zn(e){let{measure:t}=e,[n,r]=(0,J.useState)(null),i=Ln({callback:(0,J.useCallback)(e=>{for(let{target:n}of e)if(Ie(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=We((0,J.useCallback)(e=>{let n=Xn(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,J.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Qn=[{sensor:_n,options:{}},{sensor:fn,options:{}}],$n={current:{}},er={draggable:{measure:It},droppable:{measure:It,strategy:An.WhileDragging,frequency:jn.Optimized},dragOverlay:{measure:Ft}},tr=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},nr={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new tr,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:mt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:er,measureDroppableContainers:mt,windowRect:null,measuringScheduled:!1},rr={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:mt,draggableNodes:new Map,over:null,measureDroppableContainers:mt},ir=(0,J.createContext)(rr),ar=(0,J.createContext)(nr);function or(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new tr}}}function sr(e,t){switch(t.type){case X.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case X.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case X.DragEnd:case X.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case X.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new tr(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case X.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new tr(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case X.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new tr(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function cr(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,J.useContext)(ir),a=Ge(r),o=Ge(n?.id);return(0,J.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Qe(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=rt(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function lr(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function ur(e){return(0,J.useMemo)(()=>({draggable:{...er.draggable,...e?.draggable},droppable:{...er.droppable,...e?.droppable},dragOverlay:{...er.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function dr(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,J.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;ze(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=kt(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Vt(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var fr=(0,J.createContext)({..._t,scaleX:1,scaleY:1}),pr;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(pr||={});var mr=(0,J.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Qn,collisionDetection:o=Dt,measuring:s,modifiers:c,...l}=e,[u,d]=(0,J.useReducer)(sr,void 0,or),[f,p]=ut(),[m,h]=(0,J.useState)(pr.Uninitialized),g=m===pr.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,J.useRef)({initial:null,translated:null}),C=(0,J.useMemo)(()=>_==null?null:{id:_,data:x?.data??$n,rect:S},[_,x]),w=(0,J.useRef)(null),[T,E]=(0,J.useState)(null),[D,O]=(0,J.useState)(null),k=He(l,Object.values(l)),A=qe(`DndDescribedBy`,t),j=(0,J.useMemo)(()=>b.getEnabled(),[b]),M=ur(s),{droppableRects:N,measureDroppableContainers:ee,measuringScheduled:te}=Nn(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),P=On(v,_),ne=(0,J.useMemo)(()=>D?et(D):null,[D]),F=xe(),re=Fn(P,M.draggable.measure);dr({activeNode:_==null?null:v.get(_),config:F.layoutShiftCompensation,initialRect:re,measure:M.draggable.measure});let I=zn(P,M.draggable.measure,re),ie=zn(P?P.parentElement:null),L=(0,J.useRef)({activatorEvent:null,active:null,activeNode:P,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),R=b.getNodeFor(L.current.over?.id),z=Zn({measure:M.dragOverlay.measure}),ae=z.nodeRef.current??P,B=g?z.rect??I:null,V=!!(z.nodeRef.current&&z.rect),oe=Bn(V?null:I),se=qn(ae?Y(ae):null),H=Hn(g?R??P:null),U=Yn(H),ce=lr(c,{transform:{x:y.x-oe.x,y:y.y-oe.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:I,containerNodeRect:ie,draggingNodeRect:B,over:L.current.over,overlayNodeRect:z.rect,scrollableAncestors:H,scrollableAncestorRects:U,windowRect:se}),le=ne?Ye(ne,y):null,ue=Un(H),de=Wn(ue),fe=Wn(ue,[I]),W=Ye(ce,de),G=B?jt(B,ce):null,pe=C&&G?o({active:C,collisionRect:G,droppableRects:N,droppableContainers:j,pointerCoordinates:le}):null,K=St(pe,`id`),[q,me]=(0,J.useState)(null),he=Ot(V?ce:Ye(ce,fe),q?.rect??null,I),ge=(0,J.useRef)(null),_e=(0,J.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent,o=new n({active:w.current,activeNode:i,event:a,options:r,context:L,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,Ae.unstable_batchedUpdates)(()=>{r?.(i),h(pr.Initializing),d({type:X.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(ge.current),O(a)})},onMove(e){d({type:X.DragMove,coordinates:e})},onEnd:s(X.DragEnd),onCancel:s(X.DragCancel)});ge.current=o;function s(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=L.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===X.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=X.DragCancel)}w.current=null,(0,Ae.unstable_batchedUpdates)(()=>{d({type:e}),h(pr.Uninitialized),me(null),E(null),O(null),ge.current=null;let t=e===X.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),ve=kn(a,(0,J.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,_e(n,t))},[v,_e]));Gn(a),ze(()=>{I&&m===pr.Initializing&&h(pr.Initialized)},[I,m]),(0,J.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=L.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:W.x,y:W.y},over:i};(0,Ae.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[W.x,W.y]),(0,J.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=L.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=k.current,o=r.get(K),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Ae.unstable_batchedUpdates)(()=>{me(s),a?.(c),f({type:`onDragOver`,event:c})})},[K]),ze(()=>{L.current={activatorEvent:D,active:C,activeNode:P,collisionRect:G,collisions:pe,droppableRects:N,draggableNodes:v,draggingNode:ae,draggingNodeRect:B,droppableContainers:b,over:q,scrollableAncestors:H,scrollAdjustedTranslate:W},S.current={initial:B,translated:G}},[C,P,pe,G,v,ae,B,N,b,q,H,W]),Tn({...F,delta:y,draggingRect:G,pointerCoordinates:le,scrollableAncestors:H,scrollableAncestorRects:U});let ye=(0,J.useMemo)(()=>({active:C,activeNode:P,activeNodeRect:I,activatorEvent:D,collisions:pe,containerNodeRect:ie,dragOverlay:z,draggableNodes:v,droppableContainers:b,droppableRects:N,over:q,measureDroppableContainers:ee,scrollableAncestors:H,scrollableAncestorRects:U,measuringConfiguration:M,measuringScheduled:te,windowRect:se}),[C,P,I,D,pe,ie,z,v,b,N,q,ee,H,U,M,te,se]),be=(0,J.useMemo)(()=>({activatorEvent:D,activators:ve,active:C,activeNodeRect:I,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:q,measureDroppableContainers:ee}),[D,ve,C,I,d,A,v,q,ee]);return J.createElement(ct.Provider,{value:p},J.createElement(ir.Provider,{value:be},J.createElement(ar.Provider,{value:ye},J.createElement(fr.Provider,{value:he},i)),J.createElement(cr,{disabled:n?.restoreFocus===!1})),J.createElement(pt,{...n,hiddenTextDescribedById:A}));function xe(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),hr=(0,J.createContext)(null),gr=`button`,_r=`Draggable`;function vr(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=qe(_r),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,J.useContext)(ir),{role:p=gr,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,J.useContext)(g?fr:hr),[v,y]=We(),[b,x]=We(),S=Kn(o,t),C=He(n);return ze(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,J.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===gr?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function yr(){return(0,J.useContext)(ar)}var br=`Droppable`,xr={timeout:25};function Sr(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=qe(br),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,J.useContext)(ir),u=(0,J.useRef)({disabled:n}),d=(0,J.useRef)(!1),f=(0,J.useRef)(null),p=(0,J.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...xr,...i},_=He(h??r),v=Ln({callback:(0,J.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=We((0,J.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=He(t);return(0,J.useEffect)(()=>{v&&y.current&&(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,J.useEffect)(()=>(s({type:X.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:X.UnregisterDroppable,key:a,id:r})),[r]),(0,J.useEffect)(()=>{n!==u.current.disabled&&(s({type:X.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Cr(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wr(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Tr(e){return e!==null&&e>=0}function Er(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Dr(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Or=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Cr(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},kr={scaleX:1,scaleY:1},Ar=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...kr}:null}let s=jr(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...kr}:r<t&&r>=a?{x:0,y:o.height+s,...kr}:{x:0,y:0,...kr}};function jr(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Mr=`Sortable`,Nr=J.createContext({activeIndex:-1,containerId:Mr,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Or,disabled:{draggable:!1,droppable:!1}});function Pr(e){let{children:t,id:n,items:r,strategy:i=Or,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=yr(),d=qe(Mr,n),f=s.rect!==null,p=(0,J.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,J.useRef)(p),v=!Er(p,_.current),y=g!==-1&&h===-1||v,b=Dr(a);ze(()=>{v&&m&&u(p)},[v,p,m,u]),(0,J.useEffect)(()=>{_.current=p},[p]);let x=(0,J.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:wr(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return J.createElement(Nr.Provider,{value:x},t)}var Fr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Cr(n,r,i).indexOf(t)},Ir=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Lr={duration:200,easing:`ease`},Rr=`transform`,zr=tt.Transition.toString({property:Rr,duration:0,easing:`linear`}),Br={roleDescription:`sortable`};function Vr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,J.useState)(null),s=(0,J.useRef)(n);return ze(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Ft(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,J.useEffect)(()=>{a&&o(null)},[a]),a}function Hr(e){let{animateLayoutChanges:t=Ir,attributes:n,disabled:r,data:i,getNewIndex:a=Fr,id:o,strategy:s,resizeObserverConfig:c,transition:l=Lr}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,J.useContext)(Nr),y=Ur(r,p),b=u.indexOf(o),x=(0,J.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,J.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:E}=Sr({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:D,activatorEvent:O,activeNodeRect:k,attributes:A,setNodeRef:j,listeners:M,isDragging:N,over:ee,setActivatorNodeRef:te,transform:P}=vr({id:o,data:x,attributes:{...Br,...n},disabled:y.draggable}),ne=je(E,j),F=!!D,re=F&&!m&&Tr(f)&&Tr(g),I=!_&&N,ie=re?(I&&re?P:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,L=Tr(f)&&Tr(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,R=D?.id,z=(0,J.useRef)({activeId:R,items:u,newIndex:L,containerId:d}),ae=u!==z.current.items,B=t({active:D,containerId:d,isDragging:N,isSorting:F,id:o,index:b,items:u,newIndex:z.current.newIndex,previousItems:z.current.items,previousContainerId:z.current.containerId,transition:l,wasDragging:z.current.activeId!=null}),V=Vr({disabled:!B,index:b,node:w,rect:C});return(0,J.useEffect)(()=>{F&&z.current.newIndex!==L&&(z.current.newIndex=L),d!==z.current.containerId&&(z.current.containerId=d),u!==z.current.items&&(z.current.items=u)},[F,L,d,u]),(0,J.useEffect)(()=>{if(R===z.current.activeId)return;if(R!=null&&z.current.activeId==null){z.current.activeId=R;return}let e=setTimeout(()=>{z.current.activeId=R},50);return()=>clearTimeout(e)},[R]),{active:D,activeIndex:f,attributes:A,data:x,rect:C,index:b,newIndex:L,items:u,isOver:T,isSorting:F,isDragging:N,listeners:M,node:w,overIndex:g,over:ee,setNodeRef:ne,setActivatorNodeRef:te,setDroppableNodeRef:E,setDraggableNodeRef:j,transform:V??ie,transition:oe()};function oe(){if(V||ae&&z.current.newIndex===b)return zr;if(!(I&&!Qe(O)||!l)&&(F||B))return tt.Transition.toString({...l,property:Rr})}}function Ur(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function Wr(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var Gr=[Q.Down,Q.Right,Q.Up,Q.Left],Kr=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(Gr.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case Q.Down:r.top<a.top&&t.push(n);break;case Q.Up:r.top>a.top&&t.push(n);break;case Q.Left:r.left>a.left&&t.push(n);break;case Q.Right:r.left<a.left&&t.push(n)}});let c=Tt({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=St(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=Bt(c).some((e,t)=>s[t]!==e),i=qr(e,t),a=Jr(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Xe(u,l)}}}};function qr(e,t){return!Wr(e)||!Wr(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function Jr(e,t){return!Wr(e)||!Wr(t)||!qr(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var $=o(),Yr=`astra claude`;function Xr(e){return e.reduce((e,t)=>({requests:e.requests+1,inputTokens:e.inputTokens+t.inputTokens,totalInputTokens:e.totalInputTokens+t.inputTokens+t.cacheReadTokens+t.cacheCreationTokens,outputTokens:e.outputTokens+t.outputTokens,failed:e.failed+ +(t.status===`error`),estimatedCostNanoUsd:e.estimatedCostNanoUsd+(t.estimatedCostNanoUsd??0)}),{requests:0,inputTokens:0,totalInputTokens:0,outputTokens:0,failed:0,estimatedCostNanoUsd:0})}var Zr=e=>e.status===`active`&&e.enabled;function Qr(e,t){let n=[e.name||e.id,e.email?`· ${e.email}`:null,e.plan?`· ${e.plan}`:null].filter(Boolean).join(` `);return Zr(e)?n:`${n} · ${t}`}function $r({enabled:e,gatewayEnabled:t}){let{t:n}=b(),{toast:r}=re(),i=le(),o=u(e),c=N(),[l,d]=(0,J.useState)(null),p=o.data?.mode??`gateway`,h=o.data?.accounts??[],g=o.data?.accountId??null??h.find(Zr)?.id??null,_=h.find(e=>e.id===g),v=p===`direct`,C=t&&(v||o.data!=null),E=v&&_?.telemetryEnabled===!0,O=x(E?_?.id:null,E),k=c.isPending,A=e=>c.mutate(e,{onError:e=>r(D(e),`error`)});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{title:n(`clients.claudeDirect.modeTitle`),footer:n(`clients.claudeDirect.modeFooter`),children:[(0,$.jsx)(s,{label:n(`clients.claudeDirect.mode`),detail:n(v?`clients.claudeDirect.directDetail`:`clients.claudeDirect.gatewayDetail`),children:(0,$.jsx)(f,{ariaLabel:n(`clients.claudeDirect.mode`),value:p,onChange:e=>{if(e===p||k||!o.data)return;let t=g??h.find(Zr)?.id??null;if(e===`direct`&&!t){r(n(`clients.claudeDirect.needAccountToast`),`error`);return}A({mode:e,accountId:t})},items:[{value:`gateway`,label:n(`clients.claudeDirect.gateway`)},{value:`direct`,label:n(`clients.claudeDirect.direct`)}]})}),(0,$.jsx)(`p`,{className:`px-4 pb-2 text-[11px] text-[var(--text-muted)]`,children:n(`clients.claudeDirect.modeNote`)})]}),o.isLoading&&(0,$.jsx)(T,{lines:3}),o.isError&&(0,$.jsx)(`div`,{className:`mb-5`,children:(0,$.jsx)(m,{tone:`danger`,title:n(`clients.claudeDirect.loadFailed`),children:D(o.error)})}),C&&(0,$.jsx)(`div`,{className:`mb-5`,children:(0,$.jsx)(m,{tone:`warning`,title:n(`clients.claudeDirect.gatewayOnTitle`),children:n(`clients.claudeDirect.gatewayOnDetail`)})}),o.data&&(0,$.jsx)(S,{title:n(`clients.claudeDirect.accountsTitle`),footer:n(`clients.claudeDirect.accountsFooter`),children:h.length===0?(0,$.jsx)(H,{title:n(`clients.claudeDirect.noAccount`),detail:n(`clients.claudeDirect.noAccountDetail`),action:(0,$.jsx)(a,{variant:`primary`,onClick:()=>i(`/providers`),children:n(`clients.claudeDirect.goProviders`)})}):(0,$.jsx)(s,{label:n(`clients.claudeDirect.account`),children:(0,$.jsx)(R,{className:`max-w-[300px]`,ariaLabel:n(`clients.claudeDirect.account`),value:g,onChange:e=>{k||e===g||A({mode:p,accountId:e})},options:h.map(e=>({value:e.id,label:Qr(e,n(`clients.claudeDirect.accountDisabledSuffix`,{status:n(`providers.subscription.status.${e.status}`)})),disabled:!Zr(e)}))})})}),o.data&&v&&_&&(0,$.jsx)(S,{title:n(`clients.claudeDirect.launchTitle`),footer:n(`clients.claudeDirect.launchNote`),children:(0,$.jsx)(ei,{command:Yr,copied:l,onCopy:async e=>{await y.copy(e)&&(d(e),r(n(`common.copied`)))}})}),o.data&&v&&_&&(0,$.jsxs)(S,{title:n(`clients.claudeDirect.statsTitle`),footer:n(`clients.claudeDirect.statsFooter`),children:[(0,$.jsx)(s,{label:n(`clients.claudeDirect.statsConsent`),detail:n(`clients.claudeDirect.statsConsentDetail`),children:(0,$.jsx)(w,{label:n(`clients.claudeDirect.statsConsent`),checked:_.telemetryEnabled,disabled:k,onChange:e=>{_&&!k&&A({mode:p,accountId:_.id,telemetryEnabled:e})}})}),E&&(0,$.jsx)(ti,{requests:O})]})]})}function ei({command:e,copied:t,onCopy:n}){let{t:r}=b();return(0,$.jsx)(s,{label:(0,$.jsx)(`span`,{className:`font-mono text-[12px] break-all selectable`,children:e}),children:(0,$.jsx)(a,{size:`sm`,icon:(0,$.jsx)(B,{className:`size-3`}),variant:t===e?`primary`:`glass`,"aria-label":r(`common.copy`),title:r(`common.copy`),onClick:()=>void n(e),children:r(t===e?`common.copied`:`common.copy`)})})}function ti({requests:e}){let{t,locale:n}=b(),r=e.data??[],i=Xr(r);return e.isLoading?(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(T,{lines:3})}):e.isError?(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(m,{tone:`danger`,title:t(`clients.claudeDirect.statsFailed`),children:D(e.error)})}):r.length===0?(0,$.jsx)(H,{icon:(0,$.jsx)(ue,{className:`size-6`}),title:t(`clients.claudeDirect.statsEmpty`),detail:t(`clients.claudeDirect.statsEmptyDetail`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(s,{label:t(`clients.claudeDirect.statsTotals`,{count:A(i.requests)}),detail:t(`clients.claudeDirect.statsInDetail`,{input:A(i.totalInputTokens),cache:A(r.reduce((e,t)=>e+t.cacheReadTokens,0)),output:A(i.outputTokens)})}),(0,$.jsx)(s,{label:t(`clients.claudeDirect.statsCost`),detail:t(`clients.claudeDirect.statsCostDetail`),children:(0,$.jsx)(`span`,{className:`num text-[13px]`,children:k(r.some(e=>e.estimatedCostNanoUsd!=null)?i.estimatedCostNanoUsd:null)})}),i.failed>0&&(0,$.jsx)(s,{label:t(`clients.claudeDirect.statsFailedCount`,{count:A(i.failed)}),children:(0,$.jsx)(h,{tone:`red`,children:t(`clients.claudeDirect.statusError`)})}),r.map(e=>(0,$.jsx)(s,{label:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.model}),e.status===`error`?(0,$.jsx)(h,{tone:`red`,children:t(`clients.claudeDirect.statusError`)}):(0,$.jsx)(h,{tone:`green`,children:t(`status.success`)})]}),detail:(0,$.jsx)(`span`,{className:`num`,children:[O(e.occurredAtUtc,n),t(`clients.claudeDirect.tokensDetail`,{input:A(e.inputTokens),output:A(e.outputTokens)}),e.durationMs==null?null:ae(e.durationMs),e.accountUuid??null].filter(Boolean).join(` · `)}),children:(0,$.jsx)(`span`,{className:`num text-[13px]`,children:k(e.estimatedCostNanoUsd)})},e.id))]})}function ni({descriptors:e,values:t,onChange:n,enabled:r}){let{t:i}=b(),a=(e,r)=>{let i={...t};r===void 0||r===!1||r===0||r==="default"||r===``?delete i[e]:i[e]=r,n(i)};return(0,$.jsx)(S,{title:i(`clients.options.title`),footer:i(r?`clients.options.footerEnabled`:`clients.options.footer`),children:e.map(e=>{let n=i(`clients.option.${e.key}`),r=i(`clients.option.${e.key}.hint`),o=t[e.key];return(0,$.jsxs)(s,{label:n,detail:r,children:[e.type===`bool`&&(0,$.jsx)(w,{label:n,checked:o===!0,onChange:t=>a(e.key,t)}),e.type===`int`&&(0,$.jsx)(l,{className:`w-36`,mono:!0,inputMode:`numeric`,"aria-label":n,placeholder:i(`clients.options.unset`),value:typeof o==`number`?String(o):``,onChange:t=>{let n=Number.parseInt(t.target.value.replace(/\D/g,``),10);a(e.key,Number.isFinite(n)?n:void 0)}}),e.type===`enum`&&(0,$.jsx)(R,{ariaLabel:n,value:typeof o==`string`?o:`default`,onChange:t=>a(e.key,t),options:(e.choices??[]).map(e=>({value:e,label:i(`clients.optionChoice.${e}`)})),className:`w-36`})]},e.key)})})}function ri(e,t){let n=e?.options,r={};if(!n||typeof n!=`object`)return r;for(let e of t??[]){let t=n[e.key];e.type===`bool`&&t===!0?r[e.key]=!0:(e.type===`int`&&typeof t==`number`&&t>0||e.type===`enum`&&typeof t==`string`&&t!=="default"&&e.choices?.includes(t))&&(r[e.key]=t)}return r}var ii=e=>Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`
|
|
6
|
-
`),ai=[`ANTHROPIC_MODEL`,`ANTHROPIC_DEFAULT_OPUS_MODEL`,`ANTHROPIC_DEFAULT_SONNET_MODEL`,`ANTHROPIC_DEFAULT_HAIKU_MODEL`];function oi(e){let t=e?.models,n={};if(!t||typeof t!=`object`)return n;for(let e of ai){let r=t[e];typeof r==`string`&&r.trim()&&(n[e]=r.trim())}return n}var si=e=>ai.map(t=>e[t]??``).join(`
|
|
7
|
-
`),ci=[`sonnet`,`opus`,`haiku`];function li(e){let t=e?.roleMap,n={};if(!t||typeof t!=`object`)return n;for(let e of ci){let r=t[e];typeof r==`string`&&r.trim()&&(n[e]=r.trim())}return n}var ui=e=>ci.map(t=>e[t]??``).join(`
|
|
8
|
-
`);function di(){let{t:e}=b(),n=le(),{toast:r}=re(),i=pe(),o=p(),s=t(),c=(0,J.useMemo)(()=>new Map((o.data??[]).map(e=>[e.kind,e])),[o.data]),l=pi(o.data).includes(i.kind)?i.kind:`codex`,u=c.get(l);return(0,J.useEffect)(()=>s.mutate(!1),[]),(0,$.jsx)(G,{title:e(`nav.clients`),subtitle:e(`clients.subtitle`),actions:(0,$.jsx)(a,{icon:(0,$.jsx)(ge,{className:`size-3.5`}),loading:s.isPending,onClick:()=>s.mutate(!0,{onSuccess:t=>{let n=t.filter(e=>e.install?.updateAvailable&&e.install.blocker!==`shadowed`).length;r(n>0?e(`clients.updatesFound`,{count:n}):e(`clients.allUpToDate`),n>0?void 0:`success`)},onError:e=>r(D(e),`error`)}),children:e(`clients.checkUpdates`)}),children:(0,$.jsx)(`div`,{className:`@container mx-auto max-w-[1200px]`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 @3xl:flex-row @3xl:items-start @3xl:gap-5`,children:[(0,$.jsx)(_i,{clients:o.data,loading:o.isLoading,selected:l,onSelect:e=>n(`/clients/${e}`,{replace:!0})}),(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-[760px] min-w-0 flex-1`,children:[o.isLoading&&(0,$.jsx)(T,{lines:4}),o.isError&&(0,$.jsx)(m,{tone:`danger`,title:e(`common.error`),children:D(o.error)}),u&&(0,$.jsx)(xi,{client:u})]})]})})})}var fi=new Set([`opencode`,`pi`,`minimax-code`,`copilot-cli`,`vscode-copilot`,`crush`,`qwen-code`,`droid`,`kimi-code`,`zed`,`vscode-insiders`,`vscodium`,`omp`,`mimo-code`,`deepseek-harness`,`workbuddy`,`nextcowork`,`muse-code`,`codex`]);function pi(e){let t=(e??[]).filter(e=>!_e.includes(e.kind)).sort((e,t)=>e.name.localeCompare(t.name));return[..._e,...t.map(e=>e.kind)]}var mi=[`installed`,`notInstalled`,`comingSoon`];function hi(e){return e.availability===`coming_soon`?`comingSoon`:e.detection.installed||e.enabled||e.install?.installed?`installed`:`notInstalled`}function gi(e){return e.install?.version??e.detection.version??null}function _i({clients:e,loading:t,selected:n,onSelect:r}){let{t:i}=b(),a=new Map((e??[]).map(e=>[e.kind,e])),o=mi.map(t=>({group:t,items:pi(e).flatMap(e=>{let n=a.get(e);return n&&hi(n)===t?[n]:[]})})).filter(e=>e.items.length>0);return(0,$.jsxs)(`nav`,{"aria-label":i(`nav.clients`),className:`card shrink-0 p-1.5 @3xl:sticky @3xl:top-0 @3xl:w-[232px]`,children:[t&&(0,$.jsx)(T,{lines:6,className:`p-2`}),(0,$.jsx)(`div`,{className:`flex gap-1 overflow-x-auto @3xl:flex-col @3xl:gap-0 @3xl:overflow-visible`,children:o.map(({group:e,items:t})=>(0,$.jsxs)(`div`,{className:`contents @3xl:block`,children:[(0,$.jsxs)(`h3`,{className:`hidden px-2.5 pt-2 pb-1 text-[11px] font-medium text-[var(--text-muted)] @3xl:block`,children:[i(`clients.group.${e}`),` · `,t.length]}),t.map(e=>(0,$.jsx)(vi,{client:e,active:e.kind===n,onSelect:()=>r(e.kind)},e.kind))]},e))})]})}function vi({client:e,active:t,onSelect:n}){let{t:i}=b(),a=hi(e)!==`installed`,o=gi(e),s=e.install?.blocker===`shadowed`,c=e.install?.updateAvailable&&!s?e.install.latestVersion:null;return(0,$.jsxs)(`button`,{type:`button`,"aria-label":ve(e.kind,e.name),"aria-current":t?`page`:void 0,onClick:n,className:r(`flex shrink-0 items-center gap-2.5 rounded-[var(--radius-control)] px-2.5 py-1.5 text-left transition-colors @3xl:w-full`,t?`bg-[var(--accent-subtle)]`:`hover:bg-[var(--surface-muted)]`),children:[(0,$.jsx)(`span`,{className:r(`inline-flex`,a&&!t&&`opacity-60`),children:(0,$.jsx)(be,{kind:e.kind,size:24})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:r(`block truncate text-[13px] whitespace-nowrap`,t&&`font-medium`),children:ve(e.kind,e.name)}),o&&(0,$.jsxs)(`span`,{className:`hidden truncate text-[11px] text-[var(--text-secondary)] @3xl:block`,children:[o,c&&(0,$.jsxs)(`span`,{className:`text-[var(--warning)]`,children:[` → `,c]})]})]}),e.install?.busy&&(0,$.jsx)(yi,{}),c&&!e.install?.busy&&(0,$.jsx)(h,{tone:`orange`,title:i(`clients.updateTo`,{version:c}),children:i(`clients.updateBadge`)}),s&&!e.install?.busy&&(0,$.jsx)(h,{tone:`orange`,title:i(`clients.shadowed.title`,{version:e.install?.latestVersion??``}),children:i(`clients.shadowedBadge`)}),e.status===`drifted`?(0,$.jsx)(`span`,{title:i(`clients.drifted`),"aria-label":i(`clients.drifted`),className:`inline-flex`,children:(0,$.jsx)(_,{tone:`orange`})}):e.enabled?(0,$.jsx)(V,{className:`size-3.5 shrink-0 text-[var(--success)]`,strokeWidth:2.5,"aria-label":i(`clients.enabled`)}):null]})}function yi(){return(0,$.jsx)(xe,{className:`size-3.5 shrink-0 animate-spin text-[var(--text-secondary)] motion-reduce:animate-none`,"aria-hidden":!0})}function bi(e,t){return e.availability===`coming_soon`?(0,$.jsx)(h,{children:t(`clients.comingSoon`)}):e.status===`drifted`?(0,$.jsx)(h,{tone:`orange`,children:t(`clients.drifted`)}):e.enabled?(0,$.jsx)(h,{tone:`green`,children:t(`clients.enabled`)}):(0,$.jsx)(h,{children:t(`clients.disabled`)})}function xi({client:t}){let{t:n,locale:r}=b(),i=le(),{toast:o,confirm:l}=re(),d=E(),f=ie(),p=te(),g=ne(),_=e(),v=c(t.kind,!!t.providerId),[x,C]=(0,J.useState)(t.selectedModel??null),[w,k]=(0,J.useState)(t.accountId??``),A=t.tokenId??`default`,[j,M]=(0,J.useState)(A),N=(_.data??[]).filter(e=>e.enabled||e.id===A).map(e=>({value:e.id,label:e.enabled?e.name:n(`clients.tokenDisabled`,{name:e.name}),disabled:!e.enabled})),[ee,P]=(0,J.useState)(!1),[F,I]=(0,J.useState)(!1),[z,ae]=(0,J.useState)(null),V=t.availability===`coming_soon`,oe=ve(t.kind,t.name),H=(d.data??[]).filter(e=>e.enabled),U=t.detection.configPaths[0],ce=H.find(e=>e.id===t.providerId),de=ce?.authScheme===`oauth-subscription`||ce?.authScheme===`plugin`,fe=L(ce?.id,de),W=t.kind===`claude-desktop`,G=t.kind===`claude-code`,pe=u(G),K=G&&pe.data?.mode===`direct`,q=li(t.extras),[he,ge]=(0,J.useState)(q),_e=ci.some(e=>he[e]),ye=ui(he)!==ui(q),xe=oi(t.extras),[Se,we]=(0,J.useState)(xe),Te=(x??null)!==(t.selectedModel??null)||si(Se)!==si(xe),Ee=G?ai.filter(e=>e!==`ANTHROPIC_MODEL`):[],De=G?t.enabled?n(`clients.modelSlotsFooterEnabled`):n(`clients.modelSlotsFooter`):t.enabled?n(`clients.modelFooterEnabled`):n(`clients.modelFooter`),Oe=t.options??[],ke=ri(t.extras,Oe),[Ae,je]=(0,J.useState)(ke),Me=ii(Ae)!==ii(ke),Ne=W?{...t.extras,roleMap:he}:G?{...t.extras,models:Se,options:Ae}:Oe.length>0?{...t.extras,options:Ae}:void 0;(0,J.useEffect)(()=>C(t.selectedModel??null),[t.kind,t.selectedModel]),(0,J.useEffect)(()=>k(t.accountId??``),[t.kind,t.providerId,t.accountId]),(0,J.useEffect)(()=>M(A),[t.kind,A]),(0,J.useEffect)(()=>ge(li(t.extras)),[t.kind,ui(q)]),(0,J.useEffect)(()=>we(oi(t.extras)),[t.kind,si(xe)]),(0,J.useEffect)(()=>je(ri(t.extras,t.options)),[t.kind,ii(ke)]);let Pe=()=>{t.providerId&&f.mutate({kind:t.kind,providerId:t.providerId,accountId:w},{onSuccess:()=>o(n(`common.saved`),`success`),onError:e=>o(D(e),`error`)})},Y=async()=>{await l({title:n(`clients.disableConfirm`,{name:oe}),detail:n(`clients.disableDetail`),confirmLabel:n(`clients.disable`)})&&p.mutate(t.kind,{onSuccess:async e=>{if(e.drifted.length===0){o(n(`clients.disabledToast`,{name:oe}),`success`);return}await l({title:n(`clients.driftTitle`),detail:n(`clients.driftDetail`,{keys:e.drifted.join(`, `)}),confirmLabel:n(`clients.forceRestore`),destructive:!0})&&g.mutate(t.kind,{onSuccess:()=>o(n(`clients.disabledToast`,{name:oe}),`success`),onError:e=>o(D(e),`error`)})},onError:e=>o(D(e),`error`)})},Fe=async()=>{U&&(y.canOpenPaths?await y.openPath(se(U)):await y.copy(U)&&o(n(`common.copied`)))};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{children:[(0,$.jsxs)(s,{icon:(0,$.jsx)(be,{kind:t.kind,size:36}),label:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-[15px] font-medium`,children:oe}),K?(0,$.jsx)(h,{children:n(`clients.claudeDirect.direct`)}):bi(t,n)]}),detail:V?t.availabilityReason??n(`clients.comingSoonDetail`):[hi(t)===`installed`?n(`clients.detected`,{version:gi(t)??``}):n(`clients.notDetected`),K?null:U].filter(Boolean).join(` · `),className:`py-3`,children:[!V&&(0,$.jsx)(Ti,{client:t,onOpen:ae}),K?(0,$.jsx)(a,{variant:`primary`,onClick:()=>document.getElementById(Di)?.scrollIntoView({behavior:`smooth`,block:`start`}),children:n(`clients.claudeDirect.configure`)}):t.enabled?(0,$.jsx)(a,{onClick:()=>void Y(),loading:p.isPending,children:n(`clients.disableRestore`)}):(0,$.jsx)(a,{variant:`primary`,disabled:V||!t.providerId||W&&!_e,onClick:()=>P(!0),title:t.providerId?W&&!_e?n(`clients.roleMapRequired`):void 0:n(`clients.pickProviderFirst`),children:n(`clients.enable`)})]}),!K&&t.appliedAt&&(0,$.jsx)(s,{label:(0,$.jsx)(`span`,{className:`text-[12px] text-[var(--text-secondary)]`,children:n(`clients.appliedAt`,{time:O(t.appliedAt,r)})})})]}),!K&&t.warnings.length>0&&(0,$.jsx)(`div`,{className:`mb-5 flex flex-col gap-2`,children:t.warnings.map((e,t)=>(0,$.jsx)(m,{tone:`warning`,title:e},t))}),!K&&(0,$.jsx)(Ci,{client:t,providers:d.data??[],loading:d.isLoading,soon:V}),!K&&de&&(0,$.jsx)(S,{title:n(`clients.accountTitle`),footer:n(`clients.accountFooter`),children:fe.isLoading?(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(T,{lines:2})}):(0,$.jsxs)(s,{label:n(`clients.account`),children:[(0,$.jsx)(R,{className:`max-w-[300px]`,ariaLabel:n(`clients.account`),value:w,onChange:k,options:[{value:``,label:n(`clients.accountDefault`)},...(fe.data??[]).map(e=>({value:e.id,label:(e.displayName||e.id)+(e.status===`active`?``:` · ${n(`providers.subscription.status.${e.status}`)}`)}))]}),w!==(t.accountId??``)&&(0,$.jsx)(a,{size:`sm`,variant:`primary`,loading:f.isPending,onClick:Pe,children:n(`common.apply`)})]})}),!V&&!K&&(0,$.jsxs)(S,{title:n(`clients.tokenTitle`),footer:t.enabled?n(`clients.tokenFooterEnabled`):n(`clients.tokenFooter`),children:[(0,$.jsxs)(s,{label:n(`clients.token`),children:[(0,$.jsx)(R,{className:`max-w-[300px]`,ariaLabel:n(`clients.token`),value:j,onChange:M,options:N}),t.enabled&&j!==A&&(0,$.jsx)(a,{size:`sm`,variant:`primary`,onClick:()=>P(!0),children:n(`common.apply`)})]}),(0,$.jsx)(s,{icon:(0,$.jsx)(ue,{className:`size-4 text-[var(--text-secondary)]`}),label:n(`clients.manageTokens`),onClick:()=>i(`/tokens`)})]}),!V&&!K&&t.providerId&&W&&(0,$.jsxs)(S,{title:n(`clients.roleMapTitle`),footer:t.enabled?n(`clients.roleMapFooterEnabled`):n(`clients.roleMapFooter`),children:[ci.map(e=>(0,$.jsx)(s,{label:n(`clients.role.${e}`),children:(0,$.jsx)(R,{ariaLabel:n(`clients.role.${e}`),value:he[e]??``,onChange:t=>ge(n=>({...n,[e]:t||void 0})),placeholder:n(`clients.modelPlaceholder`),options:[{value:``,label:n(`clients.modelUnset`)},...(v.data??[]).map(e=>({value:e,label:e}))],className:`max-w-[300px]`})},e)),t.enabled&&ye&&(0,$.jsx)(s,{label:_e?``:(0,$.jsx)(`span`,{className:`text-[12px] text-[var(--warning)]`,children:n(`clients.roleMapRequired`)}),children:(0,$.jsx)(a,{size:`sm`,variant:`primary`,disabled:!_e,onClick:()=>P(!0),children:n(`common.apply`)})})]}),!V&&!K&&t.providerId&&!W&&(0,$.jsxs)(S,{title:n(`clients.modelTitle`),footer:De,children:[(0,$.jsx)(s,{label:n(`clients.defaultModel`),children:(0,$.jsx)(R,{value:x??``,onChange:e=>C(e||null),placeholder:n(`clients.modelPlaceholder`),options:[{value:``,label:n(`clients.modelUnset`)},...(v.data??[]).map(e=>({value:e,label:e}))],className:`max-w-[300px]`})}),Ee.map(e=>(0,$.jsx)(s,{label:n(`clients.modelSlot.${e}`),children:(0,$.jsx)(R,{ariaLabel:n(`clients.modelSlot.${e}`),value:Se[e]??``,onChange:t=>we(n=>({...n,[e]:t||void 0})),placeholder:n(`clients.modelPlaceholder`),options:[{value:``,label:n(`clients.modelUnset`)},...(v.data??[]).map(e=>({value:e,label:e}))],className:`max-w-[300px]`})},e)),t.enabled&&(G?Te:(x??null)!==(t.selectedModel??null))&&(0,$.jsx)(s,{label:``,children:(0,$.jsx)(a,{size:`sm`,variant:`primary`,onClick:()=>P(!0),children:n(`common.apply`)})})]}),!V&&!K&&Oe.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ni,{descriptors:Oe,values:Ae,onChange:je,enabled:t.enabled}),t.enabled&&Me&&(0,$.jsx)(`div`,{className:`-mt-3 mb-5 flex justify-end`,children:(0,$.jsx)(a,{size:`sm`,variant:`primary`,onClick:()=>P(!0),children:n(`common.apply`)})})]}),!V&&t.install&&(0,$.jsx)(Oi,{client:t,onShowLog:()=>ae(`log`)}),G&&(0,$.jsx)(`div`,{id:Di,children:(0,$.jsx)($r,{enabled:G,gatewayEnabled:t.enabled})}),!V&&!K&&(0,$.jsxs)(S,{title:n(`clients.maintenance`),children:[U&&(0,$.jsx)(s,{icon:y.canOpenPaths?(0,$.jsx)(me,{className:`size-4 text-[var(--text-secondary)]`}):(0,$.jsx)(B,{className:`size-4 text-[var(--text-secondary)]`}),label:y.canOpenPaths?n(`clients.openConfigDir`):n(`clients.copyConfigPath`),detail:U,onClick:()=>void Fe()}),(0,$.jsx)(s,{icon:(0,$.jsx)(Ce,{className:`size-4 text-[var(--text-secondary)]`}),label:n(`clients.backups`),detail:n(`clients.backupsDetail`),onClick:()=>I(!0)})]}),(0,$.jsx)(Ai,{open:ee,onOpenChange:P,client:t,model:x,extras:Ne,tokenId:j}),(0,$.jsx)(Ni,{open:F,onOpenChange:I,client:t}),(0,$.jsx)(ki,{mode:z,onClose:()=>ae(null),client:t})]})}function Si(e,t){return[e.priceKey??e.templateId,t(`providers.modelCount`,{count:e.modelCount}),e.priceMultiplier===1?null:`×${e.priceMultiplier}`].filter(Boolean).join(` · `)}function Ci({client:e,providers:t,loading:n,soon:r}){let{t:i}=b(),{toast:o}=re(),c=F(),l=(0,J.useMemo)(()=>e.bindings??(e.providerId?[{providerId:e.providerId,accountId:e.accountId}]:[]),[e.bindings,e.providerId,e.accountId]),[u,d]=(0,J.useState)(l);(0,J.useEffect)(()=>d(l),[l]);let f=(0,J.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]),p=u.flatMap(e=>{let t=f.get(e.providerId);return t?[{binding:e,provider:t}]:[]}),m=t.filter(e=>e.enabled&&!u.some(t=>t.providerId===e.id)),h=gt(ht(_n,{activationConstraint:{distance:4}}),ht(fn,{coordinateGetter:Kr})),g=r||c.isPending,_=(t,n)=>{let r=u;d(t),c.mutate({kind:e.kind,bindings:t},{onSuccess:()=>o(fi.has(e.kind)&&e.enabled?i(`clients.providersModelsSynced`,{client:ve(e.kind,e.name)}):n),onError:e=>{d(r),o(D(e),`error`)}})},v=({active:e,over:t})=>{if(!t||e.id===t.id)return;let n=u.findIndex(t=>t.providerId===e.id),r=u.findIndex(e=>e.providerId===t.id);n<0||r<0||_(Cr(u,n,r),i(`clients.providerOrderSaved`))},y=e=>_([...u,{providerId:e.id}],i(`clients.providerAdded`,{provider:e.name})),x=e=>_(u.filter(t=>t.providerId!==e.id),i(`clients.providerRemoved`,{provider:e.name})),C=m.map(e=>(0,$.jsx)(s,{icon:(0,$.jsx)(ye,{name:e.name,icon:e.icon,colorKey:e.templateId,size:24}),label:e.name,detail:Si(e,i),onClick:g?void 0:()=>y(e),children:!r&&(0,$.jsx)(W,{className:`size-4 text-[var(--text-secondary)]`,"aria-label":i(`common.add`)})},e.id));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(S,{title:i(`clients.providerTitle`),footer:i(`clients.providerFooter`),children:[n&&(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(T,{lines:2})}),!n&&p.length===0&&m.length===0&&(0,$.jsx)(H,{title:i(`clients.noProviders`),detail:i(`clients.noProvidersDetail`),action:(0,$.jsx)(de,{to:`/providers?new=1`,children:(0,$.jsx)(a,{variant:`primary`,icon:(0,$.jsx)(W,{className:`size-3.5`}),children:i(`providers.add`)})})}),p.length>0&&(0,$.jsx)(mr,{sensors:h,collisionDetection:wt,onDragEnd:v,children:(0,$.jsx)(Pr,{items:p.map(e=>e.provider.id),strategy:Ar,children:p.map(({provider:e},t)=>(0,$.jsx)(wi,{provider:e,primary:t===0,disabled:g,onRemove:p.length>1?()=>x(e):void 0},e.id))})}),!n&&p.length===0&&C]}),p.length>0&&m.length>0&&(0,$.jsx)(S,{title:i(`clients.moreProvidersTitle`),children:C})]})}function wi({provider:e,primary:t,disabled:n,onRemove:i}){let{t:o}=b(),{attributes:c,listeners:l,setNodeRef:u,setActivatorNodeRef:d,transform:f,transition:p,isDragging:m}=Hr({id:e.id,disabled:n});return(0,$.jsx)(`div`,{ref:u,style:{transform:tt.Transform.toString(f),transition:p},className:r(m&&`relative z-10 bg-[var(--surface)] shadow-lg`),children:(0,$.jsx)(s,{icon:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`button`,{ref:d,type:`button`,"aria-label":o(`clients.dragToReorder`,{provider:e.name}),title:o(`clients.dragToReorder`,{provider:e.name}),className:`-ml-1 inline-flex cursor-grab touch-none text-[var(--text-muted)] hover:text-[var(--text-secondary)] active:cursor-grabbing disabled:cursor-default disabled:opacity-50`,...c,...l,children:(0,$.jsx)(De,{className:`size-4`})}),(0,$.jsx)(ye,{name:e.name,icon:e.icon,colorKey:e.templateId,size:24})]}),label:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.name}),t&&(0,$.jsx)(h,{tone:`accent`,children:o(`clients.primaryProvider`)}),!e.enabled&&(0,$.jsx)(h,{tone:`orange`,children:o(`clients.providerDisabledBadge`)})]}),detail:Si(e,o),children:i&&(0,$.jsx)(a,{size:`sm`,variant:`plain`,icon:(0,$.jsx)(z,{className:`size-3.5`}),"aria-label":o(`clients.removeProvider`,{provider:e.name}),title:o(`clients.removeProvider`,{provider:e.name}),disabled:n,onClick:i})})})}function Ti({client:e,onOpen:t}){let{t:n}=b(),r=e.install;if(!r)return null;let i=r.needsAdmin?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[11px] text-[var(--warning)]`,children:[(0,$.jsx)(ke,{className:`size-3`,"aria-hidden":!0}),n(`clients.admin.badge`)]}):null,o=r.needsAdmin?n(r.adminAvailable?`clients.admin.tip`:`clients.admin.tipManual`):void 0;return r.busy?(0,$.jsx)(a,{icon:(0,$.jsx)(yi,{}),onClick:()=>t(`log`),children:n(`clients.installRunning`)}):r.updateAvailable&&r.updateCommand&&r.latestVersion?(0,$.jsxs)(a,{icon:(0,$.jsx)(Te,{className:`size-3.5`}),title:o,onClick:()=>t(`update`),children:[n(`clients.updateTo`,{version:r.latestVersion}),i]}):r.updateAvailable&&r.blocker===`shadowed`?(0,$.jsx)(a,{icon:(0,$.jsx)(ke,{className:`size-3.5`}),onClick:()=>document.getElementById(Ei)?.scrollIntoView({behavior:`smooth`,block:`center`}),children:n(`clients.shadowedBadge`)}):!r.installed&&r.installCommand?(0,$.jsxs)(a,{icon:(0,$.jsx)(K,{className:`size-3.5`}),title:o,onClick:()=>t(`install`),children:[n(`clients.install`),i]}):!r.installed&&r.method===`manual`?(0,$.jsx)(a,{icon:(0,$.jsx)(q,{className:`size-3.5`}),onClick:()=>window.open(r.homepageUrl,`_blank`,`noreferrer`),children:n(`clients.download`)}):null}var Ei=`client-shadowed-alert`,Di=`claude-direct-panel`;function Oi({client:e,onShowLog:t}){let{t:n,locale:i}=b(),o=e.install,c=C(e.kind),l=(e,t=!1)=>(0,$.jsx)(`span`,{className:r(`text-[13px] tabular-nums selectable`,t&&`text-[var(--text-secondary)]`),children:e}),u=o.blocker===`external-install`?n(`clients.blocker.external-install`,{path:o.executable??``}):o.blocker?n(`clients.blocker.${o.blocker}`):void 0,d=o.otherCopies??[],f=d.find(e=>e.newer);return(0,$.jsxs)($.Fragment,{children:[f&&(0,$.jsx)(`div`,{id:Ei,className:`mb-3`,children:(0,$.jsx)(m,{tone:`warning`,title:n(`clients.shadowed.title`,{version:f.version}),children:n(`clients.shadowed.detail`,{path:o.executable??``,version:o.version??``,other:f.path,dir:se(f.path)})})}),!f&&o.notOnPath&&o.executable&&(0,$.jsx)(`div`,{className:`mb-3`,children:(0,$.jsx)(m,{tone:`warning`,title:n(`clients.notOnPath.title`),children:n(`clients.notOnPath.detail`,{dir:se(o.executable)})})}),(0,$.jsxs)(S,{title:n(`clients.versionTitle`),footer:u,children:[(0,$.jsx)(s,{label:n(`clients.currentVersion`),detail:o.installed?o.executable:void 0,children:o.installed?l(o.version??n(`clients.versionUnknown`),!o.version):l(n(`clients.notInstalled`),!0)}),d.map(e=>(0,$.jsxs)(s,{label:n(`clients.otherCopy`),detail:e.path,children:[e.newer&&(0,$.jsx)(h,{tone:`orange`,children:n(`clients.otherCopyNewer`)}),l(e.version,!e.newer)]},e.path)),(o.method===`npm`||o.method===`script`)&&(0,$.jsxs)(s,{label:n(`clients.latestVersion`),detail:o.latestError??(o.latestCheckedAt?n(`clients.checkedAt`,{time:O(o.latestCheckedAt,i)}):void 0),children:[o.updateAvailable&&(0,$.jsx)(h,{tone:`orange`,children:n(`clients.updateBadge`)}),l(o.latestVersion??n(`clients.latestUnknown`),!o.latestVersion)]}),(0,$.jsx)(s,{label:n(`clients.installMethod`),detail:n(`clients.method.${o.method}`,{package:o.package??``}),children:(0,$.jsx)(a,{size:`sm`,variant:`plain`,icon:(0,$.jsx)(q,{className:`size-3`}),onClick:()=>window.open(o.homepageUrl,`_blank`,`noreferrer`),children:n(`clients.homepage`)})}),c.data&&(0,$.jsx)(s,{icon:(0,$.jsx)(fe,{className:`size-4 text-[var(--text-secondary)]`}),label:n(`clients.installLog`),detail:`${c.data.command} · ${n(`clients.job.${c.data.state}`)}`,onClick:t})]})]})}function ki({mode:e,onClose:t,client:n}){let{t:o}=b(),{toast:s}=re(),c=g(),l=e!==null,u=C(n.kind,l||!!n.install?.busy),d=oe(),f=ce(),[p,h]=(0,J.useState)(!1),_=(0,J.useRef)(null),v=(0,J.useRef)(void 0),x=ve(n.kind,n.name),S=n.install,w=e===`install`||e===`update`?e:null,E=w===`install`?S?.installCommand:w===`update`?S?.updateCommand:null,O=u.data,k=w!==null&&!p&&O?.state!==`running`,A=!!S?.needsAdmin,j=!!S?.adminAvailable,M=O?.state===`failed`&&O.hint===`permission-denied`&&!O.elevated&&j;(0,J.useEffect)(()=>{l&&h(!1)},[l,e]),(0,J.useEffect)(()=>{let e=O?.state;v.current===`running`&&e&&e!==`running`&&(c.invalidateQueries({queryKey:i.clients}),e===`succeeded`&&O.hint?s(o(`clients.notEffectiveToast`,{name:x})):e===`succeeded`&&s(o(O.action===`install`?`clients.installedToast`:`clients.updatedToast`,{name:x}),`success`)),v.current=e},[O?.state,O?.action,O?.hint,x,c,o,s]),(0,J.useEffect)(()=>{let e=_.current;e&&(e.scrollTop=e.scrollHeight)},[O?.log.length]);let N=(e,t)=>d.mutate({kind:n.kind,action:e,elevated:t},{onSuccess:()=>h(!0),onError:e=>s(D(e),`error`)}),te=async e=>{await y.copy(e)&&s(o(`common.copied`))},P=o((w??O?.action)===`update`?`clients.updateTitle`:`clients.installTitle`,{name:x}),ne={running:`info`,succeeded:`success`,failed:`danger`,cancelled:`warning`},F=`rounded-[var(--radius-control)] border border-[var(--border)] bg-[var(--surface-muted)] px-3 py-2 font-mono text-[12px] break-all whitespace-pre-wrap selectable`,I=S?.adminFixCommand?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`p`,{className:`text-[11px] text-[var(--text-secondary)]`,children:o(`clients.admin.fixTip`)}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`pre`,{className:r(F,`min-w-0 flex-1`),children:S.adminFixCommand}),(0,$.jsx)(a,{size:`sm`,icon:(0,$.jsx)(B,{className:`size-3`}),"aria-label":o(`common.copy`),onClick:()=>void te(S.adminFixCommand)})]})]}):null;return(0,$.jsx)(ee,{open:l,onOpenChange:e=>!e&&t(),width:620,title:P,description:k?o(`clients.installRunDetail`):void 0,footer:k?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(a,{onClick:t,children:o(`common.cancel`)}),A&&!j?(0,$.jsx)(a,{variant:`primary`,icon:(0,$.jsx)(B,{className:`size-3.5`}),disabled:!E,onClick:()=>void te(`sudo ${E}`),children:o(`clients.admin.copyCommand`)}):(0,$.jsx)(a,{variant:`primary`,icon:A?(0,$.jsx)(ke,{className:`size-3.5`}):void 0,disabled:!E,loading:d.isPending,onClick:()=>w&&N(w,A),children:o(A?`clients.admin.start`:`clients.installStart`)})]}):O?.state===`running`?(0,$.jsxs)($.Fragment,{children:[!O.elevated&&(0,$.jsx)(a,{variant:`destructive`,loading:f.isPending,onClick:()=>f.mutate(n.kind,{onError:e=>s(D(e),`error`)}),children:o(`clients.installStop`)}),(0,$.jsx)(a,{onClick:t,children:o(`common.close`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(a,{onClick:t,children:o(`common.done`)}),M&&(0,$.jsx)(a,{variant:`primary`,icon:(0,$.jsx)(ke,{className:`size-3.5`}),loading:d.isPending,onClick:()=>N(O.action,!0),children:o(`clients.admin.retry`)})]}),children:k?(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[A&&(0,$.jsx)(m,{tone:`warning`,title:o(`clients.admin.title`),children:o(j?`clients.admin.prompt`:`clients.admin.manual`)}),E?(0,$.jsx)(`pre`,{className:F,children:A?`sudo ${E}`:E}):(0,$.jsx)(m,{tone:`warning`,title:o(`clients.installUnavailable`)}),S?.method===`npm`&&(0,$.jsx)(`p`,{className:`text-[11px] text-[var(--text-muted)]`,children:o(`clients.installNpmNote`)}),A&&I]}):O?(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(m,{tone:O.state===`succeeded`&&O.hint?`warning`:ne[O.state],title:o(O.state===`succeeded`&&O.hint?`clients.job.notEffective`:`clients.job.${O.state}`),children:O.state===`running`&&O.elevated?o(`clients.admin.running`):O.hint?o(`clients.hint.${O.hint}`)+(M?o(`clients.admin.retryHint`):``):void 0}),(0,$.jsx)(`pre`,{ref:_,className:`scroll max-h-[340px] min-h-[160px] rounded-[var(--radius-control)] border border-[var(--border)] bg-[var(--surface-muted)] px-3 py-2 font-mono text-[11px] leading-relaxed break-all whitespace-pre-wrap selectable`,children:O.log.join(`
|
|
9
|
-
`)}),O.hint===`permission-denied`&&I]}):u.isLoading?(0,$.jsx)(T,{lines:4}):(0,$.jsx)(H,{icon:(0,$.jsx)(fe,{className:`size-6`}),title:o(`clients.noInstallLog`)})})}function Ai({open:e,onOpenChange:t,client:r,model:i,extras:o,tokenId:s}){let{t:c}=b(),{toast:l}=re(),u=n(),d=I(),f=ve(r.kind,r.name),p=o?{providerId:r.providerId,model:i,extras:o,tokenId:s}:{providerId:r.providerId,model:i,tokenId:s};return(0,J.useEffect)(()=>{e&&u.mutate({kind:r.kind,req:p})},[e]),(0,$.jsxs)(ee,{open:e,onOpenChange:t,width:620,title:c(`clients.enableTitle`,{name:f}),description:c(`clients.enableDetail`),footer:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(a,{onClick:()=>t(!1),children:c(`common.cancel`)}),(0,$.jsx)(a,{variant:`primary`,disabled:!u.data,loading:d.isPending,onClick:()=>d.mutate({kind:r.kind,req:p},{onSuccess:e=>{t(!1),l(e.requiresRestart?c(`clients.enabledRestart`,{name:f}):c(`clients.enabledToast`,{name:f}),`success`)},onError:e=>l(D(e),`error`)}),children:r.enabled?c(`common.apply`):c(`clients.enable`)})]}),children:[u.isPending&&(0,$.jsx)(T,{lines:4}),u.isError&&(0,$.jsx)(m,{tone:`danger`,title:c(`common.error`),children:D(u.error)}),u.data&&(0,$.jsx)(ji,{preview:u.data})]})}function ji({preview:e}){let{t}=b();return(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.warnings.map((e,t)=>(0,$.jsx)(m,{tone:`warning`,title:e},t)),e.changes.length===0&&(0,$.jsx)(m,{tone:`info`,title:t(`clients.noChanges`)}),e.diffs.map(e=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mb-2 font-mono text-[11px] text-[var(--text-secondary)]`,children:e.file}),(0,$.jsx)(Mi,{diff:e.unifiedDiff})]},e.file))]})}function Mi({diff:e}){return(0,$.jsx)(`pre`,{className:`scroll max-h-[300px] rounded-[var(--radius-control)] border border-[var(--border)] bg-[var(--surface-muted)] py-2 font-mono text-[11px] leading-relaxed selectable`,children:e.split(`
|
|
10
|
-
`).map((e,t)=>(0,$.jsx)(`div`,{className:r(`px-3 whitespace-pre-wrap break-all`,e.startsWith(`+`)&&!e.startsWith(`+++`)&&`bg-[color-mix(in_oklab,var(--success)_12%,transparent)] text-[var(--success)]`,e.startsWith(`-`)&&!e.startsWith(`---`)&&`bg-[color-mix(in_oklab,var(--danger)_10%,transparent)] text-[var(--danger)]`,e.startsWith(`@@`)&&`text-[var(--text-muted)]`),children:e||` `},t))})}function Ni({open:e,onOpenChange:t,client:n}){let{t:r,locale:i}=b(),{toast:o,confirm:c}=re(),l=v(n.kind,e),u=P();return(0,$.jsxs)(ee,{open:e,onOpenChange:t,width:520,title:r(`clients.backups`),description:r(`clients.backupsDetail`),footer:(0,$.jsx)(a,{onClick:()=>t(!1),children:r(`common.done`)}),children:[l.isLoading&&(0,$.jsx)(T,{lines:3}),l.isError&&(0,$.jsx)(m,{tone:`danger`,title:r(`common.error`),children:D(l.error)}),l.data?.length===0&&(0,$.jsx)(H,{icon:(0,$.jsx)(Ce,{className:`size-6`}),title:r(`clients.noBackups`)}),(0,$.jsx)(`div`,{className:`card divide-y divide-[var(--border)]`,children:l.data?.map(e=>(0,$.jsx)(s,{label:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[O(e.createdAt,i),e.firstWrite&&(0,$.jsx)(h,{tone:`accent`,children:r(`clients.firstWrite`)})]}),detail:e.files.join(`, `),children:(0,$.jsx)(a,{size:`sm`,icon:(0,$.jsx)(he,{className:`size-3`}),loading:u.isPending&&u.variables?.id===e.id,onClick:async()=>{await c({title:r(`clients.restoreConfirm`),detail:e.files.join(`
|
|
11
|
-
`),destructive:!0,confirmLabel:r(`clients.restore`)})&&u.mutate({kind:n.kind,id:e.id},{onSuccess:()=>o(r(`clients.restored`),`success`),onError:e=>o(D(e),`error`)})},children:r(`clients.restore`)})},e.id))})]})}export{di as ClientsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$n as e,B as t,Cr as n,F as r,Fa as i,G as a,H as o,Hi as s,Ia as c,Mi as l,N as u,P as d,Qn as f,Tn as p,V as m,Vr as h,W as g,X as _,Y as v,a as y,an as b,i as x,o as S,q as C,r as w,si as ee,yn as T,za as E}from"./overlays-D1ZtG8Qn.js";import{b as D,g as O,s as k,t as A,x as j}from"./Page-CnSErb_N.js";import{n as M,t as N}from"./checkbox-RGYPqY5w.js";import{t as P}from"./pencil-DyidL-8l.js";import{t as te}from"./rotate-ccw-Dr0Xbikv.js";import{S as F,i as ne,o as I}from"./index-PfVyiY3J.js";import{t as L}from"./confirm-morph-DUNuG_Io.js";var R=E(c(),1),z=i(),B=[{key:`vision`,label:`cap.vision`},{key:`tools`,label:`cap.tools`},{key:`reasoning`,label:`cap.reasoning`},{key:`promptCache`,label:`cap.promptCache`},{key:`audio`,label:`cap.audio`},{key:`pdf`,label:`cap.pdf`},{key:`structuredOutput`,label:`cap.structuredOutput`}];function V(e){return{displayName:e.displayName,vendor:e.vendor,family:e.family??null,aliases:e.aliases,contextWindow:e.contextWindow??null,maxOutputTokens:e.maxOutputTokens??null,capabilities:e.capabilities,pricing:e.pricing??null,enabled:e.enabled}}function H(){let{t:e,locale:t}=p(),i=D(),{id:s=``}=j(),c=decodeURIComponent(s),h=n(c),x=l(c),w=ee(c),E=f(),{toast:k}=S(),P=(0,R.useMemo)(()=>h.data?V(h.data):null,[h.data]),[F,L]=(0,R.useState)(P),[H,G]=(0,R.useState)(``);(0,R.useEffect)(()=>{L(P),G(P?.aliases?.join(`, `)??``)},[P]);let q=(0,z.jsx)(r,{variant:`glass`,icon:(0,z.jsx)(M,{className:`size-4`}),"aria-label":e(`common.back`),onClick:()=>i(`/models`)});if(h.isError)return(0,z.jsx)(A,{title:e(`nav.models`),leading:q,children:(0,z.jsx)(u,{tone:`danger`,title:e(`common.error`),children:y(h.error)})});let J=h.data;if(!J||!F)return(0,z.jsx)(A,{title:``,leading:q,children:(0,z.jsx)(v,{lines:5,className:`mx-auto max-w-[1100px]`})});let Y=e=>L(t=>({...t,...e})),X={...F,aliases:H.split(/[,\n]/).map(e=>e.trim()).filter(Boolean)},Z=JSON.stringify(X)!==JSON.stringify(P),re=new Set(J.userModifiedFields),Q=J.source===`seed`,ie=()=>x.mutate(X,{onSuccess:()=>k(e(`common.saved`),`success`),onError:e=>k(y(e),`error`)}),$=t=>re.has(t)?(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,z.jsx)(d,{tone:`orange`,children:e(`models.modified`)}),Q&&(0,z.jsx)(r,{size:`sm`,variant:`plain`,icon:(0,z.jsx)(te,{className:`size-3`}),title:e(`models.resetField`),"aria-label":e(`models.resetField`),onClick:()=>w.mutate(t,{onSuccess:()=>k(e(`models.fieldReset`)),onError:e=>k(y(e),`error`)})})]}):null;return(0,z.jsx)(A,{title:J.displayName,subtitle:`${J.id} · ${e(`models.source.${J.source}`)} · ${e(`models.updated`,{time:b(J.updatedAt,t)})}`,leading:q,actions:(0,z.jsxs)(z.Fragment,{children:[J.source===`user`&&(0,z.jsx)(K,{label:e(`common.delete`),prompt:e(`models.deleteConfirm`,{id:J.id}),onConfirm:async()=>{await E.mutateAsync(J.id),i(`/models`)}}),Z&&(0,z.jsx)(r,{onClick:()=>{L(P),G(P?.aliases?.join(`, `)??``)},children:e(`common.revert`)}),(0,z.jsx)(r,{variant:`primary`,disabled:!Z,loading:x.isPending,onClick:ie,children:e(`common.save`)})]}),children:(0,z.jsxs)(`div`,{className:`mx-auto grid max-w-[1100px] gap-x-6 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(m,{title:e(`models.section.basic`),footer:Q?e(`models.modifiedFooter`):void 0,children:[(0,z.jsx)(U,{label:e(`models.field.displayName`),marker:$(`displayName`),children:(0,z.jsx)(o,{className:`w-60`,"aria-label":e(`models.field.displayName`),value:F.displayName,onChange:e=>Y({displayName:e.target.value})})}),(0,z.jsx)(U,{label:e(`models.field.vendor`),children:(0,z.jsx)(o,{className:`w-60`,"aria-label":e(`models.field.vendor`),value:F.vendor,onChange:e=>Y({vendor:e.target.value})})}),(0,z.jsx)(U,{label:e(`models.field.family`),marker:$(`family`),children:(0,z.jsx)(o,{className:`w-60`,"aria-label":e(`models.field.family`),value:F.family??``,onChange:e=>Y({family:e.target.value||null})})}),(0,z.jsx)(U,{label:e(`models.field.aliases`),marker:$(`aliases`),children:(0,z.jsx)(o,{className:`w-60 font-mono`,"aria-label":e(`models.field.aliases`),value:H,onChange:e=>G(e.target.value),placeholder:`a, b, c`})}),(0,z.jsx)(U,{label:e(`models.field.contextWindow`),marker:$(`contextWindow`),children:(0,z.jsx)(g,{className:`w-36`,label:e(`models.field.contextWindow`),value:F.contextWindow,onChange:e=>Y({contextWindow:e})})}),(0,z.jsx)(U,{label:e(`models.field.maxOutputTokens`),marker:$(`maxOutputTokens`),children:(0,z.jsx)(g,{className:`w-36`,label:e(`models.field.maxOutputTokens`),value:F.maxOutputTokens,onChange:e=>Y({maxOutputTokens:e})})}),(0,z.jsx)(U,{label:e(`common.enabled`),children:(0,z.jsx)(_,{checked:F.enabled??!0,label:e(`common.enabled`),onChange:e=>Y({enabled:e})})})]}),(0,z.jsx)(m,{title:(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e(`models.section.capabilities`),` `,$(`capabilities`)]}),children:(0,z.jsx)(`div`,{className:`grid grid-cols-2 gap-x-4 gap-y-3 px-4 py-4`,children:B.map(t=>(0,z.jsx)(N,{label:e(t.label),checked:!!F.capabilities?.[t.key],onCheckedChange:e=>Y({capabilities:{...F.capabilities,[t.key]:e===!0}})},t.key))})}),(0,z.jsx)(W,{model:J}),J.providerOverrides.length>0&&(0,z.jsx)(m,{title:e(`models.section.overrides`),footer:e(`models.overridesFooter`),children:J.providerOverrides.map(e=>(0,z.jsx)(a,{label:(0,z.jsx)(O,{className:`text-[var(--accent)]`,to:`/providers/${e.providerId}`,children:e.providerName}),detail:`${e.modelId} · ${T(e.pricing)}`},e.providerModelId))})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`section`,{className:`mb-5`,children:[(0,z.jsx)(C,{action:$(`pricing`),children:e(`models.section.pricing`)}),(0,z.jsx)(`p`,{className:`mb-3 px-1 text-[12px] text-[var(--text-secondary)]`,children:e(`models.pricingHint`)}),(0,z.jsx)(`div`,{className:`card p-4`,children:(0,z.jsx)(I,{value:F.pricing??null,onChange:e=>Y({pricing:e}),allowEmpty:!0})})]}),(0,z.jsxs)(`section`,{className:`mb-5`,children:[(0,z.jsx)(C,{children:e(`models.section.simulator`)}),(0,z.jsxs)(`div`,{className:`card p-4`,children:[(0,z.jsx)(ne,{modelId:Z?void 0:J.id,pricing:Z?X.pricing:null}),Z&&(0,z.jsx)(`p`,{className:`mt-3 text-[12px] text-[var(--text-muted)]`,children:e(`models.simulatorUnsaved`)})]})]})]})]})})}function U({label:e,marker:t,children:n}){return(0,z.jsx)(a,{label:(0,z.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[e,t]}),children:n})}function W({model:t}){let{t:n}=p(),i=e(t.id),[o,s]=(0,R.useState)(null);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(m,{title:(0,z.jsxs)(`span`,{className:`flex items-center justify-between`,children:[n(`models.section.providerPrices`),(0,z.jsx)(r,{size:`sm`,variant:`plain`,icon:(0,z.jsx)(k,{className:`size-3.5`}),onClick:()=>s(`new`),children:n(`common.add`)})]}),footer:n(`models.providerPricesFooter`),children:[t.providerPrices.length===0&&(0,z.jsx)(a,{label:(0,z.jsx)(`span`,{className:`text-[12px] text-[var(--text-muted)]`,children:n(`models.noProviderPrices`)})}),t.providerPrices.map(e=>(0,z.jsxs)(a,{label:(0,z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(`span`,{className:`font-mono text-[12.5px]`,children:e.priceKey}),e.userModified&&(0,z.jsx)(d,{tone:`orange`,children:n(`models.modified`)})]}),detail:[T(e.pricing),e.upstreamModelId,e.pricing.time_windows?.length?n(`models.hasTimeWindows`):null,e.pricing.context_tiers?.length?n(`models.hasTiers`):null].filter(Boolean).join(` · `),children:[(0,z.jsx)(r,{size:`sm`,variant:`plain`,icon:(0,z.jsx)(P,{className:`size-3.5`}),"aria-label":n(`common.edit`),onClick:()=>s(e)}),(0,z.jsx)(K,{label:n(`common.delete`),prompt:n(`models.deletePrice`,{key:e.priceKey}),onConfirm:()=>i.mutateAsync(e.priceKey)})]},e.priceKey))]}),(0,z.jsx)(G,{model:t,editing:o,onClose:()=>s(null)})]})}function G({model:e,editing:n,onClose:i}){let{t:a}=p(),{toast:c}=S(),l=h(),u=s(e.id),d=n===`new`,[f,m]=(0,R.useState)(``),[g,_]=(0,R.useState)(``),[v,b]=(0,R.useState)(null);(0,R.useEffect)(()=>{n&&(n===`new`?(m(``),_(``),b(e.pricing?structuredClone(e.pricing):{currency:`USD`,unit:`per_1m_tokens`,base:{input:null,output:null}})):(m(n.priceKey),_(n.upstreamModelId??``),b(structuredClone(n.pricing))))},[n,e.pricing]);let C=new Set(e.providerPrices.map(e=>e.priceKey));return(0,z.jsx)(x,{open:n!==null,onOpenChange:e=>!e&&i(),width:680,title:d?a(`models.addPrice`):a(`models.editPrice`,{key:f}),description:a(`models.priceSheetDetail`),footer:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(r,{onClick:i,children:a(`common.cancel`)}),(0,z.jsx)(r,{variant:`primary`,disabled:!f||!v,loading:u.isPending,onClick:()=>u.mutate({priceKey:f,upstreamModelId:g||null,pricing:v},{onSuccess:()=>{c(a(`common.saved`),`success`),i()},onError:e=>c(y(e),`error`)}),children:a(`common.save`)})]}),children:(0,z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,z.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,z.jsx)(t,{label:a(`providers.priceKey`),children:d?(0,z.jsx)(w,{value:f,onChange:m,placeholder:a(`models.pickPriceKey`),options:(l.data??[]).map(e=>({value:e.priceKey,label:e.label,detail:e.priceKey,disabled:C.has(e.priceKey)}))}):(0,z.jsx)(o,{value:f,disabled:!0,className:`font-mono`})}),(0,z.jsx)(t,{label:a(`models.upstreamId`),hint:a(`models.upstreamIdHint`),children:(0,z.jsx)(o,{className:`font-mono`,value:g,onChange:e=>_(e.target.value),placeholder:e.id})})]}),d&&(0,z.jsx)(o,{className:`font-mono`,"aria-label":a(`models.customPriceKey`),placeholder:a(`models.customPriceKey`),value:f,onChange:e=>m(e.target.value.trim())}),(0,z.jsx)(I,{value:v,onChange:b})]})})}function K({label:e,prompt:t,onConfirm:n}){let{t:r}=p();return(0,z.jsx)(L,{label:e,icon:(0,z.jsx)(F,{className:`size-4`}),prompt:t,confirmLabel:r(`common.delete`),cancelLabel:r(`common.cancel`),pendingLabel:r(`common.deleting`),doneLabel:r(`common.deleted`),errorLabel:r(`common.error`),retryLabel:r(`common.retry`),onConfirm:n})}export{H as ModelDetailPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,Cn as t,F as n,Fa as r,H as i,Ia as a,K as o,N as s,P as c,Ti as l,Tn as u,W as d,Y as f,Yn as p,a as m,i as h,in as g,o as _,pn as v,r as y,vn as b,wi as x,wr as S,z as C,za as w}from"./overlays-D1ZtG8Qn.js";import{b as T,f as E,l as D,p as O,s as k,t as A}from"./Page-CnSErb_N.js";import{t as j}from"./cloud-download-D865MmmV.js";import{b as M}from"./index-PfVyiY3J.js";var N=w(a(),1),P=r();function F(){let{t:e}=u(),t=T(),[r,i]=(0,N.useState)(``),[a,c]=(0,N.useState)(``),[l,d]=(0,N.useState)(!1),[p,h]=(0,N.useState)(!1),g=(0,N.useRef)(null),_=O(r),v=S(),b=S(_,a),x=(0,N.useMemo)(()=>[...new Set((v.data??[]).map(e=>e.vendor))].sort(),[v.data]);return E(e=>{e===`find`&&g.current?.focus()}),(0,P.jsxs)(A,{title:e(`nav.models`),subtitle:b.data?e(`models.count`,{count:b.data.length}):void 0,actions:(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(o,{inputRef:g,className:`w-52`,value:r,onChange:i,placeholder:e(`models.search`)}),(0,P.jsx)(y,{value:a,onChange:c,options:[{value:``,label:e(`models.allVendors`)},...x.map(e=>({value:e,label:e}))]}),(0,P.jsx)(n,{icon:(0,P.jsx)(j,{className:`size-3.5`}),onClick:()=>h(!0),children:e(`models.sync`)}),(0,P.jsx)(n,{variant:`primary`,icon:(0,P.jsx)(k,{className:`size-3.5`}),onClick:()=>d(!0),children:e(`models.new`)})]}),children:[b.isLoading&&(0,P.jsx)(f,{lines:5}),b.isError&&(0,P.jsx)(s,{tone:`danger`,title:e(`common.error`),children:m(b.error)}),b.data?.length===0&&(0,P.jsx)(C,{icon:(0,P.jsx)(D,{className:`size-6`}),title:e(`models.empty`)}),b.data&&b.data.length>0&&(0,P.jsx)(M,{caption:e(`nav.models`),rowKey:`id`,rows:b.data.map(e=>({id:e.id,name:e.displayName,vendor:e.vendor,context:e.contextWindow??0,input:e.pricing?.base.input??0,providerPrices:e.providerPriceKeys.length,m:e})),columns:I(e,e=>t(`/models/${encodeURIComponent(e)}`))}),(0,P.jsx)(L,{open:l,onOpenChange:d,onCreated:e=>t(`/models/${encodeURIComponent(e)}`)}),(0,P.jsx)(R,{open:p,onOpenChange:h})]})}function I(e,n){return[{key:`name`,label:e(`models.col.model`),render:(r,i)=>(0,P.jsxs)(`button`,{type:`button`,className:`block w-full min-w-0 text-left`,onClick:()=>n(i.id),children:[(0,P.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,P.jsx)(`span`,{className:t(`truncate font-medium hover:text-[var(--accent)]`,!i.m.enabled&&`text-[var(--text-muted)]`),children:i.name}),i.m.source===`user`&&(0,P.jsx)(c,{tone:`accent`,children:e(`models.source.user`)}),i.m.userModifiedFields.length>0&&(0,P.jsx)(c,{tone:`orange`,children:e(`models.modified`)})]}),(0,P.jsx)(`span`,{className:`block truncate font-mono text-[11px] text-[var(--text-muted)]`,children:i.id})]})},{key:`vendor`,label:e(`models.col.vendor`),width:120},{key:`context`,label:e(`models.col.context`),numeric:!0,width:96,render:(e,t)=>g(t.m.contextWindow)},{key:`input`,label:e(`models.col.price`),numeric:!0,width:150,render:(e,t)=>{let n=t.m.pricing?.base;return n?`${v(n.input)} / ${v(n.output)}`:`—`}},{key:`providerPrices`,label:e(`models.col.providerPrices`),numeric:!0,width:130,render:(t,n)=>n.providerPrices?e(`models.providerPriceCount`,{count:n.providerPrices}):`—`}]}function L({open:t,onOpenChange:r,onCreated:a}){let{t:o}=u(),{toast:s}=_(),c=p(),[l,f]=(0,N.useState)(``),[g,v]=(0,N.useState)(``),[y,b]=(0,N.useState)(``),[x,S]=(0,N.useState)(null),[C,w]=(0,N.useState)(null),[T,E]=(0,N.useState)(null);return(0,P.jsx)(h,{open:t,onOpenChange:r,title:o(`models.new`),description:o(`models.newDetail`),footer:(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(n,{onClick:()=>r(!1),children:o(`common.cancel`)}),(0,P.jsx)(n,{variant:`primary`,disabled:!l.trim()||!y.trim(),loading:c.isPending,onClick:()=>c.mutate({id:l.trim(),displayName:g.trim()||l.trim(),vendor:y.trim(),contextWindow:x,pricing:C!=null||T!=null?{currency:`USD`,unit:`per_1m_tokens`,base:{input:C,output:T}}:null},{onSuccess:e=>{r(!1),f(``),v(``),a(e.id)},onError:e=>s(m(e),`error`)}),children:o(`common.create`)})]}),children:(0,P.jsxs)(`div`,{className:`grid gap-4`,children:[(0,P.jsx)(e,{label:o(`models.field.id`),hint:o(`models.field.idHint`),children:(0,P.jsx)(i,{className:`font-mono`,value:l,onChange:e=>f(e.target.value),placeholder:`my-model-1`})}),(0,P.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,P.jsx)(e,{label:o(`models.field.displayName`),children:(0,P.jsx)(i,{value:g,onChange:e=>v(e.target.value)})}),(0,P.jsx)(e,{label:o(`models.field.vendor`),children:(0,P.jsx)(i,{value:y,onChange:e=>b(e.target.value),placeholder:`openai`})})]}),(0,P.jsxs)(`div`,{className:`grid grid-cols-3 gap-4`,children:[(0,P.jsx)(e,{label:o(`models.field.contextWindow`),children:(0,P.jsx)(d,{value:x,onChange:S})}),(0,P.jsx)(e,{label:o(`models.field.inputPrice`),children:(0,P.jsx)(d,{value:C,onChange:w})}),(0,P.jsx)(e,{label:o(`models.field.outputPrice`),children:(0,P.jsx)(d,{value:T,onChange:E})})]})]})})}function R({open:e,onOpenChange:t}){let{t:r}=u(),{toast:i}=_(),a=l(),o=x(),[d,p]=(0,N.useState)(new Set),g=()=>a.mutate(void 0,{onSuccess:e=>p(new Set(e.changes.filter(e=>!e.skippedBecauseUserModified).map(e=>e.id)))}),v=a.data?.changes??[],y=e=>e.kind===`new_model`?r(`models.sync.newModel`):e.kind===`price`?r(`models.sync.price`,{key:e.priceKey??``}):r(`models.sync.field`,{field:e.field??``});return(0,P.jsxs)(h,{open:e,onOpenChange:e=>{t(e),e&&!a.data&&g()},width:640,title:r(`models.sync`),description:r(`models.syncDetail`),footer:(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(n,{className:`mr-auto`,variant:`plain`,onClick:g,loading:a.isPending,children:r(`common.refresh`)}),(0,P.jsx)(n,{onClick:()=>t(!1),children:r(`common.cancel`)}),(0,P.jsx)(n,{variant:`primary`,disabled:d.size===0,loading:o.isPending,onClick:()=>o.mutate([...d],{onSuccess:e=>{i(r(`models.sync.applied`,{count:e.applied}),`success`),t(!1),a.reset()},onError:e=>i(m(e),`error`)}),children:r(`models.sync.apply`,{count:d.size})})]}),children:[e&&!a.data&&!a.isPending&&!a.isError&&(0,P.jsx)(`div`,{className:`py-6 text-center`,children:(0,P.jsx)(n,{variant:`primary`,onClick:g,children:r(`models.sync.check`)})}),a.isPending&&(0,P.jsx)(f,{lines:4}),a.isError&&(0,P.jsx)(s,{tone:`danger`,title:r(`common.error`),children:m(a.error)}),a.data&&v.length===0&&(0,P.jsx)(s,{tone:`success`,title:r(`models.sync.none`)}),v.length>0&&(0,P.jsx)(M,{caption:r(`models.sync`),selectable:!0,rowKey:`id`,itemName:{one:r(`models.sync.changeOne`),other:r(`models.sync.changeOther`)},selectedKeys:[...d],onSelectionChange:e=>p(new Set(e)),rows:v.map(e=>({id:e.id,model:e.modelId,kind:y(e),c:e})),columns:[{key:`model`,label:r(`models.col.model`),render:e=>(0,P.jsx)(`span`,{className:`font-mono text-[12px]`,children:String(e)})},{key:`kind`,label:r(`models.sync.change`),render:(e,t)=>(0,P.jsxs)(`span`,{className:`flex flex-col items-start gap-1`,children:[(0,P.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[(0,P.jsx)(c,{tone:t.c.kind===`new_model`?`green`:`neutral`,children:t.kind}),t.c.skippedBecauseUserModified&&(0,P.jsx)(c,{tone:`orange`,children:r(`models.sync.userModified`)})]}),t.c.kind!==`new_model`&&(0,P.jsxs)(`span`,{className:`grid w-full grid-cols-2 gap-2 font-mono text-[10.5px]`,children:[(0,P.jsx)(`span`,{className:`truncate text-[var(--danger)]`,title:b(t.c.before),children:JSON.stringify(t.c.before)??`∅`}),(0,P.jsx)(`span`,{className:`truncate text-[var(--success)]`,title:b(t.c.after),children:JSON.stringify(t.c.after)??`∅`})]})]})}]})]})}export{F as ModelsPage};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{$i as e,Cn as t,En as n,Et as r,F as i,Fa as a,Ia as o,Ji as s,Kn as c,M as l,N as u,Pa as d,Q as f,Qi as p,R as m,S as h,Sn as g,St as _,Ui as v,Xi as y,Yi as b,Zi as x,Zr as S,_t as C,a as w,at as ee,b as te,bt as ne,dt as T,gi as re,gt as ie,ht as ae,j as oe,mt as se,nt as E,o as ce,oa as le,ot as ue,pt as de,ra as fe,s as pe,ta as D,ur as me,vt as O,x as he,xt as ge,y as _e,yt as ve,za as ye}from"./overlays-D1ZtG8Qn.js";var k=ye(o(),1),be=`modulepreload`,xe=function(e){return`/`+e},Se={},Ce=function(e){return e.pathname.endsWith(`.css`)},we=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=xe(t,n);let r=s(t);if(r.href in Se)return;Se[r.href]=!0;let i=Ce(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:be,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Te=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Ee=/^[\\/]{2}/;function De(e,t){return t+e.replace(/\\/g,`/`)}var Oe=`popstate`;function ke(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function Ae(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return M(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:N(t)}return Pe(t,n,null,e)}function je(e={}){function t(e,t){let{pathname:n=`/`,search:r=``,hash:i=``}=P(e.location.hash.substring(1));return!n.startsWith(`/`)&&!n.startsWith(`.`)&&(n=`/`+n),M(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){let n=e.document.querySelector(`base`),r=``;if(n&&n.getAttribute(`href`)){let t=e.location.href,n=t.indexOf(`#`);r=n===-1?t:t.slice(0,n)}return r+`#`+(typeof t==`string`?t:N(t))}function r(e,t){j(e.pathname.charAt(0)===`/`,`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)}return Pe(t,n,r,e)}function A(e,t){if(e===!1||e==null)throw Error(t)}function j(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function Me(){return Math.random().toString(36).substring(2,10)}function Ne(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function M(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?P(t):t,state:n,key:t&&t.key||r||Me(),mask:i}}function N({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function P(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function Pe(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=ke(e)?e:M(h.location,e,t);n&&n(r,e),l=u()+1;let d=Ne(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=ke(e)?e:M(h.location,e,t);n&&n(r,e),l=u();let i=Ne(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return Fe(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(Oe,d),c=e,()=>{i.removeEventListener(Oe,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function Fe(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),A(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:N(t);return i=i.replace(/ $/,`%20`),!n&&Ee.test(i)&&(i=r+i),new URL(i,r)}function Ie(e,t,n=`/`){return Le(e,t,n,!1)}function Le(e,t,n,r,i){let a=F((typeof t==`string`?P(t):t).pathname||`/`,n);if(a==null)return null;let o=i??Re(e),s=null,c=tt(a);for(let e=0;s==null&&e<o.length;++e)s=Ze(o[e],c,r);return s}function Re(e){let t=ze(e);return Ve(t),t}function ze(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;A(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=I([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(A(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),ze(e.children,t,u,l,o)),(e.path!=null||e.index)&&t.push({path:l,score:Ye(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=et(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of Be(e.path))a(e,t,!0,n)}),t}function Be(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=Be(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function Ve(e){e.sort((e,t)=>e.score===t.score?Xe(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var He=/^:[\w-]+$/,Ue=3,We=2,Ge=1,Ke=10,qe=-2,Je=e=>e===`*`;function Ye(e,t){let n=e.split(`/`),r=n.length;return n.some(Je)&&(r+=qe),t&&(r+=We),n.filter(e=>!Je(e)).reduce((e,t)=>e+(He.test(t)?Ue:t===``?Ge:Ke),r)}function Xe(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function Ze(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?$e(u,l,s.matcher,s.compiledParams):Qe(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=Qe({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:I([a,d.pathname]),pathnameBase:lt(I([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=I([a,d.pathnameBase]))}return o}function Qe(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=et(e.path,e.caseSensitive,e.end);return $e(e,t,n,r)}function $e(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=L(a,1),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=L(a.slice(0,a.length-e.length),1)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function et(e,t=!1,n=!0){j(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function tt(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return j(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function F(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function nt(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?P(e):e,a;return n?(n=ct(n),a=n.startsWith(`/`)||n.startsWith(`\\`)?rt(n.substring(1),`/`):rt(n,t)):a=t,{pathname:a,search:ut(r),hash:dt(i)}}function rt(e,t){let n=L(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function it(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function at(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function ot(e){let t=at(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function st(e,t,n,r=!1){let i;typeof e==`string`?i=P(e):(i={...e},A(!i.pathname||!i.pathname.includes(`?`),it(`?`,`pathname`,`search`,i)),A(!i.pathname||!i.pathname.includes(`#`),it(`#`,`pathname`,`hash`,i)),A(!i.search||!i.search.includes(`#`),it(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=nt(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var ct=e=>e.replace(/[\\/]{2,}/g,`/`),I=e=>ct(e.join(`/`));function L(e,t=0){let n=e.length;for(;n>t&&e.charCodeAt(n-1)===47;)n--;return n===e.length?e:e.slice(0,n)}var lt=e=>L(e).replace(/^\/*/,`/`),ut=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,dt=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,ft=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function pt(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function mt(e){return I(e.map(e=>e.route.path).filter(Boolean))||`/`}var ht=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function gt(e,t){let n=e;if(typeof n!=`string`||!Te.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(ht)try{let e=new URL(window.location.href),r=Ee.test(n)?new URL(De(n,e.protocol)):new URL(n),a=F(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{j(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var _t=new URL(`http://localhost`);function vt(e){if(e.createURL)return e.createURL(`/`);try{return new URL(e.createHref(`/`),_t)}catch{return _t}}function yt(e,t){return e.origin===t.origin&&(e.origin!==`null`||e.protocol===t.protocol&&e.host===t.host)}function bt(e,t){if(e.startsWith(`//`))return!0;let n=t.protocol.toLowerCase();return e.toLowerCase().startsWith(n)?t.host===``||e.slice(n.length).startsWith(`//`):!1}function xt(e,t,n,r){let i=null;try{i=e==null?null:new URL(e,n)}catch{}let a=new URL(t,n),o=i!=null&&!yt(i,n),s=!yt(a,n);if(r===`reject`){if(o||s)throw Error(`External navigation is not allowed`)}else if(s&&(i==null||!bt(e,i)||!yt(i,a)))throw Error(`External navigation is not allowed`)}var St=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(St);var Ct=[`GET`,...St];new Set(Ct);var wt=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function Tt(e){try{return wt.includes(new URL(e).protocol)}catch{return!1}}var R=k.createContext(null);R.displayName=`DataRouter`;var z=k.createContext(null);z.displayName=`DataRouterState`;var Et=k.createContext(!1);function Dt(){return k.useContext(Et)}var Ot=k.createContext({isTransitioning:!1});Ot.displayName=`ViewTransition`;var kt=k.createContext(new Map);kt.displayName=`Fetchers`;var At=k.createContext(null);At.displayName=`Await`;var B=k.createContext(null);B.displayName=`Navigation`;var V=k.createContext(null);V.displayName=`Location`;var H=k.createContext({outlet:null,matches:[],isDataRoute:!1});H.displayName=`Route`;var jt=k.createContext(null);jt.displayName=`RouteError`;var Mt=`REACT_ROUTER_ERROR`,Nt=`REDIRECT`,Pt=`ROUTE_ERROR_RESPONSE`;function Ft(e){if(e.startsWith(`${Mt}:${Nt}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function It(e){if(e.startsWith(`${Mt}:${Pt}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new ft(t.status,t.statusText,t.data)}catch{}}function Lt(e,{relative:t}={}){A(U(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=k.useContext(B),{hash:i,pathname:a,search:o}=K(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:I([n,a])),r.createHref({pathname:s,search:o,hash:i})}function U(){return k.useContext(V)!=null}function W(){return A(U(),`useLocation() may be used only in the context of a <Router> component.`),k.useContext(V).location}var Rt=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function zt(e){k.useContext(B).static||k.useLayoutEffect(e)}function G(){let{isDataRoute:e}=k.useContext(H);return e?sn():Bt()}function Bt(){A(U(),`useNavigate() may be used only in the context of a <Router> component.`);let e=k.useContext(R),{basename:t,navigator:n}=k.useContext(B),{matches:r}=k.useContext(H),{pathname:i}=W(),a=JSON.stringify(ot(r)),o=k.useRef(!1);return zt(()=>{o.current=!0}),k.useCallback((r,s={})=>{if(j(o.current,Rt),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=st(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:I([t,c.pathname])),xt(typeof r==`string`?r:N(r),n.createHref(c),vt(n),`reject`),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var Vt=k.createContext(null);function Ht(e){let t=k.useContext(H).outlet;return k.useMemo(()=>t&&k.createElement(Vt.Provider,{value:e},t),[t,e])}function Ut(){let{matches:e}=k.useContext(H);return e[e.length-1]?.params??{}}function K(e,{relative:t}={}){let{matches:n}=k.useContext(H),{pathname:r}=W(),i=JSON.stringify(ot(n));return k.useMemo(()=>st(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Wt(e,t){return Gt(e,t)}function Gt(e,t,n){A(U(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=k.useContext(B),{matches:i}=k.useContext(H),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;ln(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${s}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
2
|
-
|
|
3
|
-
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let u=W(),d;if(t){let e=typeof t==`string`?P(t):t;A(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):Ie(e,{pathname:p});j(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),j(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let h=Qt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:I([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:I([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?k.createElement(V.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function Kt(){let e=on(),t=pt(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=k.createElement(k.Fragment,null,k.createElement(`p`,null,`💿 Hey developer 👋`),k.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,k.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,k.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),k.createElement(k.Fragment,null,k.createElement(`h2`,null,`Unexpected Application Error!`),k.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?k.createElement(`pre`,{style:i},n):null,o)}var qt=k.createElement(Kt,null),Jt=class extends k.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=It(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:k.createElement(H.Provider,{value:this.props.routeContext},k.createElement(jt.Provider,{value:e,children:this.props.component}));return this.context?k.createElement(Xt,{error:e},t):t}};Jt.contextType=Et;var Yt=new WeakMap;function Xt({children:e,error:t}){let{basename:n,navigator:r}=k.useContext(B);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Ft(t.digest);if(e){let i=Yt.get(t);if(i)throw i;let a=gt(e.location,n),o=a.absoluteURL||a.to;if(xt(e.location,o,vt(r),`allow-explicit`),Tt(o))throw Error(`Invalid redirect location`);if(ht&&!Yt.get(t)){if(a.isExternal||e.reloadDocument)window.location.href=o;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Yt.set(t,n),n}}return k.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${o}`})}}return e}function Zt({routeContext:e,match:t,children:n}){let r=k.useContext(R);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),k.createElement(H.Provider,{value:e},n)}function Qt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);A(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:mt(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||qt,o&&(s<0&&c===0?(ln(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?k.createElement(n.route.Component,null):n.route.element?n.route.element:e,k.createElement(Zt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?k.createElement(Jt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function $t(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function en(e){let t=k.useContext(R);return A(t,$t(e)),t}function tn(e){let t=k.useContext(z);return A(t,$t(e)),t}function nn(e){let t=k.useContext(H);return A(t,$t(e)),t}function rn(e){let t=nn(e),n=t.matches[t.matches.length-1];return A(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function an(){return rn(`useRouteId`)}function on(){let e=k.useContext(jt),t=tn(`useRouteError`),n=rn(`useRouteError`);return e===void 0?t.errors?.[n]:e}function sn(){let{router:e}=en(`useNavigate`),t=rn(`useNavigate`),n=k.useRef(!1);return zt(()=>{n.current=!0}),k.useCallback(async(r,i={})=>{j(n.current,Rt),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var cn={};function ln(e,t,n){!t&&!cn[e]&&(cn[e]=!0,j(!1,n))}k.memo(un);function un({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Gt(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function dn({to:e,replace:t,state:n,relative:r}){A(U(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i,navigator:a}=k.useContext(B);j(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=k.useContext(H),{pathname:s}=W(),c=G(),l=st(e,ot(o),s,r===`path`);xt(typeof e==`string`?e:N(e),a.createHref(l),vt(a),`reject`);let u=JSON.stringify(l);return k.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:r})},[c,u,r,t,n]),null}function fn(e){return Ht(e.context)}function pn(e){A(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function mn({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){A(!U(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=k.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=P(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=k.useMemo(()=>{let e=F(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return j(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:k.createElement(B.Provider,{value:c},k.createElement(V.Provider,{children:t,value:h}))}function hn({children:e,location:t}){return Wt(gn(e),t)}k.Component;function gn(e,t=[]){let n=[];return k.Children.forEach(e,(e,r)=>{if(!k.isValidElement(e))return;let i=[...t,r];if(e.type===k.Fragment){n.push.apply(n,gn(e.props.children,i));return}A(e.type===pn,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),A(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=gn(e.props.children,i)),n.push(a)}),n}var _n=`get`,vn=`application/x-www-form-urlencoded`;function yn(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function bn(e){return yn(e)&&e.tagName.toLowerCase()===`button`}function xn(e){return yn(e)&&e.tagName.toLowerCase()===`form`}function Sn(e){return yn(e)&&e.tagName.toLowerCase()===`input`}function Cn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function wn(e,t){return e.button===0&&(!t||t===`_self`)&&!Cn(e)}function Tn(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function En(e,t){let n=Tn(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Dn=null;function On(){if(Dn===null)try{new FormData(document.createElement(`form`),0),Dn=!1}catch{Dn=!0}return Dn}var kn=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function An(e){return e!=null&&!kn.has(e)?(j(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${vn}"`),null):e}function jn(e,t){let n,r,i,a,o;if(xn(e)){let o=e.getAttribute(`action`);r=o?F(o,t):null,n=e.getAttribute(`method`)||_n,i=An(e.getAttribute(`enctype`))||vn,a=new FormData(e)}else if(bn(e)||Sn(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?F(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||_n,i=An(e.getAttribute(`formenctype`))||An(o.getAttribute(`enctype`))||vn,a=new FormData(o,e),!On()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(yn(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=_n,r=null,i=vn,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Mn(e,t){if(e===!1||e==null)throw Error(t)}function Nn(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return i.pathname=n?i.pathname.endsWith(`/`)?`${i.pathname}_.${r}`:`${i.pathname}.${r}`:i.pathname===`/`?`_root.${r}`:t&&F(i.pathname,t)===`/`?`${L(t)}/_root.${r}`:`${L(i.pathname)}.${r}`,i}async function Pn(e,t){if(e.id in t)return t[e.id];try{let n=await we(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Fn(e){return e!=null&&typeof e.page==`string`}function In(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Ln(e,t,n){return Hn((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Pn(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(In).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Rn(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function zn(e,t,{includeHydrateFallback:n}={}){return Bn(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Bn(e){return[...new Set(e)]}function Vn(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Hn(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Fn(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Vn(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Un(){let e=k.useContext(R);return Mn(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Wn(){let e=k.useContext(z);return Mn(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Gn=k.createContext(void 0);Gn.displayName=`FrameworkContext`;function Kn(){let e=k.useContext(Gn);return Mn(e,`You must render this element inside a <HydratedRouter> element`),e}function qn(e,t){let n=k.useContext(Gn),[r,i]=k.useState(!1),[a,o]=k.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=k.useRef(null);k.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),k.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:q(s,p),onBlur:q(c,m),onMouseEnter:q(l,p),onMouseLeave:q(u,m),onTouchStart:q(d,p)}]:[a,f,{}]:[!1,f,{}]}function q(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Jn({page:e,...t}){let n=Dt(),{nonce:r}=Kn(),{router:i}=Un(),a=k.useMemo(()=>Ie(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?k.createElement(Xn,{page:e,matches:a,...t}):k.createElement(Zn,{page:e,matches:a,...t})):null}function Yn(e){let{manifest:t,routeModules:n}=Kn(),[r,i]=k.useState([]);return k.useEffect(()=>{let r=!1;return Ln(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function Xn({page:e,matches:t,...n}){let r=W(),{future:i}=Kn(),{basename:a}=Un(),o=k.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=Nn(e,a,i.v8_trailingSlashAwareDataRequests,`rsc`),o=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?o=!0:s.push(e.route.id);return o&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[a,i.v8_trailingSlashAwareDataRequests,e,r,t]);return k.createElement(k.Fragment,null,o.map(e=>k.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function Zn({page:e,matches:t,...n}){let r=W(),{future:i,manifest:a,routeModules:o}=Kn(),{basename:s}=Un(),{loaderData:c,matches:l}=Wn(),u=k.useMemo(()=>Rn(e,t,l,a,r,`data`),[e,t,l,a,r]),d=k.useMemo(()=>Rn(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=k.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,l=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];t&&t.hasLoader&&(!u.some(t=>t.route.id===e.route.id)&&e.route.id in c&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:n.add(e.route.id))}),n.size===0)return[];let d=Nn(e,s,i.v8_trailingSlashAwareDataRequests,`data`);return l&&n.size>0&&d.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[d.pathname+d.search]},[s,i.v8_trailingSlashAwareDataRequests,c,r,a,u,t,e,o]),p=k.useMemo(()=>zn(d,a),[d,a]),m=Yn(d);return k.createElement(k.Fragment,null,f.map(e=>k.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>k.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>k.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function Qn(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}k.Component;var $n=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{$n&&(window.__reactRouterVersion=`7.18.4`)}catch{}function er({basename:e,children:t,useTransitions:n,window:r}){let i=k.useRef();i.current??=Ae({window:r,v5Compat:!0});let a=i.current,[o,s]=k.useState({action:a.action,location:a.location}),c=k.useCallback(e=>{n===!1?s(e):k.startTransition(()=>s(e))},[n]);return k.useLayoutEffect(()=>a.listen(c),[a,c]),k.createElement(mn,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,useTransitions:n})}function tr({basename:e,children:t,useTransitions:n,window:r}){let i=k.useRef();i.current??=je({window:r,v5Compat:!0});let a=i.current,[o,s]=k.useState({action:a.action,location:a.location}),c=k.useCallback(e=>{n===!1?s(e):k.startTransition(()=>s(e))},[n]);return k.useLayoutEffect(()=>a.listen(c),[a,c]),k.createElement(mn,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,useTransitions:n})}var nr=k.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:_}=k.useContext(B),v=typeof l==`string`&&Te.test(l),y=gt(l,h);l=y.to;let b=Lt(l,{relative:r}),x=W(),S=null;if(o){let e=st(o,[],x.mask?x.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:I([h,e.pathname])),S=g.createHref(e)}let[C,w,ee]=qn(n,p),te=sr(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function ne(t){e&&e(t),t.defaultPrevented||te(t)}let T=!(y.isExternal||i),re=k.createElement(`a`,{...p,...ee,href:(T?S:void 0)||y.absoluteURL||b,onClick:T?ne:e,ref:Qn(m,w),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return C&&!v?k.createElement(k.Fragment,null,re,k.createElement(Jn,{page:b})):re});nr.displayName=`Link`;var rr=k.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=K(a,{relative:c.relative}),d=W(),f=k.useContext(z),{navigator:p,basename:m}=k.useContext(B),h=f!=null&&pr(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=F(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,x=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(g.length)===`/`),S={isActive:b,isPending:x,isTransitioning:h},C=b?e:void 0,w;w=typeof n==`function`?n(S):[n,b?`active`:null,x?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let ee=typeof i==`function`?i(S):i;return k.createElement(nr,{...c,"aria-current":C,className:w,ref:l,style:ee,to:a,viewTransition:o},typeof s==`function`?s(S):s)});rr.displayName=`NavLink`;var ir=k.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=_n,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=k.useContext(B),g=dr(),_=fr(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,y=typeof s==`string`&&Te.test(s);return k.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?k.startTransition(()=>p()):p()},...p,"data-discover":!y&&e===`render`?`true`:void 0})});ir.displayName=`Form`;function ar(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function or(e){let t=k.useContext(R);return A(t,ar(e)),t}function sr(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=G(),d=W(),f=K(e,{relative:o});return k.useCallback(p=>{if(wn(p,t)){p.preventDefault();let t=n===void 0?N(d)===N(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?k.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}function cr(e){j(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=k.useRef(Tn(e)),n=k.useRef(!1),r=W(),i=k.useMemo(()=>En(r.search,n.current?null:t.current),[r.search]),a=G();return[i,k.useCallback((e,t)=>{let r=Tn(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var lr=0,ur=()=>`__${String(++lr)}__`;function dr(){let{router:e}=or(`useSubmit`),{basename:t}=k.useContext(B),n=an(),r=e.fetch,i=e.navigate;return k.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=jn(e,t);if(a.navigate===!1){let e=a.fetcherKey||ur();await r(e,n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync})}else await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function fr(e,{relative:t}={}){let{basename:n}=k.useContext(B),r=k.useContext(H);A(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...K(e||`.`,{relative:t})},o=W();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:I([n,a.pathname])),N(a)}function pr(e,{relative:t}={}){let n=k.useContext(Ot);A(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=or(`useViewTransitionState`),i=K(e,{relative:t});if(!n.isTransitioning)return!1;let a=F(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=F(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Qe(i.pathname,o)!=null||Qe(i.pathname,a)!=null}var J=a();function mr(e){let[t,n]=(0,k.useState)(()=>globalThis.matchMedia?.(e).matches??!1);return(0,k.useEffect)(()=>{let t=globalThis.matchMedia?.(e);if(!t)return;let r=()=>n(t.matches);return r(),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}function hr(e,t=250){let[n,r]=(0,k.useState)(e);return(0,k.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}var gr=[`overview`,`requests`,`clients`,`providers`,`models`,`settings`];function _r(e,t,n){let r=/^Digit([1-6])$/.exec(e.code)?.[1];if(t.desktop){if(t.mac||!e.ctrlKey||e.metaKey)return null;if(r&&!e.altKey)return`nav:${gr[Number(r)-1]}`;if(e.altKey&&e.code===`KeyS`)return`toggle-sidebar`;if(e.altKey||e.shiftKey)return null;switch(e.code){case`KeyF`:return`find`;case`KeyR`:return`refresh`;case`KeyN`:return`new-provider`;case`Comma`:return`nav:settings`;default:return null}}return r&&e.altKey&&!e.ctrlKey&&!e.metaKey?`nav:${gr[Number(r)-1]}`:e.key===`/`&&!n&&!e.ctrlKey&&!e.metaKey&&!e.altKey?`find`:null}function vr(e){let t=e;return t?t.isContentEditable||[`INPUT`,`TEXTAREA`,`SELECT`].includes(t.tagName):!1}function yr(e){let t=(0,k.useRef)(e);(0,k.useEffect)(()=>{t.current=e}),(0,k.useEffect)(()=>{let e=e=>{let n=_r(e,{desktop:b,mac:y},vr(e.target));n&&(e.preventDefault(),t.current(n))};window.addEventListener(`keydown`,e);let n=s()?.onMenuCommand(e=>t.current(e));return()=>{window.removeEventListener(`keydown`,e),n?.()}},[])}var br=new Set;function xr(e){for(let t of br)t(e)}function Sr(e){let t=(0,k.useRef)(e);(0,k.useEffect)(()=>{t.current=e}),(0,k.useEffect)(()=>{let e=e=>t.current(e);return br.add(e),()=>{br.delete(e)}},[])}var Cr=`/assets/logo-BgbCqQmU.png`;function wr({className:e}){return(0,J.jsx)(`img`,{src:Cr,alt:``,className:e,draggable:!1,"aria-hidden":!0})}var Tr={name:`app-window`,size:24,node:[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]};Tr.node;var Er=T(Tr),Dr={name:`boxes`,size:24,node:[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]};Dr.node;var Or=T(Dr),kr={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};kr.node;var Ar=T(kr),jr={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};jr.node;var Mr=T(jr),Nr={name:`panel-left`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]],aliases:[`sidebar`]};Nr.node;var Pr=T(Nr),Fr={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};Fr.node;var Ir=T(Fr),Lr={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};Lr.node;var Rr=T(Lr),zr={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};zr.node;var Br=T(zr),Vr={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};Vr.node;var Hr=T(Vr);function Ur(e){let t=/^(\d+)(\.|$)/.exec(e??``);return t?Number(t[1]):null}var Wr=(e,t)=>t.map(t=>e.find(e=>e.kind===t)?.name??t).join(`, `);function Gr(){let e=n(),{toast:t}=ce(),r=me(),a=v(),o=c(),l=S(),[d,f]=(0,k.useState)(!1),p=r.isError&&r.failureCount>=1,m=s()?.apiVersionMismatch||a.data&&Ur(a.data.apiVersion)!==null&&Ur(a.data.apiVersion)!==Ur(`1.0`),h=o.data??[],_=p?[]:h.filter(e=>e.configOutdated).map(e=>e.kind);return(0,J.jsxs)(`div`,{className:`chrome shrink-0 px-2 pt-2 empty:hidden`,children:[(0,J.jsx)(u,{open:!!(p||m),tone:p?`danger`:`warning`,title:e(p?b?`banner.downDesktop`:`banner.downWeb`:`banner.mismatch`),children:p&&b?(0,J.jsx)(i,{size:`sm`,variant:`primary`,className:`mt-2`,loading:d,onClick:async()=>{f(!0),await g.startService(),f(!1),r.refetch()},children:e(`shell.startService`)}):void 0}),(0,J.jsx)(u,{open:_.length>0,tone:`warning`,title:e(`banner.clientsOutdated`,{names:Wr(h,_)}),children:(0,J.jsx)(i,{size:`sm`,variant:`primary`,className:`mt-2`,loading:l.isPending,onClick:()=>l.mutate(void 0,{onSuccess:n=>t(e(`banner.clientsUpdated`,{names:Wr(h,n.updated)}),`success`),onError:e=>t(w(e),`error`)}),children:e(`banner.clientsUpdate`)})})]})}var Y=`size-4`,Kr=[{items:[{id:`overview`,path:`/`,label:`nav.overview`,color:`#0a84ff`,icon:(0,J.jsx)(Mr,{className:Y,strokeWidth:1.75})},{id:`requests`,path:`/requests`,label:`nav.requests`,color:`#8e8e93`,icon:(0,J.jsx)(Rr,{className:Y,strokeWidth:1.75})}]},{title:`nav.group.config`,items:[{id:`tokens`,path:`/tokens`,label:`nav.tokens`,color:`#ff375f`,icon:(0,J.jsx)(Ar,{className:Y,strokeWidth:1.75})},{id:`clients`,path:`/clients`,label:`nav.clients`,color:`#5e5ce6`,icon:(0,J.jsx)(Er,{className:Y,strokeWidth:1.75})},{id:`providers`,path:`/providers`,label:`nav.providers`,color:`#30b0c7`,icon:(0,J.jsx)(Br,{className:Y,strokeWidth:1.75})},{id:`models`,path:`/models`,label:`nav.models`,color:`#ff9f0a`,icon:(0,J.jsx)(Or,{className:Y,strokeWidth:1.75})},{id:`plugins`,path:`/plugins`,label:`nav.plugins`,color:`#bf5af2`,icon:(0,J.jsx)(ue,{className:Y,strokeWidth:1.75})},{id:`privacy`,path:`/privacy`,label:`nav.privacy`,color:`#30d158`,icon:(0,J.jsx)(Hr,{className:Y,strokeWidth:1.75})}]},{title:`nav.group.system`,items:[{id:`settings`,path:`/settings`,label:`nav.settings`,color:`#8e8e93`,icon:(0,J.jsx)(ee,{className:Y,strokeWidth:1.75})}]}],qr=Object.fromEntries(Kr.flatMap(e=>e.items).map(e=>[e.id,e.path])),Jr=e(),Yr=(Jr-16-22)/2,Xr={type:`spring`,stiffness:380,damping:38,mass:.9},Zr=`astra.sidebar`,Qr=(0,k.createContext)(null);function $r(){let e=(0,k.useContext)(Qr);if(!e)throw Error(`useShellLayout outside AppShell`);return e}function ei(){try{let e=localStorage.getItem(Zr);return e===`collapsed`||e!==`expanded`&&null}catch{return null}}function ti(){return(0,J.jsx)(`svg`,{width:`0`,height:`0`,"aria-hidden":!0,className:`absolute`,children:(0,J.jsxs)(`filter`,{id:`astra-refract`,x:`0`,y:`0`,width:`100%`,height:`100%`,colorInterpolationFilters:`sRGB`,children:[(0,J.jsx)(`feTurbulence`,{type:`fractalNoise`,baseFrequency:`0.006 0.009`,numOctaves:`2`,seed:`11`,result:`noise`}),(0,J.jsx)(`feGaussianBlur`,{in:`noise`,stdDeviation:`2.5`,result:`soft`}),(0,J.jsx)(`feDisplacementMap`,{in:`SourceGraphic`,in2:`soft`,scale:`14`,xChannelSelector:`R`,yChannelSelector:`G`})]})})}function ni(){let e=G(),t=W(),n=d(),i=mr(`(max-width: 767px)`),a=mr(`(max-width: 1099px)`),[o,s]=(0,k.useState)(ei),[c,l]=(0,k.useState)(!1),u=o??(!b&&a),f=!b&&i?`drawer`:u?`rail`:`expanded`,p=f===`expanded`?224:f===`rail`?Jr:0;(0,k.useEffect)(()=>l(!1),[t.pathname]);let m=(0,k.useCallback)(()=>{if(f===`drawer`){l(e=>!e);return}let e=!u;s(e);try{localStorage.setItem(Zr,e?`collapsed`:`expanded`)}catch{}},[f,u]);yr((0,k.useCallback)(r=>{if(r.startsWith(`nav:`)){e(qr[r.slice(4)]);return}switch(r){case`toggle-sidebar`:m();return;case`settings:tray`:e(`/settings/tray`);return;case`refresh`:n.invalidateQueries();return;case`new-provider`:t.pathname.startsWith(`/providers`)?xr(r):e(`/providers?new=1`);return;default:xr(r)}},[e,n,m,t.pathname]));let h=(0,k.useMemo)(()=>({sidebarMode:f,sidebarWidth:p,drawerOpen:c,setDrawerOpen:l,toggleSidebar:m,narrow:!b&&i}),[f,p,c,m,i]);return(0,J.jsx)(Qr.Provider,{value:h,children:(0,J.jsxs)(`div`,{className:`wallpaper relative h-full overflow-hidden`,children:[(0,J.jsx)(ti,{}),r()&&(0,J.jsx)(_,{}),f!==`drawer`&&(0,J.jsx)(ii,{rail:f===`rail`}),(0,J.jsx)(le,{children:f===`drawer`&&c&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(D.div,{className:`fixed inset-0 z-30 bg-black/20`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:()=>l(!1)}),(0,J.jsx)(D.div,{className:`fixed inset-y-0 left-0 z-40`,style:{width:232},initial:{x:-232},animate:{x:0},exit:{x:-232},transition:Xr,children:(0,J.jsx)(ii,{rail:!1})})]})}),(0,J.jsxs)(D.main,{className:`absolute inset-y-0 right-0 flex flex-col`,initial:!1,animate:{left:p?p+8:0},transition:Xr,children:[(0,J.jsx)(Gr,{}),(0,J.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,J.jsx)(k.Suspense,{fallback:null,children:(0,J.jsx)(fn,{})})})]})]})})}function ri({hidden:e,children:n,className:r}){return(0,J.jsx)(D.span,{initial:!1,animate:{opacity:+!e,x:e?-6:0},transition:{duration:e?.12:.22,delay:e?0:.08},className:t(`relative truncate whitespace-nowrap`,r),"aria-hidden":e||void 0,children:n})}function ii({rail:e}){let r=n(),i=b&&y;return(0,J.jsxs)(D.nav,{"aria-label":`Astra`,className:`glass chrome absolute z-20 flex flex-col overflow-hidden rounded-[18px]`,style:{top:8,left:8,bottom:8},initial:!1,animate:{width:e?Jr:224},transition:Xr,children:[(0,J.jsx)(`div`,{className:`drag flex h-[52px] shrink-0 items-center gap-2`,style:{paddingLeft:(Jr-24)/2},children:!i&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(wr,{className:`size-6 shrink-0 rounded-[6px]`}),(0,J.jsx)(ri,{hidden:e,className:`text-[14px] font-medium`,children:`Astra`})]})}),(0,J.jsx)(`div`,{className:`scroll min-h-0 flex-1 overflow-x-hidden px-2 pb-2`,children:Kr.map((n,i)=>(0,J.jsxs)(`div`,{children:[n.title&&(0,J.jsxs)(`div`,{className:`relative mt-2 h-6`,children:[(0,J.jsx)(ri,{hidden:e,className:`absolute bottom-1 left-3 text-[11px] font-medium text-[var(--text-muted)]`,children:r(n.title)}),(0,J.jsx)(D.div,{initial:!1,animate:{opacity:+!!e,scaleX:e?1:.4},className:`absolute top-1/2 h-px bg-[var(--border)]`,style:{left:Yr,width:22}})]}),n.items.map(n=>(0,J.jsx)(rr,{to:n.path,end:n.path===`/`,title:e?r(n.label):void 0,"aria-label":r(n.label),className:({isActive:e})=>t(`relative my-px flex h-8 items-center gap-2.5 rounded-full text-[13px] transition-colors`,!e&&`hover:bg-[var(--surface-muted)]`),style:{paddingLeft:Yr,paddingRight:10},children:({isActive:i})=>(0,J.jsxs)(J.Fragment,{children:[i&&(0,J.jsx)(D.span,{layoutId:`sidebar-selection`,transition:{type:`spring`,stiffness:420,damping:34},className:`absolute inset-0 rounded-full bg-[color-mix(in_oklab,var(--accent)_18%,transparent)]`}),(0,J.jsx)(f,{size:22,className:t(`relative`,i&&`text-[var(--accent)]`),children:n.icon}),(0,J.jsx)(ri,{hidden:e,children:r(n.label)})]})},n.id))]},i))}),(0,J.jsx)(ai,{rail:e})]})}function ai({rail:e}){let t=n(),r=me(),a=re(),{toast:o}=ce(),[s,c]=(0,k.useState)(!1),l=r.isSuccess&&!r.isError,u=a.data?.gatewayBaseUrl?.replace(/^https?:\/\//,``),d=l?t(`shell.running`):r.isLoading?t(`shell.connecting`):t(`shell.disconnected`),f=async()=>{c(!0);let e=await g.startService();c(!1),e&&!e.ok&&o(e.error||t(`shell.startFailed`),`error`),r.refetch()};return(0,J.jsx)(`div`,{className:`relative m-2 min-h-10 shrink-0`,children:(0,J.jsx)(le,{initial:!1,mode:`popLayout`,children:e?(0,J.jsx)(D.div,{initial:{opacity:0,scale:.6},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.6},className:`flex h-10 items-center`,style:{paddingLeft:Yr+7},title:d,children:(0,J.jsx)(m,{tone:l?`green`:`red`})},`dot`):(0,J.jsxs)(D.div,{initial:{opacity:0},animate:{opacity:1,transition:{delay:.1}},exit:{opacity:0,transition:{duration:.1}},className:`rounded-xl bg-[color-mix(in_oklab,var(--glass-tint)_45%,transparent)] px-3 py-2 text-[11px] whitespace-nowrap text-[var(--text-secondary)]`,style:{width:208},children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(m,{tone:l?`green`:r.isLoading?`neutral`:`red`}),(0,J.jsx)(`span`,{className:`truncate`,children:d})]}),l&&u&&(0,J.jsx)(`div`,{className:`mt-0.5 truncate font-mono text-[10.5px] text-[var(--text-muted)] selectable`,children:u}),!l&&!r.isLoading&&b&&(0,J.jsx)(i,{size:`sm`,variant:`primary`,className:`mt-1.5 w-full`,loading:s,onClick:()=>void f(),children:t(`shell.startService`)})]},`card`)})})}var oi=b&&p===`win32`?140:0,si=Object.defineProperty,X=(e,t)=>si(e,`name`,{value:t,configurable:!0}),[ci,li]=ge(`Tooltip`,[h]),ui=h(),di=`TooltipProvider`,fi=700,pi=`tooltip.open`,[mi,hi]=ci(di),gi=X(e=>{let{__scopeTooltip:t,delayDuration:n=fi,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=k.useRef(!0),s=k.useRef(!1),c=k.useRef(0);return k.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,J.jsx)(mi,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:k.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:k.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:k.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),_i=`Tooltip`,[vi,Z]=ci(_i),yi=X(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=hi(_i,e.__scopeTooltip),l=ui(t),[u,d]=k.useState(null),[f,p]=k.useState(void 0),m=de(),h=k.useRef(0),g=o??c.disableHoverableContent,_=s??c.delayDuration,v=k.useRef(!1),[y,b]=ie({prop:r,defaultProp:i??!1,onChange:X(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(pi))):c.onClose(),a?.(e)},`onChange`),caller:_i}),x=k.useMemo(()=>y?v.current?`delayed-open`:`instant-open`:`closed`,[y]),S=k.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v.current=!1,b(!0)},[b]),C=k.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b(!1)},[b]),w=k.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{v.current=!0,b(!0),h.current=0},_)},[_,b]);k.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let ee=f??m;return(0,J.jsx)(_e,{...l,children:(0,J.jsx)(vi,{scope:t,contentId:ee,setContentId:p,open:y,stateAttribute:x,trigger:u,onTriggerChange:d,onTriggerEnter:k.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:k.useCallback(()=>{g?C():(window.clearTimeout(h.current),h.current=0)},[C,g]),onOpen:S,onClose:C,disableHoverableContent:g,children:n})})},`Tooltip`),bi=`TooltipTrigger`,xi=k.forwardRef(X(function(e,t){let{__scopeTooltip:n,"aria-describedby":r,...i}=e,a=Z(bi,n),o=hi(bi,n),s=ui(n),c=k.useRef(null),l=ne(t,c,a.onTriggerChange),u=k.useRef(!1),d=k.useRef(!1),f=k.useCallback(()=>u.current=!1,[]);return k.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,J.jsx)(te,{asChild:!0,...s,children:(0,J.jsx)(ae.button,{"aria-describedby":a.open?Ii(r,a.contentId):r,"data-state":a.stateAttribute,...i,ref:l,onPointerMove:O(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:O(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:O(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:O(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:O(e.onBlur,a.onClose),onClick:O(e.onClick,a.onClose)})})},`TooltipTrigger`)),Si=`TooltipPortal`,[Ci,wi]=ci(Si,{forceMount:void 0}),Ti=X(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Z(Si,t);return(0,J.jsx)(Ci,{scope:t,forceMount:n,children:(0,J.jsx)(se,{present:n||a.open,children:(0,J.jsx)(oe,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),Q=`TooltipContent`,Ei=k.forwardRef(X(function(e,t){let n=wi(Q,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Z(Q,e.__scopeTooltip);return(0,J.jsx)(se,{present:r||o.open,children:o.disableHoverableContent?(0,J.jsx)(ki,{side:i,...a,ref:t}):(0,J.jsx)(Di,{side:i,...a,ref:t})})},`TooltipContent`)),Di=k.forwardRef(X(function(e,t){let n=Z(Q,e.__scopeTooltip),r=hi(Q,e.__scopeTooltip),i=k.useRef(null),a=ne(t,i),[o,s]=k.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=k.useCallback(()=>{s(null),d(!1)},[d]),p=k.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ji(r,Ai(r,n.getBoundingClientRect())),a=Mi(t.getBoundingClientRect()),o=Pi([...i,...a]);s(o),d(!0)},[d]);return k.useEffect(()=>()=>f(),[f]),k.useEffect(()=>{if(c&&u){let e=X(e=>p(e,u),`handleTriggerLeave`),t=X(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),k.useEffect(()=>{if(o){let e=X(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Ni(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,J.jsx)(ki,{...e,ref:a})},`TooltipContentHoverable`)),Oi=ve(`TooltipContent`),ki=k.forwardRef(X(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,u=Z(Q,n),d=ui(n),{onClose:f}=u;k.useEffect(()=>(document.addEventListener(pi,f),()=>document.removeEventListener(pi,f)),[f]),k.useEffect(()=>{if(u.trigger){let e=X(e=>{e.target instanceof Node&&e.target.contains(u.trigger)&&f()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[u.trigger,f]);let{setContentId:p}=u;return C(()=>(p(a),()=>{p(void 0)}),[a,p]),(0,J.jsx)(l,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,J.jsxs)(he,{"data-state":u.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:u.contentId,...d,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,J.jsx)(Oi,{children:r}),i?(0,J.jsx)(pe,{id:u.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function Ai(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}X(Ai,`getExitSideFromRect`);function ji(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}X(ji,`getPaddedExitPoints`);function Mi(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}X(Mi,`getPointsFromRect`);function Ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}X(Ni,`isPointInPolygon`);function Pi(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Fi(t)}X(Pi,`getHull`);function Fi(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}X(Fi,`getHullPresorted`);function Ii(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}X(Ii,`concatAriaDescribedby`);var Li={tooltip:`_tooltip_1g9y0_1`,"tooltip-exit":`_tooltip-exit_1g9y0_1`,text:`_text_1g9y0_12`,measure:`_measure_1g9y0_13`,line:`_line_1g9y0_14`},Ri=250,zi=300,Bi=!1,Vi=0,Hi=0,Ui=new Set,$={subscribe(e){return Ui.add(e),()=>{Ui.delete(e)}},get:()=>Bi,set(e){Bi!==e&&(Bi=e,Ui.forEach(e=>e()))},opened(){Vi+=1,window.clearTimeout(Hi),$.set(!0)},closed(){Vi=Math.max(0,Vi-1),!Vi&&(window.clearTimeout(Hi),Hi=window.setTimeout(()=>$.set(!1),zi))}};function Wi({text:e}){let t=fe(),n=(0,k.useRef)(null),r=(0,k.useRef)(null),[i,a]=(0,k.useState)(null);return(0,k.useLayoutEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(([t])=>{let n=t.borderBoxSize?.[0],i=e.textContent,o=r.current!==null&&r.current!==i;r.current=i,a({width:Math.ceil(n?.inlineSize??e.offsetWidth),height:Math.ceil(n?.blockSize??e.offsetHeight),animate:o})});return t.observe(e),()=>t.disconnect()},[]),(0,J.jsxs)(D.span,{className:Li.text,initial:!1,animate:i?{width:i.width,height:i.height}:void 0,transition:i?.animate&&!t?E.spring.morph:{duration:0},children:[(0,J.jsx)(`span`,{ref:n,className:Li.measure,"aria-hidden":`true`,children:e}),(0,J.jsx)(le,{mode:`popLayout`,initial:!1,children:(0,J.jsx)(D.span,{className:Li.line,initial:!t&&{opacity:0,y:`0.3em`,filter:`blur(${E.blur.soft}px)`},animate:{opacity:1,y:0,filter:`blur(0px)`},exit:t?{opacity:0,transition:{duration:0}}:{opacity:0,y:`-0.3em`,filter:`blur(${E.blur.subtle}px)`,transition:{duration:E.duration.instant,ease:[...E.ease.standard]}},transition:{duration:E.duration.standard,ease:[...E.ease.enter]},children:e},e)})]})}function Gi({content:e,children:t,side:n=`top`}){let r=(0,k.useSyncExternalStore)($.subscribe,$.get,()=>!1),[i,a]=(0,k.useState)(!1),[o,s]=(0,k.useState)(!1);return(0,k.useEffect)(()=>{if(i)return $.opened(),$.closed},[i]),(0,J.jsx)(gi,{delayDuration:Ri,skipDelayDuration:0,children:(0,J.jsxs)(yi,{open:i,delayDuration:r?0:Ri,onOpenChange:e=>{e&&s($.get()),a(e)},children:[(0,J.jsx)(xi,{asChild:!0,children:t}),(0,J.jsx)(Ti,{children:(0,J.jsx)(Ei,{className:Li.tooltip,"data-instant":o||void 0,side:n,sideOffset:8,collisionPadding:12,children:typeof e==`string`||typeof e==`number`?(0,J.jsx)(Wi,{text:String(e)}):e})})]})})}function Ki({title:e,subtitle:r,actions:a,leading:o,children:s,contentClassName:c}){let l=n(),u=$r(),d=u.sidebarMode===`expanded`?l(`shell.collapseSidebar`):l(`shell.expandSidebar`);return(0,J.jsxs)(`div`,{className:`absolute inset-0 flex flex-col`,children:[(0,J.jsxs)(`header`,{className:`drag chrome flex h-[52px] shrink-0 items-center gap-2 pr-4 pl-2`,style:{paddingRight:oi||void 0},children:[(0,J.jsx)(Gi,{side:`bottom`,content:`${d}${b?` (${x}${y?`⌥`:`Alt+`}S)`:``}`,children:(0,J.jsx)(i,{variant:`plain`,icon:(0,J.jsx)(Pr,{className:`size-4`}),"aria-label":d,"aria-expanded":u.sidebarMode===`drawer`?u.drawerOpen:u.sidebarMode===`expanded`,onClick:u.toggleSidebar})}),o,(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`h1`,{className:`truncate text-[15px] leading-tight font-medium`,children:e}),r&&(0,J.jsx)(`div`,{className:`truncate text-[11px] text-[var(--text-secondary)]`,children:r})]}),(0,J.jsx)(`div`,{className:`ml-auto flex items-center gap-2`,children:a})]}),(0,J.jsx)(`div`,{className:t(`scroll scroll-edge min-h-0 flex-1 px-2 pt-5 pb-10`,u.sidebarMode===`drawer`&&`px-3`,c),style:{paddingRight:16},children:s})]})}export{we as C,cr as S,dn as _,Br as a,G as b,Ar as c,wr as d,Sr as f,nr as g,tr as h,Hr as i,Or as l,er as m,Gi as n,Rr as o,hr as p,ni as r,Ir as s,Ki as t,Er as u,pn as v,Ut as x,hn as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._tooltip_1g9y0_1{--tooltip-y:3px;z-index:90;max-width:15rem;padding:var(--space-3) var(--space-4);border:1px solid color-mix(in oklab, var(--background) 14%, var(--foreground));border-radius:var(--radius-control);background:var(--foreground);color:var(--background);box-shadow:var(--shadow-raised);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-body);transform-origin:var(--radix-tooltip-content-transform-origin);transition:opacity var(--duration-fast) var(--ease-enter), transform var(--duration-fast) var(--ease-enter)}._tooltip_1g9y0_1[data-side=bottom]{--tooltip-y:-3px}@starting-style{._tooltip_1g9y0_1[data-state$=-open]{opacity:0;transform:translateY(var(--tooltip-y)) scale(.97)}._tooltip_1g9y0_1[data-instant][data-state$=-open]{transform:none}}._tooltip_1g9y0_1[data-instant][data-state$=-open]{transition:opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard)}._tooltip_1g9y0_1[data-state=closed]{opacity:0;transition:opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);animation:_tooltip-exit_1g9y0_1 var(--duration-instant) linear both;transform:scale(.98)}._text_1g9y0_12{overflow-clip-margin:var(--space-2);display:block;position:relative;overflow:clip}._measure_1g9y0_13{width:max-content;max-width:calc(15rem - 2 * var(--space-4) - 2px);visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}._line_1g9y0_14{width:max-content;max-width:calc(15rem - 2 * var(--space-4) - 2px);display:block}@keyframes _tooltip-exit_1g9y0_1{to{--tooltip-exit:1}}@media (prefers-reduced-motion:reduce){._tooltip_1g9y0_1,._tooltip_1g9y0_1[data-state=closed],._tooltip_1g9y0_1[data-instant][data-state$=-open]{transition:opacity var(--duration-instant) var(--ease-standard);transform:none}}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ar as e,B as t,Cn as n,F as r,Fa as i,H as a,I as o,Ia as s,J as c,K as l,Lr as u,N as d,Ni as f,Nr as p,P as m,Pn as h,Sr as g,Tn as _,Tr as v,U as y,X as b,Y as x,Z as S,_r as C,a as w,an as T,dt as E,ei as D,i as O,jr as k,kr as A,mr as j,n as M,o as N,ot as P,ti as F,ut as ee,z as I,za as L,zr as te}from"./overlays-D1ZtG8Qn.js";import{S as ne,b as R,i as re,s as ie,t as ae,u as oe,x as se}from"./Page-CnSErb_N.js";import{t as ce}from"./arrow-down-CXkFrvO0.js";import{t as le}from"./arrow-up-BfREUNOR.js";import{t as z}from"./download-CMr38kbd.js";import{t as B}from"./ellipsis-zTWIrsa4.js";import{t as V}from"./external-link-BSHuW87X.js";import{C as H,S as U,_ as W,g as ue,m as de,v as fe,y as G}from"./index-PfVyiY3J.js";var K={name:`settings-2`,size:24,node:[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]};K.node;var pe=E(K),q=L(s(),1),J=i(),me=/^(?:(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*|github:[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)$/,Y={provider:`plugins.kind.provider`,middleware:`plugins.kind.middleware`,agent:`plugins.kind.agent`,pi:`plugins.kind.pi`},he={provider:`neutral`,middleware:`accent`,agent:`green`,pi:`orange`},ge={xai:`grok`,zcode:`glm`,"kiro-color":`kiro`,"workbuddy-color":`workbuddy`};function X({name:e,icon:t,kind:n,size:r=32}){let i=Math.round(r*.28);return t&&/^(https:|data:image\/)/i.test(t)?(0,J.jsx)(`img`,{src:t,alt:``,width:r,height:r,className:`shrink-0 object-contain`,style:{borderRadius:i},draggable:!1}):n===`middleware`||n===`agent`?(0,J.jsx)(`span`,{"aria-hidden":!0,className:`inline-flex shrink-0 items-center justify-center text-white`,style:{width:r,height:r,borderRadius:i,background:n===`middleware`?`#0a84ff`:`#30b0a0`},children:(0,J.jsx)(n===`middleware`?re:oe,{className:`size-[55%]`,strokeWidth:1.75})}):(0,J.jsx)(de,{name:e,icon:t?ge[t]??t:null,size:r})}function _e(){let{t:e}=_(),t=R(),{tab:n}=se(),i=n===`market`||n===`runtime`?n:`installed`,a=u(),o=f(),{toast:s}=N(),[c,l]=(0,q.useState)(!1),[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(null);return(0,J.jsxs)(ae,{title:e(`nav.plugins`),subtitle:e(`plugins.subtitle`),actions:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(r,{icon:(0,J.jsx)(H,{className:`size-3.5`}),onClick:()=>o.mutate(void 0,{onSuccess:e=>g(e.id),onError:e=>s(w(e),`error`)}),disabled:!a.data?.plugins.length,children:e(`plugins.updateAll`)}),(0,J.jsx)(r,{variant:`primary`,icon:(0,J.jsx)(ie,{className:`size-3.5`}),onClick:()=>l(!0),children:e(`plugins.add`)})]}),children:[(0,J.jsxs)(`div`,{className:`mx-auto flex max-w-[1100px] flex-col`,children:[a.data?.off&&(0,J.jsx)(d,{className:`mb-4`,tone:`warning`,title:e(`plugins.off`),children:e(`plugins.offDetail`)}),(0,J.jsxs)(ue,{value:i,onValueChange:e=>t(e===`installed`?`/plugins`:`/plugins/${e}`,{replace:!0}),children:[(0,J.jsxs)(fe,{"aria-label":e(`nav.plugins`),children:[(0,J.jsxs)(G,{value:`installed`,children:[e(`plugins.tab.installed`),a.data&&a.data.plugins.length>0&&(0,J.jsx)(`span`,{className:`ml-1.5 tabular-nums opacity-60`,children:a.data.plugins.length})]}),(0,J.jsx)(G,{value:`market`,children:e(`plugins.tab.market`)}),(0,J.jsx)(G,{value:`runtime`,children:e(`plugins.tab.runtime`)})]}),(0,J.jsxs)(W,{value:`installed`,className:`pt-1`,children:[a.isLoading&&(0,J.jsx)(x,{lines:4}),a.isError&&(0,J.jsx)(d,{tone:`danger`,title:e(`common.error`),children:w(a.error)}),a.data&&(0,J.jsx)(ve,{plugins:a.data.plugins,preferences:a.data.preferences,onJob:g,onBrowse:()=>t(`/plugins/market`),onImport:()=>m(!0)})]}),(0,J.jsx)(W,{value:`market`,className:`pt-1`,children:(0,J.jsx)(Ce,{installed:a.data?.plugins??[],onJob:g})}),(0,J.jsx)(W,{value:`runtime`,className:`pt-1`,children:(0,J.jsx)(we,{onJob:g})})]})]}),(0,J.jsx)(be,{open:c,onOpenChange:l,onJob:g}),(0,J.jsx)(xe,{open:p,onOpenChange:m,onJob:g}),(0,J.jsx)(Se,{id:h,onClose:()=>g(null)})]})}function ve({plugins:e,preferences:t,onJob:n,onBrowse:i,onImport:a}){let{t:o}=_(),s=A(e.some(e=>e.kinds.includes(`provider`)||e.kinds.includes(`pi`))),c=g(),l=F(),{toast:u}=N(),d=!!(c.data?.found&&c.data.plugins.some(e=>!e.installed))&&(0,J.jsxs)(`div`,{className:`card flex flex-wrap items-center gap-3 p-4`,children:[(0,J.jsx)(`span`,{className:`min-w-0 flex-1 text-[13px]`,children:o(`plugins.magpie.banner`,{count:c.data.plugins.filter(e=>!e.installed).length})}),(0,J.jsx)(r,{size:`sm`,icon:(0,J.jsx)(z,{className:`size-3.5`}),onClick:a,children:o(`plugins.magpie.import`)})]});if(e.length===0)return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d,(0,J.jsx)(`div`,{className:`card p-6`,children:(0,J.jsx)(I,{icon:(0,J.jsx)(P,{className:`size-6`}),title:o(`plugins.empty`),detail:o(`plugins.emptyDetail`),action:(0,J.jsx)(r,{variant:`primary`,onClick:i,children:o(`plugins.browseMarket`)})})})]});let f=(t,n)=>{let r=e.map(e=>e.spec),[i]=r.splice(t,1);r.splice(t+n,0,i),l.mutate(r,{onError:e=>u(w(e),`error`)})};return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[d,(0,J.jsx)(`div`,{className:`card divide-y divide-[var(--border-subtle)] p-0`,children:e.map((r,i)=>(0,J.jsx)(Z,{plugin:r,host:s.data,preferences:t,onJob:n,onUp:i>0?()=>f(i,-1):void 0,onDown:i<e.length-1?()=>f(i,1):void 0},r.spec))}),e.some(e=>e.middleware)&&(0,J.jsx)(`p`,{className:`px-1 text-[12px] text-[var(--text-muted)]`,children:o(`plugins.orderHint`)})]})}function Z({plugin:e,host:t,preferences:i,onJob:a,onUp:o,onDown:s}){let{t:c}=_(),l=R(),{toast:u,confirm:p}=N(),h=v(),g=f(),y=D(),x=te(),[S,C]=(0,q.useState)(!1),T=t?.plugins.find(t=>t.spec===e.spec),E=e.middleware,O=e.kinds[0]??`provider`,k=async()=>{await p({title:c(`plugins.removeConfirm`,{name:e.shortName}),detail:c(`plugins.removeDetail`),confirmLabel:c(`common.delete`),destructive:!0})&&y.mutate(e.spec,{onSuccess:e=>a(e.id),onError:e=>u(w(e),`error`)})},A=[];return E&&!E.error&&A.push((0,J.jsxs)(Q,{label:c(`plugins.kind.middleware`),children:[c(`plugins.mw.stats`,{hooks:E.hooks.join(`, `),calls:E.calls,micros:E.avgMicros.toFixed(1),failures:E.failures}),E.lastError&&(0,J.jsx)(`span`,{className:`block text-[var(--danger)]`,children:c(`plugins.mw.lastError`,{error:E.lastError})})]},`mw`)),e.agent?.kind&&A.push((0,J.jsx)(Q,{label:c(`plugins.kind.agent`),children:(0,J.jsx)(`button`,{type:`button`,className:`text-[var(--accent)] underline-offset-2 hover:underline`,onClick:()=>l(`/clients/${e.agent.kind}`),children:c(`plugins.agent.adds`,{name:e.agent.name??e.agent.id??``})})},`agent`)),T&&T.provides.length>0&&A.push((0,J.jsxs)(Q,{label:c(`plugins.kind.provider`),children:[(0,J.jsx)(`span`,{children:c(`plugins.provides`,{providers:T.provides.join(`, `)})}),(0,J.jsx)(`button`,{type:`button`,className:`ml-2 text-[var(--accent)] underline-offset-2 hover:underline`,onClick:()=>l(`/providers`),children:c(`plugins.openProviders`)}),Object.entries(T.servedBy).map(([t,n])=>(0,J.jsxs)(`span`,{className:`mt-1 flex flex-wrap items-center gap-2 text-[var(--warning)]`,children:[c(`plugins.servedBy`,{provider:t,other:n}),(0,J.jsx)(r,{size:`sm`,onClick:()=>x.mutate({spec:e.spec,provider:t},{onError:e=>u(w(e),`error`)}),children:c(`plugins.useFor`,{provider:t})})]},t)),T.provides.some(t=>i[t]===e.spec)&&(0,J.jsx)(`span`,{className:`block text-[var(--text-muted)]`,children:c(`plugins.picked`)})]},`provides`)),(0,J.jsxs)(`article`,{className:n(`flex gap-3 px-4 py-3.5`,!e.enabled&&`opacity-70`),children:[(0,J.jsx)(`div`,{className:n(`pt-0.5`,!e.enabled&&`grayscale`),children:(0,J.jsx)(X,{name:e.shortName,icon:e.icon,kind:O})}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-3 gap-y-1`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 basis-56 flex-col`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`truncate text-[14px] font-medium`,children:e.shortName}),e.version&&(0,J.jsxs)(`span`,{className:`font-mono text-[11px] text-[var(--text-muted)]`,children:[`v`,e.version]}),e.kinds.map(e=>(0,J.jsx)(m,{tone:he[e],children:c(Y[e])},e)),e.isPath&&(0,J.jsx)(m,{tone:`orange`,children:c(`plugins.local`)})]}),(0,J.jsx)(`span`,{className:`truncate font-mono text-[11px] text-[var(--text-muted)]`,title:e.spec,children:e.spec})]}),(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[E&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(r,{size:`sm`,variant:`plain`,"aria-label":c(`plugins.moveUp`),title:c(`plugins.moveUp`),disabled:!o,onClick:o,icon:(0,J.jsx)(le,{className:`size-3.5`})}),(0,J.jsx)(r,{size:`sm`,variant:`plain`,"aria-label":c(`plugins.moveDown`),title:c(`plugins.moveDown`),disabled:!s,onClick:s,icon:(0,J.jsx)(ce,{className:`size-3.5`})})]}),(0,J.jsx)(b,{checked:e.enabled,label:c(`plugins.enabled`),onChange:t=>h.mutate({spec:e.spec,enabled:t},{onError:e=>u(w(e),`error`)})}),(0,J.jsx)(M,{label:c(`common.more`),iconOnly:!0,icon:(0,J.jsx)(B,{className:`size-4`}),items:[{id:`options`,label:c(`plugins.options`),icon:(0,J.jsx)(pe,{className:`size-3.5`}),onSelect:()=>C(!0)},...e.isPath?[]:[{id:`update`,label:c(`plugins.update`),icon:(0,J.jsx)(H,{className:`size-3.5`}),onSelect:()=>g.mutate(e.spec,{onSuccess:e=>a(e.id),onError:e=>u(w(e),`error`)})}],{id:`remove`,label:c(`common.delete`),icon:(0,J.jsx)(U,{className:`size-3.5`}),destructive:!0,separatorBefore:!0,onSelect:()=>void k()}]})]})]}),e.error&&(0,J.jsx)(d,{tone:`danger`,title:c(`plugins.cantLoad`),children:e.error}),T?.error&&(0,J.jsx)(d,{tone:`danger`,title:c(`plugins.hostCantLoad`),children:T.error}),E?.error&&(0,J.jsx)(d,{tone:`danger`,title:c(`plugins.cantLoad`),children:c(`plugins.mw.error`,{error:E.error})}),e.agent?.error&&(0,J.jsx)(d,{tone:`danger`,title:c(`plugins.cantLoad`),children:c(`plugins.agent.error`,{error:e.agent.error})}),A.length>0&&(0,J.jsx)(`div`,{className:`flex flex-col gap-1.5 rounded-lg bg-[var(--surface-muted)] px-3 py-2`,children:A})]}),(0,J.jsx)(ye,{plugin:e,open:S,onOpenChange:C})]})}function Q({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`flex gap-3 text-[12px]`,children:[(0,J.jsx)(`span`,{className:`w-14 shrink-0 text-[var(--text-muted)]`,children:e}),(0,J.jsx)(`div`,{className:`min-w-0 flex-1 text-[var(--text-secondary)]`,children:t})]})}function ye({plugin:e,open:t,onOpenChange:n}){let{t:i}=_(),{toast:a}=N(),o=v(),[s,c]=(0,q.useState)(``),[l,u]=(0,q.useState)(null);(0,q.useEffect)(()=>{t&&(c(JSON.stringify(e.options??e.optionsExample??{},null,2)),u(null))},[t,e.options,e.optionsExample]);let d=t=>o.mutate({spec:e.spec,options:t},{onSuccess:()=>(a(i(`plugins.optionsSaved`)),n(!1)),onError:e=>a(w(e),`error`)});return(0,J.jsxs)(O,{open:t,onOpenChange:n,title:i(`plugins.optionsTitle`,{name:e.shortName}),description:e.options?void 0:e.optionsExample?i(`plugins.optionsExample`):i(`plugins.optionsNone`),width:560,footer:(0,J.jsxs)(J.Fragment,{children:[e.options&&(0,J.jsx)(r,{onClick:()=>d(null),children:i(`plugins.optionsClear`)}),(0,J.jsx)(r,{variant:`primary`,onClick:()=>{try{let e=JSON.parse(s||`{}`);if(typeof e!=`object`||!e||Array.isArray(e))throw Error(i(`plugins.optionsObject`));d(e)}catch(e){u(e instanceof Error?e.message:String(e))}},disabled:o.isPending,children:i(`common.save`)})]}),children:[(0,J.jsx)(S,{mono:!0,rows:14,value:s,invalid:!!l,onChange:e=>(c(e.target.value),u(null)),label:i(`plugins.options`)}),l&&(0,J.jsx)(`p`,{className:`mt-2 text-[12px] text-[var(--danger)]`,children:l})]})}function be({open:e,onOpenChange:n,onJob:i}){let{t:o}=_(),{toast:s}=N(),c=h(),[l,u]=(0,q.useState)(``);return(0,q.useEffect)(()=>{e&&u(``)},[e]),(0,J.jsxs)(O,{open:e,onOpenChange:n,title:o(`plugins.addTitle`),description:o(`plugins.addDetail`),footer:(0,J.jsx)(r,{variant:`primary`,disabled:!l.trim()||c.isPending,onClick:()=>c.mutate({spec:l.trim()},{onSuccess:e=>(i(e.id),n(!1)),onError:e=>s(w(e),`error`)}),children:o(`plugins.install`)}),children:[(0,J.jsx)(t,{label:o(`plugins.spec`),hint:o(`plugins.specHint`),children:(0,J.jsx)(a,{mono:!0,value:l,onChange:e=>u(e.target.value),placeholder:`@magpie-community/middleware-word-guard`,autoFocus:!0})}),(0,J.jsx)(d,{tone:`warning`,title:o(`plugins.trustTitle`),className:`mt-4`,children:o(`plugins.trustDetail`)})]})}function xe({open:e,onOpenChange:t,onJob:n}){let{t:i}=_(),{toast:a}=N(),o=g(e),s=j(),[c,l]=(0,q.useState)(!1),u=o.data;return(0,J.jsxs)(O,{open:e,onOpenChange:t,title:i(`plugins.magpie.title`),description:u?.path,width:560,footer:(0,J.jsx)(r,{variant:`primary`,disabled:!u?.found||s.isPending,onClick:()=>s.mutate(c,{onSuccess:e=>(n(e.id),t(!1)),onError:e=>a(w(e),`error`)}),children:i(`plugins.magpie.import`)}),children:[o.isLoading&&(0,J.jsx)(x,{lines:3}),u?.error&&(0,J.jsx)(d,{tone:`danger`,title:i(`common.error`),children:u.error}),u&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`card divide-y divide-[var(--border-subtle)] p-0`,children:u.plugins.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-[12px]`,children:[(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:e.spec}),e.off&&(0,J.jsx)(m,{children:i(`plugins.magpie.off`)}),e.hasOptions&&(0,J.jsx)(m,{tone:`accent`,children:i(`plugins.options`)}),e.installed&&(0,J.jsx)(m,{tone:`green`,children:i(`plugins.installed`)})]},e.spec))}),u.signIns>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(b,{checked:c,onChange:l,label:i(`plugins.magpie.signIns`,{count:u.signIns})}),(0,J.jsx)(`p`,{className:`text-[12px] text-[var(--text-secondary)]`,children:i(`plugins.magpie.signInsDetail`)})]})]})]})}function Se({id:t,onClose:n}){let{t:i}=_(),a=e(t).data;return(0,J.jsxs)(O,{open:!!t,onOpenChange:e=>!e&&n(),title:i(`plugins.job.title`),description:a?i(a.state===`running`?`plugins.job.running`:a.state===`succeeded`?`plugins.job.done`:`plugins.job.failed`,{target:a.target}):void 0,width:620,footer:(0,J.jsx)(r,{onClick:n,children:i(`common.close`)}),children:[!a&&(0,J.jsx)(x,{lines:3}),a&&(0,J.jsx)(o,{language:`text`,children:a.log.length?a.log.join(`
|
|
2
|
-
`):`…`}),a?.state===`failed`&&a.error&&(0,J.jsx)(d,{tone:`danger`,title:i(`plugins.job.failedTitle`),className:`mt-3`,children:a.error})]})}function Ce({installed:e,onJob:t}){let{t:n,locale:r}=_(),{toast:i,confirm:a}=N(),o=k(),s=h(),[u,f]=(0,q.useState)(``),[m,g]=(0,q.useState)(``),[v,y]=(0,q.useState)(`all`);(0,q.useEffect)(()=>{let e=setTimeout(()=>g(u.trim()),400);return()=>clearTimeout(e)},[u]);let b=p(m),S=(0,q.useMemo)(()=>new Set(e.map(e=>e.name)),[e]),C=(t,n)=>S.has(n)||e.some(e=>e.spec===t),T=async(e,r)=>{await a({title:n(`plugins.installConfirm`,{name:e}),detail:n(`plugins.trustDetail`),confirmLabel:n(`plugins.install`)})&&s.mutate({spec:e,source:r},{onSuccess:e=>t(e.id),onError:e=>i(w(e),`error`)})},[E,D]=ne(),O=E.get(`install`),A=(0,q.useRef)(null);(0,q.useEffect)(()=>{O&&A.current!==O&&(A.current=O,D({},{replace:!0}),me.test(O)?T(O,`market`):i(n(`plugins.linkInvalid`),`error`))},[O]);let j=(o.data??[]).filter(e=>v===`all`||e.kind===v),M=e=>(o.data??[]).filter(t=>e===`all`||t.kind===e).length,F=m.length>=2;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,J.jsx)(l,{className:`min-w-[220px] flex-1`,value:u,onChange:f,placeholder:n(`plugins.searchPlaceholder`)}),!F&&(0,J.jsx)(c,{ariaLabel:n(`plugins.kindFilter`),value:v,onChange:y,items:[`all`,`provider`,`middleware`,`agent`].map(e=>({value:e,label:`${n(e===`all`?`plugins.kind.all`:Y[e])} ${M(e)}`}))})]}),F?(0,J.jsxs)(J.Fragment,{children:[b.isLoading&&(0,J.jsx)(x,{lines:3}),b.data?.length===0&&(0,J.jsx)(`div`,{className:`card p-6`,children:(0,J.jsx)(I,{icon:(0,J.jsx)(P,{className:`size-6`}),title:n(`plugins.noResults`)})}),b.data&&b.data.length>0&&(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:b.data.map(e=>(0,J.jsx)($,{title:e.name,subtitle:e.spec,icon:(0,J.jsx)(X,{name:e.name,kind:e.kind}),detail:e.description??void 0,tags:[n(Y[e.kind]),e.source===`github`?`★ ${e.stars}`:e.version?`v${e.version}`:``,e.source===`astra`?n(`plugins.origin.astra`):``],installed:C(e.spec,e.name),onInstall:()=>void T(e.spec,e.source===`github`?`github`:e.source===`astra`?`market`:`npm`)},e.spec))}),(0,J.jsx)(`p`,{className:`px-1 text-[12px] text-[var(--text-muted)]`,children:n(`plugins.searchNote`)})]}):(0,J.jsxs)(J.Fragment,{children:[o.isLoading&&(0,J.jsx)(x,{lines:4}),o.isError&&(0,J.jsx)(d,{tone:`danger`,title:n(`common.error`),children:w(o.error)}),(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:j.map(e=>(0,J.jsx)($,{title:e.name,subtitle:e.package,icon:(0,J.jsx)(X,{name:e.name,icon:e.icon,kind:e.kind}),detail:e.summary[r]??e.summary.en??e.description??void 0,tags:[n(Y[e.kind]),e.latest?`v${e.latest}`:``,e.origin===`astra`?n(`plugins.origin.astra`):``,e.minAstraVersion?n(`plugins.minVersion`,{version:e.minAstraVersion}):``].filter(Boolean),installed:C(e.package,e.package),onInstall:()=>void T(e.package,`market`)},e.package))}),(0,J.jsx)(`p`,{className:`px-1 text-[12px] text-[var(--text-muted)]`,children:n(`plugins.marketNote`)})]})]})}function $({title:e,subtitle:t,icon:n,detail:i,tags:a,installed:o,onInstall:s}){let{t:c}=_();return(0,J.jsxs)(`div`,{className:`card flex flex-col gap-3 p-4 transition-colors hover:border-[var(--border)]`,children:[(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[n,(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-[14px] font-medium`,title:e,children:e}),(0,J.jsx)(`span`,{className:`truncate font-mono text-[11px] text-[var(--text-muted)]`,title:t,children:t})]})]}),(0,J.jsx)(`p`,{className:`line-clamp-2 min-h-[2lh] text-[12px] leading-relaxed text-[var(--text-secondary)]`,children:i??``}),(0,J.jsxs)(`div`,{className:`mt-auto flex items-center gap-1.5`,children:[a.filter(Boolean).map(e=>(0,J.jsx)(m,{children:e},e)),(0,J.jsx)(`span`,{className:`flex-1`}),o?(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[12px] text-[var(--success)]`,children:[(0,J.jsx)(ee,{className:`size-3.5`}),c(`plugins.installed`)]}):(0,J.jsx)(r,{size:`sm`,variant:`primary`,onClick:s,children:c(`plugins.install`)})]})]})}function we({onJob:e}){let{t,locale:n}=_(),{toast:i}=N(),a=u(),o=A(),s=C(),c=a.data?.runtime;return(0,J.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,J.jsxs)(`section`,{className:`card flex flex-col gap-3 p-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`h3`,{className:`flex-1 text-[14px] font-medium`,children:`Bun`}),c&&(0,J.jsx)(m,{tone:c.path?`green`:`neutral`,children:c.path?t(`plugins.bunReady`):t(`plugins.bunMissing`)})]}),(0,J.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--text-secondary)]`,children:t(`plugins.bunDetail`)}),c&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[c.path&&(0,J.jsx)(y,{label:t(`plugins.bunPath`),mono:!0,children:c.path}),c.version&&(0,J.jsx)(y,{label:t(`plugins.bunVersion`),mono:!0,children:c.version}),(0,J.jsx)(y,{label:t(`plugins.bunTarget`),mono:!0,children:c.target??t(`plugins.bunNoBuild`)})]}),c?.error&&(0,J.jsx)(d,{tone:`danger`,title:t(`plugins.bunFailed`),children:c.error}),c&&!c.path&&(0,J.jsx)(`div`,{children:(0,J.jsx)(r,{variant:`primary`,disabled:c.downloading||s.isPending||!c.target,onClick:()=>s.mutate(void 0,{onSuccess:t=>e(t.id),onError:e=>i(w(e),`error`)}),children:c.downloading?t(`plugins.bunDownloading`):t(`plugins.bunDownload`,{version:c.version??``})})})]}),(0,J.jsxs)(`section`,{className:`card flex flex-col gap-3 p-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`h3`,{className:`flex-1 text-[14px] font-medium`,children:t(`plugins.host`)}),o.data&&(0,J.jsx)(m,{tone:o.data.running?`green`:`neutral`,children:o.data.running?t(`plugins.hostRunning`):t(`plugins.hostStopped`)})]}),(0,J.jsx)(`p`,{className:`text-[12px] leading-relaxed text-[var(--text-secondary)]`,children:t(`plugins.hostDetail`)}),o.data?.startError&&(0,J.jsx)(d,{tone:`danger`,title:t(`plugins.hostStartFailed`),children:o.data.startError}),o.data?.goneReason&&(0,J.jsx)(d,{tone:`warning`,title:t(`plugins.hostGone`),children:o.data.goneReason}),o.data&&o.data.plugins.length>0&&(0,J.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.data.plugins.map(e=>(0,J.jsx)(y,{label:e.spec,mono:!0,children:e.error?t(`plugins.hostPluginError`,{error:e.error}):e.provides.join(`, `)||`—`},e.spec))}),o.data?.recent&&o.data.recent.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-t border-[var(--border-subtle)] pt-3`,children:[(0,J.jsx)(`h4`,{className:`text-[12px] font-medium text-[var(--text-secondary)]`,children:t(`plugins.hostRecent`)}),o.data.recent.map((e,t)=>(0,J.jsxs)(`div`,{className:`flex items-start gap-2 text-[12px]`,children:[(0,J.jsx)(m,{tone:e.variant===`error`?`red`:e.variant===`warning`?`orange`:e.variant===`success`?`green`:`neutral`,children:T(e.at,n)}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1 break-words`,children:[e.title&&(0,J.jsxs)(`span`,{className:`font-medium`,children:[e.title,` `]}),e.message]})]},t))]})]}),(0,J.jsxs)(`a`,{className:`flex items-center gap-1 px-1 text-[12px] text-[var(--text-muted)] hover:text-[var(--accent)] lg:col-span-2`,href:`https://github.com/magpie-community/plugins`,target:`_blank`,rel:`noreferrer`,children:[(0,J.jsx)(V,{className:`size-3`}),` magpie-community/plugins`]})]})}export{_e as PluginsPage};
|