@ahpd/web 0.3.1 → 0.4.0
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/README.md +27 -20
- package/dist/app/ahpw.svg +4 -4
- package/dist/app/assets/ActionList-Bc-jZDaT.css +1 -0
- package/dist/app/assets/ActionList-QwhYPQiB.js +1 -0
- package/dist/app/assets/ActivityBarItem-B2nm6zWz.css +1 -0
- package/dist/app/assets/ActivityBarItem-DNjVAT_E.js +1 -0
- package/dist/app/assets/Alert-BhdRA0LL.js +1 -0
- package/dist/app/assets/AudioPage-CTBMdEWh.js +1 -0
- package/dist/app/assets/ChoicePicker-I5V6f-aN.js +1 -0
- package/dist/app/assets/CodeEditor-C-ygqVsY.js +3 -0
- package/dist/app/assets/CommandPalette-wYX5XXUP.js +1 -0
- package/dist/app/assets/Composer-DHrV5Yeq.js +2 -0
- package/dist/app/assets/{ContextMenu-BV1gdog0.js → ContextMenu-DYnWIBAF.js} +1 -1
- package/dist/app/assets/CopyButton-Dqp4FT7R.js +1 -0
- package/dist/app/assets/{DataTable-8woVlU4S.js → DataTable-Di749duh.js} +1 -1
- package/dist/app/assets/Details-DD3vmkCl.js +1 -0
- package/dist/app/assets/DiffPage-BId8ozv7.js +3 -0
- package/dist/app/assets/Edit-jFXpMjZc.js +1 -0
- package/dist/app/assets/Explorer-COyfGhcR.js +1 -0
- package/dist/app/assets/Explorer-Cau0IyIv.js +1 -0
- package/dist/app/assets/Explorer-DV3iMW_H.js +1 -0
- package/dist/app/assets/Explorer-Dfcbd81k.js +1 -0
- package/dist/app/assets/Explorer-gCfiH4Xy.js +1 -0
- package/dist/app/assets/ExplorerList-0duzRsX6.js +1 -0
- package/dist/app/assets/FilePage-C2oyHqAU.js +1 -0
- package/dist/app/assets/Filter-C4R4cZ-3.js +1 -0
- package/dist/app/assets/HeaderAction-5M2x4m1w.css +1 -0
- package/dist/app/assets/HeaderAction-Vq-h0k1X.js +1 -0
- package/dist/app/assets/HostSwitcher-CpnK8XaS.js +1 -0
- package/dist/app/assets/ImagePage-iB_X7JK-.js +1 -0
- package/dist/app/assets/Info-zs1cf5D4.js +1 -0
- package/dist/app/assets/LocaleToggle-Bnt4p8rr.js +1 -0
- package/dist/app/assets/LogPage-BksXBBRH.js +1 -0
- package/dist/app/assets/LoginForm-C83NjSZc.js +1 -0
- package/dist/app/assets/MarkdownPage-B3Uf-uhF.js +1 -0
- package/dist/app/assets/Modal-xWzwLA8s.js +1 -0
- package/dist/app/assets/MountTitle-BYR1nX0U.js +1 -0
- package/dist/app/assets/New-DSGbzxwy.js +4 -0
- package/dist/app/assets/OpenEditors-FoK0L7cG.js +1 -0
- package/dist/app/assets/Page-C__t0LNx.js +1 -0
- package/dist/app/assets/Page-D2Aojkph.js +2 -0
- package/dist/app/assets/Page-D_hX82GR.js +1 -0
- package/dist/app/assets/PageAlert-B8ulCXV4.js +1 -0
- package/dist/app/assets/Pagination-Bt7IC1tA.js +1 -0
- package/dist/app/assets/PortaLock-Q4MlsHWm.js +2 -0
- package/dist/app/assets/SchemaForm-byhtwSG1.css +1 -0
- package/dist/app/assets/SchemaForm-uhkLDWDC.js +1 -0
- package/dist/app/assets/Settings-D7Fa-31J.js +1 -0
- package/dist/app/assets/{SigillumGate-Bq_GLDvI.js → SigillumGate-B75RU_FM.js} +1 -1
- package/dist/app/assets/SingleLayout-DrZzqh9e.js +1 -0
- package/dist/app/assets/SpatialLayout-DZfRmqF0.js +1 -0
- package/dist/app/assets/Spinner-CBEPv0eM.js +1 -0
- package/dist/app/assets/SplitLayout-Bytjyrrj.js +1 -0
- package/dist/app/assets/StackLayout-BCyRY0nG.js +1 -0
- package/dist/app/assets/Start-DX8T0ii8.js +1 -0
- package/dist/app/assets/TabLayout-Czi2A6i3.js +1 -0
- package/dist/app/assets/TabPanelLayout-B_7L0Dyp.js +1 -0
- package/dist/app/assets/TerminalPage-BOIBCy2W.js +18 -0
- package/dist/app/assets/ThemeModeToggle-CFpNVcU1.js +1 -0
- package/dist/app/assets/ThemePicker-CqnA9Que.js +1 -0
- package/dist/app/assets/Tree-BvNPcfhW.js +1 -0
- package/dist/app/assets/{VideoPage-Cz7g_2E1.js → VideoPage-v3zVSos7.js} +1 -1
- package/dist/app/assets/WindowControls-BuiQSjfa.js +1 -0
- package/dist/app/assets/actions-CIzLn0YN.js +1 -0
- package/dist/app/assets/changeset-IbJWvDqP.js +1 -0
- package/dist/app/assets/{channel-UD2KGCy_.js → channel-C6Ss9Aem.js} +1 -1
- package/dist/app/assets/{clicks-DIh3kBLi.js → clicks-Doh5a3f9.js} +1 -1
- package/dist/app/assets/composer-commands-BOXuqfcP.js +2 -0
- package/dist/app/assets/data-DPJ4OTLn.js +2 -0
- package/dist/app/assets/{dist-C5-Hv917.js → dist-2b3tV-Z7.js} +1 -1
- package/dist/app/assets/dist-BCQ-dSMw.js +9 -0
- package/dist/app/assets/{dist-CxEuuaKq.js → dist-BMwhNxyY.js} +1 -1
- package/dist/app/assets/dist-BVWBMVma.js +1 -0
- package/dist/app/assets/dist-BvY_obDK.js +13 -0
- package/dist/app/assets/dist-CHrzvaer.js +11 -0
- package/dist/app/assets/{dist-1MAn9CBM.js → dist-CaJpOCLg.js} +1 -1
- package/dist/app/assets/{dist-BdNRSgzN.js → dist-Cy5nEZGW.js} +2 -2
- package/dist/app/assets/dist-DUiHb392.js +1 -0
- package/dist/app/assets/dist-DVLbqnEo.js +23 -0
- package/dist/app/assets/dist-DrG75V-Z.js +6 -0
- package/dist/app/assets/dist-DxvAUGwy.js +1 -0
- package/dist/app/assets/{dist-uvIW_qsj.js → dist-UsePpmWK.js} +1 -1
- package/dist/app/assets/{dist-Bq_hlZV8.js → dist-ZM5yW1OM.js} +1 -1
- package/dist/app/assets/dist-a56DBHT4.js +1 -0
- package/dist/app/assets/dist-fdt_fTp5.js +1 -0
- package/dist/app/assets/{emojis-7RT6GvLa.js → emojis-DanG-8fr.js} +1 -1
- package/dist/app/assets/{folder-path-CTpCmycG.js → folder-path-CJJ4uFfN.js} +1 -1
- package/dist/app/assets/grouping-DtiUUpdw.js +1 -0
- package/dist/app/assets/index-BiJaGB50.css +1 -0
- package/dist/app/assets/index-xynK_AEL.js +14 -0
- package/dist/app/assets/label-hTY0RCEf.js +1 -0
- package/dist/app/assets/locales-Dnk_Y338.js +1 -0
- package/dist/app/assets/media-Da9OmSvb.js +1 -0
- package/dist/app/assets/notify-BmjJL_fx.js +1 -0
- package/dist/app/assets/sessions-CLjdYeF3.js +2 -0
- package/dist/app/assets/state-CKNqusrK.js +1 -0
- package/dist/app/assets/terminal-_7S7Eyr-.js +1 -0
- package/dist/app/assets/text-D_lQQGN1.js +1 -0
- package/dist/app/assets/turn-z1TPlA5Q.js +3 -0
- package/dist/app/assets/useI18n-T3BwAm0z.js +1 -0
- package/dist/app/assets/useStoreLabel-BtAsVCsr.js +1 -0
- package/dist/app/assets/viewers-Vk4T9IkZ.js +1 -0
- package/dist/app/assets/words-DF1J9CaQ.js +2 -0
- package/dist/app/index.html +28 -24
- package/dist/plugin/index.d.ts +2 -2
- package/dist/plugin/index.js +2 -2
- package/dist/plugin/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/app/assets/ActionList-Bawu-Lja.css +0 -1
- package/dist/app/assets/ActionList-aOUHK9Z9.js +0 -1
- package/dist/app/assets/ActivityBarItem-Cyes10aK.css +0 -1
- package/dist/app/assets/ActivityBarItem-DVzJQ1uh.js +0 -1
- package/dist/app/assets/Alert-CHZkhmDE.js +0 -1
- package/dist/app/assets/AudioPage-DAAck9ph.js +0 -1
- package/dist/app/assets/ChoicePicker-Cg4Cj6B2.js +0 -1
- package/dist/app/assets/Composer-Dp_Z0bXp.js +0 -2
- package/dist/app/assets/CopyButton-DWmFc5fw.js +0 -1
- package/dist/app/assets/Details-ByJkvhJN.js +0 -1
- package/dist/app/assets/DiffPage-Ck21x0bd.js +0 -3
- package/dist/app/assets/Edit-rv9ZDDDu.js +0 -1
- package/dist/app/assets/Explorer-CDm6vvt6.js +0 -1
- package/dist/app/assets/Explorer-CNz5U5q-.js +0 -1
- package/dist/app/assets/Explorer-DS_lqr3R.js +0 -1
- package/dist/app/assets/Explorer-DoNVPZ-C.js +0 -1
- package/dist/app/assets/Explorer-VoN5CYd5.js +0 -1
- package/dist/app/assets/ExplorerList-DfesRs43.js +0 -1
- package/dist/app/assets/FilePage-CAUDXIh9.js +0 -3
- package/dist/app/assets/Filter-D1FpBH5R.js +0 -1
- package/dist/app/assets/HostSwitcher-BuSTjyO6.js +0 -1
- package/dist/app/assets/ImagePage-cy_jkGi1.js +0 -1
- package/dist/app/assets/Info-DqnamTeq.js +0 -1
- package/dist/app/assets/LocaleToggle-B91QrqGs.js +0 -1
- package/dist/app/assets/LogPage-CKm7_URt.js +0 -1
- package/dist/app/assets/LoginForm-rBz-5JFG.js +0 -1
- package/dist/app/assets/MarkdownPage-DgalhN_B.js +0 -1
- package/dist/app/assets/Modal-BHPfQpzr.js +0 -1
- package/dist/app/assets/MountTitle-Bx_Vo8tF.js +0 -1
- package/dist/app/assets/New-D6QCCHrx.js +0 -3
- package/dist/app/assets/Page-CnfUTsQD.js +0 -2
- package/dist/app/assets/Page-DGp_WebG.js +0 -1
- package/dist/app/assets/Page-Dqf45zd4.js +0 -1
- package/dist/app/assets/Pagination-fEfxXCWD.js +0 -1
- package/dist/app/assets/PortaLock-BFpTWuKB.js +0 -2
- package/dist/app/assets/SchemaForm-B_SWmx0L.css +0 -1
- package/dist/app/assets/SchemaForm-DKxGZpnK.js +0 -1
- package/dist/app/assets/Settings-ALaVSuhU.js +0 -1
- package/dist/app/assets/SingleLayout-BzRi_cEY.js +0 -1
- package/dist/app/assets/SpatialLayout-Cote5YNZ.js +0 -1
- package/dist/app/assets/Spinner-B-iOhBZq.js +0 -1
- package/dist/app/assets/SplitLayout-CK5SuMF1.js +0 -1
- package/dist/app/assets/StackLayout-BUdng0sD.js +0 -1
- package/dist/app/assets/Start-D5KBqSwf.js +0 -1
- package/dist/app/assets/TabLayout-ByKrZ0yM.js +0 -1
- package/dist/app/assets/TabPanelLayout-B4DWG6Zm.js +0 -1
- package/dist/app/assets/TerminalPage-CDtmKMSK.js +0 -18
- package/dist/app/assets/ThemeModeToggle-C0j9D4s0.js +0 -1
- package/dist/app/assets/ThemePicker-DEUED0NH.js +0 -1
- package/dist/app/assets/Tree-fxC7yDSR.js +0 -1
- package/dist/app/assets/WindowControls-BWi1hOPh.js +0 -1
- package/dist/app/assets/actions-BzJiPQuh.js +0 -1
- package/dist/app/assets/changeset-eZAmDe3s.js +0 -1
- package/dist/app/assets/composer-commands-B8AF8OGi.js +0 -2
- package/dist/app/assets/data-hUAVersf.js +0 -2
- package/dist/app/assets/dist-33oU5N7i.js +0 -1
- package/dist/app/assets/dist-B4E-6SqB.js +0 -1
- package/dist/app/assets/dist-BDH0Q8eg.js +0 -13
- package/dist/app/assets/dist-BfGIsxxP.js +0 -1
- package/dist/app/assets/dist-BwHJSc3S.js +0 -6
- package/dist/app/assets/dist-DUFzb_Eu.js +0 -23
- package/dist/app/assets/dist-DX2Uz40S.js +0 -9
- package/dist/app/assets/dist-Db_OB0lX.js +0 -11
- package/dist/app/assets/dist-IR189dk6.js +0 -1
- package/dist/app/assets/dist-rmKzqdIO.js +0 -1
- package/dist/app/assets/index-B1VQ36Tb.css +0 -1
- package/dist/app/assets/index-yhQX4tVS.js +0 -14
- package/dist/app/assets/media-Coozt7AL.js +0 -1
- package/dist/app/assets/notify-BQ9fSOfy.js +0 -1
- package/dist/app/assets/registry-iidw4F1W.js +0 -1
- package/dist/app/assets/sessions-8PScJEDe.js +0 -2
- package/dist/app/assets/state-KGSq646f.js +0 -1
- package/dist/app/assets/terminal-BPj7jGw5.js +0 -1
- package/dist/app/assets/text-BdULOY8N.js +0 -1
- package/dist/app/assets/turn-BoF7W1h6.js +0 -3
- package/dist/app/assets/useStoreLabel-BuZT1So6.js +0 -1
- package/dist/app/assets/viewers-MssMDn0e.js +0 -1
- package/dist/app/assets/words-CyqfIDyJ.js +0 -2
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ Turn on the API on the daemon's own port:
|
|
|
52
52
|
}
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Then open `http://127.0.0.1:9187/plugins/
|
|
55
|
+
Then open `http://127.0.0.1:9187/plugins/web/`.
|
|
56
56
|
|
|
57
57
|
Keep `http.port` unset. On another port the API is on another origin, and the page cannot reach it.
|
|
58
58
|
|
|
@@ -155,7 +155,7 @@ AHPW_SCENA=../scena pnpm dev
|
|
|
155
155
|
|
|
156
156
|
An app that embeds ahpw, as [ahp-desk](https://github.com/softov/ahp-desk) does, sets `globalThis.ahpwEmbedder` before ahpw's scripts run.
|
|
157
157
|
ahpw then takes its host and token from it instead of the address bar, and draws the window's frame when it gives one.
|
|
158
|
-
The contract is `src/embed/index.ts`, and its types are exported as `@ahpd/web/embed`.
|
|
158
|
+
The contract is `src/shell/embed/index.ts`, and its types are exported as `@ahpd/web/embed`.
|
|
159
159
|
|
|
160
160
|
To try a local build in ahpd:
|
|
161
161
|
|
|
@@ -198,24 +198,31 @@ npm sets a trusted publisher on a package that exists, so the first version is p
|
|
|
198
198
|
| --- | --- |
|
|
199
199
|
| `plugin/` | The ahpd plugin: one route serving `dist/app` |
|
|
200
200
|
| `cli/` | `ahpw serve`: the same route on its own server, and the socket proxy |
|
|
201
|
-
| `src/
|
|
202
|
-
| `src/
|
|
203
|
-
| `src/
|
|
204
|
-
| `src/
|
|
205
|
-
| `src/
|
|
206
|
-
| `src/
|
|
207
|
-
| `src/
|
|
208
|
-
| `src/
|
|
209
|
-
| `src/
|
|
210
|
-
| `src/
|
|
211
|
-
| `src/
|
|
212
|
-
| `src/
|
|
213
|
-
| `src/
|
|
214
|
-
| `src/
|
|
215
|
-
| `src/
|
|
216
|
-
| `src/
|
|
217
|
-
| `src/
|
|
218
|
-
| `src/
|
|
201
|
+
| `src/main.tsx`, `src/App.tsx` | The entry: the theme before the first paint, the scena root, sign-in or the shell |
|
|
202
|
+
| `src/bridges/` | The AHP connection, the socket address, the protocol versions offered |
|
|
203
|
+
| `src/porta/` | Sign-in with a token |
|
|
204
|
+
| `src/lib/` | The API root, the token and the storage keys |
|
|
205
|
+
| `src/resources/` | What the host offers, one folder each, each with an `index.ts` that registers it |
|
|
206
|
+
| `src/resources/sessions/` | The sessions list, a new session, a session's chat and details |
|
|
207
|
+
| `src/resources/folders/` | The explorer: the host's folders, and a host file dragged to the composer |
|
|
208
|
+
| `src/resources/agents/` | The agents the server offers |
|
|
209
|
+
| `src/resources/changes/` | What a session changed |
|
|
210
|
+
| `src/resources/files/` | File, Markdown and diff viewers |
|
|
211
|
+
| `src/resources/editor/` | The code editor the viewers and forms use |
|
|
212
|
+
| `src/resources/terminals/` | The server's terminals |
|
|
213
|
+
| `src/resources/log/` | The log page |
|
|
214
|
+
| `src/resources/automations/` | The automations list and an automation's page |
|
|
215
|
+
| `src/resources/commands/` | The command list, the command page, the result view |
|
|
216
|
+
| `src/resources/manifest/` | The manifest's types, commands to forms and requests |
|
|
217
|
+
| `src/resources/host/` | The host's settings and information |
|
|
218
|
+
| `src/shell/` | The chrome: `register-shell.tsx` registers every resource, the activity bar and the sidebars |
|
|
219
|
+
| `src/shell/panel/` | The bottom panel |
|
|
220
|
+
| `src/shell/notify/` | Toasts, confirm dialogs, browser notifications |
|
|
221
|
+
| `src/shell/view/` | The palette, layouts and key bindings |
|
|
222
|
+
| `src/shell/explorer/` | The list the sidebar sections share |
|
|
223
|
+
| `src/shell/embed/` | The contract with an app that embeds ahpw |
|
|
224
|
+
| `src/shell/AhpwMark.tsx` | The logo, on the sign-in page and while loading |
|
|
225
|
+
| `src/style/` | ahpw's own styles |
|
|
219
226
|
|
|
220
227
|
---
|
|
221
228
|
|
package/dist/app/ahpw.svg
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
2
2
|
<title>ahpw</title>
|
|
3
3
|
<rect width="64" height="64" rx="14" fill="#1f1f1f"/>
|
|
4
|
-
<
|
|
5
|
-
<path d="
|
|
6
|
-
<
|
|
7
|
-
<path d="M29.
|
|
4
|
+
<path d="M7 11.25 L18.84 11.25 L23.85 56.88 L12.01 56.88 Z" fill="#356b5e"/>
|
|
5
|
+
<path d="M57 11.25 L45.16 11.25 L40.15 56.88 L51.99 56.88 Z" fill="#356b5e"/>
|
|
6
|
+
<rect x="23.56" y="42.23" width="17.1" height="7.92" fill="#356b5e"/>
|
|
7
|
+
<path d="M29.29 7.08 L34.83 7.08 L52.12 56.84 L40.28 56.84 L32.06 33.15 L23.85 56.84 L12.01 56.84 Z" fill="#62c9b0"/>
|
|
8
8
|
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--oo-action-list-min-width:240px;--oo-action-list-max-width:none;--oo-action-list-max-height:360px}.oo-action-list{min-width:var(--oo-action-list-min-width);max-width:var(--oo-action-list-max-width);max-height:var(--oo-action-list-max-height);background:var(--oo-color-surface);border:1px solid var(--oo-color-border);border-radius:var(--oo-radius-md,8px);box-shadow:var(--oo-shadow-lg,0 12px 28px #00000042);color:inherit;font-size:var(--oo-font-size-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.oo-action-list__pending{z-index:2;font-size:10px;font-family:var(--oo-font-mono);color:var(--oo-color-muted);background:var(--oo-color-surface);border:1px solid var(--oo-color-border);opacity:.9;pointer-events:none;border-radius:999px;padding:1px 6px;animation:1s ease-in-out infinite oo-action-list-pulse;position:absolute;top:4px;right:8px}@keyframes oo-action-list-pulse{0%,to{opacity:.45}50%{opacity:.95}}.oo-action-list__custom-header{padding:var(--oo-spacing-xs) var(--oo-spacing-sm);border-bottom:1px solid var(--oo-color-border);flex:none}.oo-action-list__back{align-items:center;gap:var(--oo-spacing-xs);padding:var(--oo-spacing-xs) var(--oo-spacing-sm);border:none;border-bottom:1px solid var(--oo-color-border);color:var(--oo-color-muted);font:inherit;cursor:pointer;text-align:left;background:0 0;flex:none;display:flex}.oo-action-list__back:hover{background:var(--oo-color-active);color:inherit}.oo-action-list__body{flex:auto;min-height:0;display:flex}.oo-action-list__items{flex:auto;min-width:0;overflow-y:auto}.oo-action-list__detail{min-width:0;padding:var(--oo-spacing-sm);border-left:1px solid var(--oo-color-border);background:var(--oo-color-canvas);flex:0 0 40%;overflow:auto}.oo-action-list__header{padding:var(--oo-spacing-sm);border-bottom:1px solid var(--oo-color-border);background:var(--oo-color-canvas);flex:none}.oo-action-list__group-label{padding:var(--oo-spacing-xs) var(--oo-spacing-sm) 2px;color:var(--oo-color-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.oo-action-list__divider{background:var(--oo-color-border);height:1px}.oo-action-list__row{align-items:center;gap:var(--oo-spacing-sm);padding:6px var(--oo-spacing-sm);width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;display:flex}.oo-action-list__row[data-active=true]{background:0 0}.oo-action-list__row:hover,.oo-action-list__row[data-selected=true]{color:var(--oo-color-text);background:var(--oo-color-hover)}.oo-action-list__row[data-disabled=true]{cursor:default;opacity:.55}.oo-action-list__row[data-selected=true] .oo-action-list__title{color:var(--oo-color-accent);font-weight:700}.oo-action-list .oo-icon{width:16px;height:16px;color:rgb(var(--oo-color,var(--oo-color-muted)));font-size:14px;display:inline-flex}[data-cmd-group=danger] .oo-icon{--oo-color:var(--oo-color-red)}[data-cmd-group=create] .oo-icon{--oo-color:var(--oo-color-green)}[data-cmd-group=open] .oo-icon{--oo-color:var(--oo-color-blue)}[data-cmd-group=config] .oo-icon{--oo-color:var(--oo-color-violet)}.oo-action-list__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:500;overflow:hidden}.oo-action-list__description{text-overflow:ellipsis;white-space:nowrap;text-align:right;max-width:50%;color:var(--oo-color-muted);font-size:var(--oo-font-size-xs);flex:none;overflow:hidden}.oo-action-list__text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.oo-action-list__subtitle{text-overflow:ellipsis;white-space:nowrap;color:var(--oo-color-muted);font-size:var(--oo-font-size-xs);line-height:1.2;overflow:hidden}.oo-action-list__row:hover .oo-action-list__subtitle,.oo-action-list__row[data-selected=true] .oo-action-list__subtitle{color:var(--oo-color-text)}.oo-action-list__shortcut{font-family:var(--oo-font-mono);font-size:var(--oo-font-size-xs);color:var(--oo-color-muted);background:var(--oo-color-canvas);border:1px solid var(--oo-color-border);border-radius:3px;flex:none;padding:0 4px}.oo-action-list__row[data-selected=true] .oo-action-list__shortcut,.oo-action-list__row:hover .oo-action-list__shortcut{background:var(--oo-color-active);color:var(--oo-color-surface)}.oo-action-list__check{color:var(--oo-color-accent);flex:none;font-size:11px}.oo-action-list__empty,.oo-action-list__loading,.oo-action-list__error{padding:var(--oo-spacing-md) var(--oo-spacing-sm);color:var(--oo-color-muted);text-align:center;font-size:var(--oo-font-size-xs)}.oo-action-list__footer{padding:4px var(--oo-spacing-sm);border-top:1px solid var(--oo-color-border);color:var(--oo-color-muted);font-size:10px;font-family:var(--oo-font-mono);-webkit-user-select:none;user-select:none;flex:none}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{r as n}from"./colors-BieSUSt7.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";var o=t(),s=e();function c(e,t){return typeof t!=`number`||Number.isNaN(t)?e.length:Math.max(0,Math.min(e.length,Math.floor(t)))}function l(e,t=[`/`,`@`],n){if(!e)return null;let r=c(e,n),i=-1;if(r<e.length&&!/\s/.test(e[r]??``))i=r;else if(r>0&&!/\s/.test(e[r-1]??``))i=r-1;else return null;let a=i;for(;a>0&&!/\s/.test(e[a-1]??``);)--a;let o=i+1;for(;o<e.length&&!/\s/.test(e[o]??``);)o+=1;let s=e.slice(a,o),l=t.find(e=>s.startsWith(e));return l?{token:s,prefix:l,query:s.slice(l.length),start:a,end:o}:null}function u(e,t,n,r=[`/`,`@`]){let i=l(e,r,t);if(!i)return{next:e,caret:c(e,t)};let a=e.slice(0,i.start),o=`${a}${n}${e.slice(i.end)}`;return n===``&&(o=o.replace(/[ \t]+$/g,``)),{next:o,caret:Math.min(a.length+n.length,o.length)}}function d(e,t,n,r=[`/`,`@`]){let i=l(e,r,t);if(i)return{next:`${e.slice(0,i.start)}${n}${e.slice(i.end)}`,caret:i.start+n.length};let a=`${e}${e.length>0&&!/\s$/.test(e)?` `:``}${n}`;return{next:a,caret:a.length}}function f(e,t){if(!t)return e;let n=Array.isArray(t)?t:[t],r=e.toLowerCase();for(let t of n){let n=t.replace(/^[/@]/,``);if(r.startsWith(n.toLowerCase()))return e.slice(n.length).replace(/^[=\s]+/,``)}return e}function p(e,t){if(!t)return!0;let n=Array.isArray(t)?t:[t],r=e.toLowerCase();return n.some(e=>r.startsWith(e.toLowerCase()))}function m(e){if(e)return Array.isArray(e)?e[0]:e}var h=180;function g({spec:e,hostCtx:t,onBack:c,dataContext:l,manageKeys:u=!0,ref:d}){let f=a(),{t:p}=i(`picker`),[g,_]=(0,o.useState)(0),[v,y]=(0,o.useState)({kind:`loading`}),[b,x]=(0,o.useState)(!1),S=(0,o.useRef)(v);S.current=v;let C=(0,o.useRef)(null),w=(0,o.useMemo)(()=>({scena:f,store:f.store,surfaces:f.surfaces,commands:f.commands,events:f.events,source:`menu`,dataContext:l}),[f,l]),T=(0,o.useCallback)(e=>e.map(e=>{let t=typeof e.title==`function`?e.title(w):e.title,n=typeof e.description==`function`?e.description(w):e.description,r=e.active?!!e.active(w):void 0,i=e.disabled?!!e.disabled(w):void 0;return{key:`cmd:${e.id}`,title:t,description:n,icon:e.icon,color:e.color,shortcut:m(e.shortcut),keys:m(e.keys),category:e.category,active:r,disabled:i,...m(e.shortcut)?{autocomplete:m(e.shortcut)}:{},invoke:t=>f.commands.execute(e.id,void 0,{source:`menu`,dataContext:l,host:t}).then(()=>void 0)}}),[f,w,l]),E=(0,o.useCallback)(e=>e.map((e,t)=>{if(`commandId`in e){let n=f.commands.get(e.commandId);if(!n)return{key:`cmd:${e.commandId}:${t}`,title:`[${e.commandId}]`,disabled:!0,invoke:()=>void 0};let r=T([n])[0],i=e.args,{autocomplete:a,...o}=r;return{...o,key:`cmd:${e.commandId}:${t}`,invoke:e=>f.commands.execute(n.id,i,{source:`menu`,dataContext:l,host:e}).then(()=>void 0)}}return{key:`act:${t}:${e.title}`,title:e.title,description:e.description,tooltip:e.tooltip,icon:e.icon,color:e.color,shortcut:e.shortcut,keys:e.keys,group:e.group,active:e.active,disabled:e.disabled,invoke:e.onSelect}}),[f,T,l]);(0,o.useEffect)(()=>{let n=!1,r=e.extraItems?E(e.extraItems):[];if(e.items)return x(!1),y({kind:`ready`,rows:[...r,...E(e.items)]}),()=>{n=!0};if(e.query){x(!1);let t=e.query.slot,i=e.query.q,a=()=>{let e=f.commands.list({slot:t,q:i,enabled:!0});n||y({kind:`ready`,rows:[...r,...T(e)]})};a();let o=!1;function s(){o||n||(o=!0,requestAnimationFrame(()=>{o=!1,n||a()}))}let c=f.events.on(`scena:registry:changed`,e=>{let t=e.registry;(t===`commands`||t===`components`)&&s()}),l=f.events.on(`scena:store:changed`,()=>{s()});return()=>{n=!0,c.dispose(),l.dispose()}}if(e.provider){let i=e.provider,a=()=>{if(n)return;let e;try{e=i(t)}catch(e){y({kind:`error`,message:e instanceof Error?e.message:String(e)}),x(!1);return}e instanceof Promise?e.then(e=>{n||(y({kind:`ready`,rows:[...r,...E(e)]}),x(!1))}).catch(e=>{n||(y({kind:`error`,message:e instanceof Error?e.message:String(e)}),x(!1))}):(y({kind:`ready`,rows:[...r,...E(e)]}),x(!1))},o=null,s=()=>{n||(x(!0),o&&clearTimeout(o),o=setTimeout(a,h))};S.current.kind===`ready`?s():(y({kind:`loading`}),a());let c=f.events.on(`scena:store:changed`,()=>s());return()=>{n=!0,o&&clearTimeout(o),c.dispose()}}return x(!1),y({kind:`ready`,rows:r}),()=>{n=!0}},[e,t,E,T,f]);let D=(0,o.useCallback)(async e=>{let n=!1,r=e=>(...t)=>{n=!0,e(...t)},i={pushList:r(t.pushList),replaceList:r(t.replaceList),openInline:r(t.openInline),openPopover:r(t.openPopover),back:r(t.back),closeMenu:r(t.closeMenu),keepOpen:r(t.keepOpen),insertAtCursor:r(t.insertAtCursor),replaceActiveToken:r(t.replaceActiveToken),query:t.query};e.autocomplete&&t.replaceActiveToken(e.autocomplete);try{await e.invoke(i)}finally{n||t.closeMenu()}},[t]),O=(0,o.useMemo)(()=>v.kind===`ready`?v.rows.filter(e=>!e.disabled):[],[v]);(0,o.useEffect)(()=>{_(0)},[O.length]),(0,o.useEffect)(()=>{let e=C.current;if(!e)return;let t=e.querySelector(`[data-selected="true"]`);t&&t.scrollIntoView({block:`nearest`})},[g]);let k=O[g],A=(0,o.useMemo)(()=>{if(v.kind!==`ready`)return[];let t=e.groupOrder??[],n=new Map,r=[];for(let e of v.rows){let t=e.category??e.group??``;n.has(t)||(n.set(t,[]),r.includes(t)||r.push(t)),n.get(t).push(e)}return[...t.filter(e=>n.has(e)),...r.filter(e=>!t.includes(e))].map(e=>({label:e===``?null:e,rows:n.get(e)}))},[v,e.groupOrder]),j=(0,o.useCallback)(e=>{if(O.length===0&&e.key!==`Escape`&&e.key!==`ArrowLeft`)return!1;if(e.key===`ArrowDown`)return e.preventDefault(),_(e=>(e+1)%O.length),!0;if(e.key===`ArrowUp`)return e.preventDefault(),_(e=>(e-1+O.length)%O.length),!0;if(e.key===`Enter`||e.key===`Tab`){e.preventDefault();let t=O[g];return t&&D(t),!0}return e.key===`Escape`?(e.preventDefault(),t.closeMenu(),!0):e.key===`ArrowLeft`&&c?(e.preventDefault(),c(),!0):!1},[O,g,t,D,c]);(0,o.useEffect)(()=>{if(!u)return;function e(e){let t={key:e.key,preventDefault:()=>e.preventDefault()};j(t)}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[j,u]),(0,o.useImperativeHandle)(d,()=>({handleKey:e=>j(e)}),[j]);let M=-1,N=e.rich===!0;function P(e){let t=!e.disabled;t&&(M+=1);let r=t&&M===g,i=M,a=e.color?{"--oo-color":n(e.color)}:void 0;return(0,s.jsxs)(`button`,{className:`oo-action-list__row`,type:`button`,title:e.tooltip,disabled:e.disabled,"data-cmd-group":e.group,"data-cmd-category":e.category,"data-color":e.color,"data-active":e.active?`true`:void 0,"data-disabled":e.disabled?`true`:void 0,"data-selected":r?`true`:void 0,style:a,onMouseEnter:()=>{t&&_(i)},onClick:()=>{t&&D(e)},children:[(0,s.jsx)(`span`,{className:`oo-icon`,children:e.icon??`·`}),N?(0,s.jsxs)(`span`,{className:`oo-action-list__text`,children:[(0,s.jsx)(`span`,{className:`oo-action-list__title`,children:e.title}),e.description?(0,s.jsx)(`span`,{className:`oo-action-list__subtitle`,children:e.description}):null]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(`span`,{className:`oo-action-list__title`,children:e.title}),e.description?(0,s.jsx)(`span`,{className:`oo-action-list__description`,children:e.description}):null]}),e.active?(0,s.jsx)(`span`,{className:`oo-action-list__check`,children:`✓`}):null,e.shortcut?(0,s.jsx)(`kbd`,{className:`oo-action-list__shortcut`,children:e.shortcut}):null,e.keys?(0,s.jsx)(`kbd`,{className:`oo-action-list__shortcut`,children:e.keys}):null]},e.key)}function F(){return v.kind===`loading`?(0,s.jsx)(`div`,{className:`oo-action-list__loading`,children:`Loading…`}):v.kind===`error`?(0,s.jsx)(`div`,{className:`oo-action-list__error`,children:v.message}):A.length===0||v.rows.length===0?(0,s.jsx)(`div`,{className:`oo-action-list__empty`,children:p(`noMatches`,`No matches`)}):(0,s.jsx)(s.Fragment,{children:A.map((t,n)=>(0,s.jsxs)(`div`,{children:[n>0?(0,s.jsx)(`div`,{className:`oo-action-list__divider`}):null,t.label&&e.groupLabels!==!1?(0,s.jsx)(`div`,{className:`oo-action-list__group-label`,children:r(`groups/${t.label}`,t.label)}):null,t.rows.map(P)]},t.label??`__g${n}`))})}let I=e.layout??`list`,L=I===`header-list`&&e.header,R=I===`info-list`&&e.detail;return(0,s.jsxs)(`div`,{className:`oo-action-list`,"data-layout":I,children:[b?(0,s.jsx)(`div`,{className:`oo-action-list__pending`,"aria-hidden":!0,children:p(`searching`,`searching…`)}):null,c?(0,s.jsxs)(`button`,{type:`button`,className:`oo-action-list__back`,onClick:c,children:[`← `,e.title??p(`backTo`,`Back`)]}):null,e.customHeader?(0,s.jsx)(`div`,{className:`oo-action-list__custom-header`,children:e.customHeader(t)}):null,L?(0,s.jsx)(`div`,{className:`oo-action-list__header`,children:e.header(t)}):null,(0,s.jsxs)(`div`,{className:`oo-action-list__body`,children:[(0,s.jsx)(`div`,{className:`oo-action-list__items`,ref:C,children:F()}),R?(0,s.jsx)(`div`,{className:`oo-action-list__detail`,children:e.detail(t,k)}):null]}),e.footerHints?(0,s.jsxs)(`div`,{className:`oo-action-list__footer`,children:[`↑↓ `,p(`navigate`,`navigate`),` · ↵ `,p(`select`,`select`),c?` · ← ${p(`back`,`back`)}`:``,` · ⎋ `,p(`close`,`close`)]}):null]})}export{d as a,l as i,m as n,f as o,u as r,p as s,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.oo-activity-item{width:var(--oo-activity-item-size,44px);height:var(--oo-activity-item-size,44px);border:none;background:var(--oo-activitybar-bg,transparent);color:var(--oo-activitybar-fg);font:inherit;font-size:var(--oo-activity-item-icon-size,18px);cursor:pointer;-webkit-user-select:none;user-select:none;border-inline-start:2px solid #0000;border-radius:0;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:relative}.oo-activity-item:hover{color:var(--oo-activitybar-fg-hover);background:var(--oo-activitybar-bg-hover)}.oo-activity-item:focus-visible{outline:2px solid var(--oo-color-accent);outline-offset:-2px}.oo-activity-item[data-active=true]{color:var(--oo-activitybar-fg-active);background:var(--oo-activitybar-bg-active);border-inline-start-color:var(--oo-color-accent)}.oo-layout--rail[data-orientation=horizontal] .oo-activity-item{border-block-end:2px solid #0000;border-inline-start:0}.oo-layout--rail[data-orientation=horizontal] .oo-activity-item[data-active=true]{border-block-end-color:var(--oo-color-accent)}.oo-activity-item[data-pos=bottom]{margin-block-start:auto}.oo-activity-item__badge{border-radius:var(--oo-radius-full);text-align:center;font-variant-numeric:tabular-nums;background:var(--oo-color-accent);min-width:15px;color:var(--oo-color-canvas);padding:0 3px;font-size:10px;line-height:15px;position:absolute;inset-block-end:3px;inset-inline-end:3px}.oo-activity-item__badge[data-tone=info]{background:var(--oo-color-info);color:var(--oo-color-inverse)}.oo-activity-item__badge[data-tone=danger]{background:var(--oo-color-danger);color:var(--oo-color-inverse)}.oo-activity-item__badge[data-tone=warning]{background:var(--oo-color-warning);color:var(--oo-color-inverse)}.oo-activity-item__badge[data-tone=success]{background:var(--oo-color-success);color:var(--oo-color-inverse)}.oo-activity-item__badge[data-tone=muted]{background:var(--oo-color-muted);color:var(--oo-color-inverse)}.oo-activity-item__badge--second{box-shadow:0 0 0 2px var(--oo-activitybar-bg,var(--oo-color-canvas));inset-block:3px auto}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./ContextMenu-DYnWIBAF.js";var a=t(),o=e(),s=`$/layout/surfaces/sidebar:left/section`;function c(e){return e!==void 0&&e!==``&&Number(e)!==0}function l(e){return typeof e==`number`&&e>99?`99+`:e}function u({icon:e,label:t,section:u,sectionPath:d=s,pos:f,badge:p,badgeTone:m=`accent`,badgeLabel:h,secondBadge:g,secondBadgeTone:_=`accent`,secondBadgeLabel:v,command:y,args:b,menu:x,onClick:S,className:C,style:w}){let T=r(),[E,D]=(0,a.useState)(null),O=n(d),k=n(d.replace(/\/section$/,`/visible`)),A=u!==void 0&&O===u&&k!==!1,j=c(p),M=c(g),N=[...j?[h?`${p} ${h}`:`${p}`]:[],...M?[v?`${g} ${v}`:`${g}`]:[]],P=t??u??``,F=N.length===0?t:`${P}: ${N.join(`, `)}`;function I(e){if(x){let t=e.currentTarget.getBoundingClientRect();D({x:t.right+2,y:t.top});return}if(S){S();return}y&&T.commands.execute(y,b),u&&T.commands.execute(`sidebar.activate`,{...b,section:u})}return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`button`,{type:`button`,className:[`oo-activity-item`,C].filter(Boolean).join(` `),style:w,"data-active":A,"data-pos":f,title:F,"aria-label":F,"aria-current":A?`true`:void 0,"aria-haspopup":x?`menu`:void 0,"aria-expanded":x?E!==null:void 0,onClick:I,children:[(0,o.jsx)(`span`,{className:`oo-activity-item__icon`,"aria-hidden":`true`,children:e??`·`}),j?(0,o.jsx)(`span`,{className:`oo-activity-item__badge`,"data-tone":m,"aria-hidden":`true`,children:l(p)}):null,M?(0,o.jsx)(`span`,{className:`oo-activity-item__badge oo-activity-item__badge--second`,"data-tone":_,"aria-hidden":`true`,children:l(g)}):null]}),x&&E?(0,o.jsx)(i,{x:E.x,y:E.y,onClose:()=>D(null),spec:{query:{slot:x},groupLabels:!1}}):null]})}export{u as ActivityBarItem,u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./jsx-runtime-BguD1OXD.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{r}from"./Icon-CIQ7doud.js";var i=t(),a=e({Alert:()=>s}),o={info:`ℹ`,success:`✓`,warning:`⚠`,danger:`✕`};function s({tone:e=`info`,title:t,children:a,message:s,icon:c,onClose:l,style:u,className:d}){let{t:f}=n(),p=a??s;return(0,i.jsxs)(`div`,{className:[`oo-alert`,d].filter(Boolean).join(` `),"data-tone":e,role:`status`,style:u,children:[(0,i.jsx)(`span`,{className:`oo-alert__icon`,"aria-hidden":!0,children:c??o[e]}),(0,i.jsxs)(`div`,{className:`oo-alert__body`,children:[t?(0,i.jsx)(`strong`,{className:`oo-alert__title`,children:t}):null,p?(0,i.jsx)(`span`,{className:`oo-alert__message`,children:p}):null]}),l?(0,i.jsx)(`button`,{type:`button`,className:`oo-alert__close`,onClick:l,"aria-label":f(`common/dismiss`,`Dismiss`),children:r.closePanel}):null]})}export{a as n,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-DanG-8fr.js";import{t as i}from"./media-Da9OmSvb.js";var a=t(),o=e(),s=64,c=e=>!Number.isFinite(e)||e<=0?`0:00`:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`;function l({url:e}){let{t}=n(),i=(0,a.useRef)(null),[l,u]=(0,a.useState)(!1),[d,f]=(0,a.useState)(0),[p,m]=(0,a.useState)(0),[h,g]=(0,a.useState)(1),[_,v]=(0,a.useState)(!1),y=(0,a.useMemo)(()=>Array.from({length:s},(e,t)=>Math.min(100,Math.max(15,(Math.abs(Math.sin(t*.45)*.6+Math.cos(t*.9)*.4)+t%5*.06)*100))),[]),b=p>0?d/p:0,x=()=>{let e=i.current;e!==null&&(e.paused?e.play().catch(()=>v(!0)):e.pause())},S=e=>{let t=i.current;t===null||p<=0||(t.currentTime=e*p,f(t.currentTime))};return _?(0,o.jsx)(`p`,{className:`web-note web-media__note`,children:t(`files/audio/cannotPlay`)}):(0,o.jsxs)(`div`,{className:`web-audio`,children:[(0,o.jsx)(`button`,{type:`button`,className:`web-audio__play`,onClick:x,title:t(l?`files/audio/pause`:`files/audio/play`),children:l?r.pause:r.run}),(0,o.jsxs)(`div`,{className:`web-audio__track`,children:[(0,o.jsx)(`div`,{className:`web-audio__bars`,onClick:e=>{let t=e.currentTarget.getBoundingClientRect();S(Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)))},children:y.map((e,t)=>(0,o.jsx)(`span`,{"data-played":b>=t/s?`true`:`false`,style:{height:`${e}%`}},t))}),(0,o.jsxs)(`div`,{className:`web-audio__time`,children:[(0,o.jsx)(`span`,{children:c(d)}),(0,o.jsx)(`span`,{children:c(p)})]})]}),(0,o.jsxs)(`button`,{type:`button`,className:`web-audio__rate`,onClick:()=>{let e=h>=2?.5:h+.5;i.current!==null&&(i.current.playbackRate=e),g(e)},title:t(`files/audio/speed`),children:[h,`x`]}),(0,o.jsx)(`audio`,{ref:i,src:e,preload:`metadata`,onPlay:()=>u(!0),onPause:()=>u(!1),onEnded:()=>u(!1),onTimeUpdate:e=>f(e.currentTarget.currentTime),onLoadedMetadata:e=>m(e.currentTarget.duration),onError:()=>v(!0)})]})}function u({uri:e}){return(0,o.jsx)(i,{uri:e,children:e=>(0,o.jsx)(l,{url:e})})}export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./jsx-runtime-BguD1OXD.js";import{t as n}from"./react-CybPckBe.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{o as i}from"./mount-context-DZgEFVFG.js";import{r as a}from"./_utils-DZVsX11M.js";import{i as o,n as s,r as c,t as l}from"./_field-parts-BuPjFCuf.js";var u=n(),d=t(),f=e({ChoicePicker:()=>m});function p(e){return typeof e==`string`?{label:e,value:e}:e}function m({value:e,defaultValue:t,options:n=[],label:f,disabled:m,variant:h=`select`,displayStyle:g,filterable:_,weight:v,checks:y,hint:b,error:x,required:S,typeTag:C,onChange:w}){let{t:T}=r(),E=i(`value`),D=n.map(p),[O,k]=(0,u.useState)(e??t??D[0]?.value??``),[A,j]=(0,u.useState)(``);(0,u.useEffect)(()=>{e!==void 0&&k(t=>t===e?t:e)},[e]);function M(e){k(e),E(e),w?.(e)}function N(e){M(e.currentTarget.value)}let P=_&&A?D.filter(e=>e.label.toLowerCase().includes(A.toLowerCase())):D;return(0,d.jsxs)(`label`,{className:`oo-field`,style:a(v),children:[(0,d.jsx)(c,{label:f,required:S,typeTag:C}),(0,d.jsx)(s,{text:b}),_?(0,d.jsx)(`div`,{className:`oo-control`,children:(0,d.jsx)(`input`,{className:`oo-input`,type:`search`,placeholder:T(`query/filter`,`Filter…`),value:A,onChange:e=>j(e.currentTarget.value),disabled:m})}):null,h===`radio`?(0,d.jsx)(`div`,{className:`oo-radios`,children:P.map(e=>(0,d.jsxs)(`label`,{className:`oo-radio`,children:[(0,d.jsx)(`input`,{type:`radio`,value:e.value,checked:O===e.value,disabled:m||e.disabled,onChange:()=>M(e.value)}),(0,d.jsx)(`span`,{children:e.label})]},e.value))}):(0,d.jsx)(`select`,{className:`oo-select`,value:O,disabled:m,onChange:N,children:P.map(e=>(0,d.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))}),(0,d.jsx)(l,{text:x}),(0,d.jsx)(o,{checks:y})]})}export{f as n,m as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./dist-DVLbqnEo.js","./jsx-runtime-BguD1OXD.js","./dist-BvY_obDK.js","./dist-ZM5yW1OM.js","./dist-DUiHb392.js","./dist-fdt_fTp5.js","./dist-a56DBHT4.js","./dist-BVWBMVma.js","./dist-UsePpmWK.js","./dist-BMwhNxyY.js","./dist-DxvAUGwy.js","./dist-DrG75V-Z.js","./dist-CaJpOCLg.js","./dist-BCQ-dSMw.js","./dist-2b3tV-Z7.js","./dist-CHrzvaer.js","./dist-Cy5nEZGW.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./preload-helper-BaNbYf_w.js";import{$ as r,A as i,At as a,B as o,C as s,Ct as c,D as l,Dt as u,F as d,G as f,I as p,J as m,L as ee,M as h,N as g,Q as _,R as te,St as ne,T as re,U as ie,V as ae,W as oe,X as se,Y as ce,Z as le,_ as ue,_t as de,at as v,b as fe,bt as y,c as pe,ct as me,dt as he,et as ge,ft as _e,gt as b,h as ve,ht as x,it as ye,j as S,k as be,l as xe,lt as C,mt as Se,n as Ce,nt as we,ot as Te,pt as Ee,q as De,rt as Oe,st as w,t as ke,tt as T,ut as Ae,vt as je,w as Me,wt as Ne,x as Pe,xt as Fe,yt as E,z as Ie}from"./dist-BvY_obDK.js";var D=t(),Le=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=i(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),i=r.search(Ue(e,!1));return i<0?null:{from:n+i,to:this.pos,text:r.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e==`abort`&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}};function Re(e){let t=Object.keys(e).join(``),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,``)),`[${n?`\\w`:``}${t.replace(/[^\w\s]/g,`\\$&`)}]`}function ze(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let e=1;e<r.length;e++)n[r[e]]=!0}let r=Re(t)+Re(n)+`*$`;return[RegExp(`^`+r),new RegExp(r)]}function Be(e){let t=e.map(e=>typeof e==`string`?{label:e}:e),[n,r]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:ze(t);return e=>{let i=e.matchBefore(r);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}function Ve(e,t){return n=>{for(let t=i(n.state).resolveInner(n.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(n)}}var He=class{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}};function O(e){return e.selection.main.from}function Ue(e,t){let{source:n}=e,r=t&&n[0]!=`^`,i=n[n.length-1]!=`$`;return!r&&!i?e:RegExp(`${r?`^`:``}(?:${n})${i?`$`:``}`,e.flags??(e.ignoreCase?`i`:``))}var We=we.define();function Ge(e,t,n,r){let{main:i}=e.selection,a=n-i.from,o=r-i.from;return{...e.changeByRange(s=>{if(s!=i&&n!=r&&e.sliceDoc(s.from+a,s.from+o)!=e.sliceDoc(n,r))return{range:s};let c=e.toText(t);return{changes:{from:s.from+a,to:r==i.from?s.to:s.from+o,insert:c},range:w.cursor(s.from+a+c.length)}}),scrollIntoView:!0,userEvent:`input.complete`}}var Ke=new WeakMap;function qe(e){if(!Array.isArray(e))return e;let t=Ke.get(e);return t||Ke.set(e,t=Be(e)),t}var Je=x.define(),Ye=x.define(),Xe=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=E(e,t),r=y(n);this.chars.push(n);let i=e.slice(t,t+r),a=i.toUpperCase();this.folded.push(E(a==i?i.toLowerCase():a,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:r,precise:i,byWord:a}=this;if(t.length==1){let r=E(e,0),i=y(r),a=i==e.length?0:-100;if(r!=t[0]){if(r==n[0])a+=-200;else return null}return this.ret(a,[0,i])}let o=e.indexOf(this.pattern);if(o==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,c=0;if(o<0){for(let i=0,a=Math.min(e.length,200);i<a&&c<s;){let a=E(e,i);(a==t[c]||a==n[c])&&(r[c++]=i),i+=y(a)}if(c<s)return null}let l=0,u=0,d=!1,f=0,p=-1,m=-1,ee=/[a-z]/.test(e),h=!0;for(let r=0,c=Math.min(e.length,200),g=0;r<c&&u<s;){let c=E(e,r);o<0&&(l<s&&c==t[l]&&(i[l++]=r),f<s&&(c==t[f]||c==n[f]?(f==0&&(p=r),m=r+1,f++):f=0));let _,te=c<255?c>=48&&c<=57||c>=97&&c<=122?2:+(c>=65&&c<=90):(_=Ne(c))==_.toLowerCase()?_==_.toUpperCase()?0:2:1;(!r||te==1&&ee||g==0&&te!=0)&&(t[u]==c||n[u]==c&&(d=!0)?a[u++]=r:a.length&&(h=!1)),g=te,r+=y(c)}return u==s&&a[0]==0&&h?this.result(-100+(d?-200:0),a,e):f==s&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):f==s?this.ret(-900-e.length,[p,m]):u==s?this.result(-100+(d?-200:0)+-700+(h?0:-1100),a,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,n){let r=[],i=0;for(let e of t){let t=e+(this.astral?y(E(n,e)):1);i&&r[i-1]==e?r[i-1]=t:(r[i++]=e,r[i++]=t)}return this.ret(e-n.length,r)}},Ze=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return n==null?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}},k=C.define({combine(e){return Fe(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>``,optionClass:()=>``,aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:$e,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>Qe(e(n),t(n)),optionClass:(e,t)=>n=>Qe(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Qe(e,t){return e?t?e+` `+t:e:t}function $e(e,t,n,r,i,a){let o=e.textDirection==h.RTL,s=o,c=!1,l=`top`,u,d,f=t.left-i.left,p=i.right-t.right,m=r.right-r.left,ee=r.bottom-r.top;if(s&&f<Math.min(m,p)?s=!1:!s&&p<Math.min(m,f)&&(s=!0),m<=(s?f:p))u=Math.max(i.top,Math.min(n.top,i.bottom-ee))-t.top,d=Math.min(400,s?f:p);else{c=!0,d=Math.min(400,(o?t.right:i.right-t.left)-30);let e=i.bottom-t.bottom;e>=ee||e>t.top?u=n.bottom-t.top:(l=`bottom`,u=t.bottom-n.top)}let g=(t.bottom-t.top)/a.offsetHeight,_=(t.right-t.left)/a.offsetWidth;return{style:`${l}: ${u/g}px; max-width: ${d/_}px`,class:`cm-completionInfo-`+(c?o?`left-narrow`:`right-narrow`:s?`left`:`right`)}}var et=x.define();function tt(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement(`div`);return t.classList.add(`cm-completionIcon`),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>`cm-completionIcon-`+e)),t.setAttribute(`aria-hidden`,`true`),t},position:20}),t.push({render(e,t,n,r){let i=document.createElement(`span`);i.className=`cm-completionLabel`;let a=e.displayLabel||e.label,o=0;for(let e=0;e<r.length;){let t=r[e++],n=r[e++];t>o&&i.appendChild(document.createTextNode(a.slice(o,t)));let s=i.appendChild(document.createElement(`span`));s.appendChild(document.createTextNode(a.slice(t,n))),s.className=`cm-completionMatchedText`,o=n}return o<a.length&&i.appendChild(document.createTextNode(a.slice(o))),i},position:50},{render(e){if(!e.detail)return null;let t=document.createElement(`span`);return t.className=`cm-completionDetail`,t.textContent=e.detail,t},position:80}),t.sort((e,t)=>e.position-t.position).map(e=>e.render)}function nt(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let r=Math.ceil((e-t)/n);return{from:e-r*n,to:e-(r-1)*n}}var rt=class{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass=``;let r=e.state.field(t),{options:i,selected:a}=r.open,o=e.state.facet(k);this.optionContent=tt(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=nt(i.length,a,o.maxRenderedOptions),this.dom=document.createElement(`div`),this.dom.className=`cm-tooltip-autocomplete`,this.updateTooltipClass(e.state),this.dom.addEventListener(`mousedown`,n=>{let{options:r}=e.state.field(t).open;for(let t=n.target,i;t&&t!=this.dom;t=t.parentNode)if(t.nodeName==`LI`&&(i=/-(\d+)$/.exec(t.id))&&+i[1]<r.length){this.applyCompletion(e,r[+i[1]]),n.preventDefault();return}if(n.target==this.list){let t=this.list.classList.contains(`cm-completionListIncompleteTop`)&&n.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains(`cm-completionListIncompleteBottom`)&&n.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;t!=null&&(e.dispatch({effects:et.of(t)}),n.preventDefault())}}),this.dom.addEventListener(`focusout`,t=>{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(k).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ye.of(null)})}),this.showOptions(i,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener(`scroll`,()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){let t=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),t!=n){let{options:r,selected:i,disabled:a}=t.open;(!n.open||n.open.options!=r)&&(this.range=nt(r.length,i,e.state.facet(k).maxRenderedOptions),this.showOptions(r,t.id)),this.updateSel(),a!=n.open?.disabled&&this.dom.classList.toggle(`cm-tooltip-autocomplete-disabled`,!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(` `))e&&this.dom.classList.remove(e);for(let e of t.split(` `))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=nt(t.options.length,t.selected,this.view.state.facet(k).maxRenderedOptions),this.showOptions(t.options,e.id));let n=this.updateSelectedOption(t.selected);if(n){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:i}=r;if(!i)return;let a=typeof i==`string`?document.createTextNode(i):i(r);if(!a)return;`then`in a?a.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)}).catch(e=>ce(this.view.state,e,`completion info`)):(this.addInfoPane(a,r),n.setAttribute(`aria-describedby`,this.info.id))}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement(`div`);if(n.className=`cm-tooltip cm-completionInfo`,n.id=`cm-completionInfo-`+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;n.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,r=this.range.from;n;n=n.nextSibling,r++)n.nodeName!=`LI`||!n.id?r--:r==e?n.hasAttribute(`aria-selected`)||(n.setAttribute(`aria-selected`,`true`),t=n):n.hasAttribute(`aria-selected`)&&(n.removeAttribute(`aria-selected`),n.removeAttribute(`aria-describedby`));return t&&at(this.list,t),t}measureInfo(){let e=this.dom.querySelector(`[aria-selected]`);if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return r.top>Math.min(i.bottom,t.bottom)-10||r.bottom<Math.max(i.top,t.top)+10?null:this.view.state.facet(k).positionInfo(this.view,t,r,n,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className=`cm-tooltip cm-completionInfo `+(e.class||``)):this.info.style.cssText=`top: -1e6px`)}createListBox(e,t,n){let r=document.createElement(`ul`);r.id=t,r.setAttribute(`role`,`listbox`),r.setAttribute(`aria-expanded`,`true`),r.setAttribute(`aria-label`,this.view.state.phrase(`Completions`)),r.addEventListener(`mousedown`,e=>{e.target==r&&e.preventDefault()});let i=null;for(let a=n.from;a<n.to;a++){let{completion:o,match:s}=e[a],{section:c}=o;if(c){let e=typeof c==`string`?c:c.name;if(e!=i&&(a>n.from||n.from==0)){if(i=e,typeof c!=`string`&&c.header)r.appendChild(c.header(c));else{let t=r.appendChild(document.createElement(`completion-section`));t.textContent=e}}}let l=r.appendChild(document.createElement(`li`));l.id=t+`-`+a,l.setAttribute(`role`,`option`);let u=this.optionClass(o);u&&(l.className=u);for(let e of this.optionContent){let t=e(o,this.view.state,this.view,s);t&&l.appendChild(t)}}return n.from&&r.classList.add(`cm-completionListIncompleteTop`),n.to<e.length&&r.classList.add(`cm-completionListIncompleteBottom`),r}destroyInfo(){this.info&&=(this.infoDestroy&&this.infoDestroy(),this.info.remove(),null)}destroy(){this.destroyInfo()}};function it(e,t){return n=>new rt(n,e,t)}function at(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.height/e.offsetHeight;r.top<n.top?e.scrollTop-=(n.top-r.top)/i:r.bottom>n.bottom&&(e.scrollTop+=(r.bottom-n.bottom)/i)}function ot(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+ +!!e.type}function st(e,t){let n=[],r=null,i=null,a=e=>{n.push(e);let{section:t}=e.completion;if(t){r||=[];let e=typeof t==`string`?t:t.name;r.some(t=>t.name==e)||r.push(typeof t==`string`?{name:e}:t)}},o=t.facet(k);for(let r of e)if(r.hasResult()){let e=r.result.getMatch;if(r.result.filter===!1)for(let t of r.result.options)a(new He(t,r.source,e?e(t):[],1e9-n.length));else{let n=t.sliceDoc(r.from,r.to),s,c=o.filterStrict?new Ze(n):new Xe(n);for(let t of r.result.options)if(s=c.match(t.label)){let n=t.displayLabel?e?e(t,s.matched):[]:s.matched,o=s.score+(t.boost||0);if(a(new He(t,r.source,n,o)),typeof t.section==`object`&&t.section.rank===`dynamic`){let{name:e}=t.section;i||=Object.create(null),i[e]=Math.max(o,i[e]||-1e9)}}}}if(r){let e=Object.create(null),t=0,a=(e,t)=>(e.rank===`dynamic`&&t.rank===`dynamic`?i[t.name]-i[e.name]:0)||(typeof e.rank==`number`?e.rank:1e9)-(typeof t.rank==`number`?t.rank:1e9)||(e.name<t.name?-1:1);for(let n of r.sort(a))t-=1e5,e[n.name]=t;for(let t of n){let{section:n}=t.completion;n&&(t.score+=e[typeof n==`string`?n:n.name])}}let s=[],c=null,l=o.compareCompletions;for(let e of n.sort((e,t)=>t.score-e.score||l(e.completion,t.completion))){let t=e.completion;!c||c.label!=t.label||c.detail!=t.detail||c.type!=null&&t.type!=null&&c.type!=t.type||c.apply!=t.apply||c.boost!=t.boost?s.push(e):ot(e.completion)>ot(c)&&(s[s.length-1]=e),c=e.completion}return s}var ct=class e{constructor(e,t,n,r,i,a){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=i,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new e(this.options,pt(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,r,i,a,o){if(i&&!o&&t.some(e=>e.isPending))return i.setDisabled();let s=st(t,n);if(!s.length)return i&&t.some(e=>e.isPending)?i.setDisabled():null;let c=n.facet(k).selectOnOpen?0:-1;if(i&&i.selected!=c&&i.selected!=-1){let e=i.options[i.selected].completion;for(let t=0;t<s.length;t++)if(s[t].completion==e){c=t;break}}return new e(s,pt(r,c),{pos:t.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:bt,above:a.aboveCursor},i?i.timestamp:Date.now(),c,!1)}map(t){return new e(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new e(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},lt=class e{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new e(mt,`cm-ac-`+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,r=n.facet(k),i=(r.override||n.languageDataAt(`autocomplete`,O(n)).map(qe)).map(e=>(this.active.find(t=>t.source==e)||new A(e,+!!this.active.some(e=>e.state!=0))).update(t,r));i.length==this.active.length&&i.every((e,t)=>e==this.active[t])&&(i=this.active);let a=this.open,o=t.effects.some(e=>e.is(vt));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||i.some(e=>e.hasResult()&&t.changes.touchesRange(e.from,e.to))||!ut(i,this.active)||o?a=ct.build(i,n,this.id,a,r,o):a&&a.disabled&&!i.some(e=>e.isPending)&&(a=null),!a&&i.every(e=>!e.isPending)&&i.some(e=>e.hasResult())&&(i=i.map(e=>e.hasResult()?new A(e.source,0):e));for(let e of t.effects)e.is(et)&&(a&&=a.setSelected(e.value,this.id));return i==this.active&&a==this.open?this:new e(i,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?dt:ft}};function ut(e,t){if(e==t)return!0;for(let n=0,r=0;;){for(;n<e.length&&!e[n].hasResult();)n++;for(;r<t.length&&!t[r].hasResult();)r++;let i=n==e.length,a=r==t.length;if(i||a)return i==a;if(e[n++].result!=t[r++].result)return!1}}var dt={"aria-autocomplete":`list`},ft={};function pt(e,t){let n={"aria-autocomplete":`list`,"aria-haspopup":`listbox`,"aria-controls":e};return t>-1&&(n[`aria-activedescendant`]=e+`-`+t),n}var mt=[];function ht(e,t){if(e.isUserEvent(`input.complete`)){let n=e.annotation(We);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent(`input.type`);return n&&t.activateOnTyping?5:n?1:e.isUserEvent(`delete.backward`)?2:e.selection?8:e.docChanged?16:0}var A=class e{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let r=ht(t,n),i=this;(r&8||r&16&&this.touches(t))&&(i=new e(i.source,0)),r&4&&i.state==0&&(i=new e(this.source,1)),i=i.updateFor(t,r);for(let n of t.effects)if(n.is(Je))i=new e(i.source,1,n.value);else if(n.is(Ye))i=new e(i.source,0);else if(n.is(vt))for(let e of n.value)e.source==i.source&&(i=e);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(O(e.state))}},gt=class e extends A{constructor(e,t,n,r,i,a){super(e,3,t),this.limit=n,this.result=r,this.from=i,this.to=a}hasResult(){return!0}updateFor(t,n){if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let i=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=O(t.state);if(o>a||!r||n&2&&(O(t.startState)==this.from||o<this.limit))return new A(this.source,n&4?1:0);let s=t.changes.mapPos(this.limit);return _t(r.validFor,t.state,i,a)?new e(this.source,this.explicit,s,r,i,a):r.update&&(r=r.update(r,i,a,new Le(t.state,o,!1)))?new e(this.source,this.explicit,s,r,r.from,r.to??O(t.state)):new A(this.source,1,this.explicit)}map(t){if(t.empty)return this;let n=this.result.map?this.result.map(this.result,t):this.result;return n?new e(this.source,this.explicit,t.mapPos(this.limit),n,t.mapPos(this.from),t.mapPos(this.to,1)):new A(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function _t(e,t,n,r){if(!e)return!1;let i=t.sliceDoc(n,r);return typeof e==`function`?e(i,n,r,t):Ue(e,!0).test(i)}var vt=x.define({map(e,t){return e.map(e=>e.map(t))}}),j=b.define({create(){return lt.start()},update(e,t){return e.update(t)},provide:e=>[ge.from(e,e=>e.tooltip),g.contentAttributes.from(e,e=>e.attrs)]});function yt(e,t){let n=t.completion.apply||t.completion.label,r=e.state.field(j).active.find(e=>e.source==t.source);return r instanceof gt&&(typeof n==`string`?e.dispatch({...Ge(e.state,n,r.from,r.to),annotations:We.of(t.completion)}):n(e,t.completion,r.from,r.to),!0)}var bt=it(j,yt);function xt(e,t=`option`){return n=>{let r=n.state.field(j,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(k).interactionDelay)return!1;let i=1,a;t==`page`&&(a=ae(n,r.open.tooltip))&&(i=Math.max(2,Math.floor(a.dom.offsetHeight/a.dom.querySelector(`li`).offsetHeight)-1));let{length:o}=r.open.options,s=r.open.selected>-1?r.open.selected+i*(e?1:-1):e?0:o-1;return s<0?s=t==`page`?0:o-1:s>=o&&(s=t==`page`?o-1:0),n.dispatch({effects:et.of(s)}),!0}}var St=e=>{let t=e.state.field(j,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(k).interactionDelay?!1:yt(e,t.open.options[t.open.selected])},Ct=e=>e.state.field(j,!1)?(e.dispatch({effects:Je.of(!0)}),!0):!1,wt=e=>{let t=e.state.field(j,!1);return!t||!t.active.some(e=>e.state!=0)?!1:(e.dispatch({effects:Ye.of(null)}),!0)},Tt=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},Et=50,Dt=1e3,Ot=d.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(j).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(j),n=e.state.facet(k);if(!e.selectionSet&&!e.docChanged&&e.startState.field(j)==t)return;let r=e.transactions.some(e=>{let t=ht(e,n);return t&8||(e.selection||e.docChanged)&&!(t&3)});for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.context.abortOnDocChange&&e.docChanged||n.updates.length+e.transactions.length>Et&&Date.now()-n.time>Dt){for(let e of n.context.abortListeners)try{e()}catch(e){ce(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(Je)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let t of e.transactions)t.isUserEvent(`input.type`)?this.composing=2:this.composing==2&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(j);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(k).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=new Le(t,O(t),e.explicit,this.view),r=new Tt(e,n);this.running.push(r),Promise.resolve(e.source(n)).then(e=>{r.context.aborted||(r.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:Ye.of(null)}),ce(this.view.state,e)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(k).updateSyncTime))}accept(){this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(k),n=this.view.state.field(j);for(let r=0;r<this.running.length;r++){let i=this.running[r];if(i.done===void 0)continue;if(this.running.splice(r--,1),i.done){let n=O(i.updates.length?i.updates[0].startState:this.view.state),r=Math.min(n,i.done.from+ +!i.active.explicit),a=new gt(i.active.source,i.active.explicit,r,i.done,i.done.from,i.done.to??n);for(let e of i.updates)a=a.update(e,t);if(a.hasResult()){e.push(a);continue}}let a=n.active.find(e=>e.source==i.active.source);if(a&&a.isPending){if(i.done==null){let n=new A(i.active.source,0);for(let e of i.updates)n=n.update(e,t);n.isPending||e.push(n)}else this.startQuery(a)}}(e.length||n.open&&n.open.disabled)&&this.view.dispatch({effects:vt.of(e)})}},{eventHandlers:{blur(e){let t=this.view.state.field(j,!1);if(t&&t.tooltip&&this.view.state.facet(k).closeOnBlur){let n=t.open&&ae(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Ye.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Je.of(!1)}),20),this.composing=0}}}),kt=typeof navigator==`object`&&/Win/.test(navigator.platform),At=he.highest(g.domEventHandlers({keydown(e,t){let n=t.state.field(j,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(kt&&e.altKey)||e.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(e=>e.source==r.source),a=r.completion.commitCharacters||i.result.commitCharacters;return a&&a.indexOf(e.key)>-1&&yt(t,r),!1}})),jt=g.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:`monospace`,whiteSpace:`nowrap`,overflow:`hidden auto`,maxWidth_fallback:`700px`,maxWidth:`min(700px, 95vw)`,minWidth:`250px`,maxHeight:`10em`,height:`100%`,listStyle:`none`,margin:0,padding:0,"& > li, & > completion-section":{padding:`1px 3px`,lineHeight:1.2},"& > li":{overflowX:`hidden`,textOverflow:`ellipsis`,cursor:`pointer`},"& > completion-section":{display:`list-item`,borderBottom:`1px solid silver`,paddingLeft:`0.5em`,opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:`#17c`,color:`white`},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:`#777`},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:`#347`,color:`white`},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:`#444`},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:`"···"`,opacity:.5,display:`block`,textAlign:`center`,cursor:`pointer`},".cm-tooltip.cm-completionInfo":{position:`absolute`,padding:`3px 9px`,width:`max-content`,maxWidth:`400px`,boxSizing:`border-box`,whiteSpace:`pre-line`},".cm-completionInfo.cm-completionInfo-left":{right:`100%`},".cm-completionInfo.cm-completionInfo-right":{left:`100%`},".cm-completionInfo.cm-completionInfo-left-narrow":{right:`30px`},".cm-completionInfo.cm-completionInfo-right-narrow":{left:`30px`},"&light .cm-snippetField":{backgroundColor:`#00000022`},"&dark .cm-snippetField":{backgroundColor:`#ffffff22`},".cm-snippetFieldPosition":{verticalAlign:`text-top`,width:0,height:`1.15em`,display:`inline-block`,margin:`0 -0.7px -.7em`,borderLeft:`1.4px dotted #888`},".cm-completionMatchedText":{textDecoration:`underline`},".cm-completionDetail":{marginLeft:`0.5em`,fontStyle:`italic`},".cm-completionIcon":{fontSize:`90%`,width:`.8em`,display:`inline-block`,textAlign:`center`,paddingRight:`.6em`,opacity:`0.6`,boxSizing:`content-box`},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:`'ƒ'`}},".cm-completionIcon-class":{"&:after":{content:`'○'`}},".cm-completionIcon-interface":{"&:after":{content:`'◌'`}},".cm-completionIcon-variable":{"&:after":{content:`'𝑥'`}},".cm-completionIcon-constant":{"&:after":{content:`'𝐶'`}},".cm-completionIcon-type":{"&:after":{content:`'𝑡'`}},".cm-completionIcon-enum":{"&:after":{content:`'∪'`}},".cm-completionIcon-property":{"&:after":{content:`'□'`}},".cm-completionIcon-keyword":{"&:after":{content:`'🔑︎'`}},".cm-completionIcon-namespace":{"&:after":{content:`'▢'`}},".cm-completionIcon-text":{"&:after":{content:`'abc'`,fontSize:`50%`,verticalAlign:`middle`}}}),Mt=class{constructor(e,t,n,r){this.field=e,this.line=t,this.from=n,this.to=r}},Nt=class e{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(t){let n=t.mapPos(this.from,-1,Ae.TrackDel),r=t.mapPos(this.to,1,Ae.TrackDel);return n==null||r==null?null:new e(this.field,n,r)}},Pt=class e{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],r=[t],i=e.doc.lineAt(t),a=/^\s*/.exec(i.text)[0];for(let i of this.lines){if(n.length){let n=a,o=/^\t*/.exec(i)[0].length;for(let t=0;t<o;t++)n+=e.facet(re);r.push(t+n.length-o),i=n+i.slice(o)}n.push(i),t+=i.length+1}return{text:n,ranges:this.fieldPositions.map(e=>new Nt(e.field,r[e.line]+e.from,r[e.line]+e.to))}}static parse(t){let n=[],r=[],i=[],a;for(let e of t.split(/\r\n?|\n/)){for(;a=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(e);){let t=a[1]?+a[1]:null,o=a[2]||a[3]||``,s=-1;t===0&&(t=1e9);let c=o.replace(/\\[{}]/g,e=>e[1]);for(let e=0;e<n.length;e++)(t==null?c&&n[e].name==c:n[e].seq==t)&&(s=e);if(s<0){let e=0;for(;e<n.length&&(t==null||n[e].seq!=null&&n[e].seq<t);)e++;n.splice(e,0,{seq:t,name:c}),s=e;for(let e of i)e.field>=s&&e.field++}for(let e of i)if(e.line==r.length&&e.from>a.index){let t=a[2]?3+(a[1]||``).length:2;e.from-=t,e.to-=t}i.push(new Mt(s,r.length,a.index,a.index+c.length)),e=e.slice(0,a.index)+o+e.slice(a.index+a[0].length)}e=e.replace(/\\([{}])/g,(e,t,n)=>{for(let e of i)e.line==r.length&&e.from>n&&(e.from--,e.to--);return t}),r.push(e)}return new e(r,i)}},Ft=S.widget({widget:new class extends p{toDOM(){let e=document.createElement(`span`);return e.className=`cm-snippetFieldPosition`,e}ignoreEvent(){return!1}}}),It=S.mark({class:`cm-snippetField`}),Lt=class e{constructor(e,t){this.ranges=e,this.active=t,this.deco=S.set(e.map(e=>(e.from==e.to?Ft:It).range(e.from,e.to)),!0)}map(t){let n=[];for(let e of this.ranges){let r=e.map(t);if(!r)return null;n.push(r)}return new e(n,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}},M=x.define({map(e,t){return e&&e.map(t)}}),Rt=x.define(),N=b.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(M))return n.value;if(n.is(Rt)&&e)return new Lt(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>g.decorations.from(e,e=>e?e.deco:S.none)});function zt(e,t){return w.create(e.filter(e=>e.field==t).map(e=>w.range(e.from,e.to)))}function Bt(e){let t=Pt.parse(e);return(e,n,r,i)=>{let{text:a,ranges:o}=t.instantiate(e.state,r),{main:s}=e.state.selection,c={changes:{from:r,to:i==s.from?s.to:i,insert:de.of(a)},scrollIntoView:!0,annotations:n?[We.of(n),je.userEvent.of(`input.complete`)]:void 0};if(o.length&&(c.selection=zt(o,0)),o.some(e=>e.field>0)){let t=new Lt(o,0),n=c.effects=[M.of(t)];e.state.field(N,!1)===void 0&&n.push(x.appendConfig.of([N,Wt,Kt,jt]))}e.dispatch(e.state.update(c))}}function Vt(e){return({state:t,dispatch:n})=>{let r=t.field(N,!1);if(!r||e<0&&r.active==0)return!1;let i=r.active+e,a=e>0&&!r.ranges.some(t=>t.field==i+e);return n(t.update({selection:zt(r.ranges,i),effects:M.of(a?null:new Lt(r.ranges,i)),scrollIntoView:!0})),!0}}var Ht=[{key:`Tab`,run:Vt(1),shift:Vt(-1)},{key:`Escape`,run:({state:e,dispatch:t})=>e.field(N,!1)?(t(e.update({effects:M.of(null)})),!0):!1}],Ut=C.define({combine(e){return e.length?e[0]:Ht}}),Wt=he.highest(De.compute([Ut],e=>e.facet(Ut)));function Gt(e,t){return{...t,apply:Bt(e)}}var Kt=g.domEventHandlers({mousedown(e,t){let n=t.state.field(N,!1),r;if(!n||(r=t.posAtCoords({x:e.clientX,y:e.clientY}))==null)return!1;let i=n.ranges.find(e=>e.from<=r&&e.to>=r);return!i||i.field==n.active?!1:(t.dispatch({selection:zt(n.ranges,i.field),effects:M.of(n.ranges.some(e=>e.field>i.field)?new Lt(n.ranges,i.field):null),scrollIntoView:!0}),!0)}}),P={brackets:[`(`,`[`,`{`,`'`,`"`],before:`)]}:;>`,stringPrefixes:[]},F=x.define({map(e,t){return t.mapPos(e,-1,Ae.TrackAfter)??void 0}}),qt=new class extends Se{};qt.startSide=1,qt.endSide=-1;var Jt=b.define({create(){return _e.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(F)&&(e=e.update({add:[qt.range(n.value,n.value+1)]}));return e}});function Yt(){return[en,Jt]}var Xt=`()[]{}<>«»»«[]{}`;function Zt(e){for(let t=0;t<16;t+=2)if(Xt.charCodeAt(t)==e)return Xt.charAt(t+1);return Ne(e<128?e:e+1)}function Qt(e,t){return e.languageDataAt(`closeBrackets`,t)[0]||P}var $t=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),en=g.inputHandler.of((e,t,n,r)=>{if(($t?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let i=e.state.selection.main;if(r.length>2||r.length==2&&y(E(r,0))==1||t!=i.from||n!=i.to)return!1;let a=nn(e.state,r);return a?(e.dispatch(a),!0):!1}),tn=[{key:`Backspace`,run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Qt(e,e.selection.main.head).brackets||P.brackets,r=null,i=e.changeByRange(t=>{if(t.empty){let r=on(e.doc,t.head);for(let i of n)if(i==r&&an(e.doc,t.head)==Zt(E(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:w.cursor(t.head-i.length)}}return{range:r=t}});return r||t(e.update(i,{scrollIntoView:!0,userEvent:`delete.backward`})),!r}}];function nn(e,t){let n=Qt(e,e.selection.main.head),r=n.brackets||P.brackets;for(let i of r){let a=Zt(E(i,0));if(t==i)return a==i?ln(e,i,r.indexOf(i+i+i)>-1,n):sn(e,i,a,n.before||P.before);if(t==a&&rn(e,e.selection.main.from))return cn(e,i,a)}return null}function rn(e,t){let n=!1;return e.field(Jt).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function an(e,t){let n=e.sliceString(t,t+2);return n.slice(0,y(E(n,0)))}function on(e,t){let n=e.sliceString(t-2,t);return y(E(n,0))==n.length?n:n.slice(1)}function sn(e,t,n,r){let i=null,a=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:F.of(a.to+t.length),range:w.range(a.anchor+t.length,a.head+t.length)};let o=an(e.doc,a.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:F.of(a.head+t.length),range:w.cursor(a.head+t.length)}:{range:i=a}});return i?null:e.update(a,{scrollIntoView:!0,userEvent:`input.type`})}function cn(e,t,n){let r=null,i=e.changeByRange(t=>t.empty&&an(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:w.cursor(t.head+n.length)}:r={range:t});return r?null:e.update(i,{scrollIntoView:!0,userEvent:`input.type`})}function ln(e,t,n,r){let i=r.stringPrefixes||P.stringPrefixes,a=null,o=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:t,from:r.to}],effects:F.of(r.to+t.length),range:w.range(r.anchor+t.length,r.head+t.length)};let o=r.head,s=an(e.doc,o),c;if(s==t){if(un(e,o))return{changes:{insert:t+t,from:o},effects:F.of(o+t.length),range:w.cursor(o+t.length)};if(rn(e,o)){let r=n&&e.sliceDoc(o,o+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+r.length,insert:r},range:w.cursor(o+r.length)}}}else if(n&&e.sliceDoc(o-2*t.length,o)==t+t&&(c=fn(e,o-2*t.length,i))>-1&&un(e,c))return{changes:{insert:t+t+t+t,from:o},effects:F.of(o+t.length),range:w.cursor(o+t.length)};else if(e.charCategorizer(o)(s)!=v.Word&&fn(e,o,i)>-1&&!dn(e,o,t,i))return{changes:{insert:t+t,from:o},effects:F.of(o+t.length),range:w.cursor(o+t.length)};return{range:a=r}});return a?null:e.update(o,{scrollIntoView:!0,userEvent:`input.type`})}function un(e,t){let n=i(e).resolveInner(t+1);return n.parent&&n.from==t}function dn(e,t,n,r){let a=i(e).resolveInner(t,-1),o=r.reduce((e,t)=>Math.max(e,t.length),0);for(let i=0;i<5;i++){let i=e.sliceDoc(a.from,Math.min(a.to,a.from+n.length+o)),s=i.indexOf(n);if(!s||s>-1&&r.indexOf(i.slice(0,s))>-1){let t=a.firstChild;for(;t&&t.from==a.from&&t.to-t.from>n.length+s;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let c=a.to==t&&a.parent;if(!c)break;a=c}return!1}function fn(e,t,n){let r=e.charCategorizer(t);if(r(e.sliceDoc(t-1,t))!=v.Word)return t;for(let i of n){let n=t-i.length;if(e.sliceDoc(n,t)==i&&r(e.sliceDoc(n-1,n))!=v.Word)return n}return-1}function pn(e={}){return[At,j,k.of(e),Ot,hn,jt]}var mn=[{key:`Ctrl-Space`,run:Ct},{mac:"Alt-`",run:Ct},{mac:`Alt-i`,run:Ct},{key:`Escape`,run:wt},{key:`ArrowDown`,run:xt(!0)},{key:`ArrowUp`,run:xt(!1)},{key:`PageDown`,run:xt(!0,`page`)},{key:`PageUp`,run:xt(!1,`page`)},{key:`Enter`,run:St}],hn=he.highest(De.computeN([k],e=>e.facet(k).defaultKeymap?[mn]:[])),gn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=xn(e.state,n.from);return r.line?vn(e):r.block?bn(e):!1};function _n(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return i?(r(n.update(i)),!0):!1}}var vn=_n(En,0),yn=_n(Tn,0),bn=_n((e,t)=>Tn(e,t,wn(t)),0);function xn(e,t){let n=e.languageDataAt(`commentTokens`,t,1);return n.length?n[0]:{}}var Sn=50;function Cn(e,{open:t,close:n},r,i){let a=e.sliceDoc(r-Sn,r),o=e.sliceDoc(i,i+Sn),s=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(o)[0].length,l=a.length-s;if(a.slice(l-t.length,l)==t&&o.slice(c,c+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:i+c,margin:c&&1}};let u,d;i-r<=100?u=d=e.sliceDoc(r,i):(u=e.sliceDoc(r,r+Sn),d=e.sliceDoc(i-Sn,i));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+t.length)==t&&d.slice(m,m+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(u.charAt(f+t.length))},close:{pos:i-p-n.length,margin:+!!/\s/.test(d.charAt(m-1))}}:null}function wn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}function Tn(e,t,n=t.selection.ranges){let r=n.map(e=>xn(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>Cn(t,r[n],e.from,e.to));if(e!=2&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+` `},{from:e.to,insert:` `+r[t].close}]))};if(e!=1&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:a,close:o}=n;e.push({from:a.pos-i.open.length,to:a.pos+a.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}function En(e,t,n=t.selection.ranges){let r=[],i=-1;ranges:for(let{from:e,to:a}of n){let n=r.length,o=1e9,s;for(let n=e;n<=a;){let c=t.doc.lineAt(n);if(s==null&&(s=xn(t,c.from).line,!s))continue ranges;if(c.from>i&&(e==a||a>c.from)){i=c.from;let e=/^\s*/.exec(c.text)[0].length,t=e==c.length,n=c.text.slice(e,e+s.length)==s?e:-1;e<c.text.length&&e<o&&(o=e),r.push({line:c,comment:n,token:s,indent:e,empty:t,single:!1})}n=c.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}if(e!=2&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:a,single:o}of r)(o||!a)&&e.push({from:t.from+i,insert:n+` `});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(e!=1&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,a=r+i.length;t.text[a-t.from]==` `&&a++,e.push({from:r,to:a})}return{changes:e}}return null}var Dn=we.define(),On=we.define(),kn=C.define(),An=C.define({combine(e){return Fe(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),jn=b.define({create(){return R.empty},update(e,t){let n=t.state.facet(An),r=t.annotation(Dn);if(r){let i=I.fromTransaction(t,r.selection),a=r.side,o=a==0?e.undone:e.done;return o=i?Rn(o,o.length,n.minDepth,i):Un(o,t.startState.selection),new R(a==0?r.rest:o,a==0?o:r.rest)}let i=t.annotation(On);if((i==`full`||i==`before`)&&(e=e.isolate()),t.annotation(je.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=I.fromTransaction(t),o=t.annotation(je.time),s=t.annotation(je.userEvent);return a?e=e.addChanges(a,o,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,s,n.newGroupDelay)),(i==`full`||i==`after`)&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new R(e.done.map(I.fromJSON),e.undone.map(I.fromJSON))}});function Mn(e={}){return[jn,An.of(e),g.domEventHandlers({beforeinput(e,t){let n=e.inputType==`historyUndo`?Pn:e.inputType==`historyRedo`?Fn:null;return n?(e.preventDefault(),n(t)):!1}})]}function Nn(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(jn,!1);if(!i)return!1;let a=i.pop(e,n,t);return a?(r(a),!0):!1}}var Pn=Nn(0,!1),Fn=Nn(1,!1),In=Nn(0,!0),Ln=Nn(1,!0),I=class e{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){return{changes:this.changes?.toJSON(),mapped:this.mapped?.toJSON(),startSelection:this.startSelection?.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(t){return new e(t.changes&&ye.fromJSON(t.changes),[],t.mapped&&Oe.fromJSON(t.mapped),t.startSelection&&w.fromJSON(t.startSelection),t.selectionsAfter.map(w.fromJSON))}static fromTransaction(t,n){let r=L;for(let e of t.startState.facet(kn)){let n=e(t);n.length&&(r=r.concat(n))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,L)}static selection(t){return new e(void 0,L,void 0,void 0,t)}};function Rn(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function zn(e,t){let n=[],r=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,i,a)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];a>=t&&i<=o&&(r=!0)}}),r}function Bn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length===0}function Vn(e,t){return e.length?t.length?e.concat(t):e:t}var L=[],Hn=200;function Un(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-Hn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),Rn(e,e.length-1,1e9,n.setSelAfter(r)))}return[I.selection([t])]}function Wn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function Gn(e,t){if(!e.length)return e;let n=e.length,r=L;for(;n;){let i=Kn(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[I.selection(r)]:L}function Kn(e,t,n){let r=Vn(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):L,n);if(!e.changes)return I.selection(r);let i=e.changes.map(t),a=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(a):a;return new I(i,x.mapEffects(e.effects,t),o,e.startSelection.map(a),r)}var qn=/^(input\.type|delete)($|\.)/,R=class e{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,i,a){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&t.changes&&(!r||qn.test(r))&&(!s.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(a,zn(s.changes,t.changes))||r==`input.type.compose`)?Rn(o,o.length-1,i.minDepth,new I(t.changes.compose(s.changes),Vn(x.mapEffects(t.effects,s.changes),s.effects),s.mapped,s.startSelection,L)):Rn(o,o.length,i.minDepth,t),new e(o,L,n,r)}addSelection(t,n,r,i){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:L;return a.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&Bn(a[a.length-1],t)?this:new e(Un(this.done,t),this.undone,n,r)}addMapping(t){return new e(Gn(this.done,t),Gn(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1],a=i.selectionsAfter[0]||(i.startSelection?i.startSelection.map(i.changes.invertedDesc,1):t.selection);if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Dn.of({side:e,rest:Wn(r),selection:a}),userEvent:e==0?`select.undo`:`select.redo`,scrollIntoView:!0});if(i.changes){let n=r.length==1?L:r.slice(0,r.length-1);return i.mapped&&(n=Gn(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Dn.of({side:e,rest:n,selection:a}),filter:!1,userEvent:e==0?`undo`:`redo`,scrollIntoView:!0})}return null}};R.empty=new R(L,L);var Jn=[{key:`Mod-z`,run:Pn,preventDefault:!0},{key:`Mod-y`,mac:`Mod-Shift-z`,run:Fn,preventDefault:!0},{linux:`Ctrl-Shift-z`,run:Fn,preventDefault:!0},{key:`Mod-u`,run:In,preventDefault:!0},{key:`Alt-u`,mac:`Mod-Shift-u`,run:Ln,preventDefault:!0}];function z(e,t){return w.create(e.ranges.map(t),e.mainIndex)}function B(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:`select`})}function V({state:e,dispatch:t},n){let r=z(e.selection,n);return!r.eq(e.selection,!0)&&(t(B(e,r)),!0)}function Yn(e,t){return w.cursor(t?e.to:e.from)}function Xn(e,t){return V(e,n=>n.empty?e.moveByChar(n,t):Yn(n,t))}function H(e){return e.textDirectionAt(e.state.selection.main.head)==h.LTR}var Zn=e=>Xn(e,!H(e)),Qn=e=>Xn(e,H(e));function $n(e,t){return V(e,n=>n.empty?e.moveByGroup(n,t):Yn(n,t))}var er=e=>$n(e,!H(e)),tr=e=>$n(e,H(e));typeof Intl<`u`&&Intl.Segmenter;function nr(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function rr(e,t,n){let r=i(e).resolveInner(t.head),o=n?a.closedBy:a.openedBy;for(let i=t.head;;){let t=n?r.childAfter(i):r.childBefore(i);if(!t)break;nr(e,t,o)?r=t:i=n?t.to:t.from}let s=r.type.prop(o),c,u;return u=s&&(c=n?l(e,r.from,1):l(e,r.to,-1))&&c.matched?n?c.end.to:c.end.from:n?r.to:r.from,w.cursor(u,n?-1:1)}var ir=e=>V(e,t=>rr(e.state,t,!H(e))),ar=e=>V(e,t=>rr(e.state,t,H(e)));function or(e,t){return V(e,n=>{if(!n.empty)return Yn(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}var sr=e=>or(e,!1),cr=e=>or(e,!0);function lr(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(g.scrollMargins)){let i=t(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function ur(e,t){let n=lr(e),{state:r}=e,i=z(r.selection,r=>r.empty?e.moveVertically(r,t,n.height):Yn(r,t));if(i.eq(r.selection))return!1;let a;if(n.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),s=o.top+n.marginTop,c=o.bottom-n.marginBottom;t&&t.top>s&&t.bottom<c&&(a=g.scrollIntoView(i.main.head,{y:`start`,yMargin:t.top-s}))}return e.dispatch(B(r,i),{effects:a}),!0}var dr=e=>ur(e,!1),fr=e=>ur(e,!0);function U(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=w.cursor(r.from+n))}return i}var pr=e=>V(e,t=>U(e,t,!0)),mr=e=>V(e,t=>U(e,t,!1)),hr=e=>V(e,t=>U(e,t,!H(e))),gr=e=>V(e,t=>U(e,t,H(e))),_r=e=>V(e,t=>e.moveToLineBoundary(t,!1,!1)),vr=e=>V(e,t=>e.moveToLineBoundary(t,!0,!1));function yr(e,t,n){let r=!1,i=z(e.selection,t=>{let i=l(e,t.head,-1)||l(e,t.head,1)||t.head>0&&l(e,t.head-1,1)||t.head<e.doc.length&&l(e,t.head+1,-1);if(!i||!i.end)return t;r=!0;let a=i.start.from==t.head?i.end.to:i.end.from;return n?w.range(t.anchor,a):w.cursor(a)});return r?(t(B(e,i)),!0):!1}var br=({state:e,dispatch:t})=>yr(e,t,!1);function W(e,t,n){let r=z(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=w.range(e.head,e.anchor));let r=n(e);return w.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return!r.eq(e.state.selection)&&(e.dispatch(B(e.state,r)),!0)}function xr(e,t){return W(e,t,n=>e.moveByChar(n,t))}var Sr=e=>xr(e,!H(e)),Cr=e=>xr(e,H(e));function wr(e,t){return W(e,t,n=>e.moveByGroup(n,t))}var Tr=e=>wr(e,!H(e)),Er=e=>wr(e,H(e)),Dr=e=>{let t=!H(e);return W(e,t,n=>rr(e.state,n,t))},Or=e=>{let t=H(e);return W(e,t,n=>rr(e.state,n,t))};function kr(e,t){return W(e,t,n=>e.moveVertically(n,t))}var Ar=e=>kr(e,!1),jr=e=>kr(e,!0);function Mr(e,t){return W(e,t,n=>e.moveVertically(n,t,lr(e).height))}var Nr=e=>Mr(e,!1),Pr=e=>Mr(e,!0),Fr=e=>W(e,!0,t=>U(e,t,!0)),Ir=e=>W(e,!1,t=>U(e,t,!1)),Lr=e=>{let t=!H(e);return W(e,t,n=>U(e,n,t))},Rr=e=>{let t=H(e);return W(e,t,n=>U(e,n,t))},zr=e=>W(e,!1,t=>w.cursor(e.lineBlockAt(t.head).from)),Br=e=>W(e,!0,t=>w.cursor(e.lineBlockAt(t.head).to)),Vr=({state:e,dispatch:t})=>(t(B(e,{anchor:0})),!0),Hr=({state:e,dispatch:t})=>(t(B(e,{anchor:e.doc.length})),!0),Ur=({state:e,dispatch:t})=>(t(B(e,{anchor:e.selection.main.anchor,head:0})),!0),Wr=({state:e,dispatch:t})=>(t(B(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Gr=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:`select`})),!0),Kr=({state:e,dispatch:t})=>{let n=ui(e).map(({from:t,to:n})=>w.undirectionalRange(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:w.create(n),userEvent:`select`})),!0},qr=({state:e,dispatch:t})=>{let n=z(e.selection,t=>{let n=i(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return w.undirectionalRange(n.from,n.to)}return t});return!n.eq(e.selection)&&(t(B(e,n)),!0)};function Jr(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let a=n.doc.lineAt(r.head);if(t?a.to<e.state.doc.length:a.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<a.from||r.head>a.to){i.some(e=>e.head==r.head)||i.push(r);break}if(r.head==n.head)break;n=r}}return i.length!=r.ranges.length&&(e.dispatch(B(n,w.create(i,i.length-1))),!0)}var Yr=e=>Jr(e,!1),Xr=e=>Jr(e,!0),Zr=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=w.create([n.main]):n.main.empty||(r=w.create([w.cursor(n.main.head)])),r?(t(B(e,r)),!0):!1};function G(e,t){if(e.state.readOnly)return!1;let n=`delete.selection`,{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:a}=r;if(i==a){let o=t(r);o<i?(n=`delete.backward`,o=Qr(e,o,!1)):o>i&&(n=`delete.forward`,o=Qr(e,o,!0)),i=Math.min(i,o),a=Math.max(a,o)}else i=Qr(e,i,!1),a=Qr(e,a,!0);return i==a?{range:r}:{changes:{from:i,to:a},range:w.cursor(i,i<r.head?-1:1)}});return!i.changes.empty&&(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n==`delete.selection`?g.announce.of(r.phrase(`Selection deleted`)):void 0})),!0)}function Qr(e,t,n){if(e instanceof g)for(let r of e.state.facet(g.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}var $r=(e,t,n)=>G(e,r=>{let i=r.from,{state:a}=e,o=a.doc.lineAt(i),s,l;if(n&&!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(s=o.text.slice(0,i-o.from))){if(s[s.length-1]==` `)return i-1;let e=ne(s,a.tabSize)%fe(a)||fe(a);for(let t=0;t<e&&s[s.length-1-t]==` `;t++)i--;l=i}else l=c(o.text,i-o.from,t,t)+o.from,l==i&&o.number!=(t?a.doc.lines:1)?l+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,i-o.from))&&(l=c(o.text,l-o.from,!1,!1)+o.from);return l}),ei=e=>$r(e,!1,!0),ti=e=>$r(e,!0,!1),ni=(e,t)=>G(e,n=>{let r=n.head,{state:i}=e,a=i.doc.lineAt(r),o=i.charCategorizer(r);for(let e=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let s=c(a.text,r-a.from,t)+a.from,l=a.text.slice(Math.min(r,s)-a.from,Math.max(r,s)-a.from),u=o(l);if(e!=null&&u!=e)break;(l!=` `||r!=n.head)&&(e=u),r=s}return r}),ri=e=>ni(e,!1),ii=e=>ni(e,!0),ai=e=>G(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),oi=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),si=e=>G(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),ci=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:de.of([``,``])},range:w.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:`input`})),!0},li=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||t.from==0||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:c(r.text,n-r.from,!1)+r.from,a=n==r.to?n+1:c(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:a,insert:e.doc.slice(n,a).append(e.doc.slice(i,n))},range:w.cursor(a)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:`move.character`})),!0)};function ui(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function di(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of ui(e)){if(n?t.to==e.doc.length:t.from==0)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(w.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(w.range(e.anchor-o,e.head-o))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:w.create(i,e.selection.mainIndex),userEvent:`move.line`})),!0):!1}var fi=({state:e,dispatch:t})=>di(e,t,!1),pi=({state:e,dispatch:t})=>di(e,t,!0);function mi(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of ui(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let i=e.changes(r);return t(e.update({changes:i,selection:e.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:`input.copyline`})),!0}var hi=({state:e,dispatch:t})=>mi(e,t,!1),gi=({state:e,dispatch:t})=>mi(e,t,!0),_i=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ui(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=z(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:`delete.line`}),!0};function vi(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=i(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),s;return r&&o&&r.to<=t&&o.from>=t&&(s=r.type.prop(a.closedBy))&&s.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}var yi=xi(!1),bi=xi(!0);function xi(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&vi(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new Ce(t,{simulateBreak:r,simulateDoubleBreak:!!o}),c=Pe(s,r);for(c??=ne(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize);i<a.to&&/\s/.test(a.text[i-a.from]);)i++;o?{from:r,to:i}=o:r>a.from&&r<a.from+100&&!/\S/.test(a.text.slice(0,r))&&(r=a.from);let l=[``,Me(t,c)];return o&&l.push(Me(t,s.lineIndent(a.from,-1))),{changes:{from:r,to:i,insert:de.of(l)},range:w.cursor(r+1+l[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:`input`})),!0}}function Si(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:w.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}var Ci=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Ce(e,{overrideIndentation:e=>n[e]??-1}),i=Si(e,(t,i,a)=>{let o=Pe(r,t.from);if(o==null)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],c=Me(e,o);(s!=c||a.from<t.from+s.length)&&(n[t.from]=o,i.push({from:t.from,to:t.from+s.length,insert:c}))});return i.changes.empty||t(e.update(i,{userEvent:`indent`})),!0},wi=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Si(e,(t,n)=>{n.push({from:t.from,insert:e.facet(re)})}),{userEvent:`input.indent`})),!0),Ti=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Si(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=ne(r,e.tabSize),a=0,o=Me(e,Math.max(0,i-fe(e)));for(;a<r.length&&a<o.length&&r.charCodeAt(a)==o.charCodeAt(a);)a++;n.push({from:t.from+a,to:t.from+r.length,insert:o.slice(a)})}),{userEvent:`delete.dedent`})),!0),Ei=e=>(e.setTabFocusMode(),!0),Di=[{key:`Ctrl-b`,run:Zn,shift:Sr,preventDefault:!0},{key:`Ctrl-f`,run:Qn,shift:Cr},{key:`Ctrl-p`,run:sr,shift:Ar},{key:`Ctrl-n`,run:cr,shift:jr},{key:`Ctrl-a`,run:_r,shift:zr},{key:`Ctrl-e`,run:vr,shift:Br},{key:`Ctrl-d`,run:ti},{key:`Ctrl-h`,run:ei},{key:`Ctrl-k`,run:ai},{key:`Ctrl-Alt-h`,run:ri},{key:`Ctrl-o`,run:ci},{key:`Ctrl-t`,run:li},{key:`Ctrl-v`,run:fr}],Oi=[{key:`ArrowLeft`,run:Zn,shift:Sr,preventDefault:!0},{key:`Mod-ArrowLeft`,mac:`Alt-ArrowLeft`,run:er,shift:Tr,preventDefault:!0},{mac:`Cmd-ArrowLeft`,run:hr,shift:Lr,preventDefault:!0},{key:`ArrowRight`,run:Qn,shift:Cr,preventDefault:!0},{key:`Mod-ArrowRight`,mac:`Alt-ArrowRight`,run:tr,shift:Er,preventDefault:!0},{mac:`Cmd-ArrowRight`,run:gr,shift:Rr,preventDefault:!0},{key:`ArrowUp`,run:sr,shift:Ar,preventDefault:!0},{mac:`Cmd-ArrowUp`,run:Vr,shift:Ur},{mac:`Ctrl-ArrowUp`,run:dr,shift:Nr},{key:`ArrowDown`,run:cr,shift:jr,preventDefault:!0},{mac:`Cmd-ArrowDown`,run:Hr,shift:Wr},{mac:`Ctrl-ArrowDown`,run:fr,shift:Pr},{key:`PageUp`,run:dr,shift:Nr},{key:`PageDown`,run:fr,shift:Pr},{key:`Home`,run:mr,shift:Ir,preventDefault:!0},{key:`Mod-Home`,run:Vr,shift:Ur},{key:`End`,run:pr,shift:Fr,preventDefault:!0},{key:`Mod-End`,run:Hr,shift:Wr},{key:`Enter`,run:yi,shift:yi},{key:`Mod-a`,run:Gr},{key:`Backspace`,run:ei,shift:ei,preventDefault:!0},{key:`Delete`,run:ti,preventDefault:!0},{key:`Mod-Backspace`,mac:`Alt-Backspace`,run:ri,preventDefault:!0},{key:`Mod-Delete`,mac:`Alt-Delete`,run:ii,preventDefault:!0},{mac:`Mod-Backspace`,run:oi,preventDefault:!0},{mac:`Mod-Delete`,run:si,preventDefault:!0}].concat(Di.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),ki=[{key:`Alt-ArrowLeft`,mac:`Ctrl-ArrowLeft`,run:ir,shift:Dr},{key:`Alt-ArrowRight`,mac:`Ctrl-ArrowRight`,run:ar,shift:Or},{key:`Alt-ArrowUp`,run:fi},{key:`Shift-Alt-ArrowUp`,run:hi},{key:`Alt-ArrowDown`,run:pi},{key:`Shift-Alt-ArrowDown`,run:gi},{key:`Mod-Alt-ArrowUp`,run:Yr},{key:`Mod-Alt-ArrowDown`,run:Xr},{key:`Escape`,run:Zr},{key:`Mod-Enter`,run:bi},{key:`Alt-l`,mac:`Ctrl-l`,run:Kr},{key:`Mod-i`,run:qr,preventDefault:!0},{key:`Mod-[`,run:Ti},{key:`Mod-]`,run:wi},{key:`Mod-Alt-\\`,run:Ci},{key:`Shift-Mod-k`,run:_i},{key:`Shift-Mod-\\`,run:br},{key:`Mod-/`,run:gn},{key:`Alt-A`,mac:`Ctrl-A`,run:yn},{key:`Ctrl-m`,mac:`Shift-Alt-m`,run:Ei}].concat(Oi),Ai={key:`Tab`,run:wi,shift:Ti},ji=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,K=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(ji(e)):ji,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return E(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ne(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=y(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n,a=!0;;e++){let n=r.charCodeAt(e),o=this.match(n,i,a,this.bufferPos+this.bufferStart,e==r.length-1);if(o)return this.value=o,this;if(e==r.length-1)break;a&&e<t.length&&t.charCodeAt(e)==n?i++:a=!1}}}match(e,t,n,r,i){let a=null;for(let t=0;t<this.matches.length;){let n=this.matches[t],o=!1;this.query.charCodeAt(n.index)==e&&(n.index==this.query.length-1?a={from:n.from,to:r,precise:i&&n.precise}:(n.index++,o=!0)),o?t++:this.matches.splice(t,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:r,precise:n&&i}:this.matches.push({from:t,index:1,precise:n})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}};typeof Symbol<`u`&&(K.prototype[Symbol.iterator]=function(){return this});var Mi={from:-1,to:-1,match:/.*/.exec(``),precise:!0},Ni=`gm`+(/x/.unicode==null?``:`u`),Pi=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=Mi,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Li(e,t,n,r,i);this.re=new RegExp(t,Ni+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter();let a=e.lineAt(r);this.curLineStart=a.from,this.matchPos=zi(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=zi(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Fi=new WeakMap,Ii=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=Fi.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return Fi.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),Fi.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Li=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=Mi,this.matchPos=zi(e,r),this.re=new RegExp(t,Ni+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Ii.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,precise:!0,match:t},this.matchPos=zi(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ii.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<`u`&&(Pi.prototype[Symbol.iterator]=Li.prototype[Symbol.iterator]=function(){return this});function Ri(e){try{return new RegExp(e,Ni),!0}catch{return!1}}function zi(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}var Bi=e=>{let t=Ie(e,`cm-goto-line`);if(t){let e=t.dom.querySelector(`input[type=text]`);return e&&e.select(),!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:i,result:a}=_(e,{class:`cm-goto-line`,label:n.phrase(`Go to line`),input:{type:`text`,name:`line`,value:r},focus:!0,submitLabel:n.phrase(`go`)});return a.then(t=>{let r=t&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.elements.line.value);if(!r){e.dispatch({effects:i});return}let a=n.doc.lineAt(n.selection.main.head),[,o,s,c,l]=r,u=c?+c.slice(1):0,d=s?+s:a.number;if(s&&l){let e=d/100;o&&(e=e*(o==`-`?-1:1)+a.number/n.doc.lines),d=Math.round(n.doc.lines*e)}else s&&o&&(d=d*(o==`-`?-1:1)+a.number);let f=n.doc.line(Math.max(1,Math.min(n.doc.lines,d))),p=w.cursor(f.from+Math.max(0,Math.min(u,f.length)));e.dispatch({effects:[i,g.scrollIntoView(p.from,{y:`center`})],selection:p})}),!0},Vi={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Hi=C.define({combine(e){return Fe(e,Vi,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function Ui(e){let t=[Yi,Ji];return e&&t.push(Hi.of(e)),t}var Wi=S.mark({class:`cm-selectionMatch`}),Gi=S.mark({class:`cm-selectionMatch cm-selectionMatch-main`});function Ki(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=v.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=v.Word)}function qi(e,t,n,r){return e(t.sliceDoc(n,n+1))==v.Word&&e(t.sliceDoc(r-1,r))==v.Word}var Ji=d.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Hi),{state:n}=e,r=n.selection;if(r.ranges.length>1)return S.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return S.none;let e=n.wordAt(i.head);if(!e)return S.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return S.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(Ki(o,n,i.from,i.to)&&qi(o,n,i.from,i.to)))return S.none}else if(a=n.sliceDoc(i.from,i.to),!a)return S.none}let s=[];for(let r of e.visibleRanges){let e=new K(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||Ki(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(Gi.range(r,a)):(r>=i.to||a<=i.from)&&s.push(Wi.range(r,a)),s.length>t.maxMatches))return S.none}}return S.set(s)}},{decorations:e=>e.decorations}),Yi=g.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),Xi=({state:e,dispatch:t})=>{let{selection:n}=e,r=w.create(n.ranges.map(t=>e.wordAt(t.head)||w.cursor(t.head)),n.mainIndex);return!r.eq(n)&&(t(e.update({selection:r})),!0)};function Zi(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new K(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new K(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}var Qi=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return Xi({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=Zi(e,r);return i?(t(e.update({selection:e.selection.addRange(w.range(i.from,i.to),!1),effects:g.scrollIntoView(i.to)})),!0):!1},q=C.define({combine(e){return Fe(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Aa(e),scrollToMatch:e=>g.scrollIntoView(e)})}});function $i(e){return e?[q.of(e),Fa]:Fa}var ea=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Ri(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
|
|
3
|
+
`:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new la(this):new ia(this)}getCursor(e,t=0,n){let r=e.doc?e:me.create({doc:e});return n??=r.doc.length,this.regexp?Y(this,r,t,n):J(this,r,t,n)}},ta=class{constructor(e){this.spec=e}};function na(e,t,n){return(r,i,a,o)=>n&&!n(r,i,a,o)?!1:e(r>=o&&i<=o+a.length?a.slice(r-o,i-o):t.doc.sliceString(r,i),t,r,i)}function J(e,t,n,r){let i;return e.wholeWord&&(i=ra(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(i=na(e.test,t,i)),new K(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),i)}function ra(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(oa(i,n-a))!=v.Word||t(sa(i,n-a))!=v.Word)&&(t(sa(i,r-a))!=v.Word||t(oa(i,r-a))!=v.Word))}var ia=class extends ta{constructor(e){super(e)}nextMatch(e,t,n){let r=J(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=J(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=J(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=J(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=J(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}};function aa(e,t,n){return(r,i,a)=>(!n||n(r,i,a))&&e(a[0],t,r,i)}function Y(e,t,n,r){let i;return e.wholeWord&&(i=ca(t.charCategorizer(t.selection.main.head))),e.test&&(i=aa(e.test,t,i)),new Pi(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:i},n,r)}function oa(e,t){return e.slice(c(e,t,!1),t)}function sa(e,t){return e.slice(t,c(e,t))}function ca(e){return(t,n,r)=>!r[0].length||(e(oa(r.input,r.index))!=v.Word||e(sa(r.input,r.index))!=v.Word)&&(e(sa(r.input,r.index+r[0].length))!=v.Word||e(oa(r.input,r.index+r[0].length))!=v.Word)}var la=class extends ta{nextMatch(e,t,n){let r=Y(this.spec,e,n,e.doc.length).next();return r.done&&(r=Y(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=Y(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=Y(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=Y(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},ua=x.define(),da=x.define(),X=b.define({create(e){return new fa(wa(e).create(),null)},update(e,t){for(let n of t.effects)n.is(ua)?e=new fa(n.value.create(),e.panel):n.is(da)&&(e=new fa(e.query,n.value?Ca:null));return e},provide:e=>r.from(e,e=>e.panel)}),fa=class{constructor(e,t){this.query=e,this.panel=t}},pa=S.mark({class:`cm-searchMatch`}),ma=S.mark({class:`cm-searchMatch cm-searchMatch-selected`}),ha=d.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(X))}update(e){let t=e.state.field(X);(t!=e.startState.field(X)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return S.none;let{view:n}=this,r=new Ee;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?ma:pa)})}return r.finish()}},{decorations:e=>e.decorations});function ga(e){return t=>{let n=t.state.field(X,!1);return n&&n.query.spec.valid?e(t,n):Da(t)}}var _a=ga((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=w.single(r.from,r.to),a=e.state.facet(q);return e.dispatch({selection:i,effects:[Na(e,r),a.scrollToMatch(i.main,e)],userEvent:`select.search`}),Ea(e),!0}),va=ga((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let a=w.single(i.from,i.to),o=e.state.facet(q);return e.dispatch({selection:a,effects:[Na(e,i),o.scrollToMatch(a.main,e)],userEvent:`select.search`}),Ea(e),!0}),ya=ga((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:w.create(n.map(e=>w.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),ba=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,a=[],o=0;for(let t=new K(e.doc,e.sliceDoc(r,i));!t.next().done;){if(a.length>1e3)return!1;t.value.from==r&&(o=a.length),a.push(w.range(t.value.from,t.value.to))}return t(e.update({selection:w.create(a,o),userEvent:`select.search.matches`})),!0},xa=ga((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let o=a,s=[],c,l,u=[];o.precise?o.from==r&&o.to==i&&(l=n.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(n,o.from,o.to),u.push(g.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`))):o=t.nextMatch(n,o.from,o.to);let d=e.state.changes(s);return o&&(c=w.single(o.from,o.to).map(d),u.push(Na(e,o)),u.push(n.facet(q).scrollToMatch(c.main,e))),e.dispatch({changes:d,selection:c,effects:u,userEvent:`input.replace`}),!0}),Sa=ga((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:e,to:i,precise:a}=r;a&&n.push({from:e,to:i,insert:t.getReplacement(r)})}if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:g.announce.of(r),userEvent:`input.replace.all`}),!0});function Ca(e){return e.state.facet(q).createPanel(e)}function wa(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(q);return new ea({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function Ta(e){let t=o(e,Ca);return t&&t.dom.querySelector(`[main-field]`)}function Ea(e){let t=Ta(e);t&&t==e.root.activeElement&&t.select()}var Da=e=>{let t=e.state.field(X,!1);if(t&&t.panel){let n=Ta(e);if(n&&n!=e.root.activeElement){let r=wa(e.state,t.query.spec);r.valid&&e.dispatch({effects:ua.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[da.of(!0),t?ua.of(wa(e.state,t.query.spec)):x.appendConfig.of(Fa)]});return!0},Oa=e=>{let t=e.state.field(X,!1);if(!t||!t.panel)return!1;let n=o(e,Ca);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:da.of(!1)}),!0},ka=[{key:`Mod-f`,run:Da,scope:`editor search-panel`},{key:`F3`,run:_a,shift:va,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:_a,shift:va,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:Oa,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:ba},{key:`Mod-Alt-g`,run:Bi},{key:`Mod-d`,run:Qi,preventDefault:!0}],Aa=class{constructor(e){this.view=e;let t=this.query=e.state.field(X).query.spec;this.commit=this.commit.bind(this),this.searchField=T(`input`,{value:t.search,placeholder:Z(e,`Find`),"aria-label":Z(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=T(`input`,{value:t.replace,placeholder:Z(e,`Replace`),"aria-label":Z(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=T(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=T(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=T(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return T(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=T(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>_a(e),[Z(e,`next`)]),n(`prev`,()=>va(e),[Z(e,`previous`)]),n(`select`,()=>ya(e),[Z(e,`all`)]),T(`label`,null,[this.caseField,Z(e,`match case`)]),T(`label`,null,[this.reField,Z(e,`regexp`)]),T(`label`,null,[this.wordField,Z(e,`by word`)]),...e.state.readOnly?[]:[T(`br`),this.replaceField,n(`replace`,()=>xa(e),[Z(e,`replace`)]),n(`replaceAll`,()=>Sa(e),[Z(e,`replace all`)])],T(`button`,{name:`close`,onclick:()=>Oa(e),"aria-label":Z(e,`close`),type:`button`},[`×`])])}commit(){let e=new ea({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ua.of(e)}))}keydown(e){le(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?va:_a)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),xa(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(ua)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(q).top}};function Z(e,t){return e.state.phrase(t)}var ja=30,Ma=/[\s\.,:;?!]/;function Na(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-ja),o=Math.min(i,n+ja),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<ja;e++)if(!Ma.test(s[e+1])&&Ma.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-ja;e--)if(!Ma.test(s[e-1])&&Ma.test(s[e])){s=s.slice(0,e);break}}return g.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var Pa=g.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),Fa=[X,he.low(ha),Pa],Ia={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`tsx`,c:`cpp`,h:`cpp`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,java:`java`,kt:`kotlin`,kts:`kotlin`,cs:`csharp`,html:`html`,htm:`html`,xhtml:`html`,php:`php`,xml:`xml`,svg:`xml`,css:`css`,scss:`scss`,less:`less`,json:`json`,jsonc:`json`,md:`markdown`,markdown:`markdown`,yaml:`yaml`,yml:`yaml`,toml:`toml`,py:`python`,rb:`ruby`,lua:`lua`,swift:`swift`,rs:`rust`,go:`go`,sql:`sql`,sh:`shell`,bash:`shell`,dockerfile:`dockerfile`};function La(e){let t=(e.replace(/[?#].*$/,``).split(`/`).pop()??``).toLowerCase();if(t===`dockerfile`||t.startsWith(`dockerfile.`))return`dockerfile`;let n=t.lastIndexOf(`.`);return n<=0?null:Ia[t.slice(n+1)]??null}var Q=e=>pe.define(e),Ra={javascript:async()=>(await n(async()=>{let{javascript:e}=await import(`./dist-DVLbqnEo.js`).then(e=>e.t);return{javascript:e}},__vite__mapDeps([0,1,2,3]),import.meta.url)).javascript(),jsx:async()=>(await n(async()=>{let{javascript:e}=await import(`./dist-DVLbqnEo.js`).then(e=>e.t);return{javascript:e}},__vite__mapDeps([0,1,2,3]),import.meta.url)).javascript({jsx:!0}),typescript:async()=>(await n(async()=>{let{javascript:e}=await import(`./dist-DVLbqnEo.js`).then(e=>e.t);return{javascript:e}},__vite__mapDeps([0,1,2,3]),import.meta.url)).javascript({typescript:!0}),tsx:async()=>(await n(async()=>{let{javascript:e}=await import(`./dist-DVLbqnEo.js`).then(e=>e.t);return{javascript:e}},__vite__mapDeps([0,1,2,3]),import.meta.url)).javascript({jsx:!0,typescript:!0}),cpp:async()=>(await n(async()=>{let{cpp:e}=await import(`./dist-DUiHb392.js`);return{cpp:e}},__vite__mapDeps([4,2,3]),import.meta.url)).cpp(),java:async()=>(await n(async()=>{let{java:e}=await import(`./dist-fdt_fTp5.js`);return{java:e}},__vite__mapDeps([5,2,3]),import.meta.url)).java(),kotlin:async()=>Q((await n(async()=>{let{kotlin:e}=await import(`./clike-pnxEhJ5P.js`);return{kotlin:e}},[],import.meta.url)).kotlin),csharp:async()=>Q((await n(async()=>{let{csharp:e}=await import(`./clike-pnxEhJ5P.js`);return{csharp:e}},[],import.meta.url)).csharp),html:async()=>(await n(async()=>{let{html:e}=await import(`./dist-a56DBHT4.js`);return{html:e}},__vite__mapDeps([6,2,3,7,1,0]),import.meta.url)).html(),php:async()=>(await n(async()=>{let{php:e}=await import(`./dist-UsePpmWK.js`);return{php:e}},__vite__mapDeps([8,2,3,6,7,1,0]),import.meta.url)).php(),xml:async()=>(await n(async()=>{let{xml:e}=await import(`./dist-BMwhNxyY.js`);return{xml:e}},__vite__mapDeps([9,2,3]),import.meta.url)).xml(),css:async()=>(await n(async()=>{let{css:e}=await import(`./dist-BVWBMVma.js`).then(e=>e.r);return{css:e}},__vite__mapDeps([7,1,2,3]),import.meta.url)).css(),scss:async()=>(await n(async()=>{let{css:e}=await import(`./dist-BVWBMVma.js`).then(e=>e.r);return{css:e}},__vite__mapDeps([7,1,2,3]),import.meta.url)).css(),less:async()=>(await n(async()=>{let{css:e}=await import(`./dist-BVWBMVma.js`).then(e=>e.r);return{css:e}},__vite__mapDeps([7,1,2,3]),import.meta.url)).css(),json:async()=>(await n(async()=>{let{json:e}=await import(`./dist-DxvAUGwy.js`).then(e=>e.t);return{json:e}},__vite__mapDeps([10,1,2,3]),import.meta.url)).json(),markdown:async()=>(await n(async()=>{let{markdown:e}=await import(`./dist-DrG75V-Z.js`);return{markdown:e}},__vite__mapDeps([11,2,6,3,7,1,0]),import.meta.url)).markdown(),yaml:async()=>(await n(async()=>{let{yaml:e}=await import(`./dist-CaJpOCLg.js`);return{yaml:e}},__vite__mapDeps([12,2,3]),import.meta.url)).yaml(),toml:async()=>Q((await n(async()=>{let{toml:e}=await import(`./toml-BPTmHmyx.js`);return{toml:e}},[],import.meta.url)).toml),python:async()=>(await n(async()=>{let{python:e}=await import(`./dist-BCQ-dSMw.js`);return{python:e}},__vite__mapDeps([13,2,3]),import.meta.url)).python(),ruby:async()=>Q((await n(async()=>{let{ruby:e}=await import(`./ruby-ChfNwlCY.js`);return{ruby:e}},[],import.meta.url)).ruby),lua:async()=>Q((await n(async()=>{let{lua:e}=await import(`./lua-DPCEkfD_.js`);return{lua:e}},[],import.meta.url)).lua),swift:async()=>Q((await n(async()=>{let{swift:e}=await import(`./swift-DKB6_1j6.js`);return{swift:e}},[],import.meta.url)).swift),rust:async()=>(await n(async()=>{let{rust:e}=await import(`./dist-2b3tV-Z7.js`);return{rust:e}},__vite__mapDeps([14,2,3]),import.meta.url)).rust(),go:async()=>(await n(async()=>{let{go:e}=await import(`./dist-CHrzvaer.js`);return{go:e}},__vite__mapDeps([15,2,3]),import.meta.url)).go(),sql:async()=>(await n(async()=>{let{sql:e}=await import(`./dist-Cy5nEZGW.js`);return{sql:e}},__vite__mapDeps([16,2,3]),import.meta.url)).sql(),shell:async()=>Q((await n(async()=>{let{shell:e}=await import(`./shell-DwuoZtxw.js`);return{shell:e}},[],import.meta.url)).shell),dockerfile:async()=>Q((await n(async()=>{let{dockerFile:e}=await import(`./dockerfile-BDePf5PZ.js`);return{dockerFile:e}},[],import.meta.url)).dockerFile)};function za(e){return e===null?Promise.resolve([]):Ra[e]()}var Ba=e(),Va=we.define(),$=(e,t)=>`color-mix(in srgb, var(${e}) ${t}%, transparent)`,Ha=g.theme({"&":{height:`100%`,color:`var(--oo-color-text)`,backgroundColor:`var(--oo-color-canvas)`,fontSize:`var(--oo-font-size-xs)`},".cm-scroller":{fontFamily:`var(--oo-font-mono, monospace)`,lineHeight:`1.5`},".cm-content":{caretColor:`var(--oo-color-accent)`},".cm-cursor, .cm-dropCursor":{borderLeftColor:`var(--oo-color-accent)`},".cm-selectionBackground, &.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{backgroundColor:$(`--oo-color-accent`,28)},".cm-activeLine":{backgroundColor:$(`--oo-color-text`,5)},".cm-gutters":{backgroundColor:`var(--oo-color-canvas)`,color:`var(--oo-color-muted)`,borderRight:`1px solid var(--oo-color-border)`},".cm-activeLineGutter":{backgroundColor:$(`--oo-color-text`,5),color:`var(--oo-color-text)`},".cm-foldPlaceholder":{backgroundColor:`var(--oo-color-hover)`,border:`1px solid var(--oo-color-border)`,color:`var(--oo-color-muted)`},".cm-selectionMatch":{backgroundColor:$(`--oo-color-accent`,14)},"&.cm-focused .cm-matchingBracket":{backgroundColor:$(`--oo-color-accent`,30),outline:`1px solid var(--oo-color-accent)`},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:$(`--oo-color-danger`,30)},".cm-searchMatch":{backgroundColor:$(`--oo-color-warning`,30)},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:$(`--oo-color-warning`,60)},".cm-panels":{backgroundColor:`var(--oo-color-panel)`,color:`var(--oo-color-text)`},".cm-panels.cm-panels-top":{borderBottom:`1px solid var(--oo-color-border)`},".cm-panels.cm-panels-bottom":{borderTop:`1px solid var(--oo-color-border)`},".cm-textfield":{backgroundColor:`var(--oo-color-canvas)`,color:`var(--oo-color-text)`,border:`1px solid var(--oo-color-border)`,borderRadius:`var(--oo-radius-sm)`},".cm-button":{backgroundImage:`none`,backgroundColor:`var(--oo-color-surface)`,color:`var(--oo-color-text)`,border:`1px solid var(--oo-color-border)`,borderRadius:`var(--oo-radius-sm)`},".cm-tooltip":{backgroundColor:`var(--oo-color-raised)`,color:`var(--oo-color-text)`,border:`1px solid var(--oo-color-border)`},".cm-diagnostic-error":{borderLeftColor:`var(--oo-color-danger)`},".cm-diagnostic-warning":{borderLeftColor:`var(--oo-color-warning)`},".cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:`var(--oo-color-selected)`,color:`var(--oo-color-text)`}}),Ua=ke.define([{tag:[u.keyword,u.controlKeyword,u.moduleKeyword,u.operatorKeyword,u.definitionKeyword,u.modifier],color:`var(--ahpw-code-keyword)`},{tag:[u.string,u.special(u.string),u.regexp,u.character],color:`var(--ahpw-code-string)`},{tag:[u.number,u.bool,u.null,u.atom,u.unit],color:`var(--ahpw-code-number)`},{tag:[u.comment,u.lineComment,u.blockComment,u.docComment],color:`var(--ahpw-code-comment)`,fontStyle:`italic`},{tag:[u.function(u.variableName),u.function(u.propertyName),u.macroName],color:`var(--ahpw-code-function)`},{tag:[u.typeName,u.className,u.namespace,u.standard(u.typeName)],color:`var(--ahpw-code-type)`},{tag:[u.propertyName,u.definition(u.propertyName),u.labelName],color:`var(--ahpw-code-property)`},{tag:[u.tagName,u.angleBracket],color:`var(--ahpw-code-tag)`},{tag:u.attributeName,color:`var(--ahpw-code-attribute)`},{tag:[u.meta,u.processingInstruction,u.annotation],color:`var(--ahpw-code-meta)`},{tag:u.heading,color:`var(--ahpw-code-keyword)`,fontWeight:`600`},{tag:[u.link,u.url],color:`var(--ahpw-code-string)`,textDecoration:`underline`},{tag:u.emphasis,fontStyle:`italic`},{tag:u.strong,fontWeight:`600`},{tag:u.strikethrough,textDecoration:`line-through`},{tag:u.invalid,color:`var(--oo-color-danger)`}]),Wa=e=>[me.readOnly.of(e),g.editable.of(!e)];function Ga(e,t,n){let r=e.state.doc,i=r.line(Math.min(Math.max(t,1),r.lines)),a=r.line(Math.min(Math.max(n??t,i.number),r.lines));e.dispatch({selection:w.range(i.from,a.to),effects:g.scrollIntoView(i.from,{y:`center`})})}function Ka({value:e,language:t=null,readOnly:n=!1,line:r,end:i,onChange:a,onSave:o,extensions:c=[]}){let l=(0,D.useRef)(null),u=(0,D.useRef)(null),d=(0,D.useRef)(new Te),p=(0,D.useRef)(new Te),h=(0,D.useRef)({onChange:a,onSave:o});return h.current={onChange:a,onSave:o},(0,D.useEffect)(()=>{let t=l.current;if(t===null)return;let r=new g({parent:t,state:me.create({doc:e,extensions:[m(),oe(),f(),Mn(),ve(),ee(),te(),me.allowMultipleSelections.of(!0),s(),be(Ua),xe(),Yt(),pn(),se(),ie(),Ui(),$i({top:!0}),De.of([{key:`Mod-s`,preventDefault:!0,run:e=>(h.current.onSave?.(e.state.doc.toString()),!0)},...tn,...ki,...ka,...Jn,...ue,...mn,Ai]),Ha,c,d.current.of([]),p.current.of(Wa(n)),g.updateListener.of(e=>{e.docChanged&&!e.transactions.some(e=>e.annotation(Va)===!0)&&h.current.onChange?.(e.state.doc.toString())})]})});return u.current=r,()=>{r.destroy(),u.current=null}},[]),(0,D.useEffect)(()=>{let t=u.current;t!==null&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e},annotations:Va.of(!0)})},[e]),(0,D.useEffect)(()=>{let e=!0;return za(t).then(t=>{e&&u.current?.dispatch({effects:d.current.reconfigure(t)})}).catch(()=>void 0),()=>{e=!1}},[t]),(0,D.useEffect)(()=>{u.current?.dispatch({effects:p.current.reconfigure(Wa(n))})},[n]),(0,D.useEffect)(()=>{let e=u.current;e!==null&&typeof r==`number`&&Ga(e,r,i)},[r,i,e]),(0,Ba.jsx)(`div`,{className:`web-editor`,ref:l})}export{Ve as a,Be as i,La as n,Gt as o,Le as r,Ka as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./jsx-runtime-BguD1OXD.js";import{t as n}from"./react-CybPckBe.js";import{t as r}from"./useStore-BQkzWMs-.js";import{l as i,t as a}from"./useI18n-T3BwAm0z.js";import{n as o}from"./ScenaProvider-6A3TJumQ.js";import{o as s}from"./data-DPJ4OTLn.js";import{t as c}from"./emojis-DanG-8fr.js";import{t as l}from"./ActionList-QwhYPQiB.js";import{a as u,d,o as f,r as p}from"./terminal-_7S7Eyr-.js";var m=n(),h=c.terminal;function g(e,t){let n=f(e.claim,t);return n.kind===`you`?i(`terminals/holder/you`):n.kind===`session`?i(`terminals/holder/session`):i(`terminals/holder/another`)}function _(e,t){if(!u(e))return g(e,t);let n=p(e),r=g(e,t);return n===null?i(`terminals/exited`,{holder:r}):i(`terminals/exitedWith`,{holder:r,code:n})}function v(e,t){let n=e.store.get(s),r=t.trim().toLowerCase();return(n?.terminals??[]).filter(e=>r===``||`terminal ${i(`terminals/rows/title`,{title:d(e)})}`.toLowerCase().includes(r)).map(t=>({title:i(`terminals/rows/title`,{title:d(t)}),description:_(t,n?.clientId??null),icon:h,group:i(`terminals/rows/group`),onSelect:n=>{n.closeMenu(),e.commands.execute(`ahp.openTerminal`,{uri:t.resource})}}))}var y=e({PALETTE_KEY:()=>S,PALETTE_SLOT:()=>x,default:()=>k,openPalette:()=>E}),b=t(),x=`ahp:palette`,S=`command-palette`,C=null,w=null;function T(e){return e===null?{query:{slot:x},footerHints:!0}:{...e,footerHints:!0}}function E(e,t){if(w!==null){w(t??null);return}C=t??null,e.surfaces.open({surface:`overlay`,key:S,resource:{component:`CommandPalette`}})}function D(e){return e.normalize(`NFD`).replace(/\p{Diacritic}/gu,``).toLowerCase()}function O(e,t){let n=D(t.trim());return n===``?e:e.filter(e=>`title`in e&&D(`${e.title} ${e.description??``}`).includes(n))}function k(){let e=o(),{t}=a(),[n,i]=(0,m.useState)(``),[c,u]=(0,m.useState)(()=>{let e=C;return C=null,[T(e)]});(0,m.useEffect)(()=>(w=e=>{u([T(e)]),i(``)},()=>{w=null}),[]);let d=(0,m.useRef)(null),f=(0,m.useCallback)(()=>e.surfaces.close(S),[e]),p=(0,m.useMemo)(()=>({pushList:e=>{u(t=>[...t,e]),i(``)},replaceList:e=>u(t=>[...t.slice(0,-1),e]),openInline:()=>void 0,openPopover:()=>void 0,back:()=>{u(e=>e.length>1?e.slice(0,-1):e),i(``)},closeMenu:f,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[f]),h=r(s),g=c.length,_=c[g-1],y=_.query?.slot===x,E=(0,m.useMemo)(()=>{let t=_.query?{..._,query:{..._.query,q:n}}:_.items===void 0?_:{..._,items:O(_.items,n)};return y?{...t,extraItems:v(e,n)}:t},[e,_,y,n,h]);function D(e){if(e.key===`Escape`){e.preventDefault(),g>1?p.back():f();return}d.current?.handleKey(e)}return(0,b.jsx)(`div`,{className:`web-palette`,onMouseDown:e=>{e.target===e.currentTarget&&f()},children:(0,b.jsxs)(`div`,{className:`web-palette__box`,role:`dialog`,"aria-modal":`true`,"aria-label":t(`shell/commands/palette`),children:[(0,b.jsx)(`input`,{className:`web-field web-palette__input`,autoFocus:!0,value:n,placeholder:y?t(`shell/palette/placeholder`):_.title??t(`shell/palette/placeholder`),"aria-label":t(`shell/commands/palette`),onChange:e=>i(e.currentTarget.value),onKeyDown:D}),(0,b.jsx)(l,{ref:d,spec:E,hostCtx:p,...g>1?{onBack:p.back}:{},manageKeys:!1})]})})}export{h as i,x as n,E as r,y as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n,u as r}from"./useStore-BQkzWMs-.js";import{l as i,n as a,t as o}from"./useI18n-T3BwAm0z.js";import{n as s}from"./ScenaProvider-6A3TJumQ.js";import{t as c}from"./Button-_R1oktDz.js";import{c as l,j as u,v as d}from"./data-DPJ4OTLn.js";import{a as f,n as p}from"./words-T8-D0K4W.js";import{t as m}from"./emojis-DanG-8fr.js";import{i as ee}from"./notify-BmjJL_fx.js";import{t as h}from"./ContextMenu-DYnWIBAF.js";import{a as te,i as g,n as ne,o as _,r as v,s as y,t as b}from"./ActionList-QwhYPQiB.js";import{t as x}from"./Modal-xWzwLA8s.js";import{C as S,S as C,_ as w,a as re,b as T,c as E,d as D,f as O,g as k,h as A,i as j,l as ie,m as M,o as N,p as ae,r as oe,s as se,t as ce,v as le,w as ue,x as de,y as fe}from"./composer-commands-BOXuqfcP.js";import{r as P}from"./turn-z1TPlA5Q.js";import{a as pe,d as me,o as he}from"./changeset-IbJWvDqP.js";import{n as F,t as I}from"./drag-ruzgQUFW.js";var L=e(),R=t(),z=[`/`,`@`];function ge(e){let{input:t,setInput:n,caretIndex:r,panelDataContext:i,slashSlot:a=`chat:input/`,mentionSlot:o=`chat:input@`,mentionProvider:c,prefixes:l=z,onCaretChange:u}=e,d=s(),[f,p]=(0,R.useState)([]),m=(0,R.useRef)(f);m.current=f;let ee=(0,R.useRef)(null),h=(0,R.useMemo)(()=>g(t,l,r),[t,l,r]),[x,S]=(0,R.useState)(null),C=h===null?null:`${h.start}:${h.token}`,w=h!==null&&C!==x,re=(0,R.useRef)(c);re.current=c;let T=c!==void 0,E=(0,R.useCallback)(e=>re.current?.(e)??[],[]),D=(0,R.useCallback)(e=>h?.prefix===`@`?T?{provider:E,footerHints:!0,rich:!0}:{query:{slot:o,q:e},footerHints:!0,rich:!0}:{query:{slot:a,q:e},footerHints:!0,rich:!0},[h?.prefix,T,E,o,a]);(0,R.useEffect)(()=>{if(!h||!w){m.current.length>0&&p([]);return}let e=m.current[m.current.length-1];if(m.current.length<=1){p([{spec:D(h.query)}]);return}let t=e&&`spec`in e?e.spec:void 0;if(t?.sentinel&&!y(h.token,t.sentinel)){p([{spec:D(h.query)}]);return}t?.query&&p(e=>{let n=e.slice(0,-1);return n.push({spec:{...t,query:{...t.query,q:h.query}}}),n})},[h,w,D]);let O=(0,R.useMemo)(()=>{let e=f[f.length-1];return e&&`spec`in e?e.spec.sentinel:void 0},[f]),k=(0,R.useMemo)(()=>_(h?.query??``,O),[h,O]),A=(0,R.useMemo)(()=>({pushList:e=>p(t=>[...t,{spec:e}]),replaceList:e=>p(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:e=>p(t=>[...t,{component:(0,L.jsx)(_e,{name:e})}]),openPopover:()=>void 0,back:()=>p(e=>e.length>1?e.slice(0,-1):e),closeMenu:()=>{p([]);let e=v(t,r,``,l);n(e.next),u?.(e.caret)},keepOpen:()=>void 0,insertAtCursor:e=>{let i=v(t,r,e,l);n(i.next),u?.(i.caret)},replaceActiveToken:e=>{let i=v(t,r,e,l);n(i.next),u?.(i.caret)},query:k}),[t,r,l,n,k,u]),j=f[f.length-1],ie=(0,R.useCallback)(()=>p(e=>e.slice(0,-1)),[]),M=f.length>1?ie:void 0,N=(0,R.useCallback)(e=>{if(!w)return!1;if(e.key===`Escape`)return e.preventDefault(),S(C),p([]),!0;if(e.key===`ArrowLeft`&&M){let t=e.target;if(t.selectionStart===t.selectionEnd&&h&&t.selectionStart===h.start+h.prefix.length)return e.preventDefault(),M(),!0}return e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===`Tab`?ee.current?.handleKey(e)??!1:!1},[w,M,h,C]),ae=(0,R.useCallback)(e=>{let o=d.commands.get(e);if(!o)return null;S(null);let s=ne(o.shortcut),c=null;if(s){let{next:e,caret:i}=te(t,r,s,l);c=i,n(e),p([{spec:{query:{slot:a,q:s.replace(/^[/@]/,``)},footerHints:!0,rich:!0}}])}return d.commands.execute(e,void 0,{source:`menu`,dataContext:i,host:A}),c},[d,i,t,r,l,A,n,a]),oe=(0,R.useCallback)(()=>A.closeMenu(),[A]);return{menuVisible:w,activeSentinel:O,pickerNode:j?`component`in j?j.component:(0,L.jsx)(b,{ref:ee,spec:j.spec,hostCtx:A,onBack:M,dataContext:i,manageKeys:!1}):null,handleMenuKeyDown:N,openCommand:ae,closeMenu:oe}}function _e({name:e}){return(0,L.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}var B=m.caretDown;function V({label:e,short:t,icon:n,title:r,onOpen:i,on:a}){return(0,L.jsxs)(`button`,{type:`button`,className:`web-chip`,"data-on":a===!0?`true`:`false`,"data-short":t===void 0?void 0:`true`,"data-icon":n===void 0?void 0:`true`,title:r??e,"aria-label":e,disabled:i===void 0,onClick:i,...i===void 0?{}:{"aria-haspopup":`menu`},children:[(0,L.jsx)(`span`,{className:`web-chip__long`,children:e}),t===void 0?null:(0,L.jsx)(`span`,{className:`web-chip__short`,children:t}),n===void 0?null:(0,L.jsx)(`span`,{className:`web-chip__icon`,children:n}),i===void 0?null:(0,L.jsx)(`span`,{"aria-hidden":`true`,children:B})]})}function H({label:e,title:t,value:n,placeholder:r,onChange:i,width:a}){return(0,L.jsxs)(`span`,{className:`web-chip web-chip--text`,title:t??e,children:[e,(0,L.jsx)(`input`,{"aria-label":e,value:n,placeholder:r??``,style:{width:a??110},onChange:e=>i(e.currentTarget.value)})]})}function U(e){return e===`permissionMode`?m.approvals:e===`effortLevel`?m.thinking:m.settings}function ve(e){let t=E(e);return{label:i(`sessions/pills/setting`,{name:e.schema.title||e.key,value:t}),short:t,icon:U(e.key)}}var ye=e=>({label:i(`sessions/pills/model`,{name:e}),short:e,icon:m.model});function be(e){return e.schema.scope===`chat`?`right`:`left`}function xe(e,t){let n=e?.maxContextWindow;if(n===void 0)return null;let r=e=>e.toLocaleString(a());if(t?.inputTokens===void 0)return{text:P(n),title:i(`sessions/footer/window`,{window:r(n)})};let o=t.inputTokens+(t.cacheReadTokens??0);return{text:`${P(o)} / ${P(n)}`,title:i(`sessions/footer/used`,{used:r(o),window:r(n)})}}function Se({attachments:e,folder:t,onRemove:n}){let{t:r}=o(),[i,a]=(0,R.useState)(null);return e.length===0?null:(0,L.jsxs)(`div`,{className:`web-composer__attached`,children:[e.map((e,i)=>{let o=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`web-attachment__icon`,"aria-hidden":`true`,children:M(e)}),(0,L.jsx)(`span`,{className:`web-attachment__label`,children:A(e)})]});return(0,L.jsxs)(`span`,{className:`web-attachment`,title:k(e,t)??A(e),children:[fe(e)?(0,L.jsx)(`button`,{type:`button`,className:`web-attachment__open`,title:r(`sessions/attachments/see`,{name:A(e)}),onClick:()=>a(T(e)),children:o}):o,(0,L.jsx)(`button`,{type:`button`,className:`web-attachment__remove`,"aria-label":r(`sessions/attachments/remove`,{name:A(e)}),onClick:()=>n(i),children:m.close})]},`${A(e)}-${i}`)}),i===null?null:(0,L.jsx)(W,{preview:i,onClose:()=>a(null)})]})}function W({preview:e,onClose:t}){return(0,L.jsx)(x,{open:!0,title:e.label,onClose:t,children:(0,L.jsxs)(`div`,{className:`web-attachment-preview`,children:[(0,L.jsx)(`p`,{className:`web-attachment-preview__meta`,children:e.meta}),e.image===void 0?null:(0,L.jsx)(`img`,{className:`web-attachment-preview__image`,src:e.image,alt:e.label}),e.text===void 0?null:(0,L.jsx)(`pre`,{className:`web-attachment-preview__text`,children:e.text})]})})}var G=4;function Ce({path:e,onOpenChange:t}){let{t:r}=o(),i=n(l),[a,s]=(0,R.useState)(null),c=(0,R.useRef)(null),u=(0,R.useRef)(null);(0,R.useLayoutEffect)(()=>{let e=u.current?.querySelector(`.oo-popup`);if(a===null||e==null)return;let t=e.getBoundingClientRect().height,n=a.rect.bottom+G,r=a.rect.top-G-t,i=n+t>window.innerHeight&&r>=0?r:n;i!==a.y&&s({...a,y:i})},[a]);let d=()=>{s(null),t(!1)},f=async()=>{if(a!==null){d();return}let n=j(e),r=c.current?.getBoundingClientRect();if(n===void 0||r===void 0)return;let o=await w();s({rect:r,y:r.bottom+G,items:N(n,i??[],o)}),t(!0)};return(0,L.jsxs)(`span`,{ref:u,className:`web-composer__add-holder`,children:[(0,L.jsx)(`button`,{ref:c,type:`button`,className:`web-composer__add`,"aria-label":r(`sessions/context/title`),title:r(`sessions/context/title`),"aria-haspopup":`menu`,"aria-expanded":a!==null,onMouseDown:e=>{a!==null&&e.nativeEvent.stopPropagation()},onClick:()=>void f(),children:(0,L.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 12 12`,"aria-hidden":`true`,children:(0,L.jsx)(`path`,{d:`M6 1v10M1 6h10`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})}),a===null?null:(0,L.jsx)(h,{spec:{items:a.items},x:a.rect.left,y:a.y,onClose:d})]})}function we({attach:e,insert:t,upload:n}){let[r,i]=(0,R.useState)(null);return{dropping:r,onDragOver:e=>{let t=I(e.dataTransfer);(t||Array.from(e.dataTransfer.types).includes(`Files`))&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`,i(t&&e.shiftKey?`mention`:`attach`))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||i(null)},onDrop:r=>{i(null);let a=F(r.dataTransfer);if(a!==null){r.preventDefault();let n=de(a.uri,a.directory);if(!r.shiftKey){e(n);return}let i=`@${p(a.uri)}${a.directory?`/`:``}`;t(`${i} `),e(ue(n,i));return}r.dataTransfer.files.length!==0&&(r.preventDefault(),n(r.dataTransfer.files))},onPaste:e=>{let t=K(e.clipboardData);t!==null&&(e.preventDefault(),n(t))}}}function K(e){return e.files.length===0||Array.from(e.types).includes(`text/plain`)?null:e.files}var Te=`$/ahp/composerFocus`,q=e=>typeof e==`object`&&e?e:{},J=e=>typeof e==`string`&&e!==``?e:void 0;function Ee(e){let t=q(e).items;return(Array.isArray(t)?t:[]).map(e=>{let t=q(e),n=q(q(t.attachment)._meta),r=J(t.insertText)??``;return{insert:r,label:J(n.command)??r,detail:J(n.description),hint:J(n.argumentHint)}}).filter(e=>e.insert!==``)}var De=e=>e.map(e=>({insert:`/${e.name}`,label:`/${e.name}`,detail:e.description===``?void 0:e.description,hint:void 0}));function Oe(e,t,n,i=ce){return r(...n.map(n=>e.commands.register({id:`ahp.composer.host.${t}.${n.insert}`,title:n.hint===void 0?n.label:`${n.label} ${n.hint}`,...n.detail===void 0?{}:{description:n.detail},category:`Agent`,shortcut:n.label.startsWith(`/`)?n.label:`/${n.label}`,slots:[i],when:`${Te} == "${t}"`,run:e=>e.host?.replaceActiveToken(`${n.insert} `)})))}var ke=0,Ae=260,je=[`/`,`@`],Me=800;function Ne(e){e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,Ae)}px`)}function Pe(e,t,n){return{text:e,origin:{kind:`user`},...t===void 0?{}:{model:{id:t}},...n.length===0?{}:{attachments:S(e,n)}}}var Fe=(0,R.memo)(function({chatUri:e,activeId:t,activeStart:r,queued:i,steering:a,draft:l,lastModel:h,lastUsage:te,config:g,changesets:ne,summary:_,send:v}){let y=s(),{t:b}=o(),x=(n(`$/ahp/agents`)??[]).find(e=>e.provider===_.provider),S=(0,R.useMemo)(()=>re(e),[e]),[w]=(0,R.useState)(()=>`composer-${++ke}`),T=_.workingDirectories?.[0],[E,A]=(0,R.useState)(()=>l?.text??``),[j,M]=(0,R.useState)(null),[N,fe]=(0,R.useState)(()=>l?.model?.id??h),[P,F]=(0,R.useState)(()=>l?.attachments??[]),I=(0,R.useRef)(null),z=t===void 0?void 0:{id:t,startedAt:r??``},_e=i??[];(0,R.useEffect)(()=>Ne(I.current),[E]);let B=(0,R.useRef)(!1);(0,R.useEffect)(()=>{if(!B.current)return;let t=window.setTimeout(()=>{let t=E.trim()===``&&P.length===0?void 0:Pe(E,N,P);d(e,{type:`chat/draftChanged`,draft:t})},Me);return()=>window.clearTimeout(t)},[E,N,P,e]);let H=(0,R.useCallback)(e=>{M(e),requestAnimationFrame(()=>{let t=I.current;t!==null&&(t.focus(),t.setSelectionRange(e,e))})},[]),U=(0,R.useCallback)(e=>{B.current=!0,F(t=>t.some(t=>C(t,e))?t:[...t,e])},[]),W=(0,R.useRef)(null),G=(0,R.useCallback)(async e=>{let t=await le(Array.from(e??[]));for(let e of t.attached)U(e);t.refused.length>0&&ee(b(`sessions/upload/notAttached`),{description:b(`sessions/upload/refused`,{names:t.refused.join(`, `)})})},[U,b]),K=we({attach:U,insert:(0,R.useCallback)(e=>{let t=J.current??q.current.length,n=q.current.slice(0,t),r=n===``||/\s$/.test(n)?``:` `;B.current=!0,A(`${n}${r}${e}${q.current.slice(t)}`),H(n.length+r.length+e.length)},[H]),upload:e=>void G(e)}),q=(0,R.useRef)(E);q.current=E;let J=(0,R.useRef)(j);J.current=j;let De=(0,R.useCallback)(async()=>{let t=q.current;try{return(await u(`completions`,{kind:`userMessage`,channel:e,text:t,offset:J.current??t.length})).items.map(e=>{let t=k(e.attachment,T);return{title:e.insertText.replace(/^@/,``),...t===void 0?{}:{description:t},onSelect:t=>{t.replaceActiveToken(`${e.insertText} `),U(ue(e.attachment,e.insertText))}}})}catch{return[]}},[e,T,U]),[Ae,Fe]=(0,R.useState)([]);(0,R.useEffect)(()=>{let t=!0;return u(`completions`,{kind:`userMessage`,channel:e,text:`/`,offset:1}).then(e=>{t&&Fe(Ee(e))}).catch(()=>{t&&Fe([])}),()=>{t=!1}},[e]),(0,R.useEffect)(()=>{let e=Oe(y,w,Ae);return()=>e.dispose()},[y,w,Ae]);let[Ie,Le]=(0,R.useState)(!1),Y=ge({input:E,setInput:A,caretIndex:j,panelDataContext:S,slashSlot:ce,prefixes:je,mentionProvider:De,onCaretChange:H}),X=(0,R.useMemo)(()=>Object.entries(g?.schema.properties??{}).filter(([,e])=>e.sessionMutable===!0&&e.readOnly!==!0).map(([e,t])=>({key:e,schema:t,value:g?.values[e]})),[g]),Re=(0,R.useCallback)(()=>{if(t===void 0)return;let e=Date.parse(r??``);v({type:`chat/turnCancelled`,turnId:t,duration:Number.isNaN(e)?0:Math.max(0,Date.now()-e)})},[t,r,v]),ze=(0,R.useMemo)(()=>(x?.models??[]).map(e=>({id:e.id,name:e.name})),[x]),Be=pe((0,R.useMemo)(()=>he(me(ne))?.uri,[ne])),Ve=(0,R.useMemo)(()=>Be.files.filter(e=>e.status!==`deleted`).map(e=>({title:e.name,description:e.dir,attachment:de(e.file,!1)})),[Be.files]),Z=(0,R.useRef)(null);Z.current={models:()=>ze,model:()=>N,setModel:e=>{B.current=!0,fe(e)},options:()=>X,setOption:(e,t)=>{d(_.resource,{type:`session/configChanged`,config:{[e]:t}})},running:()=>z!==void 0,stop:Re,session:()=>_.resource,attach:U,type:e=>{let t=ae(q.current,J.current??q.current.length,e);B.current=!0,A(t.text),H(t.caret)},upload:()=>W.current?.click(),changed:()=>Ve},(0,R.useEffect)(()=>oe(S,{models:()=>Z.current?.models()??[],model:()=>Z.current?.model(),setModel:e=>Z.current?.setModel(e),options:()=>Z.current?.options()??[],setOption:(e,t)=>Z.current?.setOption(e,t),running:()=>Z.current?.running()??!1,stop:()=>Z.current?.stop(),session:()=>Z.current?.session()??``,attach:e=>Z.current?.attach(e),type:e=>Z.current?.type(e),upload:()=>Z.current?.upload(),changed:()=>Z.current?.changed()??[]}),[S]);let He=X.map(e=>e.key).join(`
|
|
2
|
+
`);(0,R.useEffect)(()=>{let e=D(y,X);return()=>e.dispose()},[y,He]);function Ue(e){let t=Y.openCommand(e);H(t??I.current?.value.length??E.length)}function We(){A(``),F([]),B.current=!1,d(e,{type:`chat/draftChanged`,draft:void 0})}function Q(e){let t=E.trim();if(t===``)return;let n=Pe(t,N,P);v(z===void 0?{type:`chat/turnStarted`,turnId:f(),startedAt:new Date().toISOString(),message:n}:e===`steer`?{type:`chat/pendingMessageSet`,kind:`steering`,id:f(),message:n}:{type:`chat/pendingMessageSet`,kind:`queued`,id:f(),message:n}),We()}let Ge=ze.find(e=>e.id===N)?.name??N,$=xe(x?.models.find(e=>e.id===N),te),Ke=X.filter(O),qe=e=>(0,L.jsx)(V,{...ve(e),title:e.schema.description??e.schema.title,...e.schema.type===`boolean`?{on:(e.value??e.schema.default)===!0}:{},...ie(e.schema)?{onOpen:()=>Ue(se(e.key))}:{}},e.key);return(0,L.jsxs)(`div`,{className:`web-composer`,children:[Y.pickerNode===null||Ie?null:(0,L.jsx)(`div`,{className:`web-composer__picker`,children:Y.pickerNode}),a===void 0&&_e.length===0?null:(0,L.jsxs)(`ul`,{className:`web-composer__queue`,children:[a===void 0?null:(0,L.jsxs)(`li`,{children:[(0,L.jsx)(`span`,{className:`web-chip`,"data-on":`true`,children:b(`sessions/composer/steering`)}),(0,L.jsx)(`span`,{className:`web-composer__queued`,children:a.message.text}),(0,L.jsx)(c,{label:b(`sessions/composer/remove`),size:`sm`,onClick:()=>v({type:`chat/pendingMessageRemoved`,kind:`steering`,id:a.id})})]}),_e.map((e,t)=>(0,L.jsxs)(`li`,{children:[(0,L.jsx)(`span`,{className:`web-chip`,children:b(`sessions/composer/next`,{number:t+1})}),(0,L.jsx)(`span`,{className:`web-composer__queued`,children:e.message.text}),(0,L.jsx)(c,{label:b(`sessions/composer/remove`),size:`sm`,onClick:()=>v({type:`chat/pendingMessageRemoved`,kind:`queued`,id:e.id})})]},e.id))]}),(0,L.jsxs)(`div`,{className:`web-composer__where`,children:[T===void 0?null:(0,L.jsx)(V,{label:`${m.folder} ${p(T)}`,title:b(`sessions/composer/folderHint`)}),(0,L.jsx)(V,{label:`${m.agents} ${x?.displayName??_.provider}`,title:x?.description??b(`sessions/composer/agentHint`)})]}),(0,L.jsxs)(`div`,{className:`web-composer__box`,"data-drop":K.dropping??void 0,onDragOver:K.onDragOver,onDragLeave:K.onDragLeave,onDrop:K.onDrop,onPaste:K.onPaste,children:[(0,L.jsx)(Se,{attachments:P,folder:T,onRemove:e=>{B.current=!0,F(t=>t.filter((t,n)=>n!==e))}}),(0,L.jsx)(`div`,{className:`web-composer__bar`,children:(0,L.jsx)(`textarea`,{ref:I,className:`web-composer__text`,rows:1,value:E,"aria-label":b(`sessions/composer/message`),placeholder:b(z===void 0?`sessions/composer/placeholder`:`sessions/composer/placeholderRunning`),onChange:e=>{B.current=!0,A(e.currentTarget.value),M(e.currentTarget.selectionStart)},onFocus:()=>y.store.set(Te,w),onKeyUp:e=>M(e.currentTarget.selectionStart),onClick:e=>M(e.currentTarget.selectionStart),onKeyDown:e=>{if(!Y.handleMenuKeyDown(e)){if(e.key===`Escape`&&z!==void 0){e.preventDefault(),Re();return}e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),Q(e.altKey?`steer`:`send`))}}})}),(0,L.jsxs)(`div`,{className:`web-composer__foot`,children:[(0,L.jsx)(Ce,{path:S,onOpenChange:Le}),(0,L.jsx)(`input`,{ref:W,type:`file`,multiple:!0,hidden:!0,onChange:e=>{G(e.currentTarget.files),e.currentTarget.value=``}}),(0,L.jsx)(`div`,{className:`web-composer__chips web-composer__chips--left`,children:Ke.filter(e=>be(e)===`left`).map(qe)}),(0,L.jsxs)(`div`,{className:`web-composer__chips web-composer__chips--right`,children:[ze.length===0?null:(0,L.jsx)(V,{...ye(Ge??b(`sessions/values/default`)),title:b(`sessions/composer/modelHint`),onOpen:()=>Ue(`ahp.composer.model`)}),Ke.filter(e=>be(e)===`right`).map(qe),$===null?null:(0,L.jsx)(`span`,{className:`web-composer__context`,title:$.title,children:$.text})]}),z===void 0||E.trim()===``?null:(0,L.jsx)(c,{label:b(`sessions/composer/steer`),size:`sm`,title:b(`sessions/composer/steerHint`),onClick:()=>Q(`steer`)}),z===void 0||E.trim()===``?null:(0,L.jsx)(c,{label:b(`sessions/composer/queue`),variant:`primary`,size:`sm`,title:b(`sessions/composer/queueHint`),onClick:()=>Q(`send`)}),z===void 0?(0,L.jsx)(`button`,{type:`button`,className:`web-composer__round`,"aria-label":b(`sessions/composer/send`),title:b(`sessions/composer/sendHint`),disabled:E.trim()===``,onClick:()=>Q(`send`),children:m.send}):(0,L.jsx)(`button`,{type:`button`,className:`web-composer__round`,"aria-label":b(`sessions/commands/stop`),title:b(`sessions/composer/stopHint`),onClick:Re,children:m.stop})]})]})]})});export{ge as _,De as a,Ce as c,xe as d,be as f,H as g,V as h,Te as i,Se as l,ve as m,Ne as n,Oe as o,ye as p,Pe as r,we as s,Fe as t,W as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ActionList-
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{n}from"./ScenaProvider-6A3TJumQ.js";import{t as r}from"./ActionList-QwhYPQiB.js";var i=e(),a=t();function o({x:e,y:t,onClose:n,closeOnOutsideClick:r=!0,closeOnEscape:o=!0,className:s,style:c,children:l}){let u=(0,a.useRef)(null),[d,f]=(0,a.useState)({left:e,top:t});return(0,a.useLayoutEffect)(()=>{let n=u.current;if(!n)return;let r=()=>{let r=n.getBoundingClientRect(),i=Math.max(4,window.innerWidth-r.width-4),a=Math.max(4,window.innerHeight-r.height-4),o=Math.max(4,Math.min(e,i)),s=Math.max(4,Math.min(t,a));f(e=>e.left===o&&e.top===s?e:{left:o,top:s})};r(),window.addEventListener(`resize`,r);let i=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return i?.observe(n),()=>{window.removeEventListener(`resize`,r),i?.disconnect()}},[e,t]),(0,a.useEffect)(()=>{if(!r||!n)return;let e=!0;function t(t){e&&u.current&&(u.current.contains(t.target)||n?.())}let i=setTimeout(()=>{e&&document.addEventListener(`mousedown`,t)},0);return()=>{e=!1,clearTimeout(i),document.removeEventListener(`mousedown`,t)}},[r,n]),(0,a.useEffect)(()=>{if(!o||!n)return;function e(e){e.key===`Escape`&&(e.preventDefault(),n?.())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[o,n]),(0,i.jsx)(`div`,{ref:u,className:[`oo-popup`,s].filter(Boolean).join(` `),style:{position:`fixed`,left:d.left,top:d.top,zIndex:9999,maxHeight:`calc(100vh - 8px)`,overflowY:`auto`,...c},onMouseDown:e=>e.stopPropagation(),children:l})}function s({spec:e,x:t,y:s,onClose:u,context:d,dataContext:f,inline:p}){let m=n(),[h,g]=(0,a.useState)(()=>p?[{component:p.component}]:[{spec:e}]),_=(0,a.useRef)(h);_.current=h;let v=(0,a.useRef)(!1);if(d&&!v.current){for(let[e,t]of Object.entries(d)){let n=e.startsWith(`$/`)?e:c(f,e);m.store.set(n,t)}v.current=!0}let y=(0,a.useMemo)(()=>({pushList:e=>g(t=>[...t,{spec:e}]),replaceList:e=>g(t=>{let n=t.slice(0,-1);return n.push({spec:e}),n}),openInline:(e,t)=>{g(n=>[...n,{component:(0,i.jsx)(l,{name:e,props:t})}])},openPopover:()=>{},back:()=>g(e=>e.length>1?e.slice(0,-1):e),closeMenu:u,keepOpen:()=>void 0,insertAtCursor:()=>void 0,replaceActiveToken:()=>void 0,query:``}),[u]),b=h[h.length-1],x=h.length>1?y.back:void 0;return(0,i.jsx)(o,{x:t,y:s,onClose:u,children:`component`in b?b.component:(0,i.jsx)(r,{spec:b.spec,hostCtx:y,onBack:x,dataContext:f})})}function c(e,t){return t.startsWith(`$/`)?t:e?`${e.endsWith(`/`)?e.slice(0,-1):e}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?`$${t}`:`$/${t}`}function l({name:e,props:t}){return(0,i.jsxs)(`div`,{style:{padding:12},children:[`[component: `,e,`]`]})}export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{t as r}from"./emojis-DanG-8fr.js";var i=t(),a=e(),o=1200;function s(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{t.remove()}}function c({text:e,label:t,icon:c=r.copy}){let{t:l}=n(),[u,d]=(0,i.useState)(!1),f=(0,i.useRef)(void 0);(0,i.useEffect)(()=>()=>window.clearTimeout(f.current),[]);let p=()=>{d(!0),window.clearTimeout(f.current),f.current=window.setTimeout(()=>d(!1),o)},m=()=>{if(navigator.clipboard===void 0){s(e)&&p();return}navigator.clipboard.writeText(e).then(p).catch(()=>{s(e)&&p()})},h=u?l(`shell/copy/copied`):t??l(`shell/copy/copy`);return(0,a.jsx)(`button`,{type:`button`,className:`web-copy`,"data-copied":u?`true`:`false`,title:h,"aria-label":h,onClick:m,children:u?r.check:c})}export{c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./ContextMenu-
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./ContextMenu-DYnWIBAF.js";var r=t(),i=e();function a(e,t){if(typeof e==`object`&&e)return e[t]}function o(e,t,n){let r=a(e,n),i=a(t,n);return r==null&&i==null?0:r==null?-1:i==null?1:typeof r==`number`&&typeof i==`number`?r-i:String(r).localeCompare(String(i))}function s(e,t,n){if(!n)return e;let r=t.find(e=>e.key===n.key);if(!r||!r.sortable)return e;let i=typeof r.sortable==`function`?r.sortable:(e,t)=>o(e,t,r.key),a=n.direction===`asc`?1:-1;return[...e].sort((e,t)=>a*i(e,t))}var c=480;function l({items:e,columns:t,getKey:a,title:o,toolbar:l,selectedKey:d,onSelect:f,onActivate:p,initialSort:m,sort:h,onSortChange:g,tableBreakpoint:_=c,renderListRow:v,getRowStyle:y,contextMenuSlot:b,contextFor:x,contextDataContext:S,onRowDragStart:C,emptyState:w,className:T,style:E,manageKeys:D=!1}){let O=(0,r.useRef)(null),[k,A]=(0,r.useState)(0),[j,M]=(0,r.useState)(m??null);(0,r.useEffect)(()=>{let e=O.current;if(!e)return;let t=new ResizeObserver(([e])=>{e&&A(e.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let N=k>=_,P=h!==void 0,F=P?h:j,I=(0,r.useMemo)(()=>t.filter(e=>!e.hidden&&(N||e.mode!==`table`)&&(e.showAt==null||k>=e.showAt)),[t,N,k]),L=(0,r.useMemo)(()=>({tableMode:N,containerWidth:k}),[N,k]),R=(0,r.useMemo)(()=>I.map(e=>typeof e.width==`function`?e.width(L):e.width).map(e=>e??`minmax(0, 1fr)`).join(` `),[I,L]),z=(0,r.useMemo)(()=>s(e,t,F??null),[e,t,F]);function B(e){if(!e.sortable)return;let t=F,n=!t||t.key!==e.key?{key:e.key,direction:`asc`}:t.direction===`asc`?{key:e.key,direction:`desc`}:null;P?g?.(n):M(n)}(0,r.useEffect)(()=>{if(!d||!O.current)return;let e=O.current.querySelector(`[data-key="${u(d)}"]`);e&&e.scrollIntoView({block:`nearest`})},[d]);let V=d?z.findIndex(e=>a(e)===d):-1;function H(e){if(z.length===0)return;let t=V>=0?V:0;switch(e.key){case`ArrowDown`:{e.preventDefault();let n=z[Math.min(z.length-1,t+1)];n&&f?.(n);return}case`ArrowUp`:{e.preventDefault();let n=z[Math.max(0,t-1)];n&&f?.(n);return}case`Enter`:case` `:{e.preventDefault();let n=z[t];n&&p?.(n);return}}}let[U,W]=(0,r.useState)(null);function G(e,t){b&&(e.preventDefault(),e.stopPropagation(),W({x:e.clientX,y:e.clientY,item:t}))}function K(e,t){let n=e.cellProps?.(t,L),r=e.style===void 0&&n?.style===void 0?void 0:{...e.style,...n?.style};return(0,i.jsx)(`div`,{role:`cell`,className:n?.className===void 0?`oo-listable__cell`:`oo-listable__cell ${n.className}`,"data-align":e.align??`left`,title:e.titleProps?.(t,L).title,style:r,children:J(e,t)},e.key)}function q(e){let t=F?.key===e.key,n=e.titleProps?.(void 0,L);return(0,i.jsx)(`div`,{role:`columnheader`,className:n?.className===void 0?`oo-listable__head-cell`:`oo-listable__head-cell ${n.className}`,"data-align":e.align??`left`,"data-sortable":e.sortable?`true`:void 0,"data-sorted":t?F.direction:void 0,title:e.sortable&&typeof e.label==`string`?`Sort by ${e.label}`:void 0,onClick:e.sortable?()=>B(e):void 0,style:n?.style,children:n?.hidden===!0?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:`oo-listable__head-label`,children:e.label}),t?(0,i.jsx)(`span`,{className:`oo-listable__sort-arrow`,"aria-hidden":`true`,children:F.direction===`asc`?`▲`:`▼`}):null]})},e.key)}function J(e,t){return e.visible&&!e.visible(t)?null:e.render(t,L)}function Y(e){let t=a(e);return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":t===d?`true`:void 0,className:`oo-listable__item oo-listable__row`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>{f?.(e)},onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0},children:I.map(t=>K(t,e))},t)}function X(e){let t=a(e),n=t===d,r=y?y(e,L):void 0;return(0,i.jsx)(`div`,{role:`row`,"data-key":t,"data-selected":n?`true`:void 0,className:`oo-listable__item oo-listable__stack`,draggable:C?!0:void 0,onDragStart:C?t=>C(t,e):void 0,onClick:()=>f?.(e),onDoubleClick:()=>p?.(e),onContextMenu:t=>G(t,e),style:{cursor:f?`pointer`:void 0,...r},children:v?v(e):I.map(t=>{let n=J(t,e);if(n==null)return null;let r=t.cellProps?.(e,L);return(0,i.jsx)(`div`,{className:r?.className===void 0?`oo-listable__list-cell`:`oo-listable__list-cell ${r.className}`,title:t.titleProps?.(e,L).title,style:t.style===void 0&&r?.style===void 0?void 0:{...t.style,...r?.style},children:(0,i.jsx)(`span`,{className:`oo-listable__list-value`,children:n})},t.key)})},t)}return(0,i.jsxs)(`div`,{ref:O,role:`table`,tabIndex:0,className:[`oo-listable`,T].filter(Boolean).join(` `),"data-mode":N?`table`:`list`,style:E,onKeyDown:D?H:void 0,children:[o||l?(0,i.jsxs)(`header`,{className:`oo-listable__header`,children:[o?(0,i.jsx)(`h2`,{className:`oo-listable__title`,children:o}):null,l]}):null,z.length===0?w==null?null:(0,i.jsx)(`div`,{className:`oo-listable__empty`,children:w}):(0,i.jsxs)(`div`,{className:`oo-listable__rows`,role:`rowgroup`,style:N?{"--oo-listable-template":R}:void 0,children:[N?(0,i.jsx)(`div`,{role:`row`,className:`oo-listable__head-row`,children:I.map(e=>q(e))}):null,z.map(e=>N?Y(e):X(e))]}),U&&b?(0,i.jsx)(n,{x:U.x,y:U.y,onClose:()=>W(null),spec:{query:{slot:b},footerHints:!0},context:x?x(U.item):void 0,dataContext:S}):null]})}function u(e){return e.replace(/(["\\\]])/g,`\\$1`)}function d(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function f({columns:e,rows:t,rowKey:n=`id`,caption:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c}){let u=e.map(e=>({key:e.key,label:e.label??e.key,width:e.width,align:e.align,sortable:!0,render:t=>d(t[e.key])}));return(0,i.jsx)(l,{items:t,columns:u,getKey:e=>String(e[n]??``),title:r,selectedKey:a,onSelect:o,onActivate:s,emptyState:c})}export{f as DataTable};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{a}from"./locales-Dnk_Y338.js";import{Z as o,c as s,it as c,o as l}from"./data-DPJ4OTLn.js";import{n as u,t as d}from"./words-T8-D0K4W.js";import{i as f,s as p}from"./terminal-_7S7Eyr-.js";import{t as m}from"./state-CKNqusrK.js";import{a as h,i as g,r as _}from"./turn-z1TPlA5Q.js";import{t as v}from"./channel-C6Ss9Aem.js";var y=t(),b=e();function x({uri:e,folder:t}){let n=i(),{t:a}=r(),{state:o}=v(e,f);return p(o?.cwd,t)?(0,b.jsx)(`button`,{type:`button`,className:`web-link`,title:a(`sessions/details/openTerminal`),onClick:()=>void n.commands.execute(`ahp.openTerminal`,{uri:e}),children:o?.title===``||o?.title===void 0?a(`sessions/details/terminal`):o.title}):null}function S(){let e=i(),{t}=r(),f=n(l),p=n(m),S=n(s)?.find(e=>e.resource===p),C=v(S===void 0?void 0:p,c),w=v(C.state?.defaultChat??S?.defaultChat,o),T=w.state?.turns,E=(0,y.useMemo)(()=>g(T??[]),[T]);if(S===void 0)return(0,b.jsx)(`p`,{className:`web-note web-details__empty`,children:t(`sessions/details/empty`)});let D=S.workingDirectories?.[0],O=S.changes,k=S.origin,A=C.state?.activeClients.length??0,j=C.state?.defaultChat??S.defaultChat,M=[[t(`sessions/details/session`),S.title===``?t(`sessions/untitled`):S.title],[t(`sessions/details/sessionId`),(0,b.jsx)(`code`,{children:S.resource},`s`)]];return j!==void 0&&M.push([t(`sessions/details/chatId`),(0,b.jsx)(`code`,{children:j},`h`)]),M.push([t(`sessions/details/agent`),S.provider]),E.models.length>0&&M.push([t(`sessions/details/model`),E.models.join(`, `)]),D!==void 0&&M.push([t(`sessions/details/folder`),(0,b.jsx)(`button`,{type:`button`,className:`web-link`,title:t(`sessions/details/revealFolder`),onClick:()=>void e.commands.execute(`ahp.revealFolder`,{uri:D}),children:(0,b.jsx)(`code`,{children:u(D)})},`f`)]),M.push([t(`sessions/details/terminal`),(0,b.jsxs)(`span`,{className:`web-details__list`,children:[D===void 0?null:(f?.terminals??[]).map(e=>(0,b.jsx)(x,{uri:e.resource,folder:D},e.resource)),(0,b.jsx)(`button`,{type:`button`,className:`web-link`,title:t(D===void 0?`sessions/details/newTerminalHint`:`sessions/details/newTerminalInFolder`),onClick:()=>void e.commands.execute(`ahp.newTerminal`,D===void 0?void 0:{cwd:D}),children:t(`sessions/details/newTerminal`)})]},`t`)]),S.project!==void 0&&M.push([t(`sessions/details/project`),S.project.displayName]),M.push([t(`sessions/details/started`),h(S.createdAt)],[t(`sessions/details/changed`),h(S.modifiedAt)]),E.turns>0&&(M.push([t(`sessions/details/turns`),`${E.turns}${w.state?.turnsNextCursor===void 0?``:`+`}`]),M.push([t(`sessions/details/working`),d(E.working)]),M.push([t(`sessions/details/tokens`),`\u{2191}${_(E.input)} \u{2193}${_(E.output)}`]),E.tools>0&&M.push([t(`sessions/details/toolCalls`),String(E.tools)])),O!==void 0&&(O.additions!==void 0||O.deletions!==void 0)&&M.push([t(`sessions/details/changes`),(0,b.jsxs)(`span`,{children:[(0,b.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,O.additions??0]}),` `,(0,b.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,O.deletions??0]}),O.files===void 0?``:` ${a(`sessions/details/inFiles`,O.files)}`]},`c`)]),k!==void 0&&String(k.kind)===`automation`&&M.push([t(`sessions/details/from`),t(`sessions/details/automation`)]),A>0&&M.push([t(`sessions/details/watching`),String(A)]),(0,b.jsx)(`dl`,{className:`web-details`,children:M.map(([e,t])=>(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`dt`,{children:e}),(0,b.jsx)(`dd`,{children:t})]},e))})}export{S as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useI18n-T3BwAm0z.js";import{n as r}from"./ScenaProvider-6A3TJumQ.js";import{t as i}from"./Button-_R1oktDz.js";import{D as a}from"./data-DPJ4OTLn.js";import{n as o}from"./words-T8-D0K4W.js";import{t as s}from"./Spinner-CBEPv0eM.js";import{t as c}from"./Alert-BhdRA0LL.js";import{a as l,r as u,t as d}from"./changeset-IbJWvDqP.js";var f=t(),p=3;function m(e){return e===``?[]:(e.endsWith(`
|
|
2
|
+
`)?e.slice(0,-1):e).split(`
|
|
3
|
+
`)}function h(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function g(e){if(e.length===0)return[];let t=[],n=Array(e.length).fill(-1);for(let r=0;r<e.length;r+=1){let i=e[r],a=0,o=t.length;for(;a<o;){let n=a+o>>1;e[t[n]]<i?a=n+1:o=n}n[r]=a>0?t[a-1]:-1,t[a]=r}let r=[],i=t.length>0?t[t.length-1]:-1;for(;i>=0;)r.push(i),i=n[i];return r.reverse()}function _(e,t){let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);let r=new Map;for(let e of t)r.set(e,(r.get(e)??0)+1);let i=new Map;t.forEach((e,t)=>{n.get(e)===1&&r.get(e)===1&&i.set(e,t)});let a=[];return e.forEach((e,t)=>{let n=i.get(e);n!==void 0&&a.push({a:t,b:n})}),a}function v(e,t,n,r){let i=[];return e.forEach((e,t)=>i.push({kind:`del`,before:n+t+1,after:null,text:e})),t.forEach((e,t)=>i.push({kind:`add`,before:null,after:r+t+1,text:e})),i}var y=24;function b(e,t,n,r,i){if(e.length===0&&t.length===0)return[];if(h(e,t))return e.map((e,t)=>({kind:`context`,before:n+t+1,after:r+t+1,text:e}));if(e.length===0||t.length===0||i>=y)return v(e,t,n,r);let a=_(e,t);if(a.length===0)return v(e,t,n,r);let o=g(a.map(e=>e.b)).map(e=>a[e]);if(o.length===0)return v(e,t,n,r);let s=[],c=0,l=0;for(let a of o)s.push(...b(e.slice(c,a.a),t.slice(l,a.b),n+c,r+l,i+1)),s.push({kind:`context`,before:n+a.a+1,after:r+a.b+1,text:e[a.a]}),c=a.a+1,l=a.b+1;return s.push(...b(e.slice(c),t.slice(l),n+c,r+l,i+1)),s}function x(e,t,n=p){let r=b(m(e),m(t),0,0,0),i=r.map((e,t)=>e.kind===`context`?-1:t).filter(e=>e>=0);if(i.length===0)return[];let a=[];for(let e of i){let t=a[a.length-1];t!==void 0&&e-t.to<=n*2?t.to=e:a.push({from:e,to:e})}return a.map(e=>{let t=Math.max(0,e.from-n),i=Math.min(r.length-1,e.to+n),a=r.slice(t,i+1),o=a[0],s=o.before??o.after??1,c=o.after??o.before??1;return{beforeStart:a.some(e=>e.before!==null)?s:0,beforeCount:a.filter(e=>e.kind!==`add`).length,afterStart:a.some(e=>e.after!==null)?c:0,afterCount:a.filter(e=>e.kind!==`del`).length,lines:a}})}function S(e){return`@@ -${e.beforeCount===1?`${e.beforeStart}`:`${e.beforeStart},${e.beforeCount}`} +${e.afterCount===1?`${e.afterStart}`:`${e.afterStart},${e.afterCount}`} @@`}function C(e){let t=0,n=0;for(let r of e)for(let e of r.lines)e.kind===`add`?t+=1:e.kind===`del`&&(n+=1);return{added:t,removed:n}}var w=e(),T=async e=>e===void 0?``:(await a(e)).text;function E({file:e,before:t,after:a,changeset:p,change:m,review:h}){let g=r(),{t:_}=n(),v=l(p),y=v.files.find(e=>e.id===m),b=y===void 0?[]:v.operations.filter(e=>u(e,`resource`)),[E,D]=(0,f.useState)(null);(0,f.useEffect)(()=>{let e=!0;return D(null),Promise.all([T(t),T(a)]).then(([t,n])=>{e&&D({before:t,after:n})}).catch(t=>{e&&D({error:t instanceof Error?t.message:String(t)})}),()=>{e=!1}},[t,a]);let O=(0,f.useMemo)(()=>E===null||`error`in E||E.before===null||E.after===null?[]:x(E.before,E.after),[E]),k=e===void 0?``:o(e),A=C(O),j=(0,w.jsxs)(`div`,{className:`web-file__head`,children:[(0,w.jsx)(`code`,{children:k}),E!==null&&!(`error`in E)?(0,w.jsxs)(`span`,{children:[(0,w.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,A.added]}),` `,(0,w.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,A.removed]}),t===void 0?` \u{00B7} ${_(`files/diff/newFile`)}`:a===void 0?` \u{00B7} ${_(`files/diff/deleted`)}`:``]}):null,(0,w.jsxs)(`span`,{className:`web-file__actions`,children:[h===!0&&y!==void 0?(0,w.jsxs)(`label`,{className:`web-file__viewed`,children:[(0,w.jsx)(`input`,{type:`checkbox`,checked:y.reviewed,onChange:e=>v.review([y],e.target.checked)}),_(`files/diff/viewed`)]}):null,y===void 0?null:b.map(e=>(0,w.jsx)(i,{label:`${d(e)} ${e.label}`,size:`sm`,disabled:String(e.status)===`running`,onClick:()=>void v.run(e,y)},e.id)),e===void 0||a===void 0?null:(0,w.jsx)(i,{label:_(`files/openFile`),size:`sm`,onClick:()=>void g.commands.execute(`ahp.openFile`,{uri:e})})]})]}),M=v.said===null?null:(0,w.jsx)(c,{tone:v.said.tone,message:v.said.text});return E===null?(0,w.jsxs)(`div`,{className:`web-file`,children:[j,M,(0,w.jsx)(s,{label:_(`files/diff/reading`)})]}):`error`in E?(0,w.jsxs)(`div`,{className:`web-file`,children:[j,M,(0,w.jsx)(c,{tone:`danger`,title:_(`files/notReadable`),message:E.error})]}):E.before===null||E.after===null?(0,w.jsxs)(`div`,{className:`web-file`,children:[j,M,(0,w.jsx)(`p`,{className:`web-note`,children:_(`files/notText`)})]}):O.length===0?(0,w.jsxs)(`div`,{className:`web-file`,children:[j,M,(0,w.jsx)(`p`,{className:`web-note`,children:_(`files/diff/none`)})]}):(0,w.jsxs)(`div`,{className:`web-file`,children:[j,M,(0,w.jsx)(`div`,{className:`web-file__body`,children:(0,w.jsx)(`table`,{className:`web-code web-diff`,children:(0,w.jsx)(`tbody`,{children:O.map((e,t)=>[(0,w.jsx)(`tr`,{className:`web-diff__hunk`,children:(0,w.jsx)(`td`,{colSpan:3,children:S(e)})},`h${t}`),...e.lines.map((e,n)=>(0,w.jsxs)(`tr`,{"data-kind":e.kind,children:[(0,w.jsx)(`td`,{className:`web-code__number`,children:e.before??``}),(0,w.jsx)(`td`,{className:`web-code__number`,children:e.after??``}),(0,w.jsxs)(`td`,{className:`web-code__text`,children:[e.kind===`add`?`+`:e.kind===`del`?`-`:` `,e.text]})]},`${t}:${n}`))])})})})]})}export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{t as a}from"./Button-_R1oktDz.js";import{a as o}from"./locales-Dnk_Y338.js";import{d as s,i as c,n as l,nt as u,v as d}from"./data-DPJ4OTLn.js";import{a as f,n as p}from"./words-T8-D0K4W.js";import{t as m}from"./Spinner-CBEPv0eM.js";import{t as h}from"./Text-MPtQvYE-.js";import{d as g,f as _,m as v,p as y}from"./index-xynK_AEL.js";import{t as b}from"./PageAlert-B8ulCXV4.js";import{t as x}from"./channel-C6Ss9Aem.js";var S=t(),C=e(),w=[{key:`byHand`,expression:``},{key:`every10Minutes`,expression:`*/10 * * * *`},{key:`everyHour`,expression:`0 * * * *`},{key:`every6Hours`,expression:`0 */6 * * *`},{key:`dailyAt9`,expression:`0 9 * * *`},{key:`weekdaysAt9`,expression:`0 9 * * 1-5`},{key:`mondayAt5`,expression:`0 5 * * 1`}];function T({label:e,hint:t,children:n}){return(0,C.jsxs)(`label`,{className:`web-form__field`,children:[(0,C.jsx)(`span`,{className:`web-input__label`,children:e}),n,t===void 0?null:(0,C.jsx)(`span`,{className:`web-input__hint`,children:t})]})}function E({resource:e}){let t=i(),{t:E}=r(),{state:D,error:O}=x(s,u),k=n(`$/ahp/agents`)??[],A=n(l),j=n(c),M=e===void 0?void 0:D?.entries.find(t=>t.resource===e),[N,P]=(0,S.useState)(null);if(O!==null)return(0,C.jsx)(b,{tone:`danger`,title:E(`automations/notices/none`),message:O});if(D===void 0)return(0,C.jsx)(m,{label:E(`automations/notices/reading`)});if(e!==void 0&&M===void 0)return(0,C.jsx)(b,{tone:`warning`,message:E(`automations/notices/gone`)});if(e===void 0&&A?.create===void 0)return(0,C.jsx)(b,{tone:`warning`,message:E(`automations/edit/noCreate`)});let F=N??y(M,{...k[0]===void 0?{}:{provider:k[0].provider},...j==null?{}:{folder:p(j)}}),I=e=>P({...F,...e}),L=k.find(e=>e.provider===F.provider),R=v(F),z=A?.schedules?.minIntervalMinutes,B=w.find(e=>e.expression===F.expression.trim());return(0,C.jsxs)(`div`,{className:`web-page web-form`,children:[(0,C.jsx)(h,{variant:`h2`,text:M===void 0?E(`automations/commands/new`):M.definition.title===``?E(`automations/commands/edit`):E(`automations/editTitle`,{title:M.definition.title})}),(0,C.jsx)(T,{label:E(`automations/edit/title`),children:(0,C.jsx)(`input`,{className:`web-field`,value:F.title,onChange:e=>I({title:e.target.value})})}),(0,C.jsx)(T,{label:E(`automations/edit/message`),hint:E(`automations/edit/messageHint`),children:(0,C.jsx)(`textarea`,{className:`web-field web-form__message`,rows:5,value:F.message,onChange:e=>I({message:e.target.value})})}),(0,C.jsxs)(`div`,{className:`web-form__row`,children:[(0,C.jsx)(T,{label:E(`automations/edit/agent`),children:(0,C.jsxs)(`select`,{className:`web-field`,value:F.provider,onChange:e=>I({provider:e.target.value,model:``}),children:[(0,C.jsx)(`option`,{value:``,children:E(`automations/defaults/host`)}),k.map(e=>(0,C.jsx)(`option`,{value:e.provider,children:e.displayName},e.provider))]})}),(0,C.jsx)(T,{label:E(`automations/edit/model`),children:(0,C.jsxs)(`select`,{className:`web-field`,value:F.model,onChange:e=>I({model:e.target.value}),children:[(0,C.jsx)(`option`,{value:``,children:E(`automations/defaults/agent`)}),(L?.models??[]).map(e=>(0,C.jsx)(`option`,{value:e.id,children:e.name},e.id))]})})]}),(0,C.jsx)(T,{label:E(`automations/edit/folder`),hint:E(`automations/edit/folderHint`),children:(0,C.jsx)(`input`,{className:`web-field`,value:F.folder,onChange:e=>I({folder:e.target.value})})}),(0,C.jsxs)(`div`,{className:`web-form__row`,children:[(0,C.jsx)(T,{label:E(`automations/edit/schedule`),children:(0,C.jsxs)(`select`,{className:`web-field`,value:B?.expression??`custom`,onChange:e=>{e.target.value!==`custom`&&I({expression:e.target.value})},children:[w.map(e=>(0,C.jsx)(`option`,{value:e.expression,children:E(`automations/edit/presets/${e.key}`)},e.key)),(0,C.jsx)(`option`,{value:`custom`,children:E(`automations/edit/custom`)})]})}),(0,C.jsx)(T,{label:E(`automations/edit/cron`),hint:`${F.expression.trim()===``?E(`automations/edit/byHandHint`):g(F.expression)}${z===void 0?``:` ${o(`automations/edit/minimum`,z)}`}`,children:(0,C.jsx)(`input`,{className:`web-field`,value:F.expression,placeholder:E(`automations/edit/cronPlaceholder`),onChange:e=>I({expression:e.target.value})})})]}),F.expression.trim()===``?null:(0,C.jsxs)(`div`,{className:`web-form__row`,children:[(0,C.jsx)(T,{label:E(`automations/edit/timeZone`),children:(0,C.jsx)(`input`,{className:`web-field`,value:F.timeZone,onChange:e=>I({timeZone:e.target.value})})}),(0,C.jsx)(T,{label:E(`automations/edit/missedRuns`),hint:E(`automations/edit/missedHint`),children:(0,C.jsxs)(`select`,{className:`web-field`,value:F.misfire,onChange:e=>I({misfire:e.target.value===`runOnce`?`runOnce`:`skip`}),children:[(0,C.jsx)(`option`,{value:`skip`,children:E(`automations/edit/skip`)}),(0,C.jsx)(`option`,{value:`runOnce`,children:E(`automations/edit/runOnce`)})]})})]}),(0,C.jsxs)(`div`,{className:`web-form__row`,children:[(0,C.jsx)(T,{label:E(`automations/edit/afterRuns`),hint:E(`automations/edit/keepsOn`),children:(0,C.jsx)(`input`,{className:`web-field`,inputMode:`numeric`,value:F.afterRuns,onChange:e=>I({afterRuns:e.target.value})})}),(0,C.jsx)(T,{label:E(`automations/edit/afterDate`),hint:E(`automations/edit/keepsOn`),children:(0,C.jsx)(`input`,{className:`web-field`,type:`date`,value:F.afterDate,onChange:e=>I({afterDate:e.target.value})})})]}),(0,C.jsxs)(`label`,{className:`web-input__row`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:F.enabled,onChange:e=>I({enabled:e.target.checked})}),(0,C.jsx)(`span`,{children:E(`automations/edit/on`)})]}),R===void 0?null:(0,C.jsx)(`p`,{className:`web-note`,children:R}),(0,C.jsxs)(`div`,{className:`web-page__actions`,children:[(0,C.jsx)(a,{label:E(M===void 0?`automations/edit/create`:`automations/edit/save`),variant:`primary`,disabled:R!==void 0,onClick:()=>{if(R!==void 0)return;let e=_(F,M?.definition);if(M===void 0){let n=`ahp-automation:/${f()}`;d(s,{type:`automation/createRequested`,resource:n,definition:e}),t.surfaces.close(`automation:new`),t.commands.execute(`ahp.openAutomation`,{resource:n})}else d(s,{type:`automation/updateRequested`,resource:M.resource,changes:e}),t.surfaces.close(`automation:edit:${M.resource}`),t.commands.execute(`ahp.openAutomation`,{resource:M.resource})}}),(0,C.jsx)(a,{label:E(`automations/edit/cancel`),onClick:()=>t.surfaces.close(M===void 0?`automation:new`:`automation:edit:${M.resource}`)})]})]})}export{E as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{t as r}from"./useI18n-T3BwAm0z.js";import{n as i}from"./ScenaProvider-6A3TJumQ.js";import{a}from"./locales-Dnk_Y338.js";import"./data-DPJ4OTLn.js";import{t as o}from"./state-DRVsnGrf.js";import{t as s}from"./ExplorerList-0duzRsX6.js";import{a as c,i as l}from"./words-DF1J9CaQ.js";var u=t(),d=e();function f(){let e=i(),{t}=r(),f=n(`$/ahp/agents`)??[],p=n(`$/ahp/sessions`)??[],m=n(o),h=t=>void e.commands.execute(`ahp.openAgent`,{provider:t}),g=t=>void e.commands.execute(`ahp.newSession`,{provider:t}),_=(0,u.useMemo)(()=>f.map(e=>{let n=p.filter(t=>t.provider===e.provider).length,r=c(e).some(e=>e.required);return{key:e.provider,dot:`ok`,dotLabel:t(`agents/explorer/offered`),title:e.displayName,lines:[[l(e),a(`agents/explorer/sessions`,n),r?t(`agents/explorer/needsSignIn`):void 0].filter(e=>e!==void 0).join(` · `),...e.description===``?[]:[e.description]],menu:[{title:t(`agents/explorer/open`),onSelect:t=>{t.closeMenu(),h(e.provider)}},{title:t(`agents/newSession`),onSelect:t=>{t.closeMenu(),g(e.provider)}}]}}),[f,p,t]);return(0,d.jsx)(s,{label:t(`agents/explorer/title`),rows:_,selected:m??null,onOpen:h,notice:_.length===0?(0,d.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`agents/explorer/empty`)}):null,filterLabel:t(`agents/explorer/filter`)})}export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{a as o,n as s}from"./locales-Dnk_Y338.js";import{J as c,K as l,Y as u,c as d,j as f,q as p,r as m,v as h}from"./data-DPJ4OTLn.js";import{n as g}from"./words-T8-D0K4W.js";import"./emojis-DanG-8fr.js";import{a as _,r as v}from"./notify-BmjJL_fx.js";import{t as y}from"./Spinner-CBEPv0eM.js";import{t as b}from"./Alert-BhdRA0LL.js";import{n as x,t as S}from"./state-CKNqusrK.js";import{n as C,r as w}from"./grouping-DtiUUpdw.js";import{t as T}from"./ExplorerList-0duzRsX6.js";var E=t(),D=e(),O=s({hour:`2-digit`,minute:`2-digit`}),k=s({month:`short`,day:`numeric`});function A(e,t=new Date){let n=new Date(e);return Number.isNaN(n.getTime())?``:(n.toDateString()===t.toDateString()?O:k).format(n)}var j={input:`attention`,running:`working`,error:`failed`,idle:`quiet`},M=e=>g(e).replace(/\/+$/,``).split(`/`).pop()??e;function N(e,t){let n=u(e.status),i=c(e.status),a=t=>h(e.resource,t);return[{title:r(`sessions/explorer/open`),onSelect:e=>{e.closeMenu(),t()}},{title:r(`sessions/explorer/rename`),onSelect:t=>{t.closeMenu();let n=window.prompt(r(`sessions/explorer/renamePrompt`),e.title)?.trim();n!==void 0&&n!==``&&n!==e.title&&a({type:`session/titleChanged`,title:n})}},{title:r(n?`sessions/explorer/markUnread`:`sessions/explorer/markRead`),onSelect:e=>{e.closeMenu(),a({type:`session/isReadChanged`,isRead:!n})}},{title:r(i?`sessions/explorer/unarchive`:`sessions/explorer/archive`),onSelect:e=>{e.closeMenu(),a({type:`session/isArchivedChanged`,isArchived:!i})}},{title:r(`sessions/explorer/copyLink`),group:`more`,onSelect:t=>{t.closeMenu(),navigator.clipboard?.writeText(e.resource).catch(()=>void 0)}},{title:r(`sessions/explorer/delete`),group:`more`,color:`red`,onSelect:t=>{t.closeMenu();let n=e.title||r(`sessions/untitled`);_({title:r(`sessions/explorer/deleteTitle`,{title:n}),body:r(`sessions/explorer/deleteBody`),confirmLabel:r(`sessions/explorer/delete`),tone:`danger`}).then(t=>{t&&f(`disposeSession`,{channel:e.resource}).catch(e=>v(r(`sessions/explorer/deleteFailed`),e))})}}]}function P(){let e=a(),{t}=i(),r=n(m),s=n(d),f=n(`$/ahp/agents`)??[],h=n(S),g=n(x)===!0,_=n(`$/ahp/sessions/grouping`)??`none`,v=t=>void e.commands.execute(`ahp.openSession`,{resource:t}),O=(0,E.useMemo)(()=>{let e=e=>f.find(t=>t.provider===e)?.displayName??e,n=(s??[]).filter(e=>g||!c(e.status));return C(n,t=>w(t,_,e),_).map(n=>{let r=p(n.status),i=r===`idle`&&!u(n.status),a=e(n.provider),s=w(n,_,e),d=n.workingDirectories?.[0],f=[a,d===void 0?void 0:M(d)].filter(e=>e!==void 0).join(` · `),m=n.changes,h=m!==void 0&&(m.additions??0)+(m.deletions??0)>0?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)(`span`,{className:`web-diff--add`,children:[`+`,m.additions??0]}),` `,(0,D.jsxs)(`span`,{className:`web-diff--remove`,children:[`-`,m.deletions??0]}),m.files===void 0?``:` \u{00B7} ${o(`sessions/explorer/files`,m.files)}`]}):void 0,g=r===`idle`?void 0:`${l(r)}${n.activity===void 0||n.activity===``?``:` \u{00B7} ${n.activity}`}`;return{key:n.resource,dot:c(n.status)?`off`:i?`fresh`:j[r],dotLabel:c(n.status)?t(`sessions/status/archived`):i?t(`sessions/status/unread`):l(r),title:n.title===``?t(`sessions/untitled`):n.title,time:A(n.modifiedAt),lines:[f,h,g].filter(e=>e!==void 0),menu:N(n,()=>v(n.resource)),strong:i,...s===void 0?{}:{group:s}}})},[s,f,g,_,t]),k=r?.status===`failed`?(0,D.jsx)(b,{tone:`danger`,title:t(`sessions/explorer/notConnected`),message:r.error??t(`sessions/explorer/refused`)}):r?.status!==`connected`&&s===void 0?(0,D.jsx)(y,{label:t(`sessions/explorer/connecting`)}):O.length===0?(0,D.jsx)(`p`,{className:`web-note`,children:t(g?`sessions/explorer/none`:`sessions/explorer/noneYet`)}):null;return(0,D.jsx)(T,{label:t(`sessions/explorer/title`),rows:O,selected:h??null,onOpen:v,notice:k,filterLabel:t(`sessions/explorer/filter`)})}export{P as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-BguD1OXD.js";import{t}from"./react-CybPckBe.js";import{t as n}from"./useStore-BQkzWMs-.js";import{l as r,t as i}from"./useI18n-T3BwAm0z.js";import{n as a}from"./ScenaProvider-6A3TJumQ.js";import{a as o,n as s}from"./locales-Dnk_Y338.js";import{d as c,nt as l}from"./data-DPJ4OTLn.js";import{t as u}from"./emojis-DanG-8fr.js";import{r as d}from"./notify-BmjJL_fx.js";import{t as f}from"./Spinner-CBEPv0eM.js";import{t as p}from"./Alert-BhdRA0LL.js";import{_ as m,b as h,g,h as _,x as v,y}from"./index-xynK_AEL.js";import{t as b}from"./ExplorerList-0duzRsX6.js";import{t as x}from"./channel-C6Ss9Aem.js";import{i as S,n as C}from"./actions-CIzLn0YN.js";var w=t(),T=e(),E={running:`working`,failed:`failed`,on:`ok`,off:`off`},D=new Set([`pending`,`running`,`completed`,`failed`,`cancelled`]),O=s({month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}),k=e=>{if(e===void 0)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:O.format(t)},A=e=>d(r(`automations/actions/couldNotRun`),e);function j(){let e=a(),{t}=i(),{state:r,error:s}=x(c,l),d=n(v),O=t=>void e.commands.execute(`ahp.openAutomation`,{resource:t}),j=t=>void e.commands.execute(`ahp.editAutomation`,{resource:t}),M=(0,w.useMemo)(()=>[...r?.entries??[]].sort((e,t)=>y(e).localeCompare(y(t))).map(e=>{let n=m(e),r=g(e)[0],i=r===void 0?void 0:_(r),a=e.definition.session.provider,s=e.runCount??e.runs.length;return{key:e.resource,dot:E[n],dotLabel:t(`automations/state/${n}`),title:y(e),...e.nextRunAt===void 0||!e.definition.enabled?{}:{time:k(e.nextRunAt)},lines:[[h(e),a].filter(e=>e!==void 0).join(` · `),i===void 0?t(`automations/explorer/neverRun`):`${o(`automations/explorer/runs`,s)} \u{00B7} ${D.has(i.status)?t(`automations/explorer/last/${i.status}`,{at:k(i.at)}):t(`automations/explorer/last/other`,{status:i.status,at:k(i.at)})}`],menu:C(e,()=>O(e.resource),()=>j(e.resource)),...e.operations.map(String).includes(`run`)?{action:{icon:u.run,label:t(`automations/actions/runNow`),run:()=>void S(e).catch(A)}}:{}}}),[r,t]),N=s===null?r===void 0?(0,T.jsx)(f,{label:t(`automations/notices/reading`)}):M.length===0?(0,T.jsx)(`p`,{className:`web-note web-explorer__empty`,children:t(`automations/explorer/empty`)}):null:(0,T.jsx)(p,{tone:`danger`,title:t(`automations/notices/none`),message:s});return(0,T.jsx)(b,{label:t(`automations/explorer/title`),rows:M,selected:d??null,onOpen:O,notice:N,filterLabel:t(`automations/explorer/filter`)})}export{j as default};
|